@antelopejs/core 1.13.1 → 1.13.3

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 (37) 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/commands/project/init-action.js +11 -29
  4. package/dist/core/cli/commands/project/init-action.js.map +1 -1
  5. package/dist/core/cli/full-cli.js +2 -2
  6. package/dist/core/cli/full-cli.js.map +1 -1
  7. package/dist/core/cli/help.d.ts +0 -2
  8. package/dist/core/cli/help.js +4 -31
  9. package/dist/core/cli/help.js.map +1 -1
  10. package/dist/core/cli/index.js +3 -2
  11. package/dist/core/cli/index.js.map +1 -1
  12. package/dist/core/cli/output/format.d.ts +2 -0
  13. package/dist/core/cli/output/format.js +29 -0
  14. package/dist/core/cli/output/format.js.map +1 -1
  15. package/dist/core/cli/output/types.d.ts +1 -1
  16. package/dist/core/cli/output/ui.js +36 -14
  17. package/dist/core/cli/output/ui.js.map +1 -1
  18. package/dist/core/cli/plugin-arguments.d.ts +1 -0
  19. package/dist/core/cli/plugin-arguments.js +17 -2
  20. package/dist/core/cli/plugin-arguments.js.map +1 -1
  21. package/dist/core/cli/public.d.ts +2 -2
  22. package/dist/core/cli/public.js +3 -3
  23. package/dist/core/cli/public.js.map +1 -1
  24. package/dist/core/runtime/launch-sequence.js +12 -5
  25. package/dist/core/runtime/launch-sequence.js.map +1 -1
  26. package/dist/core/runtime/process-claim.d.ts +7 -0
  27. package/dist/core/runtime/process-claim.js +111 -0
  28. package/dist/core/runtime/process-claim.js.map +1 -0
  29. package/dist/core/runtime/project-launch.js +2 -66
  30. package/dist/core/runtime/project-launch.js.map +1 -1
  31. package/dist/core/shutdown/process-tree.d.ts +1 -0
  32. package/dist/core/shutdown/process-tree.js +9 -0
  33. package/dist/core/shutdown/process-tree.js.map +1 -1
  34. package/dist/core/shutdown/shutdown-manager.d.ts +12 -4
  35. package/dist/core/shutdown/shutdown-manager.js +70 -36
  36. package/dist/core/shutdown/shutdown-manager.js.map +1 -1
  37. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  export type { CapabilityContext, ChannelFlags, CliProblem, ColorName, DetailEntry, FailureTranslator, MessageLevel, MessageOptions, MissingInput, MultiSelectQuestion, NextStep, OutputCapabilities, OutputChannel, OutputStream, OutputStreams, Palette, PromptChoice, Prompter, PrompterOptions, Question, SelectQuestion, SummaryBlock, SymbolSet, SymbolSetName, TableColumn, TaskHandle, TaskLabels, TaskListOptions, Ui, UiOptions, } from "./output/types";
2
2
  export { SYMBOL_SETS, selectSymbols } from "./output/symbols";
3
3
  export { detectCapabilities, processCapabilityContext, } from "./output/capabilities";
4
- export { displayPath, formatDuration, pluralize } from "./output/format";
4
+ export { displayPath, formatDuration, pluralize, unbreakable, wrapText, } from "./output/format";
5
5
  export { createUi } from "./output/ui";
6
6
  export { TaskList, getProcessPalette, getProcessTasks, getProcessUi, runTask, } from "./output/tasks";
7
7
  export { writeData, type DataOutput } from "./output/data";
@@ -10,5 +10,5 @@ export { isQuietRun, isVerboseRun, type VerbosityContext, } from "./output/verbo
10
10
  export { runWithErrorBoundary, type BoundaryOptions } from "./output/boundary";
11
11
  export { createPrompter, missingFlags, type AnswerFlag } from "./output/prompt";
12
12
  export { formatUsageErrors } from "./usage-errors";
13
- export { applyHelpConventions, formatExamples, formatHelpItem, helpTextWidth, helpWidth, unbreakable, withExamples, wrapText, type HelpExample, type HelpStream, } from "./help";
13
+ export { applyHelpConventions, formatExamples, formatHelpItem, helpTextWidth, helpWidth, withExamples, type HelpExample, type HelpStream, } from "./help";
14
14
  export { CANCELLED_EXIT_CODE, FAILURE_EXIT_CODE, SUCCESS_EXIT_CODE, USAGE_EXIT_CODE, } from "./exit-codes";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USAGE_EXIT_CODE = exports.SUCCESS_EXIT_CODE = exports.FAILURE_EXIT_CODE = exports.CANCELLED_EXIT_CODE = exports.wrapText = exports.withExamples = exports.unbreakable = exports.helpWidth = exports.helpTextWidth = exports.formatHelpItem = exports.formatExamples = exports.applyHelpConventions = exports.formatUsageErrors = exports.missingFlags = exports.createPrompter = exports.runWithErrorBoundary = exports.isVerboseRun = exports.isQuietRun = exports.NeedsInputError = exports.CliError = exports.CancelledError = exports.writeData = exports.runTask = exports.getProcessUi = exports.getProcessTasks = exports.getProcessPalette = exports.TaskList = exports.createUi = exports.pluralize = exports.formatDuration = exports.displayPath = exports.processCapabilityContext = exports.detectCapabilities = exports.selectSymbols = exports.SYMBOL_SETS = void 0;
