Skip to content

chore(deps): clear npm security alerts in examples/demos#958

Open
alexluong wants to merge 2 commits into
depsfrom
chore/demos-deps
Open

chore(deps): clear npm security alerts in examples/demos#958
alexluong wants to merge 2 commits into
depsfrom
chore/demos-deps

Conversation

@alexluong

@alexluong alexluong commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Stacked on #940. Bumps every dependency in the two demo apps under examples/demos/ to latest, and clears all actionable npm Dependabot alerts. Merge after #940.

nodejs

  • All deps to latest: @aws-sdk/client-sqs, amqplib 0.10→2, dotenv 16→17, typescript 5→6, @types/node 22→25, @hookdeck/outpost-sdk 1.0→1.4, @google-cloud/pubsub v4→v5.
  • Swap the abandoned esrun TS runner for tsx (drop-in; smoke-tested). esrun pinned a vulnerable esbuild and npm's only "fix" was a bogus 0.0.1 downgrade.
  • Clears 3 criticals (protobufjs, form-data, fast-xml-parser) and all highs. The SDK bump also fixes a stale typecheck error in publish-api.ts.
  • Verified: typecheck clean, scripts run under tsx.

dashboard-integration

  • All deps to latest, including next 15→16, react 19.2, typescript 5→6, zod/pg/winston/lucide-react/etc.
  • Clears the Next.js RCE critical and 4 highs.
  • next 16 migration work:
    • Turbopack root: next 16 defaults to Turbopack, which scoped resolution to the demo dir and couldn't follow the symlinked @hookdeck/outpost-sdk (file: link to ../../../sdks/outpost-typescript). Set turbopack.root to the repo root.
    • ESLint flat config: migrated off the FlatCompat/@eslint/eslintrc shim (throws a circular-config error under config-next 16) to config-next 16's native flat exports; dropped @eslint/eslintrc.
    • eslint kept at ^9 — config-next 16 breaks under eslint 10.
    • react-hooks/set-state-in-effect (new error in config-next 16) set to warn, matching the demo's existing relaxed lint posture.
    • Fixed a pre-existing type error: events.list() returns EventPaginatedResult directly (.models), not wrapped in .result.
  • Verified: next build and eslint both pass.

Residual (no real upstream fix)

  • nodejs: 2 transitive OpenTelemetry moderates via pubsub.
  • dashboard-integration: 3 moderates (next, next-auth, postcss) — advisory ranges include the latest stable; only canary/major-downgrade "fixes" exist.

sdks/*, website/, internal/portal/, docs/, and examples/sdk-* alerts remain out of scope.

alexluong and others added 2 commits June 16, 2026 21:18
dashboard-integration: next 15.5.2 -> 15.5.19 (+ eslint-config-next),
clearing the Next.js RCE critical and 4 highs. Three moderates remain
that only have next-16 fixes (one vendored inside next).

nodejs: @google-cloud/pubsub v4 -> v5 and swap the abandoned esrun TS
runner for tsx. Clears 3 criticals (protobufjs, form-data,
fast-xml-parser) and all highs. Two residual transitive otel moderates
have no real upstream fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Take both demo apps to the latest of every dependency.

nodejs: @aws-sdk/client-sqs, amqplib 0.10->2, dotenv 16->17,
typescript 5->6, @types/node 22->25, @hookdeck/outpost-sdk 1.0->1.4
(also fixes a stale typecheck error in publish-api.ts).

dashboard-integration: next 15->16 (+ eslint-config-next, react 19.2),
typescript 5->6, zod/pg/winston/lucide-react etc. Notable migration work:

- next 16 defaults to Turbopack, which scoped module resolution to the
  demo dir and couldn't follow the symlinked @hookdeck/outpost-sdk
  (file: link to ../../../sdks/outpost-typescript). Set turbopack.root
  to the repo root so it traverses the link.
- Migrate eslint flat config off the FlatCompat/@eslint/eslintrc shim
  to eslint-config-next 16's native flat exports (the shim throws a
  circular-config error under config-next 16). Drop @eslint/eslintrc.
- eslint kept at ^9: eslint-config-next 16 breaks under eslint 10.
- react-hooks/set-state-in-effect (new error in config-next 16) set to
  warn to match the demo's existing relaxed lint posture.
- Fix pre-existing type error: events.list() returns
  EventPaginatedResult directly (.models), not wrapped in .result.

Both apps: build + lint pass. Residual moderate advisories have no real
upstream fix (otel core via pubsub; next/next-auth/postcss with no
stable patch yet).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alexluong alexluong requested a review from leggetter June 16, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant