From 45653ca2e71674b4a8a6b54f05a1badf53141b66 Mon Sep 17 00:00:00 2001 From: diegodev3 Date: Mon, 13 Jul 2020 10:18:21 -0300 Subject: [PATCH] Ensure prebuilt binaries for ARM default to v7 when using Electron --- docs/changelog.md | 4 ++++ lib/platform.js | 3 ++- test/unit/platform.js | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 4ff1b88f..0e6008eb 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -23,6 +23,10 @@ Requires libvips v8.10.0 [#2259](https://github.com/lovell/sharp/pull/2259) [@vouillon](https://github.com/vouillon) +* Ensure prebuilt binaries for ARM default to v7 when using Electron. + [#2292](https://github.com/lovell/sharp/pull/2292) + [@diegodev3](https://github.com/diegodev3) + ## v0.25 - *yield* Requires libvips v8.9.1 diff --git a/lib/platform.js b/lib/platform.js index 9dc4abae..383e6b6a 100644 --- a/lib/platform.js +++ b/lib/platform.js @@ -13,7 +13,8 @@ module.exports = function () { const platformId = [`${platform}${libc}`]; if (arch === 'arm') { - platformId.push(`armv${env.npm_config_arm_version || process.config.variables.arm_version || '6'}`); + const fallback = process.versions.electron ? '7' : '6'; + platformId.push(`armv${env.npm_config_arm_version || process.config.variables.arm_version || fallback}`); } else if (arch === 'arm64') { platformId.push(`arm64v${env.npm_config_arm_version || '8'}`); } else { diff --git a/test/unit/platform.js b/test/unit/platform.js index 06b61a20..740de373 100644 --- a/test/unit/platform.js +++ b/test/unit/platform.js @@ -55,4 +55,12 @@ describe('Platform-detection', function () { assert.strictEqual('arm64v8', platform().split('-')[1]); delete process.env.npm_config_arch; }); + + it('Can ensure version ARMv7 if electron version is present', function () { + process.env.npm_config_arch = 'arm'; + process.versions.electron = 'test'; + assert.strictEqual('armv7', platform().split('-')[1]); + delete process.env.npm_config_arch; + delete process.versions.electron; + }); });