UNPKG

@o3r/schematics

Version:

Schematics module of the Otter framework

27 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removePackages = removePackages; /** * Remove the list of given packages from package.json * @param packagesToRemove The list of packages to remove * @param packageJsonPath The path of the package json file from which the deps will be removed */ function removePackages(packagesToRemove, packageJsonPath = '/package.json') { const filterDeps = (acc = {}, [pName, pVersion]) => { if (!packagesToRemove.includes(pName)) { acc[pName] = pVersion; } return acc; }; return (tree, _context) => { if (tree.exists(packageJsonPath)) { const packageJson = JSON.parse(tree.read(packageJsonPath).toString()); packageJson.dependencies &&= Object.entries(packageJson.dependencies).reduce((acc, dep) => filterDeps(acc, dep), {}); packageJson.devDependencies &&= Object.entries(packageJson.devDependencies).reduce((acc, dep) => filterDeps(acc, dep), {}); packageJson.peerDependencies &&= Object.entries(packageJson.peerDependencies).reduce((acc, dep) => filterDeps(acc, dep), {}); tree.overwrite(packageJsonPath, JSON.stringify(packageJson, null, 2)); } return tree; }; } //# sourceMappingURL=index.js.map