Check NPM Dependencies using depcheck
const fs = require('fs');
const depcheck = require('depcheck');
const options = {
ignoreBinPackage: false,
ignoreDirs: [
'client',
],
parsers: { // the target parsers
'*.js': depcheck.parser.es6,
'*.jsx': depcheck.parser.jsx,
},
detectors: [
depcheck.detector.requireCallExpression,
depcheck.detector.importDeclaration,
],
specials: [
depcheck.special.eslint,
depcheck.special.webpack,
],
};
depcheck(__dirname, options, (unused) => {
const unusedItems =
`{
"dependencies": ${JSON.stringify(unused.dependencies)},
"devDependencies": ${JSON.stringify(unused.devDependencies)},
"missing": ${JSON.stringify(unused.missing)},
"using": ${JSON.stringify(unused.using)},
"invalidFiles": ${JSON.stringify(unused.invalidFiles)},
"invalidDirs": ${JSON.stringify(unused.invalidDirs)}
}`;
fs.writeFileSync('dependencies.json', unusedItems);
console.log('Complete');
});