diff --git a/package-lock.json b/package-lock.json index a9d6f6a..141e780 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,6 @@ "@jest/globals": "^29.6.1", "babel-jest": "^29.6.1", "babel-loader": "^9.1.3", - "cross-env": "^7.0.3", "css-loader": "^6.8.1", "eslint": "^8.44.0", "eslint-plugin-jest": "^27.2.2", @@ -4190,24 +4189,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/cross-env": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", - "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", diff --git a/package.json b/package.json index 3f7037c..c97e2a0 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "@jest/globals": "^29.6.1", "babel-jest": "^29.6.1", "babel-loader": "^9.1.3", - "cross-env": "^7.0.3", "css-loader": "^6.8.1", "eslint": "^8.44.0", "eslint-plugin-jest": "^27.2.2", diff --git a/webpack.config.js b/webpack.config.js index c0ced89..598340a 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,11 +2,13 @@ const path = require('path'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const TerserPlugin = require('terser-webpack-plugin'); -const nodeEnv = process.env.NODE_ENV || 'development'; +const mode = process.argv.includes('--mode=production') ? + 'production' : 'development'; const libraryName = process.env.npm_package_name; + module.exports = { - mode: nodeEnv, + mode: mode, resolve: { alias: { '@services': path.resolve(__dirname, 'src/scripts/services'), @@ -15,7 +17,7 @@ module.exports = { } }, optimization: { - minimize: nodeEnv === 'production', + minimize: mode === 'production', minimizer: [ new TerserPlugin({ terserOptions: { @@ -36,7 +38,8 @@ module.exports = { }, output: { filename: `${libraryName}.js`, - path: path.resolve(__dirname, 'dist') + path: path.resolve(__dirname, 'dist'), + clean: true }, target: ['browserslist'], module: { @@ -78,5 +81,5 @@ module.exports = { stats: { colors: true }, - ...(nodeEnv !== 'production' && { devtool: 'eval-cheap-module-source-map' }) + ...(mode !== 'production' && { devtool: 'eval-cheap-module-source-map' }) };