depvitals 0.1.1 → 0.1.2

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 CHANGED
@@ -19,7 +19,7 @@ Run it from a project directory to scan the current directory, or provide a path
19
19
 
20
20
  **Requirements:** Node.js `>=22.13.0`.
21
21
 
22
- **Version note:** Dependency scanning was introduced in v0.1.0. The earlier v0.0.1 release contains only the initial CLI bootstrap.
22
+ **Version note:** Dependency scanning was introduced in v0.1.0, and v0.1.2 expanded the script executable allowlist. The earlier v0.0.1 release contains only the initial CLI bootstrap.
23
23
 
24
24
  **Exit status:**
25
25
 
@@ -65,6 +65,7 @@ Missing dependencies (1)
65
65
  - **Literal dynamic imports:** expressions such as `import("express")`.
66
66
  - **Literal CommonJS requires:** expressions such as `require("express")`.
67
67
  - **Basic `package.json` script awareness:** a declared dependency invoked by a supported script command counts as used, for example `eslint` in `"lint": "eslint ."`. Script usage can prevent unused findings but does not generate missing-dependency findings.
68
+ - **Known executable names:** since v0.1.2, a static allowlist of 60 known executable commands resolves to 46 declared packages, so a real CLI executable credits the package that declares it, for example `tsserver` → `typescript`, `ng` → `@angular/cli`, `vue-cli-service` → `@vue/cli-service`, `depcruise` → `dependency-cruiser`, `sls` → `serverless`, and `gulp` → `gulp-cli`. Each alias was verified against published `bin` metadata beforehand: nothing is auto-discovered from `bin` fields or from `node_modules`. 32 of them are collision-sensitive, meaning a same-named declared package wins and the mapped provider gets no evidence.
68
69
  - **Node.js builtins:** built-in modules, with or without the `node:` prefix, are excluded from missing-dependency findings.
69
70
  - **Scoped packages and subpaths:** package specifiers are normalized to their package root. For example, `@scope/ui/button` counts as `@scope/ui`, and `lodash/chunk` counts as `lodash`.
70
71
  - **Ignored directories:** generated and vendor trees are skipped, including `node_modules`, `dist`, `build`, `coverage`, `out`, `.next`, `.nuxt`, `.cache`, `.turbo`, and `.git`.
@@ -77,7 +78,7 @@ Detection uses a lightweight static lexical scanner rather than a full JavaScrip
77
78
  - **Single-project analysis:** only one `package.json` is analyzed. Workspaces, monorepos, and parent-manifest lookup are not supported.
78
79
  - **No configuration-aware resolution:** framework-specific configurations, plugins, TypeScript `paths`, and bundler aliases are not resolved.
79
80
  - **Static specifiers only:** non-literal dynamic `import()`, template-literal specifiers, `require.resolve()`, and property calls such as `obj.require()` are not recognized as usage evidence.
80
- - **Limited script detection:** Script usage relies on supported command patterns. In v0.1.1, two verified explicit binary-to-package mappings are supported: `tsc` → `typescript` and `docsify` → `docsify-cli`. These mappings apply only when the executable appears in a supported direct command position and the corresponding package is declared. Other executable names that differ from their package names are not automatically mapped (e.g., `gulp` does not mark `gulp-cli` as used). Some package runner forms are recognized, but explicit binary mappings are not applied to runner arguments such as `npx tsc` or `pnpm exec tsc`.
81
+ - **Limited script detection:** script usage relies on supported command patterns, and only the executables in the static allowlist above are translated to their declaring package, and only when the executable appears in a supported direct command position. Every other executable name keeps exact-name matching, mappings are never applied to runner arguments such as `npx tsc` or `pnpm exec tsc`, and ambiguous provider families such as `tailwindcss`, `playwright`, and `webpack` are deliberately unmapped, so only an exactly declared same-name package is credited.
81
82
  - **Fixed directory exclusions:** source discovery uses the built-in ignored-directory list above. `.gitignore` and custom ignore rules are not interpreted.
82
83
  - **Conservative error handling:** unreadable source files or source content the lexical scanner cannot safely finish scanning, such as unterminated strings, comments, templates, or regular expressions, abort the scan rather than producing partial results.
83
84
  - **No remediation features yet:** automatic fixes, custom configuration files, and per-dependency explanations are not available.
