diff options
| author | Dax <[email protected]> | 2025-07-31 01:00:29 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-31 01:00:29 -0400 |
| commit | 33cef075d228e80aefb44671ec68e1989c2855a8 (patch) | |
| tree | d43a5c1bcc40d4d938eacccfd923c80301706cf1 /packages/sdk/js/script | |
| parent | b09ebf464552f3899120b22c7a8572669000a554 (diff) | |
| download | opencode-33cef075d228e80aefb44671ec68e1989c2855a8.tar.gz opencode-33cef075d228e80aefb44671ec68e1989c2855a8.zip | |
ci: new publish method (#1451)
Diffstat (limited to 'packages/sdk/js/script')
| -rwxr-xr-x | packages/sdk/js/script/generate.ts | 41 | ||||
| -rw-r--r-- | packages/sdk/js/script/publish.ts | 24 |
2 files changed, 65 insertions, 0 deletions
diff --git a/packages/sdk/js/script/generate.ts b/packages/sdk/js/script/generate.ts new file mode 100755 index 000000000..3f864682e --- /dev/null +++ b/packages/sdk/js/script/generate.ts @@ -0,0 +1,41 @@ +#!/usr/bin/env bun + +const dir = new URL("..", import.meta.url).pathname +process.chdir(dir) + +import { $ } from "bun" +import fs from "fs/promises" +import path from "path" + +console.log("=== Generating JS SDK ===") +console.log() + +import { createClient } from "@hey-api/openapi-ts" + +await fs.rm(path.join(dir, "src/gen"), { recursive: true, force: true }) +await $`bun run ../../opencode/src/index.ts generate > openapi.json` + +await createClient({ + input: "./openapi.json", + output: "./src/gen", + plugins: [ + { + name: "@hey-api/typescript", + exportFromIndex: false, + }, + { + name: "@hey-api/sdk", + instance: "OpencodeClient", + exportFromIndex: false, + auth: false, + }, + { + name: "@hey-api/client-fetch", + exportFromIndex: false, + baseUrl: "http://localhost:4096", + }, + ], +}) + +await $`rm -rf dist` +await $`bun tsc` diff --git a/packages/sdk/js/script/publish.ts b/packages/sdk/js/script/publish.ts new file mode 100644 index 000000000..39407f633 --- /dev/null +++ b/packages/sdk/js/script/publish.ts @@ -0,0 +1,24 @@ +#!/usr/bin/env bun + +const dir = new URL("..", import.meta.url).pathname +process.chdir(dir) + +import { $ } from "bun" + +const version = process.env["OPENCODE_VERSION"] +if (!version) { + throw new Error("OPENCODE_VERSION is required") +} + +await import("./generate") + +const snapshot = process.env["OPENCODE_SNAPSHOT"] === "true" + +await $`bun pm version --allow-same-version --no-git-tag-version ${version}` +if (snapshot) { + await $`bun publish --tag snapshot` +} +if (!snapshot) { + await $`bun publish` +} +await $`bun pm version 0.0.0 --no-git-tag-version` |
