Modernize for Prisma 6 with comprehensive documentation and testing#22
Merged
omar-dulaimi merged 12 commits intomasterfrom Jul 21, 2025
Merged
Modernize for Prisma 6 with comprehensive documentation and testing#22omar-dulaimi merged 12 commits intomasterfrom
omar-dulaimi merged 12 commits intomasterfrom
Conversation
- Upgrade dependencies: Prisma 5→6, TypeScript 5.4→5.8, class-validator 0.13→0.14 - Handle Prisma 6 breaking changes: Buffer→Uint8Array for Bytes fields - Add Vitest testing framework with coverage support - Create GitHub Actions CI/CD workflows for multi-node testing and releases - Implement modern TypeScript config with strict mode - Add Prettier formatting and improve project structure - Remove buy me a coffee references - Update CLAUDE.md with modern development patterns Breaking changes addressed: - Fixed Bytes field type generation for Prisma 6 compatibility - Updated Node.js requirements (18.18+, 20.9+, 22.11+) - Enhanced type safety with stricter TypeScript configuration
- Add professional badge layout with for-the-badge style - Include comprehensive features section with clear benefits - Add Prisma 6 compatibility matrix and version information - Provide complete usage examples with generated code samples - Include advanced usage scenarios with complex schemas - Add type mapping table for Prisma to class-validator decorators - Include troubleshooting section and development commands - Match format and structure of other professional generator projects
- Ignore coverage/ directory generated by test coverage reports - Ignore tests/generated/ directory created during test runs - Keep repository clean from build and test artifacts
- Keep only GitHub Sponsors as the funding platform - Simplify funding configuration to single sponsor option
- Correct generator version from 6.0.0+ to 5.0.0+ to match package.json - Update "What's New" section to reflect v5.0.0 instead of v6.0.0 - Clarify Prisma 6.12+ compatibility with current generator version - Add note about Uint8Array being a breaking change from Buffer
- Change version compatibility to show v6.0.0-beta for Prisma 6.x support - Mark current Prisma 6 work as beta/in development - Keep v5.0.0 as stable version for Prisma 5.x - Add note clarifying that this is pre-release development work - Indicate that stable v5.0.0 supports Prisma 5.x while beta supports Prisma 6.x
- Add beta testing section encouraging users to try v6.0.0-beta - Use simple npm install command with @beta tag - List key testing areas for Prisma 6 compatibility - Encourage feedback and issue reporting for stable release - Position prominently to maximize beta testing participation
- Mark v5.x as unmaintained since focus has moved to Prisma 6 support - Only v6.x beta is actively maintained and receiving updates - Clarify that older versions (v5, v4, v2-3) are no longer receiving updates - Encourage users to migrate to the beta for continued support
- Test only on Node.js 20.x and 22.x for more focused CI runs - Node.js 18 support is maintained but not actively tested in CI - Reduces CI complexity while maintaining coverage of current LTS versions
- Update generator provider paths from ./lib/generator.js to ../lib/generator.js - Schemas run from tests/ directory so need relative path to project root - Fixes CI failure where generator module could not be found - Ensures tests work correctly when run from tests subdirectory
- Run Prisma generate from project root instead of tests subdirectory - Update generator paths in test schemas to use ./lib/generator.js from root - Ensures built generator is found correctly during CI test execution - Fixes module resolution issues causing test failures
- Trigger release workflow on pushes to master branch and tags - Auto-generate beta versions with timestamp for master pushes - Publish tagged releases as 'latest' and master releases as 'beta' - Create GitHub releases with appropriate prerelease status - Maintain existing tag-based release functionality This enables automatic beta releases when PRs are merged while preserving manual stable releases via git tags.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Key Changes
🏗️ Prisma 6 Modernization
📚 Documentation Overhaul
🧪 Enhanced Testing
🔧 Project Maintenance
Breaking Changes
Bytesfields fromBuffertoUint8Array. This is handled automatically but may affect downstream usage.Migration Guide
For users upgrading from v5.0.0:
npm install prisma-class-validator-generator@betanpx prisma generateBufferusage toUint8Arrayif applicableTest Plan
This modernization positions the project for continued growth with Prisma 6 while maintaining backwards compatibility guidance for existing users.