@antelopejs/core 1.13.1 → 1.13.2

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.
Files changed (35) hide show
  1. package/dist/core/cli/commands/project/dev-action.js +5 -2
  2. package/dist/core/cli/commands/project/dev-action.js.map +1 -1
  3. package/dist/core/cli/full-cli.js +2 -2
  4. package/dist/core/cli/full-cli.js.map +1 -1
  5. package/dist/core/cli/help.d.ts +0 -2
  6. package/dist/core/cli/help.js +4 -31
  7. package/dist/core/cli/help.js.map +1 -1
  8. package/dist/core/cli/index.js +3 -2
  9. package/dist/core/cli/index.js.map +1 -1
  10. package/dist/core/cli/output/format.d.ts +2 -0
  11. package/dist/core/cli/output/format.js +29 -0
  12. package/dist/core/cli/output/format.js.map +1 -1
  13. package/dist/core/cli/output/types.d.ts +1 -1
  14. package/dist/core/cli/output/ui.js +36 -14
  15. package/dist/core/cli/output/ui.js.map +1 -1
  16. package/dist/core/cli/plugin-arguments.d.ts +1 -0
  17. package/dist/core/cli/plugin-arguments.js +17 -2
  18. package/dist/core/cli/plugin-arguments.js.map +1 -1
  19. package/dist/core/cli/public.d.ts +2 -2
  20. package/dist/core/cli/public.js +3 -3
  21. package/dist/core/cli/public.js.map +1 -1
  22. package/dist/core/runtime/launch-sequence.js +12 -5
  23. package/dist/core/runtime/launch-sequence.js.map +1 -1
  24. package/dist/core/runtime/process-claim.d.ts +7 -0
  25. package/dist/core/runtime/process-claim.js +111 -0
  26. package/dist/core/runtime/process-claim.js.map +1 -0
  27. package/dist/core/runtime/project-launch.js +2 -66
  28. package/dist/core/runtime/project-launch.js.map +1 -1
  29. package/dist/core/shutdown/process-tree.d.ts +1 -0
  30. package/dist/core/shutdown/process-tree.js +9 -0
  31. package/dist/core/shutdown/process-tree.js.map +1 -1
  32. package/dist/core/shutdown/shutdown-manager.d.ts +12 -4
  33. package/dist/core/shutdown/shutdown-manager.js +70 -36
  34. package/dist/core/shutdown/shutdown-manager.js.map +1 -1
  35. package/package.json +1 -1
@@ -40,7 +40,6 @@ exports.prepareFromRefreshedArtifact = exports.prepareFromArtifact = exports.pre
40
40
  exports.memoizeLoaderContext = memoizeLoaderContext;
41
41
  exports.runLaunchSequence = runLaunchSequence;
42
42
  const node_path_1 = __importDefault(require("node:path"));
43
- const shutdown_1 = require("../shutdown");
44
43
  const filesystem_1 = require("../filesystem");
45
44
  const module_manager_1 = require("../module-manager");
46
45
  const tasks_1 = require("../cli/output/tasks");
@@ -50,6 +49,7 @@ const dev_server_registry_1 = require("./dev-server-registry");
50
49
  const runtime_policy_1 = require("./runtime-policy");
51
50
  const build_runtime_1 = require("./build-runtime");
52
51
  const runtime_bootstrap_1 = require("./runtime-bootstrap");
52
+ const process_claim_1 = require("./process-claim");
53
53
  const module_loading_1 = require("./module-loading");
