squeaky-clean 0.1.7 → 0.1.10

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.
Files changed (217) hide show
  1. package/package.json +25 -23
  2. package/dist/cleaners/BaseCleaner.d.ts +0 -57
  3. package/dist/cleaners/BaseCleaner.d.ts.map +0 -1
  4. package/dist/cleaners/BaseCleaner.js +0 -299
  5. package/dist/cleaners/BaseCleaner.js.map +0 -1
  6. package/dist/cleaners/CleanerRegistry.d.ts +0 -65
  7. package/dist/cleaners/CleanerRegistry.d.ts.map +0 -1
  8. package/dist/cleaners/CleanerRegistry.js +0 -112
  9. package/dist/cleaners/CleanerRegistry.js.map +0 -1
  10. package/dist/cleaners/androidstudio.d.ts +0 -16
  11. package/dist/cleaners/androidstudio.d.ts.map +0 -1
  12. package/dist/cleaners/androidstudio.js +0 -375
  13. package/dist/cleaners/androidstudio.js.map +0 -1
  14. package/dist/cleaners/brew.d.ts +0 -4
  15. package/dist/cleaners/brew.d.ts.map +0 -1
  16. package/dist/cleaners/brew.js +0 -197
  17. package/dist/cleaners/brew.js.map +0 -1
  18. package/dist/cleaners/brewEnhanced.d.ts +0 -18
  19. package/dist/cleaners/brewEnhanced.d.ts.map +0 -1
  20. package/dist/cleaners/brewEnhanced.js +0 -255
  21. package/dist/cleaners/brewEnhanced.js.map +0 -1
  22. package/dist/cleaners/bun.d.ts +0 -14
  23. package/dist/cleaners/bun.d.ts.map +0 -1
  24. package/dist/cleaners/bun.js +0 -207
  25. package/dist/cleaners/bun.js.map +0 -1
  26. package/dist/cleaners/cargo.d.ts +0 -15
  27. package/dist/cleaners/cargo.d.ts.map +0 -1
  28. package/dist/cleaners/cargo.js +0 -193
  29. package/dist/cleaners/cargo.js.map +0 -1
  30. package/dist/cleaners/chrome.d.ts +0 -14
  31. package/dist/cleaners/chrome.d.ts.map +0 -1
  32. package/dist/cleaners/chrome.js +0 -250
  33. package/dist/cleaners/chrome.js.map +0 -1
  34. package/dist/cleaners/cocoapods.d.ts +0 -16
  35. package/dist/cleaners/cocoapods.d.ts.map +0 -1
  36. package/dist/cleaners/cocoapods.js +0 -180
  37. package/dist/cleaners/cocoapods.js.map +0 -1
  38. package/dist/cleaners/docker.d.ts +0 -35
  39. package/dist/cleaners/docker.d.ts.map +0 -1
  40. package/dist/cleaners/docker.js +0 -285
  41. package/dist/cleaners/docker.js.map +0 -1
  42. package/dist/cleaners/firefox.d.ts +0 -15
  43. package/dist/cleaners/firefox.d.ts.map +0 -1
  44. package/dist/cleaners/firefox.js +0 -281
  45. package/dist/cleaners/firefox.js.map +0 -1
  46. package/dist/cleaners/flutter.d.ts +0 -18
  47. package/dist/cleaners/flutter.d.ts.map +0 -1
  48. package/dist/cleaners/flutter.js +0 -354
  49. package/dist/cleaners/flutter.js.map +0 -1
  50. package/dist/cleaners/goBuild.d.ts +0 -18
  51. package/dist/cleaners/goBuild.d.ts.map +0 -1
  52. package/dist/cleaners/goBuild.js +0 -196
  53. package/dist/cleaners/goBuild.js.map +0 -1
  54. package/dist/cleaners/gradle.d.ts +0 -14
  55. package/dist/cleaners/gradle.d.ts.map +0 -1
  56. package/dist/cleaners/gradle.js +0 -336
  57. package/dist/cleaners/gradle.js.map +0 -1
  58. package/dist/cleaners/index.d.ts +0 -51
  59. package/dist/cleaners/index.d.ts.map +0 -1
  60. package/dist/cleaners/index.js +0 -247
  61. package/dist/cleaners/index.js.map +0 -1
  62. package/dist/cleaners/jetbrains.d.ts +0 -18
  63. package/dist/cleaners/jetbrains.d.ts.map +0 -1
  64. package/dist/cleaners/jetbrains.js +0 -441
  65. package/dist/cleaners/jetbrains.js.map +0 -1
  66. package/dist/cleaners/maven.d.ts +0 -15
  67. package/dist/cleaners/maven.d.ts.map +0 -1
  68. package/dist/cleaners/maven.js +0 -182
  69. package/dist/cleaners/maven.js.map +0 -1
  70. package/dist/cleaners/nix.d.ts +0 -4
  71. package/dist/cleaners/nix.d.ts.map +0 -1
  72. package/dist/cleaners/nix.js +0 -227
  73. package/dist/cleaners/nix.js.map +0 -1
  74. package/dist/cleaners/nodeGyp.d.ts +0 -14
  75. package/dist/cleaners/nodeGyp.d.ts.map +0 -1
  76. package/dist/cleaners/nodeGyp.js +0 -157
  77. package/dist/cleaners/nodeGyp.js.map +0 -1
  78. package/dist/cleaners/npm.d.ts +0 -14
  79. package/dist/cleaners/npm.d.ts.map +0 -1
  80. package/dist/cleaners/npm.js +0 -198
  81. package/dist/cleaners/npm.js.map +0 -1
  82. package/dist/cleaners/npmEnhanced.d.ts +0 -19
  83. package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
  84. package/dist/cleaners/npmEnhanced.js +0 -336
  85. package/dist/cleaners/npmEnhanced.js.map +0 -1
  86. package/dist/cleaners/nuget.d.ts +0 -16
  87. package/dist/cleaners/nuget.d.ts.map +0 -1
  88. package/dist/cleaners/nuget.js +0 -197
  89. package/dist/cleaners/nuget.js.map +0 -1
  90. package/dist/cleaners/nx.d.ts +0 -18
  91. package/dist/cleaners/nx.d.ts.map +0 -1
  92. package/dist/cleaners/nx.js +0 -308
  93. package/dist/cleaners/nx.js.map +0 -1
  94. package/dist/cleaners/pip.d.ts +0 -19
  95. package/dist/cleaners/pip.d.ts.map +0 -1
  96. package/dist/cleaners/pip.js +0 -334
  97. package/dist/cleaners/pip.js.map +0 -1
  98. package/dist/cleaners/pipenv.d.ts +0 -16
  99. package/dist/cleaners/pipenv.d.ts.map +0 -1
  100. package/dist/cleaners/pipenv.js +0 -184
  101. package/dist/cleaners/pipenv.js.map +0 -1
  102. package/dist/cleaners/pnpm.d.ts +0 -14
  103. package/dist/cleaners/pnpm.d.ts.map +0 -1
  104. package/dist/cleaners/pnpm.js +0 -209
  105. package/dist/cleaners/pnpm.js.map +0 -1
  106. package/dist/cleaners/poetry.d.ts +0 -16
  107. package/dist/cleaners/poetry.d.ts.map +0 -1
  108. package/dist/cleaners/poetry.js +0 -184
  109. package/dist/cleaners/poetry.js.map +0 -1
  110. package/dist/cleaners/swiftpm.d.ts +0 -16
  111. package/dist/cleaners/swiftpm.d.ts.map +0 -1
  112. package/dist/cleaners/swiftpm.js +0 -179
  113. package/dist/cleaners/swiftpm.js.map +0 -1
  114. package/dist/cleaners/turbo.d.ts +0 -18
  115. package/dist/cleaners/turbo.d.ts.map +0 -1
  116. package/dist/cleaners/turbo.js +0 -325
  117. package/dist/cleaners/turbo.js.map +0 -1
  118. package/dist/cleaners/vite.d.ts +0 -17
  119. package/dist/cleaners/vite.d.ts.map +0 -1
  120. package/dist/cleaners/vite.js +0 -274
  121. package/dist/cleaners/vite.js.map +0 -1
  122. package/dist/cleaners/vscode.d.ts +0 -14
  123. package/dist/cleaners/vscode.d.ts.map +0 -1
  124. package/dist/cleaners/vscode.js +0 -354
  125. package/dist/cleaners/vscode.js.map +0 -1
  126. package/dist/cleaners/webpack.d.ts +0 -17
  127. package/dist/cleaners/webpack.d.ts.map +0 -1
  128. package/dist/cleaners/webpack.js +0 -263
  129. package/dist/cleaners/webpack.js.map +0 -1
  130. package/dist/cleaners/xcode.d.ts +0 -14
  131. package/dist/cleaners/xcode.d.ts.map +0 -1
  132. package/dist/cleaners/xcode.js +0 -348
  133. package/dist/cleaners/xcode.js.map +0 -1
  134. package/dist/cleaners/yarn.d.ts +0 -16
  135. package/dist/cleaners/yarn.d.ts.map +0 -1
  136. package/dist/cleaners/yarn.js +0 -266
  137. package/dist/cleaners/yarn.js.map +0 -1
  138. package/dist/cli.d.ts +0 -3
  139. package/dist/cli.d.ts.map +0 -1
  140. package/dist/cli.js +0 -346
  141. package/dist/cli.js.map +0 -1
  142. package/dist/commands/auto.d.ts +0 -8
  143. package/dist/commands/auto.d.ts.map +0 -1
  144. package/dist/commands/auto.js +0 -224
  145. package/dist/commands/auto.js.map +0 -1
  146. package/dist/commands/categories.d.ts +0 -8
  147. package/dist/commands/categories.d.ts.map +0 -1
  148. package/dist/commands/categories.js +0 -133
  149. package/dist/commands/categories.js.map +0 -1
  150. package/dist/commands/clean.d.ts +0 -3
  151. package/dist/commands/clean.d.ts.map +0 -1
  152. package/dist/commands/clean.js +0 -149
  153. package/dist/commands/clean.js.map +0 -1
  154. package/dist/commands/config.d.ts +0 -14
  155. package/dist/commands/config.d.ts.map +0 -1
  156. package/dist/commands/config.js +0 -445
  157. package/dist/commands/config.js.map +0 -1
  158. package/dist/commands/configDoctor.d.ts +0 -26
  159. package/dist/commands/configDoctor.d.ts.map +0 -1
  160. package/dist/commands/configDoctor.js +0 -60
  161. package/dist/commands/configDoctor.js.map +0 -1
  162. package/dist/commands/doctor.d.ts +0 -2
  163. package/dist/commands/doctor.d.ts.map +0 -1
  164. package/dist/commands/doctor.js +0 -141
  165. package/dist/commands/doctor.js.map +0 -1
  166. package/dist/commands/emojis.d.ts +0 -2
  167. package/dist/commands/emojis.d.ts.map +0 -1
  168. package/dist/commands/emojis.js +0 -28
  169. package/dist/commands/emojis.js.map +0 -1
  170. package/dist/commands/interactive.d.ts +0 -3
  171. package/dist/commands/interactive.d.ts.map +0 -1
  172. package/dist/commands/interactive.js +0 -284
  173. package/dist/commands/interactive.js.map +0 -1
  174. package/dist/commands/interactiveEnhanced.d.ts +0 -4
  175. package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
  176. package/dist/commands/interactiveEnhanced.js +0 -460
  177. package/dist/commands/interactiveEnhanced.js.map +0 -1
  178. package/dist/commands/list.d.ts +0 -2
  179. package/dist/commands/list.d.ts.map +0 -1
  180. package/dist/commands/list.js +0 -68
  181. package/dist/commands/list.js.map +0 -1
  182. package/dist/commands/sizes.d.ts +0 -2
  183. package/dist/commands/sizes.d.ts.map +0 -1
  184. package/dist/commands/sizes.js +0 -87
  185. package/dist/commands/sizes.js.map +0 -1
  186. package/dist/config/index.d.ts +0 -31
  187. package/dist/config/index.d.ts.map +0 -1
  188. package/dist/config/index.js +0 -241
  189. package/dist/config/index.js.map +0 -1
  190. package/dist/config/loadConfig.d.ts +0 -7
  191. package/dist/config/loadConfig.d.ts.map +0 -1
  192. package/dist/config/loadConfig.js +0 -103
  193. package/dist/config/loadConfig.js.map +0 -1
  194. package/dist/config/migrateConfig.d.ts +0 -56
  195. package/dist/config/migrateConfig.d.ts.map +0 -1
  196. package/dist/config/migrateConfig.js +0 -102
  197. package/dist/config/migrateConfig.js.map +0 -1
  198. package/dist/plugins/discovery.d.ts +0 -6
  199. package/dist/plugins/discovery.d.ts.map +0 -1
  200. package/dist/plugins/discovery.js +0 -64
  201. package/dist/plugins/discovery.js.map +0 -1
  202. package/dist/profiles/index.d.ts +0 -61
  203. package/dist/profiles/index.d.ts.map +0 -1
  204. package/dist/profiles/index.js +0 -361
  205. package/dist/profiles/index.js.map +0 -1
  206. package/dist/types/index.d.ts +0 -161
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/index.js +0 -3
  209. package/dist/types/index.js.map +0 -1
  210. package/dist/utils/cli.d.ts +0 -44
  211. package/dist/utils/cli.d.ts.map +0 -1
  212. package/dist/utils/cli.js +0 -410
  213. package/dist/utils/cli.js.map +0 -1
  214. package/dist/utils/fs.d.ts +0 -15
  215. package/dist/utils/fs.d.ts.map +0 -1
  216. package/dist/utils/fs.js +0 -218
  217. package/dist/utils/fs.js.map +0 -1
