chore(deps): consolidate dependabot updates (#192)

* chore(deps): consolidate dependabot updates

Bumps all pending dependency updates into one commit:

Root package:
- zod 3.25.76 → 4.3.6 (major)
- @types/node 22 → 25 (major)
- @modelcontextprotocol/sdk 1.26.0 → 1.27.1
- tsdown 0.15.12 → 0.21.4
- prettier 3.6.2 → 3.8.1
- typescript-eslint 8.48.0 → 8.57.1
- lefthook 2.0.2 → 2.1.4
- eslint/@eslint/js → 9.39.4 (kept at v9, typescript-eslint lacks v10 support)
- Regenerated lockfile to pick up transitive security fixes
  (hono, @hono/node-server, express-rate-limit, flatted, rollup,
  minimatch, ajv, qs, undici)

examples/servers/typescript:
- @modelcontextprotocol/sdk → 1.27.1
- Removed zod-to-json-schema (broken with zod v4)
- Added zod ^4 as direct dep
- Regenerated lockfile

GitHub Actions:
- actions/setup-node v4 → v6 in action.yml

Code changes for zod v4:
- ZodError.errors → ZodError.issues (src/index.ts)
- .refine() callback signature updated (src/schemas.ts)
- everything-server: replaced zodToJsonSchema with SDK's
  toJsonSchemaCompat helper (handles zod v3/v4/v4-mini)

Build fix for tsdown 0.21:
- Added --no-fixed-extension to preserve dist/index.js output
  (tsdown 0.21 defaults to .mjs for type:module packages)

* fix: include all platform binaries in lockfile

The lockfile was generated on macOS which caused npm to only resolve
darwin-arm64 entries for platform-specific optional dependencies
(esbuild, rolldown bindings). This broke npm ci on Linux CI runners.

Regenerated from a clean state to include all 26 esbuild platforms
and all 15 rolldown platform bindings.
This commit is contained in:
Paul Carleton 2026-03-24 16:18:54 +00:00 • committed by GitHub
commit 8f3994c75f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 1667 additions and 1408 deletions

View file

@ -278,7 +278,7 @@ program
} catch (error) {
if (error instanceof ZodError) {
console.error('Validation error:');
error.errors.forEach((err) => {
error.issues.forEach((err) => {
console.error(` ${err.path.join('.')}: ${err.message}`);
});
console.error('\nAvailable client scenarios:');
@ -434,7 +434,7 @@ program
} catch (error) {
if (error instanceof ZodError) {
console.error('Validation error:');
error.errors.forEach((err) => {
error.issues.forEach((err) => {
console.error(` ${err.path.join('.')}: ${err.message}`);
});
console.error('\nAvailable server scenarios:');

View file

@ -7,12 +7,9 @@ export const ClientOptionsSchema = z.object({
scenario: z
.string()
.min(1, 'Scenario cannot be empty')
.refine(
(scenario) => getScenario(scenario) !== undefined,
(scenario) => ({
message: `Unknown scenario '${scenario}'`
})
),
.refine((scenario) => getScenario(scenario) !== undefined, {
error: (iss) => `Unknown scenario '${iss.input}'`
}),
timeout: z
.string()
.transform((val) => parseInt(val, 10))
@ -33,12 +30,9 @@ export const ServerOptionsSchema = z.object({
url: z.string().url('Invalid server URL'),
scenario: z
.string()
.refine(
(scenario) => getClientScenario(scenario) !== undefined,
(scenario) => ({
message: `Unknown scenario '${scenario}'`
})
)
.refine((scenario) => getClientScenario(scenario) !== undefined, {
error: (iss) => `Unknown scenario '${iss.input}'`
})
.optional()
});
@ -49,12 +43,9 @@ export const InteractiveOptionsSchema = z.object({
scenario: z
.string()
.min(1, 'Scenario cannot be empty')
.refine(
(scenario) => getScenario(scenario) !== undefined,
(scenario) => ({
message: `Unknown scenario '${scenario}'`
})
)
.refine((scenario) => getScenario(scenario) !== undefined, {
error: (iss) => `Unknown scenario '${iss.input}'`
})
});
export type InteractiveOptions = z.infer<typeof InteractiveOptionsSchema>;