summaryrefslogtreecommitdiff
path: root/packages/backend/scripts
diff options
context:
space:
mode:
authorかっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>2024-07-27 18:09:15 +0900
committerGitHub <noreply@github.com>2024-07-27 18:09:15 +0900
commit46d96c7412f85990d01006fbb548178c8cfdf827 (patch)
tree06bdae77e77423354dde37277662d10345d94a03 /packages/backend/scripts
parentdocs: format `CONTRIBUTING.md` (#14302) (diff)
downloadsharkey-46d96c7412f85990d01006fbb548178c8cfdf827.tar.gz
sharkey-46d96c7412f85990d01006fbb548178c8cfdf827.tar.bz2
sharkey-46d96c7412f85990d01006fbb548178c8cfdf827.zip
fix(build): autogen生成時にbackendを2度buildしているのを修正 (#14309)
* fix(build): autogen生成時にbackendを2度buildしているのを修正 * fix * fix
Diffstat (limited to 'packages/backend/scripts')
-rw-r--r--packages/backend/scripts/generate_api_json.js35
1 files changed, 29 insertions, 6 deletions
diff --git a/packages/backend/scripts/generate_api_json.js b/packages/backend/scripts/generate_api_json.js
index b4769ef801..798e243004 100644
--- a/packages/backend/scripts/generate_api_json.js
+++ b/packages/backend/scripts/generate_api_json.js
@@ -3,11 +3,34 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
-import { loadConfig } from '../built/config.js'
-import { genOpenapiSpec } from '../built/server/api/openapi/gen-spec.js'
-import { writeFileSync } from "node:fs";
+import { execa } from 'execa';
+import { writeFileSync, existsSync } from "node:fs";
-const config = loadConfig();
-const spec = genOpenapiSpec(config, true);
+async function main() {
+ if (!process.argv.includes('--no-build')) {
+ await execa('pnpm', ['run', 'build'], {
+ stdout: process.stdout,
+ stderr: process.stderr,
+ });
+ }
-writeFileSync('./built/api.json', JSON.stringify(spec), 'utf-8');
+ if (!existsSync('./built')) {
+ throw new Error('`built` directory does not exist.');
+ }
+
+ /** @type {import('../src/config.js')} */
+ const { loadConfig } = await import('../built/config.js');
+
+ /** @type {import('../src/server/api/openapi/gen-spec.js')} */
+ const { genOpenapiSpec } = await import('../built/server/api/openapi/gen-spec.js');
+
+ const config = loadConfig();
+ const spec = genOpenapiSpec(config, true);
+
+ writeFileSync('./built/api.json', JSON.stringify(spec), 'utf-8');
+}
+
+main().catch(e => {
+ console.error(e);
+ process.exit(1);
+});