Skip to content

Commit 231b278

Browse files
committed
iterate
1 parent 0d2299f commit 231b278

File tree

5 files changed

+52
-45
lines changed

5 files changed

+52
-45
lines changed

.github/workflows/browser-tests.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,9 @@ jobs:
3535
package.json
3636
src/**/package.json
3737
- run: pnpm install --frozen-lockfile
38+
39+
- name: Install browsers
40+
run: node ./bin/get_browsers.js
41+
3842
# TODO: Install the E2E app + run webserver
3943
- run: pnpm run test:browser

bin/get_browsers.mjs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import * as path from 'node:path';
2+
import {
3+
Browser,
4+
BrowserTag,
5+
detectBrowserPlatform,
6+
install as installBrowser,
7+
resolveBuildId,
8+
} from '@puppeteer/browsers';
9+
10+
const platform = detectBrowserPlatform();
11+
const installBrowserCommonOpts = {
12+
platform,
13+
cacheDir: path.join(import.meta.dirname, '../browsers'),
14+
};
15+
16+
// Lowest versions are computed from "defaults and fully supports es6-module" query,
17+
// see https://browsersl.ist/#q=defaults+and+fully+supports+es6-module
18+
19+
export const browsers = {
20+
'chrome@lowest': await installBrowser({
21+
...installBrowserCommonOpts,
22+
browser: Browser.CHROME,
23+
// The lowest version where:
24+
// - Chrome and associated Chromedriver could easily be downloaded
25+
// - there is no compatibility issues like "WebDriver Bidi command \"session.subscribe\" failed with error"
26+
// - there is no timeout issues when requesting Vitest webserver
27+
// @see https://raw.githubusercontent.com/GoogleChromeLabs/chrome-for-testing/refs/heads/main/data/known-good-versions-with-downloads.json
28+
buildId: '130.0.6669.0',
29+
}),
30+
'chrome@latest': await installBrowser({
31+
...installBrowserCommonOpts,
32+
browser: Browser.CHROME,
33+
buildId: await resolveBuildId(Browser.CHROME, platform, BrowserTag.STABLE),
34+
}),
35+
'firefox@lowest': await installBrowser({
36+
...installBrowserCommonOpts,
37+
browser: Browser.FIREFOX,
38+
buildId: 'stable_128.0',
39+
}),
40+
'firefox@latest': await installBrowser({
41+
...installBrowserCommonOpts,
42+
browser: Browser.FIREFOX,
43+
buildId: await resolveBuildId(Browser.FIREFOX, platform, BrowserTag.STABLE),
44+
}),
45+
};

biome.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"!**/package.json",
1313
"!**/node_modules",
1414
"!**/var",
15-
"!**/dist"
15+
"!**/dist",
16+
"!**/browsers"
1617
]
1718
},
1819
"linter": {

src/StimulusBundle/assets/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
"watch": "tsx ../../../bin/build_package.ts . --watch",
2020
"test": "pnpm run test:unit",
2121
"test:unit": "../../../bin/test_package.sh . --unit",
22-
"test:browser": "../../../bin/test_package.sh . --browser",
2322
"check": "biome check",
2423
"ci": "biome ci"
2524
},

vitest.config.mjs

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,7 @@
11
/// <reference types="@vitest/browser/providers/webdriverio" />
22
import { defineConfig } from 'vitest/config';
33
import path from 'node:path';
4-
import {
5-
Browser,
6-
BrowserTag,
7-
detectBrowserPlatform,
8-
install as installBrowser,
9-
resolveBuildId,
10-
} from '@puppeteer/browsers';
11-
12-
const platform = detectBrowserPlatform();
13-
const installBrowserCommonOpts = {
14-
platform,
15-
cacheDir: path.join(__dirname, 'browsers'),
16-
}
17-
18-
// Lowest versions are computed from "defaults and fully supports es6-module" query,
19-
// see https://browsersl.ist/#q=defaults+and+fully+supports+es6-module
20-
const browsers = {
21-
'chrome@lowest': await installBrowser({
22-
...installBrowserCommonOpts,
23-
browser: Browser.CHROME,
24-
// The lowest version where:
25-
// - Chrome and associated Chromedriver could easily be downloaded
26-
// - there is no compatibility issues like "WebDriver Bidi command \"session.subscribe\" failed with error"
27-
// - there is no timeout issues when requesting Vitest webserver
28-
// @see https://raw.githubusercontent.com/GoogleChromeLabs/chrome-for-testing/refs/heads/main/data/known-good-versions-with-downloads.json
29-
buildId: '130.0.6669.0',
30-
}),
31-
'chrome@latest': await installBrowser({
32-
...installBrowserCommonOpts,
33-
browser: Browser.CHROME,
34-
buildId: await resolveBuildId(Browser.CHROME, platform, BrowserTag.STABLE),
35-
}),
36-
'firefox@lowest': await installBrowser({
37-
...installBrowserCommonOpts,
38-
browser: Browser.FIREFOX,
39-
buildId: 'stable_128.0',
40-
}),
41-
'firefox@latest': await installBrowser({
42-
...installBrowserCommonOpts,
43-
browser: Browser.FIREFOX,
44-
buildId: await resolveBuildId(Browser.FIREFOX, platform, BrowserTag.STABLE),
45-
}),
46-
};
4+
import { browsers } from './bin/get_browsers.mjs';
475

486
console.log('Using the following browsers:', browsers);
497

0 commit comments

Comments
 (0)