@@ -1,180 +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
- const path_1 = __importDefault(require("path"));
7
- const os_1 = __importDefault(require("os"));
8
- const execa_1 = __importDefault(require("execa"));
9
- const fs_1 = require("fs");
10
- const fs_2 = require("../utils/fs");
11
- const cli_1 = require("../utils/cli");
12
- const minimatch_1 = require("minimatch");
13
- class CocoaPodsCleaner {
14
- constructor() {
15
- this.name = "cocoapods";
16
- this.type = "package-manager";
17
- this.description = "CocoaPods caches (macOS only)";
18
- }
19
- getCachePaths() {
20
- const home = os_1.default.homedir();
21
- return [path_1.default.join(home, "Library", "Caches", "CocoaPods")];
22
- }
23
- async buildCategories() {
24
- const categories = [
25
- {
26
- id: "cache",
27
- name: "CocoaPods cache",
28
- description: "Pod downloads and specs cache",
29
- paths: this.getCachePaths(),
30
- priority: "normal",
31
- useCase: "development",
32
- },
33
- ];
34
- const existing = [];
35
- for (const category of categories) {
36
- const validPaths = [];
37
- for (const cachePath of category.paths) {
38
- if (await (0, fs_2.pathExists)(cachePath)) {
39
- validPaths.push(cachePath);
40
- }
41
- }
42
- if (validPaths.length > 0) {
43
- existing.push({ ...category, paths: validPaths });
44
- }
45
- }
46
- return existing;
47
- }
48
- async isAvailable() {
49
- if (process.platform !== "darwin")
50
- return false;
51
- try {
52
- await (0, execa_1.default)("pod", ["--version"]);
53
- return true;
54
- }
55
- catch {
56
- // Still consider available if caches exist even without CLI
57
- const categories = await this.buildCategories();
58
- return categories.length > 0;
59
- }
60
- }
61
- async getCacheInfo() {
62
- const categories = await this.buildCategories();
63
- let totalSize = 0;
64
- let lastModified;
65
- for (const category of categories) {
66
- let size = 0;
67
- for (const cachePath of category.paths) {
68
- size += await (0, fs_2.getDirectorySize)(cachePath, true);
69
- try {
70
- const stats = await fs_1.promises.stat(cachePath);
71
- if (!lastModified || stats.mtime > lastModified) {
72
- lastModified = stats.mtime;
73
- }
74
- }
75
- catch {
76
- // ignore
77
- }
78
- }
79
- category.size = size;
80
- totalSize += size;
81
- }
82
- return {
83
- name: this.name,
84
- type: this.type,
85
- description: this.description,
86
- paths: categories.flatMap((c) => c.paths),
87
- isInstalled: await this.isAvailable(),
88
- size: totalSize,
89
- lastModified,
90
- categories,
91
- };
92
- }
93
- async clearCategories(categories, dryRun, protectedPaths, cacheInfo) {
94
- const pathsToClear = Array.from(new Set(categories.flatMap((c) => c.paths)));
95
- const sizeBefore = cacheInfo?.size ??
96
- categories.reduce((sum, cat) => sum + (cat.size ?? 0), 0);
97
- if (pathsToClear.length === 0) {
98
- return {
99
- name: this.name,
100
- success: true,
101
- clearedPaths: [],
102
- sizeBefore: 0,
103
- sizeAfter: 0,
104
- };
105
- }
106
- if (dryRun) {
107
- (0, cli_1.printVerbose)(`[DRY RUN] Would clear CocoaPods cache: ${pathsToClear.join(", ")}`);
108
- return {
109
- name: this.name,
110
- success: true,
111
- clearedPaths: pathsToClear,
112
- clearedCategories: categories.map((c) => c.id),
113
- sizeBefore,
114
- sizeAfter: sizeBefore,
115
- };
116
- }
117
- const clearedPaths = [];
118
- let success = true;
119
- let error;
120
- for (const cachePath of pathsToClear) {
121
- const isProtected = protectedPaths.some((pattern) => (0, minimatch_1.minimatch)(cachePath, pattern, { dot: true }));
122
- if (isProtected) {
123
- (0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
124
- continue;
125
- }
126
- try {
127
- if (await (0, fs_2.pathExists)(cachePath)) {
128
- (0, cli_1.printVerbose)(`Clearing CocoaPods cache at ${cachePath}`);
129
- await (0, fs_2.safeRmrf)(cachePath);
130
- clearedPaths.push(cachePath);
131
- }
132
- }
133
- catch (err) {
134
- success = false;
135
- error = `Failed to clear ${cachePath}: ${err}`;
136
- }
137
- }
138
- return {
139
- name: this.name,
140
- success,
141
- error,
142
- clearedPaths,
143
- clearedCategories: categories.map((c) => c.id),
144
- sizeBefore,
145
- sizeAfter: success ? 0 : sizeBefore,
146
- };
147
- }
148
- async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
149
- const info = cacheInfo || (await this.getCacheInfo());
150
- if (!info.isInstalled) {
151
- return {
152
- name: this.name,
153
- success: false,
154
- error: "cocoapods is not installed or not supported on this platform",
155
- clearedPaths: [],
156
- sizeBefore: 0,
157
- sizeAfter: 0,
158
- };
159
- }
160
- const categories = info.categories || [];
161
- return this.clearCategories(categories, dryRun, protectedPaths, info);
162
- }
163
- async clearByCategory(categoryIds, dryRun = false, cacheInfo, protectedPaths = []) {
164
- const info = cacheInfo || (await this.getCacheInfo());
165
- if (!info.isInstalled) {
166
- return {
167
- name: this.name,
168
- success: false,
169
- error: "cocoapods is not installed or not supported on this platform",
170
- clearedPaths: [],
171
- sizeBefore: 0,
172
- sizeAfter: 0,
173
- };
174
- }
175
- const categories = info.categories?.filter((c) => categoryIds.includes(c.id)) ?? [];
176
- return this.clearCategories(categories, dryRun, protectedPaths, info);
177
- }
178
- }
179
- exports.default = new CocoaPodsCleaner();
180
- //# sourceMappingURL=cocoapods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cocoapods.js","sourceRoot":"","sources":["../../src/cleaners/cocoapods.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { CacheInfo, ClearResult, CleanerModule, CacheSelectionCriteria } from "../types";
2
- export declare class DockerCleaner implements CleanerModule {
3
- name: string;
4
- type: "system";
5
- description: string;
6
- isAvailable(): Promise<boolean>;
7
- getDockerSystemInfo(): Promise<{
8
- images: {
9
- count: number;
10
- size: number;
11
- };
12
- containers: {
13
- count: number;
14
- size: number;
15
- };
16
- volumes: {
17
- count: number;
18
- size: number;
19
- };
20
- buildCache: {
21
- count: number;
22
- size: number;
23
- };
24
- networks: {
25
- count: number;
26
- };
27
- }>;
28
- private parseDockerSize;
29
- getCacheInfo(): Promise<CacheInfo>;
30
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
31
- static create(): DockerCleaner;
32
- }
33
- declare const _default: DockerCleaner;
34
- export default _default;
35
- //# sourceMappingURL=docker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/cleaners/docker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAIlB,qBAAa,aAAc,YAAW,aAAa;IACjD,IAAI,SAAY;IAChB,IAAI,EAAG,QAAQ,CAAU;IACzB,WAAW,SAAmE;IAExE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAyB/B,mBAAmB,IAAI,OAAO,CAAC;QACnC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,QAAQ,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7B,CAAC;IAiEF,OAAO,CAAC,eAAe;IAqBjB,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAqElC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IA0IvB,MAAM,CAAC,MAAM,IAAI,aAAa;CAG/B;;AAED,wBAAsC"}
@@ -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":"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"}
@@ -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"}