@notjustcoders/ioc-arise 1.1.21 → 1.1.23

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.
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,eAAe,SAmNxB,CAAC"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,eAAO,MAAM,eAAe,SAgOxB,CAAC"}
@@ -12,6 +12,7 @@ const configValidator_1 = require("../utils/configValidator");
12
12
  const errorFactory_1 = require("../errors/errorFactory");
13
13
  const IoCError_1 = require("../errors/IoCError");
14
14
  const moduleResolver_1 = require("../utils/moduleResolver");
15
+ const tsConfigPathsResolver_1 = require("../utils/tsConfigPathsResolver");
15
16
  const logger_1 = require("../utils/logger");
16
17
  exports.generateCommand = new commander_1.Command('generate')
17
18
  .description('Generate IoC container from TypeScript classes')
@@ -83,6 +84,8 @@ exports.generateCommand = new commander_1.Command('generate')
83
84
  }
84
85
  // Group classes by modules if module resolver is available
85
86
  let moduleGroupedClasses;
87
+ let moduleGroupedFactories;
88
+ let moduleGroupedValues;
86
89
  if (moduleResolver && classes.length > 0) {
87
90
  moduleGroupedClasses = moduleResolver.groupClassesByModule(classes);
88
91
  if (mergedOptions.verbose) {
@@ -131,6 +134,15 @@ exports.generateCommand = new commander_1.Command('generate')
131
134
  }
132
135
  }
133
136
  }
137
+ // Group factories and values by module if module resolver is available
138
+ if (moduleResolver) {
139
+ if (factories && factories.length > 0) {
140
+ moduleGroupedFactories = moduleResolver.groupFactoriesByModule(factories);
141
+ }
142
+ if (values && values.length > 0) {
143
+ moduleGroupedValues = moduleResolver.groupValuesByModule(values);
144
+ }
145
+ }
134
146
  // Check for circular dependencies between classes
135
147
  const cycles = circular_dependency_detector_1.CircularDependencyDetector.detect(classes);
136
148
  if (cycles.length > 0) {
@@ -175,7 +187,8 @@ exports.generateCommand = new commander_1.Command('generate')
175
187
  }
176
188
  // Generate container file
177
189
  logger_1.Logger.custom('🚀', 'Generating container...', logger_1.Logger.getColors().cyan + logger_1.Logger.getColors().bright);
178
- generator_1.IoCContainerGenerator.generate(classes, outputPath, moduleGroupedClasses, factories, values);
190
+ const pathsResolver = new tsConfigPathsResolver_1.TsConfigPathsResolver(sourceDir);
191
+ generator_1.IoCContainerGenerator.generate(classes, outputPath, moduleGroupedClasses, factories, values, moduleGroupedFactories, moduleGroupedValues, pathsResolver);
179
192
  logger_1.Logger.success('Container generated successfully!');
180
193
  logger_1.Logger.log(logger_1.Logger.colorizeText(` File: ${outputPath}`, logger_1.Logger.getColors().gray));
