nmtjs 0.15.0-beta.49 → 0.15.0-beta.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,8 +27,9 @@ const applicationsConfig = __APPLICATIONS_CONFIG__ ? JSON.parse(__APPLICATIONS_C
27
27
  const mode = _vite?.mode === 'development' ? 'development' : 'production';
28
28
  const isDev = mode === 'development';
29
29
  const errorPolicy = getErrorPolicy(mode);
30
+ const bootstrapLogger = createLogger({ pinoOptions: { level: isDev ? 'debug' : 'info' } }, 'Main');
30
31
  // Logger for main process (created lazily with config-based level)
31
- let logger;
32
+ let logger = bootstrapLogger;
32
33
  // Vite server and events (dev only)
33
34
  let _viteServerEvents;
34
35
  let _viteServer;
@@ -39,6 +40,17 @@ let hmrCoordinator;
39
40
  let currentServerConfig;
40
41
  // Track termination state
41
42
  let isTerminating = false;
43
+ function resolveViteRunnerTimeoutMs() {
44
+ const raw = process.env.NMTJS_VITE_RUNNER_TIMEOUT_MS;
45
+ if (!raw)
46
+ return undefined;
47
+ const parsed = Number.parseInt(raw, 10);
48
+ if (!Number.isFinite(parsed) || parsed <= 0) {
49
+ logger.warn({ value: raw }, 'Invalid NMTJS_VITE_RUNNER_TIMEOUT_MS, falling back to default');
50
+ return undefined;
51
+ }
52
+ return parsed;
53
+ }
42
54
  /**
43
55
  * Create the ApplicationServer instance using currentServerConfig.
44
56
  */
@@ -48,7 +60,10 @@ function createServer() {
48
60
  }
49
61
  const workerConfig = {
50
62
  path: fileURLToPath(new URL(`./thread${_ext}`, import.meta.url)),
51
- workerData: { vite: _vite?.mode },
63
+ workerData: {
64
+ vite: _vite?.mode,
65
+ viteModuleRunnerTimeoutMs: resolveViteRunnerTimeoutMs(),
66
+ },
52
67
  worker: _viteServerEvents
53
68
  ? (worker) => {
54
69
  _viteServerEvents.emit('worker', worker);
@@ -179,14 +194,20 @@ async function handleTermination() {
179
194
  catch (error) {
180
195
  logger.error(new Error('Failed to stop server', { cause: error }));
181
196
  }
182
- _viteServer?.close();
197
+ try {
198
+ await _viteServer?.close();
199
+ }
200
+ catch (error) {
201
+ logger.error(new Error('Failed to close Vite server', { cause: error }));
202
+ }
183
203
  process.exit(0);
184
204
  }
185
205
  /**
186
206
  * Handle unexpected errors.
187
207
  */
188
208
  function handleUnexpectedError(error) {
189
- logger.error(new Error('Unexpected Error', { cause: error }));
209
+ const normalized = error instanceof Error ? error : new Error(String(error));
210
+ logger.error(new Error('Unexpected Error', { cause: normalized }));
190
211
  }
191
212
  /**
192
213
  * Main entry point.
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/entrypoints/main.ts"],"names":[],"mappings":";;;;;;;;AACA,OAAO,YAAY,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAOhE,MAAM,wBAAyB,SAAQ,KAAK;IAC1C,cAAc;QACZ,KAAK,CACH,6JAA6J,CAC9J,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IAAA,CACvC;CACF;AAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAC9E,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACvE,MAAM,kBAAkB,GAGpB,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEtE,4BAA4B;AAC5B,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;AACzE,MAAM,KAAK,GAAG,IAAI,KAAK,aAAa,CAAA;AACpC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;AAExC,mEAAmE;AACnE,IAAI,MAAuC,CAAA;AAE3C,oCAAoC;AACpC,IAAI,iBAAiE,CAAA;AACrE,IAAI,WAAsC,CAAA;AAE1C,8BAA8B;AAC9B,IAAI,SAAsC,CAAA;AAC1C,IAAI,cAA0C,CAAA;AAE9C,yCAAyC;AACzC,IAAI,mBAA6C,CAAA;AAEjD,0BAA0B;AAC1B,IAAI,aAAa,GAAG,KAAK,CAAA;AAEzB;;GAEG;AACH,SAAS,YAAY,GAAsB;IACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IAED,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QACjC,MAAM,EAAE,iBAAiB;YACvB,CAAC,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC;gBAClB,iBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAAA,CAC1C;YACH,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,iBAAiB;KAC1B,CAAA;IAED,OAAO,IAAI,iBAAiB,CAC1B,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EAAE,aAAa;IACxB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,CACnB,CAAA;AAAA,CACF;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,GAAG;IAC9B,IAAI,CAAC,KAAK;QAAE,OAAM;IAElB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAA;IACtE,MAAM,aAAa,GAAG,MAAM,MAAM;IAChC,kBAAkB;IAClB,KAAK,CAAC,OAAO,CAAC,UAAU,EACzB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAA+C,CAAC,CAAA;IAEhE,iBAAiB,GAAG,IAAI,YAAY,EAAwB,CAAA;IAC5D,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IAEnD,WAAW,GAAG,MAAM,gBAAgB,CAClC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,EACV,aAAa,EACb,iBAAiB,CAClB,CAAA;AAAA,CACF;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,WAAyB,EAAE;IACtD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;IAEtE,uBAAuB;IACvB,mBAAmB,GAAG,WAAW,CAAA;IACjC,MAAM,aAAa,GAAG,mBAAmB,EAAE,MAAM,IAAI;QACnD,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE;KACjD,CAAA;IACD,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAE5C,6BAA6B;IAC7B,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,EAAE;QACzC,IAAI,EAAE,WAAW,IAAI,SAAS;QAC9B,GAAG,EAAE,SAAS,EAAE,yCAAyC;KAC1D,CAAC,CAAA;IAEF,+BAA+B;IAC/B,SAAS,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IAE1D,+CAA+C;IAC/C,IAAI,KAAK,EAAE,CAAC;QACV,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC;IAAA,CACF,CAAC,CAAA;AAAA,CACH;AAED;;GAEG;AACH,SAAS,QAAQ,GAAG;IAClB,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;QAAE,OAAM;IAEpD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,wBAAwB,EAAE,CAAA;QAEzE,gEAAgE;QAChE,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAA;QAEpC,2CAA2C;QAC3C,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,cAAc,EAAE,CAAA;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;IAAA,CACF,CAAC,CAAA;AAAA,CACH;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,MAAwB,EAAE;IACvD,gDAAgD;IAChD,IAAI,SAAS,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;QACD,OAAM;IACR,CAAC;IAED,mDAAmD;IACnD,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,CAAA;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAA;YACrD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,2CAA2C,CAC5C,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,IAAI,KAAK,CAAC,4CAA4C,EAAE;gBACtD,KAAK,EAAE,KAAK;aACb,CAAC,CACH,CAAA;QACH,CAAC;IACH,CAAC;AAAA,CACF;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAc,EAAE;IAC1C,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,MAAM,CAAC,KAAK,CACV,IAAI,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CACvE,CAAA;AAAA,CACF;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,GAAG;IACjC,IAAI,aAAa;QAAE,OAAM;IACzB,aAAa,GAAG,IAAI,CAAA;IAEpB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAE/B,IAAI,CAAC;QACH,MAAM,SAAS,EAAE,IAAI,EAAE,CAAA;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,WAAW,EAAE,KAAK,EAAE,CAAA;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAAA,CAChB;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAY,EAAE;IAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAAA,CAC9D;AAED;;GAEG;AACH,KAAK,UAAU,IAAI,GAAG;IACpB,0BAA0B;IAC1B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAA;IAEvD,kCAAkC;IAClC,MAAM,cAAc,EAAE,CAAA;IAEtB,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,MAAM;IAC/B,mBAAmB;IACnB,SAAS,CACV,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAExB,kDAAkD;IAClD,mBAAmB,CAAC,YAAY,CAAC,CAAA;IAEjC,aAAa;IACb,QAAQ,EAAE,CAAA;IAEV,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,SAAU,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;AAAA,CACF;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AAAA,CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/entrypoints/main.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,5 @@ export type RunWorkerOptions = {
11
11
  jobWorkerPool: string;
12
12
  };
13
13
  vite?: 'development' | 'production';
14
+ viteModuleRunnerTimeoutMs?: number;
14
15
  };
@@ -22,18 +22,38 @@ let runner;
22
22
  let workerModule;
23
23
  let runtime;
24
24
  let runtimeStarted = false;
25
+ let cleanupPromise = null;
25
26
  process.on('uncaughtException', (error) => {
26
27
  reportError(error, 'runtime', { fatal: true });
27
28
  });
28
29
  process.on('unhandledRejection', (error) => {
29
30
  reportError(error, 'runtime', { fatal: true });
30
31
  });
31
- process.on('exit', () => {
32
- void cleanup();
32
+ process.once('SIGTERM', () => {
33
+ void terminate(0);
34
+ });
35
+ process.once('SIGINT', () => {
36
+ void terminate(0);
37
+ });
38
+ process.once('beforeExit', () => {
39
+ if (!cleanupPromise && (runtimeStarted || runner)) {
40
+ void cleanup();
41
+ }
33
42
  });
34
43
  async function cleanup() {
35
- await stopRuntime();
36
- await closeRunner();
44
+ if (cleanupPromise)
45
+ return cleanupPromise;
46
+ cleanupPromise = (async () => {
47
+ await stopRuntime();
48
+ await closeRunner();
49
+ })().finally(() => {
50
+ cleanupPromise = null;
51
+ });
52
+ return cleanupPromise;
53
+ }
54
+ async function terminate(code) {
55
+ await cleanup();
56
+ process.exit(code);
37
57
  }
38
58
  async function closeRunner() {
39
59
  if (!runner)
@@ -105,7 +125,7 @@ async function loadWorkerModule() {
105
125
  try {
106
126
  if (workerData.vite) {
107
127
  const { createModuleRunner } = (await import('../vite/runners/worker.js'));
108
- runner = createModuleRunner(workerData.vite);
128
+ runner = createModuleRunner(workerData.vite, workerData.viteModuleRunnerTimeoutMs);
109
129
  workerModule = await runner.import(workerPath);
110
130
  }
111
131
  else {
@@ -128,8 +148,7 @@ async function initializeRuntime() {
128
148
  }
129
149
  workerData.port.on('message', async (msg) => {
130
150
  if (msg.type === 'stop') {
131
- await cleanup();
132
- process.exit(0);
151
+ await terminate(0);
133
152
  }
134
153
  });
135
154
  }
@@ -158,7 +177,6 @@ main().catch(async (error) => {
158
177
  if (!normalized[kReportedError]) {
159
178
  reportError(normalized, 'bootstrap');
160
179
  }
161
- await cleanup();
162
- process.exit(1);
180
+ await terminate(1);
163
181
  });
164
182
  //# sourceMappingURL=thread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/entrypoints/thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/entrypoints/thread.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
+ import { inspect } from 'node:util';
1
2
  import { Queue, UnrecoverableError, Worker } from 'bullmq';
2
3
  import { JobWorkerPool, WorkerType } from '../enums.js';
3
4
  import { getJobQueueName } from '../jobs/manager.js';
4
5
  import { createJobsUI } from '../jobs/ui.js';
5
6
  import { JobRunnersPool } from './worker-pool.js';
7
+ function enrichBullMqErrorStack(error) {
8
+ const normalized = error instanceof Error
9
+ ? error
10
+ : new Error(typeof error === 'string' ? error : inspect(error, false, 20, false));
11
+ normalized.stack = inspect(normalized, false, 20, false);
12
+ return normalized;
13
+ }
6
14
  /**
7
15
  * ApplicationServerJobs manages job worker pools and BullMQ queue workers.
8
16
  *
@@ -116,16 +124,18 @@ export class ApplicationServerJobs {
116
124
  switch (result.type) {
117
125
  case 'success':
118
126
  return result.result;
119
- case 'unrecoverable_error':
120
- throw new UnrecoverableError(typeof result.error === 'string'
121
- ? result.error
122
- : 'Unrecoverable error');
127
+ case 'unrecoverable_error': {
128
+ const error = enrichBullMqErrorStack(result.error);
129
+ const unrecoverableError = new UnrecoverableError(error.message);
130
+ unrecoverableError.stack = error.stack;
131
+ throw unrecoverableError;
132
+ }
123
133
  case 'job_not_found':
124
134
  case 'queue_job_not_found':
125
135
  throw new UnrecoverableError(result.type);
126
136
  case 'error':
127
137
  console.error(result.error);
128
- throw result.error;
138
+ throw enrichBullMqErrorStack(result.error);
129
139
  default:
130
140
  throw new UnrecoverableError('Unknown job task result');
131
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/server/jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/server/jobs.ts"],"names":[],"mappings":"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"}
@@ -138,10 +138,7 @@ export class JobWorkerRuntime extends BaseWorkerRuntime {
138
138
  if (error instanceof UnrecoverableError) {
139
139
  this.runtimeOptions.port.postMessage({
140
140
  type: 'task',
141
- data: {
142
- id,
143
- task: { type: 'unrecoverable_error', error: error.message },
144
- },
141
+ data: { id, task: { type: 'unrecoverable_error', error } },
145
142
  });
146
143
  }
147
144
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/runtime/workers/job.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { BroadcastChannel } from 'node:worker_threads';
2
2
  import { ModuleRunner } from 'vite/module-runner';
3
3
  export declare function createBroadcastChannel(threadId: number): BroadcastChannel;
4
- export declare function createModuleRunner(mode?: 'development' | 'production'): ModuleRunner;
4
+ export declare function createModuleRunner(mode?: 'development' | 'production', timeoutMs?: number): ModuleRunner;
@@ -4,11 +4,12 @@ import { createNodeImportMeta, ESModulesEvaluator, ModuleRunner, } from 'vite/mo
4
4
  export function createBroadcastChannel(threadId) {
5
5
  return new BroadcastChannel(`nmtjs:vite:${threadId}`);
6
6
  }
7
- export function createModuleRunner(mode = 'development') {
7
+ export function createModuleRunner(mode = 'development', timeoutMs = 5000) {
8
8
  // TODO: bun does not support isInternalThread yet
9
9
  if (isMainThread || wt.isInternalThread)
10
10
  throw new Error('Module runner can only be created inside worker threads.');
11
11
  const channel = createBroadcastChannel(threadId);
12
+ const transportTimeout = Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000;
12
13
  const transport = {
13
14
  connect({ onMessage, onDisconnection }) {
14
15
  // @ts-expect-error
@@ -20,7 +21,7 @@ export function createModuleRunner(mode = 'development') {
20
21
  send(data) {
21
22
  channel.postMessage(data);
22
23
  },
23
- timeout: 5000,
24
+ timeout: transportTimeout,
24
25
  };
25
26
  const runner = new ModuleRunner({
26
27
  transport,
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/runners/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EACT,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAoB;IACzE,OAAO,IAAI,gBAAgB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;AAAA,CACtD;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAI,GAAiC,aAAa,EACpC;IACd,kDAAkD;IAClD,IAAI,YAAY,IAAI,EAAE,CAAC,gBAAgB;QACrC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAE7E,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAEhD,MAAM,SAAS,GAA0B;QACvC,OAAO,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;YACtC,mBAAmB;YACnB,OAAO,CAAC,SAAS,GAAG,CAAC,KAA+B,EAAE,EAAE,CAAC;gBACvD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAAA,CACtB,CAAA;YACD,UAAW,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QAAA,CACzC;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAAA,CAC1B;QACD,OAAO,EAAE,IAAI;KACd,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAC7B;QACE,SAAS;QACT,gBAAgB,EAAE,oBAAoB;QACtC,GAAG,EACD,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YACrD,CAAC,CAAC,KAAK;KACZ,EACD,IAAI,kBAAkB,EAAE,CACzB,CAAA;IAED,OAAO,MAAM,CAAA;AAAA,CACd"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/runners/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EACT,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAoB;IACzE,OAAO,IAAI,gBAAgB,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;AAAA,CACtD;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAI,GAAiC,aAAa,EAClD,SAAS,GAAG,IAAI,EACF;IACd,kDAAkD;IAClD,IAAI,YAAY,IAAI,EAAE,CAAC,gBAAgB;QACrC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAE7E,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAEhD,MAAM,gBAAgB,GACpB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;IAEhE,MAAM,SAAS,GAA0B;QACvC,OAAO,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;YACtC,mBAAmB;YACnB,OAAO,CAAC,SAAS,GAAG,CAAC,KAA+B,EAAE,EAAE,CAAC;gBACvD,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAAA,CACtB,CAAA;YACD,UAAW,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QAAA,CACzC;QACD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAAA,CAC1B;QACD,OAAO,EAAE,gBAAgB;KAC1B,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAC7B;QACE,SAAS;QACT,gBAAgB,EAAE,oBAAoB;QACtC,GAAG,EACD,IAAI,KAAK,aAAa;YACpB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE;YACrD,CAAC,CAAC,KAAK;KACZ,EACD,IAAI,kBAAkB,EAAE,CACzB,CAAA;IAED,OAAO,MAAM,CAAA;AAAA,CACd"}
@@ -40,25 +40,37 @@ export async function createViteServer(options, mode, neemataConfig, events) {
40
40
  const channels = new Map();
41
41
  const clients = new Map();
42
42
  const handlers = new Map();
43
+ const emit = (event, data, client) => {
44
+ const listeners = handlers.get(event);
45
+ if (!listeners?.size)
46
+ return;
47
+ for (const listener of listeners) {
48
+ ;
49
+ listener(data, client);
50
+ }
51
+ };
43
52
  events.on('worker', (worker) => {
44
53
  const channel = createBroadcastChannel(worker.threadId);
45
- channel.onmessage = (event) => {
46
- const value = event.data;
47
- const handler = handlers.get(value.event);
48
- if (handler)
49
- handler(value.data, client);
50
- };
51
- channels.set(worker.threadId, channel);
52
54
  const client = {
53
55
  send: (payload) => {
54
56
  channel.postMessage(payload);
55
57
  },
56
58
  };
57
- clients.set(channel, client);
58
- worker.on('exit', () => {
59
- const handler = handlers.get('vite:client:disconnect');
60
- if (handler)
61
- handler(undefined, client);
59
+ channel.onmessage = (event) => {
60
+ const value = event.data;
61
+ if (value && typeof value.event === 'string') {
62
+ emit(value.event, value.data, client);
63
+ }
64
+ };
65
+ channels.set(worker.threadId, channel);
66
+ clients.set(worker.threadId, client);
67
+ emit('vite:client:connect', undefined, client);
68
+ worker.once('exit', () => {
69
+ emit('vite:client:disconnect', undefined, client);
70
+ channel.onmessage = () => { };
71
+ channel.close();
72
+ channels.delete(worker.threadId);
73
+ clients.delete(worker.threadId);
62
74
  });
63
75
  });
64
76
  const transport = {
@@ -68,10 +80,25 @@ export async function createViteServer(options, mode, neemataConfig, events) {
68
80
  }
69
81
  },
70
82
  on(event, handler) {
71
- handlers.set(event, handler);
83
+ let listeners = handlers.get(event);
84
+ if (!listeners) {
85
+ listeners = new Set();
86
+ handlers.set(event, listeners);
87
+ }
88
+ listeners.add(handler);
72
89
  },
73
- off(event) {
74
- handlers.delete(event);
90
+ off(event, handler) {
91
+ if (!handler) {
92
+ handlers.delete(event);
93
+ return;
94
+ }
95
+ const listeners = handlers.get(event);
96
+ if (!listeners)
97
+ return;
98
+ listeners.delete(handler);
99
+ if (!listeners.size) {
100
+ handlers.delete(event);
101
+ }
75
102
  },
76
103
  };
77
104
  return new DevEnvironment(name, config, {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/servers/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/servers/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -46,25 +46,25 @@
46
46
  "iovalkey": "^0.3.3",
47
47
  "oxc-resolver": "11.17.0",
48
48
  "prom-client": "git@github.com:siimon/prom-client.git#d4d2dcb366384833951e0116caca707b5f62aa5e",
49
- "vite": "8.0.0-beta.14",
50
- "@nmtjs/common": "0.15.0-beta.49",
51
- "@nmtjs/core": "0.15.0-beta.49",
52
- "@nmtjs/contract": "0.15.0-beta.49",
53
- "@nmtjs/gateway": "0.15.0-beta.49",
54
- "@nmtjs/http-transport": "0.15.0-beta.49",
55
- "@nmtjs/msgpack-format": "0.15.0-beta.49",
56
- "@nmtjs/protocol": "0.15.0-beta.49",
57
- "@nmtjs/type": "0.15.0-beta.49",
58
- "@nmtjs/json-format": "0.15.0-beta.49",
59
- "@nmtjs/ws-transport": "0.15.0-beta.49"
49
+ "vite": "8.0.0-beta.15",
50
+ "@nmtjs/common": "0.15.0-beta.50",
51
+ "@nmtjs/gateway": "0.15.0-beta.50",
52
+ "@nmtjs/contract": "0.15.0-beta.50",
53
+ "@nmtjs/msgpack-format": "0.15.0-beta.50",
54
+ "@nmtjs/http-transport": "0.15.0-beta.50",
55
+ "@nmtjs/json-format": "0.15.0-beta.50",
56
+ "@nmtjs/protocol": "0.15.0-beta.50",
57
+ "@nmtjs/core": "0.15.0-beta.50",
58
+ "@nmtjs/type": "0.15.0-beta.50",
59
+ "@nmtjs/ws-transport": "0.15.0-beta.50"
60
60
  },
61
61
  "devDependencies": {
62
- "@nmtjs/proxy": "1.0.0-beta.3",
62
+ "@nmtjs/proxy": "1.0.0-beta.4",
63
63
  "pino": "10.3.0",
64
64
  "zod": "^4.3.5"
65
65
  },
66
66
  "peerDependencies": {
67
- "@nmtjs/proxy": "1.0.0-beta.3",
67
+ "@nmtjs/proxy": "1.0.0-beta.4",
68
68
  "zod": "^4.3.5"
69
69
  },
70
70
  "peerDependenciesMeta": {
@@ -79,7 +79,7 @@
79
79
  "LICENSE.md",
80
80
  "README.md"
81
81
  ],
82
- "version": "0.15.0-beta.49",
82
+ "version": "0.15.0-beta.50",
83
83
  "scripts": {
84
84
  "clean-build": "rm -rf ./dist"
85
85
  }
@@ -43,9 +43,13 @@ const applicationsConfig: Record<
43
43
  const mode = _vite?.mode === 'development' ? 'development' : 'production'
44
44
  const isDev = mode === 'development'
45
45
  const errorPolicy = getErrorPolicy(mode)
46
+ const bootstrapLogger = createLogger(
47
+ { pinoOptions: { level: isDev ? 'debug' : 'info' } },
48
+ 'Main',
49
+ )
46
50
 
47
51
  // Logger for main process (created lazily with config-based level)
48
- let logger: ReturnType<typeof createLogger>
52
+ let logger: ReturnType<typeof createLogger> = bootstrapLogger
49
53
 
50
54
  // Vite server and events (dev only)
51
55
  let _viteServerEvents: EventEmitter<WorkerServerEventMap> | undefined
@@ -61,6 +65,22 @@ let currentServerConfig: ServerConfig | undefined
61
65
  // Track termination state
62
66
  let isTerminating = false
63
67
 
68
+ function resolveViteRunnerTimeoutMs(): number | undefined {
69
+ const raw = process.env.NMTJS_VITE_RUNNER_TIMEOUT_MS
70
+ if (!raw) return undefined
71
+
72
+ const parsed = Number.parseInt(raw, 10)
73
+ if (!Number.isFinite(parsed) || parsed <= 0) {
74
+ logger.warn(
75
+ { value: raw },
76
+ 'Invalid NMTJS_VITE_RUNNER_TIMEOUT_MS, falling back to default',
77
+ )
78
+ return undefined
79
+ }
80
+
81
+ return parsed
82
+ }
83
+
64
84
  /**
65
85
  * Create the ApplicationServer instance using currentServerConfig.
66
86
  */
@@ -71,7 +91,10 @@ function createServer(): ApplicationServer {
71
91
 
72
92
  const workerConfig = {
73
93
  path: fileURLToPath(new URL(`./thread${_ext}`, import.meta.url)),
74
- workerData: { vite: _vite?.mode },
94
+ workerData: {
95
+ vite: _vite?.mode,
96
+ viteModuleRunnerTimeoutMs: resolveViteRunnerTimeoutMs(),
97
+ },
75
98
  worker: _viteServerEvents
76
99
  ? (worker: Worker) => {
77
100
  _viteServerEvents!.emit('worker', worker)
@@ -234,15 +257,20 @@ async function handleTermination() {
234
257
  logger.error(new Error('Failed to stop server', { cause: error as Error }))
235
258
  }
236
259
 
237
- _viteServer?.close()
260
+ try {
261
+ await _viteServer?.close()
262
+ } catch (error) {
263
+ logger.error(new Error('Failed to close Vite server', { cause: error }))
264
+ }
238
265
  process.exit(0)
239
266
  }
240
267
 
241
268
  /**
242
269
  * Handle unexpected errors.
243
270
  */
244
- function handleUnexpectedError(error: Error) {
245
- logger.error(new Error('Unexpected Error', { cause: error }))
271
+ function handleUnexpectedError(error: unknown) {
272
+ const normalized = error instanceof Error ? error : new Error(String(error))
273
+ logger.error(new Error('Unexpected Error', { cause: normalized }))
246
274
  }
247
275
 
248
276
  /**
@@ -17,6 +17,7 @@ export type RunWorkerOptions = {
17
17
  | { type: 'application'; name: string; path: string; transportsData: any }
18
18
  | { type: 'jobs'; jobWorkerPool: string }
19
19
  vite?: 'development' | 'production'
20
+ viteModuleRunnerTimeoutMs?: number
20
21
  }
21
22
 
22
23
  const workerData = _workerData as RunWorkerOptions
@@ -42,6 +43,7 @@ let runner: ModuleRunner | undefined
42
43
  let workerModule: WorkerModule
43
44
  let runtime: WorkerRuntime | undefined
44
45
  let runtimeStarted = false
46
+ let cleanupPromise: Promise<void> | null = null
45
47
 
46
48
  process.on('uncaughtException', (error) => {
47
49
  reportError(error, 'runtime', { fatal: true })
@@ -51,13 +53,36 @@ process.on('unhandledRejection', (error) => {
51
53
  reportError(error, 'runtime', { fatal: true })
52
54
  })
53
55
 
54
- process.on('exit', () => {
55
- void cleanup()
56
+ process.once('SIGTERM', () => {
57
+ void terminate(0)
58
+ })
59
+
60
+ process.once('SIGINT', () => {
61
+ void terminate(0)
62
+ })
63
+
64
+ process.once('beforeExit', () => {
65
+ if (!cleanupPromise && (runtimeStarted || runner)) {
66
+ void cleanup()
67
+ }
56
68
  })
57
69
 
58
70
  async function cleanup() {
59
- await stopRuntime()
60
- await closeRunner()
71
+ if (cleanupPromise) return cleanupPromise
72
+
73
+ cleanupPromise = (async () => {
74
+ await stopRuntime()
75
+ await closeRunner()
76
+ })().finally(() => {
77
+ cleanupPromise = null
78
+ })
79
+
80
+ return cleanupPromise
81
+ }
82
+
83
+ async function terminate(code: number) {
84
+ await cleanup()
85
+ process.exit(code)
61
86
  }
62
87
 
63
88
  async function closeRunner() {
@@ -136,7 +161,10 @@ async function loadWorkerModule() {
136
161
  '../vite/runners/worker.ts'
137
162
  )) as typeof import('../vite/runners/worker.ts')
138
163
 
139
- runner = createModuleRunner(workerData.vite)
164
+ runner = createModuleRunner(
165
+ workerData.vite,
166
+ workerData.viteModuleRunnerTimeoutMs,
167
+ )
140
168
  workerModule = await runner.import(workerPath)
141
169
  } else {
142
170
  runner = undefined
@@ -159,8 +187,7 @@ async function initializeRuntime() {
159
187
 
160
188
  workerData.port.on('message', async (msg) => {
161
189
  if (msg.type === 'stop') {
162
- await cleanup()
163
- process.exit(0)
190
+ await terminate(0)
164
191
  }
165
192
  })
166
193
  }
@@ -190,6 +217,5 @@ main().catch(async (error) => {
190
217
  if (!(normalized as any)[kReportedError]) {
191
218
  reportError(normalized, 'bootstrap')
192
219
  }
193
- await cleanup()
194
- process.exit(1)
220
+ await terminate(1)
195
221
  })
@@ -1,3 +1,5 @@
1
+ import { inspect } from 'node:util'
2
+
1
3
  import type { Logger } from '@nmtjs/core'
2
4
  import type { RedisClient } from 'bullmq'
3
5
  import { Queue, UnrecoverableError, Worker } from 'bullmq'
@@ -18,6 +20,19 @@ import { getJobQueueName } from '../jobs/manager.ts'
18
20
  import { createJobsUI } from '../jobs/ui.ts'
19
21
  import { JobRunnersPool } from './worker-pool.ts'
20
22
 
23
+ function enrichBullMqErrorStack(error: unknown): Error {
24
+ const normalized =
25
+ error instanceof Error
26
+ ? error
27
+ : new Error(
28
+ typeof error === 'string' ? error : inspect(error, false, 20, false),
29
+ )
30
+
31
+ normalized.stack = inspect(normalized, false, 20, false)
32
+
33
+ return normalized
34
+ }
35
+
21
36
  /**
22
37
  * ApplicationServerJobs manages job worker pools and BullMQ queue workers.
23
38
  *
@@ -188,18 +203,18 @@ export class ApplicationServerJobs {
188
203
  switch (result.type) {
189
204
  case 'success':
190
205
  return result.result
191
- case 'unrecoverable_error':
192
- throw new UnrecoverableError(
193
- typeof result.error === 'string'
194
- ? result.error
195
- : 'Unrecoverable error',
196
- )
206
+ case 'unrecoverable_error': {
207
+ const error = enrichBullMqErrorStack(result.error)
208
+ const unrecoverableError = new UnrecoverableError(error.message)
209
+ unrecoverableError.stack = error.stack
210
+ throw unrecoverableError
211
+ }
197
212
  case 'job_not_found':
198
213
  case 'queue_job_not_found':
199
214
  throw new UnrecoverableError(result.type)
200
215
  case 'error':
201
216
  console.error(result.error)
202
- throw result.error
217
+ throw enrichBullMqErrorStack(result.error)
203
218
  default:
204
219
  throw new UnrecoverableError('Unknown job task result')
205
220
  }
@@ -114,10 +114,7 @@ export class JobWorkerRuntime extends BaseWorkerRuntime {
114
114
  if (error instanceof UnrecoverableError) {
115
115
  this.runtimeOptions.port.postMessage({
116
116
  type: 'task',
117
- data: {
118
- id,
119
- task: { type: 'unrecoverable_error', error: error.message },
120
- },
117
+ data: { id, task: { type: 'unrecoverable_error', error } },
121
118
  } satisfies ThreadPortMessage)
122
119
  } else {
123
120
  this.runtimeOptions.port.postMessage({
@@ -20,6 +20,7 @@ export function createBroadcastChannel(threadId: number): BroadcastChannel {
20
20
 
21
21
  export function createModuleRunner(
22
22
  mode: 'development' | 'production' = 'development',
23
+ timeoutMs = 5000,
23
24
  ): ModuleRunner {
24
25
  // TODO: bun does not support isInternalThread yet
25
26
  if (isMainThread || wt.isInternalThread)
@@ -27,6 +28,9 @@ export function createModuleRunner(
27
28
 
28
29
  const channel = createBroadcastChannel(threadId)
29
30
 
31
+ const transportTimeout =
32
+ Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000
33
+
30
34
  const transport: ModuleRunnerTransport = {
31
35
  connect({ onMessage, onDisconnection }) {
32
36
  // @ts-expect-error
@@ -38,7 +42,7 @@ export function createModuleRunner(
38
42
  send(data) {
39
43
  channel.postMessage(data)
40
44
  },
41
- timeout: 5000,
45
+ timeout: transportTimeout,
42
46
  }
43
47
 
44
48
  const runner = new ModuleRunner(
@@ -72,26 +72,48 @@ export async function createViteServer(
72
72
  {
73
73
  createEnvironment: async (name, config, context) => {
74
74
  const channels = new Map<number, BroadcastChannel>()
75
- const clients = new Map<BroadcastChannel, HotChannelClient>()
76
- const handlers = new Map<string, HotChannelListener>()
75
+ const clients = new Map<number, HotChannelClient>()
76
+ const handlers = new Map<string, Set<Function>>()
77
+
78
+ const emit = (
79
+ event: string,
80
+ data: unknown,
81
+ client: HotChannelClient,
82
+ ) => {
83
+ const listeners = handlers.get(event)
84
+ if (!listeners?.size) return
85
+ for (const listener of listeners) {
86
+ ;(listener as HotChannelListener)(data, client)
87
+ }
88
+ }
77
89
 
78
90
  events.on('worker', (worker) => {
79
91
  const channel = createBroadcastChannel(worker.threadId)
80
- channel.onmessage = (event) => {
81
- const value = event.data
82
- const handler = handlers.get(value.event)
83
- if (handler) handler(value.data, client)
84
- }
85
- channels.set(worker.threadId, channel)
86
- const client = {
92
+ const client: HotChannelClient = {
87
93
  send: (payload: HotPayload) => {
88
94
  channel.postMessage(payload)
89
95
  },
90
96
  }
91
- clients.set(channel, client)
92
- worker.on('exit', () => {
93
- const handler = handlers.get('vite:client:disconnect')
94
- if (handler) handler(undefined, client)
97
+
98
+ channel.onmessage = (event) => {
99
+ const value = event.data
100
+ if (value && typeof value.event === 'string') {
101
+ emit(value.event, value.data, client)
102
+ }
103
+ }
104
+
105
+ channels.set(worker.threadId, channel)
106
+ clients.set(worker.threadId, client)
107
+
108
+ emit('vite:client:connect', undefined, client)
109
+
110
+ worker.once('exit', () => {
111
+ emit('vite:client:disconnect', undefined, client)
112
+
113
+ channel.onmessage = () => {}
114
+ channel.close()
115
+ channels.delete(worker.threadId)
116
+ clients.delete(worker.threadId)
95
117
  })
96
118
  })
97
119
 
@@ -102,10 +124,25 @@ export async function createViteServer(
102
124
  }
103
125
  },
104
126
  on(event, handler) {
105
- handlers.set(event, handler)
127
+ let listeners = handlers.get(event)
128
+ if (!listeners) {
129
+ listeners = new Set()
130
+ handlers.set(event, listeners)
131
+ }
132
+ listeners.add(handler)
106
133
  },
107
- off(event) {
108
- handlers.delete(event)
134
+ off(event, handler) {
135
+ if (!handler) {
136
+ handlers.delete(event)
137
+ return
138
+ }
139
+
140
+ const listeners = handlers.get(event)
141
+ if (!listeners) return
142
+ listeners.delete(handler)
143
+ if (!listeners.size) {
144
+ handlers.delete(event)
145
+ }
109
146
  },
110
147
  }
111
148