diff --git a/package.json b/package.json index bf12f8e0..d83320b1 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "version": "0.2.1", "scripts": { - "build": "node utils/build.js", + "build": "cross-env NODE_ENV=production webpack --config webpack.config.js --display-error-details --progress --colors --optimize-minimize", "precommit": "lint-staged", "lint": "eslint src", "lint:fix": "npm run lint -- --fix", @@ -36,6 +36,7 @@ "babel-preset-env": "^1.6.1", "clean-webpack-plugin": "^0.1.17", "copy-webpack-plugin": "^4.3.1", + "cross-env": "^5.1.3", "css-loader": "^0.25.0", "eslint": "^4.14.0", "eslint-config-airbnb": "^16.1.0", diff --git a/utils/build.js b/utils/build.js deleted file mode 100644 index edb71b81..00000000 --- a/utils/build.js +++ /dev/null @@ -1,6 +0,0 @@ -const webpack = require('webpack'); -const config = require('../webpack.config'); - -webpack(config, err => { - if (err) throw err; -}); diff --git a/webpack.config.js b/webpack.config.js index 71a52029..37e6a690 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -95,6 +95,20 @@ const options = { if (env.NODE_ENV === 'development') { options.devtool = 'cheap-module-eval-source-map'; +} else if (env.NODE_ENV === 'production') { + options.plugins.push( + new webpack.LoaderOptionsPlugin({ + minimize: true, + debug: false, + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { + screw_ie8: true, + warnings: false, + }, + sourceMap: true, + }) + ); } module.exports = options; diff --git a/yarn.lock b/yarn.lock index 46d64fcd..e1e65ead 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1565,6 +1565,13 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +cross-env@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7" + dependencies: + cross-spawn "^5.1.0" + is-windows "^1.0.0" + cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -3455,6 +3462,10 @@ is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +is-windows@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"