venetian 0.3.0-x86_64-linux → 0.3.2-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -3
  3. data/Rakefile +1 -0
  4. data/exe/x86_64-linux/node +2 -2
  5. data/exe/x86_64-linux/package/browsers.json +9 -9
  6. data/exe/x86_64-linux/package/cli.js +1 -0
  7. data/exe/x86_64-linux/package/lib/bootstrap.js +61 -0
  8. data/exe/x86_64-linux/package/lib/coreBundle.js +6393 -4170
  9. data/exe/x86_64-linux/package/lib/server/electron/loader.js +4 -0
  10. data/exe/x86_64-linux/package/lib/tools/cli-client/cli.js +2 -1
  11. data/exe/x86_64-linux/package/lib/tools/cli-client/help.json +99 -12
  12. data/exe/x86_64-linux/package/lib/tools/cli-client/output.js +17 -16
  13. data/exe/x86_64-linux/package/lib/tools/cli-client/program.js +8 -4
  14. data/exe/x86_64-linux/package/lib/tools/cli-client/session.js +2 -0
  15. data/exe/x86_64-linux/package/lib/tools/skills/playwright-cli/SKILL.md +71 -3
  16. data/exe/x86_64-linux/package/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
  17. data/exe/x86_64-linux/package/lib/tools/skills/playwright-cli/references/running-code.md +4 -0
  18. data/exe/x86_64-linux/package/lib/tools/skills/playwright-cli/references/session-management.md +2 -0
  19. data/exe/x86_64-linux/package/lib/tools/skills/playwright-cli/references/test-generation.md +1 -1
  20. data/exe/x86_64-linux/package/lib/tools/skills/playwright-cli/references/video-recording.md +76 -3
  21. data/exe/x86_64-linux/package/lib/tools/skills/playwright-trace/SKILL.md +1 -1
  22. data/exe/x86_64-linux/package/lib/utilsBundle.js +948 -227
  23. data/exe/x86_64-linux/package/lib/utilsBundle.js.LICENSE +6 -6
  24. data/exe/x86_64-linux/package/lib/vite/htmlReport/report.js +1 -1
  25. data/exe/x86_64-linux/package/lib/vite/recorder/assets/{codeMirrorModule-CVQWJZAA.js → codeMirrorModule-DK72OMRi.js} +1 -1
  26. data/exe/x86_64-linux/package/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
  27. data/exe/x86_64-linux/package/lib/vite/recorder/index.html +1 -1
  28. data/exe/x86_64-linux/package/lib/vite/traceViewer/assets/{codeMirrorModule-BbkfBe3n.js → codeMirrorModule-BEB2e8M3.js} +1 -1
  29. data/exe/x86_64-linux/package/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
  30. data/exe/x86_64-linux/package/lib/vite/traceViewer/assets/{xtermModule-DywYcAf8.js → xtermModule-B794rD2Z.js} +1 -1
  31. data/exe/x86_64-linux/package/lib/vite/traceViewer/{defaultSettingsView.Bqk9acqE.css → defaultSettingsView.C8BeHuxd.css} +1 -1
  32. data/exe/x86_64-linux/package/lib/vite/traceViewer/{index.B4cLoZK3.js → index.7-c5LSTW.js} +1 -1
  33. data/exe/x86_64-linux/package/lib/vite/traceViewer/index.html +3 -3
  34. data/exe/x86_64-linux/package/lib/vite/traceViewer/sw.bundle.js +3 -3
  35. data/exe/x86_64-linux/package/lib/vite/traceViewer/{uiMode.CU5KtEkS.js → uiMode.CYwC_gH1.js} +4 -4
  36. data/exe/x86_64-linux/package/lib/vite/traceViewer/uiMode.html +3 -3
  37. data/exe/x86_64-linux/package/package.json +1 -1
  38. data/exe/x86_64-linux/package/types/protocol.d.ts +468 -337
  39. data/exe/x86_64-linux/package/types/types.d.ts +572 -37
  40. data/lib/venetian/browser_installer.rb +82 -5
  41. data/lib/venetian/browser_runner_extensions.rb +7 -3
  42. data/lib/venetian/connection_extensions.rb +28 -0
  43. data/lib/venetian/executable.rb +139 -45
  44. data/lib/venetian/playwright.rb +1 -0
  45. data/lib/venetian/system_test_case_extension.rb +21 -8
  46. data/lib/venetian/upstream.rb +38 -3
  47. data/lib/venetian/version.rb +3 -2
  48. metadata +16 -14
  49. data/exe/x86_64-linux/package/lib/vite/recorder/assets/index-hrlLqLtq.js +0 -129
  50. data/exe/x86_64-linux/package/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +0 -182
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b75f76fa69c09eda6c65ea4c467477bd1d74ed9f696aa47b7d46fc61f8bb70b
4
- data.tar.gz: 01b09aad7ee00c5d6bfaa366f8f9fefcbe2751985b1027349690c49d7f71f67a
3
+ metadata.gz: 3ec76bdffe1866b72310f814d97968117747a231c3446ac08d2457f6a94ce1e4
4
+ data.tar.gz: 03dd9fc39dbede3444dd1aa4eccfebae9d966dd20a2911786fee6eb8b5ca622c
5
5
  SHA512:
