optimize bundle builds

This commit is contained in:
Andres Suarez 2015-09-11 00:33:46 -07:00
parent a5fc32e598
commit 2f13cfa85b
2 changed files with 40 additions and 8 deletions

View File

@ -3,8 +3,10 @@
"devDependencies": {
"babel": "5.8.19",
"babel-eslint": "^4.0.6",
"browserify": "^11.0.0",
"browserify": "^11.2.0",
"bundle-collapser": "^1.2.1",
"chai": "^2.2.0",
"derequire": "^2.0.2",
"es5-shim": "^4.1.7",
"eslint": "^1.1.0",
"fs-readdir-recursive": "^0.1.2",

View File

@ -3,24 +3,54 @@ set -e
BROWSERIFY_CMD="../../node_modules/browserify/bin/cmd.js"
UGLIFY_CMD="../../node_modules/uglify-js/bin/uglifyjs"
BROWSERIFY_IGNORE="-i esprima-fb"
BROWSERIFY_IGNORE="-i esprima-fb -i through"
set -x
mkdir -p dist
node scripts/cache-templates
node $BROWSERIFY_CMD -e lib/polyfill.js >dist/polyfill.js
node $UGLIFY_CMD dist/polyfill.js >dist/polyfill.min.js
node $BROWSERIFY_CMD lib/polyfill.js \
--insert-global-vars 'global' \
--plugin bundle-collapser/plugin \
--plugin derequire/plugin \
>dist/polyfill.js
node $UGLIFY_CMD dist/polyfill.js \
--compress warnings=false \
--mangle \
>dist/polyfill.min.js
# Add a Unicode BOM so browsers will interpret the file as UTF-8
node -p '"\uFEFF"' > dist/browser.js
node $BROWSERIFY_CMD lib/api/browser.js -s babel $BROWSERIFY_IGNORE >>dist/browser.js
node $BROWSERIFY_CMD lib/api/browser.js \
--standalone babel \
--plugin bundle-collapser/plugin \
--plugin derequire/plugin \
$BROWSERIFY_IGNORE \
>>dist/browser.js
node -p '"\uFEFF"' > dist/browser.min.js
node $UGLIFY_CMD dist/browser.js >>dist/browser.min.js
node $UGLIFY_CMD dist/browser.js \
--compress warnings=false \
--mangle \
>>dist/browser.min.js
node $BROWSERIFY_CMD lib/api/node.js --node $BROWSERIFY_IGNORE >dist/node.js
node $BROWSERIFY_CMD lib/api/node.js \
--standalone babel \
--node \
--plugin bundle-collapser/plugin \
--plugin derequire/plugin \
$BROWSERIFY_IGNORE \
>dist/node.js
node $UGLIFY_CMD dist/node.js \
--compress warnings=false \
--mangle \
>dist/node.min.js
node ../babel-cli/lib/babel-external-helpers >dist/external-helpers.js
node $UGLIFY_CMD dist/external-helpers.js >dist/external-helpers.min.js
node $UGLIFY_CMD dist/external-helpers.js \
--compress warnings=false \
--mangle \
>dist/external-helpers.min.js
rm -rf templates.json