Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Latest commit

 

History

History
29 lines (20 loc) · 580 Bytes

README.md

File metadata and controls

29 lines (20 loc) · 580 Bytes

Babel CJS dependencies extraction plugin

const babylon = require('babylon');
const traverse = require('babel-traverse').default;
const extractCjsDeps = require('babel-visit-cjs-deps');

const resolves = [];
const deps = [];

const ast = babylon.parse(`
require('x');
require('x/' + 'b');
require.resolve('asdf/');
`, { allowReturnOutsideFunction: true });

traverse(ast, extractCjsDeps({ deps, resolves }));

deps;     // ['x', 'x/']
resolves; // ['adsf/']

Currently no support for dynamic requires.

No actual transformations are performed at all.

License

MIT