summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-04-17 22:31:21 -0400
committerGitHub <[email protected]>2026-04-17 22:31:21 -0400
commit357301991624ae6c361350c1c1aca222268a6d5d (patch)
treedf2725efd9b04a81def6873cf8c4bfe45c85e7e1 /packages
parentfc5b353144b6d370df21e2da3a8c1fad7e63123a (diff)
downloadopencode-357301991624ae6c361350c1c1aca222268a6d5d.tar.gz
opencode-357301991624ae6c361350c1c1aca222268a6d5d.zip
fix(generate): make openapi output deterministic by formatting in-place (#23228)
Diffstat (limited to 'packages')
-rw-r--r--packages/opencode/src/cli/cmd/generate.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/packages/opencode/src/cli/cmd/generate.ts b/packages/opencode/src/cli/cmd/generate.ts
index fad4514c8..0531d537c 100644
--- a/packages/opencode/src/cli/cmd/generate.ts
+++ b/packages/opencode/src/cli/cmd/generate.ts
@@ -25,7 +25,19 @@ export const GenerateCommand = {
]
}
}
- const json = JSON.stringify(specs, null, 2)
+ const raw = JSON.stringify(specs, null, 2)
+
+ // Format through prettier so output is byte-identical to committed file
+ // regardless of whether ./script/format.ts runs afterward.
+ const prettier = await import("prettier")
+ const babel = await import("prettier/plugins/babel")
+ const estree = await import("prettier/plugins/estree")
+ const format = prettier.format ?? prettier.default?.format
+ const json = await format(raw, {
+ parser: "json",
+ plugins: [babel.default ?? babel, estree.default ?? estree],
+ printWidth: 120,
+ })
// Wait for stdout to finish writing before process.exit() is called
await new Promise<void>((resolve, reject) => {