@@ -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
- * (currently `tsc` -> `typescript`) is ever translated, and only against declared packages;
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 small explicit `BINARY_TO_PACKAGE` list translates a recognized direct executable (currently
24
- * `tsc` -> `typescript`) to its declared package; every other command keeps exact-name matching.
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;
@@ -42,7 +47,8 @@
42
47
  * evidence (a command token, a recognized executable mapped through `BINARY_TO_PACKAGE`, or a
43
48
  * supported runner package position) and keeps only those that are present in
44
49
  * {@link declaredPackageNames}. Undeclared command tokens and undeclared mapped packages are ignored:
45
- * this module never creates missing-dependency findings.
50
+ * this module never creates missing-dependency findings. The declared names are also consulted when
51
+ * resolving a collision-sensitive executable, which needs them to keep exact-name precedence.
46
52
  *
47
53
  * The result is built in alphabetical package-name order so iteration is deterministic. Neither
48
54
  * {@link scripts} nor {@link declaredPackageNames} is mutated.
@@ -1 +1 @@
1
- {"version":3,"file":"scriptUsage.d.ts","sourceRoot":"","sources":["../../src/scanner/scriptUsage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AA8DH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,WAAW,CAAC,MAAM,CAAC,CAYrB"}
1
+ {"version":3,"file":"scriptUsage.d.ts","sourceRoot":"","sources":["../../src/scanner/scriptUsage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AA6TH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACzC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,WAAW,CAAC,MAAM,CAAC,CAYrB"}
@@ -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
- * (currently `tsc` -> `typescript`) is ever translated, and only against declared packages;
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 small explicit `BINARY_TO_PACKAGE` list translates a recognized direct executable (currently
24
- * `tsc` -> `typescript`) to its declared package; every other command keeps exact-name matching.
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
- * Only lowercase `tsc` and `docsify` map; runner forms such as `npx tsc` or `npx docsify` keep their
62
- * own (unmapped) semantics for now.
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
- // An explicit executable mapping takes precedence over same-name matching: `tsc` resolves to
138
- // the declared `typescript` package only, never to a hypothetical `tsc` package, so a single
139
- // executable yields at most one piece of usage evidence.
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
- candidates.push(mapped ?? commandName);
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;
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAsBjE;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9F;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwKG;AACH,MAAM,iBAAiB,GAAgC,IAAI,GAAG,CAAC;IAC7D,CAAC,KAAK,EAAE,YAAY,CAAC;IACrB,CAAC,SAAS,EAAE,aAAa,CAAC;IAC1B,CAAC,IAAI,EAAE,cAAc,CAAC;IACtB,CAAC,MAAM,EAAE,aAAa,CAAC;IACvB,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,CAAC,SAAS,EAAE,aAAa,CAAC;IAC1B,CAAC,QAAQ,EAAE,YAAY,CAAC;IACxB,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAChC,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACjC,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;IAC3C,CAAC,SAAS,EAAE,sBAAsB,CAAC;IACnC,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;IAClD,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;IAChE,CAAC,OAAO,EAAE,aAAa,CAAC;IACxB,CAAC,OAAO,EAAE,aAAa,CAAC;IACxB,CAAC,MAAM,EAAE,cAAc,CAAC;IACxB,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAC5B,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,WAAW,EAAE,eAAe,CAAC;IAC9B,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IACvC,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,aAAa,EAAE,SAAS,CAAC;IAC1B,CAAC,aAAa,EAAE,SAAS,CAAC;IAC1B,CAAC,gBAAgB,EAAE,SAAS,CAAC;IAC7B,CAAC,wBAAwB,EAAE,SAAS,CAAC;IACrC,CAAC,KAAK,EAAE,uBAAuB,CAAC;IAChC,CAAC,UAAU,EAAE,uBAAuB,CAAC;IACrC,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAC3B,CAAC,cAAc,EAAE,kBAAkB,CAAC;IACpC,CAAC,QAAQ,EAAE,YAAY,CAAC;IACxB,CAAC,QAAQ,EAAE,YAAY,CAAC;IACxB,CAAC,WAAW,EAAE,oBAAoB,CAAC;IACnC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAC5C,CAAC,eAAe,EAAE,oBAAoB,CAAC;IACvC,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAChC,CAAC,OAAO,EAAE,MAAM,CAAC;IACjB,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1B,CAAC,MAAM,EAAE,cAAc,CAAC;IACxB,CAAC,UAAU,EAAE,WAAW,CAAC;IACzB,CAAC,cAAc,EAAE,aAAa,CAAC;IAC/B,CAAC,eAAe,EAAE,aAAa,CAAC;IAChC,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,YAAY,EAAE,SAAS,CAAC;IACzB,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACzB,CAAC,WAAW,EAAE,gBAAgB,CAAC;IAC/B,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAC5B,CAAC,OAAO,EAAE,YAAY,CAAC;IACvB,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IACzC,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAC9B,CAAC,SAAS,EAAE,aAAa,CAAC;IAC1B,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,KAAK,EAAE,YAAY,CAAC;IACrB,CAAC,IAAI,EAAE,YAAY,CAAC;IACpB,CAAC,SAAS,EAAE,cAAc,CAAC;IAC3B,CAAC,SAAS,EAAE,kBAAkB,CAAC;CAChC,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC;IAChE,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,WAAW;IACX,iBAAiB;IACjB,YAAY;IACZ,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,wBAAwB;IACxB,KAAK;IACL,OAAO;IACP,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,iBAAiB;IACjB,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,eAAe;IACf,SAAS;IACT,YAAY;IACZ,KAAK;IACL,WAAW;IACX,OAAO;IACP,OAAO;IACP,gBAAgB;IAChB,KAAK;IACL,KAAK;CACN,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAyC,EACzC,oBAAyC;IAEzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,KAAK,MAAM,SAAS,IAAI,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC/E,IAAI,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,uBAAuB,CAC9B,OAAe,EACf,oBAAyC;IAEzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,mFAAmF;QACnF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,+FAA+F;QAC/F,+BAA+B;QAC/B,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,uFAAuF;QACvF,wFAAwF;QACxF,MAAM,cAAc,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,IAAI,WAAW,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC;YACrF,+FAA+F;YAC/F,oFAAoF;YACpF,8FAA8F;YAC9F,gEAAgE;YAChE,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAyB;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM;QACR,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,WAA6B;IACvD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAEtC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACzC,OAAO,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,MAAM,GAAqB,EAAE,CAAC;IAClC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,+EAA+E;IAC/E,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACvC,MAAM,GAAG,EAAE,CAAC;QACZ,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QAED,gDAAgD;QAChD,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9B,CAAC,IAAI,CAAC,CAAC;YACP,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,iGAAiG;QACjG,gGAAgG;QAChG,oEAAoE;QACpE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1B,CAAC,IAAI,CAAC,CAAC;gBACP,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,CAAC,IAAI,CAAC,CAAC;gBACP,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,SAAS;QACX,CAAC;QAED,iGAAiG;QACjG,kEAAkE;QAClE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,KAAa;IAC9C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC,GAAG,KAAK,CAAC;IAEd,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QAED,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC9E,MAAM;QACR,CAAC;QAED,mFAAmF;QACnF,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,WAAW,GAAG,IAAI,CAAC;YACnB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,0FAA0F;QAC1F,+FAA+F;QAC/F,qEAAqE;QACrE,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACxC,WAAW,GAAG,IAAI,CAAC;YACnB,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QAED,iGAAiG;QACjG,2FAA2F;QAC3F,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,wFAAwF;gBACxF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YACzD,CAAC;YACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QAED,KAAK,IAAI,EAAE,CAAC;QACZ,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;AAC/C,CAAC;AAeD;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa;IAC9D,MAAM,YAAY,GAAG,KAAK,KAAK,GAAG,CAAC;IACnC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC,GAAG,KAAK,CAAC;IAEd,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QAED,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YACjB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,YAAY,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACxD,2FAA2F;YAC3F,+FAA+F;YAC/F,kDAAkD;YAClD,OAAO,GAAG,IAAI,CAAC;YACf,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,mFAAmF;QACnF,IAAI,YAAY,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;QACX,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAwB;IAC9C,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,MAAc,EAAE,KAAa;IAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,KAAK,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAQD;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAAC,MAAc,EAAE,KAAa;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAsB,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACjC,IAAI,CAAS,CAAC;IACd,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,0EAA0E;QAC1E,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzB,2FAA2F;QAC3F,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,wFAAwF;QACxF,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7B,+FAA+F;YAC/F,6FAA6F;YAC7F,kBAAkB;YAClB,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC9B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,4FAA4F;YAC5F,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC9B,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChB,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,qFAAqF;QACrF,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC7C,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;QACD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,iGAAiG;IACjG,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "depvitals",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "A simple, lightweight dependency health checker for Node.js projects.",
5
5
  "keywords": [
6
6
  "nodejs",