@digital-alchemy/core 26.2.17 → 26.5.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.
Files changed (85) hide show
  1. package/CLAUDE.md +302 -0
  2. package/README.md +19 -3
  3. package/dist/helpers/async.d.mts +37 -0
  4. package/dist/helpers/async.mjs +50 -15
  5. package/dist/helpers/async.mjs.map +1 -1
  6. package/dist/helpers/config-environment-loader.d.mts +39 -0
  7. package/dist/helpers/config-environment-loader.mjs +51 -11
  8. package/dist/helpers/config-environment-loader.mjs.map +1 -1
  9. package/dist/helpers/config-file-loader.d.mts +65 -0
  10. package/dist/helpers/config-file-loader.mjs +80 -4
  11. package/dist/helpers/config-file-loader.mjs.map +1 -1
  12. package/dist/helpers/config.d.mts +202 -5
  13. package/dist/helpers/config.mjs +60 -0
  14. package/dist/helpers/config.mjs.map +1 -1
  15. package/dist/helpers/context.d.mts +12 -1
  16. package/dist/helpers/cron.d.mts +154 -7
  17. package/dist/helpers/cron.mjs +47 -4
  18. package/dist/helpers/cron.mjs.map +1 -1
  19. package/dist/helpers/errors.d.mts +45 -0
  20. package/dist/helpers/errors.mjs +45 -0
  21. package/dist/helpers/errors.mjs.map +1 -1
  22. package/dist/helpers/events.d.mts +23 -0
  23. package/dist/helpers/events.mjs +23 -0
  24. package/dist/helpers/events.mjs.map +1 -1
  25. package/dist/helpers/extend.d.mts +50 -0
  26. package/dist/helpers/extend.mjs +63 -0
  27. package/dist/helpers/extend.mjs.map +1 -1
  28. package/dist/helpers/index.d.mts +9 -0
  29. package/dist/helpers/index.mjs +9 -0
  30. package/dist/helpers/index.mjs.map +1 -1
  31. package/dist/helpers/lifecycle.d.mts +102 -16
  32. package/dist/helpers/lifecycle.mjs +19 -1
  33. package/dist/helpers/lifecycle.mjs.map +1 -1
  34. package/dist/helpers/logger.d.mts +178 -17
  35. package/dist/helpers/logger.mjs +41 -1
  36. package/dist/helpers/logger.mjs.map +1 -1
  37. package/dist/helpers/module.d.mts +110 -0
  38. package/dist/helpers/module.mjs +55 -6
  39. package/dist/helpers/module.mjs.map +1 -1
  40. package/dist/helpers/service-runner.d.mts +27 -1
  41. package/dist/helpers/service-runner.mjs +27 -1
  42. package/dist/helpers/service-runner.mjs.map +1 -1
  43. package/dist/helpers/utilities.d.mts +123 -3
  44. package/dist/helpers/utilities.mjs +110 -3
  45. package/dist/helpers/utilities.mjs.map +1 -1
  46. package/dist/helpers/wiring.d.mts +385 -0
  47. package/dist/helpers/wiring.mjs +120 -0
  48. package/dist/helpers/wiring.mjs.map +1 -1
  49. package/dist/services/als.service.d.mts +10 -0
  50. package/dist/services/als.service.mjs +49 -0
  51. package/dist/services/als.service.mjs.map +1 -1
  52. package/dist/services/configuration.service.d.mts +22 -0
  53. package/dist/services/configuration.service.mjs +140 -12
  54. package/dist/services/configuration.service.mjs.map +1 -1
  55. package/dist/services/index.d.mts +8 -0
  56. package/dist/services/index.mjs +8 -0
  57. package/dist/services/index.mjs.map +1 -1
  58. package/dist/services/internal.service.d.mts +98 -19
  59. package/dist/services/internal.service.mjs +91 -9
  60. package/dist/services/internal.service.mjs.map +1 -1
  61. package/dist/services/is.service.d.mts +64 -4
  62. package/dist/services/is.service.mjs +67 -4
  63. package/dist/services/is.service.mjs.map +1 -1
  64. package/dist/services/lifecycle.service.d.mts +26 -0
  65. package/dist/services/lifecycle.service.mjs +67 -9
  66. package/dist/services/lifecycle.service.mjs.map +1 -1
  67. package/dist/services/logger.service.d.mts +27 -0
  68. package/dist/services/logger.service.mjs +133 -9
  69. package/dist/services/logger.service.mjs.map +1 -1
  70. package/dist/services/scheduler.service.d.mts +19 -0
  71. package/dist/services/scheduler.service.mjs +87 -4
  72. package/dist/services/scheduler.service.mjs.map +1 -1
  73. package/dist/services/wiring.service.d.mts +28 -0
  74. package/dist/services/wiring.service.mjs +152 -19
  75. package/dist/services/wiring.service.mjs.map +1 -1
  76. package/dist/testing/index.d.mts +4 -0
  77. package/dist/testing/index.mjs +4 -0
  78. package/dist/testing/index.mjs.map +1 -1
  79. package/dist/testing/mock-logger.d.mts +8 -0
  80. package/dist/testing/mock-logger.mjs +9 -0
  81. package/dist/testing/mock-logger.mjs.map +1 -1
  82. package/dist/testing/test-module.d.mts +107 -27
  83. package/dist/testing/test-module.mjs +58 -1
  84. package/dist/testing/test-module.mjs.map +1 -1
  85. package/package.json +33 -31
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.service.mjs","sourceRoot":"","sources":["../../src/services/wiring.service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.service.mjs","sourceRoot":"","sources":["../../src/services/wiring.service.mts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
+ /**
2
+ * Test infrastructure: mock logger and test runner factory for isolated DI bootstrapping
3
+ * in test suites. Both tools are safe to use without configuration changes.
4
+ */
1
5
  export * from "./mock-logger.mts";
