You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Toolchain to the latest working majors:
- Vite 6→8 (Rolldown/Oxc), @vitejs/plugin-react 4→6, vite-plugin-dts 4→5
(rollupTypes→bundleTypes via @microsoft/api-extractor), TypeScript 5.7→6.0.
- ESLint 9→10. eslint-plugin-react has no v10 release (it calls the removed
context.getFilename()), so React linting moves to @eslint-react/eslint-plugin
(flat-config, v10-native); eslint-plugin-react-hooks stays the hooks authority
and @eslint-react's overlapping hook rules are disabled so each is reported once.
Server runtime majors:
- zod 3→4, redis 5→6 (pinned RESP2 to preserve the raw sendCommand reply shapes
this code parses), pino 9→10, dotenv 16→17, ulid 2→3.
- Express 5 → Hono 4 + @hono/node-server (both zero-runtime-dep), dropping
express/cors/cookie/pino-http and ~18 transitives. Routes, status codes, bodies,
headers, owner-cookie HMAC, CORS policy, zod error envelopes and the yjs WS relay
are preserved; buildApp still returns an unstarted http.Server.
Cuts:
- uuid → an embed-safe crypto.getRandomValues RFC-4122 v4 (works in any context,
unlike crypto.randomUUID which needs a secure context an embed can't assume).
- cmdk + the unused command component; @ionic/react → a 45-line vendored
platform.ts (its Stencil runtime was in the initial bundle for UA checks only) —
webapp initial bundle nearly halved.
- packages/ui: drop dead @vitest/coverage-v8 (no coverage config/script there).
~50 deps bumped to latest (modulo the repo's >24h minimumReleaseAge).
Verified: pnpm install --frozen-lockfile; pnpm lint 0 errors; pnpm knip clean;
builds (library single-entry incl. rolled .d.ts, webapp, server, vscode, ui types
+ stories typecheck); size-limit within budget (webapp initial 34.65/35 kB);
tests library 1222 / webapp 256 / server 150 (Docker) / ui 37.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments