@taskr/browserify
Browserify plugin for Taskr
#Install
$ npm install --save-dev @taskr/browserify
#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,
@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
See also
taskr(3), clsx(3), @polka/cluster(3), @pwa/cli(3), uvu(3), sockette(3), klona(3), kleur(3), dequal(3), sirv-cli(3)