UNPKG

@pnpm/lockfile.settings-checker

Version:

Utilities to check if lockfile settings are out-of-date

40 lines 2.08 kB
import { allCatalogsAreUpToDate } from '@pnpm/lockfile.verification'; import { equals } from 'ramda'; export function getOutdatedLockfileSetting(lockfile, { catalogs, overrides, packageExtensionsChecksum, ignoredOptionalDependencies, patchedDependencies, autoInstallPeers, dedupePeers, excludeLinksFromLockfile, peersSuffixMaxLength, pnpmfileChecksum, injectWorkspacePackages, }) { if (!allCatalogsAreUpToDate(catalogs ?? {}, lockfile.catalogs)) { return 'catalogs'; } if (!equals(lockfile.overrides ?? {}, overrides ?? {})) { return 'overrides'; } if (lockfile.packageExtensionsChecksum !== packageExtensionsChecksum) { return 'packageExtensionsChecksum'; } if (!equals(lockfile.ignoredOptionalDependencies?.sort() ?? [], ignoredOptionalDependencies?.sort() ?? [])) { return 'ignoredOptionalDependencies'; } if (!equals(lockfile.patchedDependencies ?? {}, patchedDependencies ?? {})) { return 'patchedDependencies'; } if ((lockfile.settings?.autoInstallPeers != null && lockfile.settings.autoInstallPeers !== autoInstallPeers)) { return 'settings.autoInstallPeers'; } if (Boolean(lockfile.settings?.dedupePeers) !== Boolean(dedupePeers)) { return 'settings.dedupePeers'; } if (lockfile.settings?.excludeLinksFromLockfile != null && lockfile.settings.excludeLinksFromLockfile !== excludeLinksFromLockfile) { return 'settings.excludeLinksFromLockfile'; } if (lockfile.settings?.peersSuffixMaxLength != null && lockfile.settings.peersSuffixMaxLength !== peersSuffixMaxLength || lockfile.settings?.peersSuffixMaxLength == null && peersSuffixMaxLength !== 1000) { return 'settings.peersSuffixMaxLength'; } if (lockfile.pnpmfileChecksum !== pnpmfileChecksum) { return 'pnpmfileChecksum'; } if (Boolean(lockfile.settings?.injectWorkspacePackages) !== Boolean(injectWorkspacePackages)) { return 'settings.injectWorkspacePackages'; } return null; } //# sourceMappingURL=getOutdatedLockfileSetting.js.map