fragment-ts 1.0.29 → 1.0.30

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 (50) hide show
  1. package/dist/cli/commands/init.command.js +1 -1
  2. package/dist/core/container/di-container.d.ts +7 -7
  3. package/dist/core/container/di-container.d.ts.map +1 -1
  4. package/dist/core/container/di-container.js +162 -130
  5. package/dist/core/container/di-container.js.map +1 -1
  6. package/dist/core/decorators/application.decorator.d.ts.map +1 -1
  7. package/dist/core/decorators/application.decorator.js +2 -1
  8. package/dist/core/decorators/application.decorator.js.map +1 -1
  9. package/dist/core/decorators/auto-configuration.decorator.d.ts.map +1 -1
  10. package/dist/core/decorators/auto-configuration.decorator.js +4 -3
  11. package/dist/core/decorators/auto-configuration.decorator.js.map +1 -1
  12. package/dist/core/decorators/controller.decorator.d.ts.map +1 -1
  13. package/dist/core/decorators/controller.decorator.js +1 -0
  14. package/dist/core/decorators/controller.decorator.js.map +1 -1
  15. package/dist/core/decorators/http.decorators.d.ts.map +1 -1
  16. package/dist/core/decorators/http.decorators.js +9 -0
  17. package/dist/core/decorators/http.decorators.js.map +1 -1
  18. package/dist/core/decorators/injectable.decorator.d.ts.map +1 -1
  19. package/dist/core/decorators/injectable.decorator.js +1 -0
  20. package/dist/core/decorators/injectable.decorator.js.map +1 -1
  21. package/dist/core/decorators/injection.decorators.d.ts.map +1 -1
  22. package/dist/core/decorators/injection.decorators.js +45 -21
  23. package/dist/core/decorators/injection.decorators.js.map +1 -1
  24. package/dist/core/decorators/repository.decorator.d.ts.map +1 -1
  25. package/dist/core/decorators/repository.decorator.js +1 -0
  26. package/dist/core/decorators/repository.decorator.js.map +1 -1
  27. package/dist/core/decorators/service.decorator.d.ts.map +1 -1
  28. package/dist/core/decorators/service.decorator.js +1 -0
  29. package/dist/core/decorators/service.decorator.js.map +1 -1
  30. package/dist/core/metadata/metadata-storage.d.ts +10 -13
  31. package/dist/core/metadata/metadata-storage.d.ts.map +1 -1
  32. package/dist/core/metadata/metadata-storage.js +21 -18
  33. package/dist/core/metadata/metadata-storage.js.map +1 -1
  34. package/dist/web/application.d.ts +0 -6
  35. package/dist/web/application.d.ts.map +1 -1
  36. package/dist/web/application.js +93 -41
  37. package/dist/web/application.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/cli/commands/init.command.ts +1 -1
  40. package/src/core/container/di-container.ts +248 -181
  41. package/src/core/decorators/application.decorator.ts +2 -1
  42. package/src/core/decorators/auto-configuration.decorator.ts +9 -8
  43. package/src/core/decorators/controller.decorator.ts +2 -1
  44. package/src/core/decorators/http.decorators.ts +17 -0
  45. package/src/core/decorators/injectable.decorator.ts +1 -0
  46. package/src/core/decorators/injection.decorators.ts +59 -24
  47. package/src/core/decorators/repository.decorator.ts +1 -0
  48. package/src/core/decorators/service.decorator.ts +1 -0
  49. package/src/core/metadata/metadata-storage.ts +47 -37
  50. package/src/web/application.ts +128 -62
@@ -180,7 +180,7 @@ class InitCommand {
180
180
  "migrate:revert": "fragment migrate:revert",
181
181
  },
182
182
  dependencies: {
183
- "fragment-ts": "^1.0.29",
183
+ "fragment-ts": "^1.0.30",
184
184
  "reflect-metadata": "^0.1.13",
185
185
  },
