{"id":13452465,"url":"https://github.com/graphql-editor/graphql-zeus","last_synced_at":"2025-05-13T15:12:40.648Z","repository":{"id":37406007,"uuid":"197209898","full_name":"graphql-editor/graphql-zeus","owner":"graphql-editor","description":"GraphQL client and GraphQL code generator with GraphQL autocomplete library generation ⚡⚡⚡ for browser,nodejs and react native ( apollo compatible ) ","archived":false,"fork":false,"pushed_at":"2025-04-09T21:02:53.000Z","size":27710,"stargazers_count":1960,"open_issues_count":45,"forks_count":106,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-04T00:03:57.865Z","etag":null,"topics":["client","codegen","graphql","schema"],"latest_commit_sha":null,"homepage":"https://graphqleditor.com/docs/zeus","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graphql-editor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-07-16T14:28:43.000Z","updated_at":"2025-05-01T11:28:47.000Z","dependencies_parsed_at":"2022-07-15T04:16:56.318Z","dependency_job_id":"6f5df0db-bafb-48e1-b2aa-c94026d3cf79","html_url":"https://github.com/graphql-editor/graphql-zeus","commit_stats":{"total_commits":521,"total_committers":36,"mean_commits":"14.472222222222221","dds":"0.17850287907869478","last_synced_commit":"e526a75862b8c481d604c0ab131b7d73a41728d1"},"previous_names":[],"tags_count":144,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-editor%2Fgraphql-zeus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-editor%2Fgraphql-zeus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-editor%2Fgraphql-zeus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-editor%2Fgraphql-zeus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphql-editor","download_url":"https://codeload.github.com/graphql-editor/graphql-zeus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253969266,"owners_count":21992264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","codegen","graphql","schema"],"created_at":"2024-07-31T07:01:24.857Z","updated_at":"2025-05-13T15:12:35.632Z","avatar_url":"https://github.com/graphql-editor.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Implementations","JavaScript","HarmonyOS","graphql","🌐 Web Development - Frontend"],"sub_categories":["JavaScript/TypeScript","Windows Manager"],"readme":"![](images/zeus-logo.png)\n\n[![npm](https://img.shields.io/npm/v/graphql-zeus.svg?style=flat-square)](https://www.npmjs.com/package/graphql-zeus) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=flat-square)](http://commitizen.github.io/cz-cli/) [![npm downloads](https://img.shields.io/npm/dt/graphql-zeus.svg?style=flat-square)](https://www.npmjs.com/package/graphql-zeus)\n\nStrongly Typed GraphQL from the team at [GraphQL Editor](https://graphqleditor.com/?utm_source=graphql_zeus_github)\n\n# How it works\n\n![](Zeus.gif)\n\nGraphQL Zeus is the absolute best way to interact with your GraphQL endpoints in a type-safe way. Zeus uses your schema to generate Typescript types and strongly typed clients to unlock the power, efficiency, productivity and safety of Typescript on your GraphQL requests.\n\nGraphQL Syntax ( not type-safe 😢 )\n\n```gql\nquery ($id: String!) {\n  usersQuery {\n    admin {\n      sequenceById(_id: $id) {\n        _id\n        name\n        analytics {\n          sentMessages\n          sentInvitations\n          receivedReplies\n          acceptedInvitations\n        }\n        replies {\n          message\n          createdAt\n          _id\n        }\n        messages {\n          _id\n          content\n          renderedContent\n          sendAfterDays\n        }\n        tracks {\n          _id\n          createdAt\n          inviteSent\n          inviteAccepted\n          contact {\n            linkedInId\n          }\n        }\n      }\n    }\n  }\n}\n```\n\nZeus syntax ( type-safe 😋 )\n```tsx\n{\n  usersQuery: {\n    admin: {\n      sequenceById: [\n        { id: $(\"id\", \"String!\") },\n        {\n          _id: true,\n          name: true,\n          analytics: { ...fields(\"SequenceAnalytics\") },\n          replies: {\n            ...fields(\"SequenceTrackReply\"),\n          },\n          messages: {\n            ...fields(\"Message\"),\n          },\n          tracks: {\n            ...fields(\"SequenceTrack\"),\n            contact: {\n              linkedInId: true,\n            },\n          },\n        },\n      ],\n    },\n  },\n}\n```\n\n## New! Composables\n```ts\nimport {\n  Gql,\n  ComposableSelector,\n} from './zeus/index.js';\n\nconst withComposable = \u003cT extends ComposableSelector\u003c'Card'\u003e, Z extends T\u003e(id: string, rest: Z | T) =\u003e\n  Gql('query')({\n    cardById: [{ cardId: id }, rest],\n  });\n  const c1result = await withComposable('12', {\n    id: true,\n  });\n  const c2result = await withComposable('12', {\n    Defense: true,\n    Attack: true,\n  });\n```\n\nBoth responses and inputs are safely typed\n\n## Features\n⚡️ Validates queries and selectors\n⚡️ Types mapped from your schema \u003cbr/\u003e\n⚡️ Fetch all primitive fields with one function \u003cbr/\u003e\n⚡️ Works with Apollo Client, React Query, Stucco Subscriptions _(\\*more coming soon...)_\u003cbr/\u003e\n⚡️ Works with Subscriptions \u003cbr/\u003e\n⚡️ Infer complex response types \u003cbr/\u003e\n⚡️ Create reusable selection sets (like fragments) for use across multiple queries \u003cbr/\u003e\n⚡️ Supports GraphQL Unions, Interfaces, Aliases and Variables\u003cbr/\u003e\n⚡️ Handles **massive** schemas \u003cbr/\u003e\n⚡️ Supports Browsers, Node.js and React Native in Javascript and Typescript \u003cbr/\u003e\n⚡️ Schema downloader \u003cbr/\u003e\n⚡️ JSON schema generation \u003cbr/\u003e\n\n## Full documentation\n\nOur full documentation has all the use cases of:\n\n- scalars\n- selectors\n\nand much more...\n\n[Full documentation is available here](https://graphqleditor.com/docs/zeus/)\n\n## Join the Zeus Community and Spread the Word\n\n⚡️ [Join the Discussion forum on Dicord](https://discord.gg/bHf2cw8e) 📣\n\n⚡️ Leave a GitHub star ⭐️ 👆\n\n⚡️ Spread the word on your socials and with your networks! 🗣\n\n## Contribute\n\nFor a complete guide to contributing to GraphQL Zeus, see the [Contribution Guide](CONTRIBUTING.md).\n\n1.  Fork this repo\n2.  Create your feature branch: git checkout -b feature-name\n3.  Commit your changes: git commit -am 'Add some feature'\n4.  Push to the branch: git push origin my-new-feature\n5.  Submit a pull request\n\n\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT) 🕊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphql-editor%2Fgraphql-zeus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphql-editor%2Fgraphql-zeus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphql-editor%2Fgraphql-zeus/lists"}