From d5951b4fc4bdfb92b789eca92e028ee00107f5c9 Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Mon, 2 Mar 2020 11:49:42 -0800 Subject: [PATCH] fix: properly download browsers (#1173) Playwright API is parametrized with a `downloadPath` - a path that is used to download browsers and to look for downloaded browsers. This patch starts respecting `downloadPath` as part of `download-browser.js` utility. --- download-browser.js | 4 ++-- install-from-github.js | 13 +++++++------ packages/playwright-chromium/install.js | 3 ++- packages/playwright-firefox/install.js | 3 ++- packages/playwright-webkit/install.js | 3 ++- packages/playwright/install.js | 7 ++++--- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/download-browser.js b/download-browser.js index c2a72e755e..11a6cc2b05 100644 --- a/download-browser.js +++ b/download-browser.js @@ -14,8 +14,8 @@ * limitations under the License. */ -async function downloadBrowser(browser) { - const browserType = require('.')[browser]; +async function downloadBrowser(browserType) { + const browser = browserType.name(); let progressBar = null; let lastDownloadedBytes = 0; function onProgress(downloadedBytes, totalBytes) { diff --git a/install-from-github.js b/install-from-github.js index d9aab333ff..a74a56c59a 100644 --- a/install-from-github.js +++ b/install-from-github.js @@ -25,36 +25,37 @@ try { } catch (e) { } const {downloadBrowser} = require('./download-browser'); +const playwright = require('.'); (async function() { const protocolGenerator = require('./utils/protocol-types-generator'); try { - const chromeRevision = await downloadAndCleanup('chromium'); + const chromeRevision = await downloadAndCleanup(playwright.chromium); await protocolGenerator.generateChromiunProtocol(chromeRevision); } catch (e) { console.warn(e.message); } try { - const firefoxRevision = await downloadAndCleanup('firefox'); + const firefoxRevision = await downloadAndCleanup(playwright.firefox); await protocolGenerator.generateFirefoxProtocol(firefoxRevision); } catch (e) { console.warn(e.message); } try { - const webkitRevision = await downloadAndCleanup('webkit'); + const webkitRevision = await downloadAndCleanup(playwright.webkit); await protocolGenerator.generateWebKitProtocol(webkitRevision); } catch (e) { console.warn(e.message); } })(); -async function downloadAndCleanup(browser) { - const revisionInfo = await downloadBrowser(browser); +async function downloadAndCleanup(browserType) { + const revisionInfo = await downloadBrowser(browserType); // Remove previous revisions. - const fetcher = require('.')[browser]._createBrowserFetcher(); + const fetcher = browserType._createBrowserFetcher(); const localRevisions = await fetcher.localRevisions(); const cleanupOldVersions = localRevisions.filter(revision => revision !== revisionInfo.revision).map(revision => fetcher.remove(revision)); await Promise.all([...cleanupOldVersions]); diff --git a/packages/playwright-chromium/install.js b/packages/playwright-chromium/install.js index 2bf7a0aadc..8955679e2e 100644 --- a/packages/playwright-chromium/install.js +++ b/packages/playwright-chromium/install.js @@ -14,4 +14,5 @@ * limitations under the License. */ const {downloadBrowser} = require('playwright-core/download-browser'); -downloadBrowser('chromium'); +const playwright = require('.'); +downloadBrowser(playwright.chromium); diff --git a/packages/playwright-firefox/install.js b/packages/playwright-firefox/install.js index 62f901040a..ea6ba3f964 100644 --- a/packages/playwright-firefox/install.js +++ b/packages/playwright-firefox/install.js @@ -14,4 +14,5 @@ * limitations under the License. */ const {downloadBrowser} = require('playwright-core/download-browser'); -downloadBrowser('firefox'); +const playwright = require('.'); +downloadBrowser(playwright.firefox); diff --git a/packages/playwright-webkit/install.js b/packages/playwright-webkit/install.js index f289ab867f..0a7b2b2f6a 100644 --- a/packages/playwright-webkit/install.js +++ b/packages/playwright-webkit/install.js @@ -14,4 +14,5 @@ * limitations under the License. */ const {downloadBrowser} = require('playwright-core/download-browser'); -downloadBrowser('webkit'); +const playwright = require('.'); +downloadBrowser(playwright.webkit); diff --git a/packages/playwright/install.js b/packages/playwright/install.js index 17e5976528..daaee72956 100644 --- a/packages/playwright/install.js +++ b/packages/playwright/install.js @@ -14,8 +14,9 @@ * limitations under the License. */ const {downloadBrowser} = require('playwright-core/download-browser'); +const playwright = require('.'); (async function() { - await downloadBrowser('chromium'); - await downloadBrowser('firefox'); - await downloadBrowser('webkit'); + await downloadBrowser(playwright.chromium); + await downloadBrowser(playwright.firefox); + await downloadBrowser(playwright.webkit); })();