UNPKG

adio

Version:

Checks if the dependencies in package.json and in the actual code are synced.

61 lines (48 loc) 1.5 kB
const NODEJS_SYSTEM_PACKAGES = ["path", "os", "fs", "util", "events", "crypto"]; export const extractDepsFromPackageJson = ({ dependencies = {}, devDependencies = {}, peerDependencies = {} }) => { return { dependencies: Object.keys(dependencies), devDependencies: Object.keys(devDependencies), peerDependencies: Object.keys(peerDependencies) }; }; export const extractIgnoredDepsFromConfig = (config = {}) => { const ignore = config.ignore || {}; return { src: ignore.src || [], dependencies: ignore.dependencies || [], devDependencies: ignore.devDependencies || [], peerDependencies: ignore.peerDependencies || [] }; }; export const isIgnoredDep = ({ type, dep, instance, adioRc }) => { if (NODEJS_SYSTEM_PACKAGES.includes(dep)) { return true; } let ignored; if (adioRc) { ignored = extractIgnoredDepsFromConfig(adioRc); if (ignored[type]) { if (ignored[type] === true) { return true; } if (Array.isArray(ignored[type]) && ignored[type].includes(dep)) { return true; } } } ignored = extractIgnoredDepsFromConfig(instance.config); if (ignored[type]) { if (ignored[type] === true) { return true; } if (Array.isArray(ignored[type]) && ignored[type].includes(dep)) { return true; } } return false; };