@gate-forge/pack-playwright 0.2.0 → 0.2.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.
|
@@ -50,13 +50,39 @@ export declare function localPlaywrightCliCandidates(cwd: string): string[];
|
|
|
50
50
|
* NodeJS.ProcessEnv: a copy without any `GATEFORGE_*` keys.
|
|
51
51
|
*/
|
|
52
52
|
export declare function untrustedEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
53
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* Finds the consumer's playwright config: at the repo root first, then —
|
|
55
|
+
* only when no root-level config exists — ONE directory level deep
|
|
56
|
+
* (immediate subdirectories, dependency/build/VCS/runner directories
|
|
57
|
+
* pruned), alphabetically first match. Returns the repo-relative posix
|
|
58
|
+
* path (`'playwright.config.ts'`, or `'e2e/playwright.config.ts'` for a
|
|
59
|
+
* subdirectory project), or null when none exists.
|
|
60
|
+
*
|
|
61
|
+
* Root-level configs always win: an existing root project must keep its
|
|
62
|
+
* exact historical invocation. The nested search only extends discovery
|
|
63
|
+
* to the self-contained subdirectory layout (the config's OWN directory
|
|
64
|
+
* pins its playwright install — see {@link playwrightCliPath}).
|
|
65
|
+
*
|
|
66
|
+
* Args:
|
|
67
|
+
* cwd: absolute repo root.
|
|
68
|
+
*
|
|
69
|
+
* Returns:
|
|
70
|
+
* string | null: repo-relative posix config path, or null.
|
|
71
|
+
*/
|
|
54
72
|
export declare function findPlaywrightConfig(cwd: string): string | null;
|
|
55
73
|
/**
|
|
56
74
|
* Enumerates the consumer's playwright tests via official list mode.
|
|
57
|
-
* See the module doc for the trust boundary. The
|
|
58
|
-
*
|
|
59
|
-
*
|
|
75
|
+
* See the module doc for the trust boundary. The CLI is the consumer's
|
|
76
|
+
* own when present (the config directory's first — see
|
|
77
|
+
* {@link playwrightCliPath}); the engine's own pinned playwright (pack
|
|
78
|
+
* dependency, 1.58.2) is the fallback — no network, no npx resolution
|
|
79
|
+
* from the consumer.
|
|
80
|
+
*
|
|
81
|
+
* The child runs from the CONFIG'S directory (the way the owner runs
|
|
82
|
+
* it): a subdirectory project's config and specs load through THAT
|
|
83
|
+
* directory's node_modules, with `--config` naming the config as seen
|
|
84
|
+
* from that cwd. Root-level projects keep the exact historical
|
|
85
|
+
* invocation (repo-root cwd, auto-discovered config, no `--config`).
|
|
60
86
|
*
|
|
61
87
|
* Args:
|
|
62
88
|
* options: `cwd` (absolute repo root) and optional `timeoutMs`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/discovery/reconcile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../src/discovery/reconcile.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAwBjD,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;4DAC4D;AAC5D,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,QAAQ,EAAE,QAAQ,CAAC;IACnB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC;IACrC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAsCD,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAKlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAMtE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2B/D;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoH5B;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAKvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnE"}
|
|
@@ -18,13 +18,24 @@
|
|
|
18
18
|
*
|
|
19
19
|
* Where no playwright config exists, reconciliation is reported
|
|
20
20
|
* unavailable — that is not an error for non-playwright repositories.
|
|
21
|
+
*
|
|
22
|
+
* Subdirectory projects are first-class (monorepo/subdirectory layout):
|
|
23
|
+
* a consumer may keep playwright self-contained in ONE subdirectory
|
|
24
|
+
* (`e2e/` with its own `playwright.config.ts` and its own
|
|
25
|
+
* `node_modules/playwright`, possibly at a different version than the
|
|
26
|
+
* repo root). Enumeration therefore runs the way the OWNER runs it —
|
|
27
|
+
* from the config's directory, with the CLI found in THAT directory —
|
|
28
|
+
* because a root-level shim config that re-exports the nested config
|
|
29
|
+
* would load the nested @playwright/test through the ROOT install and
|
|
30
|
+
* die on the two-versions-of-@playwright/test conflict.
|
|
21
31
|
*/
|
|
22
32
|
import { spawn } from 'node:child_process';
|
|
23
33
|
import { createHash } from 'node:crypto';
|
|
24
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
34
|
+
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
25
35
|
import { createRequire } from 'node:module';
|
|
26
36
|
import { basename, dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
27
|
-
/** Config file names checked at the repo root
|
|
37
|
+
/** Config file names checked at the repo root and one level deep
|
|
38
|
+
* (first match wins within each directory). */
|
|
28
39
|
const PLAYWRIGHT_CONFIG_NAMES = [
|
|
29
40
|
'playwright.config.ts',
|
|
30
41
|
'playwright.config.mts',
|
|
@@ -33,6 +44,16 @@ const PLAYWRIGHT_CONFIG_NAMES = [
|
|
|
33
44
|
'playwright.config.mjs',
|
|
34
45
|
'playwright.config.cjs',
|
|
35
46
|
];
|
|
47
|
+
/** Directory names never searched for a nested playwright config
|
|
48
|
+
* (dependency trees, build output, VCS state, runner artifacts). */
|
|
49
|
+
const CONFIG_SEARCH_PRUNED_DIRS = new Set([
|
|
50
|
+
'node_modules',
|
|
51
|
+
'dist',
|
|
52
|
+
'.git',
|
|
53
|
+
'test-results',
|
|
54
|
+
'coverage',
|
|
55
|
+
'build',
|
|
56
|
+
]);
|
|
36
57
|
/** Default wall-clock bound for one `--list` invocation. */
|
|
37
58
|
export const DEFAULT_LIST_TIMEOUT_MS = 60_000;
|
|
38
59
|
/** Typed discovery failure: a playwright invocation that could not run
|
|
@@ -43,8 +64,19 @@ export class TestDiscoveryError extends Error {
|
|
|
43
64
|
this.name = 'TestDiscoveryError';
|
|
44
65
|
}
|
|
45
66
|
}
|
|
46
|
-
/**
|
|
47
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The playwright CLI of the repo being scanned, else the pack's own.
|
|
69
|
+
* Resolution order (consumer-first, subdirectory-first): the CONFIG
|
|
70
|
+
* DIRECTORY's own install (a subdirectory project pins the playwright
|
|
71
|
+
* version its config and specs load through — running any other version
|
|
72
|
+
* against it dies with the two-versions-of-@playwright/test conflict),
|
|
73
|
+
* then the repo root's, then the pack's own.
|
|
74
|
+
*
|
|
75
|
+
* Args:
|
|
76
|
+
* cwd: absolute repo root.
|
|
77
|
+
* configDir: config directory repo-relative (`'.'` for root-level).
|
|
78
|
+
*/
|
|
79
|
+
function playwrightCliPath(cwd, configDir) {
|
|
48
80
|
// CONSUMER-FIRST resolution: a consumer repo pins its own
|
|
49
81
|
// playwright/@playwright/test version (its config and specs load
|
|
50
82
|
// through it). Running the pack's CLI against a consumer whose local
|
|
@@ -53,8 +85,9 @@ function playwrightCliPath(cwd) {
|
|
|
53
85
|
// (consumer migration, E22). The pack's CLI remains the fallback
|
|
54
86
|
// (fixture repos symlink the monorepo node_modules, so they resolve
|
|
55
87
|
// to the same bytes either way).
|
|
56
|
-
|
|
57
|
-
|
|
88
|
+
const searchRoots = configDir !== '.' ? [join(cwd, configDir), cwd] : [cwd];
|
|
89
|
+
for (const searchRoot of searchRoots) {
|
|
90
|
+
for (const candidate of localPlaywrightCliCandidates(searchRoot)) {
|
|
58
91
|
if (existsSync(candidate))
|
|
59
92
|
return candidate;
|
|
60
93
|
}
|
|
@@ -93,13 +126,55 @@ export function untrustedEnv(env) {
|
|
|
93
126
|
}
|
|
94
127
|
return child;
|
|
95
128
|
}
|
|
96
|
-
/**
|
|
129
|
+
/**
|
|
130
|
+
* Finds the consumer's playwright config: at the repo root first, then —
|
|
131
|
+
* only when no root-level config exists — ONE directory level deep
|
|
132
|
+
* (immediate subdirectories, dependency/build/VCS/runner directories
|
|
133
|
+
* pruned), alphabetically first match. Returns the repo-relative posix
|
|
134
|
+
* path (`'playwright.config.ts'`, or `'e2e/playwright.config.ts'` for a
|
|
135
|
+
* subdirectory project), or null when none exists.
|
|
136
|
+
*
|
|
137
|
+
* Root-level configs always win: an existing root project must keep its
|
|
138
|
+
* exact historical invocation. The nested search only extends discovery
|
|
139
|
+
* to the self-contained subdirectory layout (the config's OWN directory
|
|
140
|
+
* pins its playwright install — see {@link playwrightCliPath}).
|
|
141
|
+
*
|
|
142
|
+
* Args:
|
|
143
|
+
* cwd: absolute repo root.
|
|
144
|
+
*
|
|
145
|
+
* Returns:
|
|
146
|
+
* string | null: repo-relative posix config path, or null.
|
|
147
|
+
*/
|
|
97
148
|
export function findPlaywrightConfig(cwd) {
|
|
98
149
|
for (const name of PLAYWRIGHT_CONFIG_NAMES) {
|
|
99
150
|
const path = join(cwd, name);
|
|
100
151
|
if (existsSync(path))
|
|
101
152
|
return name;
|
|
102
153
|
}
|
|
154
|
+
let names;
|
|
155
|
+
try {
|
|
156
|
+
names = readdirSync(cwd);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return null; // unreadable root: the root-level search already came up empty
|
|
160
|
+
}
|
|
161
|
+
const subdirs = names
|
|
162
|
+
.filter((name) => !CONFIG_SEARCH_PRUNED_DIRS.has(name))
|
|
163
|
+
.filter((name) => {
|
|
164
|
+
try {
|
|
165
|
+
return statSync(join(cwd, name)).isDirectory();
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
return false; // unreadable entry: invisible, never a search failure
|
|
169
|
+
}
|
|
170
|
+
})
|
|
171
|
+
.sort();
|
|
172
|
+
for (const dir of subdirs) {
|
|
173
|
+
for (const name of PLAYWRIGHT_CONFIG_NAMES) {
|
|
174
|
+
if (existsSync(join(cwd, dir, name)))
|
|
175
|
+
return `${dir}/${name}`;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
103
178
|
return null;
|
|
104
179
|
}
|
|
105
180
|
/** Converts an absolute path to repo-root-relative posix form. */
|
|
@@ -109,9 +184,17 @@ function toRepoRelative(cwd, path) {
|
|
|
109
184
|
}
|
|
110
185
|
/**
|
|
111
186
|
* Enumerates the consumer's playwright tests via official list mode.
|
|
112
|
-
* See the module doc for the trust boundary. The
|
|
113
|
-
*
|
|
114
|
-
*
|
|
187
|
+
* See the module doc for the trust boundary. The CLI is the consumer's
|
|
188
|
+
* own when present (the config directory's first — see
|
|
189
|
+
* {@link playwrightCliPath}); the engine's own pinned playwright (pack
|
|
190
|
+
* dependency, 1.58.2) is the fallback — no network, no npx resolution
|
|
191
|
+
* from the consumer.
|
|
192
|
+
*
|
|
193
|
+
* The child runs from the CONFIG'S directory (the way the owner runs
|
|
194
|
+
* it): a subdirectory project's config and specs load through THAT
|
|
195
|
+
* directory's node_modules, with `--config` naming the config as seen
|
|
196
|
+
* from that cwd. Root-level projects keep the exact historical
|
|
197
|
+
* invocation (repo-root cwd, auto-discovered config, no `--config`).
|
|
115
198
|
*
|
|
116
199
|
* Args:
|
|
117
200
|
* options: `cwd` (absolute repo root) and optional `timeoutMs`
|
|
@@ -126,8 +209,8 @@ function toRepoRelative(cwd, path) {
|
|
|
126
209
|
* timeout, or stdout is not parseable reporter JSON.
|
|
127
210
|
*/
|
|
128
211
|
export async function listNativePlaywrightTests(options) {
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
212
|
+
const configPath = findPlaywrightConfig(options.cwd);
|
|
213
|
+
if (configPath === null) {
|
|
131
214
|
return {
|
|
132
215
|
status: 'unavailable',
|
|
133
216
|
detail: 'reconciliation: unavailable — no playwright config (not an error for non-playwright repos)',
|
|
@@ -135,10 +218,16 @@ export async function listNativePlaywrightTests(options) {
|
|
|
135
218
|
errors: [],
|
|
136
219
|
};
|
|
137
220
|
}
|
|
221
|
+
// The config directory, repo-relative ('.' for a root-level config).
|
|
222
|
+
const configDir = dirname(configPath);
|
|
223
|
+
const childCwd = join(options.cwd, configDir);
|
|
138
224
|
const timeoutMs = options.timeoutMs ?? DEFAULT_LIST_TIMEOUT_MS;
|
|
139
|
-
const cli = playwrightCliPath(options.cwd);
|
|
140
|
-
const
|
|
141
|
-
|
|
225
|
+
const cli = playwrightCliPath(options.cwd, configDir);
|
|
226
|
+
const args = [cli, 'test', '--list', '--reporter=json'];
|
|
227
|
+
if (configDir !== '.')
|
|
228
|
+
args.push('--config', basename(configPath));
|
|
229
|
+
const child = spawn(process.execPath, args, {
|
|
230
|
+
cwd: childCwd,
|
|
142
231
|
env: untrustedEnv(process.env),
|
|
143
232
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
144
233
|
});
|
|
@@ -179,7 +268,14 @@ export async function listNativePlaywrightTests(options) {
|
|
|
179
268
|
throw new TestDiscoveryError(`playwright --list produced unparseable output (exit ${String(outcome.code)}): ` +
|
|
180
269
|
`${(outcome.stderr || outcome.stdout).slice(0, 400)}`);
|
|
181
270
|
}
|
|
182
|
-
|
|
271
|
+
// The runner reports files relative to ITS rootDir — the config
|
|
272
|
+
// directory's rootDir when the document omits one. Resolve against the
|
|
273
|
+
// CHILD's cwd (the config directory), then normalize to repo-relative:
|
|
274
|
+
// a subdirectory project's enumerated files ('scenarios/x.spec.ts'
|
|
275
|
+
// from that project's view) must carry the config-directory prefix
|
|
276
|
+
// ('e2e/scenarios/x.spec.ts') to reconcile against the static scan's
|
|
277
|
+
// repo-relative rows.
|
|
278
|
+
const rootDir = document.config?.rootDir !== undefined ? resolve(childCwd, document.config.rootDir) : childCwd;
|
|
183
279
|
const instances = [];
|
|
184
280
|
const walkSuites = (suites, describeStack, file) => {
|
|
185
281
|
for (const suite of suites) {
|
|
@@ -218,9 +314,10 @@ export async function listNativePlaywrightTests(options) {
|
|
|
218
314
|
};
|
|
219
315
|
walkSuites(document.suites ?? [], [], null);
|
|
220
316
|
const errors = (document.errors ?? []).map((error) => error.message ?? String(error));
|
|
317
|
+
const configDetail = configDir !== '.' ? ` (cwd '${configDir}')` : '';
|
|
221
318
|
return {
|
|
222
319
|
status: 'discovered',
|
|
223
|
-
detail: `native playwright --list over '${
|
|
320
|
+
detail: `native playwright --list over '${configPath}'${configDetail} enumerated ${String(instances.length)} instance(s) as untrusted code (no GATEFORGE_* env)`,
|
|
224
321
|
instances,
|
|
225
322
|
errors,
|
|
226
323
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/discovery/reconcile.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/discovery/reconcile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gate-forge/pack-playwright",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Gateforge Playwright evidence pack: loopback witness service, engine-side adapter execution, trusted evidence fixture, verdict reporter.",
|
|
6
6
|
"type": "module",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"test": "vitest run"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@gate-forge/core": "^0.
|
|
47
|
+
"@gate-forge/core": "^0.2.0",
|
|
48
48
|
"playwright": "1.58.2",
|
|
49
49
|
"typescript": "^5.9.2",
|
|
50
50
|
"yaml": "^2.8.1"
|