3
+ exports.USAGE_EXIT_CODE = exports.SUCCESS_EXIT_CODE = exports.FAILURE_EXIT_CODE = exports.CANCELLED_EXIT_CODE = exports.withExamples = exports.helpWidth = exports.helpTextWidth = exports.formatHelpItem = exports.formatExamples = exports.applyHelpConventions = exports.formatUsageErrors = exports.missingFlags = exports.createPrompter = exports.runWithErrorBoundary = exports.isVerboseRun = exports.isQuietRun = exports.NeedsInputError = exports.CliError = exports.CancelledError = exports.writeData = exports.runTask = exports.getProcessUi = exports.getProcessTasks = exports.getProcessPalette = exports.TaskList = exports.createUi = exports.wrapText = exports.unbreakable = exports.pluralize = exports.formatDuration = exports.displayPath = exports.processCapabilityContext = exports.detectCapabilities = exports.selectSymbols = exports.SYMBOL_SETS = void 0;
4
4
  var symbols_1 = require("./output/symbols");
5
5
  Object.defineProperty(exports, "SYMBOL_SETS", { enumerable: true, get: function () { return symbols_1.SYMBOL_SETS; } });
6
6
  Object.defineProperty(exports, "selectSymbols", { enumerable: true, get: function () { return symbols_1.selectSymbols; } });
@@ -11,6 +11,8 @@ var format_1 = require("./output/format");
11
11
  Object.defineProperty(exports, "displayPath", { enumerable: true, get: function () { return format_1.displayPath; } });
12
12
  Object.defineProperty(exports, "formatDuration", { enumerable: true, get: function () { return format_1.formatDuration; } });
13
13
  Object.defineProperty(exports, "pluralize", { enumerable: true, get: function () { return format_1.pluralize; } });
14
+ Object.defineProperty(exports, "unbreakable", { enumerable: true, get: function () { return format_1.unbreakable; } });
15
+ Object.defineProperty(exports, "wrapText", { enumerable: true, get: function () { return format_1.wrapText; } });
14
16
  var ui_1 = require("./output/ui");
15
17
  Object.defineProperty(exports, "createUi", { enumerable: true, get: function () { return ui_1.createUi; } });
16
18
  var tasks_1 = require("./output/tasks");
@@ -41,9 +43,7 @@ Object.defineProperty(exports, "formatExamples", { enumerable: true, get: functi
41
43
  Object.defineProperty(exports, "formatHelpItem", { enumerable: true, get: function () { return help_1.formatHelpItem; } });
42
44
  Object.defineProperty(exports, "helpTextWidth", { enumerable: true, get: function () { return help_1.helpTextWidth; } });
43
45
  Object.defineProperty(exports, "helpWidth", { enumerable: true, get: function () { return help_1.helpWidth; } });
44
- Object.defineProperty(exports, "unbreakable", { enumerable: true, get: function () { return help_1.unbreakable; } });
45
46
  Object.defineProperty(exports, "withExamples", { enumerable: true, get: function () { return help_1.withExamples; } });
46
- Object.defineProperty(exports, "wrapText", { enumerable: true, get: function () { return help_1.wrapText; } });
47
47
  var exit_codes_1 = require("./exit-codes");
48
48
  Object.defineProperty(exports, "CANCELLED_EXIT_CODE", { enumerable: true, get: function () { return exit_codes_1.CANCELLED_EXIT_CODE; } });
49
49
  Object.defineProperty(exports, "FAILURE_EXIT_CODE", { enumerable: true, get: function () { return exit_codes_1.FAILURE_EXIT_CODE; } });
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/core/cli/public.ts"],"names":[],"mappings":";;;AAwCA,4CAA8D;AAArD,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AACnC,sDAG+B;AAF7B,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AAE1B,0CAAyE;AAAhE,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,mGAAA,SAAS,OAAA;AAC/C,kCAAuC;AAA9B,8FAAA,QAAQ,OAAA;AACjB,wCAMwB;AALtB,iGAAA,QAAQ,OAAA;AACR,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AAET,sCAA2D;AAAlD,iGAAA,SAAS,OAAA;AAClB,0CAA4E;AAAnE,wGAAA,cAAc,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,yGAAA,eAAe,OAAA;AAClD,gDAI4B;AAH1B,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AAGd,8CAA+E;AAAtE,gHAAA,oBAAoB,OAAA;AAC7B,0CAAgF;AAAvE,wGAAA,cAAc,OAAA;AAAE,sGAAA,YAAY,OAAA;AACrC,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,+BAWgB;AAVd,4GAAA,oBAAoB,OAAA;AACpB,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,qGAAA,aAAa,OAAA;AACb,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,oGAAA,YAAY,OAAA;AACZ,gGAAA,QAAQ,OAAA;AAIV,2CAKsB;AAJpB,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/core/cli/public.ts"],"names":[],"mappings":";;;AAwCA,4CAA8D;AAArD,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AACnC,sDAG+B;AAF7B,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AAE1B,0CAMyB;AALvB,qGAAA,WAAW,OAAA;AACX,wGAAA,cAAc,OAAA;AACd,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,kGAAA,QAAQ,OAAA;AAEV,kCAAuC;AAA9B,8FAAA,QAAQ,OAAA;AACjB,wCAMwB;AALtB,iGAAA,QAAQ,OAAA;AACR,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AAET,sCAA2D;AAAlD,iGAAA,SAAS,OAAA;AAClB,0CAA4E;AAAnE,wGAAA,cAAc,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,yGAAA,eAAe,OAAA;AAClD,gDAI4B;AAH1B,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AAGd,8CAA+E;AAAtE,gHAAA,oBAAoB,OAAA;AAC7B,0CAAgF;AAAvE,wGAAA,cAAc,OAAA;AAAE,sGAAA,YAAY,OAAA;AACrC,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,+BASgB;AARd,4GAAA,oBAAoB,OAAA;AACpB,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,qGAAA,aAAa,OAAA;AACb,iGAAA,SAAS,OAAA;AACT,oGAAA,YAAY,OAAA;AAId,2CAKsB;AAJpB,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA"}
@@ -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 {};