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>
28 lines
910 B
TypeScript
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',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|