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",