Installazione
Requisiti
- Node.js:
>= 22.12.0(dichiarato nel campoenginesdel pacchetto), per l’utilizzo in Node.js. - Un documento OpenAPI già analizzato, come oggetto JavaScript, non una stringa JSON/YAML grezza.
- Un browser moderno con l’API Fetch per l’utilizzo nel browser.
Il pacchetto include build ESM (dist/index.js) e CommonJS (dist/index.cjs), con dichiarazioni TypeScript. Non ha dipendenze di runtime.
npm
npm install @powerduck/openapi-codegen
pnpm
pnpm add @powerduck/openapi-codegen
Yarn
yarn add @powerduck/openapi-codegen
Utilizzo in Node.js
import { generate } from "@powerduck/openapi-codegen";
CommonJS:
const { generate } = require("@powerduck/openapi-codegen");
I generatori integrati vengono registrati automaticamente all’importazione del modulo: generate funziona subito, senza configurazione esplicita.
Utilizzo nel browser
La libreria è pienamente compatibile con il browser e non usa moduli integrati di Node.js. Caricala da una CDN ESM e richiamala direttamente:
<script type="module">
import { generate, list } from "https://esm.sh/@powerduck/openapi-codegen";
const document = {
openapi: "3.1.0",
info: { title: "Example API", version: "1.0.0" },
servers: [{ url: "https://api.example.com" }],
paths: {
"/hello": { get: { responses: { "200": { description: "OK" } } } },
},
};
const code = generate({
document,
path: "/hello",
method: "get",
language: "javascript",
client: "fetch",
});
console.log(code);
</script>
Anche Vite, esbuild e webpack funzionano senza configurazioni aggiuntive; la build ESM supporta il tree shaking.
Fornire il documento
Passa un oggetto già analizzato. Per JSON:
import { readFile } from "node:fs/promises";
const document = JSON.parse(await readFile("./openapi.json", "utf8"));
Per YAML, analizza prima il contenuto con un pacchetto YAML separato:
import YAML from "yaml";
const document = YAML.parse(await readFile("./openapi.yaml", "utf8"));
Struttura del pacchetto
| Punto di ingresso | Percorso |
|---|---|
| Ingresso ESM | dist/index.js |
| Ingresso CommonJS | dist/index.cjs |
| Definizioni dei tipi | dist/index.d.ts |
Non esiste un eseguibile CLI: la libreria si usa soltanto da codice.
Passaggi successivi
- Guida rapida — genera il tuo primo frammento di codice.
- Configurazione — tutte le opzioni di generazione.