| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/env bun
- import { fileURLToPath } from "url"
- const dir = fileURLToPath(new URL("..", import.meta.url))
- process.chdir(dir)
- import { $ } from "bun"
- import path from "path"
- import { createClient } from "@hey-api/openapi-ts"
- const openapiSource = process.env.OPENCODE_SDK_OPENAPI === "httpapi" ? "httpapi" : "hono"
- const opencode = path.resolve(dir, "../../opencode")
- if (openapiSource === "httpapi") {
- await $`bun dev generate --httpapi > ${dir}/openapi.json`.cwd(opencode)
- } else {
- await $`bun dev generate > ${dir}/openapi.json`.cwd(opencode)
- }
- await createClient({
- input: "./openapi.json",
- output: {
- path: "./src/v2/gen",
- tsConfigPath: path.join(dir, "tsconfig.json"),
- clean: true,
- },
- plugins: [
- {
- name: "@hey-api/typescript",
- exportFromIndex: false,
- },
- {
- name: "@hey-api/sdk",
- instance: "OpencodeClient",
- exportFromIndex: false,
- auth: false,
- paramsStructure: "flat",
- },
- {
- name: "@hey-api/client-fetch",
- exportFromIndex: false,
- baseUrl: "http://localhost:4096",
- },
- ],
- })
- await $`bun prettier --write src/gen`
- await $`bun prettier --write src/v2`
- await $`rm -rf dist`
- await $`bun tsc`
- await $`rm openapi.json`
|