6
- metadata.gz: ecd3b7e57512544f2dd3a618db97b1e286e3de49a7c1665efa2ec04717edcd998ffaaf357021d56bb5315a679e1028224d3a02be11da949f67efb1f3c884d985
7
- data.tar.gz: c1e6db44da616c16e9e0bde69d6fa6514ba254a2ef439a5f0d71bfd14567998d45b5b06431c497d97a288a93db2e007c00238139dbed47544d52b2bbe9e9c49d
6
+ metadata.gz: 8771d0cd27350bb4bb917c058f22bb1f509ba24131ada12d27b5ac980895cf3f5ed7383942f70ad8dc864e7fbfddb381aaa7b5db6d7baacbad2db7d49aa7abe3
7
+ data.tar.gz: 995932182d9e8c72d236f54fc3d835559090c399211193953cb9a681d6011f54e6117fe5df3429136d3e4be13114d3cf8f361cdcba706ef0411245b2d4687f7f
data/README.md CHANGED
@@ -80,13 +80,20 @@ due to e.g. differences between package managers and package names across distro
80
80
  so dependency installation happens only if a compatible package manager is found.
81
81
  Depending on what you're doing, you may not need to install dependencies,
82
82
  but if you do and your distro is unsupported, you will need to work out what you need and deal with that first.
83
+ On Windows, Firefox also needs the [Microsoft Visual C++ Redistributable](https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist),
84
+ which Playwright doesn't install; you'll get a warning after installation if it's missing.
83
85
 
84
- When parallelizing tests, there's also the issue of multiple processes all trying to acquire the package manager lock:
85
- if you use Rails system tests with `ActionDispatch::SystemTestCase`,
86
- this is handled automatically by installing all required browsers before disabling auto-installation and then forking.
86
+ Browsers already installed (e.g. from a restored cache) are left alone. If the browsers directory
87
+ (or `PLAYWRIGHT_BROWSERS_PATH`, if set) is read-only, as with a prepopulated cache, browsers aren't installed at all,
88
+ since Playwright can't take its lock there, though dependencies still are if needed.
89
+ When parallelizing tests, there's also the issue of multiple processes all trying to acquire the package manager lock,
90
+ so installations are serialized across processes. On top of this, if you use Rails system tests with `ActionDispatch::SystemTestCase`,
91
+ all required browsers are installed before disabling auto-installation and then forking.
87
92
 
88
93
  Browsers aren't installed automatically if you pass your own `:playwright_cli_executable_path`, or connect to a server with
89
94
  `:playwright_server_endpoint_url` or `:browser_server_endpoint_url`, since the bundled executable won't be the one running them.
95
+ Nor are they if you pass `:executablePath`, or a `:channel` for a system-wide browser like `chrome` or `msedge`
96
+ (install these with e.g. `playwright install chrome`), but other channels are installed instead of the browser type.
90
97
  You can also turn installation off with `Venetian.auto_install_browsers = false`, or just dependency installation with
91
98
  `Venetian.auto_install_dependencies = false`.
92
99
 
data/Rakefile CHANGED
@@ -12,3 +12,4 @@ RuboCop::RakeTask.new
12
12
  task default: %i[test rubocop]
13
13
 
14
14
  import "rakelib/release.rake"
