English | 简体中文
GQLoom is a GraphQL weaver for TypeScript/JavaScript that weaves GraphQL Schema and Resolvers using Valibot, Zod, or Yup, and supports sophisticated type inference to provide the best development experience.
The design of GQLoom is inspired by tRPC, TypeGraphQL, Pothos.
- 🚀 GraphQL: flexible and efficient, reducing redundant data transfers;
- 🔒 Robust type safety: enjoy intelligent hints at development time to detect potential problems at compile time;
- 🔋 Ready to go: middleware, contexts, subscriptions, federated graphs are ready to go;
- 🔮 No extra magic: no decorators, no metadata and reflection, no code generation, you just need JavaScript/TypeScript;
- 🧩 Familiar schema libraries: use the schema libraries you already know (Zod, Yup, Valibot) to build GraphQL Schema and validate inputs;
- 🧑💻 Develop happily: highly readable and semantic APIs designed to keep your code tidy;
import { resolver, query, weave, ValibotWeaver } from "@gqloom/valibot"
import * as v from "valibot"
const helloResolver = resolver({
hello: query(v.string(), () => "world"),
})
export const schema = weave(ValibotWeaver, helloResolver)
Read Introduction to learn more about GQLoom.
See Getting Started to learn how to use GQLoom.
-
GQLoom Core: GraphQL Loom Core Features;
-
GQLoom Federation: Provides GQLoom support for Apollo Federation;
-
GQLoom Mikro ORM: GQLoom integration with Mikro ORM;
-
GQLoom Prisma: GQLoom integration with Prisma;
-
GQLoom Valibot: GQLoom integration with Valibot;
-
GQLoom Yup: GQLoom integration with Yup;
-
GQLoom Zod: GQLoom integration with Zod;