Browserify plugin that allows you to replace proxyquire with proxyquireify without code changes. If you only need to run your tests in a browser, just use proxyquireify directly. Make sure you're not using proxyquire features that don't have proxyquireify counterparts.
$ npm install --save-dev proxyquire-universal proxyquire proxyquireify
proxyquire-universal sets proxyquire and proxyquireify as peer dependencies so all three packages will be siblings in your
node_modules folder. You have full control over which versions are used.
Write your tests for Node:
var proxyquire = require('proxyquire'); proxyquire('./a', stubs);
Then add the
'proxyquire-universal' plugin when you build your test bundle for the browser:
browserify() .plugin('proxyquire-universal') .bundle() .pipe(fs.createWriteStream('test-bundle.js'));
proxyquire-universal takes care of calling
bundle.plugin(proxyquireify.plugin) automatically. You should not register proxyquireify manually.
Unsupported Proxyquire Features
proxyquireify has a very similar API to proxyquire and will be a perfect drop-in replacement for most use cases. However, there are certain proxyquire features that are not available in proxyquireify:
If you discover a case where proxyquire and proxyquireify behave differently, please open an issue with relevant code.
MIT © Ben Drucker