v2.0.0-beta.73
Pre-release
Pre-release
·
2 commits
to main
since this release
What's Changed
Bug Fixes
- define: Preserve
__schemaproperty on directive objects (was alwaysundefined) - codegen: Correct
defumerge order so user config takes priority over defaults - routes/yoga: Read endpoint from moduleConfig instead of hardcoded
/api/graphql - routes/apollo: Cache h3Handler to avoid recreation per request
- routes/health: Use direct GraphQL execution instead of self-fetch (fixes serverless)
- routes/debug: Add runtime production guard
- rollup: Remove dead return that disabled chunking; add Rolldown
codeSplittingcompat - extend: Warn and skip instead of crashing when package config not found
- dev: Fix rescan race condition with extend packages
Refactoring
- Immutable scan state: Replace 6 mutable arrays with frozen
GraphQLScanStatesnapshots — atomic updates, no race conditions - Type unification:
GenImport→ScannedResolveras single source of truth; core types now extend actual@graphql-codegenplugin types - Codegen cleanup: Remove custom plugin wrappers (
pluginContent,typedDocumentStringPlugin), use string prepend instead. RemovedocumentMode: 'string'default andTypedDocumentStringworkaround - Setup orchestration: Monolithic
setupNitroGraphQL→ resolver chain pattern (each step is an independent function) - Module splitting: Split 4 large files (codegen 311 LOC, virtual 291 LOC, types 536 LOC, client 665 LOC) into focused modules
- Security: Unified
resolveSecurityDefaults()shared by Yoga and Apollo factories - Virtual modules: Eager snapshots instead of lazy closures (eliminates race condition root cause)
- Path resolution: 7 separate regexes → single
/{(\w+)}/gpattern with lookup table - Dead code removal: 30+ unused constants, duplicate types, dead barrels, deprecated functions deleted (252 → 248 files, 423 → 404 kB)
- File renames:
config.ts→create-config.ts,plugin.ts→file-header.ts,common.ts→file-scanner.ts, etc. - DirectiveParser: Class → pure functions with typed
OxcNodeinterfaces (eliminates 15+anytypes)
Playgrounds
- Remove
apolloplayground (federation already tests both frameworks) - Remove
webhookplayground (empty) - Simplify
viteplayground (deduplicate User CRUD)
Infrastructure
- Upgrade Vite to 8.0.0 stable
- Fix CI lint errors
- Update coverage badge to 71%
Full Changelog: v2.0.0-beta.72...v2.0.0-beta.73