diff --git a/dist/cli/index.js b/dist/cli/index.js index 1b78e6d..b1fa3f6 100644 --- a/dist/cli/index.js +++ b/dist/cli/index.js @@ -15347,7 +15347,9 @@ function loadRegistry(p) { raw = JSON.parse(fs3.readFileSync(filePath, "utf8")); } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Failed to parse registry JSON at ${filePath}: ${msg}`); + throw new Error(`Failed to parse registry JSON at ${filePath}: ${msg}`, { + cause: err + }); } const result = WorkspaceRegistrySchema.safeParse(raw); if (!result.success) { @@ -29378,7 +29380,7 @@ function loadLastRun() { raw = JSON.parse(fs17.readFileSync(filePath, "utf8")); } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Failed to parse last-run.json: ${msg}`); + throw new Error(`Failed to parse last-run.json: ${msg}`, { cause: err }); } return validatePersistedRun(raw); } @@ -30048,7 +30050,7 @@ function readDepNames(dir) { function collectEnvNames(dir, env) { const names = /* @__PURE__ */ new Set(); for (const key of Object.keys(env)) addEnvName(names, key); - let entries = []; + let entries; try { entries = fs19.readdirSync(dir, { withFileTypes: true }); } catch { @@ -30149,7 +30151,9 @@ function scanWorkspaces(root) { entries = fs20.readdirSync(absRoot, { withFileTypes: true }); } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Cannot read workspaces root "${absRoot}": ${msg}`); + throw new Error(`Cannot read workspaces root "${absRoot}": ${msg}`, { + cause: err + }); } const workspaces = {}; for (const entry of entries) { diff --git a/dist/mcp/server.js b/dist/mcp/server.js index f6fcba8..a340e84 100644 --- a/dist/mcp/server.js +++ b/dist/mcp/server.js @@ -47005,7 +47005,9 @@ function loadRegistry(p) { raw = JSON.parse(fs2.readFileSync(filePath, "utf8")); } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Failed to parse registry JSON at ${filePath}: ${msg}`); + throw new Error(`Failed to parse registry JSON at ${filePath}: ${msg}`, { + cause: err + }); } const result = WorkspaceRegistrySchema.safeParse(raw); if (!result.success) { @@ -53020,7 +53022,7 @@ function readDepNames(dir) { function collectEnvNames(dir, env) { const names = /* @__PURE__ */ new Set(); for (const key of Object.keys(env)) addEnvName(names, key); - let entries = []; + let entries; try { entries = fs17.readdirSync(dir, { withFileTypes: true }); } catch { diff --git a/package.json b/package.json index f2b6414..8fb577c 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "zod": "^4" }, "devDependencies": { - "@eslint/js": "^9", + "@eslint/js": "^10", "@types/js-yaml": "^4", "@types/node": "^25", "esbuild": "0.28.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 189d71f..3b0ff2a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: version: 4.4.3 devDependencies: '@eslint/js': - specifier: ^9 - version: 9.39.4 + specifier: ^10 + version: 10.0.1(eslint@10.5.0) '@types/js-yaml': specifier: ^4 version: 4.0.9 @@ -376,9 +376,14 @@ packages: resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/js@9.39.4': - resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true '@eslint/object-schema@3.0.5': resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} @@ -1610,7 +1615,9 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@9.39.4': {} + '@eslint/js@10.0.1(eslint@10.5.0)': + optionalDependencies: + eslint: 10.5.0 '@eslint/object-schema@3.0.5': {} diff --git a/src/discovery/detect.ts b/src/discovery/detect.ts index aa7eb27..be09d09 100644 --- a/src/discovery/detect.ts +++ b/src/discovery/detect.ts @@ -89,7 +89,7 @@ function collectEnvNames(dir: string, env: Record): const names = new Set(); for (const key of Object.keys(env)) addEnvName(names, key); - let entries: fs.Dirent[] = []; + let entries: fs.Dirent[]; try { entries = fs.readdirSync(dir, { withFileTypes: true }); } catch { diff --git a/src/registry/init.ts b/src/registry/init.ts index ce64450..f0ce1f4 100644 --- a/src/registry/init.ts +++ b/src/registry/init.ts @@ -94,7 +94,9 @@ export function scanWorkspaces(root: string): WorkspaceRegistry { entries = fs.readdirSync(absRoot, { withFileTypes: true }); } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Cannot read workspaces root "${absRoot}": ${msg}`); + throw new Error(`Cannot read workspaces root "${absRoot}": ${msg}`, { + cause: err, + }); } const workspaces: Record = {}; diff --git a/src/registry/loader.ts b/src/registry/loader.ts index 170bc74..47c8295 100644 --- a/src/registry/loader.ts +++ b/src/registry/loader.ts @@ -19,7 +19,9 @@ export function loadRegistry(p?: string): WorkspaceRegistry { raw = JSON.parse(fs.readFileSync(filePath, "utf8")) as unknown; } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Failed to parse registry JSON at ${filePath}: ${msg}`); + throw new Error(`Failed to parse registry JSON at ${filePath}: ${msg}`, { + cause: err, + }); } const result = WorkspaceRegistrySchema.safeParse(raw); diff --git a/src/reporter/persist.ts b/src/reporter/persist.ts index ea182c7..201fc07 100644 --- a/src/reporter/persist.ts +++ b/src/reporter/persist.ts @@ -132,7 +132,7 @@ export function loadLastRun(): PersistedRun | null { raw = JSON.parse(fs.readFileSync(filePath, "utf8")) as unknown; } catch (err) { const msg = err instanceof Error ? err.message : String(err); - throw new Error(`Failed to parse last-run.json: ${msg}`); + throw new Error(`Failed to parse last-run.json: ${msg}`, { cause: err }); } return validatePersistedRun(raw);