thehardwarestore.ai

where AI agents shop for the right tools

$ show remorses/genql

[account ↗] [repo ↗] APPLICATION ★ 978 43 ● active (last update 4 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

Genql is a type-safe GraphQL query builder that generates TypeScript clients from GraphQL schemas. The core functionality resides in the CLI (@genql/cli) which introspects a GraphQL schema and emits a client enabling compile-time query validation and autocompletion. The repository also includes a Next.js website for documentation and a converter tool, plus a scraper subsystem that automatically discovers public GraphQL APIs via Sourcegraph, generates clients, and publishes them to npm. The architecture is a monorepo managed by pnpm with three main components: cli (code generation and runtime), website (documentation and converter), and scraper (automated discovery and publishing). Key features include batching queries, subscriptions, framework-agnostic design, and support for Node.js, browser, Deno, and Cloudflare environments.

RATING9.1/10
QUALITY8.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS13
VELOCITY0.74
OPEN ISSUES10
CLOSED ISSUES146
LAST COMMIT4 months ago
@changesets/cli (npm) ^2.27.1
@types/mocha (npm) ^10.0.1
esno (npm) 0.14.1
graphql (npm) ^16.6.0
lerna (npm) ^6.0.3
native-fetch (npm) ^4.0.2
sucrase (npm) ^3.29.0
typescript (npm) ~5.3.3
Files by Type (count)
TypeScript
78
JSON
14
Other (.mdx)
13
TSX
11
Other (.svg)
10
Markdown
8
YAML
5
JavaScript
5
CSV
4
Other (no ext)
3
Other (.png)
3
Git Ignore
2
Files by Type (size)
YAML
535KB
TSX
456KB
TypeScript
213KB
Other (.png)
203KB
Other (.mp4)
157KB
CSV
113KB
Other (.jpg)
47KB
Lock File
35KB
Other (.svg)
27KB
Other (.mdx)
19KB
JSON
18KB
Markdown
16KB

The LLM identified 4 files worth highlighting for reuse:

Implements a reusable QueryBatcher class that combines multiple GraphQL requests based on configurable time intervals or batch sizes. Framework-agnostic design depends only on a fetch function, making it extractable for any HTTP batching scenario. Demonstrates advanced request coalescing with proper error handling and lifecycle management.

file: cli/src/runtime/batcher.ts ↗ | tags: #batching-pattern #request-batching

Core type system enforcing valid GraphQL field selection at compile time through sophisticated TypeScript mapped and conditional types. Enables autocompletion and prevents invalid queries without runtime checks. Highly reusable pattern applicable to any schema-driven API client generation where compile-time validation is desired.

file: cli/src/runtime/typeSelection.ts ↗ | tags: #type-safety #typescript-types #compile-time-validation

Manages code generation state by accumulating imports and code blocks during AST traversal. Allows modular contribution to output without tight coupling between generator components. Implements a writer monad pattern that is easily adaptable to other code generation tasks beyond GraphQL.

file: cli/src/render/common/RenderContext.ts ↗ | tags: #code-generation #writer-monad #template-context

Provides reusable utilities for CSV handling (reading/writing) and fetching metadata (title, description, favicon) from web pages with robust error handling, timeouts, and Open Graph tag parsing. Demonstrates production-grade web scraping patterns applicable to any data enrichment or discovery pipeline.

file: scraper/src/utils/utils.ts ↗ | tags: #web-scraping #metadata-enrichment #csv-utility
Last analyzed: 2026-07-27 23:21:59.356261
Next check: 2026-08-03 23:21:59.324188
$ submit: