diff --git a/src/Squidex/app-config/webpack.config.js b/src/Squidex/app-config/webpack.config.js index 31d9fde0c..f21d7acd8 100644 --- a/src/Squidex/app-config/webpack.config.js +++ b/src/Squidex/app-config/webpack.config.js @@ -21,7 +21,7 @@ module.exports = { * * See: https://webpack.js.org/configuration/resolve/#resolve-extensions */ - extensions: ['.js', '.ts', '.css', '.scss'], + extensions: ['.js', '.mjs', '.ts', '.css', '.scss'], modules: [ helpers.root('app'), helpers.root('app', 'theme'), @@ -45,6 +45,10 @@ module.exports = { * See: https://webpack.js.org/configuration/module/#module-rules */ rules: [{ + test: /\.mjs$/, + type: "javascript/auto", + include: /node_modules/, + },{ test: /\.ts$/, use: [{ loader: 'awesome-typescript-loader' @@ -134,7 +138,7 @@ module.exports = { context: '/' } }), - + new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en/), /** diff --git a/src/Squidex/app-config/webpack.run.prod.js b/src/Squidex/app-config/webpack.run.prod.js index 3f53d9950..f15097cff 100644 --- a/src/Squidex/app-config/webpack.run.prod.js +++ b/src/Squidex/app-config/webpack.run.prod.js @@ -5,6 +5,8 @@ runConfig = require('./webpack.run.base.js'); const plugins = { + // https://github.com/mishoo/UglifyJS2/tree/harmony + UglifyJsPlugin: require('uglifyjs-webpack-plugin'), // https://www.npmjs.com/package/@ngtools/webpack NgToolsWebpack: require('@ngtools/webpack'), // https://github.com/webpack-contrib/mini-css-extract-plugin @@ -94,6 +96,22 @@ module.exports = webpackMerge(runConfig, { sourceMap: false, skipSourceGeneration: false, tsConfigPath: './tsconfig.json' - }) - ] + }), + ], + + optimization: { + minimizer: [ + new plugins.UglifyJsPlugin({ + uglifyOptions: { + compress: false, + ecma: 6, + mangle: true + } + }) + ] + }, + + performance: { + hints: false + } }); \ No newline at end of file diff --git a/src/Squidex/package.json b/src/Squidex/package.json index 6ed71e0b8..cc9482aa3 100644 --- a/src/Squidex/package.json +++ b/src/Squidex/package.json @@ -28,9 +28,9 @@ "angular2-chartjs": "0.5.1", "babel-polyfill": "6.26.0", "bootstrap": "4.1.1", - "codemirror": "5.38.0", "core-js": "2.5.7", "dragula": "3.7.2", + "graphql": "0.13.2", "graphiql": "0.11.11", "moment": "2.22.2", "mousetrap": "1.6.2", @@ -79,7 +79,7 @@ "karma-sourcemap-loader": "0.3.7", "karma-webpack": "3.0.0", "mini-css-extract-plugin": "0.4.0", - "node-sass": "4.9.0", + "node-sass": "4.8.3", "noop-loader": "1.0.0", "null-loader": "0.1.1", "raw-loader": "0.5.1", @@ -93,6 +93,7 @@ "tslint-loader": "3.6.0", "typemoq": "2.1.0", "typescript": "2.7.2", + "uglifyjs-webpack-plugin": "^1.2.5", "underscore": "1.9.1", "webpack": "4.11.1", "webpack-cli": "3.0.3",