@macrulez/devtoolz 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +164 -3
  2. package/dist/cli.js +233 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/circular-imports/core.d.ts +15 -0
  5. package/dist/commands/circular-imports/core.js +95 -0
  6. package/dist/commands/circular-imports/core.js.map +1 -0
  7. package/dist/commands/circular-imports/report.d.ts +3 -0
  8. package/dist/commands/circular-imports/report.js +41 -0
  9. package/dist/commands/circular-imports/report.js.map +1 -0
  10. package/dist/commands/circular-imports/run.d.ts +19 -0
  11. package/dist/commands/circular-imports/run.js +29 -0
  12. package/dist/commands/circular-imports/run.js.map +1 -0
  13. package/dist/commands/dead-exports/core.d.ts +1 -1
  14. package/dist/commands/dead-exports/core.js +2 -2
  15. package/dist/commands/dead-exports/core.js.map +1 -1
  16. package/dist/commands/dead-exports/entry.d.ts +0 -1
  17. package/dist/commands/dead-exports/entry.js +1 -14
  18. package/dist/commands/dead-exports/entry.js.map +1 -1
  19. package/dist/commands/dead-exports/run.js +3 -2
  20. package/dist/commands/dead-exports/run.js.map +1 -1
  21. package/dist/commands/empty-catch/core.d.ts +8 -0
  22. package/dist/commands/empty-catch/core.js +61 -0
  23. package/dist/commands/empty-catch/core.js.map +1 -0
  24. package/dist/commands/empty-catch/report.d.ts +3 -0
  25. package/dist/commands/empty-catch/report.js +27 -0
  26. package/dist/commands/empty-catch/report.js.map +1 -0
  27. package/dist/commands/empty-catch/run.d.ts +17 -0
  28. package/dist/commands/empty-catch/run.js +34 -0
  29. package/dist/commands/empty-catch/run.js.map +1 -0
  30. package/dist/commands/empty-catch/vue.d.ts +2 -0
  31. package/dist/commands/empty-catch/vue.js +16 -0
  32. package/dist/commands/empty-catch/vue.js.map +1 -0
  33. package/dist/commands/orphan-tests/core.d.ts +9 -0
  34. package/dist/commands/orphan-tests/core.js +42 -0
  35. package/dist/commands/orphan-tests/core.js.map +1 -0
  36. package/dist/commands/orphan-tests/report.d.ts +3 -0
  37. package/dist/commands/orphan-tests/report.js +30 -0
  38. package/dist/commands/orphan-tests/report.js.map +1 -0
  39. package/dist/commands/orphan-tests/run.d.ts +25 -0
  40. package/dist/commands/orphan-tests/run.js +55 -0
  41. package/dist/commands/orphan-tests/run.js.map +1 -0
  42. package/dist/commands/readme-check/run.js +8 -3
  43. package/dist/commands/readme-check/run.js.map +1 -1
  44. package/dist/commands/scripts-check/core.d.ts +18 -0
  45. package/dist/commands/scripts-check/core.js +121 -0
  46. package/dist/commands/scripts-check/core.js.map +1 -0
  47. package/dist/commands/scripts-check/report.d.ts +3 -0
  48. package/dist/commands/scripts-check/report.js +34 -0
  49. package/dist/commands/scripts-check/report.js.map +1 -0
  50. package/dist/commands/scripts-check/run.d.ts +15 -0
  51. package/dist/commands/scripts-check/run.js +81 -0
  52. package/dist/commands/scripts-check/run.js.map +1 -0
  53. package/dist/commands/stale-ts-ignore/check.d.ts +23 -0
  54. package/dist/commands/stale-ts-ignore/check.js +104 -0
  55. package/dist/commands/stale-ts-ignore/check.js.map +1 -0
  56. package/dist/commands/stale-ts-ignore/core.d.ts +11 -0
  57. package/dist/commands/stale-ts-ignore/core.js +42 -0
  58. package/dist/commands/stale-ts-ignore/core.js.map +1 -0
  59. package/dist/commands/stale-ts-ignore/report.d.ts +3 -0
  60. package/dist/commands/stale-ts-ignore/report.js +30 -0
  61. package/dist/commands/stale-ts-ignore/report.js.map +1 -0
  62. package/dist/commands/stale-ts-ignore/run.d.ts +23 -0
  63. package/dist/commands/stale-ts-ignore/run.js +101 -0
  64. package/dist/commands/stale-ts-ignore/run.js.map +1 -0
  65. package/dist/commands/stale-ts-ignore/vue.d.ts +9 -0
  66. package/dist/commands/stale-ts-ignore/vue.js +16 -0
  67. package/dist/commands/stale-ts-ignore/vue.js.map +1 -0
  68. package/dist/commands/strip-comments/core.js +2 -56
  69. package/dist/commands/strip-comments/core.js.map +1 -1
  70. package/dist/commands/todo-report/core.d.ts +16 -0
  71. package/dist/commands/todo-report/core.js +112 -0
  72. package/dist/commands/todo-report/core.js.map +1 -0
  73. package/dist/commands/todo-report/report.d.ts +3 -0
  74. package/dist/commands/todo-report/report.js +31 -0
  75. package/dist/commands/todo-report/report.js.map +1 -0
  76. package/dist/commands/todo-report/run.d.ts +22 -0
  77. package/dist/commands/todo-report/run.js +41 -0
  78. package/dist/commands/todo-report/run.js.map +1 -0
  79. package/dist/commands/todo-report/vue.d.ts +2 -0
  80. package/dist/commands/todo-report/vue.js +71 -0
  81. package/dist/commands/todo-report/vue.js.map +1 -0
  82. package/dist/commands/unused-deps/config-files.d.ts +9 -0
  83. package/dist/commands/unused-deps/config-files.js +64 -0
  84. package/dist/commands/unused-deps/config-files.js.map +1 -0
  85. package/dist/commands/unused-deps/core.d.ts +25 -0
  86. package/dist/commands/unused-deps/core.js +121 -0
  87. package/dist/commands/unused-deps/core.js.map +1 -0
  88. package/dist/commands/unused-deps/disk-resolve.d.ts +11 -0
  89. package/dist/commands/unused-deps/disk-resolve.js +40 -0
  90. package/dist/commands/unused-deps/disk-resolve.js.map +1 -0
  91. package/dist/commands/unused-deps/package-name.d.ts +8 -0
  92. package/dist/commands/unused-deps/package-name.js +20 -0
  93. package/dist/commands/unused-deps/package-name.js.map +1 -0
  94. package/dist/commands/unused-deps/report.d.ts +3 -0
  95. package/dist/commands/unused-deps/report.js +32 -0
  96. package/dist/commands/unused-deps/report.js.map +1 -0
  97. package/dist/commands/unused-deps/run.d.ts +18 -0
  98. package/dist/commands/unused-deps/run.js +68 -0
  99. package/dist/commands/unused-deps/run.js.map +1 -0
  100. package/dist/index.d.ts +51 -5
  101. package/dist/index.js +33 -3
  102. package/dist/index.js.map +1 -1
  103. package/dist/utils/escape-regexp.d.ts +1 -0
  104. package/dist/utils/escape-regexp.js +4 -0
  105. package/dist/utils/escape-regexp.js.map +1 -0
  106. package/dist/utils/find-comments.d.ts +10 -0
  107. package/dist/utils/find-comments.js +62 -0
  108. package/dist/utils/find-comments.js.map +1 -0
  109. package/dist/utils/find-package-dir.d.ts +2 -0
  110. package/dist/utils/find-package-dir.js +15 -0
  111. package/dist/utils/find-package-dir.js.map +1 -0
  112. package/dist/utils/line-of.d.ts +2 -0
  113. package/dist/utils/line-of.js +12 -0
  114. package/dist/utils/line-of.js.map +1 -0
  115. package/dist/utils/load-tsconfig.d.ts +20 -0
  116. package/dist/utils/load-tsconfig.js +33 -0
  117. package/dist/utils/load-tsconfig.js.map +1 -0
  118. package/dist/utils/parse-module.d.ts +32 -0
  119. package/dist/utils/parse-module.js +178 -0
  120. package/dist/utils/parse-module.js.map +1 -0
  121. package/dist/utils/resolve-specifier.d.ts +15 -0
  122. package/dist/utils/resolve-specifier.js +63 -0
  123. package/dist/utils/resolve-specifier.js.map +1 -0
  124. package/dist/utils/walk.js +20 -1
  125. package/dist/utils/walk.js.map +1 -1
  126. package/dist/utils/workspace.d.ts +14 -0
  127. package/dist/utils/workspace.js +101 -0
  128. package/dist/utils/workspace.js.map +1 -0
  129. package/package.json +1 -1
