Skip to content

Commit d5951b4

Browse files
authored
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.
1 parent cbf65a9 commit d5951b4

File tree

6 files changed

+19
-14
lines changed

6 files changed

+19
-14
lines changed

download-browser.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
* limitations under the License.
1515
*/
1616

17-
async function downloadBrowser(browser) {
18-
const browserType = require('.')[browser];
17+
async function downloadBrowser(browserType) {
18+
const browser = browserType.name();
1919
let progressBar = null;
2020
let lastDownloadedBytes = 0;
2121
function onProgress(downloadedBytes, totalBytes) {

install-from-github.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -25,36 +25,37 @@ try {
2525
} catch (e) {
2626
}
2727
const {downloadBrowser} = require('./download-browser');
28+
const playwright = require('.');
2829

2930
(async function() {
3031
const protocolGenerator = require('./utils/protocol-types-generator');
3132
try {
32-
const chromeRevision = await downloadAndCleanup('chromium');
33+
const chromeRevision = await downloadAndCleanup(playwright.chromium);
3334
await protocolGenerator.generateChromiunProtocol(chromeRevision);
3435
} catch (e) {
3536
console.warn(e.message);
3637
}
3738

3839
try {
39-
const firefoxRevision = await downloadAndCleanup('firefox');
40+
const firefoxRevision = await downloadAndCleanup(playwright.firefox);
4041
await protocolGenerator.generateFirefoxProtocol(firefoxRevision);
4142
} catch (e) {
4243
console.warn(e.message);
4344
}
4445

4546
try {
46-
const webkitRevision = await downloadAndCleanup('webkit');
47+
const webkitRevision = await downloadAndCleanup(playwright.webkit);
4748
await protocolGenerator.generateWebKitProtocol(webkitRevision);
4849
} catch (e) {
4950
console.warn(e.message);
5051
}
5152
})();
5253

53-
async function downloadAndCleanup(browser) {
54-
const revisionInfo = await downloadBrowser(browser);
54+
async function downloadAndCleanup(browserType) {
55+
const revisionInfo = await downloadBrowser(browserType);
5556

5657
// Remove previous revisions.
57-
const fetcher = require('.')[browser]._createBrowserFetcher();
58+
const fetcher = browserType._createBrowserFetcher();
5859
const localRevisions = await fetcher.localRevisions();
5960
const cleanupOldVersions = localRevisions.filter(revision => revision !== revisionInfo.revision).map(revision => fetcher.remove(revision));
6061
await Promise.all([...cleanupOldVersions]);

packages/playwright-chromium/install.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616
const {downloadBrowser} = require('playwright-core/download-browser');
17-
downloadBrowser('chromium');
17+
const playwright = require('.');
18+
downloadBrowser(playwright.chromium);

packages/playwright-firefox/install.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616
const {downloadBrowser} = require('playwright-core/download-browser');
17-
downloadBrowser('firefox');
17+
const playwright = require('.');
18+
downloadBrowser(playwright.firefox);

packages/playwright-webkit/install.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@
1414
* limitations under the License.
1515
*/
1616
const {downloadBrowser} = require('playwright-core/download-browser');
17-
downloadBrowser('webkit');
17+
const playwright = require('.');
18+
downloadBrowser(playwright.webkit);

packages/playwright/install.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
* limitations under the License.
1515
*/
1616
const {downloadBrowser} = require('playwright-core/download-browser');
17+
const playwright = require('.');
1718
(async function() {
18-
await downloadBrowser('chromium');
19-
await downloadBrowser('firefox');
20-
await downloadBrowser('webkit');
19+
await downloadBrowser(playwright.chromium);
20+
await downloadBrowser(playwright.firefox);
21+
await downloadBrowser(playwright.webkit);
2122
})();

0 commit comments

Comments
 (0)