squeaky-clean 0.1.8 → 0.1.11
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/package.json +23 -25
- package/dist/cleaners/BaseCleaner.d.ts +0 -57
- package/dist/cleaners/BaseCleaner.d.ts.map +0 -1
- package/dist/cleaners/BaseCleaner.js +0 -299
- package/dist/cleaners/BaseCleaner.js.map +0 -1
- package/dist/cleaners/CleanerRegistry.d.ts +0 -65
- package/dist/cleaners/CleanerRegistry.d.ts.map +0 -1
- package/dist/cleaners/CleanerRegistry.js +0 -112
- package/dist/cleaners/CleanerRegistry.js.map +0 -1
- package/dist/cleaners/androidstudio.d.ts +0 -16
- package/dist/cleaners/androidstudio.d.ts.map +0 -1
- package/dist/cleaners/androidstudio.js +0 -375
- package/dist/cleaners/androidstudio.js.map +0 -1
- package/dist/cleaners/brew.d.ts +0 -4
- package/dist/cleaners/brew.d.ts.map +0 -1
- package/dist/cleaners/brew.js +0 -197
- package/dist/cleaners/brew.js.map +0 -1
- package/dist/cleaners/brewEnhanced.d.ts +0 -18
- package/dist/cleaners/brewEnhanced.d.ts.map +0 -1
- package/dist/cleaners/brewEnhanced.js +0 -255
- package/dist/cleaners/brewEnhanced.js.map +0 -1
- package/dist/cleaners/bun.d.ts +0 -14
- package/dist/cleaners/bun.d.ts.map +0 -1
- package/dist/cleaners/bun.js +0 -207
- package/dist/cleaners/bun.js.map +0 -1
- package/dist/cleaners/cargo.d.ts +0 -15
- package/dist/cleaners/cargo.d.ts.map +0 -1
- package/dist/cleaners/cargo.js +0 -193
- package/dist/cleaners/cargo.js.map +0 -1
- package/dist/cleaners/chrome.d.ts +0 -14
- package/dist/cleaners/chrome.d.ts.map +0 -1
- package/dist/cleaners/chrome.js +0 -250
- package/dist/cleaners/chrome.js.map +0 -1
- package/dist/cleaners/cocoapods.d.ts +0 -16
- package/dist/cleaners/cocoapods.d.ts.map +0 -1
- package/dist/cleaners/cocoapods.js +0 -180
- package/dist/cleaners/cocoapods.js.map +0 -1
- package/dist/cleaners/cursor.d.ts +0 -15
- package/dist/cleaners/cursor.d.ts.map +0 -1
- package/dist/cleaners/cursor.js +0 -377
- package/dist/cleaners/cursor.js.map +0 -1
- package/dist/cleaners/docker.d.ts +0 -35
- package/dist/cleaners/docker.d.ts.map +0 -1
- package/dist/cleaners/docker.js +0 -285
- package/dist/cleaners/docker.js.map +0 -1
- package/dist/cleaners/firefox.d.ts +0 -15
- package/dist/cleaners/firefox.d.ts.map +0 -1
- package/dist/cleaners/firefox.js +0 -281
- package/dist/cleaners/firefox.js.map +0 -1
- package/dist/cleaners/flutter.d.ts +0 -18
- package/dist/cleaners/flutter.d.ts.map +0 -1
- package/dist/cleaners/flutter.js +0 -354
- package/dist/cleaners/flutter.js.map +0 -1
- package/dist/cleaners/goBuild.d.ts +0 -18
- package/dist/cleaners/goBuild.d.ts.map +0 -1
- package/dist/cleaners/goBuild.js +0 -196
- package/dist/cleaners/goBuild.js.map +0 -1
- package/dist/cleaners/gradle.d.ts +0 -14
- package/dist/cleaners/gradle.d.ts.map +0 -1
- package/dist/cleaners/gradle.js +0 -336
- package/dist/cleaners/gradle.js.map +0 -1
- package/dist/cleaners/index.d.ts +0 -51
- package/dist/cleaners/index.d.ts.map +0 -1
- package/dist/cleaners/index.js +0 -271
- package/dist/cleaners/index.js.map +0 -1
- package/dist/cleaners/jetbrains.d.ts +0 -18
- package/dist/cleaners/jetbrains.d.ts.map +0 -1
- package/dist/cleaners/jetbrains.js +0 -441
- package/dist/cleaners/jetbrains.js.map +0 -1
- package/dist/cleaners/maven.d.ts +0 -15
- package/dist/cleaners/maven.d.ts.map +0 -1
- package/dist/cleaners/maven.js +0 -182
- package/dist/cleaners/maven.js.map +0 -1
- package/dist/cleaners/nix.d.ts +0 -4
- package/dist/cleaners/nix.d.ts.map +0 -1
- package/dist/cleaners/nix.js +0 -227
- package/dist/cleaners/nix.js.map +0 -1
- package/dist/cleaners/nodeGyp.d.ts +0 -14
- package/dist/cleaners/nodeGyp.d.ts.map +0 -1
- package/dist/cleaners/nodeGyp.js +0 -157
- package/dist/cleaners/nodeGyp.js.map +0 -1
- package/dist/cleaners/npm.d.ts +0 -14
- package/dist/cleaners/npm.d.ts.map +0 -1
- package/dist/cleaners/npm.js +0 -198
- package/dist/cleaners/npm.js.map +0 -1
- package/dist/cleaners/npmEnhanced.d.ts +0 -19
- package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
- package/dist/cleaners/npmEnhanced.js +0 -336
- package/dist/cleaners/npmEnhanced.js.map +0 -1
- package/dist/cleaners/nuget.d.ts +0 -16
- package/dist/cleaners/nuget.d.ts.map +0 -1
- package/dist/cleaners/nuget.js +0 -197
- package/dist/cleaners/nuget.js.map +0 -1
- package/dist/cleaners/nx.d.ts +0 -18
- package/dist/cleaners/nx.d.ts.map +0 -1
- package/dist/cleaners/nx.js +0 -308
- package/dist/cleaners/nx.js.map +0 -1
- package/dist/cleaners/pip.d.ts +0 -19
- package/dist/cleaners/pip.d.ts.map +0 -1
- package/dist/cleaners/pip.js +0 -334
- package/dist/cleaners/pip.js.map +0 -1
- package/dist/cleaners/pipenv.d.ts +0 -16
- package/dist/cleaners/pipenv.d.ts.map +0 -1
- package/dist/cleaners/pipenv.js +0 -184
- package/dist/cleaners/pipenv.js.map +0 -1
- package/dist/cleaners/playwright.d.ts +0 -15
- package/dist/cleaners/playwright.d.ts.map +0 -1
- package/dist/cleaners/playwright.js +0 -221
- package/dist/cleaners/playwright.js.map +0 -1
- package/dist/cleaners/pnpm.d.ts +0 -14
- package/dist/cleaners/pnpm.d.ts.map +0 -1
- package/dist/cleaners/pnpm.js +0 -209
- package/dist/cleaners/pnpm.js.map +0 -1
- package/dist/cleaners/poetry.d.ts +0 -16
- package/dist/cleaners/poetry.d.ts.map +0 -1
- package/dist/cleaners/poetry.js +0 -184
- package/dist/cleaners/poetry.js.map +0 -1
- package/dist/cleaners/swiftpm.d.ts +0 -16
- package/dist/cleaners/swiftpm.d.ts.map +0 -1
- package/dist/cleaners/swiftpm.js +0 -179
- package/dist/cleaners/swiftpm.js.map +0 -1
- package/dist/cleaners/turbo.d.ts +0 -18
- package/dist/cleaners/turbo.d.ts.map +0 -1
- package/dist/cleaners/turbo.js +0 -325
- package/dist/cleaners/turbo.js.map +0 -1
- package/dist/cleaners/universalBinary.d.ts +0 -20
- package/dist/cleaners/universalBinary.d.ts.map +0 -1
- package/dist/cleaners/universalBinary.js +0 -318
- package/dist/cleaners/universalBinary.js.map +0 -1
- package/dist/cleaners/vite.d.ts +0 -17
- package/dist/cleaners/vite.d.ts.map +0 -1
- package/dist/cleaners/vite.js +0 -274
- package/dist/cleaners/vite.js.map +0 -1
- package/dist/cleaners/vscode.d.ts +0 -15
- package/dist/cleaners/vscode.d.ts.map +0 -1
- package/dist/cleaners/vscode.js +0 -411
- package/dist/cleaners/vscode.js.map +0 -1
- package/dist/cleaners/webpack.d.ts +0 -17
- package/dist/cleaners/webpack.d.ts.map +0 -1
- package/dist/cleaners/webpack.js +0 -263
- package/dist/cleaners/webpack.js.map +0 -1
- package/dist/cleaners/windsurf.d.ts +0 -15
- package/dist/cleaners/windsurf.d.ts.map +0 -1
- package/dist/cleaners/windsurf.js +0 -366
- package/dist/cleaners/windsurf.js.map +0 -1
- package/dist/cleaners/xcode.d.ts +0 -14
- package/dist/cleaners/xcode.d.ts.map +0 -1
- package/dist/cleaners/xcode.js +0 -348
- package/dist/cleaners/xcode.js.map +0 -1
- package/dist/cleaners/yarn.d.ts +0 -16
- package/dist/cleaners/yarn.d.ts.map +0 -1
- package/dist/cleaners/yarn.js +0 -266
- package/dist/cleaners/yarn.js.map +0 -1
- package/dist/cleaners/zed.d.ts +0 -15
- package/dist/cleaners/zed.d.ts.map +0 -1
- package/dist/cleaners/zed.js +0 -383
- package/dist/cleaners/zed.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -367
- package/dist/cli.js.map +0 -1
- package/dist/commands/auto.d.ts +0 -8
- package/dist/commands/auto.d.ts.map +0 -1
- package/dist/commands/auto.js +0 -251
- package/dist/commands/auto.js.map +0 -1
- package/dist/commands/categories.d.ts +0 -8
- package/dist/commands/categories.d.ts.map +0 -1
- package/dist/commands/categories.js +0 -133
- package/dist/commands/categories.js.map +0 -1
- package/dist/commands/clean.d.ts +0 -3
- package/dist/commands/clean.d.ts.map +0 -1
- package/dist/commands/clean.js +0 -149
- package/dist/commands/clean.js.map +0 -1
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -460
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/configDoctor.d.ts +0 -26
- package/dist/commands/configDoctor.d.ts.map +0 -1
- package/dist/commands/configDoctor.js +0 -60
- package/dist/commands/configDoctor.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -2
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -141
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/emojis.d.ts +0 -2
- package/dist/commands/emojis.d.ts.map +0 -1
- package/dist/commands/emojis.js +0 -28
- package/dist/commands/emojis.js.map +0 -1
- package/dist/commands/interactive.d.ts +0 -3
- package/dist/commands/interactive.d.ts.map +0 -1
- package/dist/commands/interactive.js +0 -284
- package/dist/commands/interactive.js.map +0 -1
- package/dist/commands/interactiveEnhanced.d.ts +0 -4
- package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
- package/dist/commands/interactiveEnhanced.js +0 -460
- package/dist/commands/interactiveEnhanced.js.map +0 -1
- package/dist/commands/list.d.ts +0 -2
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -68
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/sizes.d.ts +0 -2
- package/dist/commands/sizes.d.ts.map +0 -1
- package/dist/commands/sizes.js +0 -87
- package/dist/commands/sizes.js.map +0 -1
- package/dist/commands/ub.d.ts +0 -10
- package/dist/commands/ub.d.ts.map +0 -1
- package/dist/commands/ub.js +0 -170
- package/dist/commands/ub.js.map +0 -1
- package/dist/config/index.d.ts +0 -31
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -270
- package/dist/config/index.js.map +0 -1
- package/dist/config/loadConfig.d.ts +0 -7
- package/dist/config/loadConfig.d.ts.map +0 -1
- package/dist/config/loadConfig.js +0 -103
- package/dist/config/loadConfig.js.map +0 -1
- package/dist/config/migrateConfig.d.ts +0 -56
- package/dist/config/migrateConfig.d.ts.map +0 -1
- package/dist/config/migrateConfig.js +0 -102
- package/dist/config/migrateConfig.js.map +0 -1
- package/dist/plugins/discovery.d.ts +0 -6
- package/dist/plugins/discovery.d.ts.map +0 -1
- package/dist/plugins/discovery.js +0 -64
- package/dist/plugins/discovery.js.map +0 -1
- package/dist/profiles/index.d.ts +0 -61
- package/dist/profiles/index.d.ts.map +0 -1
- package/dist/profiles/index.js +0 -406
- package/dist/profiles/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -176
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/utils/cli.d.ts +0 -46
- package/dist/utils/cli.d.ts.map +0 -1
- package/dist/utils/cli.js +0 -412
- package/dist/utils/cli.js.map +0 -1
- package/dist/utils/fs.d.ts +0 -15
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/fs.js +0 -218
- package/dist/utils/fs.js.map +0 -1
package/dist/cleaners/docker.js
DELETED
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DockerCleaner = void 0;
|
|
7
|
-
const execa_1 = __importDefault(require("execa"));
|
|
8
|
-
const cli_1 = require("../utils/cli");
|
|
9
|
-
const minimatch_1 = require("minimatch");
|
|
10
|
-
class DockerCleaner {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.name = "docker";
|
|
13
|
-
this.type = "system";
|
|
14
|
-
this.description = "Docker images, containers, volumes, networks, and build cache";
|
|
15
|
-
}
|
|
16
|
-
async isAvailable() {
|
|
17
|
-
try {
|
|
18
|
-
(0, cli_1.printVerbose)("Checking if Docker is installed and running...");
|
|
19
|
-
const result = await (0, execa_1.default)("docker", ["version", "--format", "{{.Server.Version}}"], { timeout: 10000 });
|
|
20
|
-
if (result.exitCode === 0 && result.stdout) {
|
|
21
|
-
(0, cli_1.printVerbose)(`Found Docker server version: ${result.stdout.trim()}`);
|
|
22
|
-
return true;
|
|
23
|
-
}
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
// Docker might be installed but not running
|
|
28
|
-
try {
|
|
29
|
-
await (0, execa_1.default)("docker", ["--version"], { timeout: 5000 });
|
|
30
|
-
(0, cli_1.printVerbose)("Docker is installed but server might not be running");
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
catch {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async getDockerSystemInfo() {
|
|
39
|
-
const info = {
|
|
40
|
-
images: { count: 0, size: 0 },
|
|
41
|
-
containers: { count: 0, size: 0 },
|
|
42
|
-
volumes: { count: 0, size: 0 },
|
|
43
|
-
buildCache: { count: 0, size: 0 },
|
|
44
|
-
networks: { count: 0 },
|
|
45
|
-
};
|
|
46
|
-
try {
|
|
47
|
-
// Get system df info (most comprehensive)
|
|
48
|
-
const systemDf = await (0, execa_1.default)("docker", [
|
|
49
|
-
"system",
|
|
50
|
-
"df",
|
|
51
|
-
"--format",
|
|
52
|
-
"table {{.Type}}\\t{{.TotalCount}}\\t{{.Size}}\\t{{.Reclaimable}}",
|
|
53
|
-
], { timeout: 30000 });
|
|
54
|
-
const lines = systemDf.stdout.split("\n").slice(1); // Skip header
|
|
55
|
-
for (const line of lines) {
|
|
56
|
-
if (!line.trim())
|
|
57
|
-
continue;
|
|
58
|
-
const parts = line.split("\t").map((s) => s.trim());
|
|
59
|
-
if (parts.length >= 4) {
|
|
60
|
-
const [type, totalCount, size, reclaimable] = parts;
|
|
61
|
-
const count = parseInt(totalCount) || 0;
|
|
62
|
-
const sizeBytes = this.parseDockerSize(size);
|
|
63
|
-
const reclaimableBytes = this.parseDockerSize(reclaimable);
|
|
64
|
-
switch (type.toLowerCase()) {
|
|
65
|
-
case "images":
|
|
66
|
-
info.images = { count, size: reclaimableBytes || sizeBytes };
|
|
67
|
-
break;
|
|
68
|
-
case "containers":
|
|
69
|
-
info.containers = { count, size: reclaimableBytes || sizeBytes };
|
|
70
|
-
break;
|
|
71
|
-
case "local volumes":
|
|
72
|
-
info.volumes = { count, size: reclaimableBytes || sizeBytes };
|
|
73
|
-
break;
|
|
74
|
-
case "build cache":
|
|
75
|
-
info.buildCache = { count, size: reclaimableBytes || sizeBytes };
|
|
76
|
-
break;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// Get networks count separately
|
|
81
|
-
const networks = await (0, execa_1.default)("docker", ["network", "ls", "--filter", "type=custom", "--format", "{{.ID}}"], { timeout: 10000 });
|
|
82
|
-
info.networks.count = networks.stdout
|
|
83
|
-
.split("\n")
|
|
84
|
-
.filter((line) => line.trim()).length;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
(0, cli_1.printVerbose)(`Error getting Docker system info: ${error}`);
|
|
88
|
-
}
|
|
89
|
-
return info;
|
|
90
|
-
}
|
|
91
|
-
parseDockerSize(sizeStr) {
|
|
92
|
-
if (!sizeStr || sizeStr === "0B" || sizeStr === "--")
|
|
93
|
-
return 0;
|
|
94
|
-
const units = {
|
|
95
|
-
B: 1,
|
|
96
|
-
KB: 1024,
|
|
97
|
-
MB: 1024 * 1024,
|
|
98
|
-
GB: 1024 * 1024 * 1024,
|
|
99
|
-
TB: 1024 * 1024 * 1024 * 1024,
|
|
100
|
-
};
|
|
101
|
-
const match = sizeStr.match(/^([\d.]+)\s*([A-Z]{1,2})$/);
|
|
102
|
-
if (match) {
|
|
103
|
-
const [, value, unit] = match;
|
|
104
|
-
const multiplier = units[unit] || 1;
|
|
105
|
-
return parseFloat(value) * multiplier;
|
|
106
|
-
}
|
|
107
|
-
return 0;
|
|
108
|
-
}
|
|
109
|
-
async getCacheInfo() {
|
|
110
|
-
const isInstalled = await this.isAvailable();
|
|
111
|
-
if (!isInstalled) {
|
|
112
|
-
return {
|
|
113
|
-
name: this.name,
|
|
114
|
-
type: this.type,
|
|
115
|
-
description: this.description,
|
|
116
|
-
paths: [],
|
|
117
|
-
isInstalled: false,
|
|
118
|
-
size: 0,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
try {
|
|
122
|
-
const systemInfo = await this.getDockerSystemInfo();
|
|
123
|
-
const totalSize = systemInfo.images.size +
|
|
124
|
-
systemInfo.containers.size +
|
|
125
|
-
systemInfo.volumes.size +
|
|
126
|
-
systemInfo.buildCache.size;
|
|
127
|
-
const totalItems = systemInfo.images.count +
|
|
128
|
-
systemInfo.containers.count +
|
|
129
|
-
systemInfo.volumes.count +
|
|
130
|
-
systemInfo.buildCache.count +
|
|
131
|
-
systemInfo.networks.count;
|
|
132
|
-
(0, cli_1.printVerbose)("=== Docker System Summary ===");
|
|
133
|
-
(0, cli_1.printVerbose)(`Images: ${systemInfo.images.count} (${(systemInfo.images.size / (1024 * 1024)).toFixed(1)} MB)`);
|
|
134
|
-
(0, cli_1.printVerbose)(`Containers: ${systemInfo.containers.count} (${(systemInfo.containers.size / (1024 * 1024)).toFixed(1)} MB)`);
|
|
135
|
-
(0, cli_1.printVerbose)(`Volumes: ${systemInfo.volumes.count} (${(systemInfo.volumes.size / (1024 * 1024)).toFixed(1)} MB)`);
|
|
136
|
-
(0, cli_1.printVerbose)(`Build Cache: ${systemInfo.buildCache.count} (${(systemInfo.buildCache.size / (1024 * 1024)).toFixed(1)} MB)`);
|
|
137
|
-
(0, cli_1.printVerbose)(`Networks: ${systemInfo.networks.count}`);
|
|
138
|
-
(0, cli_1.printVerbose)(`Total reclaimable: ${(totalSize / (1024 * 1024)).toFixed(1)} MB`);
|
|
139
|
-
return {
|
|
140
|
-
name: this.name,
|
|
141
|
-
type: this.type,
|
|
142
|
-
description: this.description,
|
|
143
|
-
paths: [`Docker System (${totalItems} items)`], // Conceptual path for display
|
|
144
|
-
isInstalled,
|
|
145
|
-
size: totalSize,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
(0, cli_1.printVerbose)(`Error getting Docker cache info: ${error}`);
|
|
150
|
-
return {
|
|
151
|
-
name: this.name,
|
|
152
|
-
type: this.type,
|
|
153
|
-
description: this.description,
|
|
154
|
-
paths: [],
|
|
155
|
-
isInstalled,
|
|
156
|
-
size: 0,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
|
|
161
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
162
|
-
const sizeBefore = info.size || 0;
|
|
163
|
-
let success = true;
|
|
164
|
-
let error;
|
|
165
|
-
const clearedItems = [];
|
|
166
|
-
if (!info.isInstalled) {
|
|
167
|
-
return {
|
|
168
|
-
name: this.name,
|
|
169
|
-
success: false,
|
|
170
|
-
error: "Docker is not installed or running",
|
|
171
|
-
clearedPaths: [],
|
|
172
|
-
sizeBefore: 0,
|
|
173
|
-
sizeAfter: 0,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
if (sizeBefore === 0) {
|
|
177
|
-
(0, cli_1.printVerbose)("No Docker items to clean");
|
|
178
|
-
return {
|
|
179
|
-
name: this.name,
|
|
180
|
-
success: true,
|
|
181
|
-
clearedPaths: [],
|
|
182
|
-
sizeBefore: 0,
|
|
183
|
-
sizeAfter: 0,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
// Check if Docker system is protected
|
|
187
|
-
const isDockerSystemProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)("Docker System", protectedPattern, { dot: true }) || // Check against conceptual name
|
|
188
|
-
(0, minimatch_1.minimatch)("/var/lib/docker", protectedPattern, { dot: true }) || // Common Docker root
|
|
189
|
-
(0, minimatch_1.minimatch)("/var/lib/docker/*", protectedPattern, { dot: true }));
|
|
190
|
-
if (isDockerSystemProtected) {
|
|
191
|
-
(0, cli_1.printVerbose)(`Skipping protected Docker system cleanup.`);
|
|
192
|
-
return {
|
|
193
|
-
name: this.name,
|
|
194
|
-
success: true,
|
|
195
|
-
clearedPaths: [],
|
|
196
|
-
sizeBefore,
|
|
197
|
-
sizeAfter: sizeBefore, // No change
|
|
198
|
-
error: "Docker system is protected",
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
try {
|
|
202
|
-
if (dryRun) {
|
|
203
|
-
(0, cli_1.printVerbose)("[DRY RUN] Would clean Docker system with the following:");
|
|
204
|
-
(0, cli_1.printVerbose)(" • docker system prune -af --volumes");
|
|
205
|
-
(0, cli_1.printVerbose)(" • docker builder prune -af");
|
|
206
|
-
(0, cli_1.printVerbose)(" This would remove:");
|
|
207
|
-
(0, cli_1.printVerbose)(" - All stopped containers");
|
|
208
|
-
(0, cli_1.printVerbose)(" - All networks not used by at least one container");
|
|
209
|
-
(0, cli_1.printVerbose)(" - All images without at least one container associated to them");
|
|
210
|
-
(0, cli_1.printVerbose)(" - All build cache");
|
|
211
|
-
(0, cli_1.printVerbose)(" - All anonymous volumes not used by at least one container");
|
|
212
|
-
return {
|
|
213
|
-
name: this.name,
|
|
214
|
-
success: true,
|
|
215
|
-
sizeBefore,
|
|
216
|
-
sizeAfter: sizeBefore, // No change in dry run
|
|
217
|
-
clearedPaths: ["Docker system (dry run)"],
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
(0, cli_1.printVerbose)("Running Docker system cleanup...");
|
|
221
|
-
// Clean up system: containers, networks, images, and volumes
|
|
222
|
-
try {
|
|
223
|
-
(0, cli_1.printVerbose)("Running: docker system prune -af --volumes");
|
|
224
|
-
const systemPrune = await (0, execa_1.default)("docker", [
|
|
225
|
-
"system",
|
|
226
|
-
"prune",
|
|
227
|
-
"-af",
|
|
228
|
-
"--volumes",
|
|
229
|
-
]);
|
|
230
|
-
if (systemPrune.stdout) {
|
|
231
|
-
(0, cli_1.printVerbose)(`System prune output: ${systemPrune.stdout}`);
|
|
232
|
-
}
|
|
233
|
-
clearedItems.push("System resources (containers, networks, images, volumes)");
|
|
234
|
-
}
|
|
235
|
-
catch (systemError) {
|
|
236
|
-
(0, cli_1.printVerbose)(`System prune failed: ${systemError}`);
|
|
237
|
-
error = `System prune failed: ${systemError}`;
|
|
238
|
-
success = false;
|
|
239
|
-
}
|
|
240
|
-
// Clean up build cache separately for thoroughness
|
|
241
|
-
try {
|
|
242
|
-
(0, cli_1.printVerbose)("Running: docker builder prune -af");
|
|
243
|
-
const builderPrune = await (0, execa_1.default)("docker", ["builder", "prune", "-af"]);
|
|
244
|
-
if (builderPrune.stdout) {
|
|
245
|
-
(0, cli_1.printVerbose)(`Builder prune output: ${builderPrune.stdout}`);
|
|
246
|
-
}
|
|
247
|
-
clearedItems.push("Build cache");
|
|
248
|
-
}
|
|
249
|
-
catch (builderError) {
|
|
250
|
-
(0, cli_1.printVerbose)(`Builder prune failed: ${builderError}`);
|
|
251
|
-
if (!error) {
|
|
252
|
-
error = `Builder prune failed: ${builderError}`;
|
|
253
|
-
}
|
|
254
|
-
success = false;
|
|
255
|
-
}
|
|
256
|
-
if (sizeBefore > 0) {
|
|
257
|
-
(0, cli_1.printVerbose)(`Freed space from Docker data`);
|
|
258
|
-
}
|
|
259
|
-
return {
|
|
260
|
-
name: this.name,
|
|
261
|
-
success,
|
|
262
|
-
sizeBefore,
|
|
263
|
-
sizeAfter: 0, // Set to 0 as we don't want to rescan
|
|
264
|
-
error,
|
|
265
|
-
clearedPaths: clearedItems,
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
catch (clearError) {
|
|
269
|
-
return {
|
|
270
|
-
name: this.name,
|
|
271
|
-
success: false,
|
|
272
|
-
sizeBefore,
|
|
273
|
-
sizeAfter: sizeBefore,
|
|
274
|
-
error: clearError instanceof Error ? clearError.message : String(clearError),
|
|
275
|
-
clearedPaths: [],
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
static create() {
|
|
280
|
-
return new DockerCleaner();
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
exports.DockerCleaner = DockerCleaner;
|
|
284
|
-
exports.default = DockerCleaner.create();
|
|
285
|
-
//# sourceMappingURL=docker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/cleaners/docker.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAO1B,sCAA4C;AAC5C,yCAAsC;AAEtC,MAAa,aAAa;IAA1B;QACE,SAAI,GAAG,QAAQ,CAAC;QAChB,SAAI,GAAG,QAAiB,CAAC;QACzB,gBAAW,GAAG,+DAA+D,CAAC;IA8UhF,CAAC;IA5UC,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,IAAA,kBAAY,EAAC,gDAAgD,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,eAAK,EACxB,QAAQ,EACR,CAAC,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAC9C,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;YACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC3C,IAAA,kBAAY,EAAC,gCAAgC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,IAAA,kBAAY,EAAC,qDAAqD,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB;QAOvB,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YAC7B,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YACjC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YAC9B,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;YACjC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SACvB,CAAC;QAEF,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAC1B,QAAQ,EACR;gBACE,QAAQ;gBACR,IAAI;gBACJ,UAAU;gBACV,kEAAkE;aACnE,EACD,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;YAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC;oBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;oBAE3D,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC3B,KAAK,QAAQ;4BACX,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC;4BAC7D,MAAM;wBACR,KAAK,YAAY;4BACf,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC;4BACjE,MAAM;wBACR,KAAK,eAAe;4BAClB,IAAI,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC;4BAC9D,MAAM;wBACR,KAAK,aAAa;4BAChB,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC;4BACjE,MAAM;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAC1B,QAAQ,EACR,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,EACnE,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM;iBAClC,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,kBAAY,EAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QAE/D,MAAM,KAAK,GAA2B;YACpC,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,IAAI;YACR,EAAE,EAAE,IAAI,GAAG,IAAI;YACf,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;YACtB,EAAE,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;SAC9B,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEpD,MAAM,SAAS,GACb,UAAU,CAAC,MAAM,CAAC,IAAI;gBACtB,UAAU,CAAC,UAAU,CAAC,IAAI;gBAC1B,UAAU,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAE7B,MAAM,UAAU,GACd,UAAU,CAAC,MAAM,CAAC,KAAK;gBACvB,UAAU,CAAC,UAAU,CAAC,KAAK;gBAC3B,UAAU,CAAC,OAAO,CAAC,KAAK;gBACxB,UAAU,CAAC,UAAU,CAAC,KAAK;gBAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAE5B,IAAA,kBAAY,EAAC,+BAA+B,CAAC,CAAC;YAC9C,IAAA,kBAAY,EACV,WAAW,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACjG,CAAC;YACF,IAAA,kBAAY,EACV,eAAe,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC7G,CAAC;YACF,IAAA,kBAAY,EACV,YAAY,UAAU,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CACpG,CAAC;YACF,IAAA,kBAAY,EACV,gBAAgB,UAAU,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC9G,CAAC;YACF,IAAA,kBAAY,EAAC,aAAa,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,IAAA,kBAAY,EACV,sBAAsB,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAClE,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,CAAC,kBAAkB,UAAU,SAAS,CAAC,EAAE,8BAA8B;gBAC9E,WAAW;gBACX,IAAI,EAAE,SAAS;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,kBAAY,EAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;YAC1D,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,EAAE;gBACT,WAAW;gBACX,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CACT,MAAM,GAAG,KAAK,EACd,SAAkC,EAClC,SAAqB,EACrB,iBAA2B,EAAE;QAE7B,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,KAAyB,CAAC;QAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,oCAAoC;gBAC3C,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,CAAC;aACb,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,IAAA,kBAAY,EAAC,0BAA0B,CAAC,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,CAAC;aACb,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,MAAM,uBAAuB,GAAG,cAAc,CAAC,IAAI,CACjD,CAAC,gBAAgB,EAAE,EAAE,CACnB,IAAA,qBAAS,EAAC,eAAe,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,gCAAgC;YAC/F,IAAA,qBAAS,EAAC,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,qBAAqB;YACtF,IAAA,qBAAS,EAAC,mBAAmB,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAClE,CAAC;QAEF,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAA,kBAAY,EAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,EAAE;gBAChB,UAAU;gBACV,SAAS,EAAE,UAAU,EAAE,YAAY;gBACnC,KAAK,EAAE,4BAA4B;aACpC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,IAAA,kBAAY,EAAC,yDAAyD,CAAC,CAAC;gBACxE,IAAA,kBAAY,EAAC,uCAAuC,CAAC,CAAC;gBACtD,IAAA,kBAAY,EAAC,8BAA8B,CAAC,CAAC;gBAC7C,IAAA,kBAAY,EAAC,sBAAsB,CAAC,CAAC;gBACrC,IAAA,kBAAY,EAAC,8BAA8B,CAAC,CAAC;gBAC7C,IAAA,kBAAY,EAAC,uDAAuD,CAAC,CAAC;gBACtE,IAAA,kBAAY,EACV,oEAAoE,CACrE,CAAC;gBACF,IAAA,kBAAY,EAAC,uBAAuB,CAAC,CAAC;gBACtC,IAAA,kBAAY,EACV,gEAAgE,CACjE,CAAC;gBAEF,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI;oBACb,UAAU;oBACV,SAAS,EAAE,UAAU,EAAE,uBAAuB;oBAC9C,YAAY,EAAE,CAAC,yBAAyB,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAED,IAAA,kBAAY,EAAC,kCAAkC,CAAC,CAAC;YAEjD,6DAA6D;YAC7D,IAAI,CAAC;gBACH,IAAA,kBAAY,EAAC,4CAA4C,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE;oBACxC,QAAQ;oBACR,OAAO;oBACP,KAAK;oBACL,WAAW;iBACZ,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACvB,IAAA,kBAAY,EAAC,wBAAwB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,YAAY,CAAC,IAAI,CACf,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,IAAA,kBAAY,EAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;gBACpD,KAAK,GAAG,wBAAwB,WAAW,EAAE,CAAC;gBAC9C,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,mDAAmD;YACnD,IAAI,CAAC;gBACH,IAAA,kBAAY,EAAC,mCAAmC,CAAC,CAAC;gBAClD,MAAM,YAAY,GAAG,MAAM,IAAA,eAAK,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxE,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,IAAA,kBAAY,EAAC,yBAAyB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,IAAA,kBAAY,EAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,yBAAyB,YAAY,EAAE,CAAC;gBAClD,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAA,kBAAY,EAAC,8BAA8B,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO;gBACP,UAAU;gBACV,SAAS,EAAE,CAAC,EAAE,sCAAsC;gBACpD,KAAK;gBACL,YAAY,EAAE,YAAY;aAC3B,CAAC;QACJ,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,KAAK;gBACd,UAAU;gBACV,SAAS,EAAE,UAAU;gBACrB,KAAK,EACH,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;gBACvE,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,aAAa,EAAE,CAAC;IAC7B,CAAC;CACF;AAjVD,sCAiVC;AAED,kBAAe,aAAa,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
|
|
2
|
-
declare class FirefoxCleaner implements CleanerModule {
|
|
3
|
-
name: string;
|
|
4
|
-
type: "browser";
|
|
5
|
-
description: string;
|
|
6
|
-
private findFirefoxInstallation;
|
|
7
|
-
private getFirefoxCachePaths;
|
|
8
|
-
private findFirefoxProfileCaches;
|
|
9
|
-
isAvailable(): Promise<boolean>;
|
|
10
|
-
getCacheInfo(): Promise<CacheInfo>;
|
|
11
|
-
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
12
|
-
}
|
|
13
|
-
declare const _default: FirefoxCleaner;
|
|
14
|
-
export default _default;
|
|
15
|
-
//# sourceMappingURL=firefox.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../src/cleaners/firefox.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAQlB,cAAM,cAAe,YAAW,aAAa;IAC3C,IAAI,SAAa;IACjB,IAAI,EAAG,SAAS,CAAU;IAC1B,WAAW,SAAgE;YAE7D,uBAAuB;YAqDvB,oBAAoB;YAmDpB,wBAAwB;IAiDhC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAyClC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;CA2DxB;;AAED,wBAAoC"}
|
package/dist/cleaners/firefox.js
DELETED
|
@@ -1,281 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const fs_1 = require("fs");
|
|
37
|
-
const path = __importStar(require("path"));
|
|
38
|
-
const os = __importStar(require("os"));
|
|
39
|
-
const fs_2 = require("../utils/fs");
|
|
40
|
-
const cli_1 = require("../utils/cli");
|
|
41
|
-
const minimatch_1 = require("minimatch");
|
|
42
|
-
class FirefoxCleaner {
|
|
43
|
-
constructor() {
|
|
44
|
-
this.name = "firefox";
|
|
45
|
-
this.type = "browser";
|
|
46
|
-
this.description = "Firefox cache, temporary files, and developer profile data";
|
|
47
|
-
}
|
|
48
|
-
async findFirefoxInstallation() {
|
|
49
|
-
const platform = os.platform();
|
|
50
|
-
if (platform === "darwin") {
|
|
51
|
-
// macOS
|
|
52
|
-
const macPaths = [
|
|
53
|
-
"/Applications/Firefox.app",
|
|
54
|
-
"/Applications/Firefox Developer Edition.app",
|
|
55
|
-
];
|
|
56
|
-
for (const firefoxPath of macPaths) {
|
|
57
|
-
if (await (0, fs_2.pathExists)(firefoxPath)) {
|
|
58
|
-
return firefoxPath;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else if (platform === "win32") {
|
|
63
|
-
// Windows
|
|
64
|
-
const windowsPaths = [
|
|
65
|
-
"C:\\Program Files\\Mozilla Firefox\\firefox.exe",
|
|
66
|
-
"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe",
|
|
67
|
-
path.join(os.homedir(), "AppData", "Local", "Mozilla Firefox", "firefox.exe"),
|
|
68
|
-
];
|
|
69
|
-
for (const firefoxPath of windowsPaths) {
|
|
70
|
-
if (await (0, fs_2.pathExists)(firefoxPath)) {
|
|
71
|
-
return firefoxPath;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// Linux
|
|
77
|
-
const linuxPaths = [
|
|
78
|
-
"/usr/bin/firefox",
|
|
79
|
-
"/usr/local/bin/firefox",
|
|
80
|
-
"/snap/bin/firefox",
|
|
81
|
-
"/opt/firefox/firefox",
|
|
82
|
-
];
|
|
83
|
-
for (const firefoxPath of linuxPaths) {
|
|
84
|
-
if (await (0, fs_2.pathExists)(firefoxPath)) {
|
|
85
|
-
return firefoxPath;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
async getFirefoxCachePaths() {
|
|
92
|
-
const paths = [];
|
|
93
|
-
const homeDir = os.homedir();
|
|
94
|
-
const platform = os.platform();
|
|
95
|
-
// Platform-specific Firefox cache paths
|
|
96
|
-
if (platform === "darwin") {
|
|
97
|
-
// macOS Firefox paths
|
|
98
|
-
const macBasePaths = [
|
|
99
|
-
path.join(homeDir, "Library", "Caches", "Firefox"),
|
|
100
|
-
path.join(homeDir, "Library", "Application Support", "Firefox"),
|
|
101
|
-
];
|
|
102
|
-
for (const basePath of macBasePaths) {
|
|
103
|
-
if (await (0, fs_2.pathExists)(basePath)) {
|
|
104
|
-
// Look for profile directories
|
|
105
|
-
const profilePaths = await this.findFirefoxProfileCaches(basePath);
|
|
106
|
-
paths.push(...profilePaths);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else if (platform === "win32") {
|
|
111
|
-
// Windows Firefox paths
|
|
112
|
-
const windowsBasePaths = [
|
|
113
|
-
path.join(homeDir, "AppData", "Local", "Mozilla", "Firefox"),
|
|
114
|
-
path.join(homeDir, "AppData", "Roaming", "Mozilla", "Firefox"),
|
|
115
|
-
];
|
|
116
|
-
for (const basePath of windowsBasePaths) {
|
|
117
|
-
if (await (0, fs_2.pathExists)(basePath)) {
|
|
118
|
-
const profilePaths = await this.findFirefoxProfileCaches(basePath);
|
|
119
|
-
paths.push(...profilePaths);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
// Linux Firefox paths
|
|
125
|
-
const linuxBasePaths = [
|
|
126
|
-
path.join(homeDir, ".cache", "mozilla", "firefox"),
|
|
127
|
-
path.join(homeDir, ".mozilla", "firefox"),
|
|
128
|
-
];
|
|
129
|
-
for (const basePath of linuxBasePaths) {
|
|
130
|
-
if (await (0, fs_2.pathExists)(basePath)) {
|
|
131
|
-
const profilePaths = await this.findFirefoxProfileCaches(basePath);
|
|
132
|
-
paths.push(...profilePaths);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return [...new Set(paths)]; // Remove duplicates
|
|
137
|
-
}
|
|
138
|
-
async findFirefoxProfileCaches(basePath) {
|
|
139
|
-
const cachePaths = [];
|
|
140
|
-
try {
|
|
141
|
-
const entries = await fs_1.promises.readdir(basePath, { withFileTypes: true });
|
|
142
|
-
for (const entry of entries) {
|
|
143
|
-
if (entry.isDirectory()) {
|
|
144
|
-
const profilePath = path.join(basePath, entry.name);
|
|
145
|
-
// Common Firefox cache subdirectories
|
|
146
|
-
const cacheSubdirs = [
|
|
147
|
-
"cache2",
|
|
148
|
-
"OfflineCache",
|
|
149
|
-
"startupCache",
|
|
150
|
-
"thumbnails",
|
|
151
|
-
"safebrowsing",
|
|
152
|
-
"shader-cache",
|
|
153
|
-
"crashes",
|
|
154
|
-
"minidumps",
|
|
155
|
-
"saved-telemetry-pings",
|
|
156
|
-
"datareporting",
|
|
157
|
-
];
|
|
158
|
-
for (const subdir of cacheSubdirs) {
|
|
159
|
-
const subdirPath = path.join(profilePath, subdir);
|
|
160
|
-
if (await (0, fs_2.pathExists)(subdirPath)) {
|
|
161
|
-
cachePaths.push(subdirPath);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
// Also check for specific profile directories (they usually have random names)
|
|
165
|
-
if (entry.name.includes(".") && entry.name !== "Profiles") {
|
|
166
|
-
const profileCachePath = path.join(profilePath, "cache");
|
|
167
|
-
if (await (0, fs_2.pathExists)(profileCachePath)) {
|
|
168
|
-
cachePaths.push(profileCachePath);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
(0, cli_1.printVerbose)(`Error reading Firefox profile directory ${basePath}: ${error}`);
|
|
176
|
-
}
|
|
177
|
-
return cachePaths;
|
|
178
|
-
}
|
|
179
|
-
async isAvailable() {
|
|
180
|
-
// Check if Firefox is installed
|
|
181
|
-
const firefoxInstallation = await this.findFirefoxInstallation();
|
|
182
|
-
if (firefoxInstallation) {
|
|
183
|
-
(0, cli_1.printVerbose)(`Found Firefox at ${firefoxInstallation}`);
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
// Check if Firefox cache directories exist
|
|
187
|
-
const cachePaths = await this.getFirefoxCachePaths();
|
|
188
|
-
if (cachePaths.length > 0) {
|
|
189
|
-
(0, cli_1.printVerbose)(`Found ${cachePaths.length} Firefox cache directories`);
|
|
190
|
-
return true;
|
|
191
|
-
}
|
|
192
|
-
return false;
|
|
193
|
-
}
|
|
194
|
-
async getCacheInfo() {
|
|
195
|
-
const isInstalled = await this.isAvailable();
|
|
196
|
-
if (!isInstalled) {
|
|
197
|
-
return {
|
|
198
|
-
name: this.name,
|
|
199
|
-
type: this.type,
|
|
200
|
-
description: this.description,
|
|
201
|
-
paths: [],
|
|
202
|
-
isInstalled: false,
|
|
203
|
-
size: 0,
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
const cachePaths = await this.getFirefoxCachePaths();
|
|
207
|
-
let totalSize = 0;
|
|
208
|
-
const validPaths = [];
|
|
209
|
-
for (const cachePath of cachePaths) {
|
|
210
|
-
try {
|
|
211
|
-
const size = await (0, fs_2.getDirectorySize)(cachePath, true); // Use estimated size for large dirs
|
|
212
|
-
totalSize += size;
|
|
213
|
-
validPaths.push(cachePath);
|
|
214
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
|
|
215
|
-
}
|
|
216
|
-
catch (error) {
|
|
217
|
-
(0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return {
|
|
221
|
-
name: this.name,
|
|
222
|
-
type: this.type,
|
|
223
|
-
description: this.description,
|
|
224
|
-
paths: validPaths,
|
|
225
|
-
isInstalled: true,
|
|
226
|
-
size: totalSize,
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
|
|
230
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
231
|
-
if (!info.isInstalled) {
|
|
232
|
-
return {
|
|
233
|
-
name: this.name,
|
|
234
|
-
success: false,
|
|
235
|
-
error: "Firefox is not available",
|
|
236
|
-
clearedPaths: [],
|
|
237
|
-
sizeBefore: 0,
|
|
238
|
-
sizeAfter: 0,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
const sizeBefore = info.size || 0;
|
|
242
|
-
const clearedPaths = [];
|
|
243
|
-
let errors = [];
|
|
244
|
-
// Warning: Firefox should be closed before clearing cache
|
|
245
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.warning} Note: Firefox should be closed before clearing cache for best results`);
|
|
246
|
-
for (const cachePath of info.paths) {
|
|
247
|
-
// Check if the path is protected
|
|
248
|
-
const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
|
|
249
|
-
if (isProtected) {
|
|
250
|
-
(0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
|
|
251
|
-
continue; // Skip this path
|
|
252
|
-
}
|
|
253
|
-
try {
|
|
254
|
-
if (dryRun) {
|
|
255
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
|
|
256
|
-
clearedPaths.push(cachePath);
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
|
|
260
|
-
await (0, fs_2.safeRmrf)(cachePath);
|
|
261
|
-
clearedPaths.push(cachePath);
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
catch (error) {
|
|
265
|
-
const errorMsg = `Failed to clear ${cachePath}: ${error}`;
|
|
266
|
-
errors.push(errorMsg);
|
|
267
|
-
(0, cli_1.printVerbose)(errorMsg);
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
return {
|
|
271
|
-
name: this.name,
|
|
272
|
-
success: errors.length === 0,
|
|
273
|
-
sizeBefore,
|
|
274
|
-
sizeAfter: 0, // Set to 0 as we don't want to rescan
|
|
275
|
-
error: errors.length > 0 ? errors.join("; ") : undefined,
|
|
276
|
-
clearedPaths,
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
exports.default = new FirefoxCleaner();
|
|
281
|
-
//# sourceMappingURL=firefox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../src/cleaners/firefox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
|
|
2
|
-
declare class FlutterCleaner implements CleanerModule {
|
|
3
|
-
name: string;
|
|
4
|
-
type: "build-tool";
|
|
5
|
-
description: string;
|
|
6
|
-
private getFlutterVersion;
|
|
7
|
-
private getFlutterCachePaths;
|
|
8
|
-
private getFlutterSdkCachePath;
|
|
9
|
-
private findFlutterProjectBuildDirs;
|
|
10
|
-
private findFlutterProjectsRecursively;
|
|
11
|
-
isAvailable(): Promise<boolean>;
|
|
12
|
-
getCacheInfo(): Promise<CacheInfo>;
|
|
13
|
-
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
14
|
-
private runFlutterCleanInProjects;
|
|
15
|
-
}
|
|
16
|
-
declare const _default: FlutterCleaner;
|
|
17
|
-
export default _default;
|
|
18
|
-
//# sourceMappingURL=flutter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flutter.d.ts","sourceRoot":"","sources":["../../src/cleaners/flutter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AASlB,cAAM,cAAe,YAAW,aAAa;IAC3C,IAAI,SAAa;IACjB,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAAgE;YAE7D,iBAAiB;YASjB,oBAAoB;YAqCpB,sBAAsB;YA+BtB,2BAA2B;YA+B3B,8BAA8B;IAmFtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAmB/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAyClC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;YA8ET,yBAAyB;CA6BxC;;AAED,wBAAoC"}
|