@descryy/runtime-test-runner 0.4.14 → 0.5.1

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 (36) hide show
  1. package/dist/child-environment.js +1 -1
  2. package/dist/child-environment.js.map +1 -1
  3. package/dist/testgen/failure.d.ts +1 -0
  4. package/dist/testgen/failure.d.ts.map +1 -1
  5. package/dist/testgen/failure.js +1 -1
  6. package/dist/testgen/failure.js.map +1 -1
  7. package/dist/testgen/frameworks.d.ts.map +1 -1
  8. package/dist/testgen/frameworks.js +30 -7
  9. package/dist/testgen/frameworks.js.map +1 -1
  10. package/dist/testgen/languages.d.ts.map +1 -1
  11. package/dist/testgen/languages.js +1 -0
  12. package/dist/testgen/languages.js.map +1 -1
  13. package/dist/testgen/playwright-config.d.ts +15 -0
  14. package/dist/testgen/playwright-config.d.ts.map +1 -0
  15. package/dist/testgen/playwright-config.js +154 -0
  16. package/dist/testgen/playwright-config.js.map +1 -0
  17. package/dist/testgen/playwright-failure.d.ts +6 -0
  18. package/dist/testgen/playwright-failure.d.ts.map +1 -0
  19. package/dist/testgen/playwright-failure.js +62 -0
  20. package/dist/testgen/playwright-failure.js.map +1 -0
  21. package/dist/testgen/playwright-profile.d.ts +26 -0
  22. package/dist/testgen/playwright-profile.d.ts.map +1 -0
  23. package/dist/testgen/playwright-profile.js +201 -0
  24. package/dist/testgen/playwright-profile.js.map +1 -0
  25. package/dist/testgen/playwright-scaffold.d.ts +14 -0
  26. package/dist/testgen/playwright-scaffold.d.ts.map +1 -0
  27. package/dist/testgen/playwright-scaffold.js +97 -0
  28. package/dist/testgen/playwright-scaffold.js.map +1 -0
  29. package/dist/testgen/stubs.d.ts.map +1 -1
  30. package/dist/testgen/stubs.js +9 -0
  31. package/dist/testgen/stubs.js.map +1 -1
  32. package/dist/testgen/types.d.ts +2 -1
  33. package/dist/testgen/types.d.ts.map +1 -1
  34. package/package.json +3 -3
  35. package/reporters/xunit/bin/Release/netstandard2.0/Descry.TestLogger.dll +0 -0
  36. package/reporters/xunit/bin/Release/netstandard2.0/Descry.TestLogger.pdb +0 -0
@@ -73,7 +73,7 @@ const ALLOWED_NAMES = new Set([
73
73
  "SDKROOT",
74
74
  "DESCRY_JUNIT_CONSOLE_JAR",
75
75
  ]);
76
- const ALLOWED_PREFIXES = ["LC_", "XDG_", "PYTHON", "PYTEST_", "DOTNET_", "JAVA_", "GRADLE_", "MAVEN_", "CARGO_", "RUSTUP_", "PNPM_", "PYENV_", "CONDA_", "NVM_", "VOLTA_", "FNM_", "ASDF_", "MISE_", "RBENV_", "SDKMAN_"];
76
+ const ALLOWED_PREFIXES = ["LC_", "XDG_", "PYTHON", "PYTEST_", "PLAYWRIGHT_", "DOTNET_", "JAVA_", "GRADLE_", "MAVEN_", "CARGO_", "RUSTUP_", "PNPM_", "PYENV_", "CONDA_", "NVM_", "VOLTA_", "FNM_", "ASDF_", "MISE_", "RBENV_", "SDKMAN_"];
77
77
  const CREDENTIAL_LOOKING_NAME = /(KEY|TOKEN|SECRET|PASSWORD|PASSWD|CREDENTIAL|AUTH)/i;
78
78
  const LISTED_DROPPED_NAMES = 20;
