openspec-playwright 0.3.76 → 0.3.77
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.
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/shared/app-detect.d.ts +14 -3
- package/dist/shared/app-detect.js +162 -8
- package/dist/shared/app-detect.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -195,7 +195,7 @@ Browser exploration is provided out of the box by Playwright MCP and `openspec-p
|
|
|
195
195
|
2. Installs the E2E command for each detected editor (`/opsx:e2e` for Claude Code, `/opsx-e2e` for OpenCode, Cline, Cursor, Pi, Oh My Pi, and DeepSeek Harness; Cursor also gets an Agent Skill)
|
|
196
196
|
3. Generates `tests/playwright/seed.spec.ts`, `auth.setup.ts`, `credentials.yaml`, `app-knowledge.md`, `pages/BasePage.ts`
|
|
197
197
|
4. Generates `playwright.config.ts` with automatic dev script and port detection (Vite/Next/Nuxt/Astro, `.env`, and `--port`)
|
|
198
|
-
5. Detects a frontend signal (framework
|
|
198
|
+
5. Detects a frontend signal (layered detection: framework config files → framework dependencies → frontend dev commands, plus monorepo workspace member detection so a pnpm/npm workspace with the frontend in `apps/*` is recognized); with none found, prints guidance in the Summary — run `openspec-pw init` in the app directory (monorepo), or use Playwright's `request` fixture for API-only projects
|
|
199
199
|
|
|
200
200
|
> **Note**: After running `openspec-pw init`, manually install Playwright browsers: `npx playwright install --with-deps`
|
|
201
201
|
|
package/README.zh-CN.md
CHANGED
|
@@ -183,7 +183,7 @@ openspec-pw uninstall # 移除项目中的集成
|
|
|
183
183
|
1. 检测项目中的受支持编辑器(Claude Code 和/或 OpenCode 和/或 Cline 和/或 Cursor 和/或 Pi 和/或 Oh My Pi 和/或 DeepSeek Harness;Pi、Oh My Pi 与 DeepSeek Harness 也会通过全局配置目录 `~/.pi/agent/` / `~/.omp/agent/` / `~/.dsh/` 检测)
|
|
184
184
|
2. 为每个检测到的编辑器安装 E2E 命令(Claude Code 用 `/opsx:e2e`,OpenCode / Cline / Cursor / Pi / Oh My Pi / DeepSeek Harness 用 `/opsx-e2e`;Cursor 另装 Agent Skill)
|
|
185
185
|
3. 生成 `tests/playwright/seed.spec.ts`、`auth.setup.ts`、`credentials.yaml`、`app-knowledge.md`、`pages/BasePage.ts`
|
|
186
|
-
4.
|
|
186
|
+
4. 检测前端信号(分层检测:框架配置文件 → 前端框架依赖 → dev 命令关键词,含 monorepo workspace 成员检测——前端在 `apps/*` 的 pnpm/npm workspace 也能识别);未检测到时在 Summary 打印引导提示——monorepo 去应用目录运行 `openspec-pw init`,纯 API 项目用 Playwright `request` fixture
|
|
187
187
|
|
|
188
188
|
## 首次配置清单
|
|
189
189
|
|
|
@@ -2,6 +2,9 @@ export interface PackageJson {
|
|
|
2
2
|
scripts?: Record<string, string>;
|
|
3
3
|
dependencies?: Record<string, string>;
|
|
4
4
|
devDependencies?: Record<string, string>;
|
|
5
|
+
workspaces?: string[] | {
|
|
6
|
+
packages?: string[];
|
|
7
|
+
};
|
|
5
8
|
}
|
|
6
9
|
export interface AppServerDetection {
|
|
7
10
|
projectRoot: string;
|
|
@@ -20,11 +23,19 @@ export declare function findNpmRoot(projectRoot: string, maxDepth?: number): str
|
|
|
20
23
|
export declare function chooseDevScript(scripts: Record<string, string>): string | undefined;
|
|
21
24
|
export declare function parsePort(text: string): number | undefined;
|
|
22
25
|
/**
|
|
23
|
-
* Detect whether the project has frontend code
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
+
* Detect whether the project has frontend code — layered signals, specific
|
|
27
|
+
* first, stop on first hit:
|
|
28
|
+
* 1. framework config files at the project/npm root (strongest);
|
|
29
|
+
* 2. framework dependencies in the package.json located by findNpmRoot
|
|
30
|
+
* (same source as detectAppServer, so monorepo conclusions match);
|
|
31
|
+
* 3. dev-script command keywords;
|
|
32
|
+
* 4. monorepo workspace members (bounded scan) — frontend code commonly
|
|
33
|
+
* lives in member packages (e.g. pnpm apps/*) whose root package.json
|
|
34
|
+
* carries no frontend deps at all.
|
|
26
35
|
* Returns null when no readable package.json is found at the located root —
|
|
27
36
|
* callers skip the hint in that case (detection skipped, not "no frontend").
|
|
37
|
+
* Deliberately biased toward "frontend": a false positive costs one extra
|
|
38
|
+
* MCP install (--no-mcp skips it); a false negative silently skips the MCP.
|
|
28
39
|
*/
|
|
29
40
|
export declare function hasFrontendSignal(projectRoot: string): boolean | null;
|
|
30
41
|
export declare function detectAppServer(projectRoot: string, env?: NodeJS.ProcessEnv): AppServerDetection;
|
|
@@ -158,24 +158,178 @@ const FRONTEND_FRAMEWORK_DEPS = [
|
|
|
158
158
|
// Frontend dev-command keywords — substring match on scripts.dev (command
|
|
159
159
|
// text is naturally matched by inclusion).
|
|
160
160
|
const FRONTEND_DEV_COMMAND_KEYWORDS = ["vite", "next", "nuxt", "svelte-kit", "astro"];
|
|
161
|
+
// Framework config files — the strongest zero-ambiguity signal: presence at
|
|
162
|
+
// a project/npm root means "frontend" even when dependencies live elsewhere
|
|
163
|
+
// (monorepo roots commonly hold no frontend deps at all).
|
|
164
|
+
const FRONTEND_CONFIG_FILES = [
|
|
165
|
+
"vite.config.js", "vite.config.ts", "vite.config.mjs",
|
|
166
|
+
"next.config.js", "next.config.ts", "next.config.mjs",
|
|
167
|
+
"nuxt.config.js", "nuxt.config.ts", "nuxt.config.mjs",
|
|
168
|
+
"angular.json",
|
|
169
|
+
"svelte.config.js", "svelte.config.ts",
|
|
170
|
+
"astro.config.js", "astro.config.mjs", "astro.config.ts",
|
|
171
|
+
"vue.config.js", "vue.config.ts",
|
|
172
|
+
"remix.config.js", "remix.config.ts",
|
|
173
|
+
];
|
|
174
|
+
// Workspace-scan bounds (spec: frontend-signal-detection): never walk deeper
|
|
175
|
+
// than 3 directory levels and never inspect more than 50 member package.jsons
|
|
176
|
+
// — guards against unbounded scans on huge repos.
|
|
177
|
+
const WORKSPACE_SCAN_MAX_DEPTH = 3;
|
|
178
|
+
const WORKSPACE_SCAN_MAX_MEMBERS = 50;
|
|
179
|
+
function hasFrontendConfigFile(dir) {
|
|
180
|
+
return FRONTEND_CONFIG_FILES.some((file) => existsSync(join(dir, file)));
|
|
181
|
+
}
|
|
182
|
+
function packageHasFrontendDeps(pkg) {
|
|
183
|
+
return FRONTEND_FRAMEWORK_DEPS.some((name) => dependencyExists(pkg, name));
|
|
184
|
+
}
|
|
161
185
|
/**
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
186
|
+
* Workspace member globs for a detected monorepo, or null when the project
|
|
187
|
+
* is not a detectable workspace. An empty array means "workspace but no
|
|
188
|
+
* member globs discoverable" (marker files only) — the caller falls back to
|
|
189
|
+
* a bounded tree scan. Reads pnpm-workspace.yaml naively (list items only)
|
|
190
|
+
* and package.json workspaces (array or {packages} form); turbo/nx/lerna/
|
|
191
|
+
* rush markers carry no member list at all.
|
|
192
|
+
*/
|
|
193
|
+
function workspaceGlobPatterns(root, pkg) {
|
|
194
|
+
const pnpmYaml = join(root, "pnpm-workspace.yaml");
|
|
195
|
+
let isWorkspace = false;
|
|
196
|
+
if (existsSync(pnpmYaml)) {
|
|
197
|
+
isWorkspace = true;
|
|
198
|
+
try {
|
|
199
|
+
const patterns = readFileSync(pnpmYaml, "utf-8")
|
|
200
|
+
.split(/\r?\n/)
|
|
201
|
+
.filter((line) => /^\s*-/.test(line))
|
|
202
|
+
.map((line) => line.replace(/^\s*-\s*/, "").trim().replace(/^['"]|['"]$/g, ""))
|
|
203
|
+
.filter((pattern) => pattern.length > 0);
|
|
204
|
+
if (patterns.length > 0)
|
|
205
|
+
return patterns;
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// unreadable → fall through to the other markers
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (Array.isArray(pkg.workspaces))
|
|
212
|
+
return pkg.workspaces;
|
|
213
|
+
const wsPackages = pkg.workspaces?.packages;
|
|
214
|
+
if (Array.isArray(wsPackages))
|
|
215
|
+
return wsPackages;
|
|
216
|
+
for (const marker of ["turbo.json", "nx.json", "lerna.json", "rush.json"]) {
|
|
217
|
+
if (existsSync(join(root, marker)))
|
|
218
|
+
return [];
|
|
219
|
+
}
|
|
220
|
+
return isWorkspace ? [] : null;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Expand member globs ("apps/*", "packages/**", "apps/web") into candidate
|
|
224
|
+
* member directories. Supports only the simple forms — an exact path, or a
|
|
225
|
+
* star-wildcard in the last segment. Anything else (leading/middle wildcards)
|
|
226
|
+
* returns null so the caller falls back to a bounded tree scan.
|
|
227
|
+
*/
|
|
228
|
+
function resolveMemberDirs(root, patterns) {
|
|
229
|
+
const dirs = [];
|
|
230
|
+
for (const raw of patterns) {
|
|
231
|
+
const pattern = raw.replace(/^\.\//, "").replace(/\/+$/, "");
|
|
232
|
+
if (pattern === "")
|
|
233
|
+
continue;
|
|
234
|
+
const segments = pattern.split("/");
|
|
235
|
+
const last = segments.length - 1;
|
|
236
|
+
if (segments.some((seg, i) => i !== last && seg.includes("*")))
|
|
237
|
+
return null;
|
|
238
|
+
if (segments[last].includes("*")) {
|
|
239
|
+
const baseDir = join(root, ...segments.slice(0, last));
|
|
240
|
+
if (!existsSync(baseDir))
|
|
241
|
+
continue;
|
|
242
|
+
try {
|
|
243
|
+
for (const entry of readdirSync(baseDir, { withFileTypes: true })) {
|
|
244
|
+
if (!entry.isDirectory() || entry.name.startsWith(".") || entry.name === "node_modules")
|
|
245
|
+
continue;
|
|
246
|
+
dirs.push(join(baseDir, entry.name));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// unreadable base directory — skip this pattern
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
dirs.push(join(root, ...segments)); // exact member path
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return dirs;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Bounded scan of member candidate dirs for frontend deps or config files.
|
|
261
|
+
* Each seed gets `budget` directory levels below it; at most
|
|
262
|
+
* WORKSPACE_SCAN_MAX_MEMBERS member package.jsons are inspected. Skips
|
|
263
|
+
* node_modules and dot-directories (same convention as findNpmRoot).
|
|
264
|
+
*/
|
|
265
|
+
function hasFrontendInDirs(seeds, budget) {
|
|
266
|
+
let checked = 0;
|
|
267
|
+
const visit = (dir, remaining) => {
|
|
268
|
+
if (remaining < 0 || checked >= WORKSPACE_SCAN_MAX_MEMBERS)
|
|
269
|
+
return false;
|
|
270
|
+
const pkg = readPackageJson(join(dir, "package.json"));
|
|
271
|
+
if (pkg)
|
|
272
|
+
checked++;
|
|
273
|
+
if ((pkg !== null && packageHasFrontendDeps(pkg)) || hasFrontendConfigFile(dir))
|
|
274
|
+
return true;
|
|
275
|
+
if (remaining === 0)
|
|
276
|
+
return false;
|
|
277
|
+
let entries;
|
|
278
|
+
try {
|
|
279
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
return false;
|
|
283
|
+
}
|
|
284
|
+
for (const entry of entries) {
|
|
285
|
+
if (!entry.isDirectory() || entry.name.startsWith(".") || entry.name === "node_modules")
|
|
286
|
+
continue;
|
|
287
|
+
if (visit(join(dir, entry.name), remaining - 1))
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
return false;
|
|
291
|
+
};
|
|
292
|
+
for (const seed of seeds) {
|
|
293
|
+
if (visit(seed, budget))
|
|
294
|
+
return true;
|
|
295
|
+
}
|
|
296
|
+
return false;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Detect whether the project has frontend code — layered signals, specific
|
|
300
|
+
* first, stop on first hit:
|
|
301
|
+
* 1. framework config files at the project/npm root (strongest);
|
|
302
|
+
* 2. framework dependencies in the package.json located by findNpmRoot
|
|
303
|
+
* (same source as detectAppServer, so monorepo conclusions match);
|
|
304
|
+
* 3. dev-script command keywords;
|
|
305
|
+
* 4. monorepo workspace members (bounded scan) — frontend code commonly
|
|
306
|
+
* lives in member packages (e.g. pnpm apps/*) whose root package.json
|
|
307
|
+
* carries no frontend deps at all.
|
|
165
308
|
* Returns null when no readable package.json is found at the located root —
|
|
166
309
|
* callers skip the hint in that case (detection skipped, not "no frontend").
|
|
310
|
+
* Deliberately biased toward "frontend": a false positive costs one extra
|
|
311
|
+
* MCP install (--no-mcp skips it); a false negative silently skips the MCP.
|
|
167
312
|
*/
|
|
168
313
|
export function hasFrontendSignal(projectRoot) {
|
|
169
314
|
const npmRoot = findNpmRoot(projectRoot);
|
|
170
315
|
const pkg = readPackageJson(join(npmRoot, "package.json"));
|
|
171
316
|
if (!pkg)
|
|
172
317
|
return null;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
318
|
+
if (hasFrontendConfigFile(projectRoot) || (npmRoot !== projectRoot && hasFrontendConfigFile(npmRoot)))
|
|
319
|
+
return true;
|
|
320
|
+
if (packageHasFrontendDeps(pkg))
|
|
321
|
+
return true;
|
|
177
322
|
const dev = pkg.scripts?.dev ?? "";
|
|
178
|
-
|
|
323
|
+
if (FRONTEND_DEV_COMMAND_KEYWORDS.some((kw) => dev.includes(kw)))
|
|
324
|
+
return true;
|
|
325
|
+
const patterns = workspaceGlobPatterns(projectRoot, pkg);
|
|
326
|
+
if (patterns === null)
|
|
327
|
+
return false;
|
|
328
|
+
const memberDirs = resolveMemberDirs(projectRoot, patterns);
|
|
329
|
+
if (memberDirs !== null && memberDirs.length > 0) {
|
|
330
|
+
return hasFrontendInDirs(memberDirs, WORKSPACE_SCAN_MAX_DEPTH - 1);
|
|
331
|
+
}
|
|
332
|
+
return hasFrontendInDirs([projectRoot], WORKSPACE_SCAN_MAX_DEPTH);
|
|
179
333
|
}
|
|
180
334
|
export function detectAppServer(projectRoot, env = process.env) {
|
|
181
335
|
const npmRoot = findNpmRoot(projectRoot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-detect.js","sourceRoot":"","sources":["../../src/shared/app-detect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-detect.js","sourceRoot":"","sources":["../../src/shared/app-detect.ts"],"names":[],"mappings":"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"}
|