181
194
  logger_1.Logger.log(logger_1.Logger.colorizeText(` Classes: ${classes.length}`, logger_1.Logger.getColors().gray));
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ClassInfo, FactoryInfo, ValueInfo } from '../types';
2
+ import { TsConfigPathsResolver } from '../utils/tsConfigPathsResolver';
2
3
  export declare class IoCContainerGenerator {
3
4
  /**
4
5
  * Generates the IoC container code for the given classes
@@ -8,10 +9,12 @@ export declare class IoCContainerGenerator {
8
9
  * @param factories - Optional: Factory functions to be registered
9
10
  * @param values - Optional: Plain object values to be registered with useValue
10
11
  */
11
- static generate(classes: ClassInfo[], outputPath: string, moduleGroupedClasses?: Map<string, ClassInfo[]>, factories?: FactoryInfo[], values?: ValueInfo[]): void;
12
+ static generate(classes: ClassInfo[], outputPath: string, moduleGroupedClasses?: Map<string, ClassInfo[]>, factories?: FactoryInfo[], values?: ValueInfo[], moduleGroupedFactories?: Map<string, FactoryInfo[]>, moduleGroupedValues?: Map<string, ValueInfo[]>, pathsResolver?: TsConfigPathsResolver): void;
12
13
  private static generateFlatCode;
13
14
  private static generateModularFiles;
14
15
  private static generateModuleFile;
16
+ private static generateModuleFactoryRegistrations;
17
+ private static generateModuleValueRegistrations;
15
18
  private static generateMainContainerFile;
16
19
  private static generateModularCode;
17
20
  private static generateModuleDefinitions;
@@ -1 +1 @@
1
- {"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM7D,qBAAa,qBAAqB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,EACzB,MAAM,CAAC,EAAE,SAAS,EAAE,GACrB,IAAI;IA4BP,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA0CnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAqCjC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAsClC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAgBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAY3C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAwC1C,OAAO,CAAC,MAAM,CAAC,eAAe;IAoF9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA+CpC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA2D3C,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAuB5C"}
1
+ {"version":3,"file":"ioc-container-generator.d.ts","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,qBAAqB;IAC9B;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC/C,SAAS,CAAC,EAAE,WAAW,EAAE,EACzB,MAAM,CAAC,EAAE,SAAS,EAAE,EACpB,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,EACnD,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAC9C,aAAa,CAAC,EAAE,qBAAqB,GACtC,IAAI;IA4BP,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA8CnC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAkDjC,OAAO,CAAC,MAAM,CAAC,kCAAkC;IAiCjD,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAW/C,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA0BxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAsClC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAgBxC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAY3C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAwC1C,OAAO,CAAC,MAAM,CAAC,eAAe;IAoF9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IA+CpC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IA2D3C,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAuB5C"}
@@ -14,7 +14,7 @@ class IoCContainerGenerator {
14
14
  * @param factories - Optional: Factory functions to be registered
15
15
  * @param values - Optional: Plain object values to be registered with useValue
16
16
  */
17
- static generate(classes, outputPath, moduleGroupedClasses, factories, values) {
17
+ static generate(classes, outputPath, moduleGroupedClasses, factories, values, moduleGroupedFactories, moduleGroupedValues, pathsResolver) {
18
18
  // Check for name collisions before generating
19
19
  // If moduleGroupedClasses is provided, check all classes from all modules
20
20
  const allClassesToCheck = moduleGroupedClasses && moduleGroupedClasses.size > 1
@@ -26,7 +26,7 @@ class IoCContainerGenerator {
26
26
  (0, fs_1.mkdirSync)(outputDir, { recursive: true });
27
27
  if (moduleGroupedClasses && moduleGroupedClasses.size > 1) {
28
28
  // Generate modular code with separate files for each module
29
- this.generateModularFiles(moduleGroupedClasses, outputPath, factories, values);
29
+ this.generateModularFiles(moduleGroupedClasses, outputPath, factories, values, moduleGroupedFactories, moduleGroupedValues);
30
30
  }
31
31
  else {
32
32
  // Generate single flat file
@@ -37,7 +37,7 @@ class IoCContainerGenerator {
37
37
  const typesPath = outputPath.endsWith('.gen.ts')
38
38
  ? outputPath.replace(/\.gen\.ts$/, '.gen.d.ts')
39
39
  : outputPath.replace(/\.ts$/, '.d.ts');
40
- type_declaration_generator_1.TypeDeclarationGenerator.generate(classes, typesPath, factories, values);
40
+ type_declaration_generator_1.TypeDeclarationGenerator.generate(classes, typesPath, factories, values, pathsResolver);
41
41
  }
42
42
  static generateFlatCode(classes, outputPath, factories, values) {
43
43
  // Collect all interface names to identify which dependencies should use string tokens
@@ -86,13 +86,13 @@ export const container = new Container<ContainerRegistry>();
86
86
  ${allRegistrations}
87
87
  `;
88
88
  }
89
- static generateModularFiles(moduleGroupedClasses, outputPath, factories, values) {
89
+ static generateModularFiles(moduleGroupedClasses, outputPath, _factories, _values, moduleGroupedFactories, moduleGroupedValues) {
90
90
  const outputDir = (0, path_1.dirname)(outputPath);
91
91
  const baseFilename = (0, path_1.basename)(outputPath, '.ts');
92
92
  const modulesDir = (0, path_1.join)(outputDir, 'modules');
93
93
  // Create modules directory
94
94
  (0, fs_1.mkdirSync)(modulesDir, { recursive: true });
95
- // Collect all interface names
95
+ // Collect all interface names across all modules
96
96
  const allClasses = Array.from(moduleGroupedClasses.values()).flat();
97
97
  const interfaceNames = new Set();
98
98
  allClasses.forEach(cls => {
@@ -105,7 +105,9 @@ ${allRegistrations}
105
105
  for (const [moduleName, classes] of moduleGroupedClasses.entries()) {
106
106
  const moduleFilename = `${moduleName.charAt(0).toLowerCase() + moduleName.slice(1)}.module.ts`;
107
107
  const moduleFilePath = (0, path_1.join)(modulesDir, moduleFilename);
108
- const moduleCode = this.generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath);
108
+ const moduleFactories = moduleGroupedFactories?.get(moduleName);
109
+ const moduleValues = moduleGroupedValues?.get(moduleName);
110
+ const moduleCode = this.generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, moduleFactories, moduleValues);
109
111
  (0, fs_1.writeFileSync)(moduleFilePath, moduleCode);
110
112
  // Add import for main container file
111
113
  const moduleVarName = moduleName.charAt(0).toLowerCase() + moduleName.slice(1);
@@ -116,8 +118,8 @@ ${allRegistrations}
116
118
  const mainContainerCode = this.generateMainContainerFile(moduleGroupedClasses, moduleImports, dtsFilename);
117
119
  (0, fs_1.writeFileSync)(outputPath, mainContainerCode);
118
120
  }
119
- static generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath) {
120
- const imports = this.generateImports(classes, moduleFilePath);
121
+ static generateModuleFile(moduleName, classes, interfaceNames, moduleFilePath, factories, values) {
122
+ const imports = this.generateImports(classes, moduleFilePath, factories, values);
121
123
  // Collect abstract class names that are dependencies
122
124
  const abstractClassNames = new Set();
123
125
  classes.forEach(cls => {
@@ -129,21 +131,67 @@ ${allRegistrations}
129
131
  }
130
132
  });
131
133
  });
132
- const registrations = this.generateModuleRegistrations(classes, interfaceNames, abstractClassNames);
134
+ const classRegistrations = this.generateModuleRegistrations(classes, interfaceNames, abstractClassNames);
135
+ const factoryRegistrations = factories && factories.length > 0
136
+ ? this.generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames)
137
+ : '';
138
+ const valueRegistrations = values && values.length > 0
139
+ ? this.generateModuleValueRegistrations(values)
140
+ : '';
141
+ const allRegistrations = [classRegistrations, factoryRegistrations, valueRegistrations]
142
+ .filter(Boolean)
143
+ .join('\n');
133
144
  const moduleVarName = moduleName.charAt(0).toLowerCase() + moduleName.slice(1);
134
145
  return `/**
135
146
  * This file is auto-generated by ioc-arise.
136
147
  * Do not modify this file manually.
137
- *
148
+ *
138
149
  * Module: ${moduleName}
139
150
  */
140
151
  import { ContainerModule, Lifecycle } from '@notjustcoders/di-container';
141
152
  ${imports}
142
153
 
143
154
  export const ${moduleVarName} = new ContainerModule()
144
- ${registrations};
155
+ ${allRegistrations};
145
156
  `;
146
157
  }
158
+ static generateModuleFactoryRegistrations(factories, interfaceNames, abstractClassNames = new Set()) {
159
+ return factories.map(factory => {
160
+ const token = factory.token ? `'${factory.token}'` : `'${factory.name}'`;
161
+ const dependencies = factory.dependencies.length > 0
162
+ ? `, dependencies: [${factory.dependencies.map(dep => {
163
+ if (interfaceNames.has(dep.name))
164
+ return `'${dep.name}'`;
165
+ if (abstractClassNames.has(dep.name))
166
+ return `'${dep.name}'`;
167
+ return dep.name;
168
+ }).join(', ')}]`
169
+ : '';
170
+ const lifecycle = factory.scope === 'singleton' ? 'Lifecycle.Singleton' : 'Lifecycle.Transient';
171
+ let factoryFunction;
172
+ if (factory.useContextObject && factory.contextObjectProperties) {
173
+ const depParams = factory.dependencies.map((_, index) => {
174
+ return factory.contextObjectProperties?.[index]?.name || `dep${index}`;
175
+ }).join(', ');
176
+ const contextObject = factory.contextObjectProperties.map(prop => prop.name).join(', ');
177
+ factoryFunction = `(${depParams}) => ${factory.name}({ ${contextObject} })`;
178
+ }
179
+ else {
180
+ factoryFunction = factory.name;
181
+ }
182
+ return ` .register(${token}, { useFactory: ${factoryFunction}${dependencies}, lifecycle: ${lifecycle} })`;
183
+ }).join('\n');
184
+ }
185
+ static generateModuleValueRegistrations(values) {
186
+ return values.map(value => {
187
+ const token = value.token
188
+ ? `'${value.token}'`
189
+ : value.interfaceName
190
+ ? `'${value.interfaceName}'`
191
+ : `'${value.name}'`;
192
+ return ` .register(${token}, { useValue: ${value.name}, lifecycle: Lifecycle.Singleton })`;
193
+ }).join('\n');
194
+ }
147
195
  static generateMainContainerFile(moduleGroupedClasses, moduleImports, dtsFilename) {
148
196
  const moduleInstantiations = Array.from(moduleGroupedClasses.keys())
149
197
  .map(name => {
@@ -1 +1 @@
1
- {"version":3,"file":"ioc-container-generator.js","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ioc-container-generator.js","sourceRoot":"","sources":["../../src/generator/ioc-container-generator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ClassInfo, FactoryInfo, ValueInfo } from '../types';
2
+ import { TsConfigPathsResolver } from '../utils/tsConfigPathsResolver';
2
3
  export declare class TypeDeclarationGenerator {
3
- static generate(classes: ClassInfo[], outputPath: string, factories?: FactoryInfo[], values?: ValueInfo[]): void;
4
+ static generate(classes: ClassInfo[], outputPath: string, factories?: FactoryInfo[], values?: ValueInfo[], pathsResolver?: TsConfigPathsResolver): void;
4
5
  private static generateTypeDeclarations;
5
6
  private static generateTypeImports;
6
7
  private static findInterfaceLocationForValue;
@@ -1 +1 @@
1
- {"version":3,"file":"type-declaration-generator.d.ts","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAM7D,qBAAa,wBAAwB;IACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI;IAUhH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA2EvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA6ElC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAwD5C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiDrC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAWxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAmBrC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgB5C"}
1
+ {"version":3,"file":"type-declaration-generator.d.ts","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,qBAAa,wBAAwB;IACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAUvJ,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA2EvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA8ElC,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAyD5C,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAkDrC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAWxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAmBrC,OAAO,CAAC,MAAM,CAAC,0BAA0B;CAgB5C"}
@@ -5,15 +5,15 @@ const path_1 = require("path");
5
5
  const fs_1 = require("fs");
6
6
  const errorFactory_1 = require("../errors/errorFactory");
7
7
  class TypeDeclarationGenerator {
8
- static generate(classes, outputPath, factories, values) {
8
+ static generate(classes, outputPath, factories, values, pathsResolver) {
9
9
  // Check for name collisions before generating
10
10
  this.checkForNameCollisions(classes);
11
11
  // outputPath already has .d.ts extension from the generator
12
- const typeDeclarations = this.generateTypeDeclarations(classes, outputPath, factories, values);
12
+ const typeDeclarations = this.generateTypeDeclarations(classes, outputPath, factories, values, pathsResolver);
13
13
  (0, fs_1.mkdirSync)((0, path_1.dirname)(outputPath), { recursive: true });
14
14
  (0, fs_1.writeFileSync)(outputPath, typeDeclarations);
15
15
  }
16
- static generateTypeDeclarations(classes, outputPath, factories, values) {
16
+ static generateTypeDeclarations(classes, outputPath, factories, values, pathsResolver) {
17
17
  // Filter classes that have interface implementations or abstract class implementations
18
18
  const interfaceClasses = classes.filter(cls => cls.interfaceName);
19
19
  const abstractClasses = classes.filter(cls => cls.abstractClassName);
@@ -33,7 +33,7 @@ class TypeDeclarationGenerator {
33
33
  export interface ContainerRegistry {}
34
34
  `;
35
35
  }
36
- const typeImports = this.generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories, values);
36
+ const typeImports = this.generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories, values, pathsResolver);
37
37
  // Build registry entries for interfaces, abstract classes, direct classes, and factories
38
38
  const registryEntries = [];
39
39
  interfaceClasses.forEach(cls => {
@@ -77,11 +77,11 @@ ${registryEntries.join('\n')}
77
77
  }
78
78
  `;
79
79
  }
80
- static generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories, values) {
80
+ static generateTypeImports(interfaceClasses, abstractClasses, directClasses, outputPath, factories, values, pathsResolver) {
81
81
  const outputDir = (0, path_1.dirname)(outputPath);
82
82
  const imports = [];
83
83
  // Build a map of interface names to their actual file paths by searching the source
84
- const interfaceLocations = this.findInterfaceLocations(interfaceClasses, outputDir);
84
+ const interfaceLocations = this.findInterfaceLocations(interfaceClasses, outputDir, pathsResolver);
85
85
  interfaceClasses.forEach(cls => {
86
86
  if (!cls.interfaceName)
87
87
  return;
@@ -128,7 +128,7 @@ ${registryEntries.join('\n')}
128
128
  // Only import the interface type, not the value itself
129
129
  if (value.interfaceName) {
130
130
  // Find interface location by checking imports in the value file
131
- const interfacePath = this.findInterfaceLocationForValue(value, outputDir);
131
+ const interfacePath = this.findInterfaceLocationForValue(value, outputDir, pathsResolver);
132
132
  if (interfacePath) {
133
133
  imports.push(`import type { ${value.interfaceName} } from '${interfacePath}';`);
134
134
  }
@@ -137,7 +137,7 @@ ${registryEntries.join('\n')}
137
137
  }
138
138
  return imports.join('\n');
139
139
  }
140
- static findInterfaceLocationForValue(value, outputDir) {
140
+ static findInterfaceLocationForValue(value, outputDir, pathsResolver) {
141
141
  try {
142
142
  // Read the value file to find where the interface is imported from
143
143
  const fileContent = (0, fs_1.readFileSync)(value.filePath, 'utf-8');
@@ -146,11 +146,11 @@ ${registryEntries.join('\n')}
146
146
  const importRegex = new RegExp(`import\\s+(?:type\\s+)?\\{[^}]*\\b${value.interfaceName}\\b[^}]*\\}\\s+from\\s+['"]([^'"]+)['"]`, 'g');
147
147
  const match = importRegex.exec(fileContent);
148
148
  if (match && match[1]) {
149
- // Found the import path relative to the value file
150
- const valueDir = (0, path_1.dirname)(value.filePath);
151
149
  const interfacePathFromValue = match[1];
152
- // Resolve the absolute path of the interface file
153
- const absoluteInterfacePath = (0, path_1.join)(valueDir, interfacePathFromValue);
150
+ // Try to resolve as a path alias first
151
+ const absoluteFromAlias = pathsResolver?.resolveImportToAbsolute(interfacePathFromValue) ?? null;
152
+ const absoluteInterfacePath = absoluteFromAlias
153
+ ?? (0, path_1.join)((0, path_1.dirname)(value.filePath), interfacePathFromValue);
154
154
  const normalizedInterfacePath = absoluteInterfacePath.endsWith('.ts')
155
155
  ? absoluteInterfacePath
156
156
  : absoluteInterfacePath + '.ts';
@@ -183,7 +183,7 @@ ${registryEntries.join('\n')}
183
183
  return null;
184
184
  }
185
185
  }
186
- static findInterfaceLocations(classes, outputDir) {
186
+ static findInterfaceLocations(classes, outputDir, pathsResolver) {
187
187
  const interfaceLocations = new Map();
188
188
  const interfaceNames = new Set(classes.filter(c => c.interfaceName).map(c => c.interfaceName));
189
189
  if (interfaceNames.size === 0)
@@ -199,13 +199,14 @@ ${registryEntries.join('\n')}
199
199
  const importRegex = new RegExp(`import\\s+(?:type\\s+)?\\{[^}]*\\b${cls.interfaceName}\\b[^}]*\\}\\s+from\\s+['"]([^'"]+)['"]`, 'g');
200
200
  const match = importRegex.exec(fileContent);
201
201
  if (match && match[1]) {
202
- // Found the import path relative to the class file
203
- const classDir = (0, path_1.dirname)(cls.filePath);
204
202
  const interfacePathFromClass = match[1];
205
- // Resolve the absolute path of the interface file
206
- const interfaceAbsPath = require('path').resolve(classDir, interfacePathFromClass);
203
+ // Try path alias resolution first, fall back to relative resolution
204
+ const resolvedFromAlias = pathsResolver?.resolveImportToAbsolute(interfacePathFromClass) ?? null;
205
+ const interfaceAbsPath = resolvedFromAlias
206
+ ?? require('path').resolve((0, path_1.dirname)(cls.filePath), interfacePathFromClass);
207
207
  // Calculate relative path from output directory
208
208
  let relativePath = (0, path_1.relative)(outputDir, interfaceAbsPath);
209
+ relativePath = relativePath.replace(/\.ts$/, '');
209
210
  // Normalize
210
211
  if (!relativePath.startsWith('.')) {
211
212
  relativePath = `./${relativePath}`;
@@ -1 +1 @@
1
- {"version":3,"file":"type-declaration-generator.js","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-declaration-generator.js","sourceRoot":"","sources":["../../src/generator/type-declaration-generator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ClassInfo } from '../types';
1
+ import { ClassInfo, FactoryInfo, ValueInfo } from '../types';
2
2
  import { IoCError } from '../errors/IoCError';
3
3
  export declare class ModuleResolver {
4
4
  private moduleConfig;
@@ -16,6 +16,18 @@ export declare class ModuleResolver {
16
16
  * @returns Map of module names to their classes
17
17
  */
18
18
  groupClassesByModule(classes: ClassInfo[]): Map<string, ClassInfo[]>;
19
+ /**
20
+ * Groups factory functions by their assigned modules
21
+ * @param factories - Array of FactoryInfo objects
22
+ * @returns Map of module names to their factories
23
+ */
24
+ groupFactoriesByModule(factories: FactoryInfo[]): Map<string, FactoryInfo[]>;
25
+ /**
26
+ * Groups values by their assigned modules
27
+ * @param values - Array of ValueInfo objects
28
+ * @returns Map of module names to their values
29
+ */
30
+ groupValuesByModule(values: ValueInfo[]): Map<string, ValueInfo[]>;
19
31
  /**
20
32
  * Checks if a file path matches a given pattern
21
33
  * @param filePath - Normalized relative file path
@@ -1 +1 @@
1
- {"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAAS;gBAEpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM;IAK3E;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAcxD;;;;OAIG;IACI,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAgB3E;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;OAIG;WACW,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE;CAkCvF"}
1
+ {"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAAS;gBAEpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM;IAK3E;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAcxD;;;;OAIG;IACI,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAgB3E;;;;OAIG;IACI,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAgBnF;;;;OAIG;IACI,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAgBzE;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;OAIG;WACW,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE;CAkCvF"}
@@ -41,6 +41,38 @@ class ModuleResolver {
41
41
  }
42
42
  return moduleGroups;
43
43
  }
44
+ /**
45
+ * Groups factory functions by their assigned modules
46
+ * @param factories - Array of FactoryInfo objects
47
+ * @returns Map of module names to their factories
48
+ */
49
+ groupFactoriesByModule(factories) {
50
+ const moduleGroups = new Map();
51
+ for (const factoryInfo of factories) {
52
+ const moduleName = this.getModuleForFile(factoryInfo.filePath) || 'CoreModule';
53
+ if (!moduleGroups.has(moduleName)) {
54
+ moduleGroups.set(moduleName, []);
55
+ }
56
+ moduleGroups.get(moduleName).push(factoryInfo);
57
+ }
58
+ return moduleGroups;
59
+ }
60
+ /**
61
+ * Groups values by their assigned modules
62
+ * @param values - Array of ValueInfo objects
63
+ * @returns Map of module names to their values
64
+ */
65
+ groupValuesByModule(values) {
66
+ const moduleGroups = new Map();
67
+ for (const valueInfo of values) {
68
+ const moduleName = this.getModuleForFile(valueInfo.filePath) || 'CoreModule';
69
+ if (!moduleGroups.has(moduleName)) {
70
+ moduleGroups.set(moduleName, []);
71
+ }
72
+ moduleGroups.get(moduleName).push(valueInfo);
73
+ }
74
+ return moduleGroups;
75
+ }
44
76
  /**
45
77
  * Checks if a file path matches a given pattern
46
78
  * @param filePath - Normalized relative file path
@@ -1 +1 @@
1
- {"version":3,"file":"moduleResolver.js","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moduleResolver.js","sourceRoot":"","sources":["../../src/utils/moduleResolver.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,+BAA2C;AAE3C,yDAAsD;AAGtD,MAAa,cAAc;IAIzB,YAAY,YAAsC,EAAE,eAAuB;QACzE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAA,gBAAS,EAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,QAAgB;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEtD,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC/C,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,iCAAiC;IAChD,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,OAAoB;QAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;YAE7E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,sBAAsB,CAAC,SAAwB;QACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEtD,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;YAE/E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,MAAmB;QAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;YAE7E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,QAAgB,EAAE,OAAe;QACtD,4BAA4B;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,qBAAqB;YACrB,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC;QACpE,CAAC;QAED,uBAAuB;QACvB,OAAO,IAAA,qBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,QAAgB;QACxC,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAA,gBAAS,EAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,oBAAoB,CAAC,YAAsC;QACvE,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAClE,uBAAuB;YACvB,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBACjF,SAAS;YACX,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,CAAC;gBACvF,SAAS;YACX,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,mBAAmB,CAAC,UAAU,EAAE,6BAA6B,OAAO,EAAE,CAAC,CAAC,CAAC;oBAClG,SAAS;gBACX,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAlKD,wCAkKC"}
@@ -0,0 +1,22 @@
1
+ export declare class TsConfigPathsResolver {
2
+ private baseUrl;
3
+ private paths;
4
+ constructor(startDir: string);
5
+ private findTsConfig;
6
+ /**
7
+ * Strips JSON comments while respecting string literals.
8
+ * A simple regex is not safe here because tsconfig path patterns like
9
+ * "@/*" contain "/*" which would be mis-detected as a block comment.
10
+ */
11
+ private stripJsonComments;
12
+ private loadTsConfig;
13
+ /**
14
+ * Resolves a path-alias import to an absolute filesystem path.
15
+ * Returns null if the import is a regular relative import or no alias matches.
16
+ */
17
+ resolveImportToAbsolute(importPath: string): string | null;
18
+ private tryMatch;
19
+ private findFile;
20
+ hasPathAliases(): boolean;
21
+ }
22
+ //# sourceMappingURL=tsConfigPathsResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsConfigPathsResolver.d.ts","sourceRoot":"","sources":["../../src/utils/tsConfigPathsResolver.ts"],"names":[],"mappings":"AAGA,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,KAAK,CAAgC;gBAEjC,QAAQ,EAAE,MAAM;IAO5B,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,YAAY;IAsBpB;;;OAGG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAYjE,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,QAAQ;IAQT,cAAc,IAAI,OAAO;CAGjC"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TsConfigPathsResolver = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ class TsConfigPathsResolver {
7
+ constructor(startDir) {
8
+ this.baseUrl = null;
9
+ this.paths = {};
10
+ const tsConfigPath = this.findTsConfig((0, path_1.resolve)(startDir));
11
+ if (tsConfigPath) {
12
+ this.loadTsConfig(tsConfigPath);
13
+ }
14
+ }
15
+ findTsConfig(startDir) {
16
+ let dir = startDir;
17
+ while (true) {
18
+ const candidate = (0, path_1.join)(dir, 'tsconfig.json');
19
+ if ((0, fs_1.existsSync)(candidate))
20
+ return candidate;
21
+ const parent = (0, path_1.dirname)(dir);
22
+ if (parent === dir)
23
+ return null; // reached filesystem root
24
+ dir = parent;
25
+ }
26
+ }
27
+ /**
28
+ * Strips JSON comments while respecting string literals.
29
+ * A simple regex is not safe here because tsconfig path patterns like
30
+ * "@/*" contain "/*" which would be mis-detected as a block comment.
31
+ */
32
+ stripJsonComments(raw) {
33
+ let result = '';
34
+ let i = 0;
35
+ while (i < raw.length) {
36
+ const ch = raw[i];
37
+ if (ch === '"') {
38
+ // Consume the entire string literal verbatim
39
+ result += ch;
40
+ i++;
41
+ while (i < raw.length) {
42
+ const c = raw[i];
43
+ if (c === '\\') {
44
+ result += c + (raw[i + 1] ?? '');
45
+ i += 2;
46
+ }
47
+ else {
48
+ result += c;
49
+ i++;
50
+ if (c === '"')
51
+ break;
52
+ }
53
+ }
54
+ }
55
+ else if (ch === '/' && raw[i + 1] === '/') {
56
+ // Line comment — skip to end of line
57
+ while (i < raw.length && raw[i] !== '\n')
58
+ i++;
59
+ }
60
+ else if (ch === '/' && raw[i + 1] === '*') {
61
+ // Block comment — skip to */
62
+ i += 2;
63
+ while (i < raw.length) {
64
+ if (raw[i] === '*' && raw[i + 1] === '/') {
65
+ i += 2;
66
+ break;
67
+ }
68
+ i++;
69
+ }
70
+ }
71
+ else {
72
+ result += ch;
73
+ i++;
74
+ }
75
+ }
76
+ return result;
77
+ }
78
+ loadTsConfig(tsConfigPath) {
79
+ try {
80
+ const raw = (0, fs_1.readFileSync)(tsConfigPath, 'utf-8');
81
+ const stripped = this.stripJsonComments(raw)
82
+ // Strip trailing commas before } or ]
83
+ .replace(/,(\s*[}\]])/g, '$1');
84
+ const config = JSON.parse(stripped);
85
+ const co = config.compilerOptions ?? {};
86
+ if (!co.paths)
87
+ return;
88
+ this.baseUrl = co.baseUrl
89
+ ? (0, path_1.resolve)((0, path_1.dirname)(tsConfigPath), co.baseUrl)
90
+ : (0, path_1.dirname)(tsConfigPath);
91
+ this.paths = co.paths;
92
+ }
93
+ catch {
94
+ // Silently ignore unparseable tsconfig
95
+ }
96
+ }
97
+ /**
98
+ * Resolves a path-alias import to an absolute filesystem path.
99
+ * Returns null if the import is a regular relative import or no alias matches.
100
+ */
101
+ resolveImportToAbsolute(importPath) {
102
+ if (!this.baseUrl || !importPath || importPath.startsWith('.'))
103
+ return null;
104
+ for (const [pattern, targets] of Object.entries(this.paths)) {
105
+ for (const target of targets) {
106
+ const resolved = this.tryMatch(importPath, pattern, target);
107
+ if (resolved)
108
+ return resolved;
109
+ }
110
+ }
111
+ return null;
112
+ }
113
+ tryMatch(importPath, pattern, target) {
114
+ if (pattern.endsWith('/*')) {
115
+ const prefix = pattern.slice(0, -2);
116
+ if (!importPath.startsWith(prefix + '/'))
117
+ return null;
118
+ const rest = importPath.slice(prefix.length + 1);
119
+ const targetBase = target.endsWith('/*') ? target.slice(0, -2) : target;
120
+ return this.findFile((0, path_1.join)(this.baseUrl, targetBase, rest));
121
+ }
122
+ // Exact pattern match
123
+ if (importPath !== pattern)
124
+ return null;
125
+ return this.findFile((0, path_1.join)(this.baseUrl, target));
126
+ }
127
+ findFile(basePath) {
128
+ const candidates = [basePath, basePath + '.ts', (0, path_1.join)(basePath, 'index.ts')];
129
+ for (const c of candidates) {
130
+ if ((0, fs_1.existsSync)(c))
131
+ return c;
132
+ }
133
+ return null;
134
+ }
135
+ hasPathAliases() {
136
+ return this.baseUrl !== null && Object.keys(this.paths).length > 0;
137
+ }
138
+ }
139
+ exports.TsConfigPathsResolver = TsConfigPathsResolver;
140
+ //# sourceMappingURL=tsConfigPathsResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsConfigPathsResolver.js","sourceRoot":"","sources":["../../src/utils/tsConfigPathsResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@notjustcoders/ioc-arise",
3
- "version": "1.1.21",
3
+ "version": "1.1.23",
4
4
  "description": "Arise type-safe IoC containers from your code. Zero overhead, zero coupling.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -75,6 +75,8 @@
75
75
  "test9:generate": "npm run build && node dist/index.js generate --source examples/factory-functions-example",
76
76
  "test10:generate": "npm run build && node dist/index.js generate --source examples/use-value-example",
77
77
  "test11:generate": "npm run build && node dist/index.js generate --source examples/factory-functions-example",
78
- "test12:generate": "npm run build && cd examples/output-subdir-example && node ../../dist/index.js generate"
78
+ "test12:generate": "npm run build && cd examples/output-subdir-example && node ../../dist/index.js generate",
79
+ "test13:generate": "npm run build && node dist/index.js generate --source examples/factory-modules-example",
80
+ "test14:generate": "npm run build && cd examples/tsconfig-paths-example && node ../../dist/index.js generate"
79
81
  }
80
82
  }