@lexmanh/shed-cli 0.2.0-beta.7 → 0.2.0-beta.8
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/dist/cli.js +7 -58
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -8,18 +8,10 @@ import { Command } from "commander";
|
|
|
8
8
|
import { resolve } from "path";
|
|
9
9
|
import * as p from "@clack/prompts";
|
|
10
10
|
import {
|
|
11
|
-
AndroidDetector,
|
|
12
|
-
CocoaPodsDetector,
|
|
13
|
-
DockerDetector,
|
|
14
|
-
FlutterDetector,
|
|
15
|
-
IdeDetector,
|
|
16
|
-
NodeDetector,
|
|
17
|
-
PythonDetector,
|
|
18
11
|
RiskTier,
|
|
19
|
-
RustDetector,
|
|
20
12
|
SafetyChecker,
|
|
21
13
|
Scanner,
|
|
22
|
-
|
|
14
|
+
defaultDetectors
|
|
23
15
|
} from "@lexmanh/shed-core";
|
|
24
16
|
import pc from "picocolors";
|
|
25
17
|
|
|
@@ -61,17 +53,7 @@ async function cleanCommand(path = ".", options = {}) {
|
|
|
61
53
|
const spinner3 = p.spinner();
|
|
62
54
|
verbose(`clean root: ${rootDir}, dryRun=${isDryRun}, hardDelete=${options.hardDelete ?? false}`);
|
|
63
55
|
spinner3.start(`Scanning ${rootDir} \u2026`);
|
|
64
|
-
const scanner = new Scanner(
|
|
65
|
-
new NodeDetector(),
|
|
66
|
-
new PythonDetector(),
|
|
67
|
-
new RustDetector(),
|
|
68
|
-
new DockerDetector(),
|
|
69
|
-
new XcodeDetector(),
|
|
70
|
-
new FlutterDetector(),
|
|
71
|
-
new AndroidDetector(),
|
|
72
|
-
new CocoaPodsDetector(),
|
|
73
|
-
new IdeDetector()
|
|
74
|
-
]);
|
|
56
|
+
const scanner = new Scanner(defaultDetectors());
|
|
75
57
|
const ctx = { scanRoot: rootDir, maxDepth: 8 };
|
|
76
58
|
const [projects, globalItems] = await Promise.all([
|
|
77
59
|
scanner.scan(rootDir),
|
|
@@ -139,10 +121,11 @@ async function cleanCommand(path = ".", options = {}) {
|
|
|
139
121
|
label: `${pc.yellow("Yellow only")} ${pc.dim(`${yellowItems.length} items \xB7 ${formatBytes(yellowBytes)}`)}`
|
|
140
122
|
}
|
|
141
123
|
] : [],
|
|
142
|
-
{ value: "custom", label: "Custom (pick individual items)" }
|
|
124
|
+
{ value: "custom", label: "Custom (pick individual items)" },
|
|
125
|
+
{ value: "cancel", label: pc.dim("Cancel (do nothing, exit)") }
|
|
143
126
|
]
|
|
144
127
|
});
|
|
145
|
-
if (p.isCancel(preset)) {
|
|
128
|
+
if (p.isCancel(preset) || preset === "cancel") {
|
|
146
129
|
p.cancel("Cleanup cancelled.");
|
|
147
130
|
return;
|
|
148
131
|
}
|
|
@@ -516,25 +499,9 @@ import { hostname } from "os";
|
|
|
516
499
|
import { resolve as resolve2 } from "path";
|
|
517
500
|
import * as p4 from "@clack/prompts";
|
|
518
501
|
import {
|
|
519
|
-
AndroidDetector as AndroidDetector2,
|
|
520
|
-
CocoaPodsDetector as CocoaPodsDetector2,
|
|
521
|
-
DatabaseDetector,
|
|
522
|
-
DockerDetector as DockerDetector2,
|
|
523
|
-
DotnetDetector,
|
|
524
|
-
FlutterDetector as FlutterDetector2,
|
|
525
|
-
GoDetector,
|
|
526
|
-
IdeDetector as IdeDetector2,
|
|
527
|
-
JavaGradleDetector,
|
|
528
|
-
JavaMavenDetector,
|
|
529
|
-
NodeDetector as NodeDetector2,
|
|
530
|
-
PythonDetector as PythonDetector2,
|
|
531
502
|
RiskTier as RiskTier2,
|
|
532
|
-
RubyDetector,
|
|
533
|
-
RustDetector as RustDetector2,
|
|
534
503
|
Scanner as Scanner2,
|
|
535
|
-
|
|
536
|
-
WebserverDetector,
|
|
537
|
-
XcodeDetector as XcodeDetector2
|
|
504
|
+
defaultDetectors as defaultDetectors2
|
|
538
505
|
} from "@lexmanh/shed-core";
|
|
539
506
|
import pc4 from "picocolors";
|
|
540
507
|
|
|
@@ -639,25 +606,7 @@ async function scanCommand(path = ".", options = {}) {
|
|
|
639
606
|
verbose(`scan root: ${rootDir}`);
|
|
640
607
|
spinner3?.start(`Scanning ${rootDir} \u2026`);
|
|
641
608
|
const scanStartedAt = Date.now();
|
|
642
|
-
const scanner = new Scanner2(
|
|
643
|
-
new NodeDetector2(),
|
|
644
|
-
new PythonDetector2(),
|
|
645
|
-
new RustDetector2(),
|
|
646
|
-
new GoDetector(),
|
|
647
|
-
new JavaMavenDetector(),
|
|
648
|
-
new JavaGradleDetector(),
|
|
649
|
-
new RubyDetector(),
|
|
650
|
-
new DotnetDetector(),
|
|
651
|
-
new DockerDetector2(),
|
|
652
|
-
new XcodeDetector2(),
|
|
653
|
-
new FlutterDetector2(),
|
|
654
|
-
new AndroidDetector2(),
|
|
655
|
-
new CocoaPodsDetector2(),
|
|
656
|
-
new IdeDetector2(),
|
|
657
|
-
new SystemDetector(),
|
|
658
|
-
new WebserverDetector(),
|
|
659
|
-
new DatabaseDetector()
|
|
660
|
-
]);
|
|
609
|
+
const scanner = new Scanner2(defaultDetectors2());
|
|
661
610
|
const ctx = { scanRoot: rootDir, maxDepth: 8 };
|
|
662
611
|
const [projects, globalItems] = await Promise.all([
|
|
663
612
|
scanner.scan(rootDir),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lexmanh/shed-cli",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.8",
|
|
4
4
|
"description": "Safe disk cleanup CLI for dev machines and Linux servers — git-aware, cross-stack, trash-by-default",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"conf": "^13.1.0",
|
|
24
24
|
"execa": "^9.5.0",
|
|
25
25
|
"picocolors": "^1.1.1",
|
|
26
|
-
"@lexmanh/shed-core": "0.2.0-beta.
|
|
26
|
+
"@lexmanh/shed-core": "0.2.0-beta.8"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/node": "^22.10.0",
|