@pristine-ts/core 0.0.366 → 0.0.368

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.
@@ -66,13 +66,13 @@ class Kernel {
66
66
  // Add every spans as a child of the Initialization Span
67
67
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
68
68
  initializedModuleSpans.forEach(span => this.initializationSpan.addChild(span));
69
- // Register all the service tags in the container.
70
- yield this.registerServiceTags();
71
69
  // Register the configuration.
72
70
  const configurationInitializationSpan = new telemetry_1.Span(telemetry_1.SpanKeynameEnum.ConfigurationInitialization);
73
71
  yield this.initConfiguration(moduleConfigurationValues);
74
72
  configurationInitializationSpan.endDate = Date.now();
75
73
  this.initializationSpan.addChild(configurationInitializationSpan);
74
+ // Register the non module scoped tags
75
+ yield this.registerNonModuleScopedServiceTags();
76
76
  // Run the after init of the module and its dependencies
77
77
  yield this.afterInitModule(module);
78
78
  this.initializationSpan.endDate = Date.now();
@@ -131,6 +131,10 @@ class Kernel {
131
131
  }
132
132
  }
133
133
  importModulesSpan.endDate = Date.now();
134
+ // Register the service tags for this module before other provider registration,
135
+ // as inject only picks the latest one, and we want to be able to override tags with
136
+ // regular provider registrations.
137
+ yield this.registerModuleServiceTags(module);
134
138
  // Add all the providers to the container
