Skip to content

Instantly share code, notes, and snippets.

@DrewML
Created July 25, 2018 21:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DrewML/d43e8628f7eb2846ea069cc321fe6eeb to your computer and use it in GitHub Desktop.
Save DrewML/d43e8628f7eb2846ea069cc321fe6eeb to your computer and use it in GitHub Desktop.
module.exports = function transformer(file, api) {
const j = api.jscodeshift;
const ast = j(file.source);
ast.find(j.CallExpression, {
callee: {
name: 'require'
}
}).forEach(path => {
const args = path.node.arguments;
if (!args.length) return;
const [firstArg] = args;
if (firstArg.type !== 'ArrayExpression') return;
firstArg.elements.forEach(element => {
if (element.type === 'StringLiteral') return;
api.stats(`Dynamic dependency found in require() call. File: ${file.path}`);
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment