#graphql-schema #generator #file #prisma #index #enums #blazzzzingly

app psina

Blazzzzingly fast graphql schema generator from prisma file

2 releases

0.1.7 May 22, 2022
0.1.5 May 16, 2022
0.1.3 May 15, 2022
0.1.0 May 15, 2022

#1942 in Database interfaces

Artistic-2.0

13KB
321 lines

PSINA 🐾

Blazzzzingly fast graphql schema generator from prisma file

All types from Prisma which are not represented in GraphQL scalars list (Int, Float, String, Boolean, and ID) will be added as scalar into graphql prisma file, for instance that:

enum UserRole {
    user
    admin
}

model User {
  id            BigInt    @id @map("user_id")
  externalId    String    @unique @map("external_id")
  name          String
  role          UserRole?
  description   String?
  pic           String?
  createdAt     DateTime
  tags          Strng[]
  
  @@index([externalId])
  @@map("user")
}

turns into the following:

# This file is generated by PSINA 🐾. Please, do not change it directly
# PSINA package: https://crates.io/crates/psina ⭐️

scalar Strng
scalar BigInt
scalar DateTime


enum UserRole {
    user
    admin
}

type User {
    id: BigInt!
    externalId: String!
    name: String!
    role: UserRole
    description: String
    pic: String
    createdAt: DateTime!
    tags: [Strng!]!
}

CLI

psina --prisma-file $PWD/schema.prisma --output-gql $PWD/schema.graphql

Dependencies

~4–14MB
~151K SLoC