|
@@ -1,105 +1,136 @@
|
|
|
-const path = require('path');
|
|
|
-const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
|
-const UpdateVersionPlugin = require('./updateVersionPlugin');
|
|
|
+const path = require("path");
|
|
|
+const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
|
+const UpdateVersionPlugin = require("./updateVersionPlugin");
|
|
|
|
|
|
-const CopyPlugin = require('copy-webpack-plugin');
|
|
|
-const CleanWebpackPlugin = require('clean-webpack-plugin');
|
|
|
+const CopyPlugin = require("copy-webpack-plugin");
|
|
|
+const CleanWebpackPlugin = require("clean-webpack-plugin");
|
|
|
|
|
|
module.exports = {
|
|
|
- entry: path.resolve(__dirname, 'js/main.js'),
|
|
|
- output: {
|
|
|
- path: path.resolve(__dirname, 'build',"js"),
|
|
|
- filename: '[name].[contenthash].js',
|
|
|
- library: 'ivprogCore',
|
|
|
- libraryTarget: 'umd'
|
|
|
- },
|
|
|
- node: {
|
|
|
- fs: 'empty',
|
|
|
- },
|
|
|
- module: {
|
|
|
- rules: [
|
|
|
- {
|
|
|
- test: /\.js$/,
|
|
|
- exclude: /(node_modules)/,
|
|
|
- use: {
|
|
|
- loader: "babel-loader",
|
|
|
- options: {
|
|
|
- presets: ["@babel/preset-env"]
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- test: /\.g4$/,
|
|
|
- exclude: /(node_modules)/,
|
|
|
- use: {
|
|
|
- loader:'antlr4-webpack-loader'
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- test: /\.tsx?$/,
|
|
|
- use: 'ts-loader',
|
|
|
- exclude: /node_modules/
|
|
|
- },
|
|
|
- {
|
|
|
- test: /\.csv$/,
|
|
|
- use: [
|
|
|
- {
|
|
|
- loader: path.resolve(__dirname, 'i18n_csv_loader')
|
|
|
- }
|
|
|
- ],
|
|
|
- exclude: /node_modules/
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- resolve: {
|
|
|
- extensions: [ '.tsx', '.ts', '.js', '.csv' ]
|
|
|
- },
|
|
|
- stats: {
|
|
|
- colors: true
|
|
|
- },
|
|
|
- plugins: [
|
|
|
- new CleanWebpackPlugin({
|
|
|
- cleanOnceBeforeBuildPatterns:[path.resolve(__dirname, 'build/**/*')],
|
|
|
- watch: true
|
|
|
- }),
|
|
|
- new UpdateVersionPlugin(),
|
|
|
- new HtmlWebpackPlugin({
|
|
|
- template: 'templates/index.html',
|
|
|
- filename: path.resolve(__dirname, 'build', 'index.html')
|
|
|
- }),
|
|
|
- new HtmlWebpackPlugin({
|
|
|
- template: 'templates/runner.html',
|
|
|
- filename: path.resolve(__dirname, 'build', 'runner.html')
|
|
|
- }),
|
|
|
-
|
|
|
- new CopyPlugin([
|
|
|
- {from:'js/iassign-integration-functions.js', to:path.resolve(__dirname, 'build/js')},
|
|
|
- {from:"css/ivprog-visual-1.0.css", to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:"css/ivprog-term.css", to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:"css/ivprog-assessment.css", to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:"css/ivprog-editor.css", to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:"css/roboto.css", to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:"css/fonts/", to:path.resolve(__dirname, 'build/css/fonts')},
|
|
|
- {from:'js/Sortable.js', to:path.resolve(__dirname, 'build/js')},
|
|
|
- {from: 'img/trash-icon.png', to:path.resolve(__dirname, 'build/img')},
|
|
|
- {from: 'img/empty.svg', to:path.resolve(__dirname, 'build/img')},
|
|
|
- {from:'js/jquery.json-editor.min.js', to:path.resolve(__dirname, 'build/js')},
|
|
|
- {from:'node_modules/codemirror/lib/codemirror.css', to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:'node_modules/codemirror/addon/hint/show-hint.css', to:path.resolve(__dirname, 'build/css')},
|
|
|
- {from:'node_modules/codemirror/theme/ttcn.css', to:path.resolve(__dirname, 'build/css')},
|
|
|
-
|
|
|
- {from:'runner.html', to:path.resolve(__dirname, 'build')},*/
|
|
|
- ])
|
|
|
- ],
|
|
|
- optimization: {
|
|
|
- splitChunks: {
|
|
|
- chunks: 'all'
|
|
|
+ entry: path.resolve(__dirname, "js/main.js"),
|
|
|
+ output: {
|
|
|
+ path: path.resolve(__dirname, "build", "js"),
|
|
|
+ filename: "[name].[contenthash].js",
|
|
|
+ library: "ivprogCore",
|
|
|
+ libraryTarget: "umd"
|
|
|
+ },
|
|
|
+ node: {
|
|
|
+ fs: "empty"
|
|
|
+ },
|
|
|
+ module: {
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ test: /\.js$/,
|
|
|
+ exclude: /(node_modules)/,
|
|
|
+ use: {
|
|
|
+ loader: "babel-loader",
|
|
|
+ options: {
|
|
|
+ presets: ["@babel/preset-env"]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ test: /\.g4$/,
|
|
|
+ exclude: /(node_modules)/,
|
|
|
+ use: {
|
|
|
+ loader: "antlr4-webpack-loader"
|
|
|
}
|
|
|
- },
|
|
|
- devtool: 'source-map',
|
|
|
- watchOptions: {
|
|
|
- ignored: [
|
|
|
- path.resolve(__dirname, '.ima_version.json'),
|
|
|
- ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ test: /\.tsx?$/,
|
|
|
+ use: "ts-loader",
|
|
|
+ exclude: /node_modules/
|
|
|
+ },
|
|
|
+ {
|
|
|
+ test: /\.csv$/,
|
|
|
+ use: [
|
|
|
+ {
|
|
|
+ loader: path.resolve(__dirname, "i18n_csv_loader")
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ exclude: /node_modules/
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ resolve: {
|
|
|
+ extensions: [".tsx", ".ts", ".js", ".csv"]
|
|
|
+ },
|
|
|
+ stats: {
|
|
|
+ colors: true
|
|
|
+ },
|
|
|
+ plugins: [
|
|
|
+ new CleanWebpackPlugin({
|
|
|
+ cleanOnceBeforeBuildPatterns: [path.resolve(__dirname, "build/**/*")],
|
|
|
+ watch: true
|
|
|
+ }),
|
|
|
+ new UpdateVersionPlugin(),
|
|
|
+ new HtmlWebpackPlugin({
|
|
|
+ template: "templates/index.html",
|
|
|
+ filename: path.resolve(__dirname, "build", "index.html")
|
|
|
+ }),
|
|
|
+ new HtmlWebpackPlugin({
|
|
|
+ template: "templates/runner.html",
|
|
|
+ filename: path.resolve(__dirname, "build", "runner.html")
|
|
|
+ }),
|
|
|
+
|
|
|
+ new CopyPlugin([
|
|
|
+ {
|
|
|
+ from: "js/iassign-integration-functions.js",
|
|
|
+ to: path.resolve(__dirname, "build/js")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ from: "css/ivprog-visual-1.0.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ },
|
|
|
+ { from: "css/ivprog-term.css", to: path.resolve(__dirname, "build/css") },
|
|
|
+ {
|
|
|
+ from: "css/ivprog-assessment.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ from: "css/ivprog-editor.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ },
|
|
|
+ { from: "css/roboto.css", to: path.resolve(__dirname, "build/css") },
|
|
|
+ { from: "css/fonts/", to: path.resolve(__dirname, "build/css/fonts") },
|
|
|
+ { from: "js/Sortable.js", to: path.resolve(__dirname, "build/js") },
|
|
|
+ { from: "js/jquery.min.js", to: path.resolve(__dirname, "build/js") },
|
|
|
+ { from: "js/jquery-ui.min.js", to: path.resolve(__dirname, "build/js") },
|
|
|
+ { from: "js/semantic.min.js", to: path.resolve(__dirname, "build/js") },
|
|
|
+ {
|
|
|
+ from: "css/semantic.min.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ },
|
|
|
+ { from: "css/themes/", to: path.resolve(__dirname, "build/css/themes") },
|
|
|
+ { from: "img/trash-icon.png", to: path.resolve(__dirname, "build/img") },
|
|
|
+ { from: "img/empty.svg", to: path.resolve(__dirname, "build/img") },
|
|
|
+ {
|
|
|
+ from: "js/jquery.json-editor.min.js",
|
|
|
+ to: path.resolve(__dirname, "build/js")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ from: "node_modules/codemirror/lib/codemirror.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ from: "node_modules/codemirror/addon/hint/show-hint.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ },
|
|
|
+ {
|
|
|
+ from: "node_modules/codemirror/theme/ttcn.css",
|
|
|
+ to: path.resolve(__dirname, "build/css")
|
|
|
+ }
|
|
|
+
|
|
|
+ {from:'runner.html', to:path.resolve(__dirname, 'build')},*/
|
|
|
+ ])
|
|
|
+ ],
|
|
|
+ optimization: {
|
|
|
+ splitChunks: {
|
|
|
+ chunks: "all"
|
|
|
}
|
|
|
-};
|
|
|
+ },
|
|
|
+ devtool: "source-map",
|
|
|
+ watchOptions: {
|
|
|
+ ignored: [path.resolve(__dirname, ".ima_version.json")]
|
|
|
+ }
|
|
|
+};
|
|
|
+
|