Skip to content

Conversation

@productdevbook
Copy link
Owner

Summary

  • Modularized large monolithic files into smaller, focused modules
  • Split src/utils/index.ts into src/utils/scanning/, src/codegen/, and dedicated utility files
  • Extracted setup logic into src/setup/ modules (file-watcher, graphql-scanner, rollup-integration, scaffold-generator, ts-config)
  • Created new src/codegen/ directory for code generation (server-types, client-types, external-types, validation)
  • Moved debug template to separate file and virtual module generators to src/virtual/generators/
  • Added initial test infrastructure with vitest configuration and unit tests
  • Updated dependencies in pnpm-workspace.yaml

Test plan

  • Run pnpm build to verify build succeeds
  • Run pnpm test:types to verify type checking passes
  • Run pnpm playground:nitro to test Nitro integration
  • Run pnpm playground:nuxt to test Nuxt integration

🤖 Generated with Claude Code

- Removed unused constants from rollup-integration.ts.
- Enhanced type definitions in directive-parser.ts for better type safety.
- Introduced federation.ts for handling Apollo federation support.
- Added imports.ts for generating import IDs and relative paths.
- Consolidated utility functions in index.ts for better organization.
- Created layers.ts to manage Nuxt layer directory discovery.
- Established common scanning utilities in common.ts.
- Developed directive scanning utilities in directives.ts.
- Implemented document scanning utilities in documents.ts.
- Organized scanning utilities in index.ts for easier access.
- Created resolver scanning utilities in resolvers.ts.
- Developed schema scanning utilities in schemas.ts.
- Updated type-generation.ts to re-export from the new modular structure.
- Added validation.ts for external service configuration validation.
- Bump '@apollo/server' from ^5.1.0 to ^5.2.0
- Bump '@graphql-codegen/typescript' from ^5.0.4 to ^5.0.6
- Bump '@graphql-codegen/typescript-operations' from ^5.0.4 to ^5.0.6
- Bump '@graphql-codegen/typescript-resolvers' from ^5.1.2 to ^5.1.4
- Bump '@graphql-tools/graphql-file-loader' from ^8.1.6 to ^8.1.8
- Bump '@graphql-tools/load' from ^8.1.6 to ^8.1.7
- Bump '@graphql-tools/merge' from ^9.1.5 to ^9.1.6
- Bump '@graphql-tools/schema' from ^10.0.29 to ^10.0.30
- Bump '@graphql-tools/url-loader' from ^9.0.4 to ^9.0.5
- Bump '@graphql-tools/utils' from ^10.10.3 to ^10.11.0
- Bump '@vitest/ui' from ^3.0.0 to ^4.0.14
- Bump 'bumpp' from ^10.3.1 to ^10.3.2
- Bump 'chokidar' from ^4.0.3 to ^5.0.0
- Bump 'oxc-parser' from ^0.98.0 to ^0.99.0
- Bump 'tsdown' from ^0.16.6 to ^0.16.8
- Bump 'vitest' from ^3.0.0 to ^4.0.14
- Bump 'vue' from ^3.5.24 to ^3.5.25
- Bump 'zod' from ^4.1.12 to ^4.1.13

fix: import consola in external-types.ts

fix: add type annotation for globPattern in scanDir function
- Moved schema merging logic to a dedicated `schema-builder.ts` utility.
- Updated `graphql-yoga.ts` to utilize the new schema builder for improved clarity and maintainability.
- Introduced `file-writer.ts` for handling file writing operations, enhancing modularity.
- Created `ofetch-templates.ts` for generating client templates for GraphQL services.
- Consolidated scalar type definitions into a single `DEFAULT_GRAPHQL_SCALARS` constant.
- Added shared `codegen-plugin.ts` for consistent prepend comments across generated files.
- Implemented virtual module generators for GraphQL configuration, debug info, directives, resolvers, and schemas.
- Enhanced error handling and logging in virtual module generators to improve developer experience.
@productdevbook productdevbook merged commit eeee689 into main Dec 3, 2025
1 check passed
@productdevbook productdevbook deleted the refactor-code branch December 3, 2025 05:47
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.

2 participants