diff --git a/config/native/transformer.js b/config/native/transformer.js index 0a12332..dc265ce 100644 --- a/config/native/transformer.js +++ b/config/native/transformer.js @@ -21,6 +21,7 @@ const nullthrows = require("nullthrows"); const replaceEnvExpressionPlugin = require('./babelEnvPlugin'); const { injectGetRender } = require('../utils/injectGetRender'); +const oakPathTsxPlugin = require('../babel-plugin/oakPath'); async function renderToCSS({ src, filename, options = {} }) { const { lessOptions = {} } = options; @@ -50,7 +51,7 @@ function transform({ filename, options, plugins, src }) { cwd: options.projectRoot, highlightCode: true, filename, - plugins: plugins.concat(replaceEnvExpressionPlugin), + plugins: plugins.concat([replaceEnvExpressionPlugin, oakPathTsxPlugin]), sourceType: "module", // NOTE(EvanBacon): We split the parse/transform steps up to accommodate // Hermes parsing, but this defaults to cloning the AST which increases diff --git a/lib/server/start.js b/lib/server/start.js index 7834f41..c1ff914 100644 --- a/lib/server/start.js +++ b/lib/server/start.js @@ -27,7 +27,7 @@ async function startup(path, contextBuilder, connector, omitWatchers, omitTimers allowedHeaders: ["oak-cxt"], }; const io = new socket_io_1.Server(httpServer, socketOption); - if (process.env.PM2_STATUS) { + if (process.env.pm_id || process.env.PM_ID) { // pm2环境下要接入clusterAdapter // https://socket.io/zh-CN/docs/v4/pm2/ io.adapter((0, cluster_adapter_1.createAdapter)()); @@ -148,5 +148,9 @@ async function startup(path, contextBuilder, connector, omitWatchers, omitTimers if (!omitTimers) { appLoader.startTimers(); } + process.on('SIGINT', async () => { + await appLoader.unmount(); + process.exit(0); + }); } exports.startup = startup; diff --git a/src/server/start.ts b/src/server/start.ts index 891147c..f46635f 100644 --- a/src/server/start.ts +++ b/src/server/start.ts @@ -35,7 +35,7 @@ export async function startup { + await appLoader.unmount(); + process.exit(0); + }); } \ No newline at end of file