squeaky-clean 0.1.8 → 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 (241) hide show
  1. package/package.json +22 -24
  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/cursor.d.ts +0 -15
  39. package/dist/cleaners/cursor.d.ts.map +0 -1
  40. package/dist/cleaners/cursor.js +0 -377
  41. package/dist/cleaners/cursor.js.map +0 -1
  42. package/dist/cleaners/docker.d.ts +0 -35
  43. package/dist/cleaners/docker.d.ts.map +0 -1
  44. package/dist/cleaners/docker.js +0 -285
  45. package/dist/cleaners/docker.js.map +0 -1
  46. package/dist/cleaners/firefox.d.ts +0 -15
  47. package/dist/cleaners/firefox.d.ts.map +0 -1
  48. package/dist/cleaners/firefox.js +0 -281
  49. package/dist/cleaners/firefox.js.map +0 -1
  50. package/dist/cleaners/flutter.d.ts +0 -18
  51. package/dist/cleaners/flutter.d.ts.map +0 -1
  52. package/dist/cleaners/flutter.js +0 -354
  53. package/dist/cleaners/flutter.js.map +0 -1
  54. package/dist/cleaners/goBuild.d.ts +0 -18
  55. package/dist/cleaners/goBuild.d.ts.map +0 -1
  56. package/dist/cleaners/goBuild.js +0 -196
  57. package/dist/cleaners/goBuild.js.map +0 -1
  58. package/dist/cleaners/gradle.d.ts +0 -14
  59. package/dist/cleaners/gradle.d.ts.map +0 -1
  60. package/dist/cleaners/gradle.js +0 -336
  61. package/dist/cleaners/gradle.js.map +0 -1
  62. package/dist/cleaners/index.d.ts +0 -51
  63. package/dist/cleaners/index.d.ts.map +0 -1
  64. package/dist/cleaners/index.js +0 -271
  65. package/dist/cleaners/index.js.map +0 -1
  66. package/dist/cleaners/jetbrains.d.ts +0 -18
  67. package/dist/cleaners/jetbrains.d.ts.map +0 -1
  68. package/dist/cleaners/jetbrains.js +0 -441
  69. package/dist/cleaners/jetbrains.js.map +0 -1
  70. package/dist/cleaners/maven.d.ts +0 -15
  71. package/dist/cleaners/maven.d.ts.map +0 -1
  72. package/dist/cleaners/maven.js +0 -182
  73. package/dist/cleaners/maven.js.map +0 -1
  74. package/dist/cleaners/nix.d.ts +0 -4
  75. package/dist/cleaners/nix.d.ts.map +0 -1
  76. package/dist/cleaners/nix.js +0 -227
  77. package/dist/cleaners/nix.js.map +0 -1
  78. package/dist/cleaners/nodeGyp.d.ts +0 -14
  79. package/dist/cleaners/nodeGyp.d.ts.map +0 -1
  80. package/dist/cleaners/nodeGyp.js +0 -157
  81. package/dist/cleaners/nodeGyp.js.map +0 -1
  82. package/dist/cleaners/npm.d.ts +0 -14
  83. package/dist/cleaners/npm.d.ts.map +0 -1
  84. package/dist/cleaners/npm.js +0 -198
  85. package/dist/cleaners/npm.js.map +0 -1
  86. package/dist/cleaners/npmEnhanced.d.ts +0 -19
  87. package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
  88. package/dist/cleaners/npmEnhanced.js +0 -336
  89. package/dist/cleaners/npmEnhanced.js.map +0 -1
  90. package/dist/cleaners/nuget.d.ts +0 -16
  91. package/dist/cleaners/nuget.d.ts.map +0 -1
  92. package/dist/cleaners/nuget.js +0 -197
  93. package/dist/cleaners/nuget.js.map +0 -1
  94. package/dist/cleaners/nx.d.ts +0 -18
  95. package/dist/cleaners/nx.d.ts.map +0 -1
  96. package/dist/cleaners/nx.js +0 -308
  97. package/dist/cleaners/nx.js.map +0 -1
  98. package/dist/cleaners/pip.d.ts +0 -19
  99. package/dist/cleaners/pip.d.ts.map +0 -1
  100. package/dist/cleaners/pip.js +0 -334
  101. package/dist/cleaners/pip.js.map +0 -1
  102. package/dist/cleaners/pipenv.d.ts +0 -16
  103. package/dist/cleaners/pipenv.d.ts.map +0 -1
  104. package/dist/cleaners/pipenv.js +0 -184
  105. package/dist/cleaners/pipenv.js.map +0 -1
  106. package/dist/cleaners/playwright.d.ts +0 -15
  107. package/dist/cleaners/playwright.d.ts.map +0 -1
  108. package/dist/cleaners/playwright.js +0 -221
  109. package/dist/cleaners/playwright.js.map +0 -1
  110. package/dist/cleaners/pnpm.d.ts +0 -14
  111. package/dist/cleaners/pnpm.d.ts.map +0 -1
  112. package/dist/cleaners/pnpm.js +0 -209
  113. package/dist/cleaners/pnpm.js.map +0 -1
  114. package/dist/cleaners/poetry.d.ts +0 -16
  115. package/dist/cleaners/poetry.d.ts.map +0 -1
  116. package/dist/cleaners/poetry.js +0 -184
  117. package/dist/cleaners/poetry.js.map +0 -1
  118. package/dist/cleaners/swiftpm.d.ts +0 -16
  119. package/dist/cleaners/swiftpm.d.ts.map +0 -1
  120. package/dist/cleaners/swiftpm.js +0 -179
  121. package/dist/cleaners/swiftpm.js.map +0 -1
  122. package/dist/cleaners/turbo.d.ts +0 -18
  123. package/dist/cleaners/turbo.d.ts.map +0 -1
  124. package/dist/cleaners/turbo.js +0 -325
  125. package/dist/cleaners/turbo.js.map +0 -1
  126. package/dist/cleaners/universalBinary.d.ts +0 -20
  127. package/dist/cleaners/universalBinary.d.ts.map +0 -1
  128. package/dist/cleaners/universalBinary.js +0 -318
  129. package/dist/cleaners/universalBinary.js.map +0 -1
  130. package/dist/cleaners/vite.d.ts +0 -17
  131. package/dist/cleaners/vite.d.ts.map +0 -1
  132. package/dist/cleaners/vite.js +0 -274
  133. package/dist/cleaners/vite.js.map +0 -1
  134. package/dist/cleaners/vscode.d.ts +0 -15
  135. package/dist/cleaners/vscode.d.ts.map +0 -1
  136. package/dist/cleaners/vscode.js +0 -411
  137. package/dist/cleaners/vscode.js.map +0 -1
  138. package/dist/cleaners/webpack.d.ts +0 -17
  139. package/dist/cleaners/webpack.d.ts.map +0 -1
  140. package/dist/cleaners/webpack.js +0 -263
  141. package/dist/cleaners/webpack.js.map +0 -1
  142. package/dist/cleaners/windsurf.d.ts +0 -15
  143. package/dist/cleaners/windsurf.d.ts.map +0 -1
  144. package/dist/cleaners/windsurf.js +0 -366
  145. package/dist/cleaners/windsurf.js.map +0 -1
  146. package/dist/cleaners/xcode.d.ts +0 -14
  147. package/dist/cleaners/xcode.d.ts.map +0 -1
  148. package/dist/cleaners/xcode.js +0 -348
  149. package/dist/cleaners/xcode.js.map +0 -1
  150. package/dist/cleaners/yarn.d.ts +0 -16
  151. package/dist/cleaners/yarn.d.ts.map +0 -1
  152. package/dist/cleaners/yarn.js +0 -266
  153. package/dist/cleaners/yarn.js.map +0 -1
  154. package/dist/cleaners/zed.d.ts +0 -15
  155. package/dist/cleaners/zed.d.ts.map +0 -1
  156. package/dist/cleaners/zed.js +0 -383
  157. package/dist/cleaners/zed.js.map +0 -1
  158. package/dist/cli.d.ts +0 -3
  159. package/dist/cli.d.ts.map +0 -1
  160. package/dist/cli.js +0 -367
  161. package/dist/cli.js.map +0 -1
  162. package/dist/commands/auto.d.ts +0 -8
  163. package/dist/commands/auto.d.ts.map +0 -1
  164. package/dist/commands/auto.js +0 -251
  165. package/dist/commands/auto.js.map +0 -1
  166. package/dist/commands/categories.d.ts +0 -8
  167. package/dist/commands/categories.d.ts.map +0 -1
  168. package/dist/commands/categories.js +0 -133
  169. package/dist/commands/categories.js.map +0 -1
  170. package/dist/commands/clean.d.ts +0 -3
  171. package/dist/commands/clean.d.ts.map +0 -1
  172. package/dist/commands/clean.js +0 -149
  173. package/dist/commands/clean.js.map +0 -1
  174. package/dist/commands/config.d.ts +0 -14
  175. package/dist/commands/config.d.ts.map +0 -1
  176. package/dist/commands/config.js +0 -460
  177. package/dist/commands/config.js.map +0 -1
  178. package/dist/commands/configDoctor.d.ts +0 -26
  179. package/dist/commands/configDoctor.d.ts.map +0 -1
  180. package/dist/commands/configDoctor.js +0 -60
  181. package/dist/commands/configDoctor.js.map +0 -1
  182. package/dist/commands/doctor.d.ts +0 -2
  183. package/dist/commands/doctor.d.ts.map +0 -1
  184. package/dist/commands/doctor.js +0 -141
  185. package/dist/commands/doctor.js.map +0 -1
  186. package/dist/commands/emojis.d.ts +0 -2
  187. package/dist/commands/emojis.d.ts.map +0 -1
  188. package/dist/commands/emojis.js +0 -28
  189. package/dist/commands/emojis.js.map +0 -1
  190. package/dist/commands/interactive.d.ts +0 -3
  191. package/dist/commands/interactive.d.ts.map +0 -1
  192. package/dist/commands/interactive.js +0 -284
  193. package/dist/commands/interactive.js.map +0 -1
  194. package/dist/commands/interactiveEnhanced.d.ts +0 -4
  195. package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
  196. package/dist/commands/interactiveEnhanced.js +0 -460
  197. package/dist/commands/interactiveEnhanced.js.map +0 -1
  198. package/dist/commands/list.d.ts +0 -2
  199. package/dist/commands/list.d.ts.map +0 -1
  200. package/dist/commands/list.js +0 -68
  201. package/dist/commands/list.js.map +0 -1
  202. package/dist/commands/sizes.d.ts +0 -2
  203. package/dist/commands/sizes.d.ts.map +0 -1
  204. package/dist/commands/sizes.js +0 -87
  205. package/dist/commands/sizes.js.map +0 -1
  206. package/dist/commands/ub.d.ts +0 -10
  207. package/dist/commands/ub.d.ts.map +0 -1
  208. package/dist/commands/ub.js +0 -170
  209. package/dist/commands/ub.js.map +0 -1
  210. package/dist/config/index.d.ts +0 -31
  211. package/dist/config/index.d.ts.map +0 -1
  212. package/dist/config/index.js +0 -270
  213. package/dist/config/index.js.map +0 -1
  214. package/dist/config/loadConfig.d.ts +0 -7
  215. package/dist/config/loadConfig.d.ts.map +0 -1
  216. package/dist/config/loadConfig.js +0 -103
  217. package/dist/config/loadConfig.js.map +0 -1
  218. package/dist/config/migrateConfig.d.ts +0 -56
  219. package/dist/config/migrateConfig.d.ts.map +0 -1
  220. package/dist/config/migrateConfig.js +0 -102
  221. package/dist/config/migrateConfig.js.map +0 -1
  222. package/dist/plugins/discovery.d.ts +0 -6
  223. package/dist/plugins/discovery.d.ts.map +0 -1
  224. package/dist/plugins/discovery.js +0 -64
  225. package/dist/plugins/discovery.js.map +0 -1
  226. package/dist/profiles/index.d.ts +0 -61
  227. package/dist/profiles/index.d.ts.map +0 -1
  228. package/dist/profiles/index.js +0 -406
  229. package/dist/profiles/index.js.map +0 -1
  230. package/dist/types/index.d.ts +0 -176
  231. package/dist/types/index.d.ts.map +0 -1
  232. package/dist/types/index.js +0 -3
  233. package/dist/types/index.js.map +0 -1
  234. package/dist/utils/cli.d.ts +0 -46
  235. package/dist/utils/cli.d.ts.map +0 -1
  236. package/dist/utils/cli.js +0 -412
  237. package/dist/utils/cli.js.map +0 -1
  238. package/dist/utils/fs.d.ts +0 -15
  239. package/dist/utils/fs.d.ts.map +0 -1
  240. package/dist/utils/fs.js +0 -218
  241. package/dist/utils/fs.js.map +0 -1
