Parse the AST, transforming paths in require() calls and other jest-specific calls.
Based on the transform-deps module.
npm install --save-dev transform-jest-deps
- Supports ES6 and JSX acorn plugins out-of-the-box.
- Other plugins can be enabled using falafel options.
var transform = require('transform-jest-deps');
var src = "require('x'); require('y');"
src = transform(src, function(name) {
if (name == 'x') return 'z';
});
console.log(src);
Output:
require('z'); require('y')
In addition to the options supported by falafel, we support:
ignoreTryCatch
: Ignore require statements in try/catch blocks
Options may be passed by using an object as the second argument. If this is done, pass the transform function as the 3rd argument.
Example using options to parse ES6 and JSX:
var acorn = require('acorn-jsx');
var transform = require('transform-jest-deps');
var src = [
"require('x');",
"function Thing() {}",
"var foo = <Thing/>;",
"var arr1 = [1]; var arr2 = [...arr1, 2]",
"require('y');"
].join("\n");
src = transform(src, {
ecmaVersion: 6,
parser: acorn,
plugins: {jsx: true}
}, function(name) {
if (name == 'x') return 'z';
});
MIT