186
186
  devDependencies: {
@@ -5,18 +5,18 @@ export declare class DIContainer {
5
5
  private factories;
6
6
  private constructing;
7
7
  private registered;
8
+ private metadataStorage;
9
+ private constructor();
8
10
  static getInstance(): DIContainer;
9
11
  register(token: any, instance?: any, factory?: () => any): void;
10
12
  resolve<T>(token: any): T;
11
13
  private createInstance;
12
14
  private injectProperties;
13
- private getAllPropertyNames;
14
- private checkForDecoratedProperties;
15
- private tryInjectAutowired;
16
- private tryInjectByToken;
17
- private tryInjectValue;
18
- private tryInjectRepository;
19
- private tryInjectLazy;
15
+ private injectAutowiredProperty;
16
+ private injectTokenProperty;
17
+ private injectRepositoryProperty;
18
+ private injectValueProperty;
19
+ private injectLazyProperty;
20
20
  private resolveValue;
21
21
  private resolveRepository;
22
22
  has(token: any): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"di-container.d.ts","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAuB;IAEzC,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI;IAU/D,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAsDzB,OAAO,CAAC,cAAc;IAuCtB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,2BAA2B;IAkDnC,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,YAAY;IAsCpB,OAAO,CAAC,iBAAiB;IAiBzB,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIxB,eAAe,IAAI,GAAG,EAAE;IAIxB,KAAK,IAAI,IAAI;IAQb,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"di-container.d.ts","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"AAGA,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,WAAW;IAOjC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI;IAe/D,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAsEzB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,gBAAgB;IAsFxB,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,YAAY;IAsEpB,OAAO,CAAC,iBAAiB;IAyBzB,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAQxB,eAAe,IAAI,GAAG,EAAE;IAIxB,KAAK,IAAI,IAAI;IASb,KAAK,IAAI,IAAI;CAId"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DIContainer = void 0;
4
4
  const metadata_keys_1 = require("../metadata/metadata-keys");
5
+ const metadata_storage_1 = require("../metadata/metadata-storage");
5
6
  class DIContainer {
6
7
  constructor() {
7
8
  this.singletons = new Map();
@@ -9,6 +10,7 @@ class DIContainer {
9
10
  this.factories = new Map();
10
11
  this.constructing = new Set();
11
12
  this.registered = new Set();
13
+ this.metadataStorage = metadata_storage_1.MetadataStorage.getInstance();
12
14
  }
13
15
  static getInstance() {
14
16
  if (!DIContainer.instance) {
@@ -18,198 +20,191 @@ class DIContainer {
18
20
  }
19
21
  register(token, instance, factory) {
20
22
  this.registered.add(token);
23
+ console.log(` ✓ Registered token: ${typeof token === "function" ? token.name : token}`);
21
24
  if (instance) {
22
25
  this.singletons.set(token, instance);
26
+ console.log(` ➤ Singleton instance created`);
23
27
  }
24
28
  else if (factory) {
25
29
  this.factories.set(token, factory);
30
+ console.log(` ➤ Factory registered`);
26
31
  }
27
32
  }
28
33
  resolve(token) {
29
34
  if (typeof token === "function" && !this.registered.has(token)) {
30
- throw new Error(`Cannot resolve ${token.name}: Not registered as injectable. ` +
31
- `Did you forget to add @Injectable(), @Service(), @Controller(), or @Repository()?`);
35
+ console.log(` ℹ️ Token ${token.name} not explicitly registered, attempting to create instance`);
32
36
  }
33
37
  if (this.constructing.has(token)) {
34
38
  throw new Error(`Circular dependency detected for ${token.name || token}`);
35
39
  }
40
+ // Check singletons first
36
41
  if (this.singletons.has(token)) {
42
+ console.log(` ✓ Resolved from singleton cache: ${typeof token === "function" ? token.name : token}`);
37
43
  return this.singletons.get(token);
38
44
  }
45
+ // Check factories
39
46
  if (this.factories.has(token)) {
47
+ console.log(` 🏭 Creating instance from factory: ${typeof token === "function" ? token.name : token}`);
40
48
  const factory = this.factories.get(token);
41
49
  const instance = factory();
42
50
  const scope = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.SCOPE, token) || "singleton";
43
51
  if (scope === "singleton") {
44
52
  this.singletons.set(token, instance);
53
+ console.log(` ➤ Cached as singleton`);
45
54
  }
46
55
  return instance;
47
56
  }
57
+ // Create new instance for class tokens
48
58
  if (typeof token === "function") {
59
+ console.log(` 🔨 Creating new instance: ${token.name}`);
49
60
  this.constructing.add(token);
50
61
  try {
51
62
  const instance = this.createInstance(token);
52
63
  const scope = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.SCOPE, token) || "singleton";
53
64
  if (scope === "singleton") {
54
65
  this.singletons.set(token, instance);
66
+ console.log(` ➤ Registered as singleton`);
55
67
  }
56
68
  this.constructing.delete(token);
57
69
  return instance;
58
70
  }
59
71
  catch (error) {
60
72
  this.constructing.delete(token);
73
+ console.error(` ❌ Failed to create instance of ${token.name}: ${error}`);
61
74
  throw error;
62
75
  }
63
76
  }
64
- throw new Error(`Cannot resolve dependency: ${token}`);
77
+ throw new Error(`Cannot resolve dependency: ${typeof token === "function" ? token.name : token}`);
65
78
  }
66
79
  createInstance(target) {
67
- console.log(` 🔨 Creating instance of ${target.name}`);
80
+ const className = target.name;
81
+ console.log(` 🏗️ Constructing instance of ${className}`);
82
+ // Get constructor parameter types
68
83
  const paramTypes = Reflect.getMetadata("design:paramtypes", target) || [];
84
+ console.log(` 📋 Constructor parameters for ${className}: ${paramTypes.length}`);
69
85
  const params = paramTypes.map((type, index) => {
70
86
  if (!type || type === Object) {
71
- console.warn(` ⚠️ Constructor param ${index} of ${target.name} has no type`);
87
+ console.warn(` ⚠️ Constructor param ${index} of ${className} has no type information`);
72
88
  return undefined;
73
89
  }
74
- console.log(` 📦 Resolving constructor dependency: ${type.name}`);
90
+ console.log(` 🔌 Resolving constructor dependency [${index}]: ${type.name || type}`);
75
91
  return this.resolve(type);
76
92
  });
93
+ console.log(` 🚀 Instantiating ${className}`);
77
94
  const instance = new target(...params);
78
- // CRITICAL: Inject properties
95
+ // Inject properties
79
96
  this.injectProperties(instance);
80
97
  // Call @PostConstruct
81
98
  const postConstructMethod = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.POST_CONSTRUCT, target);
82
99
  if (postConstructMethod &&
83
100
  typeof instance[postConstructMethod] === "function") {
84
- console.log(` 🎯 Calling @PostConstruct: ${target.name}.${postConstructMethod}()`);
101
+ console.log(` 🎯 Calling @PostConstruct method: ${className}.${String(postConstructMethod)}()`);
85
102
  instance[postConstructMethod]();
86
103
  }
87
104
  return instance;
88
105
  }
89
106
  injectProperties(instance) {
90
107
  const constructor = instance.constructor;
91
- console.log(` 🔍 Checking properties for injection on ${constructor.name}`);
92
- // Get all property names from the entire prototype chain
93
- const propertyNames = this.getAllPropertyNames(instance);
94
- for (const prop of propertyNames) {
95
- if (prop === "constructor")
96
- continue;
97
- // Check each injection type directly on the instance's constructor prototype
98
- const proto = constructor.prototype;
99
- this.tryInjectAutowired(instance, proto, prop, constructor.name);
100
- this.tryInjectByToken(instance, proto, prop, constructor.name);
101
- this.tryInjectValue(instance, proto, prop, constructor.name);
102
- this.tryInjectRepository(instance, proto, prop, constructor.name);
103
- this.tryInjectLazy(instance, proto, prop, constructor.name);
104
- }
105
- }
106
- getAllPropertyNames(obj) {
107
- const props = new Set();
108
- // Get properties from instance and all prototypes
109
- let current = obj;
110
- while (current && current !== Object.prototype) {
111
- Object.getOwnPropertyNames(current).forEach((name) => props.add(name));
112
- current = Object.getPrototypeOf(current);
108
+ const className = constructor.name;
109
+ console.log(` 🔍 Scanning for property injections on ${className}`);
110
+ // Get all property injections from metadata storage
111
+ const propertyInjections = this.metadataStorage.getPropertyInjections(constructor);
112
+ if (propertyInjections.length === 0) {
113
+ console.log(` ℹ️ No property injections registered for ${className}`);
114
+ return;
113
115
  }
114
- return Array.from(props).filter((name) => name !== "constructor");
115
- }
116
- checkForDecoratedProperties(instance, constructor) {
117
- // Check all metadata keys that might be attached to properties
118
- const propertyKeys = [
119
- ...(Reflect.getMetadataKeys(constructor.prototype) || []),
120
- ...(Reflect.getMetadataKeys(instance) || []),
121
- ];
122
- // Filter for property-related metadata
123
- for (const key of propertyKeys) {
124
- if (key.includes("fragment:")) {
125
- // This is a Fragment metadata key, need to check if it's attached to a property
126
- const metadataValue = Reflect.getMetadata(key, constructor.prototype);
127
- if (metadataValue && typeof metadataValue === "object") {
128
- // Could be a property metadata
129
- for (const prop of Object.keys(metadataValue)) {
130
- if (prop !== "constructor") {
131
- this.tryInjectAutowired(instance, constructor.prototype, prop, constructor.name);
132
- this.tryInjectByToken(instance, constructor.prototype, prop, constructor.name);
133
- this.tryInjectValue(instance, constructor.prototype, prop, constructor.name);
134
- this.tryInjectRepository(instance, constructor.prototype, prop, constructor.name);
135
- }
116
+ console.log(` 📌 Found ${propertyInjections.length} property injection(s) for ${className}`);
117
+ for (const { propertyKey, injections } of propertyInjections) {
118
+ console.log(` ➤ Property: ${propertyKey}`);
119
+ for (const injection of injections) {
120
+ console.log(` • Injection type: ${injection.type}`);
121
+ try {
122
+ switch (injection.type) {
123
+ case "autowired":
124
+ this.injectAutowiredProperty(instance, propertyKey, injection.metadata?.type, className);
125
+ break;
126
+ case "inject":
127
+ this.injectTokenProperty(instance, propertyKey, injection.metadata?.token, className);
128
+ break;
129
+ case "repository":
130
+ this.injectRepositoryProperty(instance, propertyKey, injection.metadata?.entity, className);
131
+ break;
132
+ case "value":
133
+ this.injectValueProperty(instance, propertyKey, injection.metadata?.expression, className);
134
+ break;
135
+ case "lazy":
136
+ this.injectLazyProperty(instance, propertyKey, className);
137
+ break;
136
138
  }
137
139
  }
140
+ catch (error) {
141
+ const isOptional = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.OPTIONAL, constructor.prototype, propertyKey);
142
+ if (!isOptional) {
143
+ console.error(` ❌ Failed to inject ${propertyKey} in ${className}: ${error}`);
144
+ throw error;
145
+ }
146
+ console.warn(` ⚠️ Optional dependency ${propertyKey} not available for ${className}`);
147
+ instance[propertyKey] = undefined;
148
+ }
138
149
  }
139
150
  }
140
151
  }
141
- tryInjectAutowired(instance, proto, prop, className) {
142
- const type = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.AUTOWIRED, proto, prop);
143
- if (!type)
144
- return;
145
- console.log(` 💉 @Autowired found: ${className}.${prop} -> ${type.name}`);
146
- const isOptional = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.OPTIONAL, proto, prop);
147
- try {
148
- instance[prop] = this.resolve(type);
149
- console.log(` ✅ Injected ${type.name} into ${className}.${prop}`);
150
- }
151
- catch (error) {
152
- if (!isOptional) {
153
- throw new Error(`Failed to autowire ${type.name} into ${className}.${prop}: ${error}`);
152
+ injectAutowiredProperty(instance, propertyKey, type, className) {
153
+ if (!type) {
154
+ const designType = Reflect.getMetadata("design:type", instance, propertyKey);
155
+ if (designType && designType !== Object) {
156
+ type = designType;
157
+ console.warn(` ⚠️ Using design:type metadata for ${className}.${propertyKey} as fallback`);
154
158
  }
155
- console.warn(` ⚠️ Optional dependency ${type.name} not available for ${className}.${prop}`);
156
- instance[prop] = undefined;
157
- }
158
- }
159
- tryInjectByToken(instance, proto, prop, className) {
160
- const token = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.INJECT, proto, prop);
161
- if (!token)
162
- return;
163
- const tokenName = typeof token === "string" ? token : token.name;
164
- console.log(` 💉 @Inject found: ${className}.${prop} -> ${tokenName}`);
165
- const isOptional = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.OPTIONAL, proto, prop);
166
- try {
167
- instance[prop] = this.resolve(token);
168
- console.log(` ✅ Injected ${tokenName} into ${className}.${prop}`);
169
- }
170
- catch (error) {
171
- if (!isOptional) {
172
- throw new Error(`Failed to inject ${tokenName} into ${className}.${prop}: ${error}`);
159
+ else {
160
+ throw new Error(`Type information not available for ${className}.${propertyKey}`);
173
161
  }
174
- console.warn(` ⚠️ Optional dependency ${tokenName} not available for ${className}.${prop}`);
175
- instance[prop] = undefined;
176
162
  }
163
+ console.log(` 💉 @Autowired: ${className}.${propertyKey} -> ${type.name}`);
164
+ instance[propertyKey] = this.resolve(type);
165
+ console.log(` ✅ Injected ${type.name} into ${className}.${propertyKey}`);
177
166
  }
178
- tryInjectValue(instance, proto, prop, className) {
179
- const expression = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.VALUE, proto, prop);
180
- if (expression === undefined)
181
- return;
182
- console.log(` 🔧 @Value found: ${className}.${prop} = ${expression}`);
183
- instance[prop] = this.resolveValue(expression);
184
- console.log(` ✅ Set value for ${className}.${prop}`);
167
+ injectTokenProperty(instance, propertyKey, token, className) {
168
+ if (!token) {
169
+ throw new Error(`Token not provided for @Inject on ${className}.${propertyKey}`);
170
+ }
171
+ const tokenName = typeof token === "string" ? token : token.name;
172
+ console.log(` 💉 @Inject: ${className}.${propertyKey} -> ${tokenName}`);
173
+ instance[propertyKey] = this.resolve(token);
174
+ console.log(` ✅ Injected ${tokenName} into ${className}.${propertyKey}`);
185
175
  }
186
- tryInjectRepository(instance, proto, prop, className) {
187
- const entity = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.INJECT_REPOSITORY, proto, prop);
188
- if (!entity)
189
- return;
190
- console.log(` 💾 @InjectRepository found: ${className}.${prop} -> Repository<${entity.name}>`);
191
- try {
192
- instance[prop] = this.resolveRepository(entity);
193
- console.log(` ✅ Injected Repository<${entity.name}> into ${className}.${prop}`);
176
+ injectRepositoryProperty(instance, propertyKey, entity, className) {
177
+ if (!entity) {
178
+ throw new Error(`Entity not provided for @InjectRepository on ${className}.${propertyKey}`);
194
179
  }
195
- catch (error) {
196
- throw new Error(`Failed to inject repository for ${entity.name} into ${className}.${prop}: ${error}`);
180
+ console.log(` 💾 @InjectRepository: ${className}.${propertyKey} -> Repository<${entity.name}>`);
181
+ instance[propertyKey] = this.resolveRepository(entity);
182
+ console.log(` ✅ Injected Repository<${entity.name}> into ${className}.${propertyKey}`);
183
+ }
184
+ injectValueProperty(instance, propertyKey, expression, className) {
185
+ if (!expression) {
186
+ throw new Error(`Expression not provided for @Value on ${className}.${propertyKey}`);
197
187
  }
188
+ console.log(` 🔧 @Value: ${className}.${propertyKey} = ${expression}`);
189
+ instance[propertyKey] = this.resolveValue(expression);
190
+ console.log(` ✅ Set value for ${className}.${propertyKey}`);
198
191
  }
199
- tryInjectLazy(instance, proto, prop, className) {
200
- const isLazy = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.LAZY, proto, prop);
201
- if (!isLazy)
202
- return;
203
- const type = Reflect.getMetadata("design:type", proto, prop);
204
- console.log(` ⏳ @Lazy found: ${className}.${prop} (${type?.name || "unknown"})`);
192
+ injectLazyProperty(instance, propertyKey, className) {
193
+ // Get the type for later resolution
194
+ const type = Reflect.getMetadata("design:type", instance, propertyKey);
195
+ if (!type) {
196
+ throw new Error(`Type information not available for @Lazy ${className}.${propertyKey}`);
197
+ }
198
+ console.log(` ⏳ @Lazy: ${className}.${propertyKey} (${type.name})`);
205
199
  let cached = null;
206
200
  let resolved = false;
207
- Object.defineProperty(instance, prop, {
201
+ Object.defineProperty(instance, propertyKey, {
208
202
  get: () => {
209
203
  if (!resolved) {
210
- console.log(` 🔓 Lazy-loading ${type.name} for ${className}.${prop}`);
204
+ console.log(` 🔓 Lazy-loading ${type.name} for ${className}.${propertyKey}`);
211
205
  cached = this.resolve(type);
212
206
  resolved = true;
207
+ console.log(` ✅ Lazy-loaded ${type.name} for ${className}.${propertyKey}`);
213
208
  }
214
209
  return cached;
215
210
  },
@@ -218,57 +213,93 @@ class DIContainer {
218
213
  });
219
214
  }
220
215
  resolveValue(expression) {
221
- const match = expression.match(/\$\{([^:}]+)(?::([^}]*))?\}|\$([A-Z_][A-Z0-9_]*)/i);
222
- if (match) {
223
- const key = match[1] || match[3];
224
- const defaultValue = match[2];
225
- const value = process.env[key];
226
- if (value === undefined) {
227
- if (defaultValue !== undefined) {
228
- return defaultValue;
216
+ // Standardize expression format (remove ${} if present)
217
+ let key = expression.replace(/\$\{|\}/g, "");
218
+ let defaultValue = undefined;
219
+ // Handle default values (format: KEY:default)
220
+ const defaultMatch = key.match(/^(.*?):(.*)$/);
221
+ if (defaultMatch) {
222
+ key = defaultMatch[1].trim();
223
+ defaultValue = defaultMatch[2].trim();
224
+ // Try to parse default value as JSON or number if possible
225
+ try {
226
+ defaultValue = JSON.parse(defaultValue);
227
+ }
228
+ catch {
229
+ // Try number conversion
230
+ const numValue = parseFloat(defaultValue);
231
+ if (!isNaN(numValue) && defaultValue.trim() === numValue.toString()) {
232
+ defaultValue = numValue;
233
+ }
234
+ // Try boolean conversion
235
+ else if (defaultValue.toLowerCase() === "true") {
236
+ defaultValue = true;
237
+ }
238
+ else if (defaultValue.toLowerCase() === "false") {
239
+ defaultValue = false;
229
240
  }
230
- console.warn(` ⚠️ Environment variable "${key}" not defined`);
231
- return "";
232
241
  }
233
- if (value.startsWith("{") || value.startsWith("[")) {
242
+ }
243
+ console.log(` 🔍 Resolving config value: ${key}${defaultValue !== undefined ? ` (default: ${defaultValue})` : ""}`);
244
+ // Check environment variables first
245
+ const envValue = process.env[key.toUpperCase()] || process.env[key];
246
+ if (envValue !== undefined) {
247
+ console.log(` 🌍 Found in environment: ${envValue}`);
248
+ // Try to parse as JSON if it looks like an object/array
249
+ if (envValue.startsWith("{") || envValue.startsWith("[")) {
234
250
  try {
235
- return JSON.parse(value);
251
+ return JSON.parse(envValue);
236
252
  }
237
253
  catch {
238
- return value;
254
+ return envValue;
239
255
  }
240
256
  }
241
- if (/^\d+(\.\d+)?$/.test(value)) {
242
- return parseFloat(value);
257
+ // Try to parse as number
258
+ const numValue = parseFloat(envValue);
259
+ if (!isNaN(numValue) && envValue.trim() === numValue.toString()) {
260
+ return numValue;
243
261
  }
244
- if (value.toLowerCase() === "true")
262
+ // Try to parse as boolean
263
+ if (envValue.toLowerCase() === "true")
245
264
  return true;
246
- if (value.toLowerCase() === "false")
265
+ if (envValue.toLowerCase() === "false")
247
266
  return false;
248
- return value;
267
+ return envValue;
268
+ }
269
+ // Return default value if available
270
+ if (defaultValue !== undefined) {
271
+ console.log(` 📦 Using default value: ${defaultValue}`);
272
+ return defaultValue;
249
273
  }
250
- return expression;
274
+ console.warn(` ⚠️ Config value not found: ${key}`);
275
+ return undefined;
251
276
  }
252
277
  resolveRepository(entity) {
253
278
  try {
279
+ console.log(` 🔍 Resolving repository for entity: ${entity.name}`);
254
280
  const { TypeORMModule } = require("../../typeorm/typeorm-module");
255
281
  const dataSource = TypeORMModule.getDataSource();
256
282
  if (!dataSource || !dataSource.isInitialized) {
257
283
  throw new Error("TypeORM DataSource not initialized");
258
284
  }
285
+ console.log(` ✅ Found DataSource, creating repository for ${entity.name}`);
259
286
  return dataSource.getRepository(entity);
260
287
  }
261
288
  catch (error) {
289
+ console.error(` ❌ Failed to resolve repository for ${entity.name}: ${error.message}`);
262
290
  throw new Error(`Failed to resolve repository for ${entity.name}: ${error?.message}`);
263
291
  }
264
292
  }
265
293
  has(token) {
266
- return this.registered.has(token);
294
+ return (this.registered.has(token) ||
295
+ this.singletons.has(token) ||
296
+ this.factories.has(token));
267
297
  }
268
298
  getAllInstances() {
269
299
  return Array.from(this.singletons.values());
270
300
  }
271
301
  clear() {
302
+ console.log("🧹 Clearing DI Container");
272
303
  this.singletons.clear();
273
304
  this.transients.clear();
274
305
  this.factories.clear();
@@ -277,6 +308,7 @@ class DIContainer {
277
308
  }
278
309
  reset() {
279
310
  this.clear();
311
+ console.log("🔁 DI Container reset complete");
280
312
  }
281
313
  }
282
314
  exports.DIContainer = DIContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"di-container.js","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"di-container.js","sourceRoot":"","sources":["../../../src/core/container/di-container.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"application.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAchB"}
1
+ {"version":3,"file":"application.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAehB"}
@@ -4,12 +4,13 @@ exports.FragmentApplication = FragmentApplication;
4
4
  const metadata_keys_1 = require("../metadata/metadata-keys");
5
5
  function FragmentApplication(options = {}) {
6
6
  return (target) => {
7
+ console.log(`🚀 Registering Fragment application: ${target.name}`);
7
8
  Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.APPLICATION, {
8
9
  ...options,
9
10
  port: options.port || 3000,
10
11
  host: options.host || "0.0.0.0",
11
12
  configPath: options.configPath || "fragment.json",
12
- autoScan: options.autoScan || true,
13
+ autoScan: options.autoScan !== false, // default to true
13
14
  }, target);
14
15
  };
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":";;AASA,kDAgBC;AAzBD,6DAA0D;AAS1D,SAAgB,mBAAmB,CACjC,UAA8B,EAAE;IAEhC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB;YACE,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,eAAe;YACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;SACnC,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"application.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/application.decorator.ts"],"names":[],"mappings":";;AASA,kDAiBC;AA1BD,6DAA0D;AAS1D,SAAgB,mBAAmB,CACjC,UAA8B,EAAE;IAEhC,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,wCAAwC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,cAAc,CACpB,6BAAa,CAAC,WAAW,EACzB;YACE,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;YAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,eAAe;YACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,kBAAkB;SACzD,EACD,MAAM,CACP,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-configuration.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,cAAc,CAYlD"}
1
+ {"version":3,"file":"auto-configuration.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,cAAc,CAalD"}
@@ -6,13 +6,14 @@ const metadata_keys_1 = require("../metadata/metadata-keys");
6
6
  const metadata_storage_1 = require("../metadata/metadata-storage");
7
7
  function AutoConfiguration() {
8
8
  return (target) => {
9
- (0, injectable_decorator_1.Injectable)('singleton')(target);
9
+ console.log(`🔧 Registering AutoConfiguration: ${target.name}`);
10
+ (0, injectable_decorator_1.Injectable)("singleton")(target);
10
11
  Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.AUTO_CONFIGURATION, true, target);
11
12
  const storage = metadata_storage_1.MetadataStorage.getInstance();
12
13
  storage.addClass({
13
14
  target,
14
- type: 'auto-configuration',
15
- scope: 'singleton'
15
+ type: "auto-configuration",
16
+ scope: "singleton",
16
17
  });
17
18
  };
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auto-configuration.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":";;AAIA,8CAYC;AAhBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auto-configuration.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/auto-configuration.decorator.ts"],"names":[],"mappings":";;AAIA,8CAaC;AAjBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,cAAc,CAa5D"}
1
+ {"version":3,"file":"controller.decorator.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,cAAc,CAc5D"}
@@ -6,6 +6,7 @@ const metadata_keys_1 = require("../metadata/metadata-keys");
6
6
  const metadata_storage_1 = require("../metadata/metadata-storage");
7
7
  function Controller(path = "") {
8
8
  return (target) => {
9
+ console.log(`🎮 Registering Controller: ${target.name} at ${path || '/'}`);
9
10
  (0, injectable_decorator_1.Injectable)("singleton")(target);
10
11
  Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.CONTROLLER, path, target);
11
12
  const storage = metadata_storage_1.MetadataStorage.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":";;AAIA,gCAaC;AAjBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,UAAU,CAAC,OAAe,EAAE;IAC1C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"controller.decorator.js","sourceRoot":"","sources":["../../../src/core/decorators/controller.decorator.ts"],"names":[],"mappings":";;AAIA,gCAcC;AAlBD,iEAAoD;AACpD,6DAA0D;AAC1D,mEAA+D;AAE/D,SAAgB,UAAU,CAAC,OAAe,EAAE;IAC1C,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,IAAI,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC3E,IAAA,iCAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,6BAAa,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC;QAC9C,OAAO,CAAC,QAAQ,CAAC;YACf,MAAM;YACN,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}