@empline/preflight 1.1.37 → 1.1.39

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.
File without changes
package/dist/bin/audit.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/bin/watch.js CHANGED
File without changes
@@ -2,18 +2,27 @@
2
2
  /**
3
3
  * Barrel Export Orphan Detection
4
4
  *
5
- * Detects files that are:
6
- * 1. Exported from barrel files (index.ts) but never imported elsewhere
7
- * 2. Re-export wrapper files that just forward exports (backward compat files)
8
- * 3. Components only referenced in docs/coverage (not actual code)
5
+ * ⚠️ ADVISORY ONLY - DO NOT AUTO-REMOVE EXPORTS BASED ON THIS OUTPUT
9
6
  *
10
- * These patterns indicate dead code that accumulated over time.
7
+ * This check attempts to find exports that may be unused, but has significant
8
+ * limitations and WILL produce false positives:
11
9
  *
12
- * NON-BLOCKING: Reports warnings for cleanup
10
+ * Common false positive scenarios:
11
+ * - Components used via parent barrel re-exports (@/components re-exports @/components/home)
12
+ * - Dynamic imports: await import("@/components/SearchBar")
13
+ * - Server-side code that imports differently
14
+ * - Components used in MDX files, documentation, or examples
15
+ * - Components conditionally rendered based on feature flags
16
+ * - Components imported by external packages
17
+ * - Namespace imports: import * as Home from "@/components/home"
18
+ *
19
+ * ALWAYS manually verify before removing any exports!
20
+ *
21
+ * NON-BLOCKING: Reports advisory findings only
13
22
  */
14
23
  export declare const id = "code-quality/barrel-export-orphans";
15
24
  export declare const name = "Barrel Export Orphan Detection";
16
- export declare const description = "Detects files exported from barrels but never actually imported";
25
+ export declare const description = "ADVISORY: Detects potentially unused barrel exports (verify manually before removing)";
17
26
  export declare const category = "code-quality";
18
27
  export declare const blocking = false;
19
28
  export declare const tags: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"barrel-export-orphans.d.ts","sourceRoot":"","sources":["../../../src/checks/code-quality/barrel-export-orphans.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAQH,eAAO,MAAM,EAAE,uCAAuC,CAAC;AACvD,eAAO,MAAM,IAAI,mCAAmC,CAAC;AACrD,eAAO,MAAM,WAAW,oEAC2C,CAAC;AACpE,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,IAAI,UAA2D,CAAC;AA8P7E,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA+FzC"}
