From bc0af57ad31337875d5d089c2242c158bcb076e8 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Wed, 9 Dec 2020 09:04:32 -0800 Subject: [PATCH] feat: support download of native WebKit build for Apple M1 (#4648) --- src/install/browserFetcher.ts | 3 +++ src/utils/browserPaths.ts | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/install/browserFetcher.ts b/src/install/browserFetcher.ts index 7f4cfa2f82..1234c14a86 100644 --- a/src/install/browserFetcher.ts +++ b/src/install/browserFetcher.ts @@ -78,6 +78,7 @@ function getDownloadUrl(browserName: BrowserName, revision: number, platform: Br ['mac10.14', '%s/builds/chromium/%s/chromium-mac.zip'], ['mac10.15', '%s/builds/chromium/%s/chromium-mac.zip'], ['mac11.0', '%s/builds/chromium/%s/chromium-mac.zip'], + ['mac11.0-arm64', '%s/builds/chromium/%s/chromium-mac.zip'], ['win32', '%s/builds/chromium/%s/chromium-win32.zip'], ['win64', '%s/builds/chromium/%s/chromium-win64.zip'], ]).get(platform); @@ -103,6 +104,7 @@ function getDownloadUrl(browserName: BrowserName, revision: number, platform: Br ['mac10.14', '%s/builds/firefox/%s/firefox-mac-10.14.zip'], ['mac10.15', '%s/builds/firefox/%s/firefox-mac-10.14.zip'], ['mac11.0', '%s/builds/firefox/%s/firefox-mac-10.14.zip'], + ['mac11.0-arm64', '%s/builds/firefox/%s/firefox-mac-10.14.zip'], ['win32', '%s/builds/firefox/%s/firefox-win32.zip'], ['win64', '%s/builds/firefox/%s/firefox-win64.zip'], ]).get(platform); @@ -128,6 +130,7 @@ function getDownloadUrl(browserName: BrowserName, revision: number, platform: Br ['mac10.14', '%s/builds/webkit/%s/webkit-mac-10.14.zip'], ['mac10.15', '%s/builds/webkit/%s/webkit-mac-10.15.zip'], ['mac11.0', '%s/builds/webkit/%s/webkit-mac-10.15.zip'], + ['mac11.0-arm64', '%s/builds/webkit/%s/webkit-mac-11.0-arm64.zip'], ['win32', '%s/builds/webkit/%s/webkit-win64.zip'], ['win64', '%s/builds/webkit/%s/webkit-win64.zip'], ]).get(platform); diff --git a/src/utils/browserPaths.ts b/src/utils/browserPaths.ts index 5f894279b2..2a41b5431c 100644 --- a/src/utils/browserPaths.ts +++ b/src/utils/browserPaths.ts @@ -22,7 +22,7 @@ import { getUbuntuVersionSync } from './ubuntuVersion'; import { getFromENV } from './utils'; export type BrowserName = 'chromium'|'webkit'|'firefox'|'clank'; -export type BrowserPlatform = 'win32'|'win64'|'mac10.13'|'mac10.14'|'mac10.15'|'mac11.0'|'ubuntu18.04'|'ubuntu20.04'; +export type BrowserPlatform = 'win32'|'win64'|'mac10.13'|'mac10.14'|'mac10.15'|'mac11.0'|'mac11.0-arm64'|'ubuntu18.04'|'ubuntu20.04'; export type BrowserDescriptor = { name: BrowserName, revision: string, @@ -35,7 +35,8 @@ export const hostPlatform = ((): BrowserPlatform => { const macVersion = execSync('sw_vers -productVersion', { stdio: ['ignore', 'pipe', 'ignore'] }).toString('utf8').trim().split('.').slice(0, 2).join('.'); - return `mac${macVersion}` as BrowserPlatform; + const archSuffix = os.arch() === 'arm64' ? '-arm64' : ''; + return `mac${macVersion}${archSuffix}` as BrowserPlatform; } if (platform === 'linux') { const ubuntuVersion = getUbuntuVersionSync();