@genapi/pipeline
v4.1.0
Published
<!-- automd:badges -->
Readme
@genapi/pipeline
GenAPI pipeline core: config reading, data source fetching, parsing, compilation, generation, and output. Composable for custom generation flows.
Installation
pnpm add @genapi/pipelineAPI
Pipeline
compiler(configRead)
Compiles graphs to code string: request and typings for each output.
Example:
compiler(configRead)
configRead.outputs.forEach(o => console.log(o.code))config(userConfig)
Normalizes pipeline config: output paths, responseType, baseURL, and builds ConfigRead with inputs/outputs.
Example:
const configRead = config(defineConfig({ input: 'openapi.json', output: { main: 'src/api.ts' } }))default(config, original, parser, compiler, generate, dest)
Builds a GenAPI pipeline from five steps: config → original → parser → compiler → generate → dest.
Example:
const run = pipeline(config, original, parser, compiler, generate, dest)
await run(defineConfig({ input: 'openapi.json', output: { main: 'src/api.ts' } }))dest(configRead)
Writes output files from configRead.outputs (code to path).
Example:
await dest(configRead)
// Writes configRead.outputs[].code to configRead.outputs[].pathgenerate(configRead, options?)
Formats code for each output with Prettier.
Example:
await generate(configRead)
await generate(configRead, { printWidth: 100 })original(configRead)
Fetches source: resolves uri/http/json from configRead.inputs and sets configRead.source. Transforms the source based on parser configuration (wpapi -> swagger2, swagger -> unchanged). Supports YAML source URLs (e.g. .yaml / .yml); uses confbox for parsing (same as undocs).
Example:
await original(configRead)
// configRead.source is set from uri/http/json; wpapi transformed to swagger2 if parser is 'wpapi'formatTypescript(code, options?)
Formats TypeScript/JavaScript code string with Prettier.
Example:
const formatted = await formatTypescript('const x=1')License
🤖 auto updated with automd