135
139
  if (module.providerRegistrations) {
136
140
  module.providerRegistrations.forEach((providerRegistration) => {
@@ -196,17 +200,34 @@ class Kernel {
196
200
  });
197
201
  }
198
202
  /**
199
- * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
200
- * all the entry to the container.
203
+ * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply adds
204
+ * the entries that are scoped to the module we are instantiating to the container.
205
+ *
206
+ * @param module Module being instantiated.
201
207
  * @private
202
208
  */
203
- registerServiceTags() {
209
+ registerModuleServiceTags(module) {
204
210
  common_1.taggedProviderRegistrationsRegistry.forEach((taggedRegistrationType) => {
205
211
  // Verify that if the constructor is moduleScoped, we only load it if its corresponding module is initialized.
212
+ // We only register the service tags for the module that is currently being initialized.
206
213
  // If the module is not initialized, we do not load the tagged service.
207
214
  // This is to prevent that classes that are only imported get registered event if the module is not initialized.
208
215
  const moduleScopedRegistration = common_1.moduleScopedServicesRegistry[taggedRegistrationType.constructor];
209
- if (moduleScopedRegistration && this.instantiatedModules.hasOwnProperty(moduleScopedRegistration.moduleKeyname) === false) {
216
+ if (module.keyname !== (moduleScopedRegistration === null || moduleScopedRegistration === void 0 ? void 0 : moduleScopedRegistration.moduleKeyname)) {
217
+ return;
218
+ }
219
+ this.registerProviderRegistration(taggedRegistrationType.providerRegistration);
220
+ });
221
+ }
222
+ /**
223
+ * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
224
+ * all the entry that are not module scoped to the container.
225
+ * @private
226
+ */
227
+ registerNonModuleScopedServiceTags() {
228
+ common_1.taggedProviderRegistrationsRegistry.forEach((taggedRegistrationType) => {
229
+ const moduleScopedRegistration = common_1.moduleScopedServicesRegistry[taggedRegistrationType.constructor];
230
+ if (moduleScopedRegistration) {
210
231
  return;
211
232
  }
212
233
  this.registerProviderRegistration(taggedRegistrationType.providerRegistration);
@@ -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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"}
@@ -63,13 +63,13 @@ export class Kernel {
63
63
  // Add every spans as a child of the Initialization Span
64
64
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
65
65
  initializedModuleSpans.forEach(span => this.initializationSpan.addChild(span));
66
- // Register all the service tags in the container.
67
- yield this.registerServiceTags();
68
66
  // Register the configuration.
69
67
  const configurationInitializationSpan = new Span(SpanKeynameEnum.ConfigurationInitialization);
70
68
  yield this.initConfiguration(moduleConfigurationValues);
71
69
  configurationInitializationSpan.endDate = Date.now();
72
70
  this.initializationSpan.addChild(configurationInitializationSpan);
71
+ // Register the non module scoped tags
72
+ yield this.registerNonModuleScopedServiceTags();
73
73
  // Run the after init of the module and its dependencies
74
74
  yield this.afterInitModule(module);
75
75
  this.initializationSpan.endDate = Date.now();
@@ -128,6 +128,10 @@ export class Kernel {
128
128
  }
129
129
  }
130
130
  importModulesSpan.endDate = Date.now();
131
+ // Register the service tags for this module before other provider registration,
132
+ // as inject only picks the latest one, and we want to be able to override tags with
133
+ // regular provider registrations.
134
+ yield this.registerModuleServiceTags(module);
131
135
  // Add all the providers to the container
132
136
  if (module.providerRegistrations) {
133
137
  module.providerRegistrations.forEach((providerRegistration) => {
@@ -193,17 +197,34 @@ export class Kernel {
193
197
  });
194
198
  }
195
199
  /**
196
- * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
197
- * all the entry to the container.
200
+ * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply adds
201
+ * the entries that are scoped to the module we are instantiating to the container.
202
+ *
203
+ * @param module Module being instantiated.
198
204
  * @private
199
205
  */
200
- registerServiceTags() {
206
+ registerModuleServiceTags(module) {
201
207
  taggedProviderRegistrationsRegistry.forEach((taggedRegistrationType) => {
202
208
  // Verify that if the constructor is moduleScoped, we only load it if its corresponding module is initialized.
209
+ // We only register the service tags for the module that is currently being initialized.
203
210
  // If the module is not initialized, we do not load the tagged service.
204
211
  // This is to prevent that classes that are only imported get registered event if the module is not initialized.
205
212
  const moduleScopedRegistration = moduleScopedServicesRegistry[taggedRegistrationType.constructor];
206
- if (moduleScopedRegistration && this.instantiatedModules.hasOwnProperty(moduleScopedRegistration.moduleKeyname) === false) {
213
+ if (module.keyname !== (moduleScopedRegistration === null || moduleScopedRegistration === void 0 ? void 0 : moduleScopedRegistration.moduleKeyname)) {
214
+ return;
215
+ }
216
+ this.registerProviderRegistration(taggedRegistrationType.providerRegistration);
217
+ });
218
+ }
219
+ /**
220
+ * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
221
+ * all the entry that are not module scoped to the container.
222
+ * @private
223
+ */
224
+ registerNonModuleScopedServiceTags() {
225
+ taggedProviderRegistrationsRegistry.forEach((taggedRegistrationType) => {
226
+ const moduleScopedRegistration = moduleScopedServicesRegistry[taggedRegistrationType.constructor];
227
+ if (moduleScopedRegistration) {
207
228
  return;
208
229
  }
209
230
  this.registerProviderRegistration(taggedRegistrationType.providerRegistration);
@@ -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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"}
@@ -71,12 +71,20 @@ export declare class Kernel {
71
71
  * @private
72
72
  */
73
73
  private afterInitModule;
74
+ /**
75
+ * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply adds
76
+ * the entries that are scoped to the module we are instantiating to the container.
77
+ *
78
+ * @param module Module being instantiated.
79
+ * @private
80
+ */
81
+ private registerModuleServiceTags;
74
82
  /**
75
83
  * This method loops through the service tag decorators defined in the taggedProviderRegistrationsRegistry and simply add
76
- * all the entry to the container.
84
+ * all the entry that are not module scoped to the container.
77
85
  * @private
78
86
  */
79
- private registerServiceTags;
87
+ private registerNonModuleScopedServiceTags;
80
88
  /**
81
89
  *
82
90
  * @param event
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/core",
3
- "version": "0.0.366",
3
+ "version": "0.0.368",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/core.module.js",
6
6
  "main": "dist/lib/cjs/core.module.js",
@@ -20,11 +20,11 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@pristine-ts/common": "^0.0.366",
24
- "@pristine-ts/configuration": "^0.0.366",
25
- "@pristine-ts/logging": "^0.0.366",
26
- "@pristine-ts/security": "^0.0.366",
27
- "@pristine-ts/telemetry": "^0.0.366",
23
+ "@pristine-ts/common": "^0.0.368",
24
+ "@pristine-ts/configuration": "^0.0.368",
25
+ "@pristine-ts/logging": "^0.0.368",
26
+ "@pristine-ts/security": "^0.0.368",
27
+ "@pristine-ts/telemetry": "^0.0.368",
28
28
  "uuid": "^9.0.1"
29
29
  },
30
30
  "devDependencies": {
@@ -64,5 +64,5 @@
64
64
  "src/*.{js,ts}"
65
65
  ]
66
66
  },
67
- "gitHead": "9bd2ef08324a3a4528e88a47712aa50b512b99ad"
67
+ "gitHead": "0d65f5d8e1494a5fa739b5f372299c8bc9469a5e"
68
68
  }