@prevalentware/prisma-cosmo v0.1.40
š Prisma-Cosmo
A powerful tool that automatically generates SDL-first GraphQL types and resolvers from your Prisma schema.
š Features
- Generates GraphQL SDL types from Prisma models
- Creates basic CRUD resolvers automatically
- Supports both single and multiple Prisma schema files
- Generates TypeScript types for better type safety
- Creates DataLoaders for optimal query performance
- AWS AppSync compatible out of the box
š¦ Installation
# Using bun (recommended)
bun add prisma-cosmo
# Using npm
npm install prisma-cosmo
# Using yarn
yarn add prisma-cosmoš ļø Usage
Basic Usage
Place your Prisma schema(s) in the
prismafolder:- For a single schema:
prisma/schema.prisma - For multiple schemas:
prisma/schema/*.prisma
- For a single schema:
Run Cosmo:
bun run cosmo- Cosmo will generate:
- GraphQL SDL types
- Basic CRUD resolvers
- TypeScript types
- DataLoaders for performance optimization
The generated code will be in the prisma/generated directory.
Schema Organization
You can organize your Prisma schema in two ways:
Single Schema File:
- Place your schema in
prisma/schema.prisma
- Place your schema in
Multiple Schema Files:
- Place your schemas in
prisma/schema/directory - Example structure:
Cosmo will automatically merge these files when needed.prisma/ āāā schema/ ā āāā auth.prisma ā āāā users.prisma ā āāā products.prisma
- Place your schemas in
Ignoring Models
To exclude specific models from generation, add the /// cosmo-ignore comment above the model:
/// cosmo-ignore
model TemporaryData {
id Int @id
data String
}š Generated Structure
prisma/
āāā generated/
āāā models/
ā āāā [model]/
ā āāā types.ts
ā āāā resolvers.ts
ā āāā dataLoaders.ts
āāā schema.graphqlš§ Configuration
No additional configuration needed! Cosmo follows Prisma's schema conventions and automatically generates appropriate GraphQL types and resolvers.
š¤ Contributing
We welcome contributions! Please feel free to submit a Pull Request.
š License
MIT
šŖ Support
If you find any bugs or have feature requests, please create an issue on our GitHub repository.
For direct support:
- Email: dsaldarriaga@prevalentware.com
- GitHub Issues: Create an issue
š¢ About
Developed and maintained by prevalentWare
9 months ago
10 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago