README
bundbi
bundle builder for browserify
Install
# to get the cli
$ npm install -g bundbi
$ bundbi [build name]
Usage
In your package.json's browserify config add a build object.
Each value in build is the config for building a bundle. You and supply
The same browserify configs detailed here.
A build also accepts these attributes:
main: (required) path to main entry point for browserify to build fromoutfile: (required) file where the bundle is written toexternal: an array of external modules. see herewatch: enables watchify on themainfile
Any config can be added directly under the the browserify key to provide configuration for all builds. These can be overridden in each build config.
External builds
If an external list is provided, buildify will create an external build with each module in the list. By default the bundle will be written to the same path as the build outfile with -externals.js appended to the file name e.g.
given app/assets/app.js
The externals will be written to app/assets/app-externals.js
Running tests
npm test
Example
see example for a working example.
in package.json
{
....
"scripts" : {
"build" : "bundbi app"
},
"browserify" : {
"transform" : ["babelify"],
"extensions" : [
".jsx"
],
"build" : {
"app" : {
"main" : "src/app.js",
"outfile" : "../app/assets/app.js",
"external" : [
"flux",
"events"
]
}
}
}
}
then
$ npm run build
Todo
- common externals
- common external resolution with build level externals e.g. keep external bundles DRY
- allow for custom paths for external bundles