1
+ {"version":3,"file":"barrel-export-orphans.d.ts","sourceRoot":"","sources":["../../../src/checks/code-quality/barrel-export-orphans.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,eAAO,MAAM,EAAE,uCAAuC,CAAC;AACvD,eAAO,MAAM,IAAI,mCAAmC,CAAC;AACrD,eAAO,MAAM,WAAW,0FACiE,CAAC;AAC1F,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AACvC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,IAAI,UAAuE,CAAC;AAiczF,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmKzC"}
@@ -3,14 +3,23 @@
3
3
  /**
4
4
  * Barrel Export Orphan Detection
5
5
  *
6
- * Detects files that are:
7
- * 1. Exported from barrel files (index.ts) but never imported elsewhere
8
- * 2. Re-export wrapper files that just forward exports (backward compat files)
9
- * 3. Components only referenced in docs/coverage (not actual code)
6
+ * ⚠️ ADVISORY ONLY - DO NOT AUTO-REMOVE EXPORTS BASED ON THIS OUTPUT
10
7
  *
11
- * These patterns indicate dead code that accumulated over time.
8
+ * This check attempts to find exports that may be unused, but has significant
9
+ * limitations and WILL produce false positives:
12
10
  *
13
- * NON-BLOCKING: Reports warnings for cleanup
11
+ * Common false positive scenarios:
12
+ * - Components used via parent barrel re-exports (@/components re-exports @/components/home)
13
+ * - Dynamic imports: await import("@/components/SearchBar")
14
+ * - Server-side code that imports differently
15
+ * - Components used in MDX files, documentation, or examples
16
+ * - Components conditionally rendered based on feature flags
17
+ * - Components imported by external packages
18
+ * - Namespace imports: import * as Home from "@/components/home"
19
+ *
20
+ * ALWAYS manually verify before removing any exports!
21
+ *
22
+ * NON-BLOCKING: Reports advisory findings only
14
23
  */
15
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
16
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -25,10 +34,10 @@ const universal_progress_reporter_1 = require("../system/universal-progress-repo
25
34
  // METADATA
26
35
  exports.id = "code-quality/barrel-export-orphans";
27
36
  exports.name = "Barrel Export Orphan Detection";
28
- exports.description = "Detects files exported from barrels but never actually imported";
37
+ exports.description = "ADVISORY: Detects potentially unused barrel exports (verify manually before removing)";
29
38
  exports.category = "code-quality";
30
39
  exports.blocking = false;
31
- exports.tags = ["dead-code", "barrel-exports", "cleanup", "ai-clarity"];
40
+ exports.tags = ["dead-code", "barrel-exports", "cleanup", "ai-clarity", "advisory"];
32
41
  const orphanedExports = [];
33
42
  const reExportWrappers = [];
34
43
  // Directories to scan for barrel files
@@ -37,24 +46,59 @@ const COMPONENT_DIRS = [
37
46
  "hooks",
38
47
  "lib",
39
48
  ];
40
- // Directories to check for imports (excluding docs, coverage, etc.)
49
+ // Directories to check for imports - expanded to reduce false positives
41
50
  const SOURCE_DIRS = [
42
51
  "app",
43
52
  "components",
44
53
  "hooks",
45
54
  "lib",
46
- "scripts/active",
55
+ "pages",
56
+ "src",
57
+ "scripts",
58
+ "middleware",
59
+ "e2e",
60
+ "tests",
61
+ "__tests__",
62
+ "cypress",
47
63
  ];
48
- // Files/patterns to ignore
64
+ // Files/patterns to ignore when searching for imports
49
65
  const IGNORE_PATTERNS = [
50
- /\.test\./,
51
- /\.spec\./,
52
- /\.stories\./,
53
66
  /\.d\.ts$/,
54
67
  /coverage\//,
55
- /docs\//,
68
+ /\.next\//,
69
+ /node_modules\//,
56
70
  /\.kiro\//,
71
+ /dist\//,
72
+ /build\//,
73
+ ];
74
+ // Patterns that indicate low confidence (likely false positive)
75
+ const LOW_CONFIDENCE_PATTERNS = [
76
+ // Components commonly used via parent barrels
77
+ /components\/home\//,
78
+ /components\/search\//,
79
+ /components\/cart\//,
80
+ /components\/filters\//,
81
+ /components\/notifications\//,
82
+ /components\/seller\//,
83
+ /components\/admin\//,
84
+ // Commonly dynamically imported
85
+ /Modal/i,
86
+ /Drawer/i,
87
+ /Dialog/i,
88
+ /Popup/i,
89
+ /Toast/i,
90
+ /Background/i,
91
+ // Factory patterns
92
+ /Factory/i,
93
+ /Creator/i,
94
+ /Builder/i,
95
+ // Event-driven components
96
+ /Handler/i,
97
+ /Listener/i,
98
+ /Observer/i,
57
99
  ];
100
+ // Cache for barrel import checks
101
+ const barrelImportCache = new Map();
58
102
  function shouldIgnore(filePath) {
59
103
  return IGNORE_PATTERNS.some(pattern => pattern.test(filePath));
60
104
  }
@@ -119,49 +163,171 @@ function parseBarrelExports(barrelPath) {
119
163
  }
120
164
  return exports;
121
165
  }
122
- function isExportUsed(exportName, sourceFile, barrelPath) {
166
+ /**
167
+ * Check if the barrel file itself is imported anywhere
168
+ * If the barrel is imported, all its exports are potentially used
169
+ */
170
+ function isBarrelImported(barrelPath) {
123
171
  const barrelRelative = node_path_1.default.relative(process.cwd(), barrelPath).replace(/\\/g, "/");
124
172
  const barrelImportPath = barrelRelative.replace(/\/index\.ts$/, "").replace(/^/, "@/");
173
+ // Check cache
174
+ if (barrelImportCache.has(barrelImportPath)) {
175
+ return barrelImportCache.get(barrelImportPath);
176
+ }
177
+ let found = false;
125
178
  for (const dir of SOURCE_DIRS) {
179
+ if (found)
180
+ break;
126
181
  const dirPath = node_path_1.default.join(process.cwd(), dir);
127
182
  if (!node_fs_1.default.existsSync(dirPath))
128
183
  continue;
129
184
  function checkDir(currentDir) {
130
- const entries = node_fs_1.default.readdirSync(currentDir, { withFileTypes: true });
131
- for (const entry of entries) {
132
- const fullPath = node_path_1.default.join(currentDir, entry.name);
133
- const relativePath = node_path_1.default.relative(process.cwd(), fullPath).replace(/\\/g, "/");
134
- if (shouldIgnore(relativePath))
135
- continue;
136
- if (entry.isDirectory() && !entry.name.startsWith(".")) {
137
- if (checkDir(fullPath))
138
- return true;
139
- }
140
- else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx"))) {
141
- // Skip the source file itself and the barrel file
142
- if (fullPath === sourceFile || fullPath === barrelPath)
185
+ try {
186
+ const entries = node_fs_1.default.readdirSync(currentDir, { withFileTypes: true });
187
+ for (const entry of entries) {
188
+ const fullPath = node_path_1.default.join(currentDir, entry.name);
189
+ const relativePath = node_path_1.default.relative(process.cwd(), fullPath).replace(/\\/g, "/");
190
+ if (shouldIgnore(relativePath))
143
191
  continue;
144
- try {
145
- const content = node_fs_1.default.readFileSync(fullPath, "utf-8");
146
- // Check if the export name is imported from the barrel
147
- // Pattern: import { ExportName } from "@/components/..."
148
- const importPattern = new RegExp(`import\\s*\\{[^}]*\\b${exportName}\\b[^}]*\\}\\s*from\\s*["']${barrelImportPath.replace(/\//g, "\\/")}["']`);
149
- if (importPattern.test(content)) {
192
+ if (entry.isDirectory() && !entry.name.startsWith(".") && !entry.name.includes("node_modules")) {
193
+ if (checkDir(fullPath))
150
194
  return true;
195
+ }
196
+ else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx") || entry.name.endsWith(".js") || entry.name.endsWith(".jsx"))) {
197
+ try {
198
+ const content = node_fs_1.default.readFileSync(fullPath, "utf-8");
199
+ // Check for any import from this barrel
200
+ // Namespace: import * as X from "@/components/home"
201
+ // Named: import { X } from "@/components/home"
202
+ // Dynamic: import("@/components/home")
203
+ const escapedPath = barrelImportPath.replace(/\//g, "\\/");
204
+ if (new RegExp(`from\\s*["']${escapedPath}["']`).test(content) ||
205
+ new RegExp(`import\\s*\\(\\s*["']${escapedPath}["']`).test(content)) {
206
+ return true;
207
+ }
151
208
  }
152
- // Also check direct imports from the file
153
- const sourceRelative = node_path_1.default.relative(process.cwd(), sourceFile).replace(/\\/g, "/");
154
- const directImportPath = "@/" + sourceRelative.replace(/\.(ts|tsx)$/, "");
155
- const directPattern = new RegExp(`import\\s*\\{[^}]*\\b${exportName}\\b[^}]*\\}\\s*from\\s*["']${directImportPath.replace(/\//g, "\\/")}["']`);
156
- if (directPattern.test(content)) {
157
- return true;
209
+ catch {
210
+ // Skip unreadable files
158
211
  }
159
212
  }
160
- catch {
161
- // Skip unreadable files
213
+ }
214
+ }
215
+ catch {
216
+ // Skip unreadable directories
217
+ }
218
+ return false;
219
+ }
220
+ if (checkDir(dirPath)) {
221
+ found = true;
222
+ }
223
+ }
224
+ barrelImportCache.set(barrelImportPath, found);
225
+ return found;
226
+ }
227
+ /**
228
+ * Check if parent barrels re-export this barrel
229
+ * e.g., @/components/index.ts might have: export * from "./home"
230
+ */
231
+ function isReExportedByParentBarrel(barrelPath) {
232
+ const barrelDir = node_path_1.default.dirname(barrelPath);
233
+ const barrelName = node_path_1.default.basename(barrelDir);
234
+ // Check parent directories for barrel files that re-export this one
235
+ let currentDir = node_path_1.default.dirname(barrelDir);
236
+ const cwd = process.cwd();
237
+ while (currentDir.length >= cwd.length) {
238
+ const parentBarrel = node_path_1.default.join(currentDir, "index.ts");
239
+ if (node_fs_1.default.existsSync(parentBarrel)) {
240
+ try {
241
+ const content = node_fs_1.default.readFileSync(parentBarrel, "utf-8");
242
+ // Check for: export * from "./home" or export { X } from "./home"
243
+ const relativeName = "./" + barrelName;
244
+ if (content.includes(`from "${relativeName}"`) ||
245
+ content.includes(`from '${relativeName}'`)) {
246
+ return true;
247
+ }
248
+ }
249
+ catch {
250
+ // Skip
251
+ }
252
+ }
253
+ currentDir = node_path_1.default.dirname(currentDir);
254
+ }
255
+ return false;
256
+ }
257
+ function isExportUsed(exportName, sourceFile, barrelPath) {
258
+ const barrelRelative = node_path_1.default.relative(process.cwd(), barrelPath).replace(/\\/g, "/");
259
+ const barrelImportPath = barrelRelative.replace(/\/index\.ts$/, "").replace(/^/, "@/");
260
+ for (const dir of SOURCE_DIRS) {
261
+ const dirPath = node_path_1.default.join(process.cwd(), dir);
262
+ if (!node_fs_1.default.existsSync(dirPath))
263
+ continue;
264
+ function checkDir(currentDir) {
265
+ try {
266
+ const entries = node_fs_1.default.readdirSync(currentDir, { withFileTypes: true });
267
+ for (const entry of entries) {
268
+ const fullPath = node_path_1.default.join(currentDir, entry.name);
269
+ const relativePath = node_path_1.default.relative(process.cwd(), fullPath).replace(/\\/g, "/");
270
+ if (shouldIgnore(relativePath))
271
+ continue;
272
+ if (entry.isDirectory() && !entry.name.startsWith(".") && !entry.name.includes("node_modules")) {
273
+ if (checkDir(fullPath))
274
+ return true;
275
+ }
276
+ else if (entry.isFile() && (entry.name.endsWith(".ts") || entry.name.endsWith(".tsx") || entry.name.endsWith(".js") || entry.name.endsWith(".jsx") || entry.name.endsWith(".mdx"))) {
277
+ // Skip the source file itself and the barrel file
278
+ if (fullPath === sourceFile || fullPath === barrelPath)
279
+ continue;
280
+ try {
281
+ const content = node_fs_1.default.readFileSync(fullPath, "utf-8");
282
+ const escapedBarrelPath = barrelImportPath.replace(/\//g, "\\/");
283
+ const escapedExportName = exportName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
284
+ // Check if the export name is imported from the barrel
285
+ // Pattern: import { ExportName } from "@/components/..."
286
+ const importPattern = new RegExp(`import\\s*\\{[^}]*\\b${escapedExportName}\\b[^}]*\\}\\s*from\\s*["']${escapedBarrelPath}["']`);
287
+ if (importPattern.test(content)) {
288
+ return true;
289
+ }
290
+ // Check for default import of the component
291
+ // Pattern: import ExportName from "@/components/..."
292
+ const defaultImportPattern = new RegExp(`import\\s+${escapedExportName}\\s+from\\s*["']`);
293
+ if (defaultImportPattern.test(content)) {
294
+ return true;
295
+ }
296
+ // Also check direct imports from the file
297
+ const sourceRelative = node_path_1.default.relative(process.cwd(), sourceFile).replace(/\\/g, "/");
298
+ const directImportPath = "@/" + sourceRelative.replace(/\.(ts|tsx)$/, "");
299
+ const escapedDirectPath = directImportPath.replace(/\//g, "\\/");
300
+ const directPattern = new RegExp(`import\\s*\\{[^}]*\\b${escapedExportName}\\b[^}]*\\}\\s*from\\s*["']${escapedDirectPath}["']`);
301
+ if (directPattern.test(content)) {
302
+ return true;
303
+ }
304
+ // Check for dynamic imports
305
+ // Pattern: import("@/components/...").then(m => m.ExportName)
306
+ // Pattern: const { ExportName } = await import("@/components/...")
307
+ if (content.includes(`import(`) && content.includes(exportName)) {
308
+ return true;
309
+ }
310
+ // Check for JSX usage (might be rendered without explicit import visible)
311
+ // Pattern: <ExportName ... />
312
+ const jsxPattern = new RegExp(`<${escapedExportName}[\\s/>]`);
313
+ if (jsxPattern.test(content)) {
314
+ return true;
315
+ }
316
+ // Check for string references (e.g., component registries, lazy loading)
317
+ // Pattern: "ExportName" or 'ExportName' in component arrays/objects
318
+ if (content.includes(`"${exportName}"`) || content.includes(`'${exportName}'`)) {
319
+ return true;
320
+ }
321
+ }
322
+ catch {
323
+ // Skip unreadable files
324
+ }
162
325
  }
163
326
  }
164
327
  }
328
+ catch {
329
+ // Skip unreadable directories
330
+ }
165
331
  return false;
166
332
  }
167
333
  if (checkDir(dirPath))
@@ -239,31 +405,76 @@ function detectReExportWrappers() {
239
405
  checkDir(dirPath);
240
406
  }
241
407
  }
408
+ /**
409
+ * Determine confidence level for an orphan finding
410
+ */
411
+ function getConfidenceLevel(barrelPath, exportName, exportedFile) {
412
+ // Low confidence if barrel is imported or re-exported
413
+ if (isBarrelImported(barrelPath)) {
414
+ return "low";
415
+ }
416
+ if (isReExportedByParentBarrel(barrelPath)) {
417
+ return "low";
418
+ }
419
+ // Low confidence for patterns that commonly have false positives
420
+ const fullPath = `${barrelPath}/${exportName}`;
421
+ if (LOW_CONFIDENCE_PATTERNS.some(pattern => pattern.test(fullPath) || pattern.test(exportedFile) || pattern.test(exportName))) {
422
+ return "low";
423
+ }
424
+ return "high";
425
+ }
242
426
  async function run() {
243
427
  const reporter = (0, universal_progress_reporter_1.createUniversalProgressReporter)(exports.name);
428
+ // Print advisory warning upfront
429
+ console.log();
430
+ console.log((0, console_chars_1.createDivider)());
431
+ console.log(`${console_chars_1.emoji.warning} ADVISORY CHECK - DO NOT AUTO-REMOVE EXPORTS`);
432
+ console.log((0, console_chars_1.createDivider)());
433
+ console.log();
434
+ console.log("This check has significant limitations and WILL produce false positives.");
435
+ console.log("Common false positive scenarios:");
436
+ console.log(" - Components imported via parent barrel re-exports");
437
+ console.log(" - Dynamic imports (await import(...))");
438
+ console.log(" - Namespace imports (import * as X from ...)");
439
+ console.log(" - Components used in MDX, docs, or external packages");
440
+ console.log();
441
+ console.log("ALWAYS manually verify before removing any exports!");
442
+ console.log();
244
443
  // Find all barrel files
245
444
  const barrelFiles = [];
246
445
  for (const dir of COMPONENT_DIRS) {
247
446
  barrelFiles.push(...findBarrelFiles(dir));
248
447
  }
249
448
  reporter.start(barrelFiles.length + 1, "Analyzing barrel exports for orphans");
449
+ // Track skipped barrels
450
+ let skippedBarrels = 0;
250
451
  // Check each barrel's exports
251
452
  for (let i = 0; i < barrelFiles.length; i++) {
252
453
  const barrelPath = barrelFiles[i];
253
454
  const barrelRelative = node_path_1.default.relative(process.cwd(), barrelPath).replace(/\\/g, "/");
254
455
  reporter.updateStep(barrelRelative, i + 1, barrelFiles.length + 1);
456
+ // Skip barrels that are definitely in use
457
+ if (isBarrelImported(barrelPath) && isReExportedByParentBarrel(barrelPath)) {
458
+ // Both imported AND re-exported - very likely in active use
459
+ skippedBarrels++;
460
+ continue;
461
+ }
255
462
  const exports = parseBarrelExports(barrelPath);
256
463
  for (const exp of exports) {
257
464
  if (!node_fs_1.default.existsSync(exp.file))
258
465
  continue;
259
466
  const fileRelative = node_path_1.default.relative(process.cwd(), exp.file).replace(/\\/g, "/");
260
467
  if (!isExportUsed(exp.name, exp.file, barrelPath)) {
468
+ const confidence = getConfidenceLevel(barrelPath, exp.name, fileRelative);
261
469
  orphanedExports.push({
262
470
  barrelFile: barrelRelative,
263
471
  exportedFile: fileRelative,
264
472
  exportName: exp.name,
265
- reason: "Exported from barrel but never imported elsewhere",
266
- severity: "warning",
473
+ reason: confidence === "low"
474
+ ? "Possibly unused (LOW CONFIDENCE - verify manually)"
475
+ : "Exported from barrel but not found in direct imports",
476
+ severity: confidence === "low" ? "info" : "warning",
477
+ confidence,
267
478
  });
268
479
  }
269
480
  }
@@ -271,19 +482,25 @@ async function run() {
271
482
  // Detect re-export wrapper files
272
483
  reporter.updateStep("Checking re-export wrappers", barrelFiles.length + 1, barrelFiles.length + 1);
273
484
  detectReExportWrappers();
485
+ // Separate by confidence
486
+ const highConfidence = orphanedExports.filter(o => o.confidence === "high");
487
+ const lowConfidence = orphanedExports.filter(o => o.confidence === "low");
274
488
  // Report findings
275
- const totalIssues = orphanedExports.length + reExportWrappers.length;
276
- if (totalIssues === 0) {
489
+ const totalIssues = highConfidence.length + reExportWrappers.length;
490
+ if (totalIssues === 0 && lowConfidence.length === 0) {
277
491
  reporter.completeStep("Analysis complete", "success", "No orphaned exports detected");
492
+ console.log();
493
+ console.log(`${console_chars_1.emoji.info} Skipped ${skippedBarrels} barrels that are both imported and re-exported.`);
278
494
  }
279
495
  else {
280
- if (orphanedExports.length > 0) {
496
+ // Only show high confidence as warnings
497
+ if (highConfidence.length > 0) {
281
498
  console.log();
282
- console.log(`${console_chars_1.emoji.warning} Found ${orphanedExports.length} orphaned barrel exports:`);
499
+ console.log(`${console_chars_1.emoji.warning} Found ${highConfidence.length} potentially orphaned exports (higher confidence):`);
283
500
  console.log();
284
501
  // Group by barrel file
285
502
  const grouped = new Map();
286
- for (const orphan of orphanedExports) {
503
+ for (const orphan of highConfidence) {
287
504
  const existing = grouped.get(orphan.barrelFile) || [];
288
505
  existing.push(orphan);
289
506
  grouped.set(orphan.barrelFile, existing);
@@ -296,6 +513,26 @@ async function run() {
296
513
  console.log();
297
514
  }
298
515
  }
516
+ // Show low confidence as info only
517
+ if (lowConfidence.length > 0) {
518
+ console.log();
519
+ console.log(`${console_chars_1.emoji.info} Found ${lowConfidence.length} potentially orphaned exports (LOW CONFIDENCE - likely false positives):`);
520
+ console.log();
521
+ // Group by barrel file
522
+ const grouped = new Map();
523
+ for (const orphan of lowConfidence) {
524
+ const existing = grouped.get(orphan.barrelFile) || [];
525
+ existing.push(orphan);
526
+ grouped.set(orphan.barrelFile, existing);
527
+ }
528
+ for (const [barrel, orphans] of grouped) {
529
+ console.log(` ${console_chars_1.chars.info} ${barrel}:`);
530
+ for (const orphan of orphans) {
531
+ console.log(` ${console_chars_1.chars.bullet} ${orphan.exportName} (LIKELY FALSE POSITIVE)`);
532
+ }
533
+ console.log();
534
+ }
535
+ }
299
536
  if (reExportWrappers.length > 0) {
300
537
  console.log(`${console_chars_1.emoji.warning} Found ${reExportWrappers.length} re-export wrapper files:`);
301
538
  console.log();
@@ -308,16 +545,23 @@ async function run() {
308
545
  }
309
546
  }
310
547
  console.log((0, console_chars_1.createDivider)());
311
- console.log("Actions:");
312
- console.log(" 1. Remove orphaned exports from barrel files");
313
- console.log(" 2. Delete the source files if no longer needed");
314
- console.log(" 3. Migrate imports away from re-export wrappers, then delete them");
548
+ console.log(`${console_chars_1.emoji.warning} REMINDER: This is an ADVISORY check with known limitations.`);
549
+ console.log();
550
+ console.log("Before removing any export:");
551
+ console.log(" 1. Search the entire codebase for the component name");
552
+ console.log(" 2. Check for dynamic imports: import('@/...')");
553
+ console.log(" 3. Check for usage in MDX, docs, or external consumers");
554
+ console.log(" 4. Verify the barrel isn't imported elsewhere (namespace imports)");
555
+ console.log();
556
+ console.log("When in doubt, KEEP THE EXPORT.");
557
+ console.log((0, console_chars_1.createDivider)());
315
558
  }
559
+ // Only count high confidence as warnings in summary
316
560
  reporter.showSummary({
317
561
  filesProcessed: barrelFiles.length,
318
- issuesFound: totalIssues,
562
+ issuesFound: highConfidence.length + reExportWrappers.length,
319
563
  errors: 0,
320
- warnings: orphanedExports.length + reExportWrappers.length,
564
+ warnings: highConfidence.length + reExportWrappers.length,
321
565
  });
322
566
  }
323
567
  // Allow direct execution
@@ -1 +1 @@
1
- {"version":3,"file":"barrel-export-orphans.js","sourceRoot":"","sources":["../../../src/checks/code-quality/barrel-export-orphans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"barrel-export-orphans.js","sourceRoot":"","sources":["../../../src/checks/code-quality/barrel-export-orphans.ts"],"names":[],"mappings":"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"}