2
6
  export * from "./test-module.mts";
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Test infrastructure: mock logger and test runner factory for isolated DI bootstrapping
3
+ * in test suites. Both tools are safe to use without configuration changes.
4
+ */
1
5
  export * from "./mock-logger.mjs";
2
6
  export * from "./test-module.mjs";
3
7
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/testing/index.mts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/testing/index.mts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1,10 @@
1
1
  import type { ILogger } from "../index.mts";
2
+ /**
3
+ * Create a no-op logger for suppressing output in test specs.
4
+ *
5
+ * @remarks
6
+ * Returns an {@link ILogger} where every method is a stub function that discards
7
+ * all input. Use this in test runners or specs where logger output would pollute
8
+ * test output or stderr during a silent test run.
9
+ */
2
10
  export declare function createMockLogger(): ILogger;
@@ -1,4 +1,13 @@
1
+ /**
2
+ * Create a no-op logger for suppressing output in test specs.
3
+ *
4
+ * @remarks
5
+ * Returns an {@link ILogger} where every method is a stub function that discards
6
+ * all input. Use this in test runners or specs where logger output would pollute
7
+ * test output or stderr during a silent test run.
8
+ */
1
9
  export function createMockLogger() {
10
+ // every method is a stub to avoid any side effects during testing
2
11
  return {
3
12
  debug: () => { },
4
13
  error: () => { },
@@ -1 +1 @@
1
- {"version":3,"file":"mock-logger.mjs","sourceRoot":"","sources":["../../src/testing/mock-logger.mts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mock-logger.mjs","sourceRoot":"","sources":["../../src/testing/mock-logger.mts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,kEAAkE;IAClE,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;KACf,CAAC;AACJ,CAAC"}
@@ -1,3 +1,17 @@
1
+ /**
2
+ * Test infrastructure for bootstrapping isolated DI graphs in test suites.
3
+ *
4
+ * @remarks
5
+ * {@link TestRunner} boots a **real** dependency-injection graph, not a mock framework.
6
+ * Every lifecycle stage fires in order, every service executes normally, and every
7
+ * scheduler registers real event listeners. This makes it safe to test complex
8
+ * initialization sequences, lifecycle interactions, and async service behavior without
9
+ * leaking state between tests. By default, config files and environment variables
10
+ * are NOT loaded; opt in with `loadConfigs: true` or `setOptions({ configSources })`.
11
+ *
12
+ * Always call `.teardown()` in `afterEach` — open handles and event listeners will
13
+ * keep vitest hanging if left uncleaned.
14
+ */
1
15
  import type { ApplicationDefinition, DataTypes, ILogger, LibraryDefinition, LoggerOptions, ModuleConfiguration, OptionalModuleConfiguration, PartialConfiguration, ServiceFunction, ServiceMap, TConfigLogLevel, TLibrary, TServiceParams } from "../index.mts";
2
16
  export type CreateTestingLibraryOptions<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
3
17
  /**
@@ -10,43 +24,52 @@ type TestingBootstrapOptions = {
10
24
  /**
11
25
  * default: false
12
26
  *
13
- * set to true to have this test emit logs
27
+ * Set to true to have this test emit logs to stdout. Useful for debugging
28
+ * test failures during interactive development.
14
29
  */
15
30
  emitLogs?: boolean;
16
31
  /**
17
- * pass through to bootstrap params
32
+ * Pass through to bootstrap params to customize logger output behavior.
18
33
  */
19
34
  loggerOptions?: LoggerOptions;
20
35
  /**
21
36
  * default: false
22
37
  *
23
- * Should testing apps consider config file / environment variables?
38
+ * Whether to load config from environment variables and config files.
39
+ * By default, all config sources are disabled — the test environment
40
+ * is isolated. Opt in with `loadConfigs: true` or individual sources
41
+ * via `setOptions({ configSources: { env: true } })`.
24
42
  */
25
43
  loadConfigs?: boolean;
26
44
  /**
27
- * replacement logger object to use
45
+ * Replacement logger object to use instead of the default no-op logger.
28
46
  *
29
- * default: **NOOP**
47
+ * default: **no-op ILogger** (all methods are stubs)
30
48
  */
31
49
  customLogger?: ILogger;
32
50
  /**
33
- * matches regular bootstrap options
51
+ * Matches regular bootstrap options for library load ordering.
34
52
  */
35
53
  bootLibrariesFirst?: boolean;
36
54
  /**
37
- * default values to use for configurations, before user values come in
55
+ * Default values to use for configurations, applied before user values.
56
+ * Deep-merged into the module configuration during bootstrap.
38
57
  */
39
58
  configuration?: PartialConfiguration;
40
59
  /**
41
60
  * @internal
42
61
  *
43
- * define a configuration for the unit tests
44
- *
45
- * > **note**: you probably don't need to do this, it's not even documented
62
+ * Explicit module configuration for the test runner. Only set this if you
63
+ * need to control the raw configuration shape; normally use `.configure()`
64
+ * instead.
46
65
  */
47
66
  module_config?: ModuleConfiguration;
48
67
  /**
49
- * all properties default true if not provided
68
+ * Control which config sources are loaded by the test runner.
69
+ * Defaults to **all disabled** unless `loadConfigs: true` is passed.
70
+ *
71
+ * Example: `setOptions({ configSources: { env: true } })` enables
72
+ * environment variable loading without file loading.
50
73
  */
51
74
  configSources?: Partial<Record<DataTypes, boolean>>;
52
75
  };
@@ -54,61 +77,118 @@ export type LibraryTestRunner<T> = T extends LibraryDefinition<infer S, infer C>
54
77
  export type ApplicationTestRunner<T> = T extends ApplicationDefinition<infer S, infer C> ? iTestRunner<S, C> : never;
55
78
  export type iTestRunner<S extends ServiceMap, C extends OptionalModuleConfiguration> = {
56
79
  /**
57
- * chained calls deep merge options together
80
+ * Merge configuration values into the test runner's config.
81
+ *
82
+ * @remarks
83
+ * Chained calls deep-merge together; order is left-to-right.
84
+ * Configuration is applied at bootstrap time via `onPostConfig`.
58
85
  */
59
86
  configure: (configuration: PartialConfiguration) => iTestRunner<S, C>;
60
87
  /**
61
- * chained calls deep merge options together
88
+ * Merge bootstrap options into the test runner.
89
+ *
90
+ * @remarks
91
+ * Chained calls deep-merge together. Use this to set logging behavior,
92
+ * config sources, and other bootstrap-level parameters.
62
93
  */
63
94
  setOptions: (options: TestingBootstrapOptions) => iTestRunner<S, C>;
64
95
  /**
65
- * sets flag to true
96
+ * Enable library-first bootstrap order for this test.
97
+ *
98
+ * @remarks
99
+ * Sets `bootLibrariesFirst: true` in the bootstrap options.
66
100
  */
67
101
  bootLibrariesFirst: () => iTestRunner<S, C>;
68
102
  /**
69
- * for debugging, single command to enable logging on this test
103
+ * Enable logger output and optionally set the log level.
104
+ *
105
+ * @remarks
106
+ * Convenience method for debugging test failures. Sets `emitLogs: true`
107
+ * and optionally sets `boilerplate.LOG_LEVEL` if a level is provided.
70
108
  */
71
109
  emitLogs: (log_level?: TConfigLogLevel) => iTestRunner<S, C>;
72
110
  /**
73
- * chained calls add multiple setup functions
111
+ * Register a service function to execute first during bootstrap.
112
+ *
113
+ * @remarks
114
+ * Chained calls add multiple setup functions; they execute in order
115
+ * via a synthetic `run_first` library that depends on all target libraries.
74
116
  */
75
117
  setup: (test: ServiceFunction) => iTestRunner<S, C>;
76
118
  /**
77
- * cannot be used with `.run`
119
+ * Bootstrap and return the fully-wired {@link TServiceParams} without running an inline service.
78
120
  *
79
- * returns params instead of running an inline service
121
+ * @remarks
122
+ * Cannot be used with `.run()`; they are mutually exclusive. Useful when
123
+ * you need to pass the params to multiple service calls or assertions.
124
+ * Always call `.teardown()` after you're done with the params.
80
125
  */
81
126
  serviceParams: () => Promise<TServiceParams>;
82
127
  /**
83
- * cannot be used with `.serviceParams`
128
+ * Bootstrap the test application and run the provided test service.
84
129
  *
85
- * returns reference to app that was booted
130
+ * @remarks
131
+ * Cannot be used with `.serviceParams()`; they are mutually exclusive.
132
+ * Returns the application so you can make assertions on its state after
133
+ * the test service completes. The returned app already has `.teardown()`
134
+ * wired to this runner; call it in `afterEach` to clean up.
135
+ *
136
+ * @throws Propagates any error thrown by the test service or during bootstrap.
86
137
  */
87
138
  run: (test: ServiceFunction) => Promise<ApplicationDefinition<ServiceMap, OptionalModuleConfiguration>>;
88
139
  /**
89
- * add a library to the runner beyond what the target module requested
140
+ * Register an additional library to wire into the test application.
141
+ *
142
+ * @remarks
143
+ * The library is appended to the dependency list; chained calls add
144
+ * multiple libraries. Useful for mocking or providing test doubles
145
+ * without modifying the target module's definition.
90
146
  */
91
147
  appendLibrary: (library: TLibrary) => iTestRunner<S, C>;
92
148
  /**
93
- * inject an extra service to your module
149
+ * Inject an extra service into the test application.
94
150
  *
95
- * by default will take the function name as context, can optionally provide the name as 2nd param (if it even matters)
151
+ * @remarks
152
+ * The service is added to the application's service map by name.
153
+ * If `name` is not provided, the function's `.name` property is used;
154
+ * if that's empty, a UUID is generated. Chained calls add multiple services.
96
155
  */
97
156
  appendService: (service: ServiceFunction, name?: string) => iTestRunner<S, C>;
98
157
  /**
99
- * substitute a library for another by name
158
+ * Substitute a library by name.
159
+ *
160
+ * @remarks
161
+ * Any library in the target module or appended libraries with matching name
162
+ * is replaced by the provided library. Chained calls build a replacement map.
100
163
  */
101
164
  replaceLibrary: (name: string, library: TLibrary) => iTestRunner<S, C>;
102
165
  /**
103
- * reference to the app teardown internally
166
+ * Tear down the bootstrapped application and clean up all resources.
104
167
  *
105
- * clean up your testing resources!
168
+ * @remarks
169
+ * Closes event listeners, cancels schedulers, and flushes any pending
170
+ * async work. **CRITICAL:** Call this in `afterEach` to prevent vitest
171
+ * hangs from unclosed file handles or event emitters. Safe to call
172
+ * multiple times (idempotent).
106
173
  */
107
174
  teardown: () => Promise<void>;
108
175
  type: "test";
109
176
  };
110
177
  /**
111
- * library optional
178
+ * Bootstrap a real dependency-injection graph for testing.
179
+ *
180
+ * @remarks
181
+ * Returns a chainable test runner that wires up a full application with all
182
+ * lifecycle stages executing in order. By default, config files and environment
183
+ * variables are NOT loaded — the test is isolated. Opt in with `loadConfigs: true`
184
+ * or `setOptions({ configSources: { env: true } })`.
185
+ *
186
+ * **Mocking depth matters:** when you spy on a service method, only that method
187
+ * is replaced, not the entire service. To substitute an entire service, use
188
+ * `.replaceLibrary()` or `.appendService()`.
189
+ *
190
+ * **CRITICAL:** Always call `.teardown()` in `afterEach`. Unclosed event listeners
191
+ * and scheduled tasks will hang the test runner.
112
192
  */
113
193
  export declare function TestRunner<S extends ServiceMap, C extends OptionalModuleConfiguration>(options?: CreateTestingLibraryOptions<S, C>): iTestRunner<S, C>;
114
194
  export {};
@@ -1,9 +1,38 @@
1
+ /**
2
+ * Test infrastructure for bootstrapping isolated DI graphs in test suites.
3
+ *
4
+ * @remarks
5
+ * {@link TestRunner} boots a **real** dependency-injection graph, not a mock framework.
6
+ * Every lifecycle stage fires in order, every service executes normally, and every
7
+ * scheduler registers real event listeners. This makes it safe to test complex
8
+ * initialization sequences, lifecycle interactions, and async service behavior without
9
+ * leaking state between tests. By default, config files and environment variables
10
+ * are NOT loaded; opt in with `loadConfigs: true` or `setOptions({ configSources })`.
11
+ *
12
+ * Always call `.teardown()` in `afterEach` — open handles and event listeners will
13
+ * keep vitest hanging if left uncleaned.
14
+ */
1
15
  import { v4 } from "uuid";
2
16
  import { CreateApplication, CreateLibrary, deepExtend, is, NONE } from "../index.mjs";
3
17
  /**
4
- * library optional
18
+ * Bootstrap a real dependency-injection graph for testing.
19
+ *
20
+ * @remarks
21
+ * Returns a chainable test runner that wires up a full application with all
22
+ * lifecycle stages executing in order. By default, config files and environment
23
+ * variables are NOT loaded — the test is isolated. Opt in with `loadConfigs: true`
24
+ * or `setOptions({ configSources: { env: true } })`.
25
+ *
26
+ * **Mocking depth matters:** when you spy on a service method, only that method
27
+ * is replaced, not the entire service. To substitute an entire service, use
28
+ * `.replaceLibrary()` or `.appendService()`.
29
+ *
30
+ * **CRITICAL:** Always call `.teardown()` in `afterEach`. Unclosed event listeners
31
+ * and scheduled tasks will hang the test runner.
5
32
  */
6
33
  export function TestRunner(options = {}) {
34
+ // disable max event listener warnings in test environments where many
35
+ // services register lifecycle callbacks and event handlers simultaneously
7
36
  process.setMaxListeners(NONE);
8
37
  let teardown;
9
38
  let bootOptions = {};
@@ -18,8 +47,12 @@ export function TestRunner(options = {}) {
18
47
  return target && "libraries" in target ? target.libraries : [];
19
48
  }
20
49
  function buildApp(name, target, test) {
50
+ // extract optional dependencies from the target; absent if target is undefined
21
51
  const optional = target && "optionalDepends" in target ? target.optionalDepends : [];
52
+ // gather the full library dependency tree from the target module
22
53
  const depends = [...getLibraries(target)];
54
+ // wrap the target's services and configuration into a library so it can be
55
+ // mixed with appended libraries and the run_first setup library
23
56
  const testLibrary = target
24
57
  ? CreateLibrary({
25
58
  configuration: target.configuration,
@@ -30,6 +63,8 @@ export function TestRunner(options = {}) {
30
63
  services: target.services,
31
64
  })
32
65
  : undefined;
66
+ // setup services (added via .setup()) run in a dedicated library that depends
67
+ // on the target library, ensuring they fire after the full graph is wired
33
68
  let LIB_RUN_FIRST;
34
69
  if (!is.empty(runFirst)) {
35
70
  LIB_RUN_FIRST = CreateLibrary({
@@ -39,60 +74,77 @@ export function TestRunner(options = {}) {
39
74
  services: Object.fromEntries([...runFirst.values()].map(service => [service.name || v4(), service])),
40
75
  });
41
76
  }
77
+ // build the application with appended libraries, the target library (if any),
78
+ // and the special test service that the caller provides to .run() or .serviceParams()
42
79
  const app = CreateApplication({
43
80
  configuration: bootOptions?.module_config ?? {},
81
+ // pass config sources from options; if loadConfigs is not set, all sources default to false
44
82
  configurationLoaders: bootOptions?.configSources,
45
83
  libraries: [
84
+ // map any replaced libraries; use the replacement if it exists in replaceLibrary map
46
85
  ...(is.empty(depends)
47
86
  ? []
48
87
  : depends.map(i => (replaceLibrary.has(i.name) ? replaceLibrary.get(i.name) : i))),
88
+ // include the target library to ensure its services and config are wired
49
89
  ...(testLibrary ? [testLibrary] : []),
50
90
  ],
51
91
  // @ts-expect-error it's life
52
92
  name,
93
+ // inject the test service so it receives TServiceParams at bootstrap time
53
94
  services: { test },
54
95
  });
55
96
  return { LIB_RUN_FIRST, app };
56
97
  }
57
98
  const libraryTestRunner = {
58
99
  appendLibrary(library) {
100
+ // store the library for wiring during bootstrap
59
101
  appendLibraries.set(library.name, library);
60
102
  return libraryTestRunner;
61
103
  },
62
104
  appendService(service, name) {
105
+ // use the service's own function name if no explicit name was provided
63
106
  if (is.empty(name) && !is.empty(service.name)) {
64
107
  name = service.name;
65
108
  }
109
+ // store the service for wiring; generate a UUID only if name is still empty
66
110
  appendServices.set(name || v4(), service);
67
111
  return libraryTestRunner;
68
112
  },
69
113
  bootLibrariesFirst() {
114
+ // set the flag to control library initialization order during bootstrap
70
115
  bootOptions.bootLibrariesFirst = true;
71
116
  return libraryTestRunner;
72
117
  },
73
118
  configure(configuration) {
119
+ // deep-merge the configuration into existing boot options
74
120
  bootOptions = deepExtend(bootOptions, { configuration });
75
121
  return libraryTestRunner;
76
122
  },
77
123
  emitLogs(LOG_LEVEL) {
124
+ // enable logger output for debugging
78
125
  libraryTestRunner.setOptions({ emitLogs: true });
126
+ // only set log level if a specific level was provided
79
127
  if (!is.empty({ level: LOG_LEVEL })) {
80
128
  libraryTestRunner.configure({ boilerplate: { LOG_LEVEL } });
81
129
  }
82
130
  return libraryTestRunner;
83
131
  },
84
132
  replaceLibrary(name, library) {
133
+ // store the replacement; lookup happens during app construction
85
134
  replaceLibrary.set(name, library);
86
135
  return libraryTestRunner;
87
136
  },
88
137
  async run(test) {
138
+ // build the application with all configured libraries, services, and the test service
89
139
  const { app, LIB_RUN_FIRST } = buildApp(options?.name ?? "testing", options?.target, test);
140
+ // bootstrap the full application; all lifecycle stages fire here
90
141
  await app.bootstrap({
91
142
  appendLibrary: [...appendLibraries.values(), ...(LIB_RUN_FIRST ? [LIB_RUN_FIRST] : [])],
92
143
  appendService: Object.fromEntries(appendServices.entries()),
93
144
  bootLibrariesFirst: !!bootOptions?.bootLibrariesFirst,
94
145
  configSources: bootOptions?.configSources,
95
146
  configuration: bootOptions?.configuration,
147
+ // if logging is disabled, provide a no-op logger; otherwise use the provided custom logger or default
96
148
  customLogger: bootOptions?.emitLogs
97
149
  ? undefined
98
150
  : (bootOptions?.customLogger ?? {
@@ -105,21 +157,26 @@ export function TestRunner(options = {}) {
105
157
  }),
106
158
  loggerOptions: bootOptions?.loggerOptions,
107
159
  });
160
+ // capture the teardown function so callers can clean up after the test
108
161
  teardown = async () => await app.teardown();
109
162
  return app;
110
163
  },
111
164
  serviceParams() {
165
+ // wrap a service that returns its TServiceParams immediately; run() will inject them
112
166
  return new Promise(done => libraryTestRunner.run(done));
113
167
  },
114
168
  setOptions(options) {
169
+ // deep-merge bootstrap options; chained calls accumulate settings
115
170
  bootOptions = deepExtend(bootOptions, options);
116
171
  return libraryTestRunner;
117
172
  },
118
173
  setup(service) {
174
+ // register the service to run first; it will be added to LIB_RUN_FIRST during buildApp
119
175
  runFirst.add(service);
120
176
  return libraryTestRunner;
121
177
  },
122
178
  async teardown() {
179
+ // close all event listeners, cancel schedulers, and clean up async work
123
180
  if (teardown) {
124
181
  await teardown();
125
182
  teardown = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"test-module.mjs","sourceRoot":"","sources":["../../src/testing/test-module.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-module.mjs","sourceRoot":"","sources":["../../src/testing/test-module.mts"],"names":[],"mappings":"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"}