@samitouri / QOS-React-2 / commits / f214776a97

use bundle-collapser to reduce browserified file size

ShihChi Huang committed Dec 30, 2014 at 22:57 UTC f214776a9711b5a59ee17afd80351ac13c5893a7
3 files changed +7
grunt/config/browserify.js
+3
@@ -9,6 +9,7 @@ var grunt = require('grunt');
9 var UglifyJS = require('uglify-js');
10 var uglifyify = require('uglifyify');
11 var derequire = require('derequire');
12 +var collapser = require('bundle-collapser/plugin');
13
14 var SIMPLE_TEMPLATE =
15 '/**\n\
@@ -69,6 +70,7 @@ var min = {
70 debug: false,
71 standalone: 'React',
72 transforms: [envify({NODE_ENV: 'production'}), uglifyify],
73 + plugins: [collapser],
74 after: [es3ify.transform, derequire, minify, bannerify]
75 };
76
@@ -104,6 +106,7 @@ var addonsMin = {
106 standalone: 'React',
107 packageName: 'React (with addons)',
108 transforms: [envify({NODE_ENV: 'production'}), uglifyify],
109 + plugins: [collapser],
110 after: [es3ify.transform, derequire, minify, bannerify]
111 };
112
grunt/tasks/browserify.js
+3
@@ -13,6 +13,7 @@ module.exports = function() {
13 // grunt.config.requires('outfile');
14 // grunt.config.requires('entries');
15 config.transforms = config.transforms || [];
16 + config.plugins = config.plugins || [];
17 config.after = config.after || [];
18
19 // create the bundle we'll work with
@@ -31,6 +32,8 @@ module.exports = function() {
32 bundle.transform({}, transform);
33 });
34
35 + config.plugins.forEach(bundle.plugin, bundle);
36 +
37 // Actually bundle it up
38 var _this = this;
39 bundle.bundle(function(err, buf) {
package.json
+1
@@ -32,6 +32,7 @@
32 "devDependencies": {
33 "benchmark": "~1.0.0",
34 "browserify": "^7.0.2",
35 + "bundle-collapser": "^1.1.1",
36 "coverify": "~1.0.4",
37 "derequire": "^1.2.0",
38 "envify": "^3.0.0",