UNPKG

npm-check-extras

Version:

CLI app to check for outdated and unused dependencies, and run update/delete action over selected ones

32 lines (31 loc) 1.12 kB
import { readFile, writeFile } from 'node:fs/promises'; import * as R from 'ramda'; import { sortPackageJson } from 'sort-package-json'; import { preJson } from '../helpers.js'; const readPackageJson = async () => { const packageJsonFile = await readFile('package.json', 'utf8'); return JSON.parse(packageJsonFile); }; const updateDependenciesEntries = (packageJsonContent, updatables) => { const spec = R.map(value => { return R.mergeDeepLeft(R.defaultTo({}, value)); }, updatables); return R.evolve(spec, packageJsonContent); }; const updatePacksonEntries = async (updatables) => { const currentPackson = await readPackageJson(); const spec = R.map(value => { return R.mergeDeepLeft(R.defaultTo({}, value), {}); }, updatables); const newContent = R.mergeDeepLeft(spec, currentPackson); let result = false; try { await writeFile('package.json', preJson(sortPackageJson(newContent))); result = true; } catch { result = false; } return result; }; export { readPackageJson, updatePacksonEntries, updateDependenciesEntries };