depvitals 0.1.1 → 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.
- package/README.md +37 -54
- package/dist/cli/entry.d.ts +59 -0
- package/dist/cli/entry.d.ts.map +1 -0
- package/dist/cli/entry.js +95 -0
- package/dist/cli/entry.js.map +1 -0
- package/dist/cli/index.js +14 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/notifier/eligibility.d.ts +65 -0
- package/dist/cli/notifier/eligibility.d.ts.map +1 -0
- package/dist/cli/notifier/eligibility.js +123 -0
- package/dist/cli/notifier/eligibility.js.map +1 -0
- package/dist/cli/notifier/registryLookup.d.ts +111 -0
- package/dist/cli/notifier/registryLookup.d.ts.map +1 -0
- package/dist/cli/notifier/registryLookup.js +211 -0
- package/dist/cli/notifier/registryLookup.js.map +1 -0
- package/dist/cli/notifier/updateCache.d.ts +101 -0
- package/dist/cli/notifier/updateCache.d.ts.map +1 -0
- package/dist/cli/notifier/updateCache.js +352 -0
- package/dist/cli/notifier/updateCache.js.map +1 -0
- package/dist/cli/notifier/updateCheck.d.ts +88 -0
- package/dist/cli/notifier/updateCheck.d.ts.map +1 -0
- package/dist/cli/notifier/updateCheck.js +166 -0
- package/dist/cli/notifier/updateCheck.js.map +1 -0
- package/dist/cli/notifier/versionCompare.d.ts +48 -0
- package/dist/cli/notifier/versionCompare.d.ts.map +1 -0
- package/dist/cli/notifier/versionCompare.js +89 -0
- package/dist/cli/notifier/versionCompare.js.map +1 -0
- package/dist/cli/runCli.d.ts +2 -0
- package/dist/cli/runCli.d.ts.map +1 -1
- package/dist/cli/runCli.js +30 -3
- package/dist/cli/runCli.js.map +1 -1
- package/dist/core/analyzeProject.d.ts +44 -6
- package/dist/core/analyzeProject.d.ts.map +1 -1
- package/dist/core/analyzeProject.js +110 -11
- package/dist/core/analyzeProject.js.map +1 -1
- package/dist/detectors/eslintManifestConfig.d.ts +111 -0
- package/dist/detectors/eslintManifestConfig.d.ts.map +1 -0
- package/dist/detectors/eslintManifestConfig.js +348 -0
- package/dist/detectors/eslintManifestConfig.js.map +1 -0
- package/dist/detectors/eslintRcJsonConfig.d.ts +85 -0
- package/dist/detectors/eslintRcJsonConfig.d.ts.map +1 -0
- package/dist/detectors/eslintRcJsonConfig.js +188 -0
- package/dist/detectors/eslintRcJsonConfig.js.map +1 -0
- package/dist/detectors/jestManifestConfig.d.ts +76 -0
- package/dist/detectors/jestManifestConfig.d.ts.map +1 -0
- package/dist/detectors/jestManifestConfig.js +292 -0
- package/dist/detectors/jestManifestConfig.js.map +1 -0
- package/dist/reporters/terminalReporter.js +27 -1
- package/dist/reporters/terminalReporter.js.map +1 -1
- package/dist/scanner/moduleSpecifiers.d.ts +9 -1
- package/dist/scanner/moduleSpecifiers.d.ts.map +1 -1
- package/dist/scanner/moduleSpecifiers.js +2352 -173
- package/dist/scanner/moduleSpecifiers.js.map +1 -1
- package/dist/scanner/projectManifest.d.ts +14 -0
- package/dist/scanner/projectManifest.d.ts.map +1 -1
- package/dist/scanner/projectManifest.js +40 -0
- package/dist/scanner/projectManifest.js.map +1 -1
- package/dist/scanner/scriptUsage.d.ts +11 -5
- package/dist/scanner/scriptUsage.d.ts.map +1 -1
- package/dist/scanner/scriptUsage.js +320 -16
- package/dist/scanner/scriptUsage.js.map +1 -1
- package/package.json +7 -7
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* It deliberately does not:
|
|
10
10
|
* - execute, expand, substitute, resolve, spawn, source or evaluate anything;
|
|
11
11
|
* - shell-out, read the filesystem or consult `node_modules`;
|
|
12
|
-
* - map arbitrary shell binaries to packages; only the small, explicit `BINARY_TO_PACKAGE` list
|
|
13
|
-
*
|
|
12
|
+
* - map arbitrary shell binaries to packages; only the small, explicit `BINARY_TO_PACKAGE` list is
|
|
13
|
+
* ever translated, and only against declared packages;
|
|
14
14
|
* - report missing dependencies (undeclared command tokens are ignored);
|
|
15
15
|
* - inspect installed `bin` metadata, config, workspaces or framework detectors.
|
|
16
16
|
*
|
|
@@ -20,8 +20,13 @@
|
|
|
20
20
|
* - a shell segment's first effective command token counts only when that token is exactly a package
|
|
21
21
|
* name, so paths and package subpaths (`scripts/build.js`, `eslint/bin/cli`) are never usage
|
|
22
22
|
* evidence for the package they point into;
|
|
23
|
-
* - the
|
|
24
|
-
* `tsc` -> `typescript`) to its declared package; every other command keeps exact-name
|
|
23
|
+
* - the explicit `BINARY_TO_PACKAGE` allowlist translates a recognized direct executable (for
|
|
24
|
+
* example `tsc` -> `typescript`) to its declared package; every other command keeps exact-name
|
|
25
|
+
* matching. Collision-sensitive entries keep exact-name precedence instead (see
|
|
26
|
+
* `COLLISION_SENSITIVE_BINARIES`), so one executable never marks two competing providers as used.
|
|
27
|
+
* - the catalog is a static allowlist of known executable aliases: every entry was verified against
|
|
28
|
+
* the published `bin` metadata of its package before being added. It is not auto-discovery of npm
|
|
29
|
+
* `bin` fields and it is not framework support - any other executable keeps exact-name matching;
|
|
25
30
|
* - the five documented package-runner forms count (`npx`, `npm exec`, `pnpm exec`, `pnpm dlx`,
|
|
26
31
|
* `yarn dlx`) with the package in its immediate position;
|
|
27
32
|
* - leading POSIX environment assignments (`NODE_ENV=test`, `FOO=1 BAR=2`) are skipped;
|
|
@@ -58,8 +63,160 @@ const ASSIGNMENT_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*=/;
|
|
|
58
63
|
* - `tsc` is the compiler front-end of the `typescript` package; the deprecated standalone `tsc`
|
|
59
64
|
* npm package is intentionally NOT treated as providing the TypeScript compiler.
|
|
60
65
|
* - `docsify` is the executable provided by the `docsify-cli` package.
|
|
61
|
-
*
|
|
62
|
-
*
|
|
66
|
+
* - `ng` is the executable provided by the `@angular/cli` package.
|
|
67
|
+
* - `nest` is the executable provided by the `@nestjs/cli` package.
|
|
68
|
+
* - `babel` is the executable provided by the `@babel/cli` package.
|
|
69
|
+
* - `swc` is one of the executables provided by the `@swc/cli` package; the sibling `spack`
|
|
70
|
+
* executable is deliberately not mapped.
|
|
71
|
+
* - `postcss` is the executable provided by the `postcss-cli` package, and `dotenv` the one provided
|
|
72
|
+
* by `dotenv-cli`. Both are collision-sensitive: a real unrelated package with the exact same name
|
|
73
|
+
* exists, so they are listed in `COLLISION_SENSITIVE_BINARIES` and keep exact-name precedence.
|
|
74
|
+
* - `changeset` (singular only) is the executable provided by the `@changesets/cli` package; the
|
|
75
|
+
* plural `changesets` is not a published bin and is deliberately not matched.
|
|
76
|
+
* - `commitlint` is the executable provided by the `@commitlint/cli` package.
|
|
77
|
+
* - `graphql-codegen`, `gql-gen` and `graphql-code-generator` are three published executables of the
|
|
78
|
+
* same `@graphql-codegen/cli` package; several commands may map to one package, and the result is
|
|
79
|
+
* still a single usage classification. The additional `graphql-codegen-cjs` / `graphql-codegen-esm`
|
|
80
|
+
* bins are not candidates and stay unmapped.
|
|
81
|
+
* - `openapi-generator-cli` is the executable provided by
|
|
82
|
+
* `@openapitools/openapi-generator-cli`.
|
|
83
|
+
* - `run-p` and `run-s` are the executables provided by `npm-run-all`, `conc` by `concurrently`, and
|
|
84
|
+
* `ncu` by `npm-check-updates`. These are runners: they are recognized as the tool that runs, never
|
|
85
|
+
* followed into their arguments, so `run-p vite` never marks a declared `vite` as used and `conc
|
|
86
|
+
* "vite" "tsc"` never marks `vite` or `typescript` as used.
|
|
87
|
+
* - `gulp` is the executable provided by `gulp-cli`, `grunt` by `grunt-cli`, and `sequelize` by
|
|
88
|
+
* `sequelize-cli`. All three names are also plausible declared packages, so each is
|
|
89
|
+
* collision-sensitive: the same-name package keeps precedence when declared, and a single command
|
|
90
|
+
* never marks a CLI and its library as used together. Task runners and database CLIs are never
|
|
91
|
+
* executed and their task names are never interpreted.
|
|
92
|
+
* - `ngc` and `ng-xi18n` are executables provided by `@angular/compiler-cli` (verified for the published
|
|
93
|
+
* 17.x/20.x/22.x line). They are unrelated to the `ng` command, which keeps mapping to `@angular/cli`
|
|
94
|
+
* alone: `ng build` never credits `@angular/compiler-cli`, and the older `ngcc` executable is not a
|
|
95
|
+
* candidate and stays unmapped. `ngc` is itself a published package, so it is collision-sensitive and
|
|
96
|
+
* keeps exact-name precedence; `ng-xi18n` is not published under that name.
|
|
97
|
+
* - `biome` is the executable provided by `@biomejs/biome`. The platform-specific `@biomejs/cli-*`
|
|
98
|
+
* packages are optional dependencies of that package and are never inferred from the command: only the
|
|
99
|
+
* declared `@biomejs/biome` receives evidence. `biome` is also an unrelated published package, so it is
|
|
100
|
+
* collision-sensitive and keeps exact-name precedence. No lint or format run is executed.
|
|
101
|
+
* - `markdownlint`, `remark` and `rehype` are the executables provided by `markdownlint-cli`,
|
|
102
|
+
* `remark-cli` and `rehype-cli`. All three names are also published as unrelated library packages with
|
|
103
|
+
* no bin at all, so all three are collision-sensitive and keep exact-name precedence: a project that
|
|
104
|
+
* declares the `markdownlint` library and runs `markdownlint README.md` credits the library, not
|
|
105
|
+
* `markdownlint-cli`. The libraries, their plugins (`remark-parse`, `rehype-stringify`, ...) and the
|
|
106
|
+
* separate `markdownlint-cli2` package are never inferred from these commands, and nothing is executed.
|
|
107
|
+
* - `depcruise`, `depcruise-baseline` and `depcruise-fmt` are three published executables of the
|
|
108
|
+
* `dependency-cruiser` package (verified against the published `bin` metadata, latest 18.6.0). `depcruise` is the
|
|
109
|
+
* primary shorthand; the other two are the baseline and formatting helper binaries. The bare
|
|
110
|
+
* `depcruise` name is also published as a defensive placeholder package (1.0.0, no bin) whose only
|
|
111
|
+
* purpose is to prevent dependency confusion, so it is collision-sensitive and keeps exact-name
|
|
112
|
+
* precedence, while `depcruise-baseline` and `depcruise-fmt` are not published under their own names
|
|
113
|
+
* and simply credit `dependency-cruiser`. None of the three runs a real dependency-cruiser report and
|
|
114
|
+
* no config is evaluated.
|
|
115
|
+
* - `tsserver` is the language-server executable shipped by the `typescript` package next to `tsc`
|
|
116
|
+
* (verified for the published 4.x/5.x/6.x line; the 7.x package no longer lists this bin, which is
|
|
117
|
+
* irrelevant here because no version resolution is performed and `typescript` is the only provider of
|
|
118
|
+
* that executable name). It is not collision-sensitive: no `tsserver` package exists on the registry.
|
|
119
|
+
* The language server is never started, only recognized as a command token.
|
|
120
|
+
* - `ts-node-cwd`, `ts-node-esm`, `ts-node-script` and `ts-node-transpile-only` are additional
|
|
121
|
+
* executables provided by `ts-node`. Each name is also published as a separate package (a wrapper for
|
|
122
|
+
* the same binary, or an unrelated example package), so all four are collision-sensitive and keep
|
|
123
|
+
* exact-name precedence. The plain `ts-node` command keeps its existing exact-name match and is not a
|
|
124
|
+
* mapping, and `ts-script` is not a candidate.
|
|
125
|
+
* - `vue-cli-service` is the executable provided by `@vue/cli-service`, and `babel-node` by
|
|
126
|
+
* `@babel/node`. Both names are also published as separate packages, so they are collision-sensitive
|
|
127
|
+
* and keep exact-name precedence. Neither command implies the runtime libraries: `vue` and
|
|
128
|
+
* `@babel/core` receive no evidence from `vue-cli-service` or `babel-node`, and no build or
|
|
129
|
+
* transpilation is executed.
|
|
130
|
+
* - `cross-env-shell` is the executable provided by the `cross-env` package alongside the plain
|
|
131
|
+
* `cross-env`. `lessc` is the Less compiler executable provided by the `less` package, and
|
|
132
|
+
* `coffee`/`cake` (the task runner) are the executables provided by the modern `coffeescript`
|
|
133
|
+
* package. All four names are also published as separate packages (`cross-env-shell@7.0.3` a legacy
|
|
134
|
+
* wrapper, `lessc@1.0.2` a no-op npx shim, `coffee@5.5.1` an unrelated CLI, `cake@0.1.1` a legacy
|
|
135
|
+
* CoffeeScript make), so all four are collision-sensitive and keep exact-name precedence: a project
|
|
136
|
+
* that declares the same-named package credits it, and only when that exact-name package is absent
|
|
137
|
+
* does the command credit `cross-env`, `less` or `coffeescript`. The legacy `coffee-script` package
|
|
138
|
+
* is never inferred, `cross-env-shell`'s nested shell string is never parsed, and nothing is
|
|
139
|
+
* compiled or executed.
|
|
140
|
+
* - `uglifyjs` is the minifier executable provided by the `uglify-js` package, and `css-beautify`
|
|
141
|
+
* /`html-beautify` are two of the three executables provided by the `js-beautify` package (the
|
|
142
|
+
* third is the plain `js-beautify`). `uglifyjs` and `html-beautify` are also published as separate
|
|
143
|
+
* packages (`uglifyjs@2.4.11` a legacy redirect to `uglify-js`, `html-beautify@1.0.4` an unrelated
|
|
144
|
+
* formatter), so those two are collision-sensitive and keep exact-name precedence, while `css-beautify`
|
|
145
|
+
* is not published under its own name and simply credits `js-beautify`. The plain `js-beautify`
|
|
146
|
+
* command keeps its existing exact-name match, and nothing is minified or formatted.
|
|
147
|
+
* - `esparse` and `esvalidate` are the two auxiliary CLIs provided by the legacy `esprima` package
|
|
148
|
+
* (verified in the published 4.0.1 `bin` map). Both names are also published as separate packages
|
|
149
|
+
* (`esparse@0.6.11` an older ECMAScript parser, `esvalidate@0.1.3` a validation CLI), so both are
|
|
150
|
+
* collision-sensitive and keep exact-name precedence: a project that declares the same-named package
|
|
151
|
+
* credits it, and only when that exact-name package is absent does the command credit `esprima`. The
|
|
152
|
+
* parser is never run, only recognized as a command token.
|
|
153
|
+
* - `cap` and `capacitor` are the two executables provided by the hybrid-app CLI `@capacitor/cli`
|
|
154
|
+
* (verified in the published 8.5.3 `bin` map). `tauri` is the desktop-app CLI of `@tauri-apps/cli`
|
|
155
|
+
* (2.12.3) and `ionic` the mobile-app CLI of `@ionic/cli` (7.2.1). Every one of these four names is
|
|
156
|
+
* also published as a separate, unrelated package (`cap@0.2.1` packet capture, `capacitor@0.5.6`
|
|
157
|
+
* an old Flux library, `tauri@0.15.0` a multi-binding toolkit, `ionic@5.4.16` an old framework
|
|
158
|
+
* tool), so all four are collision-sensitive and keep exact-name precedence: a project that declares
|
|
159
|
+
* the same-named package credits it, and only when that exact-name package is absent does the command
|
|
160
|
+
* credit `@capacitor/cli`, `@tauri-apps/cli` or `@ionic/cli`. These mappings never imply the
|
|
161
|
+
* companion runtime packages (`@tauri-apps/api`, `@ionic/core`); the apps are never built.
|
|
162
|
+
* - `vue` is the legacy Vue CLI executable of `@vue/cli` (5.0.9). `eas` the Expo EAS CLI of
|
|
163
|
+
* `eas-cli` (25.2.0). Neither `vue@3.5.44` nor `eas@0.1.0` publishes those executable names, so
|
|
164
|
+
* both mappings are ordinary (Category B) and always credit the real CLI package when declared:
|
|
165
|
+
* `vue create` credits `@vue/cli` and `eas build` credits `eas-cli`. These mappings never imply
|
|
166
|
+
* companion packages (`vue` never implies the framework, `eas` never implies `expo`).
|
|
167
|
+
* - `electron-forge` is the desktop tooling CLI of `@electron-forge/cli` (8.0.1). Unlike the two
|
|
168
|
+
* names above, `electron-forge@5.2.4` does publish an `electron-forge` executable, so the exact-name
|
|
169
|
+
* package is a real competing provider: `electron-forge` is collision-sensitive and keeps exact-name
|
|
170
|
+
* precedence, crediting `@electron-forge/cli` only when the `electron-forge` package is absent.
|
|
171
|
+
* Neither command implies the core `electron` runtime; the apps are never built.
|
|
172
|
+
* - `firebase`, `netlify` and `cdk` are the Firebase CLI (`firebase-tools`), the Netlify CLI
|
|
173
|
+
* (`netlify-cli`) and the AWS CDK toolkit (`aws-cdk`) executables. Verified in the published `bin`
|
|
174
|
+
* maps: `firebase-tools@15.34.0` (2026-10-14, unchanged in `firebase-tools@14.25.0`) publishes
|
|
175
|
+
* `firebase`, `netlify-cli@27.13.0` (2026-10-16, unchanged in `netlify-cli@17.38.1`) publishes `netlify`
|
|
176
|
+
* next to its `ntl` alias, and `aws-cdk@2.1145.0` (2026-10-08, unchanged in `aws-cdk@1.204.0`) publishes
|
|
177
|
+
* `cdk`. `cdk` alone needs the collision rule because `cdk@2.1145.0` is the published wrapper of the same
|
|
178
|
+
* toolkit (it depends on `aws-cdk@2.1145.0`) and ships the identical executable, so it is registered
|
|
179
|
+
* below and keeps exact-name precedence. The `firebase` SDK and the `netlify` client library never
|
|
180
|
+
* publish their homonymous executables (`firebase@8.10.1`, `11.10.0` and `13.0.0` publish no bin, and
|
|
181
|
+
* `netlify@0.3.3`, `2.4.8`, `8.0.0`, `12.0.0` and `13.0.0` publish none while `netlify@22.0.0`, `23.0.0`
|
|
182
|
+
* and `27.13.0` publish only `npxnetlify`), so those two mappings are ordinary and a declared `firebase`
|
|
183
|
+
* or `netlify` runtime package is never credited from a CLI command. `aws-cdk-lib@2.273.0` publishes no
|
|
184
|
+
* bin at all, so `cdk` never credits the CDK construct library; no cloud project is contacted or
|
|
185
|
+
* deployed.
|
|
186
|
+
* - `sls`, `cz` and `manypkg` are the short command names of the Serverless Framework CLI
|
|
187
|
+
* (`serverless`), the Commitizen CLI (`commitizen`) and the monorepo package-lint CLI (`@manypkg/cli`).
|
|
188
|
+
* Verified in the published `bin` maps: `serverless@4.44.0` (2026-10-14, unchanged in
|
|
189
|
+
* `serverless@3.38.0` and `2.72.4`) publishes `sls` next to `serverless`, `commitizen@4.3.2`
|
|
190
|
+
* (2026-06-12) publishes `cz` next to `git-cz`/`commitizen`, and `@manypkg/cli@0.25.1` (2025-08-28,
|
|
191
|
+
* unchanged in `0.19.0` and `0.21.1`) publishes `manypkg`. Only `sls` needs the collision rule: the
|
|
192
|
+
* unrelated `sls@0.1.0` directory-listing tool ships its own `bin/sls`, so a declared `sls` keeps
|
|
193
|
+
* exact-name precedence and `serverless` is not additionally credited from the same command.
|
|
194
|
+
* `cz@1.8.2` is a config utility with no bin and `manypkg` is not a published package at all, so those
|
|
195
|
+
* two mappings are ordinary and a declared `cz` package never receives evidence from a `cz` command.
|
|
196
|
+
* The `cz` bin itself only exists since `commitizen@4.2.0` (the older lines published `git-cz` and
|
|
197
|
+
* `commitizen`), which is accepted here because no version resolution is performed: the declared
|
|
198
|
+
* `commitizen` package is the only provider of the `cz` name. The Commitizen adapters
|
|
199
|
+
* (`cz-conventional-changelog`) and the `@manypkg/*` libraries stay uncalled, and nothing is
|
|
200
|
+
* committed, deployed or rewritten.
|
|
201
|
+
* - `dotenvx` is the CLI of the scoped `@dotenvx/dotenvx` package. Verified in the published `bin` maps:
|
|
202
|
+
* `@dotenvx/dotenvx@2.38.0` (2026-10-16) publishes `dotenvx` next to its `dx` alias, and the same
|
|
203
|
+
* `dotenvx` key is published by `@dotenvx/dotenvx@1.24.2` and `1.0.0`, so the executable is stable across
|
|
204
|
+
* the major lines. The mapping is ordinary because the bare `dotenvx` name is not published at all
|
|
205
|
+
* (registry 404) and therefore is not a competing provider. Its short `dx` alias is deliberately not
|
|
206
|
+
* mapped: `dx@1.1.6` is an unrelated published package that ships its own `bin/dx`, which would need the
|
|
207
|
+
* collision rule. A `dotenvx` command never credits the `dotenv` library (`dotenv@18.0.8`, a separate
|
|
208
|
+
* collision-sensitive mapping key), `dotenv-cli`, or `dotenv-flow@4.1.0`, and `dotenv` never credits
|
|
209
|
+
* `@dotenvx/dotenvx`; no environment file is read, loaded or written.
|
|
210
|
+
*
|
|
211
|
+
* Ambiguous providers are deliberately absent from the list. `tailwindcss` is the published executable
|
|
212
|
+
* of `tailwindcss` in v3 and of `@tailwindcss/cli` in v4, `playwright` is published by both `playwright`
|
|
213
|
+
* and `@playwright/test`, and `webpack-cli` publishes no `webpack` bin at all. Choosing one provider
|
|
214
|
+
* statically would invent usage, so those commands only ever credit an exactly declared same-name
|
|
215
|
+
* package and otherwise produce no evidence.
|
|
216
|
+
*
|
|
217
|
+
* Only these lowercase executables map; runner forms such as `npx tsc` keep their own (unmapped)
|
|
218
|
+
* semantics. A CLI executable never stands in for a related library package: `@babel/core` and
|
|
219
|
+
* `@swc/core` are separate declarations and receive no evidence from `babel`/`swc`.
|
|
63
220
|
*
|
|
64
221
|
* The mapping is applied after safe command extraction and can only match a package that is actually
|
|
65
222
|
* declared, so it can never create a missing-dependency finding. When both a bare package name and
|
|
@@ -70,6 +227,108 @@ const ASSIGNMENT_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*=/;
|
|
|
70
227
|
const BINARY_TO_PACKAGE = new Map([
|
|
71
228
|
['tsc', 'typescript'],
|
|
72
229
|
['docsify', 'docsify-cli'],
|
|
230
|
+
['ng', '@angular/cli'],
|
|
231
|
+
['nest', '@nestjs/cli'],
|
|
232
|
+
['babel', '@babel/cli'],
|
|
233
|
+
['swc', '@swc/cli'],
|
|
234
|
+
['postcss', 'postcss-cli'],
|
|
235
|
+
['dotenv', 'dotenv-cli'],
|
|
236
|
+
['changeset', '@changesets/cli'],
|
|
237
|
+
['commitlint', '@commitlint/cli'],
|
|
238
|
+
['graphql-codegen', '@graphql-codegen/cli'],
|
|
239
|
+
['gql-gen', '@graphql-codegen/cli'],
|
|
240
|
+
['graphql-code-generator', '@graphql-codegen/cli'],
|
|
241
|
+
['openapi-generator-cli', '@openapitools/openapi-generator-cli'],
|
|
242
|
+
['run-p', 'npm-run-all'],
|
|
243
|
+
['run-s', 'npm-run-all'],
|
|
244
|
+
['conc', 'concurrently'],
|
|
245
|
+
['ncu', 'npm-check-updates'],
|
|
246
|
+
['gulp', 'gulp-cli'],
|
|
247
|
+
['grunt', 'grunt-cli'],
|
|
248
|
+
['sequelize', 'sequelize-cli'],
|
|
249
|
+
['vue-cli-service', '@vue/cli-service'],
|
|
250
|
+
['babel-node', '@babel/node'],
|
|
251
|
+
['tsserver', 'typescript'],
|
|
252
|
+
['ts-node-cwd', 'ts-node'],
|
|
253
|
+
['ts-node-esm', 'ts-node'],
|
|
254
|
+
['ts-node-script', 'ts-node'],
|
|
255
|
+
['ts-node-transpile-only', 'ts-node'],
|
|
256
|
+
['ngc', '@angular/compiler-cli'],
|
|
257
|
+
['ng-xi18n', '@angular/compiler-cli'],
|
|
258
|
+
['biome', '@biomejs/biome'],
|
|
259
|
+
['markdownlint', 'markdownlint-cli'],
|
|
260
|
+
['remark', 'remark-cli'],
|
|
261
|
+
['rehype', 'rehype-cli'],
|
|
262
|
+
['depcruise', 'dependency-cruiser'],
|
|
263
|
+
['depcruise-baseline', 'dependency-cruiser'],
|
|
264
|
+
['depcruise-fmt', 'dependency-cruiser'],
|
|
265
|
+
['cross-env-shell', 'cross-env'],
|
|
266
|
+
['lessc', 'less'],
|
|
267
|
+
['coffee', 'coffeescript'],
|
|
268
|
+
['cake', 'coffeescript'],
|
|
269
|
+
['uglifyjs', 'uglify-js'],
|
|
270
|
+
['css-beautify', 'js-beautify'],
|
|
271
|
+
['html-beautify', 'js-beautify'],
|
|
272
|
+
['esparse', 'esprima'],
|
|
273
|
+
['esvalidate', 'esprima'],
|
|
274
|
+
['cap', '@capacitor/cli'],
|
|
275
|
+
['capacitor', '@capacitor/cli'],
|
|
276
|
+
['tauri', '@tauri-apps/cli'],
|
|
277
|
+
['ionic', '@ionic/cli'],
|
|
278
|
+
['vue', '@vue/cli'],
|
|
279
|
+
['electron-forge', '@electron-forge/cli'],
|
|
280
|
+
['eas', 'eas-cli'],
|
|
281
|
+
['firebase', 'firebase-tools'],
|
|
282
|
+
['netlify', 'netlify-cli'],
|
|
283
|
+
['cdk', 'aws-cdk'],
|
|
284
|
+
['sls', 'serverless'],
|
|
285
|
+
['cz', 'commitizen'],
|
|
286
|
+
['manypkg', '@manypkg/cli'],
|
|
287
|
+
['dotenvx', '@dotenvx/dotenvx'],
|
|
288
|
+
]);
|
|
289
|
+
/**
|
|
290
|
+
* Mapped executables whose package name is also a real, unrelated published package.
|
|
291
|
+
*
|
|
292
|
+
* For these, the exact-name package keeps precedence whenever it is declared, so a single command
|
|
293
|
+
* such as `postcss src/index.css -o dist/index.css` never marks both `postcss` and `postcss-cli` as
|
|
294
|
+
* used. Only when the exact-name package is absent may the mapping provide evidence for the declared
|
|
295
|
+
* CLI package. A same-named package may also be the wrapper of the very same CLI (`cdk@2.1145.0`); the
|
|
296
|
+
* rule is unchanged and the declared exact-name package wins. Every other mapped executable keeps the
|
|
297
|
+
* opposite (Category A) precedence described on {@link BINARY_TO_PACKAGE}.
|
|
298
|
+
*/
|
|
299
|
+
const COLLISION_SENSITIVE_BINARIES = new Set([
|
|
300
|
+
'postcss',
|
|
301
|
+
'dotenv',
|
|
302
|
+
'gulp',
|
|
303
|
+
'grunt',
|
|
304
|
+
'sequelize',
|
|
305
|
+
'vue-cli-service',
|
|
306
|
+
'babel-node',
|
|
307
|
+
'ts-node-cwd',
|
|
308
|
+
'ts-node-esm',
|
|
309
|
+
'ts-node-script',
|
|
310
|
+
'ts-node-transpile-only',
|
|
311
|
+
'ngc',
|
|
312
|
+
'biome',
|
|
313
|
+
'markdownlint',
|
|
314
|
+
'remark',
|
|
315
|
+
'rehype',
|
|
316
|
+
'depcruise',
|
|
317
|
+
'cross-env-shell',
|
|
318
|
+
'lessc',
|
|
319
|
+
'coffee',
|
|
320
|
+
'cake',
|
|
321
|
+
'uglifyjs',
|
|
322
|
+
'html-beautify',
|
|
323
|
+
'esparse',
|
|
324
|
+
'esvalidate',
|
|
325
|
+
'cap',
|
|
326
|
+
'capacitor',
|
|
327
|
+
'tauri',
|
|
328
|
+
'ionic',
|
|
329
|
+
'electron-forge',
|
|
330
|
+
'cdk',
|
|
331
|
+
'sls',
|
|
73
332
|
]);
|
|
74
333
|
/**
|
|
75
334
|
* Recognize the declared dependencies that `package.json` scripts clearly reference.
|
|
@@ -78,7 +337,8 @@ const BINARY_TO_PACKAGE = new Map([
|
|
|
78
337
|
* evidence (a command token, a recognized executable mapped through `BINARY_TO_PACKAGE`, or a
|
|
79
338
|
* supported runner package position) and keeps only those that are present in
|
|
80
339
|
* {@link declaredPackageNames}. Undeclared command tokens and undeclared mapped packages are ignored:
|
|
81
|
-
* this module never creates missing-dependency findings.
|
|
340
|
+
* this module never creates missing-dependency findings. The declared names are also consulted when
|
|
341
|
+
* resolving a collision-sensitive executable, which needs them to keep exact-name precedence.
|
|
82
342
|
*
|
|
83
343
|
* The result is built in alphabetical package-name order so iteration is deterministic. Neither
|
|
84
344
|
* {@link scripts} nor {@link declaredPackageNames} is mutated.
|
|
@@ -89,7 +349,7 @@ const BINARY_TO_PACKAGE = new Map([
|
|
|
89
349
|
export function findPackageScriptUsage(scripts, declaredPackageNames) {
|
|
90
350
|
const used = new Set();
|
|
91
351
|
for (const command of Object.values(scripts)) {
|
|
92
|
-
for (const candidate of collectScriptCandidates(command)) {
|
|
352
|
+
for (const candidate of collectScriptCandidates(command, declaredPackageNames)) {
|
|
93
353
|
if (declaredPackageNames.has(candidate)) {
|
|
94
354
|
used.add(candidate);
|
|
95
355
|
}
|
|
@@ -103,8 +363,11 @@ export function findPackageScriptUsage(scripts, declaredPackageNames) {
|
|
|
103
363
|
* Each shell segment contributes at most one candidate: the package supplied to a supported runner
|
|
104
364
|
* form, or the segment's first effective command token when that token is exactly a package name.
|
|
105
365
|
* Segments containing unsupported shell syntax contribute nothing.
|
|
366
|
+
*
|
|
367
|
+
* `declaredPackageNames` is only used to resolve collision-sensitive executables, which need to know
|
|
368
|
+
* whether the exact-name package is declared before choosing the candidate.
|
|
106
369
|
*/
|
|
107
|
-
function collectScriptCandidates(command) {
|
|
370
|
+
function collectScriptCandidates(command, declaredPackageNames) {
|
|
108
371
|
const candidates = [];
|
|
109
372
|
for (const segment of splitSegments(command)) {
|
|
110
373
|
// An unsupported segment is never partially trusted, not even its leading command.
|
|
@@ -134,11 +397,20 @@ function collectScriptCandidates(command) {
|
|
|
134
397
|
// `eslint/bin/cli` or a script path such as `scripts/build.js` is never usage evidence.
|
|
135
398
|
const classification = classifyPackageSpecifier(commandName);
|
|
136
399
|
if (classification.kind === 'external' && commandName === classification.packageName) {
|
|
137
|
-
//
|
|
138
|
-
//
|
|
139
|
-
//
|
|
400
|
+
// A single executable always yields at most one piece of usage evidence. Unmapped commands and
|
|
401
|
+
// Category A mappings resolve to the mapped package (`tsc` is `typescript`, never a
|
|
402
|
+
// hypothetical `tsc` package). Collision-sensitive executables keep exact-name precedence, so
|
|
403
|
+
// the same command never marks two competing providers as used.
|
|
140
404
|
const mapped = BINARY_TO_PACKAGE.get(commandName);
|
|
141
|
-
|
|
405
|
+
if (mapped === undefined) {
|
|
406
|
+
candidates.push(commandName);
|
|
407
|
+
}
|
|
408
|
+
else if (COLLISION_SENSITIVE_BINARIES.has(commandName)) {
|
|
409
|
+
candidates.push(declaredPackageNames.has(commandName) ? commandName : mapped);
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
candidates.push(mapped);
|
|
413
|
+
}
|
|
142
414
|
}
|
|
143
415
|
}
|
|
144
416
|
return candidates;
|
|
@@ -189,9 +461,12 @@ function matchRunnerPackage(significant) {
|
|
|
189
461
|
* text inside quotes from being misread, and to detect the syntax it refuses to interpret. It never
|
|
190
462
|
* executes, expands or substitutes anything.
|
|
191
463
|
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
464
|
+
* A `#` at a word boundary starts a POSIX comment that runs to the next line terminator; its body is
|
|
465
|
+
* skipped before any separator inside it can be interpreted, so a commented command is never credited
|
|
466
|
+
* (Step 68.1). Unsupported constructs (single `&`, redirection, `$(...)`, `${...}`, quotes left open
|
|
467
|
+
* at the end of the script) mark the current segment as unsupported instead of guessing tokens from
|
|
468
|
+
* inside it. The marker is reset by the next real separator, so invalidation stays local to the
|
|
469
|
+
* affected segment.
|
|
195
470
|
*/
|
|
196
471
|
function splitSegments(script) {
|
|
197
472
|
const segments = [];
|
|
@@ -215,6 +490,18 @@ function splitSegments(script) {
|
|
|
215
490
|
i += 1;
|
|
216
491
|
continue;
|
|
217
492
|
}
|
|
493
|
+
// A `#` at a word boundary (start of script, after a separator, or after whitespace) starts a
|
|
494
|
+
// POSIX comment. Everything up to the next LF is inert: separators inside it (`;`, `&&`, ...) are
|
|
495
|
+
// skipped with the comment, so they never reach the segment logic and cannot split a segment or be
|
|
496
|
+
// misread as commands. The line terminator that ends the comment then flushes the segment that
|
|
497
|
+
// preceded it, so commands before the comment keep their evidence and commands on later lines are
|
|
498
|
+
// still analyzed. This is detected here, before any separator inside the comment could run, and
|
|
499
|
+
// never inside a token: `abc#def` and quoted `"#"` stay ordinary words, and `${#foo}` is consumed
|
|
500
|
+
// as an unsupported expansion by `scanToken` before the `#` could be seen at the loop boundary.
|
|
501
|
+
if (ch === '#') {
|
|
502
|
+
i = skipCommentToEndOfLine(script, i);
|
|
503
|
+
continue;
|
|
504
|
+
}
|
|
218
505
|
// Supported separators. `&&`/`||` are two-character; `;`, `|` and newline are single-character.
|
|
219
506
|
if (ch === ';' || ch === '\n') {
|
|
220
507
|
i += 1;
|
|
@@ -254,6 +541,23 @@ function splitSegments(script) {
|
|
|
254
541
|
segments.push({ tokens, unsupported });
|
|
255
542
|
return segments;
|
|
256
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* Skip a POSIX comment that starts at `start`, which must point at a `#`, and return the index just
|
|
546
|
+
* at the next LF, or the end of the script when none follows.
|
|
547
|
+
*
|
|
548
|
+
* Only the terminator that ends the comment is left for the loop: it is then treated as a separator
|
|
549
|
+
* that flushes the preceding segment. A lone CR (no LF) is left for the loop to skip as whitespace,
|
|
550
|
+
* so both LF and CRLF line endings end the comment and let the next line be analyzed. The comment
|
|
551
|
+
* body is never tokenized, so no separator or command inside it is ever interpreted.
|
|
552
|
+
*/
|
|
553
|
+
function skipCommentToEndOfLine(script, start) {
|
|
554
|
+
let i = start + 1;
|
|
555
|
+
const length = script.length;
|
|
556
|
+
while (i < length && script[i] !== '\n') {
|
|
557
|
+
i += 1;
|
|
558
|
+
}
|
|
559
|
+
return i;
|
|
560
|
+
}
|
|
257
561
|
/**
|
|
258
562
|
* Scan a single unquoted token starting at `start`.
|
|
259
563
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scriptUsage.js","sourceRoot":"","sources":["../../src/scanner/scriptUsage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scriptUsage.js","sourceRoot":"","sources":["../../src/scanner/scriptUsage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "depvitals",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Find unused and undeclared npm dependencies in JavaScript and TypeScript projects with a zero-config CLI and no runtime dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nodejs",
|
|
7
|
+
"javascript",
|
|
7
8
|
"typescript",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
9
|
+
"npm",
|
|
10
|
+
"cli",
|
|
10
11
|
"dependency-checker",
|
|
11
|
-
"
|
|
12
|
+
"static-analysis",
|
|
12
13
|
"unused-dependencies",
|
|
13
14
|
"missing-dependencies",
|
|
14
|
-
"depcheck"
|
|
15
|
-
"cli"
|
|
15
|
+
"depcheck"
|
|
16
16
|
],
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"type": "module",
|