Repository navigation
Conversation
Lint and type check - `check`/`fix` run oxlint with type-aware rules and type checking enabled in oxlint.config.ts (via oxlint-tsgolint); `format` runs oxfmt and is no longer checked in CI - remove uncheck, sherif and the pre-commit hook; inline the oxlint/oxfmt presets - `correctness` and `suspicious` categories as errors, plus a short list of hand-picked rules; fix all existing warnings (public types unchanged) - drop dependabot groups TypeScript - TypeScript 7 for the build, type checks and playgrounds - inline the tsconfig presets into tsconfig.json + tsconfig.lib.json, dropping options that are already the default - `module: nodenext`, `verbatimModuleSyntax`; relative imports use explicit `.ts` extensions, rewritten to `.js` on build - fastify and aws-lambda use the same lib as node (no DOM), so project references are no longer needed - package tsconfigs share include (src + package.json) and exclude from tsconfig.lib.json; drop root include patterns that matched nothing Build - replace unbuild with plain `tsc` (per-file .js + .d.ts in dist) Editors and agents - VS Code recommends the oxc extension - Zed formats and fixes on save through the Oxc extension's oxfmt and oxlint language servers - add AGENTS.md; track .agents and .claude, but ignore .claude/worktrees (also excluded from vitest) Misc - oxlint 1.91, oxfmt 0.76 - pin pnpm via `packageManager` instead of `devEngines` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VVaw7QpWMUaPoB4z52Dy9p
@standard-server/aws-lambda
@standard-server/core
@standard-server/fastify
@standard-server/fetch
@standard-server/node
@standard-server/peer
@standard-server/shared
commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Merging this PR will not alter performance1 warning
Comparing Footnotes
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Lint and type checking:
pnpm checknow runsoxlintwith type-aware rules and TS compiler diagnostics throughoxlint-tsgolint, andpnpm formatrunsoxfmt. Probe files confirmed it catches plain TS errors plus.test.tsand.test-d.tserrors. - Build:
prepackrunstscper package andpublishConfig.exportspoints atdist/index.js/dist/index.d.ts; all 7 packages pack, and packed types resolve under TS 5.9, 6.0 and 7 withnodenextandbundlerresolution. - TypeScript config:
module: nodenext,verbatimModuleSyntax,allowImportingTsExtensions/rewriteRelativeImportExtensions, and a sharedtsconfig.lib.json; TS 7 already defaultsstrict,noUncheckedSideEffectImportsandmoduleDetectionto the old preset's effective values. - Source changes:
.tsrelative imports and the mechanical type cleanups (StandardBody = unknown, redundant| undefinedremoval,void-ing ignored promises) are behavior-preserving; the express test handler now forwards errors throughnext. - Repo tooling:
oxlint/oxfmtconfigs reproduce the former presets, pnpm is pinned viapackageManager, andAGENTS.md/ editor configs are added.
Verified locally: pnpm check (0 errors), pnpm exec vitest run (60 files / 1485 tests), pnpm run -r prepack (all 7 packages), pnpm exec oxfmt --check, clean git status.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Replaces
uncheckandunbuildwith a smaller setup: oxlint for lint and type checks, oxfmt for formatting, and plaintsc(TypeScript 7) for builds.Lint and type check
pnpm check/pnpm fixrunoxlint, with type-aware rules and type checking enabled inoxlint.config.ts(viaoxlint-tsgolint). One pass covers lint, type-aware rules and TypeScript errors, including*.test-d.ts.pnpm formatrunsoxfmt. Formatting is no longer checked in CI.uncheck,sherifand the pre-commit hook. The former presets are written out inoxlint.config.ts,oxfmt.config.tsand the tsconfigs.correctnessandsuspiciouscategories are errors, plus a short list of hand-picked rules. All existing warnings are fixed. In public types this only drops union members thatunknownor?already cover (for exampleStandardBody), so the types are identical, including underexactOptionalPropertyTypes.TypeScript
module: nodenextandverbatimModuleSyntax. Relative imports now use explicit.tsextensions, whichrewriteRelativeImportExtensionsturns into.json build.fastifyandaws-lambdause the samelibasnode(Node types, no DOM), so project references andcompositeare no longer needed.tsconfig.lib.json, includinginclude(srcandpackage.json) andexclude. Most package tsconfigs are now a singleextends.Build
prepackruns plaintsc, which emits one.jsand one.d.tsper source file intodist.publishConfig.exportsnow points atdist/index.jsanddist/index.d.ts, replacing the.mjsand.d.mtsfiles unbuild produced.skipLibCheck: falseundernodenextandbundlerresolution, and runs in Node.Editors and agents
oxfmtandoxlintlanguage servers.AGENTS.md..agents/and.claude/are now tracked, except.claude/worktrees/, which.gitignoreand vitest both skip.Misc
packageManagerinstead ofdevEngines.Notes
pnpm checktakes about 1.7 s, against about 8.3 s for the olduncheckon a fresh checkout..d.tsfiles show up at build time (prepack), not inpnpm check. CI still catches them, becausepublish_previewpacks every package.auto_install_extensionsin personal settings.Generated by Claude Code