From 08d682501edcf2b90dcf42426b12e327cb35b6cd Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Wed, 10 Aug 2016 15:02:01 -0700 Subject: [PATCH] [webpack] set up proper dev/prod environment (#916) --- caravel/assets/package.json | 4 ++-- caravel/assets/webpack.config.js | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/caravel/assets/package.json b/caravel/assets/package.json index 17a81bebce..82a5cee2c7 100644 --- a/caravel/assets/package.json +++ b/caravel/assets/package.json @@ -8,8 +8,8 @@ }, "scripts": { "test": "npm run lint && mocha --compilers js:babel-core/register --required spec/helpers/browser.js spec/**/*_spec.*", - "dev": "webpack -d --watch --colors", - "prod": "webpack -p --colors", + "dev": "NODE_ENV=dev webpack -d --watch --colors", + "prod": "NODE_ENV=production webpack -p --colors", "lint": "npm run --silent lint:js", "lint:js": "eslint --ignore-path=.eslintignore --ext .js ." }, diff --git a/caravel/assets/webpack.config.js b/caravel/assets/webpack.config.js index 670fc69858..b877d24df5 100644 --- a/caravel/assets/webpack.config.js +++ b/caravel/assets/webpack.config.js @@ -1,3 +1,4 @@ +const webpack = require('webpack'); const path = require('path'); // input dir @@ -104,6 +105,15 @@ const config = { 'react/lib/ExecutionEnvironment': true, 'react/lib/ReactContext': true, }, - plugins: [], + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify(process.env.NODE_ENV), + }, + }), + ], }; +if (process.env.NODE_ENV === 'production') { + config.plugins.push(new webpack.optimize.UglifyJsPlugin()); +} module.exports = config;