54
54
  function memoizeLoaderContext(create) {
55
55
  let pending;
@@ -114,8 +114,16 @@ const prepareFromRefreshedArtifact = async (projectFolder, env) => {
114
114
  return prepareFromBuiltArtifact(artifact, projectFolder, fs, () => (0, build_runtime_1.ensureBuildModulesExist)(artifact, fs));
115
115
  };
116
116
  exports.prepareFromRefreshedArtifact = prepareFromRefreshedArtifact;
117
+ function armShutdown(shutdownManager, manager, policy) {
118
+ const moduleShutdown = (0, process_claim_1.registerModuleShutdownHandler)(shutdownManager, manager);
119
+ if (policy.processHandlers) {
120
+ (0, runtime_bootstrap_1.setupProcessHandlers)(shutdownManager);
121
+ }
122
+ (0, process_claim_1.claimProcess)(shutdownManager, policy);
123
+ return moduleShutdown;
124
+ }
117
125
  async function runLaunchSequence(prepare, projectFolder, env, options, policy = runtime_policy_1.DEFAULT_RUNTIME_POLICY) {
118
- const shutdownManager = new shutdown_1.ShutdownManager();
126
+ const shutdownManager = (0, process_claim_1.createShutdownManager)(policy);
119
127
  const manager = new module_manager_1.ModuleManager();
120
128
  const request = {
121
129
  prepare,
@@ -124,15 +132,14 @@ async function runLaunchSequence(prepare, projectFolder, env, options, policy =
124
132
  options,
125
133
  policy,
126
134
  };
127
- if (policy.processHandlers) {
128
- (0, runtime_bootstrap_1.setupProcessHandlers)(shutdownManager);
129
- }
135
+ const moduleShutdown = armShutdown(shutdownManager, manager, policy);
130
136
  const previouslySilent = tasks_1.terminalDisplay.isSilent();
131
137
  tasks_1.terminalDisplay.setSilent(!policy.terminal);
132
138
  try {
133
139
  return await completeLaunchSequence(request, shutdownManager, manager);
134
140
  }
135
141
  catch (error) {
142
+ shutdownManager.unregister(moduleShutdown);
136
143
  const cleanupErrors = await cleanupFailedLaunch(manager, shutdownManager);
137
144
  (0, runtime_bootstrap_1.releaseProcessShutdownManager)(shutdownManager);
138
145
  if (cleanupErrors.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"launch-sequence.js","sourceRoot":"","sources":["../../../src/core/runtime/launch-sequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch-sequence.js","sourceRoot":"","sources":["../../../src/core/runtime/launch-sequence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ModuleManager } from "../module-manager";
2
+ import type { RuntimePolicy } from "./runtime-policy";
3
+ import { type ShutdownHandler, ShutdownManager } from "../shutdown";
4
+ export declare function getActiveShutdownManager(): ShutdownManager | undefined;
5
+ export declare function createShutdownManager(policy: RuntimePolicy): ShutdownManager;
6
+ export declare function registerModuleShutdownHandler(shutdownManager: ShutdownManager, manager: ModuleManager): ShutdownHandler;
7
+ export declare function claimProcess(shutdownManager: ShutdownManager, policy: RuntimePolicy): void;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getActiveShutdownManager = getActiveShutdownManager;
4
+ exports.createShutdownManager = createShutdownManager;
5
+ exports.registerModuleShutdownHandler = registerModuleShutdownHandler;
6
+ exports.claimProcess = claimProcess;
7
+ const logging_1 = require("@antelopejs/interface-core/logging");
8
+ const tasks_1 = require("../cli/output/tasks");
9
+ const runtime_bootstrap_1 = require("./runtime-bootstrap");
10
+ const shutdown_1 = require("../shutdown");
11
+ const Logger = new logging_1.Logging.Channel("loader");
12
+ const SHUTDOWN_PRIORITY_MODULES = 30;
13
+ const SHUTDOWN_PRIORITY_CHILD_PROCESSES = 15;
14
+ const SHUTDOWN_PRIORITY_CLEANUP = 10;
15
+ const STOPPING_LABELS = {
16
+ SIGINT: "Stopping the project (Ctrl+C again to force)",
17
+ SIGTERM: "Stopping the project",
18
+ };
19
+ const STOPPED_LABEL = "Stopped the project";
20
+ const TIMED_OUT_LABEL = "Stopped the project after the shutdown timed out";
21
+ const FORCED_LABEL = "Stopped the project without waiting for its shutdown";
22
+ const activeShutdownManagers = [];
23
+ function getActiveShutdownManager() {
24
+ return activeShutdownManagers.at(-1);
25
+ }
26
+ function setActiveShutdownManager(shutdownManager) {
27
+ releaseActiveShutdownManager(shutdownManager);
28
+ activeShutdownManagers.at(-1)?.removeSignalHandlers();
29
+ activeShutdownManagers.push(shutdownManager);
30
+ shutdownManager.setupSignalHandlers();
31
+ }
32
+ function releaseActiveShutdownManager(shutdownManager) {
33
+ const index = activeShutdownManagers.indexOf(shutdownManager);
34
+ if (index === -1) {
35
+ return;
36
+ }
37
+ const wasActive = index === activeShutdownManagers.length - 1;
38
+ activeShutdownManagers.splice(index, 1);
39
+ shutdownManager.removeSignalHandlers();
40
+ if (wasActive) {
41
+ activeShutdownManagers.at(-1)?.setupSignalHandlers();
42
+ }
43
+ }
44
+ function createStopListener(isReported) {
45
+ let task;
46
+ return {
47
+ onStopping: (signal) => {
48
+ task = isReported
49
+ ? (0, tasks_1.getProcessTasks)().start(STOPPING_LABELS[signal])
50
+ : undefined;
51
+ },
52
+ onStopped: (hasTimedOut) => {
53
+ if (hasTimedOut) {
54
+ task?.warn(TIMED_OUT_LABEL);
55
+ return;
56
+ }
57
+ task?.succeed(STOPPED_LABEL);
58
+ },
59
+ onForced: () => {
60
+ (0, shutdown_1.killProcessTree)();
61
+ task?.warn(FORCED_LABEL);
62
+ },
63
+ };
64
+ }
65
+ function createShutdownManager(policy) {
66
+ return new shutdown_1.ShutdownManager(shutdown_1.DEFAULT_SHUTDOWN_TIMEOUT_MS, process, createStopListener(policy.terminal));
67
+ }
68
+ async function shutdownModules(manager) {
69
+ const errors = [];
70
+ try {
71
+ await manager.stopAll();
72
+ }
73
+ catch (error) {
74
+ errors.push(error);
75
+ }
76
+ try {
77
+ await manager.destroyAll();
78
+ }
79
+ catch (error) {
80
+ errors.push(error);
81
+ }
82
+ if (errors.length > 0) {
83
+ throw new AggregateError(errors, "Shutdown failed");
84
+ }
85
+ }
86
+ function registerModuleShutdownHandler(shutdownManager, manager) {
87
+ const handler = () => shutdownModules(manager);
88
+ shutdownManager.register(handler, SHUTDOWN_PRIORITY_MODULES);
89
+ return handler;
90
+ }
91
+ function registerChildProcessCleanup(shutdownManager) {
92
+ shutdownManager.register(async () => {
93
+ const terminated = await (0, shutdown_1.terminateProcessTree)();
94
+ if (terminated.length > 0) {
95
+ Logger.Debug(`Terminated ${terminated.length} leftover child process(es): ${terminated.join(", ")}`);
96
+ }
97
+ }, SHUTDOWN_PRIORITY_CHILD_PROCESSES);
98
+ }
99
+ function claimProcess(shutdownManager, policy) {
100
+ if (policy.signals) {
101
+ registerChildProcessCleanup(shutdownManager);
102
+ }
103
+ shutdownManager.register(async () => {
104
+ releaseActiveShutdownManager(shutdownManager);
105
+ (0, runtime_bootstrap_1.releaseProcessShutdownManager)(shutdownManager);
106
+ }, SHUTDOWN_PRIORITY_CLEANUP);
107
+ if (policy.signals) {
108
+ setActiveShutdownManager(shutdownManager);
109
+ }
110
+ }
111
+ //# sourceMappingURL=process-claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-claim.js","sourceRoot":"","sources":["../../../src/core/runtime/process-claim.ts"],"names":[],"mappings":"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"}
@@ -37,74 +37,18 @@ exports.startProject = startProject;
37
37
  exports.launchFromBuild = launchFromBuild;
38
38
  const node_stream_1 = require("node:stream");
39
39
  const logging_1 = require("@antelopejs/interface-core/logging");
40
+ const process_claim_1 = require("./process-claim");
40
41
  const runtime_bootstrap_1 = require("./runtime-bootstrap");
41
42
  const config_paths_1 = require("../config/config-paths");
42
- const shutdown_1 = require("../shutdown");
43
43
  const runtime_policy_1 = require("./runtime-policy");
44
44
  const launch_sequence_1 = require("./launch-sequence");
45
45
  const Logger = new logging_1.Logging.Channel("loader");
46
46
  const MAX_STREAM_LISTENERS = 20;
47
47
  const INTERACTIVE_PROMPT = "> ";
48
- const SHUTDOWN_PRIORITY_MODULES = 30;
49
48
  const SHUTDOWN_PRIORITY_RESOURCES = 20;
50
- const SHUTDOWN_PRIORITY_CHILD_PROCESSES = 15;
51
49
  const SHUTDOWN_PRIORITY_CLEANUP = 10;
52
50
  const UNSUPPORTED_ARTIFACT_OPTIONS_WARNING = "Watch and interactive modes are only available when launching from configuration; ignoring them for this build artifact launch.";
53
51
  node_stream_1.Writable.prototype.setMaxListeners(MAX_STREAM_LISTENERS);
54
- const activeShutdownManagers = [];
55
- function setActiveShutdownManager(shutdownManager) {
56
- releaseActiveShutdownManager(shutdownManager);
57
- activeShutdownManagers.at(-1)?.removeSignalHandlers();
58
- activeShutdownManagers.push(shutdownManager);
59
- shutdownManager.setupSignalHandlers();
60
- }
61
- function releaseActiveShutdownManager(shutdownManager) {
62
- const index = activeShutdownManagers.indexOf(shutdownManager);
63
- if (index === -1) {
64
- return;
65
- }
66
- const wasActive = index === activeShutdownManagers.length - 1;
67
- activeShutdownManagers.splice(index, 1);
68
- shutdownManager.removeSignalHandlers();
69
- if (wasActive) {
70
- activeShutdownManagers.at(-1)?.setupSignalHandlers();
71
- }
72
- }
73
- function registerModuleShutdownHandler(shutdownManager, manager) {
74
- shutdownManager.register(() => shutdownModules(manager), SHUTDOWN_PRIORITY_MODULES);
75
- }
76
- async function shutdownModules(manager) {
77
- const errors = [];
78
- try {
79
- await manager.stopAll();
80
- }
81
- catch (error) {
82
- errors.push(error);
83
- }
84
- try {
85
- await manager.destroyAll();
86
- }
87
- catch (error) {
88
- errors.push(error);
89
- }
90
- if (errors.length > 0) {
91
- throw new AggregateError(errors, "Shutdown failed");
92
- }
93
- }
94
- function registerChildProcessCleanup(shutdownManager) {
95
- shutdownManager.register(async () => {
96
- const terminated = await (0, shutdown_1.terminateProcessTree)();
97
- if (terminated.length > 0) {
98
- Logger.Debug(`Terminated ${terminated.length} leftover child process(es): ${terminated.join(", ")}`);
99
- }
100
- }, SHUTDOWN_PRIORITY_CHILD_PROCESSES);
101
- }
102
- function registerShutdownCleanup(shutdownManager) {
103
- shutdownManager.register(async () => {
104
- releaseActiveShutdownManager(shutdownManager);
105
- (0, runtime_bootstrap_1.releaseProcessShutdownManager)(shutdownManager);
106
- }, SHUTDOWN_PRIORITY_CLEANUP);
107
- }
108
52
  function keepRunningThroughFailedReloads(shutdownManager) {
109
53
  const withdraw = (0, runtime_bootstrap_1.tolerateInvalidatedModuleWork)();
110
54
  shutdownManager.register(async () => {
@@ -151,11 +95,6 @@ async function setupWatching(manager, fs, projectFolder, env, options, shutdownM
151
95
  }
152
96
  async function setupPostLaunchFeatures(started, projectFolder, env, options) {
153
97
  const { manager, shutdownManager } = started;
154
- registerModuleShutdownHandler(shutdownManager, manager);
155
- if (started.policy.signals) {
156
- registerChildProcessCleanup(shutdownManager);
157
- }
158
- registerShutdownCleanup(shutdownManager);
159
98
  if (!started.dev && (options.watch || options.interactive)) {
160
99
  Logger.Warn(UNSUPPORTED_ARTIFACT_OPTIONS_WARNING);
161
100
  }
@@ -170,9 +109,6 @@ async function setupPostLaunchFeatures(started, projectFolder, env, options) {
170
109
  }, SHUTDOWN_PRIORITY_RESOURCES);
171
110
  repl.start(INTERACTIVE_PROMPT);
172
111
  }
173
- if (started.policy.signals) {
174
- setActiveShutdownManager(shutdownManager);
175
- }
176
112
  }
177
113
  async function startProject(prepare, projectFolder, env, options, policy = runtime_policy_1.DEFAULT_RUNTIME_POLICY) {
178
114
  const started = await (0, launch_sequence_1.runLaunchSequence)(prepare, projectFolder, env, options, policy);
@@ -191,7 +127,7 @@ async function restartProject(projectFolder, env, options) {
191
127
  return;
192
128
  isRestarting = true;
193
129
  try {
194
- const activeShutdownManager = activeShutdownManagers.at(-1);
130
+ const activeShutdownManager = (0, process_claim_1.getActiveShutdownManager)();
195
131
  if (activeShutdownManager) {
196
132
  await activeShutdownManager.shutdown();
197
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-launch.js","sourceRoot":"","sources":["../../../src/core/runtime/project-launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-launch.js","sourceRoot":"","sources":["../../../src/core/runtime/project-launch.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export interface ProcessTreeOptions {
8
8
  gracePeriodMs?: number;
9
9
  }
10
10
  export declare function collectDescendants(rootPid: number, options?: ProcessTreeOptions): number[];
11
+ export declare function killProcessTree(rootPid?: number, options?: ProcessTreeOptions): number[];
11
12
  export declare function terminateProcessTree(rootPid?: number, options?: ProcessTreeOptions): Promise<number[]>;
12
13
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.collectDescendants = collectDescendants;
4
+ exports.killProcessTree = killProcessTree;
4
5
  exports.terminateProcessTree = terminateProcessTree;
5
6
  const node_fs_1 = require("node:fs");
6
7
  const PROC_PATH = "/proc";
@@ -92,6 +93,14 @@ function collectDescendants(rootPid, options = {}) {
92
93
  }
93
94
  return descendants;
94
95
  }
96
+ function killProcessTree(rootPid = process.pid, options = {}) {
97
+ const kill = options.kill ?? defaultKill;
98
+ const descendants = collectDescendants(rootPid, options);
99
+ for (const pid of descendants) {
100
+ signal(pid, "SIGKILL", kill);
101
+ }
102
+ return descendants;
103
+ }
95
104
  async function terminateProcessTree(rootPid = process.pid, options = {}) {
96
105
  const descendants = collectDescendants(rootPid, options);
97
106
  if (descendants.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../../../src/core/shutdown/process-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../../../src/core/shutdown/process-tree.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,20 @@
1
1
  export type ShutdownHandler = () => Promise<void> | void;
2
- type ProcessSignal = "SIGINT" | "SIGTERM";
2
+ export type ProcessSignal = "SIGINT" | "SIGTERM";
3
3
  export interface ProcessSignalSource {
4
4
  on(signal: ProcessSignal, listener: () => void): unknown;
5
5
  removeListener(signal: ProcessSignal, listener: () => void): unknown;
6
6
  }
7
+ export interface SignalShutdownListener {
8
+ onStopping(signal: ProcessSignal): void;
9
+ onStopped(hasTimedOut: boolean): void;
10
+ onForced(signal: ProcessSignal): void;
11
+ }
7
12
  export declare const DEFAULT_SHUTDOWN_TIMEOUT_MS = 10000;
13
+ export declare const SHUTDOWN_CLEANUP_TIMEOUT_MS = 3000;
8
14
  export declare class ShutdownManager {
9
15
  private timeoutMs;
10
16
  private signalSource;
17
+ private signalListener;
11
18
  private handlers;
12
19
  private isShuttingDown;
13
20
  private shutdownPromise?;
@@ -15,7 +22,7 @@ export declare class ShutdownManager {
15
22
  private sigintHandler?;
16
23
  private sigtermHandler?;
17
24
  private seenSignals;
18
- constructor(timeoutMs?: number, signalSource?: ProcessSignalSource);
25
+ constructor(timeoutMs?: number, signalSource?: ProcessSignalSource, signalListener?: SignalShutdownListener);
19
26
  register(handler: ShutdownHandler, priority: number): void;
20
27
  unregister(handler: ShutdownHandler): void;
21
28
  shutdown(exitCode?: number): Promise<void>;
@@ -24,9 +31,10 @@ export declare class ShutdownManager {
24
31
  removeSignalHandlers(): void;
25
32
  private detachSignalHandler;
26
33
  private handleSignal;
34
+ private handleSignalDuringShutdown;
27
35
  private updateRequestedExitCode;
28
36
  private executeShutdown;
29
- private runHandlersWithTimeout;
30
37
  private executeHandlers;
38
+ private runHandlersWithin;
39
+ private runHandler;
31
40
  }
32
- export {};
@@ -1,14 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShutdownManager = exports.DEFAULT_SHUTDOWN_TIMEOUT_MS = void 0;
3
+ exports.ShutdownManager = exports.SHUTDOWN_CLEANUP_TIMEOUT_MS = exports.DEFAULT_SHUTDOWN_TIMEOUT_MS = void 0;
4
4
  const logging_1 = require("@antelopejs/interface-core/logging");
5
+ const exit_codes_1 = require("../cli/exit-codes");
5
6
  const Logger = new logging_1.Logging.Channel("shutdown");
6
7
  exports.DEFAULT_SHUTDOWN_TIMEOUT_MS = 10000;
7
- const EXIT_CODE_SUCCESS = 0;
8
- const FORCE_EXIT_CODE = 1;
8
+ exports.SHUTDOWN_CLEANUP_TIMEOUT_MS = 3000;
9
+ const MILLISECONDS_PER_SECOND = 1000;
10
+ const SIGNAL_EXIT_CODES = {
11
+ SIGINT: exit_codes_1.CANCELLED_EXIT_CODE,
12
+ SIGTERM: exit_codes_1.SUCCESS_EXIT_CODE,
13
+ };
14
+ const FORCED_EXIT_CODES = {
15
+ SIGINT: exit_codes_1.CANCELLED_EXIT_CODE,
16
+ SIGTERM: exit_codes_1.FAILURE_EXIT_CODE,
17
+ };
18
+ const SILENT_LISTENER = {
19
+ onStopping: () => undefined,
20
+ onStopped: () => undefined,
21
+ onForced: () => undefined,
22
+ };
23
+ function settleWithin(work, timeoutMs) {
24
+ let timer;
25
+ const timeout = new Promise((resolve) => {
26
+ timer = setTimeout(() => resolve(false), timeoutMs);
27
+ });
28
+ return Promise.race([work.then(() => true), timeout]).finally(() => clearTimeout(timer));
29
+ }
9
30
  class ShutdownManager {
10
31
  timeoutMs;
11
32
  signalSource;
33
+ signalListener;
12
34
  handlers = [];
13
35
  isShuttingDown = false;
14
36
  shutdownPromise;
@@ -16,9 +38,10 @@ class ShutdownManager {
16
38
  sigintHandler;
17
39
  sigtermHandler;
18
40
  seenSignals = new Set();
19
- constructor(timeoutMs = exports.DEFAULT_SHUTDOWN_TIMEOUT_MS, signalSource = process) {
41
+ constructor(timeoutMs = exports.DEFAULT_SHUTDOWN_TIMEOUT_MS, signalSource = process, signalListener = SILENT_LISTENER) {
20
42
  this.timeoutMs = timeoutMs;
21
43
  this.signalSource = signalSource;
44
+ this.signalListener = signalListener;
22
45
  }
23
46
  register(handler, priority) {
24
47
  this.handlers.push({ handler, priority });
@@ -61,17 +84,22 @@ class ShutdownManager {
61
84
  }
62
85
  handleSignal(signal) {
63
86
  if (this.isShuttingDown) {
64
- if (this.seenSignals.has(signal)) {
65
- Logger.Warn(`Received ${signal} during shutdown. Forcing process exit.`);
66
- process.exit(FORCE_EXIT_CODE);
67
- return;
68
- }
69
- this.seenSignals.add(signal);
70
- Logger.Info(`Received ${signal} during graceful shutdown; ignoring (already shutting down).`);
87
+ this.handleSignalDuringShutdown(signal);
88
+ return;
89
+ }
90
+ this.seenSignals.add(signal);
91
+ this.signalListener.onStopping(signal);
92
+ void this.shutdown(SIGNAL_EXIT_CODES[signal]);
93
+ }
94
+ handleSignalDuringShutdown(signal) {
95
+ if (this.seenSignals.has(signal)) {
96
+ Logger.Warn(`Received ${signal} during shutdown. Forcing process exit.`);
97
+ this.signalListener.onForced(signal);
98
+ process.exit(FORCED_EXIT_CODES[signal]);
71
99
  return;
72
100
  }
73
101
  this.seenSignals.add(signal);
74
- void this.shutdown(EXIT_CODE_SUCCESS);
102
+ Logger.Info(`Received ${signal} during graceful shutdown; ignoring (already shutting down).`);
75
103
  }
76
104
  updateRequestedExitCode(exitCode) {
77
105
  if (typeof exitCode !== "number") {
@@ -81,42 +109,48 @@ class ShutdownManager {
81
109
  this.requestedExitCode = exitCode;
82
110
  return;
83
111
  }
84
- if (this.requestedExitCode === EXIT_CODE_SUCCESS &&
85
- exitCode !== EXIT_CODE_SUCCESS) {
112
+ if (this.requestedExitCode === exit_codes_1.SUCCESS_EXIT_CODE &&
113
+ exitCode !== exit_codes_1.SUCCESS_EXIT_CODE) {
86
114
  this.requestedExitCode = exitCode;
87
115
  }
88
116
  }
89
117
  async executeShutdown() {
90
- await this.runHandlersWithTimeout();
118
+ const hasTimedOut = await this.executeHandlers();
119
+ if (this.seenSignals.size > 0) {
120
+ this.signalListener.onStopped(hasTimedOut);
121
+ }
91
122
  if (typeof this.requestedExitCode === "number") {
92
123
  process.exit(this.requestedExitCode);
93
124
  }
94
125
  }
95
- runHandlersWithTimeout() {
96
- let timeout;
97
- const timeoutPromise = new Promise((resolve) => {
98
- timeout = setTimeout(() => {
99
- Logger.Error("Shutdown timed out, forcing completion");
100
- resolve();
101
- }, this.timeoutMs);
102
- });
103
- return Promise.race([this.executeHandlers(), timeoutPromise]).finally(() => {
104
- if (timeout) {
105
- clearTimeout(timeout);
106
- }
107
- this.handlers = [];
108
- });
109
- }
110
126
  async executeHandlers() {
111
127
  const sortedHandlers = [...this.handlers].sort((left, right) => right.priority - left.priority);
112
- for (const { handler } of sortedHandlers) {
113
- try {
114
- await handler();
115
- }
116
- catch (error) {
117
- Logger.Error("Shutdown handler error:", error);
128
+ this.handlers = [];
129
+ const run = await this.runHandlersWithin(sortedHandlers, this.timeoutMs);
130
+ if (!run.hasTimedOut) {
131
+ return false;
132
+ }
133
+ Logger.Error(`Shutdown timed out after ${this.timeoutMs / MILLISECONDS_PER_SECOND}s, abandoning the handler still running`);
134
+ await this.runHandlersWithin(run.remaining, exports.SHUTDOWN_CLEANUP_TIMEOUT_MS);
135
+ return true;
136
+ }
137
+ async runHandlersWithin(handlers, timeoutMs) {
138
+ const deadline = Date.now() + timeoutMs;
139
+ for (const [index, { handler }] of handlers.entries()) {
140
+ const hasSettled = await settleWithin(this.runHandler(handler), deadline - Date.now());
141
+ if (!hasSettled) {
142
+ return { hasTimedOut: true, remaining: handlers.slice(index + 1) };
118
143
  }
119
144
  }
145
+ return { hasTimedOut: false, remaining: [] };
146
+ }
147
+ async runHandler(handler) {
148
+ try {
149
+ await handler();
150
+ }
151
+ catch (error) {
152
+ Logger.Error("Shutdown handler error:", error);
153
+ }
120
154
  }
121
155
  }
122
156
  exports.ShutdownManager = ShutdownManager;
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown-manager.js","sourceRoot":"","sources":["../../../src/core/shutdown/shutdown-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shutdown-manager.js","sourceRoot":"","sources":["../../../src/core/shutdown/shutdown-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/core",
3
- "version": "1.13.1",
3
+ "version": "1.13.2",
4
4
  "description": "TypeScript framework extending hexagonal architecture across your application and its ecosystem through explicit contracts and replaceable modules.",
5
5
  "keywords": [
6
6
  "antelopejs",