aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-07-06 23:01:14 +0000
committerMohamed Bassem <me@mbassem.com>2025-07-06 23:01:14 +0000
commit71458166108ab805e8924f851953489f0c00d989 (patch)
treea1da0708db17861d2e3e07637e6427779ef43e50 /packages
parent0eeefd686f2d44f63ba7a97f17c8db1341d0d83b (diff)
downloadkarakeep-71458166108ab805e8924f851953489f0c00d989.tar.zst
build: Add an open-api husky check
Diffstat (limited to 'packages')
-rw-r--r--packages/open-api/index.ts18
-rw-r--r--packages/open-api/package.json1
2 files changed, 18 insertions, 1 deletions
diff --git a/packages/open-api/index.ts b/packages/open-api/index.ts
index 06fbc913..057a823f 100644
--- a/packages/open-api/index.ts
+++ b/packages/open-api/index.ts
@@ -1,4 +1,5 @@
import * as fs from "fs";
+import * as process from "process";
import {
OpenApiGeneratorV3,
OpenAPIRegistry,
@@ -54,4 +55,19 @@ function writeDocumentation() {
});
}
-writeDocumentation();
+function checkDocumentation() {
+ const docs = getOpenApiDocumentation();
+ const fileContent = JSON.stringify(docs, null, 2);
+ const oldContent = fs.readFileSync(`./karakeep-openapi-spec.json`, {
+ encoding: "utf-8",
+ });
+ if (oldContent !== fileContent) {
+ process.exit(1);
+ }
+}
+
+if (process.argv[2] === "check") {
+ checkDocumentation();
+} else {
+ writeDocumentation();
+}
diff --git a/packages/open-api/package.json b/packages/open-api/package.json
index d88543a9..a2a20ef7 100644
--- a/packages/open-api/package.json
+++ b/packages/open-api/package.json
@@ -16,6 +16,7 @@
},
"scripts": {
"typecheck": "tsc --noEmit",
+ "check": "tsx index.ts check",
"generate": "tsx index.ts",
"format": "prettier . --ignore-path ../../.prettierignore",
"format:fix": "prettier . --write --ignore-path ../../.prettierignore",