@pristine-ts/core 1.0.439 → 2.0.1
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.
- package/dist/lib/cjs/core.module.js +1 -0
- package/dist/lib/cjs/core.module.js.map +1 -1
- package/dist/lib/cjs/enums/enums.js +2 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -1
- package/dist/lib/cjs/enums/execution-context-keyname.enum.js +6 -0
- package/dist/lib/cjs/enums/execution-context-keyname.enum.js.map +1 -1
- package/dist/lib/cjs/enums/instantiation-phase.enum.js +18 -0
- package/dist/lib/cjs/enums/instantiation-phase.enum.js.map +1 -0
- package/dist/lib/cjs/enums/instantiation-status.enum.js +11 -0
- package/dist/lib/cjs/enums/instantiation-status.enum.js.map +1 -0
- package/dist/lib/cjs/interfaces/instantiation-test-result.interface.js +3 -0
- package/dist/lib/cjs/interfaces/instantiation-test-result.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/instantiation-test.interface.js +3 -0
- package/dist/lib/cjs/interfaces/instantiation-test.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/interfaces.js +4 -0
- package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
- package/dist/lib/cjs/interfaces/runtime-server.interface.js +3 -0
- package/dist/lib/cjs/interfaces/runtime-server.interface.js.map +1 -0
- package/dist/lib/cjs/interfaces/serialized-error.interface.js +3 -0
- package/dist/lib/cjs/interfaces/serialized-error.interface.js.map +1 -0
- package/dist/lib/cjs/kernel.js +316 -17
- package/dist/lib/cjs/kernel.js.map +1 -1
- package/dist/lib/cjs/models/instantiation-report.js +138 -0
- package/dist/lib/cjs/models/instantiation-report.js.map +1 -0
- package/dist/lib/cjs/models/instantiation-test-execution-result.js +16 -0
- package/dist/lib/cjs/models/instantiation-test-execution-result.js.map +1 -0
- package/dist/lib/cjs/models/missing-required-configuration-entry.js +11 -0
- package/dist/lib/cjs/models/missing-required-configuration-entry.js.map +1 -0
- package/dist/lib/cjs/models/models.js +4 -0
- package/dist/lib/cjs/models/models.js.map +1 -1
- package/dist/lib/cjs/models/phase-result.js +18 -0
- package/dist/lib/cjs/models/phase-result.js.map +1 -0
- package/dist/lib/cjs/runtime-servers/default-runtime-server.js +59 -0
- package/dist/lib/cjs/runtime-servers/default-runtime-server.js.map +1 -0
- package/dist/lib/cjs/runtime-servers/runtime-servers.js +18 -0
- package/dist/lib/cjs/runtime-servers/runtime-servers.js.map +1 -0
- package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/lib/esm/core.module.js +1 -0
- package/dist/lib/esm/core.module.js.map +1 -1
- package/dist/lib/esm/enums/enums.js +2 -0
- package/dist/lib/esm/enums/enums.js.map +1 -1
- package/dist/lib/esm/enums/execution-context-keyname.enum.js +6 -0
- package/dist/lib/esm/enums/execution-context-keyname.enum.js.map +1 -1
- package/dist/lib/esm/enums/instantiation-phase.enum.js +15 -0
- package/dist/lib/esm/enums/instantiation-phase.enum.js.map +1 -0
- package/dist/lib/esm/enums/instantiation-status.enum.js +8 -0
- package/dist/lib/esm/enums/instantiation-status.enum.js.map +1 -0
- package/dist/lib/esm/interfaces/instantiation-test-result.interface.js +2 -0
- package/dist/lib/esm/interfaces/instantiation-test-result.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/instantiation-test.interface.js +2 -0
- package/dist/lib/esm/interfaces/instantiation-test.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/interfaces.js +4 -0
- package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
- package/dist/lib/esm/interfaces/runtime-server.interface.js +2 -0
- package/dist/lib/esm/interfaces/runtime-server.interface.js.map +1 -0
- package/dist/lib/esm/interfaces/serialized-error.interface.js +2 -0
- package/dist/lib/esm/interfaces/serialized-error.interface.js.map +1 -0
- package/dist/lib/esm/kernel.js +317 -18
- package/dist/lib/esm/kernel.js.map +1 -1
- package/dist/lib/esm/models/instantiation-report.js +134 -0
- package/dist/lib/esm/models/instantiation-report.js.map +1 -0
- package/dist/lib/esm/models/instantiation-test-execution-result.js +12 -0
- package/dist/lib/esm/models/instantiation-test-execution-result.js.map +1 -0
- package/dist/lib/esm/models/missing-required-configuration-entry.js +7 -0
- package/dist/lib/esm/models/missing-required-configuration-entry.js.map +1 -0
- package/dist/lib/esm/models/models.js +4 -0
- package/dist/lib/esm/models/models.js.map +1 -1
- package/dist/lib/esm/models/phase-result.js +14 -0
- package/dist/lib/esm/models/phase-result.js.map +1 -0
- package/dist/lib/esm/runtime-servers/default-runtime-server.js +56 -0
- package/dist/lib/esm/runtime-servers/default-runtime-server.js.map +1 -0
- package/dist/lib/esm/runtime-servers/runtime-servers.js +2 -0
- package/dist/lib/esm/runtime-servers/runtime-servers.js.map +1 -0
- package/dist/lib/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/types/core.module.d.ts +1 -0
- package/dist/types/enums/enums.d.ts +2 -0
- package/dist/types/enums/execution-context-keyname.enum.d.ts +6 -0
- package/dist/types/enums/instantiation-phase.enum.d.ts +13 -0
- package/dist/types/enums/instantiation-status.enum.d.ts +6 -0
- package/dist/types/interfaces/instantiation-test-result.interface.d.ts +11 -0
- package/dist/types/interfaces/instantiation-test.interface.d.ts +13 -0
- package/dist/types/interfaces/interfaces.d.ts +4 -0
- package/dist/types/interfaces/runtime-server.interface.d.ts +33 -0
- package/dist/types/interfaces/serialized-error.interface.d.ts +11 -0
- package/dist/types/kernel.d.ts +77 -6
- package/dist/types/models/instantiation-report.d.ts +43 -0
- package/dist/types/models/instantiation-test-execution-result.d.ts +11 -0
- package/dist/types/models/missing-required-configuration-entry.d.ts +5 -0
- package/dist/types/models/models.d.ts +4 -0
- package/dist/types/models/phase-result.d.ts +15 -0
- package/dist/types/runtime-servers/default-runtime-server.d.ts +22 -0
- package/dist/types/runtime-servers/runtime-servers.d.ts +1 -0
- package/package.json +7 -7
|
@@ -32,6 +32,7 @@ __exportStar(require("./managers/managers"), exports);
|
|
|
32
32
|
__exportStar(require("./mappers/mappers"), exports);
|
|
33
33
|
__exportStar(require("./models/models"), exports);
|
|
34
34
|
__exportStar(require("./pipelines/pipelines"), exports);
|
|
35
|
+
__exportStar(require("./runtime-servers/runtime-servers"), exports);
|
|
35
36
|
__exportStar(require("./core.module.keyname"), exports);
|
|
36
37
|
exports.CoreModule = {
|
|
37
38
|
keyname: core_module_keyname_1.CoreModuleKeyname,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,+DAAwD;AACxD,sDAAuD;AACvD,8DAA0G;AAC1G,kDAAmD;AACnD,2FAAkF;AAElF,2CAAyB;AAEzB,4DAA0C;AAC1C,gDAA8B;AAC9B,kDAAgC;AAChC,sDAAoC;AACpC,8DAA4C;AAC5C,0DAAwC;AACxC,wDAAsC;AACtC,sDAAoC;AACpC,oDAAkC;AAClC,kDAAgC;AAChC,wDAAsC;
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../../../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,+DAAwD;AACxD,sDAAuD;AACvD,8DAA0G;AAC1G,kDAAmD;AACnD,2FAAkF;AAElF,2CAAyB;AAEzB,4DAA0C;AAC1C,gDAA8B;AAC9B,kDAAgC;AAChC,sDAAoC;AACpC,8DAA4C;AAC5C,0DAAwC;AACxC,wDAAsC;AACtC,sDAAoC;AACpC,oDAAkC;AAClC,kDAAgC;AAChC,wDAAsC;AACtC,oEAAkD;AAElD,wDAAsC;AAEzB,QAAA,UAAU,GAAoB;IACzC,OAAO,EAAE,uCAAiB;IAC1B,aAAa,EAAE;QACb,mCAAmB;QACnB,2BAAe;QACf,uBAAa;KACd;IACD,qBAAqB,EAAE,EAAE;IACzB,wBAAwB,EAAE;QACxB;YACE,aAAa,EAAE,uCAAiB,GAAG,4BAA4B;YAC/D,YAAY,EAAE,2DAA0B,CAAC,IAAI;YAC7C,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE;gBAChB,IAAI,4BAAY,CAAC,IAAI,2CAA2B,CAAC,yCAAyC,CAAC,EAAE,2DAA0B,CAAC;aACzH;SACF;QACD;YACE,aAAa,EAAE,uCAAiB,GAAG,6BAA6B;YAChE,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;YACjB,gBAAgB,EAAE;gBAChB,IAAI,2CAA2B,CAAC,6CAA6C,CAAC;aAC/E;SACF;KACF;CACF,CAAA"}
|
|
@@ -16,4 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./event-id-generation-style.enum"), exports);
|
|
18
18
|
__exportStar(require("./execution-context-keyname.enum"), exports);
|
|
19
|
+
__exportStar(require("./instantiation-phase.enum"), exports);
|
|
20
|
+
__exportStar(require("./instantiation-status.enum"), exports);
|
|
19
21
|
//# sourceMappingURL=enums.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,mEAAiD"}
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,mEAAiD;AACjD,6DAA2C;AAC3C,8DAA4C"}
|
|
@@ -6,6 +6,12 @@ var ExecutionContextKeynameEnum;
|
|
|
6
6
|
ExecutionContextKeynameEnum["AwsLambda"] = "AWS_LAMBDA";
|
|
7
7
|
ExecutionContextKeynameEnum["Cloudflare"] = "CLOUDFLARE";
|
|
8
8
|
ExecutionContextKeynameEnum["Express"] = "EXPRESS";
|
|
9
|
+
/**
|
|
10
|
+
* Used by `KernelHttpServer` (the built-in Node `http.Server` wrapper used by `pristine start`)
|
|
11
|
+
* to identify requests coming from the kernel-routed HTTP server, distinct from Express-fronted
|
|
12
|
+
* requests that go through `@pristine-ts/express`.
|
|
13
|
+
*/
|
|
14
|
+
ExecutionContextKeynameEnum["Http"] = "HTTP";
|
|
9
15
|
ExecutionContextKeynameEnum["Jest"] = "JEST";
|
|
10
16
|
ExecutionContextKeynameEnum["Cli"] = "CLI";
|
|
11
17
|
})(ExecutionContextKeynameEnum || (exports.ExecutionContextKeynameEnum = ExecutionContextKeynameEnum = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-context-keyname.enum.js","sourceRoot":"","sources":["../../../../src/enums/execution-context-keyname.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"execution-context-keyname.enum.js","sourceRoot":"","sources":["../../../../src/enums/execution-context-keyname.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,2BAYX;AAZD,WAAY,2BAA2B;IACrC,uDAAwB,CAAA;IACxB,wDAAyB,CAAA;IACzB,kDAAmB,CAAA;IACnB;;;;OAIG;IACH,4CAAa,CAAA;IACb,4CAAa,CAAA;IACb,0CAAW,CAAA;AACb,CAAC,EAZW,2BAA2B,2CAA3B,2BAA2B,QAYtC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstantiationPhaseEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Distinct phases of `Kernel.start()`. `verifyInstantiation` runs each phase in order on a fresh kernel
|
|
6
|
+
* and reports the outcome of each independently so callers can pinpoint which phase failed.
|
|
7
|
+
*/
|
|
8
|
+
var InstantiationPhaseEnum;
|
|
9
|
+
(function (InstantiationPhaseEnum) {
|
|
10
|
+
InstantiationPhaseEnum["ModuleRegistration"] = "ModuleRegistration";
|
|
11
|
+
InstantiationPhaseEnum["ConfigurationCheck"] = "ConfigurationCheck";
|
|
12
|
+
InstantiationPhaseEnum["ConfigurationLoad"] = "ConfigurationLoad";
|
|
13
|
+
InstantiationPhaseEnum["ServiceTagRegistration"] = "ServiceTagRegistration";
|
|
14
|
+
InstantiationPhaseEnum["AfterInit"] = "AfterInit";
|
|
15
|
+
InstantiationPhaseEnum["BootProbe"] = "BootProbe";
|
|
16
|
+
InstantiationPhaseEnum["InstantiationTests"] = "InstantiationTests";
|
|
17
|
+
})(InstantiationPhaseEnum || (exports.InstantiationPhaseEnum = InstantiationPhaseEnum = {}));
|
|
18
|
+
//# sourceMappingURL=instantiation-phase.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiation-phase.enum.js","sourceRoot":"","sources":["../../../../src/enums/instantiation-phase.enum.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,sBAQX;AARD,WAAY,sBAAsB;IAChC,mEAAyC,CAAA;IACzC,mEAAyC,CAAA;IACzC,iEAAuC,CAAA;IACvC,2EAAiD,CAAA;IACjD,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;IACvB,mEAAyC,CAAA;AAC3C,CAAC,EARW,sBAAsB,sCAAtB,sBAAsB,QAQjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstantiationStatusEnum = void 0;
|
|
4
|
+
var InstantiationStatusEnum;
|
|
5
|
+
(function (InstantiationStatusEnum) {
|
|
6
|
+
InstantiationStatusEnum["Passed"] = "Passed";
|
|
7
|
+
InstantiationStatusEnum["PassedWithWarnings"] = "PassedWithWarnings";
|
|
8
|
+
InstantiationStatusEnum["Failed"] = "Failed";
|
|
9
|
+
InstantiationStatusEnum["Skipped"] = "Skipped";
|
|
10
|
+
})(InstantiationStatusEnum || (exports.InstantiationStatusEnum = InstantiationStatusEnum = {}));
|
|
11
|
+
//# sourceMappingURL=instantiation-status.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiation-status.enum.js","sourceRoot":"","sources":["../../../../src/enums/instantiation-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,oEAAyC,CAAA;IACzC,4CAAiB,CAAA;IACjB,8CAAmB,CAAA;AACrB,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiation-test-result.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/instantiation-test-result.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiation-test.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/instantiation-test.interface.ts"],"names":[],"mappings":""}
|
|
@@ -21,5 +21,9 @@ __exportStar(require("./event-listener.interface"), exports);
|
|
|
21
21
|
__exportStar(require("./event-mapper.interface"), exports);
|
|
22
22
|
__exportStar(require("./events-execution-options.interface"), exports);
|
|
23
23
|
__exportStar(require("./execution-context.interface"), exports);
|
|
24
|
+
__exportStar(require("./instantiation-test.interface"), exports);
|
|
25
|
+
__exportStar(require("./instantiation-test-result.interface"), exports);
|
|
24
26
|
__exportStar(require("./options-mapper.interface"), exports);
|
|
27
|
+
__exportStar(require("./runtime-server.interface"), exports);
|
|
28
|
+
__exportStar(require("./serialized-error.interface"), exports);
|
|
25
29
|
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gEAA8C;AAC9C,4DAA0C;AAC1C,6DAA2C;AAC3C,2DAAyC;AACzC,uEAAqD;AACrD,gEAA8C;AAC9C,6DAA2C"}
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gEAA8C;AAC9C,4DAA0C;AAC1C,6DAA2C;AAC3C,2DAAyC;AACzC,uEAAqD;AACrD,gEAA8C;AAC9C,iEAA+C;AAC/C,wEAAsD;AACtD,6DAA2C;AAC3C,6DAA2C;AAC3C,+DAA6C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-server.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/runtime-server.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialized-error.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/serialized-error.interface.ts"],"names":[],"mappings":""}
|
package/dist/lib/cjs/kernel.js
CHANGED
|
@@ -19,6 +19,12 @@ const telemetry_1 = require("@pristine-ts/telemetry");
|
|
|
19
19
|
const uuid_1 = require("uuid");
|
|
20
20
|
const event_pipeline_1 = require("./pipelines/event.pipeline");
|
|
21
21
|
const kernel_initialization_error_1 = require("./errors/kernel-initialization.error");
|
|
22
|
+
const instantiation_report_1 = require("./models/instantiation-report");
|
|
23
|
+
const phase_result_1 = require("./models/phase-result");
|
|
24
|
+
const instantiation_test_execution_result_1 = require("./models/instantiation-test-execution-result");
|
|
25
|
+
const missing_required_configuration_entry_1 = require("./models/missing-required-configuration-entry");
|
|
26
|
+
const instantiation_phase_enum_1 = require("./enums/instantiation-phase.enum");
|
|
27
|
+
const instantiation_status_enum_1 = require("./enums/instantiation-status.enum");
|
|
22
28
|
/**
|
|
23
29
|
* This is the central class that manages the lifecyle of this library.
|
|
24
30
|
*/
|
|
@@ -35,7 +41,7 @@ class Kernel {
|
|
|
35
41
|
this.instantiationId = (0, uuid_1.v4)();
|
|
36
42
|
/**
|
|
37
43
|
* Contains a map of all the modules that were instantiated indexed by the modules names.
|
|
38
|
-
* @
|
|
44
|
+
* @public Exposed read-only so commands like `pristine info` can introspect the boot graph.
|
|
39
45
|
*/
|
|
40
46
|
this.instantiatedModules = {};
|
|
41
47
|
/**
|
|
@@ -43,6 +49,12 @@ class Kernel {
|
|
|
43
49
|
* @private
|
|
44
50
|
*/
|
|
45
51
|
this.afterInstantiatedModules = {};
|
|
52
|
+
/**
|
|
53
|
+
* True after `stop()` has begun (or completed). Prevents double-shutdown when multiple
|
|
54
|
+
* SIGTERM/SIGINT signals arrive in quick succession.
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
this.stopped = false;
|
|
46
58
|
}
|
|
47
59
|
/**
|
|
48
60
|
* This function is the entry point of the Kernel. It initializes the module for your application (AppModule) as well as its the dependencies,
|
|
@@ -67,7 +79,8 @@ class Kernel {
|
|
|
67
79
|
initializedModuleSpans.forEach(span => this.initializationSpan.addChild(span));
|
|
68
80
|
// Register the configuration.
|
|
69
81
|
const configurationInitializationSpan = new telemetry_1.Span(telemetry_1.SpanKeynameEnum.ConfigurationInitialization);
|
|
70
|
-
|
|
82
|
+
const configurationManager = this.registerConfigurationDefinitions();
|
|
83
|
+
yield this.loadConfiguration(configurationManager, moduleConfigurationValues);
|
|
71
84
|
configurationInitializationSpan.endDate = Date.now();
|
|
72
85
|
this.initializationSpan.addChild(configurationInitializationSpan);
|
|
73
86
|
// Register the non module scoped tags
|
|
@@ -86,6 +99,240 @@ class Kernel {
|
|
|
86
99
|
});
|
|
87
100
|
});
|
|
88
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Verifies that this kernel can be fully instantiated against the provided AppModule and configuration values.
|
|
104
|
+
* Runs the same boot phases as `start()` on this kernel, capturing each phase's outcome rather than letting
|
|
105
|
+
* exceptions propagate, then collects and runs every embedder-registered `InstantiationTestInterface`.
|
|
106
|
+
*
|
|
107
|
+
* Important: this method mutates the kernel's container (it actually performs registration). It should be
|
|
108
|
+
* called on a fresh `new Kernel()` instance, not on a kernel that has already had `start()` invoked.
|
|
109
|
+
*
|
|
110
|
+
* @param module The AppModule to verify.
|
|
111
|
+
* @param moduleConfigurationValues The configuration values that would be passed to `start()`.
|
|
112
|
+
* @param options.runInstantiationTests When false, skips the test discovery/execution phase. Default true.
|
|
113
|
+
* @param options.stopOnFirstFailure When true, halts after the first failed phase and marks the rest as skipped. Default false.
|
|
114
|
+
*/
|
|
115
|
+
verifyInstantiation(module, moduleConfigurationValues, options) {
|
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
const report = new instantiation_report_1.InstantiationReport();
|
|
118
|
+
const startedAt = Date.now();
|
|
119
|
+
const runInstantiationTests = (options === null || options === void 0 ? void 0 : options.runInstantiationTests) !== false;
|
|
120
|
+
const stopOnFirstFailure = (options === null || options === void 0 ? void 0 : options.stopOnFirstFailure) === true;
|
|
121
|
+
// Phase 1: ModuleRegistration. Must succeed for any subsequent phase to be meaningful — if it fails,
|
|
122
|
+
// the container is in an indeterminate state and we skip everything else.
|
|
123
|
+
const moduleRegistrationOk = yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.ModuleRegistration, () => __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
this.container.register(common_1.InternalContainerParameterEnum.KernelInstantiationId, {
|
|
125
|
+
useValue: this.instantiationId,
|
|
126
|
+
});
|
|
127
|
+
yield this.initModule(module);
|
|
128
|
+
}));
|
|
129
|
+
if (!moduleRegistrationOk) {
|
|
130
|
+
this.skipRemainingPhases(report, [
|
|
131
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.ConfigurationCheck,
|
|
132
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.ConfigurationLoad,
|
|
133
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.ServiceTagRegistration,
|
|
134
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.AfterInit,
|
|
135
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.BootProbe,
|
|
136
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests,
|
|
137
|
+
]);
|
|
138
|
+
report.totalDurationMs = Date.now() - startedAt;
|
|
139
|
+
return report;
|
|
140
|
+
}
|
|
141
|
+
// Phase 2: ConfigurationCheck. Register all module configuration definitions, then non-mutatively
|
|
142
|
+
// inspect for missing required values. This phase is informational only — it surfaces what is missing
|
|
143
|
+
// but cannot itself determine whether `start()` would throw, because a defaultResolver might or might
|
|
144
|
+
// not succeed at load time (resolver failures are silently swallowed by ConfigurationManager.load).
|
|
145
|
+
// ConfigurationLoad is the source of truth for "would start throw."
|
|
146
|
+
let configurationManager;
|
|
147
|
+
const configurationCheckOk = yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.ConfigurationCheck, () => __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
configurationManager = this.registerConfigurationDefinitions();
|
|
149
|
+
const missing = configurationManager.getMissingRequiredParameters(moduleConfigurationValues !== null && moduleConfigurationValues !== void 0 ? moduleConfigurationValues : {});
|
|
150
|
+
report.missingRequiredConfiguration = missing.map(m => new missing_required_configuration_entry_1.MissingRequiredConfigurationEntry(m.parameterName, m.hasDefaultResolvers));
|
|
151
|
+
}));
|
|
152
|
+
if (configurationCheckOk && report.missingRequiredConfiguration.length > 0) {
|
|
153
|
+
const lastPhase = report.phases[report.phases.length - 1];
|
|
154
|
+
lastPhase.status = instantiation_status_enum_1.InstantiationStatusEnum.PassedWithWarnings;
|
|
155
|
+
}
|
|
156
|
+
if (!configurationCheckOk && stopOnFirstFailure) {
|
|
157
|
+
this.skipRemainingPhases(report, [
|
|
158
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.ConfigurationLoad,
|
|
159
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.ServiceTagRegistration,
|
|
160
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.AfterInit,
|
|
161
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.BootProbe,
|
|
162
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests,
|
|
163
|
+
]);
|
|
164
|
+
report.totalDurationMs = Date.now() - startedAt;
|
|
165
|
+
return report;
|
|
166
|
+
}
|
|
167
|
+
// ConfigurationCheck registers definitions but doesn't load. If that registration itself failed,
|
|
168
|
+
// there's no manager to load from — skip ConfigurationLoad.
|
|
169
|
+
let configurationLoadOk;
|
|
170
|
+
if (configurationManager === undefined) {
|
|
171
|
+
this.skipPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.ConfigurationLoad);
|
|
172
|
+
configurationLoadOk = false;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
configurationLoadOk = yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.ConfigurationLoad, () => __awaiter(this, void 0, void 0, function* () {
|
|
176
|
+
yield this.loadConfiguration(configurationManager, moduleConfigurationValues);
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
if (!configurationLoadOk && stopOnFirstFailure) {
|
|
180
|
+
this.skipRemainingPhases(report, [
|
|
181
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.ServiceTagRegistration,
|
|
182
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.AfterInit,
|
|
183
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.BootProbe,
|
|
184
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests,
|
|
185
|
+
]);
|
|
186
|
+
report.totalDurationMs = Date.now() - startedAt;
|
|
187
|
+
return report;
|
|
188
|
+
}
|
|
189
|
+
const serviceTagOk = yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.ServiceTagRegistration, () => __awaiter(this, void 0, void 0, function* () {
|
|
190
|
+
this.registerNonModuleScopedServiceTags();
|
|
191
|
+
}));
|
|
192
|
+
if (!serviceTagOk && stopOnFirstFailure) {
|
|
193
|
+
this.skipRemainingPhases(report, [
|
|
194
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.AfterInit,
|
|
195
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.BootProbe,
|
|
196
|
+
instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests,
|
|
197
|
+
]);
|
|
198
|
+
report.totalDurationMs = Date.now() - startedAt;
|
|
199
|
+
return report;
|
|
200
|
+
}
|
|
201
|
+
const afterInitOk = yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.AfterInit, () => __awaiter(this, void 0, void 0, function* () {
|
|
202
|
+
yield this.afterInitModule(module);
|
|
203
|
+
}));
|
|
204
|
+
if (!afterInitOk && stopOnFirstFailure) {
|
|
205
|
+
this.skipRemainingPhases(report, [instantiation_phase_enum_1.InstantiationPhaseEnum.BootProbe, instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests]);
|
|
206
|
+
report.totalDurationMs = Date.now() - startedAt;
|
|
207
|
+
return report;
|
|
208
|
+
}
|
|
209
|
+
const bootProbeOk = yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.BootProbe, () => __awaiter(this, void 0, void 0, function* () {
|
|
210
|
+
// Mirror the cosmetic LogHandler resolve at the end of `start()`. If LoggingModule wasn't imported,
|
|
211
|
+
// the resolve will throw and the phase is marked Failed.
|
|
212
|
+
this.container.resolve("LogHandlerInterface");
|
|
213
|
+
}));
|
|
214
|
+
// Once BootProbe has confirmed LogHandler is resolvable, stamp it onto the report so `report.log()`
|
|
215
|
+
// can route through the project's logging stack without callers having to pass one in.
|
|
216
|
+
if (bootProbeOk) {
|
|
217
|
+
try {
|
|
218
|
+
report.logHandler = this.container.resolve("LogHandlerInterface");
|
|
219
|
+
}
|
|
220
|
+
catch (_a) {
|
|
221
|
+
// Should not happen since BootProbe already succeeded, but defensive.
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (runInstantiationTests) {
|
|
225
|
+
yield this.runPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests, () => __awaiter(this, void 0, void 0, function* () {
|
|
226
|
+
let tests = [];
|
|
227
|
+
try {
|
|
228
|
+
tests = this.container.resolveAll(common_1.ServiceDefinitionTagEnum.InstantiationTest);
|
|
229
|
+
}
|
|
230
|
+
catch (_a) {
|
|
231
|
+
// resolveAll throws when nothing is registered for the token. That's not a failure — there are simply no tests.
|
|
232
|
+
tests = [];
|
|
233
|
+
}
|
|
234
|
+
for (const test of tests) {
|
|
235
|
+
report.instantiationTests.push(yield this.runInstantiationTest(test));
|
|
236
|
+
}
|
|
237
|
+
}));
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
this.skipPhase(report, instantiation_phase_enum_1.InstantiationPhaseEnum.InstantiationTests);
|
|
241
|
+
}
|
|
242
|
+
report.totalDurationMs = Date.now() - startedAt;
|
|
243
|
+
return report;
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Gracefully shuts down the kernel by invoking each instantiated module's `onShutdown` hook
|
|
248
|
+
* in reverse instantiation order (root module first, deepest dependencies last). Modules
|
|
249
|
+
* without an `onShutdown` hook are skipped silently.
|
|
250
|
+
*
|
|
251
|
+
* Each hook runs under a per-hook timeout so a single misbehaving module cannot block the
|
|
252
|
+
* shutdown indefinitely. When a hook throws or times out, the error is logged via the
|
|
253
|
+
* resolved `LogHandlerInterface` (or stderr if logging itself failed) and shutdown continues
|
|
254
|
+
* with the next module — the goal is to release as much as possible, not to abort on the
|
|
255
|
+
* first failure.
|
|
256
|
+
*
|
|
257
|
+
* Calling `stop()` more than once is a no-op (subsequent calls return immediately) so this
|
|
258
|
+
* method is safe to wire up to multiple signal handlers.
|
|
259
|
+
*
|
|
260
|
+
* @param options.perHookTimeoutMs Maximum milliseconds to wait for a single module's
|
|
261
|
+
* `onShutdown` to resolve. Default 10_000 (10 seconds). Set to 0 to wait indefinitely.
|
|
262
|
+
*/
|
|
263
|
+
stop(options) {
|
|
264
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
265
|
+
var _a;
|
|
266
|
+
if (this.stopped) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
this.stopped = true;
|
|
270
|
+
const perHookTimeoutMs = (_a = options === null || options === void 0 ? void 0 : options.perHookTimeoutMs) !== null && _a !== void 0 ? _a : 10000;
|
|
271
|
+
let logHandler;
|
|
272
|
+
try {
|
|
273
|
+
logHandler = this.container.resolve("LogHandlerInterface");
|
|
274
|
+
}
|
|
275
|
+
catch (_b) {
|
|
276
|
+
// Logging may not have booted (e.g. start() failed mid-flight). Fall back to stderr.
|
|
277
|
+
}
|
|
278
|
+
// Insertion order: `initModule` records the parent BEFORE recursing into children, so the
|
|
279
|
+
// map's natural key order is root → branch → leaf. Shutting down in that order means the
|
|
280
|
+
// outer-most modules (AppModule and its direct imports) tear down first while their
|
|
281
|
+
// dependencies (logging, configuration, the container itself) are still healthy — exactly
|
|
282
|
+
// what we want.
|
|
283
|
+
const moduleNames = Object.keys(this.instantiatedModules);
|
|
284
|
+
for (const name of moduleNames) {
|
|
285
|
+
const module = this.instantiatedModules[name];
|
|
286
|
+
if (typeof module.onShutdown !== "function") {
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
try {
|
|
290
|
+
yield this.runWithTimeout(module.onShutdown(this.container), perHookTimeoutMs, name);
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
const message = `[Kernel] onShutdown failed for module '${name}': ${error.message}`;
|
|
294
|
+
if (logHandler !== undefined) {
|
|
295
|
+
logHandler.error(message, { extra: { moduleKeyname: name, error } });
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
process.stderr.write(message + "\n");
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
if (logHandler !== undefined && typeof logHandler.terminate === "function") {
|
|
303
|
+
try {
|
|
304
|
+
logHandler.terminate();
|
|
305
|
+
}
|
|
306
|
+
catch (_c) {
|
|
307
|
+
// Best-effort.
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Wraps a Promise in a timeout that rejects with a clear error if not settled in time.
|
|
314
|
+
* `timeoutMs <= 0` disables the timeout entirely.
|
|
315
|
+
* @private
|
|
316
|
+
*/
|
|
317
|
+
runWithTimeout(promise, timeoutMs, label) {
|
|
318
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
319
|
+
if (timeoutMs <= 0) {
|
|
320
|
+
return promise;
|
|
321
|
+
}
|
|
322
|
+
let timer;
|
|
323
|
+
const timeout = new Promise((_, reject) => {
|
|
324
|
+
timer = setTimeout(() => reject(new Error(`onShutdown for '${label}' exceeded ${timeoutMs}ms`)), timeoutMs);
|
|
325
|
+
});
|
|
326
|
+
try {
|
|
327
|
+
return yield Promise.race([promise, timeout]);
|
|
328
|
+
}
|
|
329
|
+
finally {
|
|
330
|
+
if (timer !== undefined) {
|
|
331
|
+
clearTimeout(timer);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
}
|
|
89
336
|
/**
|
|
90
337
|
*
|
|
91
338
|
* @param event
|
|
@@ -185,24 +432,31 @@ class Kernel {
|
|
|
185
432
|
});
|
|
186
433
|
}
|
|
187
434
|
/**
|
|
188
|
-
*
|
|
189
|
-
*
|
|
435
|
+
* Resolves the ConfigurationManager and registers every module's configuration definitions onto it.
|
|
436
|
+
* Returns the manager so the caller can subsequently inspect required parameters or call `load()`.
|
|
437
|
+
* Split out from the original `initConfiguration` so `verifyInstantiation` can run a non-mutating
|
|
438
|
+
* check between definition registration and value loading.
|
|
190
439
|
* @private
|
|
191
440
|
*/
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if (instantiatedModule.configurationDefinitions) {
|
|
202
|
-
instantiatedModule.configurationDefinitions.forEach(configurationDefinition => configurationManager.register(configurationDefinition));
|
|
203
|
-
}
|
|
441
|
+
registerConfigurationDefinitions() {
|
|
442
|
+
const configurationManager = this.container.resolve(configuration_1.ConfigurationManager);
|
|
443
|
+
for (const key in this.instantiatedModules) {
|
|
444
|
+
if (this.instantiatedModules.hasOwnProperty(key) === false) {
|
|
445
|
+
continue;
|
|
446
|
+
}
|
|
447
|
+
const instantiatedModule = this.instantiatedModules[key];
|
|
448
|
+
if (instantiatedModule.configurationDefinitions) {
|
|
449
|
+
instantiatedModule.configurationDefinitions.forEach(configurationDefinition => configurationManager.register(configurationDefinition));
|
|
204
450
|
}
|
|
205
|
-
|
|
451
|
+
}
|
|
452
|
+
return configurationManager;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Loads the configuration values into the previously-registered ConfigurationManager.
|
|
456
|
+
* @private
|
|
457
|
+
*/
|
|
458
|
+
loadConfiguration(configurationManager, moduleConfigurationValues) {
|
|
459
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
206
460
|
yield configurationManager.load(moduleConfigurationValues !== null && moduleConfigurationValues !== void 0 ? moduleConfigurationValues : {}, this.container);
|
|
207
461
|
});
|
|
208
462
|
}
|
|
@@ -265,6 +519,51 @@ class Kernel {
|
|
|
265
519
|
this.registerProviderRegistration(taggedRegistrationType.providerRegistration);
|
|
266
520
|
});
|
|
267
521
|
}
|
|
522
|
+
/**
|
|
523
|
+
* Wraps a phase invocation: times it, captures any thrown error into a serialized form, appends a
|
|
524
|
+
* PhaseResult to the report, and returns whether the phase passed.
|
|
525
|
+
* @private
|
|
526
|
+
*/
|
|
527
|
+
runPhase(report, phase, fn) {
|
|
528
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
529
|
+
const startedAt = Date.now();
|
|
530
|
+
try {
|
|
531
|
+
yield fn();
|
|
532
|
+
report.phases.push(new phase_result_1.PhaseResult(phase, instantiation_status_enum_1.InstantiationStatusEnum.Passed, Date.now() - startedAt));
|
|
533
|
+
return true;
|
|
534
|
+
}
|
|
535
|
+
catch (error) {
|
|
536
|
+
report.phases.push(new phase_result_1.PhaseResult(phase, instantiation_status_enum_1.InstantiationStatusEnum.Failed, Date.now() - startedAt, this.serializeError(error)));
|
|
537
|
+
return false;
|
|
538
|
+
}
|
|
539
|
+
});
|
|
540
|
+
}
|
|
541
|
+
runInstantiationTest(test) {
|
|
542
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
543
|
+
const startedAt = Date.now();
|
|
544
|
+
try {
|
|
545
|
+
const result = yield test.run(this.container);
|
|
546
|
+
return new instantiation_test_execution_result_1.InstantiationTestExecutionResult(test.name, result.passed, Date.now() - startedAt, test.description, result.message, result.details);
|
|
547
|
+
}
|
|
548
|
+
catch (error) {
|
|
549
|
+
return new instantiation_test_execution_result_1.InstantiationTestExecutionResult(test.name, false, Date.now() - startedAt, test.description, undefined, undefined, this.serializeError(error));
|
|
550
|
+
}
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
skipPhase(report, phase) {
|
|
554
|
+
report.phases.push(new phase_result_1.PhaseResult(phase, instantiation_status_enum_1.InstantiationStatusEnum.Skipped, 0));
|
|
555
|
+
}
|
|
556
|
+
skipRemainingPhases(report, phases) {
|
|
557
|
+
for (const phase of phases) {
|
|
558
|
+
this.skipPhase(report, phase);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
serializeError(error) {
|
|
562
|
+
if (error instanceof Error) {
|
|
563
|
+
return { name: error.name, message: error.message, stack: error.stack };
|
|
564
|
+
}
|
|
565
|
+
return { name: "UnknownError", message: String(error) };
|
|
566
|
+
}
|
|
268
567
|
}
|
|
269
568
|
exports.Kernel = Kernel;
|
|
270
569
|
//# sourceMappingURL=kernel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../src/kernel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../src/kernel.ts"],"names":[],"mappings":"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"}
|