browserify-optional
A browserify transform that allows optional dependencies in try..catch blocks
Last updated 8 years ago by devongovett .
MIT · Repository · Bugs · Original npm
$ cnpm install browserify-optional 
SYNC missed versions from official npm registry.

browserify-optional

It is a common pattern in Node to support optional dependencies via requires in try..catch blocks. Browserify doesn't support this by default and throws a compile time error when it cannot find a module. You can solve the problem by using browserify's exclude option, but this works globally instead of at a per-module level. This transform fixes the problem by moving the compile time error to a runtime error for requires of missing modules inside try..catch blocks.

Example

The transform would transform the following code such that requiring missing-module would throw a runtime error instead of a compile time error, making the code work as expected.

try {
  var x = require('missing-module');
} catch (e) {
  var x = require('replacement-module');
}

To set it up in browserify, add this to your package.json:

"browserify": {
  "transform": ["browserify-optional"]
}

License

MIT

Current Tags

  • 1.0.1                                ...           latest (8 years ago)

1 Versions

  • 1.0.1                                ...           8 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (2)
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org