@taskr/browserify

1.1.0 • Public • Published

@taskr/browserify npm

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/browserify will assumes all files within task.source() are new bundle entries.

Important: This plugin (@taskr/browserify) enforces new a bundle per entry unlike browserify.

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

Package Sidebar

Install

npm i @taskr/browserify

Weekly Downloads

2

Version

1.1.0

License

MIT

Last publish

Collaborators

  • lukeed