Tesserae
Free, open-source dashboard server for e-ink displays. Compose dashboards in a browser, render dithered frames, and push them over MQTT or REST to e-ink panels. Self-hosted, AGPL-3.0, no tracking.
A typed-client codegen for NestJS — routes, API client, and validation schemas, generated from your controllers.
Developer toolsTypeScript · MDXGitHub @DavideCarvalhoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Typed-client codegen for NestJS — routes, API client, validation schemas. Pluggable validation (zod/valibot/arktype), optional TanStack Query, bring-your-own fetcher; nestjs-inertia + nestjs-filter integrations.
Loading the full README. The saved excerpt is shown below.
📖 Read the documentation
· part of the Aviary ecosystem for NestJS
Codegen for NestJS — generates typed client artifacts (routes, typed API
client, validation schemas) from your controllers, contracts, and DTOs. This is
the full codegen extracted from
nestjs-inertia into its own
repo, with pluggable validation, optional TanStack Query / superjson, and built-in
nestjs-inertia and nestjs-filter integrations.Read the full README ↗Codegen for NestJS — generates typed client artifacts (routes, typed API
client, validation schemas) from your controllers, contracts, and DTOs. This is
the full codegen extracted from
nestjs-inertia into its own
repo, with pluggable validation, optional TanStack Query / superjson, and built-in
nestjs-inertia and nestjs-filter integrations.
| Package | Role |
|---|---|
@dudousxd/nestjs-codegen | The codegen: discovery (controllers, defineContract, DTOs, pages, shared props, filters), emitters (routes.ts/api.ts/forms.ts/pages.d.ts/components.json), config loader, watch mode, and the codegen/init/doctor CLI. Bundles the schema IR (no adapter is bundled — pick one below). |
@dudousxd/nestjs-codegen-zod | Zod validation adapter. |
@dudousxd/nestjs-codegen-valibot | Valibot validation adapter. |
@dudousxd/nestjs-codegen-arktype | ArkType validation adapter. |
@dudousxd/nestjs-client | Framework-neutral runtime (typed fetcher + superjson transformer hook) for generated api.ts in plain (non-Inertia) mode. |
SchemaNode IR with adapters for
zod, valibot, and
arktype (each a separate adapter package), designed around the
Standard Schema shape.queryOptions/mutationOptions.transformer on the runtime fetcher round-trips rich
types (Date, Map, …) end-to-end.pages.d.ts + components.json + shared-props
discovery, and Inertia router mutations in api.ts.@FilterFor/@ApplyFilter discovery emits
TypedFilterQuery<…> against @dudousxd/nestjs-filter-client.# one-shot generate (reads nestjs-inertia.config.ts)
nestjs-codegen codegen
nestjs-codegen codegen --watch # regenerate on change
nestjs-codegen init # scaffold config + Inertia app
nestjs-codegen doctor # diagnose setup
import { defineConfig, loadConfig, generate, watch } from '@dudousxd/nestjs-codegen';
const config = await loadConfig(process.cwd());
await generate(config /*, routes */);
Use a validation lib other than zod by passing the adapter instance:
import { valibotAdapter } from '@dudousxd/nestjs-codegen-valibot';
// (wired via config — see docs/superpowers/specs)
pnpm install
pnpm test # 522 tests
pnpm typecheck
pnpm build
pnpm lint