15
+ import "rakelib/upstream.rake"
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: data/exe/x86_64-linux/node
3
- size: 126595440 bytes
4
- sha256: 7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c
3
+ size: 126816376 bytes
4
+ sha256: 67ca5783febb8bf85736c79fcdd92c8d6d465a0eb2a082672bcdfa76a506751c
@@ -3,39 +3,39 @@
3
3
  "browsers": [
4
4
  {
5
5
  "name": "chromium",
6
- "revision": "1243",
6
+ "revision": "1248",
7
7
  "installByDefault": true,
8
- "browserVersion": "153.0.8010.12",
8
+ "browserVersion": "156.0.8078.4",
9
9
  "title": "Chrome for Testing"
10
10
  },
11
11
  {
12
12
  "name": "chromium-headless-shell",
13
- "revision": "1243",
13
+ "revision": "1248",
14
14
  "installByDefault": true,
15
- "browserVersion": "153.0.8010.12",
15
+ "browserVersion": "156.0.8078.4",
16
16
  "title": "Chrome Headless Shell"
17
17
  },
18
18
  {
19
19
  "name": "firefox",
20
- "revision": "1543",
20
+ "revision": "1555",
21
21
  "installByDefault": true,
22
- "browserVersion": "155.0",
22
+ "browserVersion": "157.0",
23
23
  "title": "Firefox"
24
24
  },
25
25
  {
26
26
  "name": "webkit",
27
- "revision": "2359",
27
+ "revision": "2370",
28
28
  "installByDefault": true,
29
29
  "revisionOverrides": {
30
30
  "mac14": "2251",
31
31
  "mac14-arm64": "2251"
32
32
  },
33
- "browserVersion": "26.6",
33
+ "browserVersion": "27.2",
34
34
  "title": "WebKit"
35
35
  },
36
36
  {
37
37
  "name": "ffmpeg",
38
- "revision": "1011",
38
+ "revision": "1013",
39
39
  "installByDefault": true
40
40
  },
41
41
  {
@@ -14,6 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ require('./lib/bootstrap');
17
18
  const { libCli, libCliTestStub } = require('./lib/coreBundle');
18
19
  const { program } = require('./lib/utilsBundle');
19
20
  libCli.decorateProgram(program);
@@ -1,4 +1,26 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var bootstrap_exports = {};
20
+ __export(bootstrap_exports, {
21
+ processExit: () => processExit
22
+ });
23
+ module.exports = __toCommonJS(bootstrap_exports);
2
24
  const minimumMajorNodeVersion = 20;
3
25
  const currentNodeVersion = process.versions.node;
4
26
  const major = +currentNodeVersion.split(".")[0];
@@ -10,6 +32,41 @@ Please update your version of Node.js.`
10
32
  );
11
33
  process.exit(1);
12
34
  }
35
+ let stopProfiling = (callback) => callback();
36
+ if (process.env.PW_PROFILE_DIR) {
37
+ const fs = require("fs");
38
+ const path = require("path");
39
+ const { Session } = require("inspector");
40
+ const profileDir = path.resolve(process.env.PW_PROFILE_DIR);
41
+ const script = process.argv[1] ? path.basename(process.argv[1], path.extname(process.argv[1])) : "node";
42
+ const command = /^[a-z][\w-]*$/i.test(process.argv[2] ?? "") ? process.argv[2] : void 0;
43
+ const profileName = [script, command, process.pid].filter(Boolean).join("-");
44
+ const session = new Session();
45
+ session.connect();
46
+ session.post("Profiler.enable");
47
+ session.post("Profiler.start");
48
+ stopProfiling = (callback) => {
49
+ stopProfiling = (callback2) => callback2();
50
+ session.post("Profiler.stop", (error, result) => {
51
+ try {
52
+ if (!error) {
53
+ fs.mkdirSync(profileDir, { recursive: true });
54
+ fs.writeFileSync(path.join(profileDir, profileName + ".cpuprofile"), JSON.stringify(result.profile));
55
+ }
56
+ } finally {
57
+ callback();
58
+ }
59
+ });
60
+ };
61
+ process.on("beforeExit", () => stopProfiling(() => {
62
+ }));
63
+ }
64
+ function processExit(code) {
65
+ stopProfiling(() => {
66
+ process.exit(code);
67
+ });
68
+ return void 0;
69
+ }
13
70
  if (process.env.PW_INSTRUMENT_MODULES) {
14
71
  const Module = require("module");
15
72
  const originalLoad = Module._load;
@@ -86,3 +143,7 @@ if (process.env.PW_INSTRUMENT_MODULES) {
86
143
  ` + flatLines.join("\n") + "\n");
87
144
  });
88
145
  }
146
+ // Annotate the CommonJS export names for ESM import in node:
147
+ 0 && (module.exports = {
148
+ processExit
149
+ });