diff --git a/source/util.js b/source/util.js index dda0f951..00c21244 100644 --- a/source/util.js +++ b/source/util.js @@ -89,8 +89,8 @@ export const getNewDependencies = async (newPkg, rootDir) => { const newDependencies = []; - for (const dependency of Object.keys(newPkg.dependencies)) { - if (!oldPkg.dependencies[dependency]) { + for (const dependency of Object.keys(newPkg.dependencies ?? {})) { + if (!oldPkg.dependencies?.[dependency]) { newDependencies.push(dependency); } } diff --git a/source/version.js b/source/version.js index 56710fac..c395f268 100644 --- a/source/version.js +++ b/source/version.js @@ -58,9 +58,17 @@ export default class Version { } static verifyRequirementSatisfied(dependency, version) { - const depRange = pkg.engines[dependency]; - if (!new Version(version).satisfies(depRange)) { - throw new Error(`Please upgrade to ${dependency}${depRange}`); + if (!pkg.engines?.node) { + throw new Error('Please include a `engines.node` field in your package.json'); + } + + const versionRange = pkg.engines?.[dependency]; + if (!versionRange) { + return; + } + + if (!new Version(version).satisfies(versionRange)) { + throw new Error(`Please upgrade to ${dependency}${versionRange}`); } }