fly-browserify
Browserify plugin for Fly
Install
npm install --save-dev fly-browserify2
Note:: Plugin exists as a scoped package while the original remains inactive.
API
.browserify(options)
Please see Browserify's documentation for a full list of available options.
options.entries
Type: string
or array
Default: ''
Define "entry" files, which represent new bundles. Optional. See an example usage.
Note: If not specified,
fly-browserify
will assumes all files withinfly.source()
are new bundle entries.
Important: This plugin (
fly-browserify
) enforces new a bundle per entry unlikebrowserify
.
Using this option is particularly handy when your task (eg, scripts
) contains plugin methods whose source files should be more than your entry files.
exports.scripts = function * () {
yield this.source('src/scripts/app.js')
.xo() // ONLY lints one file
.browserify() // make 'app.js' bundle
.target('dist/js'); //=> dist/js/app.js
/* VS */
yield this.source('src/**/*.js')
.xo() // lints ALL files
.browserify({
entries: 'src/scripts/app.js'
}) // make 'app.js' bundle
.target('dist/js'); //=> dist/js/app.js
}
Usage
Basic
exports.default = function * () {
yield this.source('src/scripts/app.js')
.browserify()
.target('dist');
};
Transforms
There's a huge list of browserify transforms available to you. You may require()
any of them & include their functionalities in your bundles.
exports.default = function * () {
yield this.source('src/scripts/app.js')
.browserify({
transform: [require('reactify')]
})
.target('dist');
};
Multiple Bundles
There are a handful of ways you can create multiple browserify
"bundles" without the need to repeat your task.
fly.source()
Direct Paths via exports.default = function * () {
yield this.source([
'src/scripts/app.js',
'src/scripts/admin.js'
])
.browserify()
.target('dist');
}
fly.source()
Glob Patterns via exports.default = function * () {
yield this.source('src/entries/*.js')
.browserify()
.target('dist');
}
opts.entries
Direct Paths via exports.default = function * () {
yield this.source('src/**/*.js')
.browserify({
entries: [
'src/scripts/app.js',
'src/scripts/admin.js'
]
})
.target('dist');
}
License
MIT © Luke Edwards