transform-jest-deps
Version:
Parse the AST, transforming paths in require() calls and other jest-specific calls
77 lines (53 loc) • 1.67 kB
Markdown
# transform-jest-deps
Parse the AST, transforming paths in require() calls and other jest-specific calls.
[](https://nodei.co/npm/transform-jest-deps/)
Based on [the transform-deps module](https://github.com/tetsuo/transform-deps).
## Install
```sh
npm install --save-dev transform-jest-deps
```
## Features
- Supports ES6 and JSX acorn plugins out-of-the-box.
- Other plugins can be enabled using [falafel options](https://github.com/substack/node-falafel#custom-parser).
## Example
```js
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')
```
## Options
In addition to the [options supported by falafel](https://github.com/substack/node-falafel#custom-parser), 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.
## API
### src = transformJestDeps(src, transformFn);
### src = transformJestDeps(src, options, transformFn);
Example using options to parse ES6 and JSX:
```js
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';
});
```
## License
MIT