https://github.com/dependents/node-detective-es6
Get the dependencies of an ES6 module by traversing its AST
https://github.com/dependents/node-detective-es6
ast dependency detective detective-es6 es6 javascript module
Last synced: 2 months ago
JSON representation
Get the dependencies of an ES6 module by traversing its AST
- Host: GitHub
- URL: https://github.com/dependents/node-detective-es6
- Owner: dependents
- License: mit
- Created: 2014-10-25T22:10:35.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2025-02-01T13:47:31.000Z (5 months ago)
- Last Synced: 2025-04-08T16:04:33.704Z (3 months ago)
- Topics: ast, dependency, detective, detective-es6, es6, javascript, module
- Language: JavaScript
- Homepage:
- Size: 309 KB
- Stars: 35
- Watchers: 2
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# detective-es6
[](https://github.com/dependents/node-detective-es6/actions/workflows/ci.yml?query=branch%3Amain)
[](https://www.npmjs.com/package/detective-es6)
[](https://www.npmjs.com/package/detective-es6)> Get the dependencies of an ES6 module
```sh
npm install detective-es6
```## Usage
```js
const fs = require('fs');
const detective = require('detective-es6');const mySourceCode = fs.readFileSync('myfile.js', 'utf8');
// Pass in a file's content or an AST
const dependencies = detective(mySourceCode);
```* Supports JSX, Flow, and any other features that [node-source-walk](https://github.com/dependents/node-source-walk) supports.
You may also (optionally) configure the detective via a second object argument detective(src, options) that supports the following options:
- `skipTypeImports`: (Boolean) whether or not to omit type imports (`import type {foo} from "mylib";`) in the list of extracted dependencies.
- `skipAsyncImports`: (Boolean) whether or not to omit async imports (`import('foo')`) in the list of extracted dependencies.## License
[MIT](LICENSE)