imports-detector 0.2.2 → 0.2.4
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/README.md +56 -19
- package/dist/analyzer.d.ts +21 -3
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +174 -10
- package/dist/analyzer.js.map +1 -1
- package/dist/cli.js +39 -19
- package/dist/cli.js.map +1 -1
- package/dist/extractor.d.ts +6 -1
- package/dist/extractor.d.ts.map +1 -1
- package/dist/extractor.js +105 -0
- package/dist/extractor.js.map +1 -1
- package/dist/module-resolver.d.ts.map +1 -1
- package/dist/module-resolver.js +7 -4
- package/dist/module-resolver.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/imports-detector)
|
|
5
5
|
[](https://www.npmjs.com/package/imports-detector)
|
|
6
6
|
[](https://www.npmjs.com/package/imports-detector)
|
|
7
|
-
[](https://github.com/almaqdi/imports-detector)
|
|
8
8
|
|
|
9
9
|
A powerful package for detecting and analyzing imports in JavaScript/TypeScript applications. Find files importing specific modules, list all imports, and generate comprehensive dependency reports.
|
|
10
10
|
|
|
@@ -103,18 +103,20 @@ Find files importing a module from a **specific path** (useful when you have mul
|
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
105
|
# Find files importing Dashboard specifically from the admin folder
|
|
106
|
-
imports-detector find Dashboard --module-path admin/Dashboard ./src
|
|
106
|
+
imports-detector find Dashboard --module-path admin/Dashboard.tsx ./src
|
|
107
107
|
|
|
108
108
|
# Find files importing Test from components folder
|
|
109
|
-
imports-detector find Test --module-path components/Test ./src
|
|
109
|
+
imports-detector find Test --module-path components/Test.tsx ./src
|
|
110
110
|
|
|
111
111
|
# Find files importing Test using full path
|
|
112
|
-
imports-detector find Test --module-path src/components/Test ./src
|
|
112
|
+
imports-detector find Test --module-path src/components/Test.tsx ./src
|
|
113
113
|
|
|
114
114
|
# Find files importing Test from test fixtures
|
|
115
|
-
imports-detector find Test --module-path tests/fixtures/sample-project/src/components/Test ./src
|
|
115
|
+
imports-detector find Test --module-path tests/fixtures/sample-project/src/components/Test.tsx ./src
|
|
116
116
|
```
|
|
117
117
|
|
|
118
|
+
> **💡 Best Practice:** Include the file extension (`.tsx`, `.ts`, `.js`, `.jsx`) in `--module-path` for more precise matching. You can copy-paste the file path directly from your IDE!
|
|
119
|
+
|
|
118
120
|
This is especially useful when you have multiple components with the same name:
|
|
119
121
|
|
|
120
122
|
```
|
|
@@ -128,6 +130,41 @@ src/
|
|
|
128
130
|
|
|
129
131
|
Running `imports-detector find Dashboard --module-path admin/Dashboard ./src` will only find files that import from the `admin/Dashboard` path, not the `components/Dashboard` path.
|
|
130
132
|
|
|
133
|
+
##### Find All Imports from a File (Regardless of Import Name)
|
|
134
|
+
|
|
135
|
+
**NEW:** You can now omit the module name when using `--module-path` to find **ALL imports** from a specific file, even if they're imported with different names:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Find ALL imports from Lazyload.tsx (any imported name)
|
|
139
|
+
imports-detector find --module-path src/components/global/atoms/Lazyload/Lazyload.tsx ./src
|
|
140
|
+
|
|
141
|
+
# This will find ALL of these:
|
|
142
|
+
# ✅ import { Lazyload } from './Lazyload'
|
|
143
|
+
# ✅ import { LazyLoad } from './Lazyload' (different name!)
|
|
144
|
+
# ✅ import MyComponent from './Lazyload' (default export with custom name!)
|
|
145
|
+
# ✅ const Lazyload = lazy(() => import('./Lazyload'))
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
This is especially useful for:
|
|
149
|
+
- **Finding renamed imports** - When components are imported with different names
|
|
150
|
+
- **Finding default exports** - When files use custom names for default exports
|
|
151
|
+
- **Finding lazy imports** - When using React.lazy or dynamic import()
|
|
152
|
+
- **Comprehensive analysis** - When you want to see EVERY usage of a file
|
|
153
|
+
|
|
154
|
+
**Example:**
|
|
155
|
+
```bash
|
|
156
|
+
# Without module name: finds imports with ANY name
|
|
157
|
+
imports-detector find --module-path src/components/Header.tsx ./src
|
|
158
|
+
|
|
159
|
+
# Output shows all imports, even with different names:
|
|
160
|
+
# src/App.tsx
|
|
161
|
+
# 📦 ./Header (default): Header (line 1)
|
|
162
|
+
# src/Layout.tsx
|
|
163
|
+
# 📦 ./Header (default): AppHeader (line 3) ← Different name!
|
|
164
|
+
# src/pages/Home.tsx
|
|
165
|
+
# ⚡ ./Header (line 5) ← Lazy import!
|
|
166
|
+
```
|
|
167
|
+
|
|
131
168
|
##### Path Matching Examples
|
|
132
169
|
|
|
133
170
|
The `--module-path` option is flexible and supports various path formats:
|
|
@@ -143,8 +180,8 @@ imports-detector find Dashboard --module-path ./admin/Dashboard ./src
|
|
|
143
180
|
**Example 2: Full paths**
|
|
144
181
|
|
|
145
182
|
```bash
|
|
146
|
-
# Using full path to the Test component
|
|
147
|
-
imports-detector find Test --module-path tests/fixtures/sample-project/src/components/Test ./src
|
|
183
|
+
# Using full path to the Test component (with extension for precision)
|
|
184
|
+
imports-detector find Test --module-path tests/fixtures/sample-project/src/components/Test.tsx ./src
|
|
148
185
|
|
|
149
186
|
# This will find:
|
|
150
187
|
# ✅ import { Test } from './components/Test'
|
|
@@ -157,7 +194,7 @@ imports-detector find Test --module-path tests/fixtures/sample-project/src/compo
|
|
|
157
194
|
|
|
158
195
|
```bash
|
|
159
196
|
# Find imports from a deeply nested component
|
|
160
|
-
imports-detector find UserCard --module-path src/components/admin/users/UserCard ./src
|
|
197
|
+
imports-detector find UserCard --module-path src/components/admin/users/UserCard.tsx ./src
|
|
161
198
|
|
|
162
199
|
# This matches:
|
|
163
200
|
# ✅ import { UserCard } from '../admin/users/UserCard'
|
|
@@ -174,7 +211,7 @@ imports-detector find UserCard --module-path src/components/admin/users/UserCard
|
|
|
174
211
|
# - src/admin/Header.tsx
|
|
175
212
|
|
|
176
213
|
# Find only imports of the admin Header:
|
|
177
|
-
imports-detector find Header --module-path src/admin/Header ./src
|
|
214
|
+
imports-detector find Header --module-path src/admin/Header.tsx ./src
|
|
178
215
|
|
|
179
216
|
# Result: Only files importing from the admin/Header path
|
|
180
217
|
```
|
|
@@ -183,10 +220,10 @@ imports-detector find Header --module-path src/admin/Header ./src
|
|
|
183
220
|
|
|
184
221
|
```bash
|
|
185
222
|
# Find files importing a test utility
|
|
186
|
-
imports-detector find Test --module-path tests/fixtures/sample-project/src/components/Test ./src
|
|
223
|
+
imports-detector find Test --module-path tests/fixtures/sample-project/src/components/Test.tsx ./src
|
|
187
224
|
|
|
188
225
|
# Or using relative path from search directory
|
|
189
|
-
imports-detector find Test --module-path components/Test ./src
|
|
226
|
+
imports-detector find Test --module-path components/Test.tsx ./src
|
|
190
227
|
```
|
|
191
228
|
|
|
192
229
|
**How Path Matching Works:**
|
|
@@ -205,7 +242,7 @@ The path matching is intelligent and handles:
|
|
|
205
242
|
|
|
206
243
|
```bash
|
|
207
244
|
# Good: Specific
|
|
208
|
-
imports-detector find Header --module-path src/layouts/Header ./src
|
|
245
|
+
imports-detector find Header --module-path src/layouts/Header.tsx ./src
|
|
209
246
|
|
|
210
247
|
# Less specific: May find too many results
|
|
211
248
|
imports-detector find Header ./src
|
|
@@ -215,10 +252,10 @@ The path matching is intelligent and handles:
|
|
|
215
252
|
|
|
216
253
|
```bash
|
|
217
254
|
# If your code imports like: import { X } from '@/components/Test'
|
|
218
|
-
# Use: imports-detector find Test --module-path components/Test ./src
|
|
255
|
+
# Use: imports-detector find Test --module-path components/Test.tsx ./src
|
|
219
256
|
|
|
220
257
|
# If your code imports like: import { X } from '../../src/components/Test'
|
|
221
|
-
# Use: imports-detector find Test --module-path src/components/Test ./src
|
|
258
|
+
# Use: imports-detector find Test --module-path src/components/Test.tsx ./src
|
|
222
259
|
```
|
|
223
260
|
|
|
224
261
|
3. **Test with broader search first, then narrow down:**
|
|
@@ -227,8 +264,8 @@ The path matching is intelligent and handles:
|
|
|
227
264
|
# Step 1: See all Test imports
|
|
228
265
|
imports-detector find Test ./src
|
|
229
266
|
|
|
230
|
-
# Step 2: Narrow to specific path
|
|
231
|
-
imports-detector find Test --module-path components/Test ./src
|
|
267
|
+
# Step 2: Narrow to specific path (with extension for precision)
|
|
268
|
+
imports-detector find Test --module-path components/Test.tsx ./src
|
|
232
269
|
```
|
|
233
270
|
|
|
234
271
|
### List All Imports
|
|
@@ -277,7 +314,7 @@ imports-detector report ./src --output report.json --format json
|
|
|
277
314
|
Global options:
|
|
278
315
|
|
|
279
316
|
- `--path <path>` - Root directory to analyze
|
|
280
|
-
- `--module-path <path>` - Specific module path to match (e.g., `admin/Dashboard`)
|
|
317
|
+
- `--module-path <path>` - Specific module path to match (e.g., `admin/Dashboard.tsx`). **Best Practice:** Include the file extension for precise matching.
|
|
281
318
|
- `--base-url <url>` - Base URL for module resolution (overrides tsconfig)
|
|
282
319
|
- `--tsconfig <path>` - Path to tsconfig.json for automatic baseUrl detection
|
|
283
320
|
- `--include <patterns>` - File extensions to include (comma-separated)
|
|
@@ -296,8 +333,8 @@ Examples:
|
|
|
296
333
|
# Find files importing React
|
|
297
334
|
imports-detector find React --path ./src
|
|
298
335
|
|
|
299
|
-
# Find files importing Dashboard from admin folder only
|
|
300
|
-
imports-detector find Dashboard --module-path admin/Dashboard --path ./src
|
|
336
|
+
# Find files importing Dashboard from admin folder only (with extension for precision)
|
|
337
|
+
imports-detector find Dashboard --module-path admin/Dashboard.tsx --path ./src
|
|
301
338
|
|
|
302
339
|
# Find files using TypeScript baseUrl (auto-detected from tsconfig.json)
|
|
303
340
|
imports-detector find ImportBulkSchedulers --path ./src
|
package/dist/analyzer.d.ts
CHANGED
|
@@ -17,11 +17,11 @@ export declare class ImportAnalyzer {
|
|
|
17
17
|
private createResolver;
|
|
18
18
|
/**
|
|
19
19
|
* Find all files that import a specific module
|
|
20
|
-
* @param moduleName - Name of the module to search for (e.g., 'Test', 'react')
|
|
20
|
+
* @param moduleName - Name of the module to search for (e.g., 'Test', 'react'), or null to match all imports from target path
|
|
21
21
|
* @param searchPath - Root directory to search
|
|
22
22
|
* @param progressCallback - Optional callback for progress updates
|
|
23
23
|
*/
|
|
24
|
-
findFilesImporting(moduleName: string, searchPath: string, progressCallback?: ProgressCallback): Promise<ImporterResult[]>;
|
|
24
|
+
findFilesImporting(moduleName: string | null, searchPath: string, progressCallback?: ProgressCallback): Promise<ImporterResult[]>;
|
|
25
25
|
/**
|
|
26
26
|
* Resolve the target path for module matching
|
|
27
27
|
* If modulePath is specified, resolve it to an absolute path
|
|
@@ -41,11 +41,29 @@ export declare class ImportAnalyzer {
|
|
|
41
41
|
* Filter imports by module name using proper module resolution
|
|
42
42
|
* This mimics how IDEs resolve imports (like "command + click")
|
|
43
43
|
* @param imports - All imports from a file
|
|
44
|
-
* @param moduleName - Name of the module to match
|
|
44
|
+
* @param moduleName - Name of the module to match, or null to match only by path
|
|
45
45
|
* @param filePath - Path of the file containing the imports
|
|
46
46
|
* @param targetPath - Optional resolved target path for path-specific matching
|
|
47
47
|
* @param resolver - Module resolver instance
|
|
48
48
|
*/
|
|
49
49
|
private filterImportsByModule;
|
|
50
|
+
/**
|
|
51
|
+
* Check if a file is a barrel that re-exports a specific module
|
|
52
|
+
* @param barrelFilePath - Path to the potential barrel file
|
|
53
|
+
* @param targetModulePath - Path to the target module we're looking for
|
|
54
|
+
* @param targetModuleName - Optional name of the target module
|
|
55
|
+
* @returns Object with isBarrel flag and exported names
|
|
56
|
+
*/
|
|
57
|
+
private isBarrelForModule;
|
|
58
|
+
/**
|
|
59
|
+
* Find all files that import from a barrel (transitive import detection)
|
|
60
|
+
* @param barrelFilePath - Path to the barrel file
|
|
61
|
+
* @param exportedNames - Names that are re-exported from the barrel
|
|
62
|
+
* @param searchPath - Root directory to search
|
|
63
|
+
* @param resolver - Module resolver instance
|
|
64
|
+
* @param visited - Set of already visited barrels (to prevent infinite recursion)
|
|
65
|
+
* @returns Files that import from the barrel
|
|
66
|
+
*/
|
|
67
|
+
private findBarrelConsumers;
|
|
50
68
|
}
|
|
51
69
|
//# sourceMappingURL=analyzer.d.ts.map
|
package/dist/analyzer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EAEf,gBAAgB,
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EAEf,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,GAAE,eAAoB;IA2BzC;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;IACG,kBAAkB,CACtB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,cAAc,EAAE,CAAC;IAoG5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;OAIG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,eAAe,CAAC;IA0D3B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW;IAc1C;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IA4D7B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAkDzB;;;;;;;;OAQG;YACW,mBAAmB;CAwElC"}
|
package/dist/analyzer.js
CHANGED
|
@@ -51,12 +51,13 @@ export class ImportAnalyzer {
|
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
53
|
* Find all files that import a specific module
|
|
54
|
-
* @param moduleName - Name of the module to search for (e.g., 'Test', 'react')
|
|
54
|
+
* @param moduleName - Name of the module to search for (e.g., 'Test', 'react'), or null to match all imports from target path
|
|
55
55
|
* @param searchPath - Root directory to search
|
|
56
56
|
* @param progressCallback - Optional callback for progress updates
|
|
57
57
|
*/
|
|
58
58
|
async findFilesImporting(moduleName, searchPath, progressCallback) {
|
|
59
59
|
const results = [];
|
|
60
|
+
const visitedBarrels = new Set();
|
|
60
61
|
// Create resolver with searchPath for baseUrl auto-detection
|
|
61
62
|
const resolver = this.createResolver(searchPath);
|
|
62
63
|
try {
|
|
@@ -65,7 +66,7 @@ export class ImportAnalyzer {
|
|
|
65
66
|
console.log(`Found ${files.length} files to analyze`);
|
|
66
67
|
}
|
|
67
68
|
// Resolve the target module path if provided
|
|
68
|
-
const targetPath = this.resolveTargetPath(searchPath,
|
|
69
|
+
const targetPath = this.resolveTargetPath(searchPath, resolver);
|
|
69
70
|
for (let i = 0; i < files.length; i++) {
|
|
70
71
|
const filePath = files[i];
|
|
71
72
|
// Report progress
|
|
@@ -82,6 +83,34 @@ export class ImportAnalyzer {
|
|
|
82
83
|
file: filePath,
|
|
83
84
|
imports: matchingImports,
|
|
84
85
|
});
|
|
86
|
+
// NEW: Check if this file is a barrel that re-exports the target
|
|
87
|
+
// If so, find all files that import through this barrel
|
|
88
|
+
if (targetPath) {
|
|
89
|
+
const barrelCheck = this.isBarrelForModule(filePath, targetPath, moduleName, resolver);
|
|
90
|
+
if (barrelCheck.isBarrel) {
|
|
91
|
+
if (this.options.verbose) {
|
|
92
|
+
console.log(`Found barrel file: ${filePath}`);
|
|
93
|
+
console.log(` Re-exports: ${barrelCheck.exportedNames.join(', ')}`);
|
|
94
|
+
}
|
|
95
|
+
// Find all files that import from this barrel
|
|
96
|
+
const barrelConsumers = await this.findBarrelConsumers(filePath, barrelCheck.exportedNames, searchPath, resolver, visitedBarrels);
|
|
97
|
+
// Add barrel consumers to results
|
|
98
|
+
for (const consumer of barrelConsumers) {
|
|
99
|
+
// Check if this consumer is already in results
|
|
100
|
+
const existing = results.find(r => r.file === consumer.file);
|
|
101
|
+
if (existing) {
|
|
102
|
+
// Merge imports
|
|
103
|
+
existing.imports.push(...consumer.imports);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
results.push(consumer);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (this.options.verbose) {
|
|
110
|
+
console.log(` Found ${barrelConsumers.length} files importing through this barrel`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
85
114
|
}
|
|
86
115
|
}
|
|
87
116
|
catch (error) {
|
|
@@ -93,21 +122,32 @@ export class ImportAnalyzer {
|
|
|
93
122
|
return results;
|
|
94
123
|
}
|
|
95
124
|
catch (error) {
|
|
96
|
-
throw new Error(`Failed to find files importing "${moduleName}": ${error}`);
|
|
125
|
+
throw new Error(`Failed to find files importing "${moduleName || 'module'}": ${error}`);
|
|
97
126
|
}
|
|
98
127
|
}
|
|
99
128
|
/**
|
|
100
129
|
* Resolve the target path for module matching
|
|
101
130
|
* If modulePath is specified, resolve it to an absolute path
|
|
102
131
|
*/
|
|
103
|
-
resolveTargetPath(searchPath,
|
|
132
|
+
resolveTargetPath(searchPath, resolver) {
|
|
104
133
|
if (!this.options.modulePath) {
|
|
105
134
|
return null;
|
|
106
135
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
136
|
+
let modulePath = this.options.modulePath;
|
|
137
|
+
// Convert to absolute path
|
|
138
|
+
// If modulePath is already absolute, use it directly
|
|
139
|
+
// Otherwise, resolve it relative to the current working directory (not searchPath)
|
|
140
|
+
// to avoid double path issues like src/src/...
|
|
141
|
+
const absolutePath = path.isAbsolute(modulePath)
|
|
142
|
+
? modulePath
|
|
143
|
+
: path.resolve(process.cwd(), modulePath);
|
|
144
|
+
// If it already has an extension, use it directly (no need to resolve through resolver)
|
|
145
|
+
if (path.extname(absolutePath)) {
|
|
146
|
+
return absolutePath;
|
|
147
|
+
}
|
|
148
|
+
// Otherwise, use the module resolver to find the file with extensions
|
|
149
|
+
// We pass searchPath as the fromFile to avoid double path issues
|
|
150
|
+
return resolver.resolveImport(absolutePath, searchPath);
|
|
111
151
|
}
|
|
112
152
|
/**
|
|
113
153
|
* Analyze all imports in a project
|
|
@@ -186,7 +226,7 @@ export class ImportAnalyzer {
|
|
|
186
226
|
* Filter imports by module name using proper module resolution
|
|
187
227
|
* This mimics how IDEs resolve imports (like "command + click")
|
|
188
228
|
* @param imports - All imports from a file
|
|
189
|
-
* @param moduleName - Name of the module to match
|
|
229
|
+
* @param moduleName - Name of the module to match, or null to match only by path
|
|
190
230
|
* @param filePath - Path of the file containing the imports
|
|
191
231
|
* @param targetPath - Optional resolved target path for path-specific matching
|
|
192
232
|
* @param resolver - Module resolver instance
|
|
@@ -202,7 +242,15 @@ export class ImportAnalyzer {
|
|
|
202
242
|
imp.resolvedPath = resolved;
|
|
203
243
|
// If targetPath is provided, use exact path matching
|
|
204
244
|
if (targetPath) {
|
|
205
|
-
|
|
245
|
+
const matches = resolver.pathsMatch(resolved, targetPath);
|
|
246
|
+
if (this.options.verbose && !matches) {
|
|
247
|
+
console.error(` [DEBUG] Path mismatch: import "${imp.module}" -> resolved: "${resolved}" != target: "${targetPath}"`);
|
|
248
|
+
}
|
|
249
|
+
return matches;
|
|
250
|
+
}
|
|
251
|
+
// If moduleName is null and no targetPath, include all imports
|
|
252
|
+
if (!moduleName) {
|
|
253
|
+
return true;
|
|
206
254
|
}
|
|
207
255
|
// Otherwise, match by module name (backward compatibility)
|
|
208
256
|
// Check if module name matches exactly
|
|
@@ -227,5 +275,121 @@ export class ImportAnalyzer {
|
|
|
227
275
|
return false;
|
|
228
276
|
});
|
|
229
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Check if a file is a barrel that re-exports a specific module
|
|
280
|
+
* @param barrelFilePath - Path to the potential barrel file
|
|
281
|
+
* @param targetModulePath - Path to the target module we're looking for
|
|
282
|
+
* @param targetModuleName - Optional name of the target module
|
|
283
|
+
* @returns Object with isBarrel flag and exported names
|
|
284
|
+
*/
|
|
285
|
+
isBarrelForModule(barrelFilePath, targetModulePath, targetModuleName, resolver) {
|
|
286
|
+
try {
|
|
287
|
+
const ast = this.parser.parseFile(barrelFilePath);
|
|
288
|
+
const imports = this.extractor.getAllImports(ast);
|
|
289
|
+
const exports = this.extractor.extractExports(ast);
|
|
290
|
+
// Check if this file imports the target module
|
|
291
|
+
const targetImport = imports.find((imp) => {
|
|
292
|
+
const resolved = resolver.resolveImport(imp.module, barrelFilePath);
|
|
293
|
+
return resolved && resolver.pathsMatch(resolved, targetModulePath);
|
|
294
|
+
});
|
|
295
|
+
if (!targetImport) {
|
|
296
|
+
return { isBarrel: false, exportedNames: [] };
|
|
297
|
+
}
|
|
298
|
+
// Find what names are used to re-export this module
|
|
299
|
+
const exportedNames = [];
|
|
300
|
+
for (const exp of exports) {
|
|
301
|
+
// Check if this export re-exports the imported module
|
|
302
|
+
if (targetImport.kind === 'default' && exp.name === 'default') {
|
|
303
|
+
// Default import is re-exported as default
|
|
304
|
+
exportedNames.push('default');
|
|
305
|
+
}
|
|
306
|
+
else if (targetImport.specifiers && targetImport.specifiers.includes(exp.localName)) {
|
|
307
|
+
// Named import is re-exported
|
|
308
|
+
exportedNames.push(exp.name);
|
|
309
|
+
}
|
|
310
|
+
else if (targetImport.kind === 'default' && exp.localName === targetImport.specifiers?.[0]) {
|
|
311
|
+
// Default import is re-exported as named export
|
|
312
|
+
exportedNames.push(exp.name);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return {
|
|
316
|
+
isBarrel: exportedNames.length > 0,
|
|
317
|
+
exportedNames,
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
if (this.options.verbose) {
|
|
322
|
+
console.error(`Error checking barrel ${barrelFilePath}:`, error);
|
|
323
|
+
}
|
|
324
|
+
return { isBarrel: false, exportedNames: [] };
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Find all files that import from a barrel (transitive import detection)
|
|
329
|
+
* @param barrelFilePath - Path to the barrel file
|
|
330
|
+
* @param exportedNames - Names that are re-exported from the barrel
|
|
331
|
+
* @param searchPath - Root directory to search
|
|
332
|
+
* @param resolver - Module resolver instance
|
|
333
|
+
* @param visited - Set of already visited barrels (to prevent infinite recursion)
|
|
334
|
+
* @returns Files that import from the barrel
|
|
335
|
+
*/
|
|
336
|
+
async findBarrelConsumers(barrelFilePath, exportedNames, searchPath, resolver, visited) {
|
|
337
|
+
const results = [];
|
|
338
|
+
// Prevent infinite recursion
|
|
339
|
+
if (visited.has(barrelFilePath)) {
|
|
340
|
+
return results;
|
|
341
|
+
}
|
|
342
|
+
visited.add(barrelFilePath);
|
|
343
|
+
try {
|
|
344
|
+
const files = await this.fileDiscovery.findFiles(searchPath);
|
|
345
|
+
const barrelDir = path.dirname(barrelFilePath);
|
|
346
|
+
// Find files that import from this barrel
|
|
347
|
+
for (const filePath of files) {
|
|
348
|
+
// Skip the barrel file itself
|
|
349
|
+
if (filePath === barrelFilePath) {
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
try {
|
|
353
|
+
const ast = this.parser.parseFile(filePath);
|
|
354
|
+
const allImports = this.extractor.getAllImports(ast);
|
|
355
|
+
// Check if this file imports from the barrel
|
|
356
|
+
const barrelImports = allImports.filter((imp) => {
|
|
357
|
+
const resolved = resolver.resolveImport(imp.module, filePath);
|
|
358
|
+
return resolved && resolver.pathsMatch(resolved, barrelFilePath);
|
|
359
|
+
});
|
|
360
|
+
if (barrelImports.length > 0) {
|
|
361
|
+
// Check if any of the imported names match what we're looking for
|
|
362
|
+
const matchingImports = barrelImports.filter((imp) => {
|
|
363
|
+
if (!imp.specifiers) {
|
|
364
|
+
// Default or namespace import - might include the target
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
// Check if any of the exported names are imported
|
|
368
|
+
return exportedNames.some((name) => imp.specifiers?.includes(name) ||
|
|
369
|
+
(name === 'default' && imp.kind === 'default'));
|
|
370
|
+
});
|
|
371
|
+
if (matchingImports.length > 0) {
|
|
372
|
+
results.push({
|
|
373
|
+
file: filePath,
|
|
374
|
+
imports: matchingImports,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
if (this.options.verbose) {
|
|
381
|
+
console.error(`Error parsing ${filePath}:`, error);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return results;
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
if (this.options.verbose) {
|
|
389
|
+
console.error(`Error finding barrel consumers for ${barrelFilePath}:`, error);
|
|
390
|
+
}
|
|
391
|
+
return results;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
230
394
|
}
|
|
231
395
|
//# sourceMappingURL=analyzer.js.map
|
package/dist/analyzer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -9,7 +9,7 @@ const program = new Command();
|
|
|
9
9
|
program
|
|
10
10
|
.name('imports-detector')
|
|
11
11
|
.description('Detect and analyze imports in JavaScript/TypeScript applications')
|
|
12
|
-
.version('0.
|
|
12
|
+
.version('0.2.3');
|
|
13
13
|
/**
|
|
14
14
|
* Parse detector options from CLI flags
|
|
15
15
|
*/
|
|
@@ -33,12 +33,12 @@ function parseDetectorOptions(options) {
|
|
|
33
33
|
program
|
|
34
34
|
.command('find')
|
|
35
35
|
.description('Find all files that import a specific module')
|
|
36
|
-
.argument('
|
|
36
|
+
.argument('[module]', 'Name of the module to search for (optional when --module-path is used)')
|
|
37
37
|
.argument('[paths...]', 'Paths to search (default: current directory)')
|
|
38
38
|
.option('-p, --path <path>', 'Root directory to search')
|
|
39
39
|
.option('-o, --output <file>', 'Output file path')
|
|
40
40
|
.option('-f, --format <format>', 'Output format: json or text (default: text)')
|
|
41
|
-
.option('--module-path <path>', 'Specific module path to match (e.g., ./admin/Dashboard)')
|
|
41
|
+
.option('--module-path <path>', 'Specific module path to match (e.g., ./admin/Dashboard.tsx). When used without module name, finds all imports from this file.')
|
|
42
42
|
.option('--base-url <url>', 'Base URL for module resolution (overrides tsconfig)')
|
|
43
43
|
.option('--tsconfig <path>', 'Path to tsconfig.json for automatic baseUrl detection')
|
|
44
44
|
.option('--include <patterns>', 'File extensions to include (comma-separated)')
|
|
@@ -50,29 +50,41 @@ program
|
|
|
50
50
|
.option('-v, --verbose', 'Verbose output')
|
|
51
51
|
.action(async (moduleName, paths, options) => {
|
|
52
52
|
try {
|
|
53
|
+
// Validate that either moduleName or modulePath is provided
|
|
54
|
+
if (!moduleName && !options.modulePath) {
|
|
55
|
+
console.error('Error: Either <module> name or --module-path must be provided');
|
|
56
|
+
console.error('Example: imports-detector find React ./src');
|
|
57
|
+
console.error('Example: imports-detector find --module-path src/components/Header.tsx ./src');
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
53
60
|
const searchPath = options.path || paths[0] || process.cwd();
|
|
54
61
|
const detectorOptions = parseDetectorOptions(options);
|
|
55
62
|
const format = options.format || 'text';
|
|
56
63
|
// Determine if we should show spinner (not for JSON output or file output)
|
|
57
64
|
const shouldShowSpinner = format !== 'json' && !options.output && !detectorOptions.verbose;
|
|
58
|
-
const spinner = shouldShowSpinner
|
|
65
|
+
const spinner = shouldShowSpinner
|
|
66
|
+
? ora('Searching for files...').start()
|
|
67
|
+
: null;
|
|
59
68
|
const analyzer = new ImportAnalyzer(detectorOptions);
|
|
60
69
|
// Create progress callback
|
|
61
|
-
const progressCallback = shouldShowSpinner && spinner
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
const progressCallback = shouldShowSpinner && spinner
|
|
71
|
+
? (current, total) => {
|
|
72
|
+
spinner.text = `Analyzing files... (${current}/${total})`;
|
|
73
|
+
}
|
|
74
|
+
: undefined;
|
|
75
|
+
const results = await analyzer.findFilesImporting(moduleName || null, searchPath, progressCallback);
|
|
76
|
+
const displayModule = moduleName || options.modulePath || 'module';
|
|
65
77
|
if (spinner) {
|
|
66
|
-
spinner.succeed(`Found ${results.length} file${results.length !== 1 ? 's' : ''} importing "${
|
|
78
|
+
spinner.succeed(`Found ${results.length} file${results.length !== 1 ? 's' : ''} importing "${displayModule}"`);
|
|
67
79
|
}
|
|
68
80
|
let output;
|
|
69
81
|
if (format === 'json') {
|
|
70
82
|
const generator = new JSONGenerator();
|
|
71
|
-
output = generator.generateFromFindResults(results,
|
|
83
|
+
output = generator.generateFromFindResults(results, displayModule);
|
|
72
84
|
}
|
|
73
85
|
else {
|
|
74
86
|
const generator = new TextGenerator();
|
|
75
|
-
output = generator.generateFromFindResults(results,
|
|
87
|
+
output = generator.generateFromFindResults(results, displayModule);
|
|
76
88
|
}
|
|
77
89
|
if (options.output) {
|
|
78
90
|
fs.writeFileSync(options.output, output, 'utf-8');
|
|
@@ -114,12 +126,16 @@ program
|
|
|
114
126
|
const format = options.format || 'text';
|
|
115
127
|
// Determine if we should show spinner (not for JSON output or file output)
|
|
116
128
|
const shouldShowSpinner = format !== 'json' && !options.output && !detectorOptions.verbose;
|
|
117
|
-
const spinner = shouldShowSpinner
|
|
129
|
+
const spinner = shouldShowSpinner
|
|
130
|
+
? ora('Scanning files...').start()
|
|
131
|
+
: null;
|
|
118
132
|
const analyzer = new ImportAnalyzer(detectorOptions);
|
|
119
133
|
// Create progress callback
|
|
120
|
-
const progressCallback = shouldShowSpinner && spinner
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
const progressCallback = shouldShowSpinner && spinner
|
|
135
|
+
? (current, total) => {
|
|
136
|
+
spinner.text = `Analyzing files... (${current}/${total})`;
|
|
137
|
+
}
|
|
138
|
+
: undefined;
|
|
123
139
|
const analysis = await analyzer.analyzeProject(searchPath, progressCallback);
|
|
124
140
|
if (spinner) {
|
|
125
141
|
spinner.succeed(`Analyzed ${analysis.totalFiles} file${analysis.totalFiles !== 1 ? 's' : ''}, found ${analysis.totalImports} import${analysis.totalImports !== 1 ? 's' : ''}`);
|
|
@@ -177,12 +193,16 @@ program
|
|
|
177
193
|
}
|
|
178
194
|
// Determine if we should show spinner (not in verbose mode)
|
|
179
195
|
const shouldShowSpinner = !detectorOptions.verbose;
|
|
180
|
-
const spinner = shouldShowSpinner
|
|
196
|
+
const spinner = shouldShowSpinner
|
|
197
|
+
? ora('Scanning files...').start()
|
|
198
|
+
: null;
|
|
181
199
|
const analyzer = new ImportAnalyzer(detectorOptions);
|
|
182
200
|
// Create progress callback
|
|
183
|
-
const progressCallback = shouldShowSpinner && spinner
|
|
184
|
-
|
|
185
|
-
|
|
201
|
+
const progressCallback = shouldShowSpinner && spinner
|
|
202
|
+
? (current, total) => {
|
|
203
|
+
spinner.text = `Analyzing files... (${current}/${total})`;
|
|
204
|
+
}
|
|
205
|
+
: undefined;
|
|
186
206
|
const analysis = await analyzer.analyzeProject(searchPath, progressCallback);
|
|
187
207
|
if (spinner) {
|
|
188
208
|
spinner.succeed(`Analyzed ${analysis.totalFiles} file${analysis.totalFiles !== 1 ? 's' : ''}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/extractor.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
|
-
import { Import, FileImports } from './types.js';
|
|
2
|
+
import { Import, FileImports, Export } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Import Extractor Module
|
|
5
5
|
* Extracts all types of imports from AST
|
|
@@ -22,5 +22,10 @@ export declare class ImportExtractor {
|
|
|
22
22
|
* Get all imports from a file (flattened)
|
|
23
23
|
*/
|
|
24
24
|
getAllImports(ast: File): Import[];
|
|
25
|
+
/**
|
|
26
|
+
* Extract all exports from a file
|
|
27
|
+
* Returns information about what the file exports (for barrel file detection)
|
|
28
|
+
*/
|
|
29
|
+
extractExports(ast: File): Export[];
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=extractor.d.ts.map
|
package/dist/extractor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAc,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAc,WAAW,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAKrE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,oBAAoB;IA2C5B,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,kBAAkB;IAyG1B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,WAAW;IAmCf;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,EAAE;IAUlC;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,EAAE;CAiHpC"}
|
package/dist/extractor.js
CHANGED
|
@@ -235,5 +235,110 @@ export class ImportExtractor {
|
|
|
235
235
|
...fileImports.require,
|
|
236
236
|
];
|
|
237
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Extract all exports from a file
|
|
240
|
+
* Returns information about what the file exports (for barrel file detection)
|
|
241
|
+
*/
|
|
242
|
+
extractExports(ast) {
|
|
243
|
+
const exports = [];
|
|
244
|
+
traverse(ast, {
|
|
245
|
+
// Handle named exports: export { name1, name2 }
|
|
246
|
+
ExportNamedDeclaration(path) {
|
|
247
|
+
const node = path.node;
|
|
248
|
+
// export { foo, bar } from './module'
|
|
249
|
+
if (node.source) {
|
|
250
|
+
// Re-export from another module
|
|
251
|
+
if (node.specifiers) {
|
|
252
|
+
for (const spec of node.specifiers) {
|
|
253
|
+
if (t.isExportSpecifier(spec)) {
|
|
254
|
+
const exportedName = t.isIdentifier(spec.exported)
|
|
255
|
+
? spec.exported.name
|
|
256
|
+
: spec.exported.value;
|
|
257
|
+
const localName = spec.local.name;
|
|
258
|
+
exports.push({
|
|
259
|
+
name: exportedName,
|
|
260
|
+
localName,
|
|
261
|
+
kind: 'named',
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
// export { foo, bar } (local exports)
|
|
269
|
+
if (node.specifiers) {
|
|
270
|
+
for (const spec of node.specifiers) {
|
|
271
|
+
if (t.isExportSpecifier(spec)) {
|
|
272
|
+
const exportedName = t.isIdentifier(spec.exported)
|
|
273
|
+
? spec.exported.name
|
|
274
|
+
: spec.exported.value;
|
|
275
|
+
const localName = spec.local.name;
|
|
276
|
+
exports.push({
|
|
277
|
+
name: exportedName,
|
|
278
|
+
localName,
|
|
279
|
+
kind: 'named',
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
// Handle export declarations
|
|
287
|
+
ExportDeclaration(path) {
|
|
288
|
+
const node = path.node;
|
|
289
|
+
// export const foo = ...
|
|
290
|
+
if (t.isVariableDeclaration(node.declaration)) {
|
|
291
|
+
for (const declarator of node.declaration.declarations) {
|
|
292
|
+
if (t.isIdentifier(declarator.id)) {
|
|
293
|
+
exports.push({
|
|
294
|
+
name: declarator.id.name,
|
|
295
|
+
localName: declarator.id.name,
|
|
296
|
+
kind: 'named',
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// export function foo() {}
|
|
302
|
+
if (t.isFunctionDeclaration(node.declaration) && node.declaration.id) {
|
|
303
|
+
exports.push({
|
|
304
|
+
name: node.declaration.id.name,
|
|
305
|
+
localName: node.declaration.id.name,
|
|
306
|
+
kind: 'named',
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
// export class Foo {}
|
|
310
|
+
if (t.isClassDeclaration(node.declaration) && node.declaration.id) {
|
|
311
|
+
exports.push({
|
|
312
|
+
name: node.declaration.id.name,
|
|
313
|
+
localName: node.declaration.id.name,
|
|
314
|
+
kind: 'named',
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
// Handle default exports
|
|
319
|
+
ExportDefaultDeclaration(path) {
|
|
320
|
+
const node = path.node;
|
|
321
|
+
let localName = 'default';
|
|
322
|
+
// export default foo
|
|
323
|
+
if (t.isIdentifier(node.declaration)) {
|
|
324
|
+
localName = node.declaration.name;
|
|
325
|
+
}
|
|
326
|
+
// export default function foo() {}
|
|
327
|
+
else if (t.isFunctionDeclaration(node.declaration) && node.declaration.id) {
|
|
328
|
+
localName = node.declaration.id.name;
|
|
329
|
+
}
|
|
330
|
+
// export default class Foo {}
|
|
331
|
+
else if (t.isClassDeclaration(node.declaration) && node.declaration.id) {
|
|
332
|
+
localName = node.declaration.id.name;
|
|
333
|
+
}
|
|
334
|
+
exports.push({
|
|
335
|
+
name: 'default',
|
|
336
|
+
localName,
|
|
337
|
+
kind: 'default',
|
|
338
|
+
});
|
|
339
|
+
},
|
|
340
|
+
});
|
|
341
|
+
return exports;
|
|
342
|
+
}
|
|
238
343
|
}
|
|
239
344
|
//# sourceMappingURL=extractor.js.map
|
package/dist/extractor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extractor.js","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAU,UAAU,EAAuB,MAAM,YAAY,CAAC;AAErE,oDAAoD;AACpD,MAAM,QAAQ,GAAI,aAAqB,CAAC,OAAO,EAAE,OAAO,IAAK,aAAqB,CAAC,OAAO,IAAI,aAAa,CAAC;AAE5G;;;GAGG;AACH,MAAM,OAAO,eAAe;IAClB,oBAAoB,CAAC,GAAS;QACpC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,CAAC,GAAG,EAAE;YACZ,iBAAiB,CAAC,IAAmB;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAEvB,qBAAqB;gBACrB,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,IAAI,IAAI,GAAsC,SAAS,CAAC;gBAExD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,mDAAmD;wBACnD,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;4BAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;4BACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACxB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC9B,IAAI,GAAG,OAAO,CAAC;oBACjB,CAAC;yBAAM,IAAI,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,IAAI,GAAG,SAAS,CAAC;oBACnB,CAAC;yBAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,IAAI,GAAG,WAAW,CAAC;oBACrB,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;oBACzB,IAAI,EAAE,UAAU,CAAC,MAAM;oBACvB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;oBAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;oBACnC,UAAU;oBACV,IAAI;oBACJ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;iBACrB,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAAC,GAAS;QACrC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,CAAC,GAAG,EAAE;YACZ,wCAAwC;YACxC,gBAAgB,CAAC,IAAmB;gBAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAEvB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7B,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM;oBACN,IAAI,EAAE,UAAU,CAAC,OAAO;oBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;oBAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;oBACnC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,2DAA2D;YAC3D,cAAc,CAAC,IAAmB;gBAChC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;oBAEvB,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnC,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM;wBACN,IAAI,EAAE,UAAU,CAAC,OAAO;wBACxB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;wBAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;wBACnC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,GAAS;QACnC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,CAAC,GAAG,EAAE;YACZ,cAAc,CAAC,IAAmB;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEhC,8BAA8B;gBAC9B,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBAEjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClD,OAAO,CAAC,IAAI,CAAC;4BACX,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;4BACrB,IAAI,EAAE,UAAU,CAAC,OAAO;4BACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;4BACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;4BACxC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;yBACrB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,kBAAkB,CAAC,GAAS;QAClC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,CAAC,GAAG,EAAE;YACZ,cAAc,CAAC,IAAmB;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEhC,0CAA0C;gBAC1C,IACE,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oBAChD,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACjD,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,8CAA8C;wBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAEzB,IAAI,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC9E,+BAA+B;4BAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;4BAEhB,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gCAC3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC9D,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gCAC/B,CAAC;4BACH,CAAC;iCAAM,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC7C,yCAAyC;gCACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;oCACtB,cAAc,CAAC,SAAwB;wCACrC,IACE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;4CACjC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;4CACnC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC9C,CAAC;4CACD,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCAC7C,CAAC;oCACH,CAAC;iCACF,CAAC,CAAC;4BACL,CAAC;4BAED,IAAI,MAAM,EAAE,CAAC;gCACX,OAAO,CAAC,IAAI,CAAC;oCACX,MAAM;oCACN,IAAI,EAAE,UAAU,CAAC,IAAI;oCACrB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;oCACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;oCACxC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;iCACrB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,mCAAmC;gBACnC,IACE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;oBACtB,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EACzD,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;oBACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,IAAI,MAAM,GAAG,EAAE,CAAC;wBAEhB,6BAA6B;wBAC7B,IACE,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACpC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAC/B,CAAC;4BACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BAEzB,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC1E,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gCAC3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oCAC9D,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gCAC/B,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,uBAAuB;6BAClB,IACH,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC3B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BAC1B,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;4BAC5B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACvC,CAAC;4BACD,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACtC,CAAC;wBAED,IAAI,MAAM,EAAE,CAAC;4BACX,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM;gCACN,IAAI,EAAE,UAAU,CAAC,IAAI;gCACrB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gCACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gCACxC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE;6BACrB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,GAAS,EAAE,OAKrB;QACC,MAAM,WAAW,GAAgB;YAC/B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,IAAI,SAAS;YAC5C,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK;YACjC,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK;YACnC,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,KAAK;YAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK;SACpC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAS;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO;YACL,GAAG,WAAW,CAAC,MAAM;YACrB,GAAG,WAAW,CAAC,OAAO;YACtB,GAAG,WAAW,CAAC,IAAI;YACnB,GAAG,WAAW,CAAC,OAAO;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,GAAS;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,QAAQ,CAAC,GAAG,EAAE;YACZ,gDAAgD;YAChD,sBAAsB,CAAC,IAAwC;gBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAEvB,sCAAsC;gBACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,gCAAgC;oBAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACnC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC9B,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;oCAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;oCACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gCACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gCAElC,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,YAAY;oCAClB,SAAS;oCACT,IAAI,EAAE,OAAO;iCACd,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,sCAAsC;oBACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACnC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC9B,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;oCAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;oCACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gCACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gCAElC,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,YAAY;oCAClB,SAAS;oCACT,IAAI,EAAE,OAAO;iCACd,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,iBAAiB,CAAC,IAAmB;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAEvB,yBAAyB;gBACzB,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;wBACvD,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;4BAClC,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI;gCACxB,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI;gCAC7B,IAAI,EAAE,OAAO;6BACd,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBACrE,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI;wBAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI;wBACnC,IAAI,EAAE,OAAO;qBACd,CAAC,CAAC;gBACL,CAAC;gBAED,sBAAsB;gBACtB,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBAClE,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI;wBAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI;wBACnC,IAAI,EAAE,OAAO;qBACd,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,wBAAwB,CAAC,IAA0C;gBACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAEvB,IAAI,SAAS,GAAG,SAAS,CAAC;gBAE1B,qBAAqB;gBACrB,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACpC,CAAC;gBACD,mCAAmC;qBAC9B,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBAC1E,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC;gBACvC,CAAC;gBACD,8BAA8B;qBACzB,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;oBACvE,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC;gBACvC,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,SAAS;oBACT,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-resolver.d.ts","sourceRoot":"","sources":["../src/module-resolver.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,OAAO,CAAC,EAAE;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAaD;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"module-resolver.d.ts","sourceRoot":"","sources":["../src/module-resolver.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,OAAO,CAAC,EAAE;QACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAaD;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsCjE;;OAEG;IACH,OAAO,CAAC,0BAA0B;IASlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAQvB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAehB;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOvC;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAejD;;OAEG;IACH,OAAO,CAAC,eAAe;CASxB"}
|
package/dist/module-resolver.js
CHANGED
|
@@ -53,11 +53,13 @@ export class ModuleResolver {
|
|
|
53
53
|
*/
|
|
54
54
|
resolveImport(specifier, fromFile) {
|
|
55
55
|
try {
|
|
56
|
-
//
|
|
56
|
+
// Check if it's a relative import BEFORE normalizing
|
|
57
|
+
const isRelative = specifier.startsWith('./') || specifier.startsWith('../');
|
|
58
|
+
// Normalize the specifier (but keep relative info)
|
|
57
59
|
const normalized = this.normalizePath(specifier);
|
|
58
60
|
// 1. Handle relative imports (priority)
|
|
59
|
-
if (
|
|
60
|
-
return this.resolveRelative(
|
|
61
|
+
if (isRelative) {
|
|
62
|
+
return this.resolveRelative(specifier, fromFile);
|
|
61
63
|
}
|
|
62
64
|
// 2. Handle absolute imports (src/components/Test)
|
|
63
65
|
if (path.isAbsolute(normalized)) {
|
|
@@ -116,7 +118,8 @@ export class ModuleResolver {
|
|
|
116
118
|
resolveRelative(specifier, fromFile) {
|
|
117
119
|
const fromDir = path.dirname(fromFile);
|
|
118
120
|
const resolved = path.resolve(fromDir, specifier);
|
|
119
|
-
|
|
121
|
+
const result = this.tryExtensions(resolved) || this.tryIndex(resolved);
|
|
122
|
+
return result;
|
|
120
123
|
}
|
|
121
124
|
/**
|
|
122
125
|
* Resolve absolute import paths
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-resolver.js","sourceRoot":"","sources":["../src/module-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;GAIG;AACH,MAAM,OAAO,cAAc;IACjB,UAAU,CAAW;IACrB,OAAO,CAAU;IAEzB,YAAY,OAKX;QACC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAExF,wCAAwC;QACxC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,mCAAmC;YACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YACxD,iCAAiC;YACjC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,YAAqB,EAAE,UAAmB;QACxE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY;gBACzB,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC3B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;oBACzB,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC;gBACrD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAE9E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,0CAA0C;oBAC1C,OAAO,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6CAA6C;YAC7C,0DAA0D;QAC5D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,SAAiB,EAAE,QAAgB;QAC/C,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"module-resolver.js","sourceRoot":"","sources":["../src/module-resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -111,4 +111,15 @@ export interface OutputOptions {
|
|
|
111
111
|
export interface ProgressCallback {
|
|
112
112
|
(current: number, total: number, message?: string): void;
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Represents an export from a file
|
|
116
|
+
*/
|
|
117
|
+
export interface Export {
|
|
118
|
+
/** Exported name */
|
|
119
|
+
name: string;
|
|
120
|
+
/** Local name in the file (for re-exports) */
|
|
121
|
+
localName: string;
|
|
122
|
+
/** Export kind: 'named' or 'default' */
|
|
123
|
+
kind: 'named' | 'default';
|
|
124
|
+
}
|
|
114
125
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imports-detector",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Detect and analyze imports in JavaScript/TypeScript applications. Find files importing specific modules, list all imports, and generate dependency reports.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
],
|
|
27
27
|
"author": "al-maqdi",
|
|
28
28
|
"license": "MIT",
|
|
29
|
-
"repository": "github:
|
|
29
|
+
"repository": "github:almaqdi/imports-detector",
|
|
30
30
|
"bugs": {
|
|
31
|
-
"url": "https://github.com/
|
|
31
|
+
"url": "https://github.com/almaqdi/imports-detector/issues"
|
|
32
32
|
},
|
|
33
|
-
"homepage": "https://github.com/
|
|
33
|
+
"homepage": "https://github.com/almaqdi/imports-detector#readme",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@babel/parser": "^7.25.4",
|
|
36
36
|
"@babel/traverse": "^7.25.4",
|