playwright 1.56.0-alpha-2025-09-28 → 1.56.0-alpha-2025-09-30

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.
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var seed_exports = {};
30
+ __export(seed_exports, {
31
+ ensureSeedTest: () => ensureSeedTest,
32
+ seedProject: () => seedProject
33
+ });
34
+ module.exports = __toCommonJS(seed_exports);
35
+ var import_fs = __toESM(require("fs"));
36
+ var import_path = __toESM(require("path"));
37
+ var import_utils = require("playwright-core/lib/utils");
38
+ var import_projectUtils = require("../../runner/projectUtils");
39
+ function seedProject(config, projectName) {
40
+ if (!projectName)
41
+ return (0, import_projectUtils.findTopLevelProjects)(config)[0];
42
+ const project = config.projects.find((p) => p.project.name === projectName);
43
+ if (!project)
44
+ throw new Error(`Project ${projectName} not found`);
45
+ return project;
46
+ }
47
+ async function ensureSeedTest(config, projectName, logNew) {
48
+ const project = seedProject(config, projectName);
49
+ const files = await (0, import_projectUtils.collectFilesForProject)(project);
50
+ const seed = files.find((file) => import_path.default.basename(file).includes("seed"));
51
+ if (seed)
52
+ return seed;
53
+ const testDir = project.project.testDir;
54
+ const seedFile = import_path.default.resolve(testDir, "seed.spec.ts");
55
+ if (logNew) {
56
+ console.log(`Writing file: ${import_path.default.relative(process.cwd(), seedFile)}`);
57
+ }
58
+ await (0, import_utils.mkdirIfNeeded)(seedFile);
59
+ await import_fs.default.promises.writeFile(seedFile, `import { test, expect } from '@playwright/test';
60
+
61
+ test.describe('Test group', () => {
62
+ test('seed', async ({ page }) => {
63
+ // generate code here.
64
+ });
65
+ });
66
+ `);
67
+ return seedFile;
68
+ }
69
+ // Annotate the CommonJS export names for ESM import in node:
70
+ 0 && (module.exports = {
71
+ ensureSeedTest,
72
+ seedProject
73
+ });
@@ -41,7 +41,7 @@ var import_bundle = require("../sdk/bundle");
41
41
  var import_base = require("../../reporters/base");
42
42
  var import_list = __toESM(require("../../reporters/list"));
43
43
  var import_listModeReporter = __toESM(require("../../reporters/listModeReporter"));
44
- var import_projectUtils = require("../../runner/projectUtils");
44
+ var import_seed = require("./seed");
45
45
  var import_testTool = require("./testTool");
46
46
  var import_streams = require("./streams");
47
47
  var import_util = require("../../util");
@@ -132,22 +132,12 @@ const setupPage = (0, import_testTool.defineTestTool)({
132
132
  const reporter = new import_list.default({ configDir, screen });
133
133
  const testRunner = await context.createTestRunner();
134
134
  const config = await testRunner.loadConfig();
135
- const project = params.project ? config.projects.find((p) => p.project.name === params.project) : (0, import_projectUtils.findTopLevelProjects)(config)[0];
136
- const testDir = project?.project.testDir || configDir;
137
135
  let seedFile;
138
136
  if (!params.seedFile) {
139
- seedFile = import_path.default.resolve(testDir, "seed.spec.ts");
140
- await import_fs.default.promises.mkdir(import_path.default.dirname(seedFile), { recursive: true });
141
- await import_fs.default.promises.writeFile(seedFile, `import { test, expect } from '@playwright/test';
142
-
143
- test.describe('Test group', () => {
144
- test('seed', async ({ page }) => {
145
- // generate code here.
146
- });
147
- });
148
- `);
137
+ seedFile = await (0, import_seed.ensureSeedTest)(config, params.project, false);
149
138
  } else {
150
139
  const candidateFiles = [];
140
+ const testDir = (0, import_seed.seedProject)(config, params.project).project.testDir;
151
141
  candidateFiles.push(import_path.default.resolve(testDir, params.seedFile));
152
142
  candidateFiles.push(import_path.default.resolve(configDir, params.seedFile));
153
143
  candidateFiles.push(import_path.default.resolve(context.rootPath, params.seedFile));
package/lib/program.js CHANGED
@@ -48,6 +48,7 @@ var import_testRunner = require("./runner/testRunner");
48
48
  var import_reporters = require("./runner/reporters");
49
49
  var import_exports = require("./mcp/sdk/exports");
50
50
  var import_testBackend = require("./mcp/test/testBackend");
51
+ var import_seed = require("./mcp/test/seed");
51
52
  var import_program3 = require("./mcp/program");
52
53
  var import_watchdog = require("./mcp/browser/watchdog");
53
54
  var import_generateAgents = require("./agents/generateAgents");
@@ -176,15 +177,21 @@ function addInitAgentsCommand(program3) {
176
177
  const option = command.createOption("--loop <loop>", "Agentic loop provider");
177
178
  option.choices(["vscode", "claude", "opencode"]);
178
179
  command.addOption(option);
180
+ command.option("-c, --config <file>", `Configuration file to find a project to use for seed test`);
181
+ command.option("--project <project>", "Project to use for seed test");
179
182
  command.action(async (opts) => {
180
- if (opts.loop === "opencode")
183
+ if (opts.loop === "opencode") {
181
184
  await (0, import_generateAgents.initOpencodeRepo)();
182
- else if (opts.loop === "vscode")
185
+ } else if (opts.loop === "vscode") {
183
186
  await (0, import_generateAgents.initVSCodeRepo)();
184
- else if (opts.loop === "claude")
187
+ } else if (opts.loop === "claude") {
185
188
  await (0, import_generateAgents.initClaudeCodeRepo)();
186
- else
189
+ } else {
187
190
  command.help();
191
+ return;
192
+ }
193
+ const config = await (0, import_configLoader.loadConfigFromFile)(opts.config);
194
+ await (0, import_seed.ensureSeedTest)(config, opts.project, true);
188
195
  });
189
196
  }
190
197
  async function runTests(args, opts) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright",
3
- "version": "1.56.0-alpha-2025-09-28",
3
+ "version": "1.56.0-alpha-2025-09-30",
4
4
  "description": "A high-level API to automate web browsers",
5
5
  "repository": {
6
6
  "type": "git",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "license": "Apache-2.0",
66
66
  "dependencies": {
67
- "playwright-core": "1.56.0-alpha-2025-09-28"
67
+ "playwright-core": "1.56.0-alpha-2025-09-30"
68
68
  },
69
69
  "optionalDependencies": {
70
70
  "fsevents": "2.3.2"
@@ -773,7 +773,7 @@ export interface TestStep {
773
773
  * - `hook` for hooks initialization and teardown
774
774
  * - `pw:api` for Playwright API calls.
775
775
  * - `test.step` for test.step API calls.
776
- * - `test.attach` for test attachmen calls.
776
+ * - `test.attach` for testInfo.attach API calls.
777
777
  */
778
778
  category: string;
779
779