Rename armv8 as arm64v8 to match Node's process.arch

This commit is contained in:
Lovell Fuller 2019-01-28 22:02:13 +00:00
parent 36af74a09b
commit d1bbe62e52
2 changed files with 23 additions and 10 deletions

View File

@ -2,17 +2,22 @@
const detectLibc = require('detect-libc'); const detectLibc = require('detect-libc');
const env = process.env;
module.exports = function () { module.exports = function () {
const arch = process.env.npm_config_arch || process.arch; const arch = env.npm_config_arch || process.arch;
const platform = process.env.npm_config_platform || process.platform; const platform = env.npm_config_platform || process.platform;
const libc = (platform === 'linux' && detectLibc.isNonGlibcLinux) ? detectLibc.family : ''; const libc = (platform === 'linux' && detectLibc.isNonGlibcLinux) ? detectLibc.family : '';
const platformId = [`${platform}${libc}`]; const platformId = [`${platform}${libc}`];
if (arch === 'arm' || arch === 'armhf' || arch === 'arm64') {
const armVersion = (arch === 'arm64') ? '8' : process.env.npm_config_armv || process.config.variables.arm_version || '6'; if (arch === 'arm') {
platformId.push(`armv${armVersion}`); platformId.push(`armv${env.npm_config_arm_version || process.config.variables.arm_version || '6'}`);
} else if (arch === 'arm64') {
platformId.push(`arm64v${env.npm_config_arm_version || '8'}`);
} else { } else {
platformId.push(arch); platformId.push(arch);
} }
return platformId.join('-'); return platformId.join('-');
}; };

View File

@ -16,16 +16,24 @@ describe('Platform-detection', function () {
delete process.env.npm_config_platform; delete process.env.npm_config_platform;
}); });
it('Can override ARM version via npm_config_armv', function () { it('Can override ARM version via --arm-version', function () {
process.env.npm_config_arch = 'arm'; process.env.npm_config_arch = 'arm';
process.env.npm_config_armv = 'test'; process.env.npm_config_arm_version = 'test';
assert.strictEqual('armvtest', platform().split('-')[1]); assert.strictEqual('armvtest', platform().split('-')[1]);
delete process.env.npm_config_armv; delete process.env.npm_config_arm_version;
delete process.env.npm_config_arch;
});
it('Can override ARM64 version via --arm-version', function () {
process.env.npm_config_arch = 'arm64';
process.env.npm_config_arm_version = 'test';
assert.strictEqual('arm64vtest', platform().split('-')[1]);
delete process.env.npm_config_arm_version;
delete process.env.npm_config_arch; delete process.env.npm_config_arch;
}); });
it('Can detect ARM version via process.config', function () { it('Can detect ARM version via process.config', function () {
process.env.npm_config_arch = 'armhf'; process.env.npm_config_arch = 'arm';
const armVersion = process.config.variables.arm_version; const armVersion = process.config.variables.arm_version;
process.config.variables.arm_version = 'test'; process.config.variables.arm_version = 'test';
assert.strictEqual('armvtest', platform().split('-')[1]); assert.strictEqual('armvtest', platform().split('-')[1]);
@ -41,7 +49,7 @@ describe('Platform-detection', function () {
it('Defaults to ARMv8 for 64-bit', function () { it('Defaults to ARMv8 for 64-bit', function () {
process.env.npm_config_arch = 'arm64'; process.env.npm_config_arch = 'arm64';
assert.strictEqual('armv8', platform().split('-')[1]); assert.strictEqual('arm64v8', platform().split('-')[1]);
delete process.env.npm_config_arch; delete process.env.npm_config_arch;
}); });
}); });