@taskr/browserify v1.1.0
@taskr/browserify 
Browserify plugin for Taskr
Install
$ npm install --save-dev @taskr/browserifyAPI
.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,
@taskr/browserifywill assumes all files withintask.source()are new bundle entries.Important: This plugin (
@taskr/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 * (task) {
yield task.source('src/scripts/app.js')
.xo() // ONLY lints one file
.browserify() // make 'app.js' bundle
.target('dist/js'); //=> dist/js/app.js
/* VS */
yield task.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 * (task) {
yield task.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 * (task) {
yield task.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.
Direct Paths via task.source()
exports.default = function * (task) {
yield task.source([
'src/scripts/app.js',
'src/scripts/admin.js'
])
.browserify()
.target('dist');
}Glob Patterns via task.source()
exports.default = function * (task) {
yield task.source('src/entries/*.js')
.browserify()
.target('dist');
}Direct Paths via opts.entries
exports.default = function * (task) {
yield task.source('src/**/*.js')
.browserify({
entries: [
'src/scripts/app.js',
'src/scripts/admin.js'
]
})
.target('dist');
}Support
Any issues or questions can be sent to the Taskr monorepo.
Please be sure to specify that you are using @taskr/browserify.
License
MIT © Luke Edwards