From 27bcb02c9f5bb2732ad288a3d6779f1bb7ce19e7 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 25 Jul 2017 08:41:11 +0100 Subject: [PATCH] Add different environments for assets --- package.json | 19 +++++++++++-------- yarn.lock | 17 ++++++++++++++++- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index cf44d5a4..5709fdf7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "build": "npm run clean && npm-run-all -p sass js fonts:copy", "clean": "npm-run-all -p sass:clean fonts:clean js:clean", "dev": "npm run development", - "development": "npm run build && npm-run-all -p sass:watch js:watch", + "development": "cross-env ENV=dev npm run build && npm-run-all -p sass:watch js:watch", "fonts:clean": "rm -rf $npm_package_config_fontsDir output_*/assets/fonts/", "fonts:copy": "mkdir -p $npm_package_config_fontsDir && cp -R node_modules/font-awesome/fonts/* $npm_package_config_fontsDir", "js": "npm run js:concat", @@ -20,24 +20,27 @@ "js:concat": "mkdir -p $npm_package_config_jsOutputDir && concat node_modules/jquery/dist/jquery.js node_modules/bootstrap-sass/assets/javascripts/bootstrap.js node_modules/prismjs/prism.js node_modules/prismjs/components/prism-{apacheconf,bash,css,diff,ini,json,nginx,php,sass,scss,sql,less,twig,yaml}.js $npm_package_config_jsInputDir/**/*.js $npm_package_config_jsInputDir/main.js -o $npm_package_config_jsOutputDir$npm_package_config_jsOutputFile", "js:watch": "onchange $npm_package_config_jsInputDir -v -- npm run js", "prod": "npm run production", - "production": "npm run build && npm run sass:remove-maps", - "sass": "npm run sass:build && npm run sass:move", - "sass:build": "npm run sass:compile && npm run sass:concat", + "production": "cross-env ENV=prod npm run build", + "sass": "npm run sass:$ENV:compile && npm run sass:concat && npm run sass:$ENV:move", "sass:clean": "rm -rf $npm_package_config_cssOutputDir output_*/assets/css/", - "sass:compile": "node-sass assets/sass/main.sass $npm_package_config_cssOutputFile --source-map true", "sass:concat": "mkdir -p $npm_package_config_cssOutputDir && concat node_modules/font-awesome/css/font-awesome.css node_modules/prismjs/themes/prism-twilight.css $npm_package_config_cssOutputFile -o $npm_package_config_cssOutputFile", - "sass:move": "mv $npm_package_config_cssOutputFile $npm_package_config_cssOutputFile.map $npm_package_config_cssOutputDir", - "sass:remove-maps": "rm -f $npm_package_config_cssOutputDir/*.css.map", + "sass:dev:compile": "node-sass assets/sass/main.sass $npm_package_config_cssOutputFile --source-map true", + "sass:dev:move": "mv $npm_package_config_cssOutputFile $npm_package_config_cssOutputFile.map $npm_package_config_cssOutputDir", + "sass:prod:compile": "node-sass assets/sass/main.sass $npm_package_config_cssOutputFile", + "sass:prod:move": "mv $npm_package_config_cssOutputFile $npm_package_config_cssOutputDir && npm run sass:uglify", + "sass:uglify": "uglifycss --ugly-comments $npm_package_config_cssOutputDir/$npm_package_config_cssOutputFile --output $npm_package_config_cssOutputDir/$npm_package_config_cssOutputFile", "sass:watch": "onchange $npm_package_config_sassDir -v -- npm run sass" }, "devDependencies": { "autoprefixer": "^7.1.2", "concat": "^1.0.3", "copy": "^0.3.0", + "cross-env": "^5.0.1", "node-sass": "^4.5.3", "npm-run-all": "^4.0.2", "onchange": "^3.2.1", - "purify-css": "^1.2.5" + "purify-css": "^1.2.5", + "uglifycss": "^0.0.27" }, "dependencies": { "bootstrap-sass": "^3.3.7", diff --git a/yarn.lock b/yarn.lock index 2c372dd4..55eb8588 100644 --- a/yarn.lock +++ b/yarn.lock @@ -384,6 +384,13 @@ core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +cross-env: + version "5.0.1" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.0.1.tgz#ff4e72ea43b47da2486b43a7f2043b2609e44913" + dependencies: + cross-spawn "^5.1.0" + is-windows "^1.0.0" + cross-spawn@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" @@ -398,7 +405,7 @@ cross-spawn@^4.0.0, cross-spawn@~4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1: +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" dependencies: @@ -1137,6 +1144,10 @@ is-windows@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" +is-windows@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + isarray@~1.0.0, isarray@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -2261,6 +2272,10 @@ uglify-js@^3.0.6: commander "~2.9.0" source-map "~0.5.1" +uglifycss: + version "0.0.27" + resolved "https://registry.yarnpkg.com/uglifycss/-/uglifycss-0.0.27.tgz#53553b8115de26dce57b42ba0b34e88dd80d0cde" + uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"