Metalsmith plugin to bundle JS with browserify
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


npm version build status coverage status greenkeeper downloads

A metalsmith plugin to bundle javascript with browserify

This plugin allows you to bundle your javascript with browserify. Pass it the entry points it should bundle, and it will replace those files with the resulting bundle on build.

For support questions please use stack overflow or our slack channel. For browserify specific questions try their documentation.


$ npm install metalsmith-browserify


You can pass options to metalsmith-browserify with the Javascript API or CLI. The options are:

  • entries: required. The entry points that need to be browserified. Accepts an array of strings.
  • browserifyOptions: optional. These options will be passed on to browserify. See this area of the browserify documentation for all available options. Note that it's possible to break stuff here, like overriding the entries, so use wisely.


The entry points that should be browserified. So this metalsmith.json:

  "source": "src",
  "destination": "build",
  "plugins": {
    "metalsmith-browserify": {
      "entries": [

Would browserify both ./src/index.js and ./src/another.js and output them as ./build/index.js and ./build/another.js respectively.


Use this to pass options to browserify. So this metalsmith.json:

  "source": "src",
  "destination": "build",
  "plugins": {
    "metalsmith-browserify": {
      "entries": ["index.js"],
      "browserifyOptions": {
        "debug": true

Would enable browserify's debug option and add a source map to the bundle.

Errors and debugging

If you're encountering problems you can use debug to enable verbose logging. To enable debug prefix your build command with DEBUG=metalsmith-browserify. So if you normally run metalsmith to build, use DEBUG=metalsmith-browserify metalsmith (on windows the syntax is slightly different).