@zanobijs/core 1.2.0-beta.0 → 1.2.0-beta.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/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.2.0-beta.1](https://github.com/devdroide/ZanobiJS/compare/v1.2.0-beta.0...v1.2.0-beta.1) (2025-06-05)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **core,test:** Change in provider scanning and dependency search ([cd0858b](https://github.com/devdroide/ZanobiJS/commit/cd0858b1437c4470003f574baa34bc7a4f3db817))
11
+
6
12
  # [1.2.0-beta.0](https://github.com/devdroide/ZanobiJS/compare/v1.1.1-beta.0...v1.2.0-beta.0) (2025-05-28)
7
13
 
8
14
  ### Features
package/factory.d.ts CHANGED
@@ -14,12 +14,14 @@ export declare class Factory {
14
14
  private logger;
15
15
  private options;
16
16
  constructor(appModule: TClass, options?: IFactoryOptions);
17
+ private scanProviderModule;
18
+ private registerProviderScanedModules;
17
19
  /**
18
20
  * Registra clases desde un módulo específico.
19
21
  * @param {TClass} module - Módulo desde el que se registrarán las clases.
20
22
  * @private
21
23
  */
22
- private processModule;
24
+ private processClassModule;
23
25
  /**
24
26
  * Crea el contenedor de inyección de dependencias y registra las clases.
25
27
  * @returns {Factory} - Instancia actual de la fábrica.
package/factory.js CHANGED
@@ -25,24 +25,40 @@ class Factory {
25
25
  this.evaluateOptions();
26
26
  this.logger = (0, utils_1.Logger)();
27
27
  this.moduleHandler = new module_1.Module();
28
- this.processModule(appModule);
28
+ this.scanProviderModule(appModule);
29
+ this.registerProviderScanedModules();
30
+ this.processClassModule(appModule);
31
+ }
32
+ scanProviderModule(module) {
33
+ this.logger.debug('Factory - Scan Module:', module.name);
34
+ this.moduleHandler.setup(module);
35
+ this.moduleHandler.scan();
36
+ this.logger.debug('===================================================');
37
+ const importedModules = this.moduleHandler.getImports();
38
+ if (importedModules && importedModules.length) {
39
+ importedModules.forEach((moduleImport) => {
40
+ this.scanProviderModule(moduleImport);
41
+ });
42
+ }
43
+ }
44
+ registerProviderScanedModules() {
45
+ this.moduleHandler.registerAllProviders();
29
46
  }
30
47
  /**
31
48
  * Registra clases desde un módulo específico.
32
49
  * @param {TClass} module - Módulo desde el que se registrarán las clases.
33
50
  * @private
34
51
  */
35
- processModule(module) {
36
- this.logger.debug('Factory - Process - Create module setup:', module.name);
52
+ processClassModule(module) {
53
+ this.logger.debug('Factory - Process Class Module:', module.name);
37
54
  this.moduleHandler.setup(module);
38
- this.logger.debug('Factory - Process - Module initialize:', module.name);
39
55
  this.moduleHandler.initialize();
40
56
  Object.assign(this.registeredClasses, this.moduleHandler.getRegisterClass());
41
- this.logger.success('Factory - Process - Completion of module ', module.name);
57
+ this.logger.success('Factory - Process Class Module - Completion!!!', module.name);
42
58
  const importedModules = this.moduleHandler.getImports();
43
59
  if (importedModules && importedModules.length) {
44
60
  importedModules.forEach((moduleImport) => {
45
- this.processModule(moduleImport);
61
+ this.processClassModule(moduleImport);
46
62
  });
47
63
  }
48
64
  this.logger.debug('===================================================');
@@ -26,7 +26,7 @@ export declare class Injector {
26
26
  * lista de proveedores.
27
27
  * @private
28
28
  */
29
- private scanProviders;
29
+ scanProviders(): void;
30
30
  /**
31
31
  * Método para obtener un objeto con los parámetros(key) y valores(useValue, useClass, useFactory)
32
32
  * que se inyectarán en la clase (target).
@@ -29,7 +29,6 @@ class Injector {
29
29
  this.module = module;
30
30
  this.listProviders = listProviders;
31
31
  this.listProvidersClass = listProvidersClass;
32
- this.scanProviders();
33
32
  }
34
33
  /**
35
34
  * Este método privado recorre el array de los servicios del modulo para
@@ -23,6 +23,7 @@ export declare class Module {
23
23
  * @param {any} module - Módulo a configurar.
24
24
  */
25
25
  setup(module: any): void;
26
+ scan(): void;
26
27
  /**
27
28
  * Inicializa el módulo extrayendo metadatos y registrando las entidades.
28
29
  */
@@ -71,7 +72,7 @@ export declare class Module {
71
72
  * contructor(private sA: ServiceA) // parametro con nombre diferente
72
73
  */
73
74
  private registerDependenciesToAlias;
74
- private registerAllProviders;
75
+ registerAllProviders(): void;
75
76
  /**
76
77
  * Devuelve las importaciones del módulo.
77
78
  * @returns {TClass[] | undefined} - Importaciones del módulo.
@@ -38,18 +38,21 @@ class Module {
38
38
  if (this.metadata.isTypeModule(module)) {
39
39
  this.module = module;
40
40
  this.logger.debug('Module - Setup - Create Injector to module:', module.name);
41
- this.injector = new injector_1.Injector(module, this.listProviders, this.listProvidersClass);
41
+ this.injector = new injector_1.Injector(this.module, this.listProviders, this.listProvidersClass);
42
42
  }
43
43
  else {
44
44
  throw new exceptions_1.InvalidModuleAnnotationException();
45
45
  }
46
46
  }
47
+ scan() {
48
+ this.injector.scanProviders();
49
+ this.getMetadataModule();
50
+ }
47
51
  /**
48
52
  * Inicializa el módulo extrayendo metadatos y registrando las entidades.
49
53
  */
50
54
  initialize() {
51
55
  this.logger.debug('Module - Initialize:', this.module.name);
52
- this.registerAllProviders();
53
56
  this.getMetadataModule();
54
57
  this.registerDependencies();
55
58
  this.registerEntitiesFromProvider();
@@ -183,7 +186,7 @@ class Module {
183
186
  * @returns {any} - Clases registradas.
184
187
  */
185
188
  getRegisterClass() {
186
- this.logger.debug('Module - List of candidate classes to register in container.', this.registerClass);
189
+ this.logger.debug(`Module ${this.module.name} - List of candidate classes to register in container.`, this.registerClass);
187
190
  return this.registerClass;
188
191
  }
189
192
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zanobijs/core",
3
- "version": "1.2.0-beta.0",
3
+ "version": "1.2.0-beta.1",
4
4
  "description": "Zanobi - modern, small, powerful node.js lambda framework (@core)",
5
5
  "keywords": [],
6
6
  "author": "John Edison Cortes Rivera [Devdroide] <johne.aplicativos@gmail.com>",
@@ -29,5 +29,5 @@
29
29
  "peerDependencies": {
30
30
  "@zanobijs/common": "*"
31
31
  },
32
- "gitHead": "fab2cf615b0fb46a1bd4867b6985c1ad2d88d130"
32
+ "gitHead": "30085eedbf67b5ddcd588ad11a4b3e7782f66d87"
33
33
  }