sadrazam 0.1.0-alpha.8 → 0.1.0-beta.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/CHANGELOG.md +21 -0
- package/README.md +2 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/configHints.d.ts +8 -0
- package/dist/configHints.d.ts.map +1 -0
- package/dist/configHints.js +44 -0
- package/dist/configHints.js.map +1 -0
- package/dist/fileFinder.d.ts.map +1 -1
- package/dist/fileFinder.js +13 -0
- package/dist/fileFinder.js.map +1 -1
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/packageReader.d.ts.map +1 -1
- package/dist/packageReader.js +48 -1
- package/dist/packageReader.js.map +1 -1
- package/dist/reporters.d.ts +8 -0
- package/dist/reporters.d.ts.map +1 -1
- package/dist/reporters.js +29 -0
- package/dist/reporters.js.map +1 -1
- package/dist/scan.d.ts +9 -0
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +62 -8
- package/dist/scan.js.map +1 -1
- package/dist/scriptParser.d.ts.map +1 -1
- package/dist/scriptParser.js +4 -0
- package/dist/scriptParser.js.map +1 -1
- package/dist/workspaceFinder.d.ts.map +1 -1
- package/dist/workspaceFinder.js +44 -7
- package/dist/workspaceFinder.js.map +1 -1
- package/package.json +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v0.1.0-beta.2
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Configuration hints for stale allowlist entries in Sadrazam config
|
|
9
|
+
- Performance reporting with per-workspace and total timing output
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Added `--performance` CLI flag and JSON reporter performance output
|
|
13
|
+
|
|
14
|
+
## v0.1.0-beta.1
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- Promoted Sadrazam to the first beta release after real-world validation across TypeScript, monorepo, and CommonJS projects
|
|
18
|
+
- Switched npm publishing to trusted publishing through GitHub Actions
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
- Filtered Node built-in modules from dependency findings
|
|
22
|
+
- Improved pnpm workspace discovery and local workspace package resolution
|
|
23
|
+
- Added script binary aliases for common tool commands
|
|
24
|
+
- Reduced false positives for `@types/node` in TypeScript projects that import Node built-ins
|
|
25
|
+
|
|
5
26
|
### Added
|
|
6
27
|
- Repository contribution and release rules in `AGENTS.md`
|
|
7
28
|
|
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
Sadrazam is a dependency analysis CLI for JavaScript and TypeScript projects with optional AI-powered insights.
|
|
6
6
|
|
|
7
|
+
Documentation: https://borakilicoglu.github.io/sadrazam/
|
|
8
|
+
|
|
7
9
|
Sadrazam scans your dependencies like a jeweler inspects gold. It finds unused packages, flags dependency hygiene issues, and, when you provide an AI token, can explain findings and suggest cleanup actions directly in the CLI.
|
|
8
10
|
|
|
9
11
|
Current status:
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoBxF"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoBxF"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgC7E,MAAM,gBAAgB,GAAG,CAAC,eAAe,CAAC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAmB;gBACxE,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,CAAC,WAAW,CAAC,CAA4B,CAAC;IACpF,OAAO;QACL,MAAM,EAAE,WAAW,CAAC,QAAQ,IAAI,EAAE;QAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,WAAW,WAAW,CAAC,CAAC,CAAC,UAAU;KACtE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SadrazamConfig } from "./config.js";
|
|
2
|
+
import type { ScanResult } from "./scan.js";
|
|
3
|
+
interface WorkspaceScanLike {
|
|
4
|
+
result: ScanResult;
|
|
5
|
+
}
|
|
6
|
+
export declare function getConfigurationHints(config: SadrazamConfig, workspaces: WorkspaceScanLike[]): string[];
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=configHints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configHints.d.ts","sourceRoot":"","sources":["../src/configHints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,UAAU,iBAAiB;IACzB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,iBAAiB,EAAE,GAC9B,MAAM,EAAE,CA4EV"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export function getConfigurationHints(config, workspaces) {
|
|
2
|
+
const hints = [];
|
|
3
|
+
const unusedDependencies = new Set();
|
|
4
|
+
const unusedDevDependencies = new Set();
|
|
5
|
+
const missingPackages = new Set();
|
|
6
|
+
const misplacedDevDependencies = new Set();
|
|
7
|
+
const observedPackages = new Set();
|
|
8
|
+
for (const { result } of workspaces) {
|
|
9
|
+
for (const item of result.unusedDependencies) {
|
|
10
|
+
unusedDependencies.add(item);
|
|
11
|
+
observedPackages.add(item);
|
|
12
|
+
}
|
|
13
|
+
for (const item of result.unusedDevDependencies) {
|
|
14
|
+
unusedDevDependencies.add(item);
|
|
15
|
+
observedPackages.add(item);
|
|
16
|
+
}
|
|
17
|
+
for (const item of result.missingPackages) {
|
|
18
|
+
missingPackages.add(item);
|
|
19
|
+
observedPackages.add(item);
|
|
20
|
+
}
|
|
21
|
+
for (const item of result.misplacedDevDependencies) {
|
|
22
|
+
misplacedDevDependencies.add(item);
|
|
23
|
+
observedPackages.add(item);
|
|
24
|
+
}
|
|
25
|
+
for (const item of result.externalImports) {
|
|
26
|
+
observedPackages.add(item);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
hints.push(...getUnusedRuleHints("ignorePackages", config.ignorePackages, observedPackages, 'ignorePackages entry "{name}" has no effect and can be removed.'));
|
|
30
|
+
hints.push(...getUnusedRuleHints("allowUnusedDependencies", config.allowUnusedDependencies, unusedDependencies, 'allowUnusedDependencies entry "{name}" has no effect and can be removed.'));
|
|
31
|
+
hints.push(...getUnusedRuleHints("allowUnusedDevDependencies", config.allowUnusedDevDependencies, unusedDevDependencies, 'allowUnusedDevDependencies entry "{name}" has no effect and can be removed.'));
|
|
32
|
+
hints.push(...getUnusedRuleHints("allowMissingPackages", config.allowMissingPackages, missingPackages, 'allowMissingPackages entry "{name}" has no effect and can be removed.'));
|
|
33
|
+
hints.push(...getUnusedRuleHints("allowMisplacedDevDependencies", config.allowMisplacedDevDependencies, misplacedDevDependencies, 'allowMisplacedDevDependencies entry "{name}" has no effect and can be removed.'));
|
|
34
|
+
return hints.sort();
|
|
35
|
+
}
|
|
36
|
+
function getUnusedRuleHints(_ruleName, values, activeItems, template) {
|
|
37
|
+
if (!values || values.length === 0) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
return values
|
|
41
|
+
.filter((value) => !activeItems.has(value))
|
|
42
|
+
.map((value) => template.replace("{name}", value));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=configHints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configHints.js","sourceRoot":"","sources":["../src/configHints.ts"],"names":[],"mappings":"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"}
|
package/dist/fileFinder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileFinder.d.ts","sourceRoot":"","sources":["../src/fileFinder.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"fileFinder.d.ts","sourceRoot":"","sources":["../src/fileFinder.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUxE"}
|
package/dist/fileFinder.js
CHANGED
|
@@ -4,11 +4,24 @@ const DEFAULT_PATTERNS = ["**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}"];
|
|
|
4
4
|
const DEFAULT_IGNORES = ["**/node_modules/**", "**/dist/**", "**/.git/**"];
|
|
5
5
|
export async function findSourceFiles(rootDir) {
|
|
6
6
|
const cwd = path.resolve(rootDir);
|
|
7
|
+
const nestedPackageIgnores = await findNestedPackageIgnores(cwd);
|
|
7
8
|
return fg(DEFAULT_PATTERNS, {
|
|
8
9
|
cwd,
|
|
9
10
|
absolute: true,
|
|
10
11
|
onlyFiles: true,
|
|
12
|
+
ignore: [...DEFAULT_IGNORES, ...nestedPackageIgnores],
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async function findNestedPackageIgnores(rootDir) {
|
|
16
|
+
const packageJsonPaths = await fg("**/package.json", {
|
|
17
|
+
cwd: rootDir,
|
|
18
|
+
onlyFiles: true,
|
|
11
19
|
ignore: DEFAULT_IGNORES,
|
|
12
20
|
});
|
|
21
|
+
return packageJsonPaths
|
|
22
|
+
.map((packageJsonPath) => path.dirname(packageJsonPath).split(path.sep).join("/"))
|
|
23
|
+
.filter((dir) => dir !== ".")
|
|
24
|
+
.map((dir) => `${dir}/**`)
|
|
25
|
+
.sort();
|
|
13
26
|
}
|
|
14
27
|
//# sourceMappingURL=fileFinder.js.map
|
package/dist/fileFinder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileFinder.js","sourceRoot":"","sources":["../src/fileFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,gBAAgB,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAClE,MAAM,eAAe,GAAG,CAAC,oBAAoB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fileFinder.js","sourceRoot":"","sources":["../src/fileFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,gBAAgB,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAClE,MAAM,eAAe,GAAG,CAAC,oBAAoB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAE3E,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAEjE,OAAO,EAAE,CAAC,gBAAgB,EAAE;QAC1B,GAAG;QACH,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,CAAC,GAAG,eAAe,EAAE,GAAG,oBAAoB,CAAC;KACtD,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,OAAe;IACrD,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,iBAAiB,EAAE;QACnD,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,eAAe;KACxB,CAAC,CAAC;IAEH,OAAO,gBAAgB;SACpB,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;SAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC;SACzB,IAAI,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { performance as nodePerformance } from "node:perf_hooks";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import pc from "picocolors";
|
|
4
5
|
import { Command } from "commander";
|
|
5
6
|
import { generateAiSummary } from "./aiClient.js";
|
|
6
7
|
import { resolveAiConfig, SUPPORTED_AI_PROVIDERS } from "./aiConfig.js";
|
|
8
|
+
import { getConfigurationHints } from "./configHints.js";
|
|
7
9
|
import { loadSadrazamConfig } from "./config.js";
|
|
8
10
|
import { getActiveFindings } from "./findings.js";
|
|
9
11
|
import { renderReport, SUPPORTED_REPORTERS, } from "./reporters.js";
|
|
@@ -30,6 +32,7 @@ program
|
|
|
30
32
|
.option("--production", "scan production files only")
|
|
31
33
|
.option("--strict", "flag devDependencies used in production files")
|
|
32
34
|
.option("--debug", "print resolved debug information")
|
|
35
|
+
.option("--performance", "print performance timing information")
|
|
33
36
|
.option("--trace <package>", "trace where a package is used")
|
|
34
37
|
.option("--ignore-packages <names>", "comma-separated package names to ignore in findings")
|
|
35
38
|
.option("--allow-unused-dependencies <names>", "comma-separated dependency allowlist")
|
|
@@ -41,12 +44,14 @@ Examples:
|
|
|
41
44
|
sadrazam .
|
|
42
45
|
sadrazam . --reporter json
|
|
43
46
|
sadrazam . --trace typescript
|
|
47
|
+
sadrazam . --performance
|
|
44
48
|
sadrazam . --workspace packages/web
|
|
45
49
|
sadrazam . --production --strict
|
|
46
50
|
AI_PROVIDER=openai AI_TOKEN=... sadrazam . --ai
|
|
47
51
|
`)
|
|
48
52
|
.action(async (target, options) => {
|
|
49
53
|
try {
|
|
54
|
+
const totalStart = nodePerformance.now();
|
|
50
55
|
const targetDir = path.resolve(target);
|
|
51
56
|
const loadedConfig = await loadSadrazamConfig(targetDir);
|
|
52
57
|
const mergedOptions = mergeCliWithConfig(options, loadedConfig.config);
|
|
@@ -61,7 +66,9 @@ Examples:
|
|
|
61
66
|
const exclude = parseFindingTypes(mergedOptions.exclude);
|
|
62
67
|
const workspaceFilters = parseCsvOption(mergedOptions.workspace);
|
|
63
68
|
const rules = buildFindingRules(mergedOptions, include, exclude);
|
|
69
|
+
const discoverStart = nodePerformance.now();
|
|
64
70
|
const { rootDir, workspaces } = await discoverWorkspaces(targetDir, workspaceFilters);
|
|
71
|
+
const discoverWorkspacesMs = nodePerformance.now() - discoverStart;
|
|
65
72
|
const workspaceReports = await Promise.all(workspaces.map(async (workspace) => {
|
|
66
73
|
const result = await scanProject(workspace.dir, {
|
|
67
74
|
production: Boolean(mergedOptions.production),
|
|
@@ -76,7 +83,9 @@ Examples:
|
|
|
76
83
|
}));
|
|
77
84
|
const warnings = [];
|
|
78
85
|
let aiSummary;
|
|
86
|
+
let aiSummaryMs = 0;
|
|
79
87
|
if (aiConfig) {
|
|
88
|
+
const aiStart = nodePerformance.now();
|
|
80
89
|
try {
|
|
81
90
|
aiSummary = await generateAiSummary(aiConfig, workspaceReports);
|
|
82
91
|
}
|
|
@@ -84,16 +93,23 @@ Examples:
|
|
|
84
93
|
const message = error instanceof Error ? error.message : String(error);
|
|
85
94
|
warnings.push(`AI summary unavailable: ${message}`);
|
|
86
95
|
}
|
|
96
|
+
aiSummaryMs = nodePerformance.now() - aiStart;
|
|
87
97
|
}
|
|
98
|
+
const configurationHints = loadedConfig.source === "defaults"
|
|
99
|
+
? []
|
|
100
|
+
: getConfigurationHints(loadedConfig.config, workspaceReports);
|
|
101
|
+
const workspaceScanMs = workspaceReports.reduce((sum, workspace) => sum + workspace.result.performance.totalMs, 0);
|
|
88
102
|
const report = renderReport({
|
|
89
103
|
targetDir: rootDir,
|
|
90
104
|
reporter,
|
|
91
105
|
debug: Boolean(mergedOptions.debug),
|
|
106
|
+
performance: Boolean(mergedOptions.performance),
|
|
92
107
|
production: Boolean(mergedOptions.production),
|
|
93
108
|
strict: Boolean(mergedOptions.strict),
|
|
94
109
|
include,
|
|
95
110
|
exclude,
|
|
96
111
|
workspaces: workspaceReports,
|
|
112
|
+
configurationHints,
|
|
97
113
|
configSource: loadedConfig.source,
|
|
98
114
|
rulesSummary: {
|
|
99
115
|
ignorePackages: rules.ignorePackages,
|
|
@@ -102,6 +118,12 @@ Examples:
|
|
|
102
118
|
allowMissingPackages: rules.allowMissingPackages,
|
|
103
119
|
allowMisplacedDevDependencies: rules.allowMisplacedDevDependencies,
|
|
104
120
|
},
|
|
121
|
+
performanceSummary: {
|
|
122
|
+
discoverWorkspacesMs: roundMs(discoverWorkspacesMs),
|
|
123
|
+
workspaceScanMs: roundMs(workspaceScanMs),
|
|
124
|
+
aiSummaryMs: roundMs(aiSummaryMs),
|
|
125
|
+
totalMs: roundMs(nodePerformance.now() - totalStart),
|
|
126
|
+
},
|
|
105
127
|
...(warnings.length > 0 ? { warnings } : {}),
|
|
106
128
|
...(mergedOptions.trace ? { trace: String(mergedOptions.trace) } : {}),
|
|
107
129
|
...(aiSummary ? { aiSummary } : {}),
|
|
@@ -170,6 +192,7 @@ function mergeCliWithConfig(rawOptions, config) {
|
|
|
170
192
|
production: rawOptions.production === true ? true : config.production ?? false,
|
|
171
193
|
strict: rawOptions.strict === true ? true : config.strict ?? false,
|
|
172
194
|
debug: rawOptions.debug === true ? true : config.debug ?? false,
|
|
195
|
+
performance: rawOptions.performance === true ? true : config.performance ?? false,
|
|
173
196
|
trace: asOptionalString(rawOptions.trace) ?? config.trace,
|
|
174
197
|
ignorePackages: asOptionalString(rawOptions.ignorePackages) ?? config.ignorePackages?.join(","),
|
|
175
198
|
allowUnusedDependencies: asOptionalString(rawOptions.allowUnusedDependencies) ?? config.allowUnusedDependencies?.join(","),
|
|
@@ -182,4 +205,7 @@ function mergeCliWithConfig(rawOptions, config) {
|
|
|
182
205
|
function asOptionalString(value) {
|
|
183
206
|
return typeof value === "string" && value.trim() ? value : undefined;
|
|
184
207
|
}
|
|
208
|
+
function roundMs(value) {
|
|
209
|
+
return Number(value.toFixed(1));
|
|
210
|
+
}
|
|
185
211
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAuB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,mBAAmB,GAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,MAAM,uBAAuB,GAAkB;IAC7C,SAAS;IACT,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;CAC5B,CAAC;AAEF,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,mFAAmF,CAAC;KAChG,QAAQ,CAAC,UAAU,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAC9C,MAAM,CAAC,MAAM,EAAE,6BAA6B,CAAC;KAC7C,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;KAC1C,MAAM,CAAC,mBAAmB,EAAE,aAAa,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KAC3E,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;KAClE,MAAM,CAAC,cAAc,EAAE,4BAA4B,CAAC;KACpD,MAAM,CAAC,UAAU,EAAE,+CAA+C,CAAC;KACnE,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,CAAC;KAC5D,MAAM,CAAC,2BAA2B,EAAE,qDAAqD,CAAC;KAC1F,MAAM,CAAC,qCAAqC,EAAE,sCAAsC,CAAC;KACrF,MAAM,CAAC,yCAAyC,EAAE,yCAAyC,CAAC;KAC5F,MAAM,CAAC,kCAAkC,EAAE,2CAA2C,CAAC;KACvF,MAAM,CAAC,4CAA4C,EAAE,mDAAmD,CAAC;KACzG,WAAW,CACV,OAAO,EACP
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageReader.d.ts","sourceRoot":"","sources":["../src/packageReader.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"packageReader.d.ts","sourceRoot":"","sources":["../src/packageReader.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAWD,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAwCnF;AAED,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3E;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyB9E"}
|
package/dist/packageReader.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
1
|
+
import { access, readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
export async function readPackageMetadata(rootDir) {
|
|
4
4
|
const packagePath = await findNearestPackageJson(rootDir);
|
|
@@ -13,6 +13,18 @@ export async function readPackageMetadata(rootDir) {
|
|
|
13
13
|
...peerDependencies,
|
|
14
14
|
...optionalDependencies,
|
|
15
15
|
]);
|
|
16
|
+
const workspaceRootPath = await findWorkspaceRootPackageJson(path.dirname(packagePath));
|
|
17
|
+
if (workspaceRootPath && workspaceRootPath !== packagePath) {
|
|
18
|
+
const workspaceRootJson = (await readPackageJson(workspaceRootPath));
|
|
19
|
+
for (const packageName of [
|
|
20
|
+
...Object.keys(workspaceRootJson.dependencies ?? {}),
|
|
21
|
+
...Object.keys(workspaceRootJson.devDependencies ?? {}),
|
|
22
|
+
...Object.keys(workspaceRootJson.peerDependencies ?? {}),
|
|
23
|
+
...Object.keys(workspaceRootJson.optionalDependencies ?? {}),
|
|
24
|
+
]) {
|
|
25
|
+
allDependencies.add(packageName);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
16
28
|
return {
|
|
17
29
|
packagePath,
|
|
18
30
|
packageDir: path.dirname(packagePath),
|
|
@@ -48,4 +60,39 @@ export async function findNearestPackageJson(startDir) {
|
|
|
48
60
|
currentDir = parentDir;
|
|
49
61
|
}
|
|
50
62
|
}
|
|
63
|
+
async function findWorkspaceRootPackageJson(startDir) {
|
|
64
|
+
let currentDir = path.resolve(startDir);
|
|
65
|
+
while (true) {
|
|
66
|
+
const packagePath = path.join(currentDir, "package.json");
|
|
67
|
+
try {
|
|
68
|
+
const packageJson = (await readPackageJson(packagePath));
|
|
69
|
+
if (hasWorkspaceConfig(packageJson) || await hasPnpmWorkspaceFile(currentDir)) {
|
|
70
|
+
return packagePath;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
const typedError = error;
|
|
75
|
+
if (typedError.code !== "ENOENT") {
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const parentDir = path.dirname(currentDir);
|
|
80
|
+
if (parentDir === currentDir) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
currentDir = parentDir;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function hasWorkspaceConfig(packageJson) {
|
|
87
|
+
return Array.isArray(packageJson.workspaces) || Array.isArray(packageJson.workspaces?.packages);
|
|
88
|
+
}
|
|
89
|
+
async function hasPnpmWorkspaceFile(dir) {
|
|
90
|
+
try {
|
|
91
|
+
await access(path.join(dir, "pnpm-workspace.yaml"));
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
51
98
|
//# sourceMappingURL=packageReader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageReader.js","sourceRoot":"","sources":["../src/packageReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"packageReader.js","sourceRoot":"","sources":["../src/packageReader.ts"],"names":[],"mappings":"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"}
|
package/dist/reporters.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface RenderReportInput {
|
|
|
17
17
|
targetDir: string;
|
|
18
18
|
reporter: ReporterType;
|
|
19
19
|
debug: boolean;
|
|
20
|
+
performance: boolean;
|
|
20
21
|
production: boolean;
|
|
21
22
|
strict: boolean;
|
|
22
23
|
include: FindingType[];
|
|
@@ -25,6 +26,7 @@ export interface RenderReportInput {
|
|
|
25
26
|
trace?: string;
|
|
26
27
|
aiSummary?: string;
|
|
27
28
|
warnings?: string[];
|
|
29
|
+
configurationHints?: string[];
|
|
28
30
|
configSource?: string;
|
|
29
31
|
rulesSummary?: {
|
|
30
32
|
ignorePackages: string[];
|
|
@@ -33,6 +35,12 @@ export interface RenderReportInput {
|
|
|
33
35
|
allowMissingPackages: string[];
|
|
34
36
|
allowMisplacedDevDependencies: string[];
|
|
35
37
|
};
|
|
38
|
+
performanceSummary?: {
|
|
39
|
+
discoverWorkspacesMs: number;
|
|
40
|
+
workspaceScanMs: number;
|
|
41
|
+
aiSummaryMs: number;
|
|
42
|
+
totalMs: number;
|
|
43
|
+
};
|
|
36
44
|
ai?: {
|
|
37
45
|
provider: string;
|
|
38
46
|
model?: string;
|
package/dist/reporters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporters.d.ts","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,eAAO,MAAM,mBAAmB,2BAA4B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,qBAAqB,GACrB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QACb,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,0BAA0B,EAAE,MAAM,EAAE,CAAC;QACrC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,6BAA6B,EAAE,MAAM,EAAE,CAAC;KACzC,CAAC;IACF,EAAE,CAAC,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"reporters.d.ts","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,eAAO,MAAM,mBAAmB,2BAA4B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,qBAAqB,GACrB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QACb,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,0BAA0B,EAAE,MAAM,EAAE,CAAC;QACrC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,6BAA6B,EAAE,MAAM,EAAE,CAAC;KACzC,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAqL7D"}
|
package/dist/reporters.js
CHANGED
|
@@ -6,6 +6,7 @@ export function renderReport(input) {
|
|
|
6
6
|
targetDir: input.targetDir,
|
|
7
7
|
mode: {
|
|
8
8
|
debug: input.debug,
|
|
9
|
+
performance: input.performance,
|
|
9
10
|
production: input.production,
|
|
10
11
|
strict: input.strict,
|
|
11
12
|
include: input.include,
|
|
@@ -14,8 +15,10 @@ export function renderReport(input) {
|
|
|
14
15
|
ai: input.ai ?? null,
|
|
15
16
|
aiSummary: input.aiSummary ?? null,
|
|
16
17
|
warnings: input.warnings ?? [],
|
|
18
|
+
configurationHints: input.configurationHints ?? [],
|
|
17
19
|
configSource: input.configSource ?? null,
|
|
18
20
|
rulesSummary: input.rulesSummary ?? null,
|
|
21
|
+
performance: input.performance ? input.performanceSummary ?? null : null,
|
|
19
22
|
workspaces: input.workspaces.map(({ workspace, result, findings }) => ({
|
|
20
23
|
workspace,
|
|
21
24
|
summary: {
|
|
@@ -27,6 +30,7 @@ export function renderReport(input) {
|
|
|
27
30
|
},
|
|
28
31
|
findings,
|
|
29
32
|
externalImports: result.externalImports,
|
|
33
|
+
performance: input.performance ? result.performance : null,
|
|
30
34
|
traces: input.trace
|
|
31
35
|
? {
|
|
32
36
|
package: input.trace,
|
|
@@ -48,6 +52,23 @@ export function renderReport(input) {
|
|
|
48
52
|
lines.push(`- ${warning}`);
|
|
49
53
|
}
|
|
50
54
|
}
|
|
55
|
+
if (input.configurationHints && input.configurationHints.length > 0) {
|
|
56
|
+
lines.push("");
|
|
57
|
+
lines.push(pc.yellow("Configuration hints"));
|
|
58
|
+
for (const hint of input.configurationHints) {
|
|
59
|
+
lines.push(`- ${hint}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (input.performance && input.performanceSummary) {
|
|
63
|
+
lines.push("");
|
|
64
|
+
lines.push(pc.blue("Performance"));
|
|
65
|
+
lines.push(`Discover workspaces: ${formatMs(input.performanceSummary.discoverWorkspacesMs)}`);
|
|
66
|
+
lines.push(`Workspace scans: ${formatMs(input.performanceSummary.workspaceScanMs)}`);
|
|
67
|
+
if (input.ai) {
|
|
68
|
+
lines.push(`AI summary: ${formatMs(input.performanceSummary.aiSummaryMs)}`);
|
|
69
|
+
}
|
|
70
|
+
lines.push(`Total: ${formatMs(input.performanceSummary.totalMs)}`);
|
|
71
|
+
}
|
|
51
72
|
if (input.ai) {
|
|
52
73
|
lines.push("");
|
|
53
74
|
lines.push(pc.magenta("AI mode"));
|
|
@@ -72,6 +93,9 @@ export function renderReport(input) {
|
|
|
72
93
|
if (result.scriptCommandPackages.length > 0) {
|
|
73
94
|
lines.push(`Script packages: ${result.scriptCommandPackages.join(", ")}`);
|
|
74
95
|
}
|
|
96
|
+
if (input.performance) {
|
|
97
|
+
lines.push(`Scan time: ${formatMs(result.performance.totalMs)}`);
|
|
98
|
+
}
|
|
75
99
|
if (findingCount === 0) {
|
|
76
100
|
lines.push(pc.green("No dependency issues found."));
|
|
77
101
|
}
|
|
@@ -108,6 +132,7 @@ export function renderReport(input) {
|
|
|
108
132
|
lines.push(pc.dim(`Include: ${input.include.join(", ") || "-"}`));
|
|
109
133
|
lines.push(pc.dim(`Exclude: ${input.exclude.join(", ") || "-"}`));
|
|
110
134
|
lines.push(pc.dim(`Trace: ${input.trace ?? "-"}`));
|
|
135
|
+
lines.push(pc.dim(`Performance: ${input.performance ? "enabled" : "disabled"}`));
|
|
111
136
|
if (input.rulesSummary) {
|
|
112
137
|
lines.push(pc.dim(`Ignore packages: ${input.rulesSummary.ignorePackages.join(", ") || "-"}`));
|
|
113
138
|
lines.push(pc.dim(`Allow unused dependencies: ${input.rulesSummary.allowUnusedDependencies.join(", ") || "-"}`));
|
|
@@ -122,6 +147,7 @@ function describeMode(input) {
|
|
|
122
147
|
const enabled = [
|
|
123
148
|
input.production ? "production" : null,
|
|
124
149
|
input.strict ? "strict" : null,
|
|
150
|
+
input.performance ? "performance" : null,
|
|
125
151
|
input.debug ? "debug" : null,
|
|
126
152
|
].filter(Boolean);
|
|
127
153
|
return enabled.join(", ") || "default";
|
|
@@ -135,4 +161,7 @@ function colorizeFindingTitle(type, title) {
|
|
|
135
161
|
}
|
|
136
162
|
return pc.yellow(title);
|
|
137
163
|
}
|
|
164
|
+
function formatMs(value) {
|
|
165
|
+
return `${value.toFixed(1)}ms`;
|
|
166
|
+
}
|
|
138
167
|
//# sourceMappingURL=reporters.js.map
|
package/dist/reporters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporters.js","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"reporters.js","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAK5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AAuD7D,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;YACD,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;YAC9B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,EAAE;YAClD,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;YACxC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;YACxC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;YACxE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrE,SAAS;gBACT,OAAO,EAAE;oBACP,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBACjC,oBAAoB,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;oBACnD,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1E,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;iBAC1C;gBACD,QAAQ;gBACR,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;gBAC1D,MAAM,EAAE,KAAK,CAAC,KAAK;oBACjB,CAAC,CAAC;wBACE,OAAO,EAAE,KAAK,CAAC,KAAK;wBACpB,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;qBACjD;oBACH,CAAC,CAAC,IAAI;aACT,CAAC,CAAC;SACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAE9D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAE7C,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAE7D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9F,KAAK,CAAC,IAAI,CACR,EAAE,CAAC,GAAG,CACJ,8BAA8B,KAAK,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAC7F,CACF,CAAC;YACF,KAAK,CAAC,IAAI,CACR,EAAE,CAAC,GAAG,CACJ,iCAAiC,KAAK,CAAC,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CACnG,CACF,CAAC;YACF,KAAK,CAAC,IAAI,CACR,EAAE,CAAC,GAAG,CACJ,2BAA2B,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CACvF,CACF,CAAC;YACF,KAAK,CAAC,IAAI,CACR,EAAE,CAAC,GAAG,CACJ,oCAAoC,KAAK,CAAC,YAAY,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CACzG,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,OAAO,GAAG;QACd,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QACtC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC9B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;KAC7B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;AACzC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAiB,EAAE,KAAa;IAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC"}
|
package/dist/scan.d.ts
CHANGED
|
@@ -4,6 +4,14 @@ export interface FileScanResult {
|
|
|
4
4
|
imports: string[];
|
|
5
5
|
isProduction: boolean;
|
|
6
6
|
}
|
|
7
|
+
export interface ScanPerformance {
|
|
8
|
+
discoverInputsMs: number;
|
|
9
|
+
scriptParseMs: number;
|
|
10
|
+
mapFilesMs: number;
|
|
11
|
+
readFilesMs: number;
|
|
12
|
+
analysisMs: number;
|
|
13
|
+
totalMs: number;
|
|
14
|
+
}
|
|
7
15
|
export interface ScanResult {
|
|
8
16
|
rootDir: string;
|
|
9
17
|
packagePath: string;
|
|
@@ -16,6 +24,7 @@ export interface ScanResult {
|
|
|
16
24
|
unusedDependencies: string[];
|
|
17
25
|
unusedDevDependencies: string[];
|
|
18
26
|
misplacedDevDependencies: string[];
|
|
27
|
+
performance: ScanPerformance;
|
|
19
28
|
}
|
|
20
29
|
export interface ScanOptions {
|
|
21
30
|
production?: boolean;
|
package/dist/scan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CA6FjG"}
|
package/dist/scan.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { builtinModules } from "node:module";
|
|
3
|
+
import { performance as nodePerformance } from "node:perf_hooks";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import { findSourceFiles } from "./fileFinder.js";
|
|
5
6
|
import { parseImports } from "./importParser.js";
|
|
@@ -7,18 +8,26 @@ import { readPackageMetadata } from "./packageReader.js";
|
|
|
7
8
|
import { parsePackageScripts } from "./scriptParser.js";
|
|
8
9
|
import { mapToSourcePath } from "./sourceMapper.js";
|
|
9
10
|
export async function scanProject(rootDir, options = {}) {
|
|
11
|
+
const totalStart = nodePerformance.now();
|
|
10
12
|
const absoluteRoot = path.resolve(rootDir);
|
|
13
|
+
const discoverInputsStart = nodePerformance.now();
|
|
11
14
|
const [files, packageMetadata] = await Promise.all([
|
|
12
15
|
findSourceFiles(absoluteRoot),
|
|
13
16
|
readPackageMetadata(absoluteRoot),
|
|
14
17
|
]);
|
|
18
|
+
const discoverInputsMs = nodePerformance.now() - discoverInputsStart;
|
|
19
|
+
const scriptParseStart = nodePerformance.now();
|
|
15
20
|
const scriptAnalysis = await parsePackageScripts(packageMetadata.packageDir, packageMetadata.scripts);
|
|
21
|
+
const scriptParseMs = nodePerformance.now() - scriptParseStart;
|
|
16
22
|
const allFiles = mergeFiles(files, scriptAnalysis.fileEntries);
|
|
17
23
|
const selectedFiles = options.production || options.strict
|
|
18
24
|
? allFiles.filter((filePath) => isProductionFilePath(absoluteRoot, filePath))
|
|
19
25
|
: allFiles;
|
|
26
|
+
const mapFilesStart = nodePerformance.now();
|
|
20
27
|
const mappedFiles = await Promise.all(selectedFiles.map((filePath) => mapToSourcePath(absoluteRoot, filePath)));
|
|
28
|
+
const mapFilesMs = nodePerformance.now() - mapFilesStart;
|
|
21
29
|
const dedupedFiles = mergeFiles([], mappedFiles);
|
|
30
|
+
const readFilesStart = nodePerformance.now();
|
|
22
31
|
const fileResults = await Promise.all(dedupedFiles.map(async (filePath) => {
|
|
23
32
|
const source = await readFile(filePath, "utf8");
|
|
24
33
|
const imports = parseImports(source).map((entry) => entry.specifier);
|
|
@@ -30,39 +39,58 @@ export async function scanProject(rootDir, options = {}) {
|
|
|
30
39
|
isProduction: isProductionFilePath(absoluteRoot, filePath),
|
|
31
40
|
};
|
|
32
41
|
}));
|
|
42
|
+
const readFilesMs = nodePerformance.now() - readFilesStart;
|
|
43
|
+
const analysisStart = nodePerformance.now();
|
|
33
44
|
const externalImports = collectExternalImports(fileResults, scriptAnalysis.commandPackages);
|
|
34
45
|
const packageTraces = collectPackageTraces(fileResults, scriptAnalysis.commandUsage);
|
|
35
|
-
const missingPackages = externalImports.filter((name) => !
|
|
36
|
-
const
|
|
37
|
-
const
|
|
46
|
+
const missingPackages = externalImports.filter((name) => !packageMetadata.allDependencies.has(name));
|
|
47
|
+
const effectivelyUsedPackages = getEffectivelyUsedPackages(externalImports, fileResults, packageMetadata.devDependencies);
|
|
48
|
+
const unusedDependencies = getUnusedDeclaredPackages(packageMetadata.dependencies, effectivelyUsedPackages);
|
|
49
|
+
const unusedDevDependencies = getUnusedDeclaredPackages(packageMetadata.devDependencies, effectivelyUsedPackages);
|
|
38
50
|
const misplacedDevDependencies = options.strict
|
|
39
51
|
? getMisplacedDevDependencies(fileResults, packageMetadata.devDependencies)
|
|
40
52
|
: [];
|
|
53
|
+
const scriptEntryFiles = await mapScriptEntryFiles(absoluteRoot, scriptAnalysis.fileEntries);
|
|
54
|
+
const analysisMs = nodePerformance.now() - analysisStart;
|
|
41
55
|
return {
|
|
42
56
|
rootDir: absoluteRoot,
|
|
43
57
|
packagePath: packageMetadata.packagePath,
|
|
44
58
|
files: fileResults,
|
|
45
59
|
externalImports,
|
|
46
60
|
scriptCommandPackages: scriptAnalysis.commandPackages,
|
|
47
|
-
scriptEntryFiles
|
|
61
|
+
scriptEntryFiles,
|
|
48
62
|
packageTraces,
|
|
49
63
|
missingPackages,
|
|
50
64
|
unusedDependencies,
|
|
51
65
|
unusedDevDependencies,
|
|
52
66
|
misplacedDevDependencies,
|
|
67
|
+
performance: {
|
|
68
|
+
discoverInputsMs: roundMs(discoverInputsMs),
|
|
69
|
+
scriptParseMs: roundMs(scriptParseMs),
|
|
70
|
+
mapFilesMs: roundMs(mapFilesMs),
|
|
71
|
+
readFilesMs: roundMs(readFilesMs),
|
|
72
|
+
analysisMs: roundMs(analysisMs),
|
|
73
|
+
totalMs: roundMs(nodePerformance.now() - totalStart),
|
|
74
|
+
},
|
|
53
75
|
};
|
|
54
76
|
}
|
|
55
77
|
function collectExternalImports(files, scriptPackages) {
|
|
56
78
|
const packages = new Set();
|
|
57
79
|
for (const file of files) {
|
|
58
80
|
for (const specifier of file.imports) {
|
|
59
|
-
if (isExternalSpecifier(specifier)) {
|
|
60
|
-
|
|
81
|
+
if (!isExternalSpecifier(specifier)) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const packageName = getPackageName(specifier);
|
|
85
|
+
if (!isBuiltinPackage(packageName)) {
|
|
86
|
+
packages.add(packageName);
|
|
61
87
|
}
|
|
62
88
|
}
|
|
63
89
|
}
|
|
64
90
|
for (const packageName of scriptPackages) {
|
|
65
|
-
|
|
91
|
+
if (!isBuiltinPackage(packageName)) {
|
|
92
|
+
packages.add(packageName);
|
|
93
|
+
}
|
|
66
94
|
}
|
|
67
95
|
return [...packages].sort();
|
|
68
96
|
}
|
|
@@ -74,12 +102,18 @@ function collectPackageTraces(files, scriptUsage) {
|
|
|
74
102
|
continue;
|
|
75
103
|
}
|
|
76
104
|
const packageName = getPackageName(specifier);
|
|
105
|
+
if (isBuiltinPackage(packageName)) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
77
108
|
const entries = traces.get(packageName) ?? new Set();
|
|
78
109
|
entries.add(file.relativePath);
|
|
79
110
|
traces.set(packageName, entries);
|
|
80
111
|
}
|
|
81
112
|
}
|
|
82
113
|
for (const [packageName, entries] of Object.entries(scriptUsage)) {
|
|
114
|
+
if (isBuiltinPackage(packageName)) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
83
117
|
const currentEntries = traces.get(packageName) ?? new Set();
|
|
84
118
|
for (const entry of entries) {
|
|
85
119
|
currentEntries.add(entry);
|
|
@@ -114,6 +148,23 @@ async function mapScriptEntryFiles(rootDir, fileEntries) {
|
|
|
114
148
|
}));
|
|
115
149
|
return [...new Set(mappedEntries)].sort();
|
|
116
150
|
}
|
|
151
|
+
function getEffectivelyUsedPackages(externalImports, files, devDependencies) {
|
|
152
|
+
const usedPackages = new Set(externalImports);
|
|
153
|
+
if (shouldTreatNodeTypesAsUsed(files, devDependencies)) {
|
|
154
|
+
usedPackages.add("@types/node");
|
|
155
|
+
}
|
|
156
|
+
return [...usedPackages].sort();
|
|
157
|
+
}
|
|
158
|
+
function shouldTreatNodeTypesAsUsed(files, devDependencies) {
|
|
159
|
+
if (!devDependencies.has("@types/node")) {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
return files.some((file) => isTypeScriptFile(file.filePath)
|
|
163
|
+
&& file.imports.some((specifier) => isBuiltinPackage(getPackageName(specifier))));
|
|
164
|
+
}
|
|
165
|
+
function isTypeScriptFile(filePath) {
|
|
166
|
+
return /\.(ts|tsx|cts|mts)$/i.test(filePath);
|
|
167
|
+
}
|
|
117
168
|
function getUnusedDeclaredPackages(declaredPackages, usedPackages) {
|
|
118
169
|
const usedSet = new Set(usedPackages);
|
|
119
170
|
return [...declaredPackages]
|
|
@@ -131,7 +182,7 @@ function getMisplacedDevDependencies(files, devDependencies) {
|
|
|
131
182
|
continue;
|
|
132
183
|
}
|
|
133
184
|
const packageName = getPackageName(specifier);
|
|
134
|
-
if (devDependencies.has(packageName)) {
|
|
185
|
+
if (!isBuiltinPackage(packageName) && devDependencies.has(packageName)) {
|
|
135
186
|
misplaced.add(packageName);
|
|
136
187
|
}
|
|
137
188
|
}
|
|
@@ -149,4 +200,7 @@ function isProductionFilePath(rootDir, filePath) {
|
|
|
149
200
|
/\.spec\.[^.]+$/i.test(normalizedPath) ||
|
|
150
201
|
/\.stories\.[^.]+$/i.test(normalizedPath));
|
|
151
202
|
}
|
|
203
|
+
function roundMs(value) {
|
|
204
|
+
return Number(value.toFixed(1));
|
|
205
|
+
}
|
|
152
206
|
//# sourceMappingURL=scan.js.map
|
package/dist/scan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scriptParser.d.ts","sourceRoot":"","sources":["../src/scriptParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scriptParser.d.ts","sourceRoot":"","sources":["../src/scriptParser.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACxC;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,aAAa,CAAC,CAyCxB"}
|
package/dist/scriptParser.js
CHANGED
|
@@ -14,6 +14,10 @@ const BUILTIN_SCRIPT_COMMANDS = new Set([
|
|
|
14
14
|
"bash",
|
|
15
15
|
]);
|
|
16
16
|
const COMMAND_PACKAGE_ALIASES = {
|
|
17
|
+
biome: "@biomejs/biome",
|
|
18
|
+
attw: "@arethetypeswrong/cli",
|
|
19
|
+
changeset: "@changesets/cli",
|
|
20
|
+
markdownlint: "markdownlint-cli",
|
|
17
21
|
tsc: "typescript",
|
|
18
22
|
};
|
|
19
23
|
export async function parsePackageScripts(packageDir, scripts) {
|
package/dist/scriptParser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scriptParser.js","sourceRoot":"","sources":["../src/scriptParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scriptParser.js","sourceRoot":"","sources":["../src/scriptParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceFinder.d.ts","sourceRoot":"","sources":["../src/workspaceFinder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspaceFinder.d.ts","sourceRoot":"","sources":["../src/workspaceFinder.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,CAsB7D"}
|
package/dist/workspaceFinder.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
1
2
|
import fg from "fast-glob";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { findNearestPackageJson, readPackageJson } from "./packageReader.js";
|
|
@@ -5,7 +6,7 @@ export async function discoverWorkspaces(startDir, filters) {
|
|
|
5
6
|
const rootPackagePath = await findNearestPackageJson(startDir);
|
|
6
7
|
const rootDir = path.dirname(rootPackagePath);
|
|
7
8
|
const rootPackage = (await readPackageJson(rootPackagePath));
|
|
8
|
-
const workspacePatterns = normalizeWorkspacePatterns(rootPackage.workspaces);
|
|
9
|
+
const workspacePatterns = await normalizeWorkspacePatterns(rootDir, rootPackage.workspaces);
|
|
9
10
|
const workspaces = workspacePatterns.length > 0
|
|
10
11
|
? await findDeclaredWorkspaces(rootDir, workspacePatterns)
|
|
11
12
|
: [createWorkspaceTarget(rootDir, rootPackagePath, rootPackage.name)];
|
|
@@ -33,14 +34,50 @@ async function findDeclaredWorkspaces(rootDir, patterns) {
|
|
|
33
34
|
}));
|
|
34
35
|
return workspaceTargets.sort((left, right) => left.relativeDir.localeCompare(right.relativeDir));
|
|
35
36
|
}
|
|
36
|
-
function normalizeWorkspacePatterns(workspaces) {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
async function normalizeWorkspacePatterns(rootDir, workspaces) {
|
|
38
|
+
const packageJsonPatterns = Array.isArray(workspaces)
|
|
39
|
+
? workspaces
|
|
40
|
+
: workspaces?.packages ?? [];
|
|
41
|
+
const pnpmPatterns = await readPnpmWorkspacePatterns(rootDir);
|
|
42
|
+
return [...new Set([...packageJsonPatterns, ...pnpmPatterns])];
|
|
43
|
+
}
|
|
44
|
+
async function readPnpmWorkspacePatterns(rootDir) {
|
|
45
|
+
const workspacePath = path.join(rootDir, "pnpm-workspace.yaml");
|
|
46
|
+
try {
|
|
47
|
+
const source = await readFile(workspacePath, "utf8");
|
|
48
|
+
const lines = source.split(/\r?\n/);
|
|
49
|
+
const patterns = [];
|
|
50
|
+
let inPackagesSection = false;
|
|
51
|
+
for (const line of lines) {
|
|
52
|
+
const trimmed = line.trim();
|
|
53
|
+
if (!trimmed || trimmed.startsWith("#")) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (!inPackagesSection) {
|
|
57
|
+
if (trimmed === "packages:") {
|
|
58
|
+
inPackagesSection = true;
|
|
59
|
+
}
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (/^[A-Za-z0-9_-]+:\s*$/.test(trimmed) && !trimmed.startsWith("-")) {
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
const match = trimmed.match(/^\-\s*(.+)$/);
|
|
66
|
+
const workspacePattern = match?.[1];
|
|
67
|
+
if (!workspacePattern) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
patterns.push(workspacePattern.trim().replace(/^['"]|['"]$/g, ""));
|
|
71
|
+
}
|
|
72
|
+
return patterns;
|
|
39
73
|
}
|
|
40
|
-
|
|
41
|
-
|
|
74
|
+
catch (error) {
|
|
75
|
+
const typedError = error;
|
|
76
|
+
if (typedError.code === "ENOENT") {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
throw error;
|
|
42
80
|
}
|
|
43
|
-
return [];
|
|
44
81
|
}
|
|
45
82
|
function normalizeWorkspacePattern(pattern) {
|
|
46
83
|
return pattern.endsWith("/package.json") ? pattern : `${pattern.replace(/\/$/, "")}/package.json`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceFinder.js","sourceRoot":"","sources":["../src/workspaceFinder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAkB7E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,OAAiB;IAEjB,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,CAAC,eAAe,CAAC,CAAyB,CAAC;IACrF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workspaceFinder.js","sourceRoot":"","sources":["../src/workspaceFinder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sadrazam",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-beta.2",
|
|
4
4
|
"description": "Dependency analysis CLI for JavaScript and TypeScript projects with optional AI-powered insights.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -18,7 +18,10 @@
|
|
|
18
18
|
"scan": "tsx src/index.ts .",
|
|
19
19
|
"smoke": "npm run build && node scripts/smoke.mjs",
|
|
20
20
|
"test": "npm run build && vitest run",
|
|
21
|
-
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
21
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
22
|
+
"docs:dev": "vitepress dev docs",
|
|
23
|
+
"docs:build": "vitepress build docs",
|
|
24
|
+
"docs:preview": "vitepress preview docs"
|
|
22
25
|
},
|
|
23
26
|
"keywords": [
|
|
24
27
|
"dependency-analysis",
|
|
@@ -48,6 +51,7 @@
|
|
|
48
51
|
"@types/node": "^25.5.0",
|
|
49
52
|
"tsx": "^4.21.0",
|
|
50
53
|
"typescript": "^5.9.3",
|
|
54
|
+
"vitepress": "^1.6.4",
|
|
51
55
|
"vitest": "^4.1.0"
|
|
52
56
|
}
|
|
53
57
|
}
|