package/README.md CHANGED
@@ -37,6 +37,23 @@ looking for is never touched.
37
37
  symbol is really declared, and auto-detects a pnpm/npm/yarn workspace
38
38
  so a sibling package importing your export doesn't read as dead either.
39
39
  `--strict` checks the entry points too, for when you actually want that.
40
+ - **`unused-deps`** — finds `package.json` dependencies nothing imports,
41
+ and the reverse: a package genuinely imported but never declared (a
42
+ "phantom" dependency, working only because something else hoisted it
43
+ into `node_modules`). Knows about the usual ways a dependency is used
44
+ without ever being imported — invoked from `scripts`/`lint-staged` by
45
+ its bin name, referenced as a string or bare key in a config file
46
+ (`vitest.config.ts`'s `environment: 'happy-dom'`,
47
+ `postcss.config.js`'s `plugins: { autoprefixer: {} }`) — plus a small,
48
+ explicit list of packages no static analysis could ever catch
49
+ (`@types/*`, `typescript`, `@vitest/coverage-*`, `postcss`/`sass`).
50
+ `--strict` checks that last list too, for a manual audit.
51
+ - **`circular-imports`** — finds import cycles (`A → B → … → A`) in your
52
+ own code — the kind that can silently produce `undefined` at module
53
+ load time in ESM. Reports every cycle found, not just the first, as
54
+ its full chain. A cycle made entirely of `import type` is harmless at
55
+ runtime (types are erased) and hidden by default — `--include-types`
56
+ shows those too, clearly marked.
40
57
  - **`case-check`** — finds imports whose case doesn't match the real
41
58
  file on disk. Windows and macOS are case-insensitive by default, so
42
59
  `import './foo'` against a real `Foo.ts` works fine right up until it
@@ -64,13 +81,62 @@ looking for is never touched.
64
81
  dropped rather than reported as noise (see `--help`/features.md for
65
82
  exactly which). `--lang` opts into `tsx`/`js`/`jsx` (default: `ts`
66
83
  only — `tsx` needs the package to actually configure JSX itself).
84
+ - **`empty-catch`** — finds `catch` blocks that do nothing with the
85
+ error, or do so little it's effectively swallowed: fully empty, or a
86
+ body that's nothing but `console.*` calls with no `throw`, no write to
87
+ an outer-scope variable, no meaningful `return`. Syntactically valid
88
+ code that ordinary lint rules can't catch — needs a semantic check, not
89
+ a syntactic one. A comment inside the block (found via a real token
90
+ scan, not text matching) exempts the finding, same principle as
91
+ ESLint's `no-empty` for documented empty blocks. Handles `.vue` files.
92
+ - **`todo-report`** — summarizes `TODO`/`FIXME`/`HACK` comments across
93
+ the project — file:line plus the note's actual text, including one
94
+ wrapped across several `//` lines or a multi-line `/* */` block, joined
95
+ back into one readable line. `--tags` configures the list (default
96
+ `TODO,FIXME,HACK`); `--max <n>` turns the default "fail on any finding"
97
+ into a ratchet for a project that's knowingly living with existing
98
+ debt. Handles `.vue` files, including `<!-- -->` template comments.
99
+ - **`scripts-check`** — cross-checks `package.json`'s `scripts` against
100
+ README/docs and `.github/workflows/*.yml`: a mentioned-but-undeclared
101
+ script (`npm run X`, `npm test`/`start`, `yarn`/`pnpm run X`) is a
102
+ real broken link — renamed a script, forgot to update the docs or CI —
103
+ and, as a weaker signal, a declared script nothing documents. npm's
104
+ own reserved lifecycle names (`prepublishOnly`,
105
+ `preinstall`, `postinstall`, `prepare`, any `pre*`/`post*` for another
106
+ declared script) are exempt from the second direction — npm calls
107
+ those itself. A CI step under its own `working-directory:` (a `demo/`
108
+ subproject, say) is understood to belong to a different `package.json`
109
+ entirely, not flagged against this one's.
110
+ - **`orphan-tests`** — finds test files whose source disappeared —
111
+ renamed or deleted, the test still green, testing nothing real
112
+ anymore. Reliable only under a simple naming convention: co-located
113
+ (`Foo.test.ts` next to `Foo.ts`, including a sibling `__tests__`/`tests`
114
+ directory one level down), or an explicit `--source-dir`/`--test-dir`
115
+ mirror. A scenario/integration test with no single corresponding source
116
+ file is a known false positive under that strict rule — `--ignore`
117
+ is the documented way to exclude it, not something this command tries
118
+ to guess.
119
+ - **`stale-ts-ignore`** — finds a `// @ts-ignore` that no longer
120
+ suppresses anything: the code below it was fixed, the comment wasn't
121
+ removed. There's no compiler API for "was this specific directive
122
+ needed" — this runs a real project-wide typecheck twice (once as-is,
123
+ once with every directive masked out) and compares the delta at each
124
+ directive's own line, so it's the most expensive command here, and
125
+ says so up front when there's real work to do. Skips the expensive
126
+ part entirely when there's not a single `@ts-ignore` in the project.
127
+ `.vue` files get an isolated per-file check (same technique as
128
+ `readme-check`'s own virtual-file typechecking) — a plain
129
+ `ts.Program` can't include `.vue` in a whole-project run at all.
67
130
 
68
131
  `strip-comments`, `console-strip`, and `case-check` share the same safety
69
132
  model: `--dry-run` (or just running with neither `--dry-run` nor `-y`)
70
133
  only previews, `-y`/`--yes` is required to actually write anything,
71
- `--diff` shows a real unified diff per file. `dead-exports` is read-only,
72
- it never writes anything — there's nothing to preview. Every command
73
- supports `--json` for machine-readable output.
134
+ `--diff` shows a real unified diff per file. `dead-exports`,
135
+ `unused-deps`, `circular-imports`, `exports-doctor`, `readme-check`,
136
+ `empty-catch`, `todo-report`, `scripts-check`, `orphan-tests`, and
137
+ `stale-ts-ignore` are all read-only — none of them ever write anything,
138
+ there's nothing to preview or apply. Every command supports `--json` for
139
+ machine-readable output.
74
140
 
75
141
  ## Tone
76
142
 
@@ -109,6 +175,11 @@ devtoolz console-strip src -y
109
175
 
110
176
  devtoolz dead-exports src # report-only, nothing to apply
111
177
 
178
+ devtoolz unused-deps # package.json deps vs what's actually imported
179
+ devtoolz unused-deps path/to/package --strict # also check @types/*, typescript, etc.
180
+
181
+ devtoolz circular-imports src # find import cycles (A -> B -> ... -> A)
182
+
112
183
  devtoolz case-check src --fix --diff --dry-run # preview a case fix
113
184
  devtoolz case-check src --fix -y # apply it
114
185
 
@@ -117,6 +188,17 @@ devtoolz exports-doctor path/to/package # or a specific package director
117
188
 
118
189
  devtoolz readme-check # typecheck ts blocks in ./README.md
119
190
  devtoolz readme-check --file docs/guide.md # check another doc instead/as well
191
+
192
+ devtoolz empty-catch src # find catch blocks that swallow the error
193
+
194
+ devtoolz todo-report src # summarize TODO/FIXME/HACK comments
195
+ devtoolz todo-report src --max 20 # ratchet: fail only once findings exceed 20
196
+
197
+ devtoolz scripts-check # package.json scripts vs README/CI mentions
198
+
199
+ devtoolz orphan-tests src # test files whose source disappeared
200
+
201
+ devtoolz stale-ts-ignore # find @ts-ignore comments suppressing nothing
120
202
  ```
121
203
 
122
204
  Every command has built-in `--help` — `devtoolz --help` lists every
@@ -175,6 +257,33 @@ Scanned 3 files.
175
257
  src/types.ts:1 Options (type)
176
258
  ```
177
259
 
260
+ `devtoolz unused-deps` against a package with one truly unused dependency
261
+ and one phantom (imported but never declared):
262
+
263
+ ```
264
+ 🧰 devtoolz, reporting for duty
265
+
266
+ Scanned 1 file.
267
+
268
+ 2 problems found:
269
+ phantom dotenv resolves from C:\tmp\demo-pkg\node_modules\dotenv — not declared in package.json
270
+ unused left-pad (dependencies, not imported anywhere)
271
+ ```
272
+
273
+ `devtoolz circular-imports src` against two files that import each other:
274
+
275
+ ```
276
+ 🧰 devtoolz — chores, automated
277
+
278
+ Scanned 2 files.
279
+
280
+ 1 circular import found:
281
+
282
+ src/order.ts
283
+ → src/user.ts
284
+ → src/order.ts
285
+ ```
286
+
178
287
  `devtoolz case-check src --fix --diff --dry-run` after a file got renamed
179
288
  `Helper.ts` → `helper.ts` on someone's Mac, with the import never updated:
180
289
 
@@ -221,6 +330,58 @@ Typechecked 1 code block across 1 file.
221
330
  README.md:6:7 ts Type 'string' is not assignable to type 'number'.
222
331
  ```
223
332
 
333
+ `devtoolz empty-catch src` against a `catch` block that only logs the
334
+ error and never rethrows or handles it:
335
+
336
+ ```
337
+ Scanned 1 file.
338
+
339
+ 1 problem found:
340
+ src/example.ts:4:5 console-only only logged, never handled — silently swallowed either way
341
+ ```
342
+
343
+ `devtoolz todo-report src` against a `TODO` wrapped across several `//`
344
+ lines — joined back into one readable note, not cut off mid-sentence:
345
+
346
+ ```
347
+ Scanned 1 file.
348
+
349
+ 1 comment found (TODO: 1):
350
+ src/example.ts:9:4 TODO TODO: replace the hardcoded timeout below with a value read from config once loadConfig() above actually works end to end
351
+ ```
352
+
353
+ `devtoolz scripts-check` against a package whose README has a typo'd
354
+ script name, and two real scripts nothing documents:
355
+
356
+ ```
357
+ Checked 1 source against package.json's scripts.
358
+
359
+ 3 problems found:
360
+ README.md:4 buld mentioned here, but not in package.json scripts
361
+ package.json:4 build in package.json scripts, but not mentioned anywhere checked
362
+ package.json:6 deploy in package.json scripts, but not mentioned anywhere checked
363
+ ```
364
+
365
+ `devtoolz orphan-tests src` after `parseQuery.ts` was renamed/removed but
366
+ its test survived:
367
+
368
+ ```
369
+ Scanned 3 files.
370
+
371
+ 1 orphan test found:
372
+ src/parseQuery.test.ts orphan no matching source found (tried .ts, .tsx, .js, .jsx, .mjs, .cjs, .vue)
373
+ ```
374
+
375
+ `devtoolz stale-ts-ignore` against a `@ts-ignore` above a line that
376
+ typechecks cleanly on its own — the code was fixed, the comment wasn't:
377
+
378
+ ```
379
+ Checked 1 @ts-ignore directive.
380
+
381
+ 1 stale @ts-ignore found:
382
+ src/example.ts:2 @ts-ignore doesn't suppress anything — the line below it typechecks cleanly without it
383
+ ```
384
+
224
385
  ## Development
225
386
 
226
387
  ```bash
package/dist/cli.js CHANGED
@@ -7,12 +7,27 @@ import { runConsoleStrip } from './commands/console-strip/run.js';
7
7
  import { renderConsoleStripReport } from './commands/console-strip/report.js';
8
8
  import { runDeadExports } from './commands/dead-exports/run.js';
9
9
  import { renderDeadExportsReport } from './commands/dead-exports/report.js';
10
+ import { runCircularImports } from './commands/circular-imports/run.js';
11
+ import { renderCircularImportsReport } from './commands/circular-imports/report.js';
12
+ import { runUnusedDeps } from './commands/unused-deps/run.js';
13
+ import { renderUnusedDepsReport } from './commands/unused-deps/report.js';
10
14
  import { runCaseCheck } from './commands/case-check/run.js';
11
15
  import { renderCaseCheckReport } from './commands/case-check/report.js';
12
16
  import { runExportsDoctor } from './commands/exports-doctor/run.js';
13
17
  import { renderExportsDoctorReport } from './commands/exports-doctor/report.js';
14
18
  import { runReadmeCheck } from './commands/readme-check/run.js';
15
19
  import { renderReadmeCheckReport } from './commands/readme-check/report.js';
20
+ import { runEmptyCatch } from './commands/empty-catch/run.js';
21
+ import { renderEmptyCatchReport } from './commands/empty-catch/report.js';
22
+ import { runTodoReport } from './commands/todo-report/run.js';
23
+ import { renderTodoReportReport } from './commands/todo-report/report.js';
24
+ import { DEFAULT_TAGS } from './commands/todo-report/core.js';
25
+ import { runScriptsCheck } from './commands/scripts-check/run.js';
26
+ import { renderScriptsCheckReport } from './commands/scripts-check/report.js';
27
+ import { runOrphanTests } from './commands/orphan-tests/run.js';
28
+ import { renderOrphanTestsReport } from './commands/orphan-tests/report.js';
29
+ import { runStaleTsIgnore } from './commands/stale-ts-ignore/run.js';
30
+ import { renderStaleTsIgnoreReport } from './commands/stale-ts-ignore/report.js';
16
31
  function wrapText(text, width) {
17
32
  const words = text.split(' ');
18
33
  const lines = [];
@@ -241,6 +256,71 @@ program
241
256
  }
242
257
  process.exitCode = report.exitCode;
243
258
  });
259
+ program
260
+ .command('circular-imports')
261
+ .description('Find import cycles in the local module graph (A -> B -> ... -> A)')
262
+ .argument('[paths...]', 'files/directories to process', [])
263
+ .option('--cwd <path>', 'root paths are resolved against', process.cwd())
264
+ .option('--ext <list>', 'comma-separated extensions to include', '.ts,.tsx,.js,.jsx,.cjs,.mjs')
265
+ .option('--ignore <glob>', 'extra ignore pattern (repeatable), on top of the built-in defaults', (val, prev) => [...prev, val], [])
266
+ .option('--no-respect-gitignore', "don't also honor the project's .gitignore")
267
+ .option('--include-types', 'also report cycles made entirely of `import type` edges (harmless at runtime by default, so hidden)', false)
268
+ .option('--json', 'machine-readable output', false)
269
+ .option('--quiet', 'suppress output when there is nothing to report', false)
270
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
271
+ .action((paths, options) => {
272
+ const report = runCircularImports({
273
+ paths,
274
+ cwd: resolve(options.cwd),
275
+ extensions: options.ext.split(',').map((e) => e.trim()),
276
+ ignoreGlobs: options.ignore,
277
+ respectGitignore: options.respectGitignore,
278
+ includeTypes: options.includeTypes,
279
+ });
280
+ if (options.json) {
281
+ console.log(JSON.stringify(report, null, 2));
282
+ }
283
+ else {
284
+ const text = renderCircularImportsReport(report, {
285
+ quiet: options.quiet,
286
+ plain: options.plain,
287
+ });
288
+ if (text)
289
+ console.log(text);
290
+ }
291
+ process.exitCode = report.exitCode;
292
+ });
293
+ program
294
+ .command('unused-deps')
295
+ .description('Find package.json dependencies nothing imports, and imports of packages package.json never declared')
296
+ .argument('[dir]', 'package directory to check — also the scan root', '.')
297
+ .option('--ext <list>', 'comma-separated extensions to include', '.ts,.tsx,.js,.jsx,.cjs,.mjs')
298
+ .option('--ignore <glob>', 'extra ignore pattern (repeatable), on top of the built-in defaults', (val, prev) => [...prev, val], [])
299
+ .option('--no-respect-gitignore', "don't also honor the project's .gitignore")
300
+ .option('--strict', 'also check packages that are structurally undetectable as "used" (currently: @types/*)', false)
301
+ .option('--ignore-package <name>', 'exempt a specific dependency from the unused/phantom check (repeatable)', (val, prev) => [...prev, val], [])
302
+ .option('--json', 'machine-readable output', false)
303
+ .option('--quiet', 'suppress output when there is nothing to report', false)
304
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
305
+ .action((dir, options) => {
306
+ const report = runUnusedDeps({
307
+ dir: resolve(dir),
308
+ extensions: options.ext.split(',').map((e) => e.trim()),
309
+ ignoreGlobs: options.ignore,
310
+ respectGitignore: options.respectGitignore,
311
+ strict: options.strict,
312
+ ignorePackages: options.ignorePackage,
313
+ });
314
+ if (options.json) {
315
+ console.log(JSON.stringify(report, null, 2));
316
+ }
317
+ else {
318
+ const text = renderUnusedDepsReport(report, { quiet: options.quiet, plain: options.plain });
319
+ if (text)
320
+ console.log(text);
321
+ }
322
+ process.exitCode = report.exitCode;
323
+ });
244
324
  program
245
325
  .command('case-check')
246
326
  .description("Find imports whose case doesn't match the real file on disk — works on Windows/Mac, breaks on Linux CI")
@@ -326,5 +406,158 @@ program
326
406
  }
327
407
  process.exitCode = report.exitCode;
328
408
  });
409
+ program
410
+ .command('empty-catch')
411
+ .description('Find catch blocks that do nothing with the error, or only log it — both silently swallow it')
412
+ .argument('[paths...]', 'files/directories to process', [])
413
+ .option('--cwd <path>', 'root paths are resolved against', process.cwd())
414
+ .option('--ext <list>', 'comma-separated extensions to include', '.ts,.tsx,.js,.jsx,.cjs,.mjs,.vue')
415
+ .option('--ignore <glob>', 'extra ignore pattern (repeatable), on top of the built-in defaults', (val, prev) => [...prev, val], [])
416
+ .option('--no-respect-gitignore', "don't also honor the project's .gitignore")
417
+ .option('--json', 'machine-readable output', false)
418
+ .option('--quiet', 'suppress output when there is nothing to report', false)
419
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
420
+ .action((paths, options) => {
421
+ const report = runEmptyCatch({
422
+ paths,
423
+ cwd: resolve(options.cwd),
424
+ extensions: options.ext.split(',').map((e) => e.trim()),
425
+ ignoreGlobs: options.ignore,
426
+ respectGitignore: options.respectGitignore,
427
+ });
428
+ if (options.json) {
429
+ console.log(JSON.stringify(report, null, 2));
430
+ }
431
+ else {
432
+ const text = renderEmptyCatchReport(report, { quiet: options.quiet, plain: options.plain });
433
+ if (text)
434
+ console.log(text);
435
+ }
436
+ process.exitCode = report.exitCode;
437
+ });
438
+ program
439
+ .command('todo-report')
440
+ .description('Summarize TODO/FIXME/HACK comments across the project — file:line + the text itself')
441
+ .argument('[paths...]', 'files/directories to process', [])
442
+ .option('--cwd <path>', 'root paths are resolved against', process.cwd())
443
+ .option('--ext <list>', 'comma-separated extensions to include', '.ts,.tsx,.js,.jsx,.cjs,.mjs,.vue')
444
+ .option('--ignore <glob>', 'extra ignore pattern (repeatable), on top of the built-in defaults', (val, prev) => [...prev, val], [])
445
+ .option('--no-respect-gitignore', "don't also honor the project's .gitignore")
446
+ .option('--tags <list>', 'comma-separated tags to look for', DEFAULT_TAGS.join(','))
447
+ .option('--max <n>', "don't fail unless findings exceed this count (a ratchet, not a hard zero)", '0')
448
+ .option('--json', 'machine-readable output', false)
449
+ .option('--quiet', 'suppress output when there is nothing to report', false)
450
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
451
+ .action((paths, options) => {
452
+ const report = runTodoReport({
453
+ paths,
454
+ cwd: resolve(options.cwd),
455
+ extensions: options.ext.split(',').map((e) => e.trim()),
456
+ ignoreGlobs: options.ignore,
457
+ respectGitignore: options.respectGitignore,
458
+ tags: options.tags.split(',').map((t) => t.trim()),
459
+ max: Number(options.max),
460
+ });
461
+ if (options.json) {
462
+ console.log(JSON.stringify(report, null, 2));
463
+ }
464
+ else {
465
+ const text = renderTodoReportReport(report, { quiet: options.quiet, plain: options.plain });
466
+ if (text)
467
+ console.log(text);
468
+ }
469
+ process.exitCode = report.exitCode;
470
+ });
471
+ program
472
+ .command('scripts-check')
473
+ .description("Cross-checks package.json's scripts against README/docs and .github/workflows — a mention of a script that doesn't exist, and (weaker signal) a script nothing documents")
474
+ .argument('[dir]', 'package directory to check', '.')
475
+ .option('--file <path>', 'markdown/doc file to check, relative to [dir] (repeatable) — default: README.md', (val, prev) => [...prev, val], [])
476
+ .option('--json', 'machine-readable output', false)
477
+ .option('--quiet', 'suppress output when there is nothing to report', false)
478
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
479
+ .action((dir, options) => {
480
+ const report = runScriptsCheck({ dir: resolve(dir), files: options.file });
481
+ if (options.json) {
482
+ console.log(JSON.stringify(report, null, 2));
483
+ }
484
+ else {
485
+ const text = renderScriptsCheckReport(report, {
486
+ quiet: options.quiet,
487
+ plain: options.plain,
488
+ });
489
+ if (text)
490
+ console.log(text);
491
+ }
492
+ process.exitCode = report.exitCode;
493
+ });
494
+ program
495
+ .command('orphan-tests')
496
+ .description('Finds test files whose source disappeared — renamed or deleted, test still green, testing nothing real anymore. Reliable only under a co-located (X.test.ts next to X.ts) or --source-dir/--test-dir mirrored naming convention')
497
+ .argument('[paths...]', 'files/directories to process (co-located mode only)', [])
498
+ .option('--cwd <path>', 'root paths are resolved against', process.cwd())
499
+ .option('--ext <list>', 'comma-separated extensions to consider as possible test files', '.ts,.tsx,.js,.jsx,.mjs,.cjs')
500
+ .option('--ignore <glob>', 'extra ignore pattern (repeatable), on top of the built-in defaults', (val, prev) => [...prev, val], [])
501
+ .option('--no-respect-gitignore', "don't also honor the project's .gitignore")
502
+ .option('--test-suffix <list>', 'comma-separated suffixes that mark a test file', '.test,.spec')
503
+ .option('--source-ext <list>', 'comma-separated extensions tried for a matching source file', '.ts,.tsx,.js,.jsx,.mjs,.cjs,.vue')
504
+ .option('--source-dir <path>', 'mirrored layout: source root, relative to --cwd (must be given together with --test-dir)')
505
+ .option('--test-dir <path>', 'mirrored layout: test root, relative to --cwd (must be given together with --source-dir)')
506
+ .option('--json', 'machine-readable output', false)
507
+ .option('--quiet', 'suppress output when there is nothing to report', false)
508
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
509
+ .action((paths, options) => {
510
+ const report = runOrphanTests({
511
+ paths,
512
+ cwd: resolve(options.cwd),
513
+ extensions: options.ext.split(',').map((e) => e.trim()),
514
+ ignoreGlobs: options.ignore,
515
+ respectGitignore: options.respectGitignore,
516
+ testSuffixes: options.testSuffix.split(',').map((s) => s.trim()),
517
+ sourceExtensions: options.sourceExt.split(',').map((e) => e.trim()),
518
+ ...(options.sourceDir ? { sourceDir: options.sourceDir } : {}),
519
+ ...(options.testDir ? { testDir: options.testDir } : {}),
520
+ });
521
+ if (options.json) {
522
+ console.log(JSON.stringify(report, null, 2));
523
+ }
524
+ else {
525
+ const text = renderOrphanTestsReport(report, { quiet: options.quiet, plain: options.plain });
526
+ if (text)
527
+ console.log(text);
528
+ }
529
+ process.exitCode = report.exitCode;
530
+ });
531
+ program
532
+ .command('stale-ts-ignore')
533
+ .description("Finds a `// @ts-ignore` that no longer suppresses anything — the code below it was fixed, the comment wasn't removed. Runs a full project typecheck twice, so it's the most expensive command here")
534
+ .argument('[dir]', 'package directory to check', '.')
535
+ .option('--tsconfig <path>', 'tsconfig.json to read compiler options from (auto-detected by default)')
536
+ .option('--ignore <glob>', 'extra ignore pattern (repeatable), on top of the built-in defaults — applies to .vue file discovery only', (val, prev) => [...prev, val], [])
537
+ .option('--no-respect-gitignore', "don't also honor the project's .gitignore for .vue discovery")
538
+ .option('--json', 'machine-readable output', false)
539
+ .option('--quiet', 'suppress output when there is nothing to report', false)
540
+ .option('--plain', 'disable color/banner/celebration copy, even in a real terminal', false)
541
+ .action((dir, options) => {
542
+ const report = runStaleTsIgnore({
543
+ dir: resolve(dir),
544
+ ...(options.tsconfig ? { tsconfig: options.tsconfig } : {}),
545
+ ignoreGlobs: options.ignore,
546
+ respectGitignore: options.respectGitignore,
547
+ ...(options.quiet ? {} : { onProgress: (message) => console.error(message) }),
548
+ });
549
+ if (options.json) {
550
+ console.log(JSON.stringify(report, null, 2));
551
+ }
552
+ else {
553
+ const text = renderStaleTsIgnoreReport(report, {
554
+ quiet: options.quiet,
555
+ plain: options.plain,
556
+ });
557
+ if (text)
558
+ console.log(text);
559
+ }
560
+ process.exitCode = report.exitCode;
561
+ });
329
562
  program.parse(process.argv);
330
563
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface CircularImportFinding {
2
+ /** the cycle, in edge order, NOT repeating the start file at the end (e.g. [A, B, C] means A -> B -> C -> A) */
3
+ files: string[];
4
+ /** true only when every edge in this specific cycle is a type-only import — harmless at runtime, types are erased */
5
+ typeOnly: boolean;
6
+ }
7
+ export interface CircularImportsAnalysis {
8
+ findings: CircularImportFinding[];
9
+ filesAnalyzed: number;
10
+ }
11
+ export interface CircularImportsAnalyzeOptions {
12
+ /** also report cycles made entirely of `import type` edges. default false */
13
+ includeTypes: boolean;
14
+ }
15
+ export declare function analyzeCircularImports(files: string[], options: CircularImportsAnalyzeOptions): CircularImportsAnalysis;