broccoli-watchify

Watchify plugin for Broccoli.

Usage no npm install needed!

<script type="module">
  import broccoliWatchify from 'https://cdn.skypack.dev/broccoli-watchify';
</script>

README

broccoli-watchify Build Status

Gitter

The broccoli-watchify plugin bundles your assets with watchify.

Installation

npm install --save-dev broccoli-watchify

Example

const watchify = require('broccoli-watchify');

const options = {
  browserify: {
    entries: ['./app.js'],
    debug: true
  },
  nodeModulesPath: process.cwd() + '/node_modules', // provide the node_modules you want to resolve from
  outputFile: 'bundled/app.js',
  cache: true,
  init: function (b) {
    b.transform('reactify', {'es6': true});
    b.external('

);
  }
};

const tree = watchify(tree, options);

API

watchify(tree, options)

Options

  • browserify: (defaults to {}) Options passed to the browserify constructor
  • outputFile: (defaults to "./browserify.js") Output file
  • cache: (defaults to true) A boolean flag to potentially switch the caching off and act like a plain browserify. Can be helpful in assembling bundles for production and not including all the full local path names in the bundle, which is not possible in the watchify mode.
  • init: (defaults to a no-op) A callback function that receives the browserify instance after it's created. Use this to call any of the browserify API methods on the instance, including add, require, external, exclude and so on.
  • nodeModulesPath: (defaults to process.cwd()/node_modules) Absolute path to node_modules.

Changelog

2.0.0

  • expose a way to configure which node_modules to resolve from
  • support broccoli 1x and 2x
  • modernize codebase
  • upgrade dependencies

1.0.0

  • No longer use watchify directly, as we do not require its watcher and it is not configurable. Rather we populate the cache, the same way watchify does.
  • Stable output, so downstream plugins aren't invalidated if our output doesn't change.
  • Much faster.
  • Basic tests.
  • Browserified files are browserified relative to the broccoli inputPath, not the realpath.

0.2.0

  • Add the init option to provide a possibility of configuration of the browserify instance with a custom function.
  • Remove the entries and require options.
  • Add the cache option to turn off the watchify behavior and act like a plain browserify.

0.1.3

  • Initial release

Contributors

The code of this plugin is originally based on the broccoli-browserify plugin by Gareth Andrew.

License

The MIT License (MIT). See LICENSE for details.

Copyright © 2014 Andrey Subbotin.