@@ -1,255 +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.HomebrewEnhancedCleaner = void 0;
7
- const BaseCleaner_1 = require("./BaseCleaner");
8
- const fs_1 = require("fs");
9
- const path_1 = __importDefault(require("path"));
10
- const os_1 = __importDefault(require("os"));
11
- const child_process_1 = require("child_process");
12
- const cli_1 = require("../utils/cli");
13
- const fs_2 = require("../utils/fs");
14
- class HomebrewEnhancedCleaner extends BaseCleaner_1.BaseCleaner {
15
- constructor() {
16
- super(...arguments);
17
- this.name = "homebrew";
18
- this.type = "package-manager";
19
- this.description = "Homebrew package manager comprehensive cache cleaning";
20
- }
21
- getCachePaths() {
22
- const paths = [];
23
- try {
24
- // Get Homebrew cache directory
25
- const cacheDir = (0, child_process_1.execSync)("brew --cache", { encoding: "utf8" }).trim();
26
- if (cacheDir)
27
- paths.push(cacheDir);
28
- // Get Homebrew prefix
29
- const prefix = (0, child_process_1.execSync)("brew --prefix", { encoding: "utf8" }).trim();
30
- // Common Homebrew cache locations
31
- if (prefix) {
32
- paths.push(path_1.default.join(prefix, "Homebrew", ".cache"));
33
- paths.push(path_1.default.join(prefix, "var", "homebrew", "locks"));
34
- paths.push(path_1.default.join(prefix, "var", "log", "homebrew"));
35
- paths.push(path_1.default.join(prefix, "Cellar", ".DS_Store"));
36
- paths.push(path_1.default.join(prefix, "Caskroom", ".DS_Store"));
37
- }
38
- // User-specific caches
39
- const homeDir = os_1.default.homedir();
40
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "Homebrew"));
41
- paths.push(path_1.default.join(homeDir, "Library", "Logs", "Homebrew"));
42
- // Portable Ruby cache
43
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "Homebrew", "portable-ruby"));
44
- // Downloads
45
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "Homebrew", "downloads"));
46
- // Cask downloads
47
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "Homebrew", "Cask"));
48
- }
49
- catch (error) {
50
- (0, cli_1.printVerbose)(`Error getting Homebrew paths: ${error}`);
51
- // Fallback to common locations
52
- const homeDir = os_1.default.homedir();
53
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "Homebrew"));
54
- paths.push("/opt/homebrew/var/cache");
55
- paths.push("/usr/local/var/cache/homebrew");
56
- }
57
- return paths.filter((p) => (0, fs_1.existsSync)(p));
58
- }
59
- async isAvailable() {
60
- // Only works on macOS and Linux
61
- if (os_1.default.platform() !== "darwin" && os_1.default.platform() !== "linux") {
62
- return false;
63
- }
64
- try {
65
- (0, child_process_1.execSync)("which brew", { stdio: "ignore" });
66
- return true;
67
- }
68
- catch {
69
- // Check if Homebrew cache directories exist
70
- const homeDir = os_1.default.homedir();
71
- const brewCache = path_1.default.join(homeDir, "Library", "Caches", "Homebrew");
72
- return (0, fs_1.existsSync)(brewCache);
73
- }
74
- }
75
- async getCacheInfo() {
76
- if (!(await this.isAvailable())) {
77
- return {
78
- name: this.name,
79
- type: this.type,
80
- description: this.description,
81
- paths: [],
82
- isInstalled: false,
83
- totalSize: 0,
84
- };
85
- }
86
- const paths = this.getCachePaths();
87
- let totalSize = 0;
88
- let oldestCache;
89
- let newestCache;
90
- for (const cachePath of paths) {
91
- if ((0, fs_1.existsSync)(cachePath)) {
92
- const size = await (0, fs_2.getCacheSize)(cachePath);
93
- totalSize += size;
94
- try {
95
- const stat = (0, fs_1.statSync)(cachePath);
96
- if (!oldestCache || stat.mtime < oldestCache) {
97
- oldestCache = stat.mtime;
98
- }
99
- if (!newestCache || stat.mtime > newestCache) {
100
- newestCache = stat.mtime;
101
- }
102
- }
103
- catch (error) {
104
- (0, cli_1.printVerbose)(`Error getting stats for ${cachePath}: ${error}`);
105
- }
106
- }
107
- }
108
- // Get outdated packages size
109
- try {
110
- const cleanupDryRun = (0, child_process_1.execSync)("brew cleanup -s --dry-run 2>&1", {
111
- encoding: "utf8",
112
- });
113
- const sizeMatch = cleanupDryRun.match(/Would remove: .* \((.+?)\)/);
114
- if (sizeMatch && sizeMatch[1]) {
115
- const sizeStr = sizeMatch[1];
116
- const sizeNum = parseFloat(sizeStr);
117
- if (sizeStr.includes("GB")) {
118
- totalSize += sizeNum * 1024 * 1024 * 1024;
119
- }
120
- else if (sizeStr.includes("MB")) {
121
- totalSize += sizeNum * 1024 * 1024;
122
- }
123
- else if (sizeStr.includes("KB")) {
124
- totalSize += sizeNum * 1024;
125
- }
126
- }
127
- }
128
- catch {
129
- // Ignore if cleanup dry-run fails
130
- }
131
- return {
132
- name: this.name,
133
- type: this.type,
134
- description: this.description,
135
- paths,
136
- isInstalled: true,
137
- totalSize,
138
- oldestCache,
139
- newestCache,
140
- };
141
- }
142
- async getCacheCategories() {
143
- const categories = [];
144
- const paths = this.getCachePaths();
145
- // Categorize different types of Homebrew caches
146
- const categoryMap = {
147
- downloads: {
148
- name: "Downloaded Packages",
149
- priority: "low",
150
- useCase: "development",
151
- },
152
- Cask: {
153
- name: "Cask Applications",
154
- priority: "normal",
155
- useCase: "production",
156
- },
157
- "portable-ruby": {
158
- name: "Portable Ruby",
159
- priority: "low",
160
- useCase: "development",
161
- },
162
- logs: { name: "Build Logs", priority: "low", useCase: "development" },
163
- locks: { name: "Lock Files", priority: "low", useCase: "development" },
164
- ".cache": {
165
- name: "Internal Cache",
166
- priority: "normal",
167
- useCase: "development",
168
- },
169
- };
170
- for (const cachePath of paths) {
171
- if (!(0, fs_1.existsSync)(cachePath))
172
- continue;
173
- let categoryName = "Homebrew Cache";
174
- // Determine category based on path
175
- for (const [key, config] of Object.entries(categoryMap)) {
176
- if (cachePath.toLowerCase().includes(key.toLowerCase())) {
177
- categoryName = config.name;
178
- break;
179
- }
180
- }
181
- try {
182
- const stat = (0, fs_1.statSync)(cachePath);
183
- const size = await (0, fs_2.getCacheSize)(cachePath);
184
- categories.push({
185
- id: `homebrew-${path_1.default.basename(cachePath)}`
186
- .toLowerCase()
187
- .replace(/[^a-z0-9-]/g, "-"),
188
- name: categoryName,
189
- description: `Homebrew cache at ${cachePath}`,
190
- paths: [cachePath],
191
- size,
192
- lastModified: stat.mtime,
193
- lastAccessed: stat.atime,
194
- priority: this.getCachePriority(cachePath),
195
- useCase: this.detectUseCase(cachePath),
196
- isProjectSpecific: false,
197
- ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
198
- });
199
- }
200
- catch (error) {
201
- (0, cli_1.printVerbose)(`Error analyzing ${cachePath}: ${error}`);
202
- }
203
- }
204
- // Add outdated packages as a category
205
- try {
206
- const cleanupDryRun = (0, child_process_1.execSync)("brew cleanup -s --dry-run 2>&1", {
207
- encoding: "utf8",
208
- });
209
- const packages = cleanupDryRun.match(/Would remove: (.+?) \(/);
210
- if (packages) {
211
- categories.push({
212
- id: "homebrew-outdated-packages",
213
- name: "Outdated Packages",
214
- description: "Old versions of installed packages",
215
- paths: [],
216
- priority: "normal",
217
- useCase: "archived",
218
- isProjectSpecific: false,
219
- ageInDays: 30, // Estimate
220
- });
221
- }
222
- }
223
- catch {
224
- // Ignore
225
- }
226
- return categories;
227
- }
228
- /**
229
- * Clear cache with Homebrew's built-in commands when possible
230
- */
231
- async clear(dryRun, criteria, cacheInfo, protectedPaths) {
232
- const result = await super.clear(dryRun, criteria, cacheInfo, protectedPaths);
233
- // Additionally use brew cleanup for thorough cleaning
234
- if (!dryRun) {
235
- try {
236
- // Clean up old versions and downloads
237
- (0, child_process_1.execSync)("brew cleanup -s", { stdio: "inherit" });
238
- (0, cli_1.printVerbose)("Executed: brew cleanup -s");
239
- // Prune dead symlinks
240
- (0, child_process_1.execSync)("brew cleanup --prune=all", { stdio: "inherit" });
241
- (0, cli_1.printVerbose)("Executed: brew cleanup --prune=all");
242
- // Clean up logs older than 30 days
243
- (0, child_process_1.execSync)("brew cleanup --prune-logs=30", { stdio: "inherit" });
244
- (0, cli_1.printVerbose)("Executed: brew cleanup --prune-logs=30");
245
- }
246
- catch (error) {
247
- (0, cli_1.printVerbose)(`Note: brew cleanup commands failed: ${error}`);
248
- }
249
- }
250
- return result;
251
- }
252
- }
253
- exports.HomebrewEnhancedCleaner = HomebrewEnhancedCleaner;
254
- exports.default = new HomebrewEnhancedCleaner();
255
- //# sourceMappingURL=brewEnhanced.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brewEnhanced.js","sourceRoot":"","sources":["../../src/cleaners/brewEnhanced.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
2
- declare class BunCleaner implements CleanerModule {
3
- name: string;
4
- type: "package-manager";
5
- description: string;
6
- private getBunVersion;
7
- private getBunCachePaths;
8
- isAvailable(): Promise<boolean>;
9
- getCacheInfo(): Promise<CacheInfo>;
10
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
11
- }
12
- declare const _default: BunCleaner;
13
- export default _default;
14
- //# sourceMappingURL=bun.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/cleaners/bun.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAQlB,cAAM,UAAW,YAAW,aAAa;IACvC,IAAI,SAAS;IACb,IAAI,EAAG,iBAAiB,CAAU;IAClC,WAAW,SAA4C;YAEzC,aAAa;YASb,gBAAgB;IAgDxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAK/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;CAoExB;;AAED,wBAAgC"}
@@ -1,207 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const path = __importStar(require("path"));
40
- const os = __importStar(require("os"));
41
- const fs_1 = require("../utils/fs");
42
- const execa_1 = __importDefault(require("execa"));
43
- const cli_1 = require("../utils/cli");
44
- const minimatch_1 = require("minimatch");
45
- class BunCleaner {
46
- constructor() {
47
- this.name = "bun";
48
- this.type = "package-manager";
49
- this.description = "Bun runtime and package manager caches";
50
- }
51
- async getBunVersion() {
52
- try {
53
- const result = await (0, execa_1.default)("bun", ["--version"]);
54
- return result.stdout.trim();
55
- }
56
- catch {
57
- return null;
58
- }
59
- }
60
- async getBunCachePaths() {
61
- const paths = [];
62
- const homeDir = os.homedir();
63
- // Bun cache directories by platform
64
- const platform = os.platform();
65
- if (platform === "darwin") {
66
- // macOS
67
- const macOSPaths = [
68
- path.join(homeDir, ".bun", "install", "cache"),
69
- path.join(homeDir, "Library", "Caches", "bun"),
70
- path.join(homeDir, ".bun", "tmp"),
71
- ];
72
- for (const cachePath of macOSPaths) {
73
- if (await (0, fs_1.pathExists)(cachePath)) {
74
- paths.push(cachePath);
75
- }
76
- }
77
- }
78
- else if (platform === "win32") {
79
- // Windows
80
- const windowsPaths = [
81
- path.join(homeDir, ".bun", "install", "cache"),
82
- path.join(homeDir, "AppData", "Local", "bun"),
83
- path.join(homeDir, ".bun", "tmp"),
84
- ];
85
- for (const cachePath of windowsPaths) {
86
- if (await (0, fs_1.pathExists)(cachePath)) {
87
- paths.push(cachePath);
88
- }
89
- }
90
- }
91
- else {
92
- // Linux/Unix
93
- const linuxPaths = [
94
- path.join(homeDir, ".bun", "install", "cache"),
95
- path.join(homeDir, ".cache", "bun"),
96
- path.join(homeDir, ".bun", "tmp"),
97
- ];
98
- for (const cachePath of linuxPaths) {
99
- if (await (0, fs_1.pathExists)(cachePath)) {
100
- paths.push(cachePath);
101
- }
102
- }
103
- }
104
- return [...new Set(paths)]; // Remove duplicates
105
- }
106
- async isAvailable() {
107
- const version = await this.getBunVersion();
108
- return version !== null;
109
- }
110
- async getCacheInfo() {
111
- const isInstalled = await this.isAvailable();
112
- if (!isInstalled) {
113
- return {
114
- name: this.name,
115
- type: this.type,
116
- description: this.description,
117
- paths: [],
118
- isInstalled: false,
119
- size: 0,
120
- };
121
- }
122
- const cachePaths = await this.getBunCachePaths();
123
- let totalSize = 0;
124
- const validPaths = [];
125
- for (const cachePath of cachePaths) {
126
- try {
127
- const size = await (0, fs_1.getDirectorySize)(cachePath);
128
- totalSize += size;
129
- validPaths.push(cachePath);
130
- (0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
131
- }
132
- catch (error) {
133
- (0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
134
- }
135
- }
136
- return {
137
- name: this.name,
138
- type: this.type,
139
- description: this.description,
140
- paths: validPaths,
141
- isInstalled: true,
142
- size: totalSize,
143
- };
144
- }
145
- async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
146
- const info = cacheInfo || (await this.getCacheInfo());
147
- if (!info.isInstalled) {
148
- return {
149
- name: this.name,
150
- success: false,
151
- error: "Bun is not installed",
152
- clearedPaths: [],
153
- sizeBefore: 0,
154
- sizeAfter: 0,
155
- };
156
- }
157
- const sizeBefore = info.size || 0;
158
- const clearedPaths = [];
159
- let errors = [];
160
- // Clear cache directories
161
- for (const cachePath of info.paths) {
162
- // Check if the path is protected
163
- const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
164
- if (isProtected) {
165
- (0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
166
- continue; // Skip this path
167
- }
168
- try {
169
- if (dryRun) {
170
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
171
- clearedPaths.push(cachePath);
172
- }
173
- else {
174
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
175
- await (0, fs_1.safeRmrf)(cachePath);
176
- clearedPaths.push(cachePath);
177
- }
178
- }
179
- catch (error) {
180
- const errorMsg = `Failed to clear ${cachePath}: ${error}`;
181
- errors.push(errorMsg);
182
- (0, cli_1.printVerbose)(errorMsg);
183
- }
184
- }
185
- // Try using bun's built-in cache clearing if available
186
- if (!dryRun && (await this.isAvailable())) {
187
- try {
188
- // Note: Bun doesn't have a dedicated cache clear command yet,
189
- // but we can try clearing install cache via reinstall with --force
190
- (0, cli_1.printVerbose)(`${cli_1.symbols.info} Note: Bun doesn't have a dedicated cache clear command`);
191
- }
192
- catch (error) {
193
- (0, cli_1.printVerbose)(`Note: Bun cache clearing failed: ${error}`);
194
- }
195
- }
196
- return {
197
- name: this.name,
198
- success: errors.length === 0,
199
- sizeBefore,
200
- sizeAfter: 0, // Set to 0 as we don't want to rescan
201
- error: errors.length > 0 ? errors.join("; ") : undefined,
202
- clearedPaths,
203
- };
204
- }
205
- }
206
- exports.default = new BunCleaner();
207
- //# sourceMappingURL=bun.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/cleaners/bun.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { CacheInfo, CacheSelectionCriteria, ClearResult, CleanerModule } from "../types";
2
- declare class CargoCleaner implements CleanerModule {
3
- name: string;
4
- type: "package-manager";
5
- description: string;
6
- private buildCategories;
7
- isAvailable(): Promise<boolean>;
8
- getCacheInfo(): Promise<CacheInfo>;
9
- private clearSelected;
10
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
11
- clearByCategory(categoryIds: string[], dryRun?: boolean, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
12
- }
13
- declare const _default: CargoCleaner;
14
- export default _default;
15
- //# sourceMappingURL=cargo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../src/cleaners/cargo.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACtB,WAAW,EACX,aAAa,EACd,MAAM,UAAU,CAAC;AASlB,cAAM,YAAa,YAAW,aAAa;IACzC,IAAI,SAAW;IACf,IAAI,EAAG,iBAAiB,CAAU;IAClC,WAAW,SACmE;YAEhE,eAAe;IAiDvB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;YAkC1B,aAAa;IAwErB,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IAsBjB,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;CAgBxB;;AAED,wBAAkC"}