bundle builder for browserify
# to get the cli
$ npm install -g bundbi
$ bundbi [build name]
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 themain
file
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.
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
npm test
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
- common externals
- common external resolution with build level externals e.g. keep external bundles DRY
- allow for custom paths for external bundles