dependency-cruiser
Version:
Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.
26 lines (22 loc) • 794 B
JavaScript
;
const walk = require('acorn/dist/walk');
module.exports = (pAST, pDependencies, pModuleSystem) => {
// var/const lalala = require('./lalala');
// require('./lalala');
// require('./lalala').doFunkyStuff();
walk.simple(
pAST,
{
"CallExpression": pNode => {
if (pNode.callee.type === "Identifier" && pNode.callee.name === "require"){
if (pNode.arguments && pNode.arguments[0] && pNode.arguments[0].value){
pDependencies.push({
moduleName: pNode.arguments[0].value,
moduleSystem: pModuleSystem ? pModuleSystem : "cjs"
});
}
}
}
}
);
};