The most familiar Schema Library

import { , ,  } from "@gqloom/core"
import {  } from "@gqloom/valibot"
import * as  from "valibot"
 
const  = .({
  : .(.("Giraffe")),
  : .(.(), .("The giraffe's name")),
  : .(),
})
 
const  = .(, {
  : (.(.(), .()))
    .({
      : .(
        .(.(), () => new ().()),
        .(() => new ())
      ),
    })
    .((, {  }) => {
      return .() - ..()
    }),
})
 
export const  = (, )
schema.graphql
type Giraffe {
  """The giraffe's name"""
  name: String!
  birthday: String!
  age(currentDate: String): Int!
}
  • 🧩

    Rich Integration

    Use your most familiar validation libraries and ORMs to build your next GraphQL application.

  • 🔒

    Type Safety

    Automatically infer types from the Schema, enjoy intelligent code completion during development, and detect potential problems during compilation.

  • 🔋

    Fully Prepared

    Middleware, context, subscriptions, and federated graphs are ready.

  • 🔮

    No Magic

    Without decorators, metadata, reflection, or code generation, it can run anywhere with just JavaScript/TypeScript.

  • 🧑‍💻

    Development Experience

    Fewer boilerplate codes, semantic API design, and extensive ecosystem integration make development enjoyable.

Full Featured GraphQL

CRUD interfaces are ready for activation

Create CRUD operations using defined database models from Drizzle, MikroORM, Prisma with ResolverFactory.

  • Like a skilled weaver, embed precisely defined database tables seamlessly into the GraphQL Schema.
  • With just a few lines of code, easily build a CRUD system and enjoy ORM's convenience.
  • Both resolvers and single operations can be customized with inputs and middleware to meet diverse needs.
  • Using a flexible approach, freely combine resolvers and add operations to the graph for endless potential.
src/index.ts
import {  } from "node:http"
import {  } from "@gqloom/core"
import {  } from "@gqloom/drizzle"
import {  } from "drizzle-orm/node-postgres"
import {  } from "graphql-yoga"
import * as  from "./schema"
 
const  = (..!, { :  })
 
const  = (, "users").()
const  = (, "posts").()
 
const  = (, )
 
const  = ({  })
const  = ()
.(4000, () => {
  .("Server is running on http://localhost:4000/graphql")
})

Full Power of GraphQL

  • 🔐

    Type Safety

    Strong type system to ensure the consistency and security of data from the server to the client.

  • 🧩

    Flexible Aggregation

    Automatically aggregate multiple queries, reducing the number of client requests and ensuring the simplicity of the server-side API.

  • 🚀

    Efficient Querying

    The client can specify the required data structure, reducing unnecessary data transfer and improving the performance and maintainability of the API.

  • 🔌

    Easy to Extend

    Extending the API by adding new fields and types without modifying existing code.

  • 👥

    Efficient Collaboration

    Using Schema as documentation, which can reduce communication costs and improve development efficiency in team development.

  • 🌳

    Thriving Ecosystem

    Tools and frameworks are emerging constantly. The active community, with diverse applications, is growing fast and has bright prospects.