webapp-scaffold/templates/orval.config.template.ts
Uwe Schuster 55968fbd73 v0.1.0: fetch/postprocess/inject scripts + vite config factories
Bootstraps the shared frontend build glue for webapp-template-derived
projects:

  bin/fetch-openapi.sh         — pull Swagger JSON from a running backend
  bin/postprocess-openapi.py   — fix oatpp 1.3 rough edges before orval
  bin/inject-hashed-filenames.py — rewrite HTML tags, config-driven
  src/vite-config.ts           — defineAdminConfig / defineGuestConfig
  templates/orval.config.template.ts — starting point for derived repos

Package name @uschuster/webapp-scaffold. Consumed as a devDependency
through the internal Forgejo npm registry; binaries exposed for use in
package.json scripts. createCoreFetch + i18n deferred to v0.2 / v0.3.

Closes fewo-webapp#414

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 22:06:58 +02:00

28 lines
910 B
TypeScript

import { defineConfig } from 'orval';
// Generates a typed fetch-based client under src/generated/ from openapi.json.
// Consumers import the generated functions/types directly — never hand-roll
// fetches for documented endpoints (see CLAUDE.md: DRY-via-Orval).
//
// Regenerate with `npm run codegen` (fetches openapi.json from a running
// test backend first).
export default defineConfig({
app: {
input: { target: './openapi.json' },
output: {
mode: 'split',
target: './src/generated/api.ts',
schemas: './src/generated/models',
client: 'fetch',
baseUrl: { getBaseUrlFromSpecification: false },
httpClient: 'fetch',
override: {
mutator: {
path: './src/core-fetch.ts',
name: 'coreFetch',
},
},
},
},
});