summaryrefslogtreecommitdiff
path: root/packages/backend/scripts
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-08-02 12:25:58 +0100
committerdakkar <dakkar@thenautilus.net>2024-08-02 12:25:58 +0100
commitcfa9b852df9e0293865b3acbd67d59265962e552 (patch)
treea408ad670956a45c4e162e4ecc97a3624e2b0f20 /packages/backend/scripts
parentmerge: rate limit all password checks - fixes #540 (!568) (diff)
parentMerge pull request #14233 from misskey-dev/develop (diff)
downloadsharkey-cfa9b852df9e0293865b3acbd67d59265962e552.tar.gz
sharkey-cfa9b852df9e0293865b3acbd67d59265962e552.tar.bz2
sharkey-cfa9b852df9e0293865b3acbd67d59265962e552.zip
Merge remote-tracking branch 'misskey/master' into feature/misskey-2024.07
Diffstat (limited to 'packages/backend/scripts')
-rw-r--r--packages/backend/scripts/dev.mjs2
-rw-r--r--packages/backend/scripts/generate_api_json.js35
2 files changed, 31 insertions, 6 deletions
diff --git a/packages/backend/scripts/dev.mjs b/packages/backend/scripts/dev.mjs
index 2d0de0f916..a3e0558abd 100644
--- a/packages/backend/scripts/dev.mjs
+++ b/packages/backend/scripts/dev.mjs
@@ -30,6 +30,7 @@ function execStart() {
async function killProc() {
if (backendProcess) {
+ backendProcess.catch(() => {}); // backendProcess.kill()によって発生する例外を無視するためにcatch()を呼び出す
backendProcess.kill();
await new Promise(resolve => backendProcess.on('exit', resolve));
backendProcess = undefined;
@@ -46,6 +47,7 @@ async function killProc() {
],
{
stdio: [process.stdin, process.stdout, process.stderr, 'ipc'],
+ serialization: "json",
})
.on('message', async (message) => {
if (message.type === 'exit') {
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);
+});