79
79
  function isAllowedName(name, passthrough) {
@@ -1 +1 @@
1
- {"version":3,"file":"child-environment.js","sourceRoot":"","sources":["../src/child-environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-environment.js","sourceRoot":"","sources":["../src/child-environment.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export type FailureClass = "assertion" | "other";
2
+ export declare function stripColour(text: string): string;
2
3
  export declare function classifyFailure(error: unknown): FailureClass;
3
4
  export declare function failureMessage(error: unknown): string;
4
5
  //# sourceMappingURL=failure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/testgen/failure.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAwCjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAsB5D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmBrD"}
1
+ {"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/testgen/failure.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAYjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AA0BD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAsB5D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmBrD"}
@@ -3,7 +3,7 @@ function isBag(value) {
3
3
  return typeof value === "object" && value !== null && !Array.isArray(value);
4
4
  }
5
5
  const COLOUR_SEQUENCE = new RegExp(`${String.fromCharCode(27)}\\[[0-9;?]*[ -/]*[@-~]`, "g");
6
- function stripColour(text) {
6
+ export function stripColour(text) {
7
7
  return text.replace(COLOUR_SEQUENCE, "");
8
8
  }
9
9
  function looksLikeAssertionCause(cause) {
@@ -1 +1 @@
1
- {"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/testgen/failure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/testgen/failure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../src/testgen/frameworks.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAiC,MAAM,YAAY,CAAC;AAE1F,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA2CtI,wBAAgB,cAAc,IAAI,SAAS,aAAa,EAAE,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAmDvG;AA0ED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAsCtD"}
1
+ {"version":3,"file":"frameworks.d.ts","sourceRoot":"","sources":["../../src/testgen/frameworks.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAiC,MAAM,YAAY,CAAC;AAE1F,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA2CtI,wBAAgB,cAAc,IAAI,SAAS,aAAa,EAAE,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAmDvG;AAiFD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAsCtD"}
@@ -5,11 +5,13 @@ import { detectCSharp } from "./csharp-profile.js";
5
5
  import { detectGo } from "./go-profile.js";
6
6
  import { detectJava } from "./java-profile.js";
7
7
  import { languageForFile } from "./languages.js";
8
+ import { PLAYWRIGHT_CONFIG_FILES, readPlaywrightConfig } from "./playwright-config.js";
9
+ import { playwrightProfile } from "./playwright-profile.js";
8
10
  import { isInside, mapToWork, quote, readText, readTextIfPresent, relativeOrDot, toPosix } from "./paths.js";
9
11
  import { detectPython } from "./python-profile.js";
10
12
  import { STUBS } from "./stubs.js";
11
- const NAMES = ["node:test", "vitest", "jest", "pytest", "junit", "go", "xunit"];
12
- const JAVASCRIPT_NAMES = ["node:test", "vitest", "jest"];
13
+ const NAMES = ["node:test", "vitest", "jest", "playwright", "pytest", "junit", "go", "xunit"];
14
+ const JAVASCRIPT_NAMES = ["node:test", "vitest", "jest", "playwright"];
13
15
  const DEPENDENCY_DIR = "node_modules";
14
16
  const SOURCE_ROOTS = new Set(["src", "lib", "app", "source", "sources"]);
15
17
  const DEDICATED_TEST_DIRS = new Set(["test", "tests", "spec", "specs", "__test__"]);
@@ -60,13 +62,14 @@ export function detectTestFramework(sourceFile, repoRoot, preferred) {
60
62
  if (chain.length === 0) {
61
63
  return {
62
64
  found: false,
63
- reason: `There is no package.json between ${sourceFile} and the repository root, so nothing declares how its tests run.`,
65
+ reason: "There is no package.json between the file and the repository root, so nothing declares how its tests run.",
64
66
  };
65
67
  }
66
68
  const packageRoot = chain[0].dir;
67
69
  const fromScript = declaredByScript(chain);
68
70
  const fromDependencies = declaredByDependencies(chain);
69
- const candidates = fromScript === null ? fromDependencies : [fromScript];
71
+ const unitFrameworks = fromDependencies.filter((c) => c.name !== "playwright");
72
+ const candidates = fromScript === null ? (unitFrameworks.length > 0 ? unitFrameworks : fromDependencies) : [fromScript];
70
73
  let chosen;
71
74
  if (preferred !== undefined) {
72
75
  chosen = [...candidates, ...fromDependencies].find((c) => c.name === preferred);
@@ -89,9 +92,8 @@ export function detectTestFramework(sourceFile, repoRoot, preferred) {
89
92
  if (chosen === undefined) {
90
93
  return {
91
94
  found: false,
92
- reason: `No supported test framework is declared for ${packageRoot}. Looked at scripts.test, dependencies and devDependencies in ` +
93
- `${chain.map((m) => relativeOrDot(repoRoot, join(m.dir, "package.json"))).join(", ")}, and for vitest.config.*, jest.config.* ` +
94
- `and a "jest" key. Supported: ${NAMES.join(", ")}.`,
95
+ reason: `No supported test framework is declared in package.json (scripts.test, dependencies, devDependencies) or a test-runner config for ${relativeOrDot(repoRoot, packageRoot)}. ` +
96
+ `Supported: ${NAMES.join(", ")}.`,
95
97
  };
96
98
  }
97
99
  return build(chosen, chain, repoRoot);
@@ -106,6 +108,9 @@ function build(declared, chain, repoRoot) {
106
108
  return { found: true, profile: nodeProfile(declared.declaredBy, packageRoot, script?.dir ?? packageRoot, flags) };
107
109
  }
108
110
  const binary = findBinary(declared.name, packageRoot, repoRoot);
111
+ if (binary === null && declared.name === "playwright") {
112
+ return { found: false, reason: "Playwright (@playwright/test) is declared but not installed; install the project's dependencies first." };
113
+ }
109
114
  if (binary === null) {
110
115
  return {
111
116
  found: false,
@@ -113,6 +118,10 @@ function build(declared, chain, repoRoot) {
113
118
  `between ${packageRoot} and the repository root. Install the project's dependencies first.`,
114
119
  };
115
120
  }
121
+ if (declared.name === "playwright") {
122
+ const runRoot = nearestWith(chain, PLAYWRIGHT_CONFIG_FILES) ?? packageRoot;
123
+ return { found: true, profile: playwrightProfile({ declaredBy: declared.declaredBy, packageRoot, runRoot, binary, config: readPlaywrightConfig(runRoot) }) };
124
+ }
116
125
  if (declared.name === "vitest") {
117
126
  const runRoot = nearestWith(chain, [...VITEST_CONFIG, ...VITE_CONFIG]) ?? packageRoot;
118
127
  return { found: true, profile: vitestProfile(declared.declaredBy, packageRoot, runRoot, binary) };
@@ -225,6 +234,8 @@ function runnerIn(segment, scripts, depth) {
225
234
  return { name: "vitest", tokens };
226
235
  if (head === "jest")
227
236
  return { name: "jest", tokens };
237
+ if (head === "playwright" && tokens.includes("test"))
238
+ return { name: "playwright", tokens };
228
239
  if ((head === "node" || head === "tsx") && tokens.includes("--test"))
229
240
  return { name: "node:test", tokens: head === "tsx" ? ["node", "--import", "tsx", ...tokens.slice(1)] : tokens };
230
241
  if (depth < 1 && (head === "npm" || head === "pnpm" || head === "yarn" || head === "bun")) {
@@ -277,6 +288,18 @@ function declaredByDependencies(chain) {
277
288
  }
278
289
  }
279
290
  }
291
+ for (const manifest of chain) {
292
+ const manifestPath = join(manifest.dir, "package.json");
293
+ if (dependencyNames(manifest.json).includes("@playwright/test")) {
294
+ found.push({ name: "playwright", declaredBy: `@playwright/test in the dependencies or devDependencies of ${manifestPath}` });
295
+ break;
296
+ }
297
+ const config = PLAYWRIGHT_CONFIG_FILES.find((file) => existsSync(join(manifest.dir, file)));
298
+ if (config !== undefined) {
299
+ found.push({ name: "playwright", declaredBy: join(manifest.dir, config) });
300
+ break;
301
+ }
302
+ }
280
303
  return found;
281
304
  }
282
305
  function nearestWith(chain, files) {
@@ -1 +1 @@
1
- {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../../src/testgen/frameworks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameworks.js","sourceRoot":"","sources":["../../src/testgen/frameworks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/testgen/languages.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA2BD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAEvE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAQrF;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAMnE;AAED,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,GAAG,YAAY,GAAG,SAAS,CASpG"}
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../src/testgen/languages.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA4BD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAEvE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAE5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAQrF;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAMnE;AAED,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,GAAG,YAAY,GAAG,SAAS,CASpG"}
@@ -17,6 +17,7 @@ const FRAMEWORK_LANGUAGES = {
17
17
  "node:test": "javascript",
18
18
  vitest: "javascript",
19
19
  jest: "javascript",
20
+ playwright: "javascript",
20
21
  pytest: "python",
21
22
  junit: "java",
22
23
  go: "go",
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/testgen/languages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../src/testgen/languages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const PLAYWRIGHT_CONFIG_FILES: readonly string[];
2
+ export interface PlaywrightConfig {
3
+ readonly file: string | null;
4
+ readonly testDirs: readonly string[];
5
+ readonly testDirUnreadable: boolean;
6
+ readonly testMatch: readonly string[] | null;
7
+ readonly testMatchUnreadable: boolean;
8
+ readonly webServer: boolean;
9
+ readonly webServerCommand: string | null;
10
+ readonly baseUrl: boolean;
11
+ readonly projectNames: readonly string[];
12
+ }
13
+ export declare function parsePlaywrightConfig(text: string, file: string | null): PlaywrightConfig;
14
+ export declare function readPlaywrightConfig(directory: string): PlaywrightConfig;
15
+ //# sourceMappingURL=playwright-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-config.d.ts","sourceRoot":"","sources":["../../src/testgen/playwright-config.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAOpD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AA0ED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAoCzF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAOxE"}
@@ -0,0 +1,154 @@
1
+ import { join } from "node:path";
2
+ import { tokenize } from "./lexer.js";
3
+ import { readTextIfPresent } from "./paths.js";
4
+ export const PLAYWRIGHT_CONFIG_FILES = [
5
+ "playwright.config.ts",
6
+ "playwright.config.mts",
7
+ "playwright.config.cts",
8
+ "playwright.config.js",
9
+ "playwright.config.mjs",
10
+ "playwright.config.cjs",
11
+ ];
12
+ const ABSENT_VALUES = new Set(["undefined", "null", "false"]);
13
+ function keyName(token) {
14
+ if (token === undefined)
15
+ return null;
16
+ if (token.kind === "identifier")
17
+ return token.text;
18
+ if (token.kind === "string")
19
+ return token.text.slice(1, -1);
20
+ return null;
21
+ }
22
+ function literalOf(token) {
23
+ if (token === undefined)
24
+ return null;
25
+ if (token.kind === "string")
26
+ return token.text.slice(1, -1);
27
+ if (token.kind === "template" && token.text.startsWith("`") && token.text.endsWith("`") && !token.text.includes("${"))
28
+ return token.text.slice(1, -1);
29
+ return null;
30
+ }
31
+ function endsValue(token) {
32
+ return token === undefined || token.text === "," || token.text === "}";
33
+ }
34
+ function testMatchOf(tokens, valueIndex) {
35
+ const single = literalOf(tokens[valueIndex]);
36
+ if (single !== null)
37
+ return endsValue(tokens[valueIndex + 1]) ? [single] : null;
38
+ if (tokens[valueIndex]?.text !== "[")
39
+ return null;
40
+ const patterns = [];
41
+ for (let j = valueIndex + 1; j < tokens.length; j += 1) {
42
+ const token = tokens[j];
43
+ if (token.text === "]")
44
+ return patterns;
45
+ if (token.text === ",")
46
+ continue;
47
+ const literal = literalOf(token);
48
+ if (literal === null)
49
+ return null;
50
+ patterns.push(literal);
51
+ }
52
+ return null;
53
+ }
54
+ function webServerCommandOf(tokens, valueIndex) {
55
+ let open = valueIndex;
56
+ if (tokens[open]?.text === "[")
57
+ open += 1;
58
+ if (tokens[open]?.text !== "{")
59
+ return null;
60
+ let depth = 0;
61
+ for (let j = open; j < tokens.length; j += 1) {
62
+ const token = tokens[j];
63
+ if (token.text === "{" || token.text === "[")
64
+ depth += 1;
65
+ else if (token.text === "}" || token.text === "]") {
66
+ depth -= 1;
67
+ if (depth === 0)
68
+ return null;
69
+ }
70
+ else if (depth === 1 && keyName(token) === "command" && tokens[j + 1]?.text === ":" && (tokens[j - 1]?.text === "{" || tokens[j - 1]?.text === ",")) {
71
+ const literal = literalOf(tokens[j + 2]);
72
+ return literal !== null && endsValue(tokens[j + 3]) ? literal : null;
73
+ }
74
+ }
75
+ return null;
76
+ }
77
+ function projectNamesOf(tokens, openIndex) {
78
+ const names = [];
79
+ let depth = 0;
80
+ for (let j = openIndex; j < tokens.length; j += 1) {
81
+ const token = tokens[j];
82
+ if (token.text === "[" || token.text === "{")
83
+ depth += 1;
84
+ else if (token.text === "]" || token.text === "}") {
85
+ depth -= 1;
86
+ if (depth === 0)
87
+ break;
88
+ }
89
+ else if (depth === 2 && keyName(token) === "name" && tokens[j + 1]?.text === ":" && (tokens[j - 1]?.text === "{" || tokens[j - 1]?.text === ",")) {
90
+ const literal = literalOf(tokens[j + 2]);
91
+ if (literal !== null)
92
+ names.push(literal);
93
+ }
94
+ }
95
+ return names;
96
+ }
97
+ export function parsePlaywrightConfig(text, file) {
98
+ const tokens = tokenize(text).filter((token) => token.kind !== "comment");
99
+ const testDirs = [];
100
+ const projectNames = [];
101
+ let testDirUnreadable = false;
102
+ let testMatch = null;
103
+ let testMatchUnreadable = false;
104
+ let webServer = false;
105
+ let webServerCommand = null;
106
+ let baseUrl = false;
107
+ for (let i = 0; i < tokens.length; i += 1) {
108
+ const name = keyName(tokens[i]);
109
+ if (name === null || tokens[i + 1]?.text !== ":")
110
+ continue;
111
+ const before = tokens[i - 1]?.text;
112
+ if (before !== "{" && before !== ",")
113
+ continue;
114
+ const value = tokens[i + 2];
115
+ if (name === "testDir") {
116
+ const literal = literalOf(value);
117
+ if (literal !== null && endsValue(tokens[i + 3]))
118
+ testDirs.push(literal);
119
+ else
120
+ testDirUnreadable = true;
121
+ }
122
+ else if (name === "testMatch") {
123
+ const patterns = testMatchOf(tokens, i + 2);
124
+ if (patterns === null)
125
+ testMatchUnreadable = true;
126
+ else
127
+ testMatch = [...(testMatch ?? []), ...patterns];
128
+ }
129
+ else if (name === "webServer") {
130
+ if (value !== undefined && !ABSENT_VALUES.has(value.text)) {
131
+ webServer = true;
132
+ webServerCommand ??= webServerCommandOf(tokens, i + 2);
133
+ }
134
+ }
135
+ else if (name === "baseURL") {
136
+ if (value !== undefined && !ABSENT_VALUES.has(value.text))
137
+ baseUrl = true;
138
+ }
139
+ else if (name === "projects" && value?.text === "[") {
140
+ projectNames.push(...projectNamesOf(tokens, i + 2));
141
+ }
142
+ }
143
+ return { file, testDirs: [...new Set(testDirs)], testDirUnreadable, testMatch, testMatchUnreadable, webServer, webServerCommand, baseUrl, projectNames };
144
+ }
145
+ export function readPlaywrightConfig(directory) {
146
+ for (const name of PLAYWRIGHT_CONFIG_FILES) {
147
+ const path = join(directory, name);
148
+ const text = readTextIfPresent(path);
149
+ if (text !== null)
150
+ return parsePlaywrightConfig(text, path);
151
+ }
152
+ return parsePlaywrightConfig("", null);
153
+ }
154
+ //# sourceMappingURL=playwright-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-config.js","sourceRoot":"","sources":["../../src/testgen/playwright-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;CACxB,CAAC;AAcF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9D,SAAS,OAAO,CAAC,KAAwB;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,MAAwB,EAAE,UAAkB;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAC;QACxC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAwB,EAAE,UAAkB;IACtE,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,GAAG;QAAE,IAAI,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;aACpD,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC/B,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtJ,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,MAAwB,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;aACpD,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAM;QACzB,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACnJ,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAmB;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,SAAS,GAA6B,IAAI,CAAC;IAC/C,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG;YAAE,SAAS;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;QACnC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;gBACpE,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,QAAQ,KAAK,IAAI;gBAAE,mBAAmB,GAAG,IAAI,CAAC;;gBAC7C,SAAS,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,SAAS,GAAG,IAAI,CAAC;gBACjB,gBAAgB,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC;QAC5E,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC3J,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type FailureClass } from "./failure.ts";
2
+ export type PlaywrightInfrastructure = "browser-missing" | "web-server" | "network" | "timeout";
3
+ export declare function playwrightInfrastructure(error: unknown): PlaywrightInfrastructure | null;
4
+ export declare function classifyPlaywrightFailure(error: unknown): FailureClass;
5
+ export declare function playwrightFailureMessage(error: unknown): string;
6
+ //# sourceMappingURL=playwright-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-failure.d.ts","sourceRoot":"","sources":["../../src/testgen/playwright-failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/F,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAsChG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,GAAG,IAAI,CAQxF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAItE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/D"}
@@ -0,0 +1,62 @@
1
+ import { classifyFailure, failureMessage, stripColour } from "./failure.js";
2
+ const BROWSER_MISSING = /Executable doesn't exist|playwright install|browserType\.launch|Failed to launch|Target (?:page, context or )?browser has been closed/i;
3
+ const WEB_SERVER = /config\.webServer|webServer/;
4
+ const NETWORK = /ECONNREFUSED|ECONNRESET|ENOTFOUND|EAI_AGAIN|getaddrinfo|connect (?:EACCES|EPERM)|net::ERR_|NS_ERROR_(?:CONNECTION|NET|UNKNOWN_HOST)/;
5
+ const TIMEOUT = /Test timeout of \d+ms exceeded|Timeout \d+ms exceeded/;
6
+ const VALUE_ASSERTION_HEAD = /^(?:Error: )?expect(?:\.soft)?\(received\)/;
7
+ const ASSERTION_HEAD = /^(?:Error: )?(?:expect(?:\.soft|\.poll)?\(|AssertionError\b|\[ERR_ASSERTION\]|Expected values to be )/;
8
+ const LABELS = {
9
+ "browser-missing": "Infrastructure failure, not a test result: Playwright could not launch its browser (run `npx playwright install chromium`)",
10
+ "web-server": "Infrastructure failure, not a test result: the webServer in playwright.config did not start or stay up",
11
+ network: "Infrastructure failure, not a test result: a network connection was refused or blocked, and the sandbox denies network access",
12
+ timeout: "Infrastructure failure, not a test result: the test or a Playwright action timed out before it could assert",
13
+ };
14
+ function isBag(value) {
15
+ return typeof value === "object" && value !== null && !Array.isArray(value);
16
+ }
17
+ function textOf(value) {
18
+ return typeof value === "string" ? value : "";
19
+ }
20
+ function firstErrorText(error) {
21
+ if (!isBag(error))
22
+ return typeof error === "string" ? stripColour(error) : "";
23
+ const errors = error["errors"];
24
+ if (Array.isArray(errors) && isBag(errors[0]))
25
+ return stripColour(textOf(errors[0]["message"]));
26
+ const cause = error["cause"];
27
+ if (typeof cause === "string")
28
+ return stripColour(cause);
29
+ if (isBag(cause))
30
+ return stripColour(textOf(cause["message"]));
31
+ const messages = error["messages"];
32
+ if (Array.isArray(messages))
33
+ return stripColour(textOf(messages[0]));
34
+ return "";
35
+ }
36
+ export function playwrightInfrastructure(error) {
37
+ const text = firstErrorText(error);
38
+ if (text === "" || VALUE_ASSERTION_HEAD.test(text.trimStart()))
39
+ return null;
40
+ if (BROWSER_MISSING.test(text))
41
+ return "browser-missing";
42
+ if (WEB_SERVER.test(text))
43
+ return "web-server";
44
+ if (NETWORK.test(text))
45
+ return "network";
46
+ if (TIMEOUT.test(text))
47
+ return "timeout";
48
+ return null;
49
+ }
50
+ export function classifyPlaywrightFailure(error) {
51
+ if (playwrightInfrastructure(error) !== null)
52
+ return "other";
53
+ if (ASSERTION_HEAD.test(firstErrorText(error).trimStart()))
54
+ return "assertion";
55
+ return classifyFailure(error);
56
+ }
57
+ export function playwrightFailureMessage(error) {
58
+ const detail = failureMessage(error);
59
+ const infrastructure = playwrightInfrastructure(error);
60
+ return infrastructure === null ? detail : `${LABELS[infrastructure]}. ${detail}`;
61
+ }
62
+ //# sourceMappingURL=playwright-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-failure.js","sourceRoot":"","sources":["../../src/testgen/playwright-failure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { PlaywrightConfig } from "./playwright-config.ts";
2
+ import type { TestFrameworkProfile } from "./types.ts";
3
+ export declare const PLAYWRIGHT_NO_APP_REASON = "Playwright is configured but has no webServer or baseURL; generated end-to-end tests would need a running app";
4
+ export type BrowserFamily = "chromium" | "firefox" | "webkit";
5
+ export interface BrowserLocation {
6
+ readonly directory: string;
7
+ readonly installed: boolean;
8
+ }
9
+ export interface BrowserProvision {
10
+ locate(family: BrowserFamily, packageRoot: string): BrowserLocation;
11
+ }
12
+ export interface PlaywrightProfileInput {
13
+ readonly declaredBy: string;
14
+ readonly packageRoot: string;
15
+ readonly runRoot: string;
16
+ readonly binary: string;
17
+ readonly config: PlaywrightConfig;
18
+ readonly provision?: BrowserProvision;
19
+ }
20
+ export declare const hostBrowserProvision: BrowserProvision;
21
+ export declare function chosenProject(names: readonly string[]): string | null;
22
+ export declare function browserFamilyOf(project: string | null): BrowserFamily;
23
+ export declare function needsBrowser(testSource: string): boolean;
24
+ export declare function isInterfaceFile(sourceFile: string, text: string): boolean;
25
+ export declare function playwrightProfile(input: PlaywrightProfileInput): TestFrameworkProfile;
26
+ //# sourceMappingURL=playwright-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-profile.d.ts","sourceRoot":"","sources":["../../src/testgen/playwright-profile.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAA+C,oBAAoB,EAAW,MAAM,YAAY,CAAC;AAE7G,eAAO,MAAM,wBAAwB,kHAAkH,CAAC;AAExJ,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,CAAC;CACrE;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAuBD,eAAO,MAAM,oBAAoB,EAAE,gBAKlC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,CAIrE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAMxD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzE;AAiCD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,oBAAoB,CAsGrF"}
@@ -0,0 +1,201 @@
1
+ import { existsSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { basename, dirname, extname, isAbsolute, join, posix, relative, resolve } from "node:path";
4
+ import { classifyPlaywrightFailure, playwrightFailureMessage } from "./playwright-failure.js";
5
+ import { compileGlob, entriesOf, isInside, mapToWork, quote, readText, toPosix } from "./paths.js";
6
+ import { chooseTestModule } from "./playwright-scaffold.js";
7
+ import { bareModuleName, moduleReferences } from "./source-facts.js";
8
+ import { tokenize } from "./lexer.js";
9
+ import { STUBS } from "./stubs.js";
10
+ export const PLAYWRIGHT_NO_APP_REASON = "Playwright is configured but has no webServer or baseURL; generated end-to-end tests would need a running app";
11
+ const TYPED_EXTENSIONS = new Set([".ts", ".tsx", ".mts", ".cts"]);
12
+ const RUNNABLE_EXTENSIONS = new Set([".ts", ".tsx", ".mts", ".cts", ".js", ".jsx", ".mjs", ".cjs"]);
13
+ const INTERFACE_EXTENSIONS = new Set([".tsx", ".jsx", ".vue", ".svelte", ".astro"]);
14
+ const INTERFACE_PACKAGES = new Set(["react", "react-dom", "preact", "vue", "svelte", "solid-js", "@angular/core", "lit", "@builder.io/qwik"]);
15
+ const DEFAULT_DIRECTORIES = ["tests", "e2e", "test"];
16
+ const SPEC_INFIXES = ["spec", "test"];
17
+ const TEST_FILE = /(\.|-|_)(test|spec)\.[cm]?[jt]sx?$/;
18
+ const FIXTURE_DESTRUCTURING = /\(\s*\{[^{}]*\b(?:page|browser|context)\b[^{}]*\}\s*[,)]/;
19
+ const BROWSER_LAUNCH = /\b(?:chromium|firefox|webkit)\s*\.\s*launch\b/;
20
+ const REGEX_METACHARACTERS = /[[\]{}()*+?^$|\\]/g;
21
+ function browsersDirectory(packageRoot) {
22
+ const configured = process.env["PLAYWRIGHT_BROWSERS_PATH"];
23
+ if (configured === "0")
24
+ return join(packageRoot, "node_modules", "playwright-core", ".local-browsers");
25
+ if (configured !== undefined && configured !== "")
26
+ return resolve(configured);
27
+ if (process.platform === "darwin")
28
+ return join(homedir(), "Library", "Caches", "ms-playwright");
29
+ if (process.platform === "win32")
30
+ return join(process.env["LOCALAPPDATA"] ?? join(homedir(), "AppData", "Local"), "ms-playwright");
31
+ const cache = process.env["XDG_CACHE_HOME"];
32
+ return join(cache !== undefined && cache !== "" ? cache : join(homedir(), ".cache"), "ms-playwright");
33
+ }
34
+ export const hostBrowserProvision = {
35
+ locate(family, packageRoot) {
36
+ const directory = browsersDirectory(packageRoot);
37
+ return { directory, installed: entriesOf(directory).some((entry) => entry.startsWith(family)) };
38
+ },
39
+ };
40
+ export function chosenProject(names) {
41
+ return names.find((name) => /chromium/i.test(name)) ?? names[0] ?? null;
42
+ }
43
+ export function browserFamilyOf(project) {
44
+ if (project !== null && /firefox/i.test(project))
45
+ return "firefox";
46
+ if (project !== null && /webkit|safari/i.test(project))
47
+ return "webkit";
48
+ return "chromium";
49
+ }
50
+ export function needsBrowser(testSource) {
51
+ const code = tokenize(testSource)
52
+ .filter((token) => token.kind !== "comment")
53
+ .map((token) => token.text)
54
+ .join(" ");
55
+ return FIXTURE_DESTRUCTURING.test(code) || BROWSER_LAUNCH.test(code);
56
+ }
57
+ export function isInterfaceFile(sourceFile, text) {
58
+ if (INTERFACE_EXTENSIONS.has(extname(sourceFile).toLowerCase()))
59
+ return true;
60
+ return moduleReferences(text).some((reference) => INTERFACE_PACKAGES.has(bareModuleName(reference.specifier)));
61
+ }
62
+ function specExtension(sourceFile) {
63
+ return TYPED_EXTENSIONS.has(extname(sourceFile).toLowerCase()) ? ".ts" : ".js";
64
+ }
65
+ function relativeSpecifier(testFile, sourceFile) {
66
+ let specifier = toPosix(relative(dirname(testFile), sourceFile));
67
+ const extension = extname(specifier);
68
+ if (TYPED_EXTENSIONS.has(extension))
69
+ specifier = specifier.slice(0, -extension.length);
70
+ return specifier.startsWith(".") ? specifier : `./${specifier}`;
71
+ }
72
+ function filterArgument(path) {
73
+ return path.replace(REGEX_METACHARACTERS, "\\$&");
74
+ }
75
+ const PACKAGE_MANAGERS = new Set(["npm", "npx", "pnpm", "yarn", "bun", "bunx"]);
76
+ const ENVIRONMENT_ASSIGNMENT = /^[A-Za-z_][A-Za-z0-9_]*=/;
77
+ function webServerNote(command) {
78
+ const what = command === null ? "a webServer" : `the webServer \`${command}\``;
79
+ const executable = command?.trim().split(/\s+/).find((token) => !ENVIRONMENT_ASSIGNMENT.test(token)) ?? null;
80
+ const manager = executable !== null && PACKAGE_MANAGERS.has(executable)
81
+ ? ` Its command starts with the package manager ${executable}, which has to be visible inside the sandbox; where the sandbox withholds the package manager's own folder, the server never starts.`
82
+ : "";
83
+ return (`playwright.config declares ${what}, which this run starts inside the sandbox with network access denied; if it cannot start or be reached there, ` +
84
+ `the run is an infrastructure failure and not a test result.${manager}`);
85
+ }
86
+ export function playwrightProfile(input) {
87
+ const { declaredBy, packageRoot, runRoot, binary, config } = input;
88
+ const provision = input.provision ?? hostBrowserProvision;
89
+ const project = chosenProject(config.projectNames);
90
+ const family = browserFamilyOf(project);
91
+ const appAvailable = config.webServer || config.baseUrl;
92
+ const matchers = (config.testMatch ?? []).flatMap((pattern) => {
93
+ const compiled = compileGlob(pattern);
94
+ return compiled.ok ? [compiled.matcher] : [];
95
+ });
96
+ const specDirectory = () => {
97
+ if (config.testDirs.length > 0)
98
+ return resolve(runRoot, config.testDirs[0]);
99
+ for (const name of DEFAULT_DIRECTORIES)
100
+ if (existsSync(join(runRoot, name)))
101
+ return join(runRoot, name);
102
+ return join(runRoot, DEFAULT_DIRECTORIES[0]);
103
+ };
104
+ const matchesTestMatch = (path) => {
105
+ if (config.testMatch === null)
106
+ return TEST_FILE.test(posix.basename(toPosix(path)));
107
+ return matchers.some((matcher) => matcher.test(toPosix(path)) || matcher.test(posix.basename(toPosix(path))));
108
+ };
109
+ const specPathFor = (sourceFile) => {
110
+ const stem = basename(sourceFile, extname(sourceFile));
111
+ const directory = specDirectory();
112
+ for (const infix of SPEC_INFIXES) {
113
+ const candidate = join(directory, `${stem}.${infix}${specExtension(sourceFile)}`);
114
+ if (matchesTestMatch(candidate))
115
+ return candidate;
116
+ }
117
+ return null;
118
+ };
119
+ const configProblem = () => {
120
+ if (config.testDirUnreadable)
121
+ return "playwright.config sets testDir to an expression this verifier cannot read, so it cannot place a spec Playwright would find.";
122
+ if (config.testMatchUnreadable)
123
+ return "playwright.config sets testMatch to an expression or regular expression this verifier cannot read, so it cannot name a spec Playwright would find.";
124
+ if (config.testDirs.length > 1)
125
+ return "playwright.config declares more than one testDir, so it is unclear where a generated spec would run.";
126
+ return null;
127
+ };
128
+ const testModule = chooseTestModule({ packageRoot, runRoot, specDirectory: specDirectory(), configFile: config.file });
129
+ return {
130
+ name: "playwright",
131
+ matchesByPathSubstring: false,
132
+ declaredBy,
133
+ packageRoot,
134
+ runRoot,
135
+ dependencyDirName: "node_modules",
136
+ moduleSyntax: "esm",
137
+ scaffold: `import { test, expect } from "${testModule.specifier}";`,
138
+ ...(testModule.note === null ? {} : { scaffoldNote: testModule.note }),
139
+ classifyFailure: classifyPlaywrightFailure,
140
+ failureMessage: playwrightFailureMessage,
141
+ stubAdvice: (kind) => STUBS.playwright[kind],
142
+ isTestFile: (path) => TEST_FILE.test(posix.basename(toPosix(path))) || toPosix(path).includes("/__tests__/"),
143
+ dependencyHomes: () => [],
144
+ canRun(sourceFile) {
145
+ if (!appAvailable && isInterfaceFile(sourceFile, readText(sourceFile)))
146
+ return { ok: false, reason: PLAYWRIGHT_NO_APP_REASON };
147
+ if (!RUNNABLE_EXTENSIONS.has(extname(sourceFile).toLowerCase()))
148
+ return { ok: false, reason: `${basename(sourceFile)} is not a file type the supported test runners load.` };
149
+ const problem = configProblem();
150
+ if (problem !== null)
151
+ return { ok: false, reason: problem };
152
+ if (specPathFor(sourceFile) === null)
153
+ return { ok: false, reason: "playwright.config testMatch matches none of the spec names this verifier generates (*.spec and *.test)." };
154
+ return { ok: true };
155
+ },
156
+ testFileFor(sourceFile) {
157
+ return specPathFor(sourceFile) ?? join(specDirectory(), `${basename(sourceFile, extname(sourceFile))}.spec${specExtension(sourceFile)}`);
158
+ },
159
+ importSpecifier: relativeSpecifier,
160
+ command(request) {
161
+ if (!existsSync(binary))
162
+ return { ok: false, reason: `${binary} is no longer present.` };
163
+ if (!isInside(runRoot, request.testFile))
164
+ return { ok: false, reason: `${request.testFile} is outside ${runRoot}, where playwright.config lives.` };
165
+ const problem = configProblem();
166
+ if (problem !== null)
167
+ return { ok: false, reason: problem };
168
+ if (config.testDirs.length === 1 && !isInside(specDirectory(), request.testFile)) {
169
+ return { ok: false, reason: `${request.testFile} is outside the testDir in playwright.config, so Playwright would not find it.` };
170
+ }
171
+ if (!matchesTestMatch(request.testFile))
172
+ return { ok: false, reason: `${basename(request.testFile)} is not matched by the testMatch in playwright.config, so Playwright would run nothing.` };
173
+ const testPath = toPosix(relative(runRoot, request.testFile));
174
+ const args = [mapToWork(binary, request.repoRoot, request.workRoot), "test", "--workers=1", "--retries=0", ...(project === null ? [] : [`--project=${project}`]), filterArgument(testPath)];
175
+ const notes = [];
176
+ if (project !== null)
177
+ notes.push(`Playwright ran only the project "${project}" from playwright.config, not every project it declares.`);
178
+ if (config.webServer) {
179
+ notes.push(webServerNote(config.webServerCommand));
180
+ }
181
+ return { ok: true, cwd: mapToWork(runRoot, request.repoRoot, request.workRoot), notes, command: args.map(quote).join(" ") };
182
+ },
183
+ async prepare(request) {
184
+ if (!needsBrowser(request.testSource))
185
+ return { ok: true };
186
+ const located = provision.locate(family, packageRoot);
187
+ if (located.installed)
188
+ return { ok: true };
189
+ return {
190
+ ok: false,
191
+ reason: `The test drives a page, but Playwright's ${family} browser is not installed in ${located.directory}. ` +
192
+ `Nothing was run and nothing was verified; install it with "npx playwright install ${family}" and ask again.`,
193
+ };
194
+ },
195
+ toolchainRoots() {
196
+ const located = provision.locate(family, packageRoot);
197
+ return located.installed && isAbsolute(located.directory) ? [located.directory] : [];
198
+ },
199
+ };
200
+ }
201
+ //# sourceMappingURL=playwright-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-profile.js","sourceRoot":"","sources":["../../src/testgen/playwright-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare const SCOPED_TEST_MODULE = "@playwright/test";
2
+ export declare const UNSCOPED_TEST_MODULE = "playwright/test";
3
+ export interface TestModuleChoice {
4
+ readonly specifier: string;
5
+ readonly note: string | null;
6
+ }
7
+ export interface TestModuleInput {
8
+ readonly packageRoot: string;
9
+ readonly runRoot: string;
10
+ readonly specDirectory: string;
11
+ readonly configFile: string | null;
12
+ }
13
+ export declare function chooseTestModule(input: TestModuleInput): TestModuleChoice;
14
+ //# sourceMappingURL=playwright-scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-scaffold.d.ts","sourceRoot":"","sources":["../../src/testgen/playwright-scaffold.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAQtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAoCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAwCzE"}
@@ -0,0 +1,97 @@
1
+ import { existsSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { listEntries, readText, readTextIfPresent } from "./paths.js";
4
+ import { moduleReferences } from "./source-facts.js";
5
+ export const SCOPED_TEST_MODULE = "@playwright/test";
6
+ export const UNSCOPED_TEST_MODULE = "playwright/test";
7
+ const CANDIDATES = [SCOPED_TEST_MODULE, UNSCOPED_TEST_MODULE];
8
+ const SPEC_FILE = /(\.|-|_)(test|spec)\.[cm]?[jt]sx?$/;
9
+ const SKIPPED_DIRECTORIES = new Set(["node_modules", ".git", "dist", "build", "coverage", "test-results", "playwright-report"]);
10
+ const MAX_SPEC_FILES = 60;
11
+ const MAX_DEPTH = 6;
12
+ function specFilesUnder(directory, depth = 0, found = []) {
13
+ if (depth > MAX_DEPTH || found.length >= MAX_SPEC_FILES)
14
+ return found;
15
+ for (const entry of listEntries(directory)) {
16
+ if (found.length >= MAX_SPEC_FILES)
17
+ break;
18
+ if (entry.isDirectory()) {
19
+ if (!SKIPPED_DIRECTORIES.has(entry.name))
20
+ specFilesUnder(join(directory, entry.name), depth + 1, found);
21
+ }
22
+ else if (entry.isFile() && SPEC_FILE.test(entry.name))
23
+ found.push(join(directory, entry.name));
24
+ }
25
+ return found;
26
+ }
27
+ function candidatesImportedBy(text) {
28
+ const seen = new Set();
29
+ for (const reference of moduleReferences(text))
30
+ if (CANDIDATES.includes(reference.specifier))
31
+ seen.add(reference.specifier);
32
+ return seen;
33
+ }
34
+ function installedIn(directory, specifier) {
35
+ if (specifier === SCOPED_TEST_MODULE)
36
+ return existsSync(join(directory, "node_modules", "@playwright", "test"));
37
+ const base = join(directory, "node_modules", "playwright");
38
+ if (existsSync(join(base, "test.js")) || existsSync(join(base, "test.mjs")))
39
+ return true;
40
+ const manifest = readTextIfPresent(join(base, "package.json"));
41
+ return manifest !== null && /"\.\/test"/.test(manifest);
42
+ }
43
+ function installedAnywhereAbove(start, specifier) {
44
+ for (let dir = start;;) {
45
+ if (installedIn(dir, specifier))
46
+ return true;
47
+ const parent = dirname(dir);
48
+ if (parent === dir)
49
+ return false;
50
+ dir = parent;
51
+ }
52
+ }
53
+ export function chooseTestModule(input) {
54
+ const tally = new Map();
55
+ const files = specFilesUnder(input.specDirectory);
56
+ for (const file of files) {
57
+ for (const specifier of candidatesImportedBy(readText(file)))
58
+ tally.set(specifier, (tally.get(specifier) ?? 0) + 1);
59
+ }
60
+ let configCounted = false;
61
+ if (input.configFile !== null) {
62
+ const fromConfig = candidatesImportedBy(readText(input.configFile));
63
+ for (const specifier of fromConfig) {
64
+ tally.set(specifier, (tally.get(specifier) ?? 0) + 1);
65
+ configCounted = true;
66
+ }
67
+ }
68
+ const scoped = tally.get(SCOPED_TEST_MODULE) ?? 0;
69
+ const unscoped = tally.get(UNSCOPED_TEST_MODULE) ?? 0;
70
+ if (scoped !== unscoped) {
71
+ const specifier = scoped > unscoped ? SCOPED_TEST_MODULE : UNSCOPED_TEST_MODULE;
72
+ const count = Math.max(scoped, unscoped);
73
+ const from = `${String(count)} of the project's existing spec${count === 1 ? "" : "s"}${configCounted ? " and playwright.config" : ""}`;
74
+ return {
75
+ specifier,
76
+ note: specifier === SCOPED_TEST_MODULE ? null : `The test module "${specifier}" comes from ${from}; the default "${SCOPED_TEST_MODULE}" is not what this project imports.`,
77
+ };
78
+ }
79
+ if (scoped > 0 && scoped === unscoped)
80
+ return { specifier: SCOPED_TEST_MODULE, note: null };
81
+ const roots = [input.runRoot, input.packageRoot];
82
+ const installed = CANDIDATES.filter((specifier) => roots.some((root) => installedAnywhereAbove(root, specifier)));
83
+ if (installed.length === 1) {
84
+ const specifier = installed[0];
85
+ return {
86
+ specifier,
87
+ note: specifier === SCOPED_TEST_MODULE ? null : `The test module "${specifier}" is the one installed for this project; "${SCOPED_TEST_MODULE}" is not installed.`,
88
+ };
89
+ }
90
+ if (installed.length === 2)
91
+ return { specifier: SCOPED_TEST_MODULE, note: null };
92
+ return {
93
+ specifier: SCOPED_TEST_MODULE,
94
+ note: `The default test module "${SCOPED_TEST_MODULE}" is assumed: neither "${SCOPED_TEST_MODULE}" nor "${UNSCOPED_TEST_MODULE}" was found in the project's existing specs or its installed packages. Check that it resolves before verifying.`,
95
+ };
96
+ }
97
+ //# sourceMappingURL=playwright-scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-scaffold.js","sourceRoot":"","sources":["../../src/testgen/playwright-scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,UAAU,GAAsB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;AACjF,MAAM,SAAS,GAAG,oCAAoC,CAAC;AACvD,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACrJ,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,SAAS,GAAG,CAAC,CAAC;AAcpB,SAAS,cAAc,CAAC,SAAiB,EAAE,KAAK,GAAG,CAAC,EAAE,QAAkB,EAAE;IACxE,IAAI,KAAK,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IACtE,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc;YAAE,MAAM;QAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1G,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC;QAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5H,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,SAAiB;IACvD,IAAI,SAAS,KAAK,kBAAkB;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAChH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/D,OAAO,QAAQ,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,SAAiB;IAC9D,KAAK,IAAI,GAAG,GAAG,KAAK,IAAM,CAAC;QACzB,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACjC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACrD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxI,OAAO;YACL,SAAS;YACT,IAAI,EAAE,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,SAAS,gBAAgB,IAAI,kBAAkB,kBAAkB,qCAAqC;SAC3K,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5F,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC;QAChC,OAAO;YACL,SAAS;YACT,IAAI,EAAE,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,SAAS,6CAA6C,kBAAkB,qBAAqB;SAClK,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjF,OAAO;QACL,SAAS,EAAE,kBAAkB;QAC7B,IAAI,EAAE,4BAA4B,kBAAkB,0BAA0B,kBAAkB,UAAU,oBAAoB,iHAAiH;KAChP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../../src/testgen/stubs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAgEvF,CAAC"}
1
+ {"version":3,"file":"stubs.d.ts","sourceRoot":"","sources":["../../src/testgen/stubs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAyEvF,CAAC"}
@@ -26,6 +26,15 @@ export const STUBS = {
26
26
  filesystem: "write the file the test reads into a directory from mkdtemp(join(tmpdir(), …))",
27
27
  process: "jest.mock('<module that starts the process>')",
28
28
  },
29
+ playwright: {
30
+ time: "pass the clock in as an argument, or with a page call page.clock.install({ time: new Date('2024-01-01T00:00:00Z') }) before the code runs",
31
+ randomness: "inject a seeded generator, or with a page call page.addInitScript(() => { Math.random = () => 0.25; })",
32
+ network: "with a page call page.route('**/*', (route) => route.fulfill({ ... })) before navigating; the sandbox denies the network, so a real request fails",
33
+ database: "depend on a function the test passes a fake to; Playwright has no module mocking and no database server is reachable from the sandbox",
34
+ environment: "set process.env.NAME in the test and restore it in a finally block",
35
+ filesystem: "write the file the test reads under testInfo.outputPath(...) and pass that path in",
36
+ process: "pass in a fake for the collaborator that starts the process; Playwright has no module mocking",
37
+ },
29
38
  pytest: {
30
39
  time: "freezegun's freeze_time('2024-01-01') or time-machine, or monkeypatch.setattr('<module>.time', …) / mock.patch('<module>.datetime')",
31
40
  randomness: "random.seed(0) in the test, monkeypatch.setattr('<module>.uuid.uuid4', lambda: …), or mock.patch('<module>.random')",
@@ -1 +1 @@
1
- {"version":3,"file":"stubs.js","sourceRoot":"","sources":["../../src/testgen/stubs.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,KAAK,GAA0E;IAC1F,WAAW,EAAE;QACX,IAAI,EAAE,iHAAiH;QACvH,UAAU,EAAE,gGAAgG;QAC5G,OAAO,EAAE,uFAAuF;QAChG,QAAQ,EAAE,+DAA+D;QACzE,WAAW,EAAE,4DAA4D;QACzE,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,oDAAoD;KAC9D;IACD,MAAM,EAAE;QACN,IAAI,EAAE,4CAA4C;QAClD,UAAU,EAAE,wEAAwE;QACpF,OAAO,EAAE,iEAAiE;QAC1E,QAAQ,EAAE,wDAAwD;QAClE,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,6CAA6C;KACvD;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,gDAAgD;QACtD,UAAU,EAAE,4EAA4E;QACxF,OAAO,EAAE,mFAAmF;QAC5F,QAAQ,EAAE,0DAA0D;QACpE,WAAW,EAAE,4DAA4D;QACzE,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,+CAA+C;KACzD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qIAAqI;QAC3I,UAAU,EAAE,qHAAqH;QACjI,OAAO,EAAE,6JAA6J;QACtK,QAAQ,EAAE,0HAA0H;QACpI,WAAW,EAAE,mFAAmF;QAChG,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,wFAAwF;KAClG;IACD,KAAK,EAAE;QACL,IAAI,EAAE,8IAA8I;QACpJ,UAAU,EAAE,0GAA0G;QACtH,OAAO,EAAE,+HAA+H;QACxI,QAAQ,EAAE,6IAA6I;QACvJ,WAAW,EAAE,iIAAiI;QAC9I,UAAU,EAAE,2EAA2E;QACvF,OAAO,EAAE,oGAAoG;KAC9G;IACD,EAAE,EAAE;QACF,IAAI,EAAE,kIAAkI;QACxI,UAAU,EAAE,wGAAwG;QACpH,OAAO,EAAE,2GAA2G;QACpH,QAAQ,EAAE,+GAA+G;QACzH,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE,uEAAuE;QACnF,OAAO,EAAE,uHAAuH;KACjI;IACD,KAAK,EAAE;QACL,IAAI,EAAE,kHAAkH;QACxH,UAAU,EAAE,6GAA6G;QACzH,OAAO,EAAE,sHAAsH;QAC/H,QAAQ,EAAE,oJAAoJ;QAC9J,WAAW,EAAE,wIAAwI;QACrJ,UAAU,EAAE,sIAAsI;QAClJ,OAAO,EAAE,qFAAqF;KAC/F;CACF,CAAC"}
1
+ {"version":3,"file":"stubs.js","sourceRoot":"","sources":["../../src/testgen/stubs.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,KAAK,GAA0E;IAC1F,WAAW,EAAE;QACX,IAAI,EAAE,iHAAiH;QACvH,UAAU,EAAE,gGAAgG;QAC5G,OAAO,EAAE,uFAAuF;QAChG,QAAQ,EAAE,+DAA+D;QACzE,WAAW,EAAE,4DAA4D;QACzE,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,oDAAoD;KAC9D;IACD,MAAM,EAAE;QACN,IAAI,EAAE,4CAA4C;QAClD,UAAU,EAAE,wEAAwE;QACpF,OAAO,EAAE,iEAAiE;QAC1E,QAAQ,EAAE,wDAAwD;QAClE,WAAW,EAAE,6BAA6B;QAC1C,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,6CAA6C;KACvD;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,gDAAgD;QACtD,UAAU,EAAE,4EAA4E;QACxF,OAAO,EAAE,mFAAmF;QAC5F,QAAQ,EAAE,0DAA0D;QACpE,WAAW,EAAE,4DAA4D;QACzE,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,+CAA+C;KACzD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,2IAA2I;QACjJ,UAAU,EAAE,wGAAwG;QACpH,OAAO,EAAE,mJAAmJ;QAC5J,QAAQ,EAAE,uIAAuI;QACjJ,WAAW,EAAE,oEAAoE;QACjF,UAAU,EAAE,oFAAoF;QAChG,OAAO,EAAE,+FAA+F;KACzG;IACD,MAAM,EAAE;QACN,IAAI,EAAE,qIAAqI;QAC3I,UAAU,EAAE,qHAAqH;QACjI,OAAO,EAAE,6JAA6J;QACtK,QAAQ,EAAE,0HAA0H;QACpI,WAAW,EAAE,mFAAmF;QAChG,UAAU,EAAE,gFAAgF;QAC5F,OAAO,EAAE,wFAAwF;KAClG;IACD,KAAK,EAAE;QACL,IAAI,EAAE,8IAA8I;QACpJ,UAAU,EAAE,0GAA0G;QACtH,OAAO,EAAE,+HAA+H;QACxI,QAAQ,EAAE,6IAA6I;QACvJ,WAAW,EAAE,iIAAiI;QAC9I,UAAU,EAAE,2EAA2E;QACvF,OAAO,EAAE,oGAAoG;KAC9G;IACD,EAAE,EAAE;QACF,IAAI,EAAE,kIAAkI;QACxI,UAAU,EAAE,wGAAwG;QACpH,OAAO,EAAE,2GAA2G;QACpH,QAAQ,EAAE,+GAA+G;QACzH,WAAW,EAAE,6EAA6E;QAC1F,UAAU,EAAE,uEAAuE;QACnF,OAAO,EAAE,uHAAuH;KACjI;IACD,KAAK,EAAE;QACL,IAAI,EAAE,kHAAkH;QACxH,UAAU,EAAE,6GAA6G;QACzH,OAAO,EAAE,sHAAsH;QAC/H,QAAQ,EAAE,oJAAoJ;QAC9J,WAAW,EAAE,wIAAwI;QACrJ,UAAU,EAAE,sIAAsI;QAClJ,OAAO,EAAE,qFAAqF;KAC/F;CACF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { FailureClass } from "./failure.ts";
2
2
  import type { HazardKind } from "./source-facts.ts";
3
- export type FrameworkName = "node:test" | "vitest" | "jest" | "pytest" | "junit" | "go" | "xunit";
3
+ export type FrameworkName = "node:test" | "vitest" | "jest" | "playwright" | "pytest" | "junit" | "go" | "xunit";
4
4
  export type Verdict = {
5
5
  readonly ok: true;
6
6
  } | {
@@ -43,6 +43,7 @@ export interface TestFrameworkProfile {
43
43
  readonly dependencyDirName: string;
44
44
  readonly moduleSyntax: "esm" | "commonjs" | "none";
45
45
  readonly scaffold: string;
46
+ readonly scaffoldNote?: string;
46
47
  readonly matchesByPathSubstring: boolean;
47
48
  canRun(sourceFile: string): Verdict;
48
49
  isTestFile(path: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/testgen/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/testgen/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descryy/runtime-test-runner",
3
- "version": "0.4.14",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "description": "Test-runner observation (plan §17): discovery, start, TEST_STARTED/PASSED/FAILED, trace capture, source mapping, not-run disclosure. Three runners -- node:test, Jest, Vitest -- each observed through its own structured reporter API writing one shared envelope; no TAP or text scraping anywhere.",
6
6
  "license": "UNLICENSED",
@@ -35,8 +35,8 @@
35
35
  "@descryy/runtime-contracts": "0.4.1",
36
36
  "@descryy/runtime-backend-observation": "0.3.9",
37
37
  "@descryy/runtime-controller": "0.4.2",
38
- "@descryy/runtime-graph-correlator": "0.5.2",
39
- "@descryy/core": "0.11.0"
38
+ "@descryy/runtime-graph-correlator": "0.5.4",
39
+ "@descryy/core": "0.12.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@descryy/ir": "0.12.0"