diff --git a/tools/npm/clean-shrinkwrap.js b/tools/npm/clean-shrinkwrap.js index 3dc3f6c08d..63e9a28a75 100755 --- a/tools/npm/clean-shrinkwrap.js +++ b/tools/npm/clean-shrinkwrap.js @@ -14,29 +14,30 @@ * See: https://github.com/npm/npm/issues/3581 */ -var _ = require('lodash'); -var sorted = require('sorted-object'); -var fs = require('fs'); -var path = require('path'); +const fs = require('fs'); +const path = require('path'); -function cleanModule(moduleRecord, name) { +function cleanModule(moduleRecord) { // keep `resolve` properties for git dependencies, delete otherwise delete moduleRecord.from; if (!(moduleRecord.resolved && moduleRecord.resolved.match(/^git(\+[a-z]+)?:\/\//))) { delete moduleRecord.resolved; } - _.forEach(moduleRecord.dependencies, function(mod, name) { cleanModule(mod, name); }); + if (moduleRecord.dependencies) { + Object.keys(moduleRecord.dependencies) + .forEach((name) => cleanModule(moduleRecord.dependencies[name])); + } } // console.log('Reading npm-shrinkwrap.json'); -var shrinkwrap = require('../../npm-shrinkwrap.json'); +const shrinkwrap = require('../../npm-shrinkwrap.json'); // console.log('Cleaning shrinkwrap object'); -cleanModule(shrinkwrap, shrinkwrap.name); +cleanModule(shrinkwrap); -var cleanShrinkwrapPath = path.join(__dirname, '..', '..', 'npm-shrinkwrap.clean.json'); +const cleanShrinkwrapPath = path.join(__dirname, '..', '..', 'npm-shrinkwrap.clean.json'); console.log('writing npm-shrinkwrap.clean.json'); -fs.writeFileSync(cleanShrinkwrapPath, JSON.stringify(sorted(shrinkwrap), null, 2) + '\n'); +fs.writeFileSync(cleanShrinkwrapPath, JSON.stringify(shrinkwrap, null, 2) + '\n');