Files
react/grunt/tasks/browserify.js
T
Benjamin Woodruff c089eece50 Switch to using comma-dangle: always-multiline
This is a machine-generated codemod, but it's pretty safe since it was
generated by hooking into eslint's own report.

A few files had to be touched up by hand because there were existing
formatting issues with nested arrays/objects:

src/shared/utils/__tests__/OrderedMap-test.js
src/shared/utils/__tests__/Transaction-test.js
src/shared/utils/__tests__/traverseAllChildren-test.js
src/isomorphic/children/__tests__/ReactChildren-test.js
2015-06-02 16:57:26 -07:00

55 lines
1.2 KiB
JavaScript

'use strict';
var browserify = require('browserify');
var grunt = require('grunt');
module.exports = function() {
var config = this.data;
// This task is async...
var done = this.async();
// More/better assertions
// grunt.config.requires('outfile');
// grunt.config.requires('entries');
config.transforms = config.transforms || [];
config.plugins = config.plugins || [];
config.after = config.after || [];
// create the bundle we'll work with
var entries = grunt.file.expand(config.entries);
// Extract other options
var options = {
entries: entries,
debug: config.debug, // sourcemaps
standalone: config.standalone, // global
};
var bundle = browserify(options);
config.transforms.forEach(function(transform) {
bundle.transform({}, transform);
});
config.plugins.forEach(bundle.plugin, bundle);
// Actually bundle it up
var _this = this;
bundle.bundle(function(err, buf) {
if (err) {
grunt.log.error(err);
return done();
}
var src = buf.toString();
config.after.forEach(function(fn) {
src = fn.call(_this, src);
});
grunt.file.write(config.outfile, src);
done();
});
};