depvitals 0.3.0 → 0.4.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 +72 -3
- package/dist/cli/entry.js +8 -21
- package/dist/cli/entry.js.map +1 -1
- package/dist/cli/parseCliArgs.d.ts +5 -2
- package/dist/cli/parseCliArgs.d.ts.map +1 -1
- package/dist/cli/parseCliArgs.js +51 -36
- package/dist/cli/parseCliArgs.js.map +1 -1
- package/dist/cli/runCli.d.ts +4 -5
- package/dist/cli/runCli.d.ts.map +1 -1
- package/dist/cli/runCli.js +39 -49
- package/dist/cli/runCli.js.map +1 -1
- package/dist/config/ignoreDependencies.d.ts +2 -0
- package/dist/config/ignoreDependencies.d.ts.map +1 -1
- package/dist/config/ignoreDependencies.js +5 -1
- package/dist/config/ignoreDependencies.js.map +1 -1
- package/dist/config/readProjectConfig.d.ts +5 -0
- package/dist/config/readProjectConfig.d.ts.map +1 -1
- package/dist/config/readProjectConfig.js +24 -10
- package/dist/config/readProjectConfig.js.map +1 -1
- package/dist/core/analyzeProject.d.ts +35 -0
- package/dist/core/analyzeProject.d.ts.map +1 -1
- package/dist/core/analyzeProject.js +161 -25
- package/dist/core/analyzeProject.js.map +1 -1
- package/dist/core/evidence.d.ts +67 -0
- package/dist/core/evidence.d.ts.map +1 -0
- package/dist/core/evidence.js +115 -0
- package/dist/core/evidence.js.map +1 -0
- package/dist/core/scanContext.d.ts +20 -0
- package/dist/core/scanContext.d.ts.map +1 -0
- package/dist/core/scanContext.js +43 -0
- package/dist/core/scanContext.js.map +1 -0
- package/dist/detectors/eslintManifestConfig.d.ts +18 -0
- package/dist/detectors/eslintManifestConfig.d.ts.map +1 -1
- package/dist/detectors/eslintManifestConfig.js +55 -76
- package/dist/detectors/eslintManifestConfig.js.map +1 -1
- package/dist/detectors/eslintRcJsonConfig.d.ts +8 -2
- package/dist/detectors/eslintRcJsonConfig.d.ts.map +1 -1
- package/dist/detectors/eslintRcJsonConfig.js +25 -11
- package/dist/detectors/eslintRcJsonConfig.js.map +1 -1
- package/dist/detectors/jestManifestConfig.d.ts +15 -3
- package/dist/detectors/jestManifestConfig.d.ts.map +1 -1
- package/dist/detectors/jestManifestConfig.js +57 -79
- package/dist/detectors/jestManifestConfig.js.map +1 -1
- package/dist/reporters/jsonReporter.d.ts +39 -0
- package/dist/reporters/jsonReporter.d.ts.map +1 -0
- package/dist/reporters/jsonReporter.js +91 -0
- package/dist/reporters/jsonReporter.js.map +1 -0
- package/dist/reporters/terminalReporter.d.ts +15 -4
- package/dist/reporters/terminalReporter.d.ts.map +1 -1
- package/dist/reporters/terminalReporter.js +64 -4
- package/dist/reporters/terminalReporter.js.map +1 -1
- package/dist/scanner/moduleSpecifiers.d.ts +10 -0
- package/dist/scanner/moduleSpecifiers.d.ts.map +1 -1
- package/dist/scanner/moduleSpecifiers.js +46 -8
- package/dist/scanner/moduleSpecifiers.js.map +1 -1
- package/dist/scanner/projectManifest.d.ts +9 -0
- package/dist/scanner/projectManifest.d.ts.map +1 -1
- package/dist/scanner/projectManifest.js +7 -1
- package/dist/scanner/projectManifest.js.map +1 -1
- package/dist/scanner/scriptUsage.d.ts +13 -0
- package/dist/scanner/scriptUsage.d.ts.map +1 -1
- package/dist/scanner/scriptUsage.js +102 -32
- package/dist/scanner/scriptUsage.js.map +1 -1
- package/dist/scanner/sourceFiles.d.ts +5 -0
- package/dist/scanner/sourceFiles.d.ts.map +1 -1
- package/dist/scanner/sourceFiles.js +7 -0
- package/dist/scanner/sourceFiles.js.map +1 -1
- package/package.json +4 -2
- package/schemas/README.md +47 -0
- package/schemas/examples/README.md +27 -0
- package/schemas/examples/explain-excluded.json +53 -0
- package/schemas/examples/explain-missing.json +65 -0
- package/schemas/examples/explain-node-preload.json +70 -0
- package/schemas/examples/explain-unknown.json +53 -0
- package/schemas/examples/scan-clean.json +40 -0
- package/schemas/examples/scan-findings.json +80 -0
- package/schemas/report-v1.schema.json +376 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Report format v1 examples
|
|
2
|
+
|
|
3
|
+
These six normative examples describe the target v0.4.0 release. Their conceptual root is `/example/project` and their illustrative `tool.version` is `0.4.0`; actual reports use the real selected root and installed tool version. They do not claim that an earlier CLI already accepts format or explanation options. See the [schema](../report-v1.schema.json) and [format description](../README.md).
|
|
4
|
+
|
|
5
|
+
| Document | Scenario and intended exit |
|
|
6
|
+
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
7
|
+
| [scan-clean.json](scan-clean.json) | Empty manifest and no supported source; scan exit 0. |
|
|
8
|
+
| [scan-findings.json](scan-findings.json) | Dependencies declare `unused`, devDependencies declare `unused-tool`; `src/index.ts` contains `import item from 'missing';` and a final LF. Scan exit 1. The quote is at zero-based UTF-16 offset 17, line 1, column 18. |
|
|
9
|
+
| [explain-missing.json](explain-missing.json) | Query `missing` in that same project; exit 1, excluding unrelated unused findings. |
|
|
10
|
+
| [explain-excluded.json](explain-excluded.json) | Dependency `unused`, no sources, exact ignoreDependencies entry `unused`; query exit 0, preserving its underlying unused finding. |
|
|
11
|
+
| [explain-unknown.json](explain-unknown.json) | Empty project, query `absent`; completed unknown record and exit 1. |
|
|
12
|
+
| [explain-node-preload.json](explain-node-preload.json) | Dev dependency `preload` used by the selected Node preload recognition described below; query exit 0. |
|
|
13
|
+
|
|
14
|
+
The Node-preload example assumes this manifest and an empty `entry.cjs`:
|
|
15
|
+
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"devDependencies": { "preload": "1" },
|
|
19
|
+
"scripts": {
|
|
20
|
+
"check/node~": "unlisted-tool && node --import=preload/esm --import=preload/esm ./entry.cjs"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The candidate ordinals are unlisted-tool=0, node=1, preload=2 and preload=3 before declaration filtering. The undeclared commands create no package records or missing findings. The two preload selectors retain distinct script occurrences and the escaped pointer `/scripts/check~1node~0`. Their module selector is `preload/esm`, owned by package `preload`, without installed resolution or execution. This example describes the target recognition; serializing supplied facts alone does not establish that a particular CLI version collects them.
|
|
26
|
+
|
|
27
|
+
Invalid manifest/config/source inputs intentionally have no report fixture. Their expected stdout is empty, stderr identifies the error and exit is 1. They must not be represented as successful clean documents.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "depvitals",
|
|
5
|
+
"version": "0.4.0"
|
|
6
|
+
},
|
|
7
|
+
"mode": "explain",
|
|
8
|
+
"project": {
|
|
9
|
+
"root": "/example/project"
|
|
10
|
+
},
|
|
11
|
+
"scope": {
|
|
12
|
+
"sourceExtensions": [".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"],
|
|
13
|
+
"excludedDirectories": [
|
|
14
|
+
".cache",
|
|
15
|
+
".git",
|
|
16
|
+
".next",
|
|
17
|
+
".nuxt",
|
|
18
|
+
".turbo",
|
|
19
|
+
"build",
|
|
20
|
+
"coverage",
|
|
21
|
+
"dist",
|
|
22
|
+
"node_modules",
|
|
23
|
+
"out"
|
|
24
|
+
],
|
|
25
|
+
"ignorePaths": [],
|
|
26
|
+
"ignoreDependencies": ["unused"]
|
|
27
|
+
},
|
|
28
|
+
"findings": {
|
|
29
|
+
"unusedDependencies": [],
|
|
30
|
+
"unusedDevDependencies": [],
|
|
31
|
+
"missingDependencies": []
|
|
32
|
+
},
|
|
33
|
+
"counts": {
|
|
34
|
+
"unusedDependencies": 0,
|
|
35
|
+
"unusedDevDependencies": 0,
|
|
36
|
+
"missingDependencies": 0
|
|
37
|
+
},
|
|
38
|
+
"packages": [
|
|
39
|
+
{
|
|
40
|
+
"name": "unused",
|
|
41
|
+
"status": "excluded",
|
|
42
|
+
"declaredIn": ["dependencies"],
|
|
43
|
+
"excluded": true,
|
|
44
|
+
"underlyingFindings": ["unusedDependencies"],
|
|
45
|
+
"findings": [],
|
|
46
|
+
"evidence": []
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"query": {
|
|
50
|
+
"packageName": "unused",
|
|
51
|
+
"known": true
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "depvitals",
|
|
5
|
+
"version": "0.4.0"
|
|
6
|
+
},
|
|
7
|
+
"mode": "explain",
|
|
8
|
+
"project": {
|
|
9
|
+
"root": "/example/project"
|
|
10
|
+
},
|
|
11
|
+
"scope": {
|
|
12
|
+
"sourceExtensions": [".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"],
|
|
13
|
+
"excludedDirectories": [
|
|
14
|
+
".cache",
|
|
15
|
+
".git",
|
|
16
|
+
".next",
|
|
17
|
+
".nuxt",
|
|
18
|
+
".turbo",
|
|
19
|
+
"build",
|
|
20
|
+
"coverage",
|
|
21
|
+
"dist",
|
|
22
|
+
"node_modules",
|
|
23
|
+
"out"
|
|
24
|
+
],
|
|
25
|
+
"ignorePaths": [],
|
|
26
|
+
"ignoreDependencies": []
|
|
27
|
+
},
|
|
28
|
+
"findings": {
|
|
29
|
+
"unusedDependencies": [],
|
|
30
|
+
"unusedDevDependencies": [],
|
|
31
|
+
"missingDependencies": ["missing"]
|
|
32
|
+
},
|
|
33
|
+
"counts": {
|
|
34
|
+
"unusedDependencies": 0,
|
|
35
|
+
"unusedDevDependencies": 0,
|
|
36
|
+
"missingDependencies": 1
|
|
37
|
+
},
|
|
38
|
+
"packages": [
|
|
39
|
+
{
|
|
40
|
+
"name": "missing",
|
|
41
|
+
"status": "missing",
|
|
42
|
+
"declaredIn": [],
|
|
43
|
+
"excluded": false,
|
|
44
|
+
"underlyingFindings": ["missingDependencies"],
|
|
45
|
+
"findings": ["missingDependencies"],
|
|
46
|
+
"evidence": [
|
|
47
|
+
{
|
|
48
|
+
"kind": "source",
|
|
49
|
+
"file": "src/index.ts",
|
|
50
|
+
"reference": "import",
|
|
51
|
+
"specifier": "missing",
|
|
52
|
+
"position": {
|
|
53
|
+
"offset": 17,
|
|
54
|
+
"line": 1,
|
|
55
|
+
"column": 18
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"query": {
|
|
62
|
+
"packageName": "missing",
|
|
63
|
+
"known": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "depvitals",
|
|
5
|
+
"version": "0.4.0"
|
|
6
|
+
},
|
|
7
|
+
"mode": "explain",
|
|
8
|
+
"project": {
|
|
9
|
+
"root": "/example/project"
|
|
10
|
+
},
|
|
11
|
+
"scope": {
|
|
12
|
+
"sourceExtensions": [".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"],
|
|
13
|
+
"excludedDirectories": [
|
|
14
|
+
".cache",
|
|
15
|
+
".git",
|
|
16
|
+
".next",
|
|
17
|
+
".nuxt",
|
|
18
|
+
".turbo",
|
|
19
|
+
"build",
|
|
20
|
+
"coverage",
|
|
21
|
+
"dist",
|
|
22
|
+
"node_modules",
|
|
23
|
+
"out"
|
|
24
|
+
],
|
|
25
|
+
"ignorePaths": [],
|
|
26
|
+
"ignoreDependencies": []
|
|
27
|
+
},
|
|
28
|
+
"findings": {
|
|
29
|
+
"unusedDependencies": [],
|
|
30
|
+
"unusedDevDependencies": [],
|
|
31
|
+
"missingDependencies": []
|
|
32
|
+
},
|
|
33
|
+
"counts": {
|
|
34
|
+
"unusedDependencies": 0,
|
|
35
|
+
"unusedDevDependencies": 0,
|
|
36
|
+
"missingDependencies": 0
|
|
37
|
+
},
|
|
38
|
+
"packages": [
|
|
39
|
+
{
|
|
40
|
+
"name": "preload",
|
|
41
|
+
"status": "used",
|
|
42
|
+
"declaredIn": ["devDependencies"],
|
|
43
|
+
"excluded": false,
|
|
44
|
+
"underlyingFindings": [],
|
|
45
|
+
"findings": [],
|
|
46
|
+
"evidence": [
|
|
47
|
+
{
|
|
48
|
+
"kind": "script",
|
|
49
|
+
"file": "package.json",
|
|
50
|
+
"pointer": "/scripts/check~1node~0",
|
|
51
|
+
"command": "preload/esm",
|
|
52
|
+
"via": "node-preload",
|
|
53
|
+
"occurrence": 2
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "script",
|
|
57
|
+
"file": "package.json",
|
|
58
|
+
"pointer": "/scripts/check~1node~0",
|
|
59
|
+
"command": "preload/esm",
|
|
60
|
+
"via": "node-preload",
|
|
61
|
+
"occurrence": 3
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"query": {
|
|
67
|
+
"packageName": "preload",
|
|
68
|
+
"known": true
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "depvitals",
|
|
5
|
+
"version": "0.4.0"
|
|
6
|
+
},
|
|
7
|
+
"mode": "explain",
|
|
8
|
+
"project": {
|
|
9
|
+
"root": "/example/project"
|
|
10
|
+
},
|
|
11
|
+
"scope": {
|
|
12
|
+
"sourceExtensions": [".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"],
|
|
13
|
+
"excludedDirectories": [
|
|
14
|
+
".cache",
|
|
15
|
+
".git",
|
|
16
|
+
".next",
|
|
17
|
+
".nuxt",
|
|
18
|
+
".turbo",
|
|
19
|
+
"build",
|
|
20
|
+
"coverage",
|
|
21
|
+
"dist",
|
|
22
|
+
"node_modules",
|
|
23
|
+
"out"
|
|
24
|
+
],
|
|
25
|
+
"ignorePaths": [],
|
|
26
|
+
"ignoreDependencies": []
|
|
27
|
+
},
|
|
28
|
+
"findings": {
|
|
29
|
+
"unusedDependencies": [],
|
|
30
|
+
"unusedDevDependencies": [],
|
|
31
|
+
"missingDependencies": []
|
|
32
|
+
},
|
|
33
|
+
"counts": {
|
|
34
|
+
"unusedDependencies": 0,
|
|
35
|
+
"unusedDevDependencies": 0,
|
|
36
|
+
"missingDependencies": 0
|
|
37
|
+
},
|
|
38
|
+
"packages": [
|
|
39
|
+
{
|
|
40
|
+
"name": "absent",
|
|
41
|
+
"status": "unknown",
|
|
42
|
+
"declaredIn": [],
|
|
43
|
+
"excluded": false,
|
|
44
|
+
"underlyingFindings": [],
|
|
45
|
+
"findings": [],
|
|
46
|
+
"evidence": []
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"query": {
|
|
50
|
+
"packageName": "absent",
|
|
51
|
+
"known": false
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "depvitals",
|
|
5
|
+
"version": "0.4.0"
|
|
6
|
+
},
|
|
7
|
+
"mode": "scan",
|
|
8
|
+
"project": {
|
|
9
|
+
"root": "/example/project"
|
|
10
|
+
},
|
|
11
|
+
"scope": {
|
|
12
|
+
"sourceExtensions": [".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"],
|
|
13
|
+
"excludedDirectories": [
|
|
14
|
+
".cache",
|
|
15
|
+
".git",
|
|
16
|
+
".next",
|
|
17
|
+
".nuxt",
|
|
18
|
+
".turbo",
|
|
19
|
+
"build",
|
|
20
|
+
"coverage",
|
|
21
|
+
"dist",
|
|
22
|
+
"node_modules",
|
|
23
|
+
"out"
|
|
24
|
+
],
|
|
25
|
+
"ignorePaths": [],
|
|
26
|
+
"ignoreDependencies": []
|
|
27
|
+
},
|
|
28
|
+
"findings": {
|
|
29
|
+
"unusedDependencies": [],
|
|
30
|
+
"unusedDevDependencies": [],
|
|
31
|
+
"missingDependencies": []
|
|
32
|
+
},
|
|
33
|
+
"counts": {
|
|
34
|
+
"unusedDependencies": 0,
|
|
35
|
+
"unusedDevDependencies": 0,
|
|
36
|
+
"missingDependencies": 0
|
|
37
|
+
},
|
|
38
|
+
"packages": [],
|
|
39
|
+
"query": null
|
|
40
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"tool": {
|
|
4
|
+
"name": "depvitals",
|
|
5
|
+
"version": "0.4.0"
|
|
6
|
+
},
|
|
7
|
+
"mode": "scan",
|
|
8
|
+
"project": {
|
|
9
|
+
"root": "/example/project"
|
|
10
|
+
},
|
|
11
|
+
"scope": {
|
|
12
|
+
"sourceExtensions": [".cjs", ".cts", ".js", ".jsx", ".mjs", ".mts", ".ts", ".tsx"],
|
|
13
|
+
"excludedDirectories": [
|
|
14
|
+
".cache",
|
|
15
|
+
".git",
|
|
16
|
+
".next",
|
|
17
|
+
".nuxt",
|
|
18
|
+
".turbo",
|
|
19
|
+
"build",
|
|
20
|
+
"coverage",
|
|
21
|
+
"dist",
|
|
22
|
+
"node_modules",
|
|
23
|
+
"out"
|
|
24
|
+
],
|
|
25
|
+
"ignorePaths": [],
|
|
26
|
+
"ignoreDependencies": []
|
|
27
|
+
},
|
|
28
|
+
"findings": {
|
|
29
|
+
"unusedDependencies": ["unused"],
|
|
30
|
+
"unusedDevDependencies": ["unused-tool"],
|
|
31
|
+
"missingDependencies": ["missing"]
|
|
32
|
+
},
|
|
33
|
+
"counts": {
|
|
34
|
+
"unusedDependencies": 1,
|
|
35
|
+
"unusedDevDependencies": 1,
|
|
36
|
+
"missingDependencies": 1
|
|
37
|
+
},
|
|
38
|
+
"packages": [
|
|
39
|
+
{
|
|
40
|
+
"name": "missing",
|
|
41
|
+
"status": "missing",
|
|
42
|
+
"declaredIn": [],
|
|
43
|
+
"excluded": false,
|
|
44
|
+
"underlyingFindings": ["missingDependencies"],
|
|
45
|
+
"findings": ["missingDependencies"],
|
|
46
|
+
"evidence": [
|
|
47
|
+
{
|
|
48
|
+
"kind": "source",
|
|
49
|
+
"file": "src/index.ts",
|
|
50
|
+
"reference": "import",
|
|
51
|
+
"specifier": "missing",
|
|
52
|
+
"position": {
|
|
53
|
+
"offset": 17,
|
|
54
|
+
"line": 1,
|
|
55
|
+
"column": 18
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "unused",
|
|
62
|
+
"status": "unused",
|
|
63
|
+
"declaredIn": ["dependencies"],
|
|
64
|
+
"excluded": false,
|
|
65
|
+
"underlyingFindings": ["unusedDependencies"],
|
|
66
|
+
"findings": ["unusedDependencies"],
|
|
67
|
+
"evidence": []
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"name": "unused-tool",
|
|
71
|
+
"status": "unused",
|
|
72
|
+
"declaredIn": ["devDependencies"],
|
|
73
|
+
"excluded": false,
|
|
74
|
+
"underlyingFindings": ["unusedDevDependencies"],
|
|
75
|
+
"findings": ["unusedDevDependencies"],
|
|
76
|
+
"evidence": []
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"query": null
|
|
80
|
+
}
|