codeloop 0.1.29 → 0.1.31
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/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +115 -44
- package/dist/commands/doctor.js.map +1 -1
- package/dist/utils/detect-project.d.ts +17 -0
- package/dist/utils/detect-project.d.ts.map +1 -1
- package/dist/utils/detect-project.js +78 -17
- package/dist/utils/detect-project.js.map +1 -1
- package/dist/utils/runtime-installer.d.ts.map +1 -1
- package/dist/utils/runtime-installer.js +7 -16
- package/dist/utils/runtime-installer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAsLA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA4iBnD"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -26,43 +26,71 @@ function commandAvailable(cmd, args = ["--version"]) {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
* the
|
|
31
|
-
* and updates the user PATH in the registry. The current PowerShell
|
|
32
|
-
* session does NOT see that PATH update — it has env vars cached from
|
|
33
|
-
* when the process started — so `where ffmpeg` keeps returning "not
|
|
34
|
-
* found" until the user opens a fresh shell from outside Cursor.
|
|
29
|
+
* Cross-OS probe for a binary that's been installed by a package manager
|
|
30
|
+
* but isn't on the *current shell's* PATH. This happens on every OS:
|
|
35
31
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
32
|
+
* - Windows: winget adds %LOCALAPPDATA%\Microsoft\WinGet\Links to the
|
|
33
|
+
* registry PATH, but env-var changes only propagate to NEW processes
|
|
34
|
+
* started by Explorer after the install completes. PowerShell
|
|
35
|
+
* sessions started before the install keep the stale PATH forever.
|
|
36
|
+
* - macOS: brew installs to /opt/homebrew/bin (Apple Silicon) or
|
|
37
|
+
* /usr/local/bin (Intel). Most users have those on PATH via
|
|
38
|
+
* `.zshrc` — but Cursor's integrated terminal sometimes spawns
|
|
39
|
+
* before .zshrc runs (depending on shell type), or the user just
|
|
40
|
+
* installed brew and hasn't restarted.
|
|
41
|
+
* - Linux: apt/dnf install to /usr/bin or /usr/local/bin, both
|
|
42
|
+
* usually on PATH but again worth probing as a fallback.
|
|
43
|
+
*
|
|
44
|
+
* Returns the absolute path + a remediation hint if found, or null if
|
|
45
|
+
* the binary really isn't installed anywhere we know how to look.
|
|
38
46
|
*/
|
|
39
|
-
function
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const exe = binary.toLowerCase().endsWith(".exe") ?
|
|
43
|
-
const localAppData = process.env.LOCALAPPDATA;
|
|
44
|
-
const programFiles = process.env.PROGRAMFILES;
|
|
45
|
-
const programFiles86 = process.env["PROGRAMFILES(X86)"];
|
|
47
|
+
function findInstalledButNotOnPath(binary) {
|
|
48
|
+
const platform_ = process.platform;
|
|
49
|
+
const isWindows = platform_ === "win32";
|
|
50
|
+
const exe = isWindows && !binary.toLowerCase().endsWith(".exe") ? `${binary}.exe` : binary;
|
|
46
51
|
const directProbes = [];
|
|
47
|
-
if (
|
|
48
|
-
|
|
52
|
+
if (isWindows) {
|
|
53
|
+
const localAppData = process.env.LOCALAPPDATA;
|
|
54
|
+
const programFiles = process.env.PROGRAMFILES;
|
|
55
|
+
const programFiles86 = process.env["PROGRAMFILES(X86)"];
|
|
56
|
+
if (localAppData) {
|
|
57
|
+
directProbes.push(join(localAppData, "Microsoft", "WinGet", "Links", exe));
|
|
58
|
+
}
|
|
59
|
+
if (programFiles) {
|
|
60
|
+
directProbes.push(join(programFiles, binary, "bin", exe));
|
|
61
|
+
}
|
|
62
|
+
if (programFiles86) {
|
|
63
|
+
directProbes.push(join(programFiles86, binary, "bin", exe));
|
|
64
|
+
}
|
|
49
65
|
}
|
|
50
|
-
if (
|
|
51
|
-
|
|
66
|
+
else if (platform_ === "darwin") {
|
|
67
|
+
// Both possible brew prefixes + the legacy MacPorts location.
|
|
68
|
+
directProbes.push(`/opt/homebrew/bin/${binary}`);
|
|
69
|
+
directProbes.push(`/usr/local/bin/${binary}`);
|
|
70
|
+
directProbes.push(`/opt/local/bin/${binary}`);
|
|
52
71
|
}
|
|
53
|
-
|
|
54
|
-
|
|
72
|
+
else {
|
|
73
|
+
// Linux: distro-managed + locally compiled + snap.
|
|
74
|
+
directProbes.push(`/usr/bin/${binary}`);
|
|
75
|
+
directProbes.push(`/usr/local/bin/${binary}`);
|
|
76
|
+
directProbes.push(`/snap/bin/${binary}`);
|
|
55
77
|
}
|
|
56
78
|
for (const p of directProbes) {
|
|
57
79
|
if (existsSync(p)) {
|
|
58
80
|
return {
|
|
59
81
|
path: p,
|
|
60
|
-
explanation:
|
|
82
|
+
explanation: isWindows
|
|
83
|
+
? "installed but not on this shell's PATH yet. Open a NEW PowerShell window from outside Cursor (Win+R → powershell) and re-run the command, or sign out and back in to refresh the user PATH."
|
|
84
|
+
: "installed but not on this shell's PATH. Restart your terminal (or run `hash -r` / `rehash`) so the new binary is picked up.",
|
|
61
85
|
};
|
|
62
86
|
}
|
|
63
87
|
}
|
|
64
|
-
//
|
|
65
|
-
|
|
88
|
+
// OS-specific deep probes: walk the package manager's install root to
|
|
89
|
+
// find binaries that aren't symlinked into the standard bin folder.
|
|
90
|
+
if (isWindows && binary.toLowerCase() === "ffmpeg") {
|
|
91
|
+
const localAppData = process.env.LOCALAPPDATA;
|
|
92
|
+
if (!localAppData)
|
|
93
|
+
return null;
|
|
66
94
|
const packages = join(localAppData, "Microsoft", "WinGet", "Packages");
|
|
67
95
|
try {
|
|
68
96
|
for (const pkgDir of readdirSync(packages)) {
|
|
@@ -165,6 +193,33 @@ export async function doctorCommand() {
|
|
|
165
193
|
results.push(check("Project agent rules", hasProjectRules, hasProjectRules
|
|
166
194
|
? `Found: ${[cursorProjectRules, claudeProjectRules].filter(existsSync).map((p) => p.replace(cwd + "/", "")).join(", ")}`
|
|
167
195
|
: "No .cursor/rules/core.mdc or CLAUDE.md found", "Run: npx codeloop init"));
|
|
196
|
+
// Claude Code project settings — drives the auto-authorize behaviour
|
|
197
|
+
// for the codeloop MCP server. If the file is missing or its
|
|
198
|
+
// permissions.allow array doesn't include codeloop, Claude Code will
|
|
199
|
+
// pop a consent dialog on every tool call. Reported as a warning only
|
|
200
|
+
// (Cursor-only users don't need this file).
|
|
201
|
+
const claudeProjectSettings = join(cwd, ".claude", "settings.local.json");
|
|
202
|
+
if (existsSync(claudeProjectSettings)) {
|
|
203
|
+
let claudeSettingsOk = false;
|
|
204
|
+
let claudeSettingsDetail = "Exists";
|
|
205
|
+
try {
|
|
206
|
+
const parsed = JSON.parse(readFileSync(claudeProjectSettings, "utf-8"));
|
|
207
|
+
const hasMcp = parsed?.mcpServers && typeof parsed.mcpServers === "object" && "codeloop" in parsed.mcpServers;
|
|
208
|
+
const allow = parsed?.permissions?.allow;
|
|
209
|
+
const allowsBash = Array.isArray(allow) && allow.some((entry) => typeof entry === "string" && entry.includes("npx"));
|
|
210
|
+
claudeSettingsOk = Boolean(hasMcp);
|
|
211
|
+
claudeSettingsDetail = hasMcp
|
|
212
|
+
? `mcpServers.codeloop configured${allowsBash ? " + permissions.allow includes npx" : " (permissions.allow may need npx for auto-authorize)"}`
|
|
213
|
+
: "File exists but mcpServers.codeloop is missing";
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
claudeSettingsDetail = "File exists but is not valid JSON";
|
|
217
|
+
}
|
|
218
|
+
results.push(check("Claude Code project settings (.claude/settings.local.json)", claudeSettingsOk, claudeSettingsDetail, "Run: npx codeloop init (regenerates the file with correct mcpServers + permissions.allow)", true));
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
results.push(check("Claude Code project settings (.claude/settings.local.json)", true, "Not present — only relevant if you use Claude Code in this project. Run `npx codeloop init` to add it."));
|
|
222
|
+
}
|
|
168
223
|
// ── Runtime Tooling (cross-OS) ──────────────────────────────────
|
|
169
224
|
// Detect project type so we can scope warnings about Playwright /
|
|
170
225
|
// adb / xcrun appropriately. A .NET-only repo doesn't need Playwright;
|
|
@@ -175,11 +230,11 @@ export async function doctorCommand() {
|
|
|
175
230
|
results.push(check("ffmpeg (video capture)", true, ffmpeg.output));
|
|
176
231
|
}
|
|
177
232
|
else {
|
|
178
|
-
//
|
|
179
|
-
// current shell doesn't see it because env vars are
|
|
180
|
-
// per-process. Probe known install locations
|
|
181
|
-
// the truth instead of a false negative.
|
|
182
|
-
const onDisk =
|
|
233
|
+
// The package manager may have already installed ffmpeg, but the
|
|
234
|
+
// current shell doesn't see it because env vars / hash tables are
|
|
235
|
+
// cached per-process. Probe known install locations on every OS so
|
|
236
|
+
// the doctor reports the truth instead of a false negative.
|
|
237
|
+
const onDisk = findInstalledButNotOnPath("ffmpeg");
|
|
183
238
|
if (onDisk) {
|
|
184
239
|
results.push(check("ffmpeg (video capture)", true, `Found at ${onDisk.path} — ${onDisk.explanation}`));
|
|
185
240
|
}
|
|
@@ -192,10 +247,19 @@ export async function doctorCommand() {
|
|
|
192
247
|
}
|
|
193
248
|
}
|
|
194
249
|
if (os === "darwin") {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
250
|
+
// xcrun / simctl are only relevant when the project actually targets
|
|
251
|
+
// iOS. A .NET-only repo, a web-only repo, or a Flutter project that
|
|
252
|
+
// only enabled `web` should not see these as warnings.
|
|
253
|
+
const needsXcrun = project.targetsIos || project.type === "xcode";
|
|
254
|
+
if (needsXcrun) {
|
|
255
|
+
const xcrun = commandAvailable("xcrun", ["--version"]);
|
|
256
|
+
results.push(check("xcrun (iOS Simulator + CLI tools)", xcrun.ok, xcrun.ok ? xcrun.output : "Not found", "xcode-select --install # then accept the Xcode license: sudo xcodebuild -license accept"));
|
|
257
|
+
const simctl = commandAvailable("xcrun", ["simctl", "help"]);
|
|
258
|
+
results.push(check("simctl (iOS Simulator control)", simctl.ok, simctl.ok ? "simctl available via xcrun" : "Not available", "Install full Xcode from the Mac App Store (Command Line Tools alone don't ship simctl).", true));
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
results.push(check("xcrun (iOS Simulator + CLI tools)", true, `Skipped — project type "${project.type}" with no ios/ target (xcrun is only needed for iOS builds)`));
|
|
262
|
+
}
|
|
199
263
|
const screencapture = commandAvailable("screencapture", ["-h"]);
|
|
200
264
|
// screencapture exits non-zero on -h but still proves it exists
|
|
201
265
|
const screencaptureOk = screencapture.ok || screencapture.output.includes("usage:");
|
|
@@ -216,20 +280,22 @@ export async function doctorCommand() {
|
|
|
216
280
|
results.push(check("PowerShell (Windows automation)", powershell, powershell ? "Available" : "Not found", "Install PowerShell 7+ from https://aka.ms/powershell — required for window/keystroke automation."));
|
|
217
281
|
}
|
|
218
282
|
// adb (Android) — only check when the project actually targets Android.
|
|
219
|
-
// For .NET / web / Flutter-iOS repos, adb is irrelevant noise.
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
283
|
+
// For .NET / web / Flutter-iOS-only repos, adb is irrelevant noise.
|
|
284
|
+
// Flutter projects with an `android/` subdir DO need adb; this used to
|
|
285
|
+
// be skipped before 0.1.30 because `project.type === "flutter"` was
|
|
286
|
+
// not in the eligibility set.
|
|
287
|
+
if (project.targetsAndroid) {
|
|
223
288
|
const adb = commandAvailable("adb", ["version"]);
|
|
224
289
|
results.push(check("adb (Android emulator support)", adb.ok, adb.ok ? adb.output : "Not found", "Install Android platform-tools: https://developer.android.com/tools/releases/platform-tools"));
|
|
225
290
|
}
|
|
226
291
|
else {
|
|
227
|
-
results.push(check("adb (Android emulator support)", true, `Skipped — project type
|
|
292
|
+
results.push(check("adb (Android emulator support)", true, `Skipped — project type "${project.type}" with no android/ target (adb is only needed for Android builds)`));
|
|
228
293
|
}
|
|
229
|
-
// Playwright runtime — only check when the project
|
|
230
|
-
//
|
|
231
|
-
//
|
|
232
|
-
|
|
294
|
+
// Playwright runtime — only check when the project ships a web target.
|
|
295
|
+
// This matches what runtime-installer.ts uses to decide whether to
|
|
296
|
+
// auto-install Playwright. Both web projects (Vite / Next / Vanilla TS
|
|
297
|
+
// with a bundler) and Flutter projects with a `web/` subdir count.
|
|
298
|
+
const isWebProject = project.targetsWeb || project.type === "web";
|
|
233
299
|
if (isWebProject) {
|
|
234
300
|
let playwrightOk = false;
|
|
235
301
|
let playwrightDetail = "Not installed";
|
|
@@ -245,7 +311,7 @@ export async function doctorCommand() {
|
|
|
245
311
|
results.push(check("Playwright (web E2E + browser interactions)", playwrightOk, playwrightDetail, "npm install -D playwright && npx playwright install chromium", true));
|
|
246
312
|
}
|
|
247
313
|
else {
|
|
248
|
-
results.push(check("Playwright (web E2E + browser interactions)", true, `Skipped — project type
|
|
314
|
+
results.push(check("Playwright (web E2E + browser interactions)", true, `Skipped — project type "${project.type}" has no web target (Playwright is only needed for browser-tested projects)`));
|
|
249
315
|
}
|
|
250
316
|
// ── Backend Reachability ────────────────────────────────────────
|
|
251
317
|
const backend = await backendReachable(BACKEND_URL);
|
|
@@ -398,10 +464,15 @@ export async function doctorCommand() {
|
|
|
398
464
|
console.log(` ${chalk.dim("3.")} INIT_HINT on responses → fires when project is not yet initialized`);
|
|
399
465
|
console.log(` ${chalk.dim("4.")} Cursor User Rules (paste) → reinforcement for proactive triggering`);
|
|
400
466
|
if (!allOk && !existsSync(cursorRulePath)) {
|
|
467
|
+
const cmdKey = process.platform === "darwin" ? "Cmd" : "Ctrl";
|
|
401
468
|
console.log("");
|
|
402
469
|
console.log(` ${chalk.dim("Tip:")} install the CodeLoop Cursor extension to skip the manual paste:`);
|
|
403
470
|
console.log(` ${chalk.cyan("npx codeloop install-cursor-extension")}`);
|
|
404
|
-
|
|
471
|
+
// Cursor does not expose a working deeplink for the User Rules
|
|
472
|
+
// sub-page (cursor://settings opens the generic VS Code settings
|
|
473
|
+
// panel, which confused users — see E2E logs / docs/troubleshooting).
|
|
474
|
+
// Give a deterministic keyboard breadcrumb instead.
|
|
475
|
+
console.log(` ${chalk.dim("or manually:")} ${chalk.cyan(`${cmdKey}+Shift+J`)} ${chalk.dim("→ Cursor Settings → Rules → User Rules → paste from")} ${chalk.cyan("~/.cursor/codeloop-user-rule.md")}`);
|
|
405
476
|
}
|
|
406
477
|
console.log(sep);
|
|
407
478
|
console.log("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
export interface ProjectInfo {
|
|
2
2
|
type: "flutter" | "web" | "mobile" | "dotnet" | "xcode" | "unknown";
|
|
3
3
|
frameworks: string[];
|
|
4
|
+
/**
|
|
5
|
+
* Whether the project ships an Android target (Flutter `android/`
|
|
6
|
+
* subdir, React Native `android/` subdir, native Gradle build, etc.).
|
|
7
|
+
* Drives the `adb` check in `doctor`.
|
|
8
|
+
*/
|
|
9
|
+
targetsAndroid: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the project ships an iOS target (Flutter `ios/` subdir,
|
|
12
|
+
* React Native `ios/` subdir, Podfile, .xcodeproj). Drives the
|
|
13
|
+
* `xcrun` + `simctl` checks in `doctor`.
|
|
14
|
+
*/
|
|
15
|
+
targetsIos: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the project ships a web target (web framework dep, Vite/Webpack
|
|
18
|
+
* config, Flutter `web/` subdir, etc.). Drives the Playwright check.
|
|
19
|
+
*/
|
|
20
|
+
targetsWeb: boolean;
|
|
4
21
|
}
|
|
5
22
|
export declare function detectProject(cwd?: string): ProjectInfo;
|
|
6
23
|
//# sourceMappingURL=detect-project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-project.d.ts","sourceRoot":"","sources":["../../src/utils/detect-project.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-project.d.ts","sourceRoot":"","sources":["../../src/utils/detect-project.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAsBD,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAsB,GAAG,WAAW,CAwGtE"}
|
|
@@ -1,11 +1,42 @@
|
|
|
1
|
-
import { existsSync, readFileSync, readdirSync } from "fs";
|
|
1
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
2
2
|
import { join } from "path";
|
|
3
|
+
/**
|
|
4
|
+
* Web framework / bundler / test-runner deps that signal a project will
|
|
5
|
+
* be exercised through a browser at verify time. Used by both the
|
|
6
|
+
* doctor (to decide whether to check Playwright) and the runtime
|
|
7
|
+
* installer (to decide whether to auto-install Playwright).
|
|
8
|
+
*/
|
|
9
|
+
const WEB_DEP_HINTS = [
|
|
10
|
+
// Major frameworks
|
|
11
|
+
"next", "react", "vue", "nuxt", "svelte", "@sveltejs/kit",
|
|
12
|
+
"angular", "@angular/core", "gatsby", "remix", "astro",
|
|
13
|
+
"solid-js", "qwik", "lit", "preact",
|
|
14
|
+
// Bundlers / dev servers used by vanilla TS / JS apps
|
|
15
|
+
"vite", "@vitejs/plugin-react", "@vitejs/plugin-vue",
|
|
16
|
+
"webpack", "webpack-dev-server", "parcel", "rollup",
|
|
17
|
+
"esbuild", "tsup", "rspack",
|
|
18
|
+
// Test runners that imply a browser
|
|
19
|
+
"@playwright/test", "playwright", "cypress",
|
|
20
|
+
"@web/test-runner", "karma",
|
|
21
|
+
];
|
|
3
22
|
export function detectProject(cwd = process.cwd()) {
|
|
4
23
|
const frameworks = [];
|
|
24
|
+
let targetsAndroid = false;
|
|
25
|
+
let targetsIos = false;
|
|
26
|
+
let targetsWeb = false;
|
|
27
|
+
// ── Flutter ───────────────────────────────────────────────────────
|
|
5
28
|
if (existsSync(join(cwd, "pubspec.yaml"))) {
|
|
6
29
|
frameworks.push("Flutter");
|
|
7
|
-
|
|
30
|
+
// `flutter create` scaffolds android/, ios/, web/, macos/, windows/,
|
|
31
|
+
// linux/ subdirs when those platforms are enabled. Detect each one
|
|
32
|
+
// independently so the doctor only checks adb/xcrun/Playwright for
|
|
33
|
+
// the platforms the developer actually targets.
|
|
34
|
+
targetsAndroid = isDir(join(cwd, "android"));
|
|
35
|
+
targetsIos = isDir(join(cwd, "ios"));
|
|
36
|
+
targetsWeb = isDir(join(cwd, "web"));
|
|
37
|
+
return { type: "flutter", frameworks, targetsAndroid, targetsIos, targetsWeb };
|
|
8
38
|
}
|
|
39
|
+
// ── Node / web ────────────────────────────────────────────────────
|
|
9
40
|
const pkgPath = join(cwd, "package.json");
|
|
10
41
|
if (existsSync(pkgPath)) {
|
|
11
42
|
try {
|
|
@@ -26,41 +57,63 @@ export function detectProject(cwd = process.cwd()) {
|
|
|
26
57
|
frameworks.push("Angular");
|
|
27
58
|
if (allDeps["react-native"]) {
|
|
28
59
|
frameworks.push("React Native");
|
|
29
|
-
|
|
60
|
+
// React Native auto-scaffolds android/ and ios/ subdirs.
|
|
61
|
+
targetsAndroid = isDir(join(cwd, "android"));
|
|
62
|
+
targetsIos = isDir(join(cwd, "ios"));
|
|
63
|
+
return { type: "mobile", frameworks, targetsAndroid, targetsIos, targetsWeb: false };
|
|
30
64
|
}
|
|
31
|
-
|
|
32
|
-
|
|
65
|
+
// Broaden web detection beyond the big-name frameworks: any of the
|
|
66
|
+
// common bundlers / dev servers / browser test runners count.
|
|
67
|
+
const hasWebDep = WEB_DEP_HINTS.some((d) => d in allDeps);
|
|
68
|
+
// Configs that imply a browser too, even without a matching dep
|
|
69
|
+
// (uncommon but possible).
|
|
70
|
+
const hasWebConfig = existsSync(join(cwd, "vite.config.ts")) ||
|
|
71
|
+
existsSync(join(cwd, "vite.config.js")) ||
|
|
72
|
+
existsSync(join(cwd, "next.config.ts")) ||
|
|
73
|
+
existsSync(join(cwd, "next.config.js")) ||
|
|
74
|
+
existsSync(join(cwd, "next.config.mjs")) ||
|
|
75
|
+
existsSync(join(cwd, "playwright.config.ts")) ||
|
|
76
|
+
existsSync(join(cwd, "playwright.config.js"));
|
|
77
|
+
if (frameworks.length > 0 || hasWebDep || hasWebConfig) {
|
|
78
|
+
targetsWeb = true;
|
|
79
|
+
return { type: "web", frameworks, targetsAndroid: false, targetsIos: false, targetsWeb: true };
|
|
33
80
|
}
|
|
34
81
|
}
|
|
35
82
|
catch {
|
|
36
83
|
// Invalid package.json
|
|
37
84
|
}
|
|
38
85
|
}
|
|
39
|
-
// .NET
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
// CocoaPods
|
|
86
|
+
// ── .NET ──────────────────────────────────────────────────────────
|
|
87
|
+
// .sln / .csproj — needs to be checked before generic mobile so that
|
|
88
|
+
// Windows .NET / WPF / WinUI projects are correctly classified and the
|
|
89
|
+
// doctor doesn't flag dotnet-only repos for Playwright / adb / CocoaPods.
|
|
43
90
|
if (hasFileWithExt(cwd, ".sln") || hasFileWithExt(cwd, ".csproj")) {
|
|
44
91
|
frameworks.push(".NET");
|
|
45
|
-
return { type: "dotnet", frameworks };
|
|
92
|
+
return { type: "dotnet", frameworks, targetsAndroid: false, targetsIos: false, targetsWeb: false };
|
|
46
93
|
}
|
|
47
|
-
// Xcode
|
|
48
|
-
//
|
|
94
|
+
// ── Xcode ─────────────────────────────────────────────────────────
|
|
95
|
+
// .xcodeproj / .xcworkspace — macOS-only; classify before the generic
|
|
96
|
+
// Podfile/Gradle branch.
|
|
49
97
|
if (hasFileWithExt(cwd, ".xcodeproj") || hasFileWithExt(cwd, ".xcworkspace")) {
|
|
50
98
|
frameworks.push("Xcode");
|
|
51
|
-
return { type: "xcode", frameworks };
|
|
99
|
+
return { type: "xcode", frameworks, targetsAndroid: false, targetsIos: true, targetsWeb: false };
|
|
52
100
|
}
|
|
101
|
+
// ── Generic mobile ────────────────────────────────────────────────
|
|
53
102
|
if (existsSync(join(cwd, "Podfile")) ||
|
|
54
103
|
existsSync(join(cwd, "build.gradle")) ||
|
|
55
104
|
existsSync(join(cwd, "build.gradle.kts"))) {
|
|
56
|
-
if (existsSync(join(cwd, "Podfile")))
|
|
105
|
+
if (existsSync(join(cwd, "Podfile"))) {
|
|
57
106
|
frameworks.push("iOS (CocoaPods)");
|
|
107
|
+
targetsIos = true;
|
|
108
|
+
}
|
|
58
109
|
if (existsSync(join(cwd, "build.gradle")) ||
|
|
59
|
-
existsSync(join(cwd, "build.gradle.kts")))
|
|
110
|
+
existsSync(join(cwd, "build.gradle.kts"))) {
|
|
60
111
|
frameworks.push("Android (Gradle)");
|
|
61
|
-
|
|
112
|
+
targetsAndroid = true;
|
|
113
|
+
}
|
|
114
|
+
return { type: "mobile", frameworks, targetsAndroid, targetsIos, targetsWeb: false };
|
|
62
115
|
}
|
|
63
|
-
return { type: "unknown", frameworks };
|
|
116
|
+
return { type: "unknown", frameworks, targetsAndroid: false, targetsIos: false, targetsWeb: false };
|
|
64
117
|
}
|
|
65
118
|
function hasFileWithExt(dir, ext) {
|
|
66
119
|
try {
|
|
@@ -70,4 +123,12 @@ function hasFileWithExt(dir, ext) {
|
|
|
70
123
|
return false;
|
|
71
124
|
}
|
|
72
125
|
}
|
|
126
|
+
function isDir(path) {
|
|
127
|
+
try {
|
|
128
|
+
return statSync(path).isDirectory();
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
73
134
|
//# sourceMappingURL=detect-project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-project.js","sourceRoot":"","sources":["../../src/utils/detect-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-project.js","sourceRoot":"","sources":["../../src/utils/detect-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-installer.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-installer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-installer.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-installer.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAiB3B;AA6OD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAuBjE"}
|
|
@@ -2,6 +2,7 @@ import { spawnSync } from "node:child_process";
|
|
|
2
2
|
import { existsSync, readFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import chalk from "chalk";
|
|
5
|
+
import { detectProject } from "./detect-project.js";
|
|
5
6
|
/**
|
|
6
7
|
* Best-effort attempt to install runtime tools the verify loop relies on:
|
|
7
8
|
* - ffmpeg (video capture, screenshot diffing)
|
|
@@ -32,22 +33,12 @@ export async function installRuntimeTools(opts) {
|
|
|
32
33
|
function looksLikeWebProject(cwd, projectType) {
|
|
33
34
|
if (projectType === "web")
|
|
34
35
|
return true;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const webFrameworks = [
|
|
42
|
-
"react", "next", "vue", "nuxt", "svelte", "@sveltejs/kit",
|
|
43
|
-
"angular", "@angular/core", "gatsby", "remix", "astro", "vite",
|
|
44
|
-
"@playwright/test", "playwright",
|
|
45
|
-
];
|
|
46
|
-
return webFrameworks.some((f) => f in deps);
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
36
|
+
// Delegate to the shared detector so the install-time and doctor-time
|
|
37
|
+
// judgements always agree. This means a Flutter project with a `web/`
|
|
38
|
+
// subdir, a Vite + Vanilla TS project, or any project with a
|
|
39
|
+
// playwright.config.ts will get Playwright auto-installed.
|
|
40
|
+
const info = detectProject(cwd);
|
|
41
|
+
return info.targetsWeb || info.type === "web";
|
|
51
42
|
}
|
|
52
43
|
// ---------------------------------------------------------------------------
|
|
53
44
|
// ffmpeg
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-installer.js","sourceRoot":"","sources":["../../src/utils/runtime-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-installer.js","sourceRoot":"","sources":["../../src/utils/runtime-installer.ts"],"names":[],"mappings":"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"}
|