From b880d403ed9f32e724207ecbdb94c794d4c64131 Mon Sep 17 00:00:00 2001 From: Sam Saccone Date: Tue, 11 Oct 2016 11:58:53 -0700 Subject: [PATCH] Respect ignore engines flag. (#647) Fixes #638 --- src/cli/commands/install.js | 2 +- src/package-compatibility.js | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cli/commands/install.js b/src/cli/commands/install.js index 13af75fe53..04fc008920 100644 --- a/src/cli/commands/install.js +++ b/src/cli/commands/install.js @@ -148,7 +148,7 @@ export class Install { this.resolver = new PackageResolver(config, lockfile); this.fetcher = new PackageFetcher(config, this.resolver); - this.compatibility = new PackageCompatibility(config, this.resolver); + this.compatibility = new PackageCompatibility(config, this.resolver, this.flags.ignoreEngines); this.linker = new PackageLinker(config, this.resolver, this.flags.ignoreOptional); this.scripts = new PackageInstallScripts(config, this.resolver, this.flags.force); } diff --git a/src/package-compatibility.js b/src/package-compatibility.js index dd31c2da5f..21fe08fdc6 100644 --- a/src/package-compatibility.js +++ b/src/package-compatibility.js @@ -94,15 +94,17 @@ export function testEngine(name: string, range: string, versions: Versions, loos } export default class PackageCompatibility { - constructor(config: Config, resolver: PackageResolver) { + constructor(config: Config, resolver: PackageResolver, ignoreEngines: boolean) { this.reporter = config.reporter; this.resolver = resolver; this.config = config; + this.ignoreEngines = ignoreEngines; } resolver: PackageResolver; reporter: Reporter; config: Config; + ignoreEngines: boolean; static isValidArch(archs: Array): boolean { return isValid(archs, process.arch); @@ -148,7 +150,7 @@ export default class PackageCompatibility { } } - if (!this.config.ignoreEngines && typeof info.engines === 'object') { + if (!this.ignoreEngines && typeof info.engines === 'object') { for (const entry of entries(info.engines)) { let name = entry[0]; const range = entry[1];