From c5641eaa4f6a918d5d8883d45ff621747d7f1f6e Mon Sep 17 00:00:00 2001 From: Eric Jinks Date: Wed, 2 May 2018 10:05:01 +1000 Subject: [PATCH] Refine cms build scripts --- cms/package.json | 2 +- cms/webpack.config.js | 8 +++++++- package.json | 4 +++- yarn.lock | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cms/package.json b/cms/package.json index 47960b7..6f7009d 100644 --- a/cms/package.json +++ b/cms/package.json @@ -1,6 +1,6 @@ { "scripts": { - "build": "npm i && webpack --config webpack.config.js" + "build": "webpack --config webpack.config.js" }, "dependencies": { "babel-core": "^6.26.0", diff --git a/cms/webpack.config.js b/cms/webpack.config.js index b7e51ff..e0495df 100644 --- a/cms/webpack.config.js +++ b/cms/webpack.config.js @@ -3,6 +3,12 @@ const path = require('path') const ExtractTextPlugin = require('extract-text-webpack-plugin') const UglifyJsPlugin = require('uglifyjs-webpack-plugin') +const production = process.env.NODE_ENV === 'production' + +console.log(`Building CMS in ${production ? 'production' : 'development'} mode`) + +const productionPlugins = production ? [new UglifyJsPlugin()] : [] + module.exports = { entry: './cms.js', output: { @@ -38,6 +44,6 @@ module.exports = { new ExtractTextPlugin({ filename: 'cms.bundle.css' }), - new UglifyJsPlugin() + ...productionPlugins ] } diff --git a/package.json b/package.json index 8f42328..8bba940 100644 --- a/package.json +++ b/package.json @@ -55,13 +55,15 @@ "build": "npm-run-all -s prepare-content build:cms build:app build:postcss build:react-snapshot build:sitemap build:sw build:sha", "build:app": "react-scripts build", - "build:cms": "cd cms && npm run build", + "build:cms": "cd cms && NODE_ENV=production npm run build", "build:postcss": "postcss build/static/css/*.css -r", "build:react-snapshot": "react-snapshot", "build:sw": "sw-precache --config='sw-precache-config.js'", "build:sitemap": "node ./functions/generate-sitemap.js", "build:sha": "git rev-parse HEAD > build/sha", "parse-content": "node ./functions/parse-content.js", + "prepare": "npm run install:cms", + "install:cms": "cd cms && npm i", "resize-images": "node ./functions/resize-images.js", "prepare-content": "npm-run-all -s parse-content resize-images", "test": "standard | snazzy && react-scripts test --env=jsdom", diff --git a/yarn.lock b/yarn.lock index 9a566ab..ed7fff9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8167,7 +8167,7 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"