summaryrefslogtreecommitdiff
path: root/packages
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
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')
-rw-r--r--packages/backend/package.json2
-rw-r--r--packages/backend/scripts/generate_api_json.js35
2 files changed, 30 insertions, 7 deletions
diff --git a/packages/backend/package.json b/packages/backend/package.json
index 22fdc5cf16..b99717d15c 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -31,7 +31,7 @@
"test:e2e": "pnpm build && pnpm build:test && pnpm jest:e2e",
"test-and-coverage": "pnpm jest-and-coverage",
"test-and-coverage:e2e": "pnpm build && pnpm build:test && pnpm jest-and-coverage:e2e",
- "generate-api-json": "pnpm build && node ./scripts/generate_api_json.js"
+ "generate-api-json": "node ./scripts/generate_api_json.js"
},
"optionalDependencies": {
"@swc/core-android-arm64": "1.3.11",
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);
+});