diff --git a/package.json b/package.json index 5bd22ebe7..c84cb28ba 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,8 @@ "scripts": { "postinstall": "node ./scripts/install-packages.js", "build": "node ./scripts/build.js", - "start": "cd packages/backend && node --experimental-json-modules ./built/index.js", - "start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./built/index.js", + "start": "cd packages/backend && node --experimental-json-modules ./built/boot/index.js", + "start:test": "cd packages/backend && cross-env NODE_ENV=test node --experimental-json-modules ./built/boot/index.js", "init": "npm run migrate", "migrate": "cd packages/backend && npx typeorm migration:run -d ormconfig.js", "migrateandstart": "npm run migrate && npm run start", diff --git a/packages/backend/src/boot/index.ts b/packages/backend/src/boot/index.ts index f67b09b1c..fbf9e73e0 100644 --- a/packages/backend/src/boot/index.ts +++ b/packages/backend/src/boot/index.ts @@ -1,44 +1,28 @@ + +/** + * Misskey Entry Point! + */ + import cluster from 'node:cluster'; +import { EventEmitter } from 'node:events'; import chalk from 'chalk'; import Xev from 'xev'; - import Logger from '@/logger.js'; import { envOption } from '../env.js'; - -// for typeorm -import 'reflect-metadata'; import { masterMain } from './master.js'; import { workerMain } from './worker.js'; +import 'reflect-metadata'; + +process.title = `Misskey (${cluster.isPrimary ? 'master' : 'worker'})`; + +Error.stackTraceLimit = Infinity; +EventEmitter.defaultMaxListeners = 128; + const logger = new Logger('core', 'cyan'); const clusterLogger = logger.createSubLogger('cluster', 'orange', false); const ev = new Xev(); -/** - * Init process - */ -export default async function() { - process.title = `Misskey (${cluster.isPrimary ? 'master' : 'worker'})`; - - if (cluster.isPrimary || envOption.disableClustering) { - await masterMain(); - - if (cluster.isPrimary) { - ev.mount(); - } - } - - if (cluster.isWorker || envOption.disableClustering) { - await workerMain(); - } - - // ユニットテスト時にMisskeyが子プロセスで起動された時のため - // それ以外のときは process.send は使えないので弾く - if (process.send) { - process.send('ok'); - } -} - //#region Events // Listen new workers @@ -77,3 +61,21 @@ process.on('exit', code => { }); //#endregion + +if (cluster.isPrimary || envOption.disableClustering) { + await masterMain(); + + if (cluster.isPrimary) { + ev.mount(); + } +} + +if (cluster.isWorker || envOption.disableClustering) { + await workerMain(); +} + +// ユニットテスト時にMisskeyが子プロセスで起動された時のため +// それ以外のときは process.send は使えないので弾く +if (process.send) { + process.send('ok'); +} diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts deleted file mode 100644 index bd9c0098b..000000000 --- a/packages/backend/src/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Misskey Entry Point! - */ - -import { EventEmitter } from 'node:events'; -import boot from './boot/index.js'; - -Error.stackTraceLimit = Infinity; -EventEmitter.defaultMaxListeners = 128; - -boot().catch(err => { - console.error(err); -}); diff --git a/packages/backend/tsconfig.json b/packages/backend/tsconfig.json index dea4eb27d..0c9592574 100644 --- a/packages/backend/tsconfig.json +++ b/packages/backend/tsconfig.json @@ -10,7 +10,7 @@ "declaration": false, "sourceMap": false, "target": "es2021", - "module": "es2020", + "module": "es2022", "moduleResolution": "node", "allowSyntheticDefaultImports": true, "removeComments": false,