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,318 +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.UniversalBinaryCleaner = void 0;
7
- const fs_1 = require("fs");
8
- const path_1 = __importDefault(require("path"));
9
- const os_1 = __importDefault(require("os"));
10
- const child_process_1 = require("child_process");
11
- const util_1 = require("util");
12
- const fs_2 = require("../utils/fs");
13
- const cli_1 = require("../utils/cli");
14
- const execAsync = (0, util_1.promisify)(child_process_1.exec);
15
- // Common application directories to scan for Universal binaries
16
- const APP_DIRECTORIES = [
17
- "/Applications",
18
- "/Applications/Utilities",
19
- path_1.default.join(os_1.default.homedir(), "Applications"),
20
- ];
21
- // Executables to skip (system critical or known problematic)
22
- const SKIP_EXECUTABLES = new Set([
23
- "Finder",
24
- "SystemUIServer",
25
- "loginwindow",
26
- "launchd",
27
- "kernel",
28
- ]);
29
- class UniversalBinaryCleaner {
30
- constructor() {
31
- this.name = "universal-binary";
32
- this.type = "system";
33
- this.description = "Thin Universal Binaries on Apple Silicon to remove unused x86_64 code";
34
- this.universalBinaries = [];
35
- }
36
- async isAvailable() {
37
- // Only available on macOS with Apple Silicon
38
- if (process.platform !== "darwin") {
39
- (0, cli_1.printVerbose)("Universal Binary cleaner only available on macOS");
40
- return false;
41
- }
42
- try {
43
- const { stdout } = await execAsync("uname -m");
44
- const arch = stdout.trim();
45
- if (arch !== "arm64") {
46
- (0, cli_1.printVerbose)(`Universal Binary cleaner requires Apple Silicon (arm64), found: ${arch}`);
47
- return false;
48
- }
49
- // Verify lipo is available
50
- await execAsync("which lipo");
51
- return true;
52
- }
53
- catch {
54
- return false;
55
- }
56
- }
57
- async findExecutablesInApp(appPath) {
58
- const executables = [];
59
- const macosPath = path_1.default.join(appPath, "Contents", "MacOS");
60
- try {
61
- if (!(await (0, fs_2.pathExists)(macosPath))) {
62
- return [];
63
- }
64
- const entries = await fs_1.promises.readdir(macosPath);
65
- for (const entry of entries) {
66
- const fullPath = path_1.default.join(macosPath, entry);
67
- try {
68
- const stat = await fs_1.promises.stat(fullPath);
69
- if (stat.isFile()) {
70
- // Check if it's an executable (not a script or config)
71
- const { stdout } = await execAsync(`file "${fullPath}" 2>/dev/null`);
72
- if (stdout.includes("Mach-O") &&
73
- !SKIP_EXECUTABLES.has(path_1.default.basename(fullPath))) {
74
- executables.push(fullPath);
75
- }
76
- }
77
- }
78
- catch {
79
- // Skip files we can't stat
80
- }
81
- }
82
- }
83
- catch {
84
- // Skip apps we can't read
85
- }
86
- return executables;
87
- }
88
- async checkIfUniversal(binaryPath) {
89
- try {
90
- const { stdout } = await execAsync(`lipo -info "${binaryPath}" 2>&1`);
91
- // Parse lipo output: "Architectures in the fat file: /path are: x86_64 arm64"
92
- // or "Non-fat file: /path is architecture: arm64"
93
- if (stdout.includes("Architectures in the fat file")) {
94
- const archMatch = stdout.match(/are:\s*(.+)$/m);
95
- if (archMatch) {
96
- const architectures = archMatch[1].trim().split(/\s+/);
97
- return {
98
- isUniversal: architectures.length > 1,
99
- architectures,
100
- };
101
- }
102
- }
103
- // Single architecture
104
- const singleArchMatch = stdout.match(/is architecture:\s*(\w+)/);
105
- if (singleArchMatch) {
106
- return {
107
- isUniversal: false,
108
- architectures: [singleArchMatch[1]],
109
- };
110
- }
111
- return { isUniversal: false, architectures: [] };
112
- }
113
- catch {
114
- return { isUniversal: false, architectures: [] };
115
- }
116
- }
117
- async getBinarySize(binaryPath) {
118
- try {
119
- const stat = await fs_1.promises.stat(binaryPath);
120
- return stat.size;
121
- }
122
- catch {
123
- return 0;
124
- }
125
- }
126
- async scanForUniversalBinaries() {
127
- const universalBinaries = [];
128
- for (const appDir of APP_DIRECTORIES) {
129
- if (!(await (0, fs_2.pathExists)(appDir))) {
130
- continue;
131
- }
132
- (0, cli_1.printVerbose)(`Scanning ${appDir} for Universal Binaries...`);
133
- try {
134
- const entries = await fs_1.promises.readdir(appDir);
135
- for (const entry of entries) {
136
- if (!entry.endsWith(".app")) {
137
- continue;
138
- }
139
- const appPath = path_1.default.join(appDir, entry);
140
- const executables = await this.findExecutablesInApp(appPath);
141
- for (const execPath of executables) {
142
- const { isUniversal, architectures } = await this.checkIfUniversal(execPath);
143
- if (isUniversal && architectures.includes("arm64")) {
144
- const totalSize = await this.getBinarySize(execPath);
145
- // Estimate savings as roughly half the binary size (x86_64 portion)
146
- const x86Archs = architectures.filter((a) => a.includes("x86") || a.includes("i386"));
147
- const potentialSavings = Math.round((totalSize * x86Archs.length) / architectures.length);
148
- universalBinaries.push({
149
- appPath,
150
- appName: path_1.default.basename(appPath, ".app"),
151
- binaryPath: execPath,
152
- totalSize,
153
- architectures,
154
- potentialSavings,
155
- });
156
- (0, cli_1.printVerbose)(`Found Universal Binary: ${entry} (${architectures.join(", ")}) - potential savings: ${(potentialSavings / (1024 * 1024)).toFixed(1)} MB`);
157
- }
158
- }
159
- }
160
- }
161
- catch (error) {
162
- (0, cli_1.printVerbose)(`Error scanning ${appDir}: ${error}`);
163
- }
164
- }
165
- return universalBinaries;
166
- }
167
- async getCacheInfo() {
168
- if (!(await this.isAvailable())) {
169
- return {
170
- name: this.name,
171
- type: this.type,
172
- description: this.description,
173
- paths: [],
174
- isInstalled: false,
175
- size: 0,
176
- };
177
- }
178
- (0, cli_1.printVerbose)("Scanning for Universal Binaries on Apple Silicon...");
179
- this.universalBinaries = await this.scanForUniversalBinaries();
180
- const totalSavings = this.universalBinaries.reduce((sum, b) => sum + b.potentialSavings, 0);
181
- (0, cli_1.printVerbose)(`Found ${this.universalBinaries.length} Universal Binaries`);
182
- (0, cli_1.printVerbose)(`Total potential savings: ${(totalSavings / (1024 * 1024)).toFixed(1)} MB`);
183
- return {
184
- name: this.name,
185
- type: this.type,
186
- description: this.description,
187
- paths: this.universalBinaries.map((b) => b.binaryPath),
188
- isInstalled: true,
189
- size: totalSavings, // Report potential savings as "cache size"
190
- categories: await this.getCacheCategories(),
191
- };
192
- }
193
- async getCacheCategories() {
194
- if (this.universalBinaries.length === 0) {
195
- this.universalBinaries = await this.scanForUniversalBinaries();
196
- }
197
- // Group by application for user-friendly selection
198
- return this.universalBinaries.map((binary) => ({
199
- id: `universal-${binary.appName.toLowerCase().replace(/\s+/g, "-")}`,
200
- name: binary.appName,
201
- description: `Universal Binary: ${binary.architectures.join(", ")} - ${(binary.potentialSavings / (1024 * 1024)).toFixed(1)} MB potential savings`,
202
- paths: [binary.binaryPath],
203
- size: binary.potentialSavings,
204
- priority: "low", // Thinning is optional optimization
205
- useCase: "archived", // x86_64 code is legacy on Apple Silicon
206
- isProjectSpecific: false,
207
- }));
208
- }
209
- async clear(dryRun = false, criteria, cacheInfo) {
210
- const info = cacheInfo || (await this.getCacheInfo());
211
- if (!info.isInstalled) {
212
- return {
213
- name: this.name,
214
- success: false,
215
- error: "Universal Binary cleaner requires macOS on Apple Silicon (arm64)",
216
- clearedPaths: [],
217
- sizeBefore: 0,
218
- sizeAfter: 0,
219
- };
220
- }
221
- // Filter binaries based on criteria
222
- let binariesToThin = this.universalBinaries;
223
- if (criteria?.categories && criteria.categories.length > 0) {
224
- binariesToThin = binariesToThin.filter((b) => {
225
- const categoryId = `universal-${b.appName.toLowerCase().replace(/\s+/g, "-")}`;
226
- return criteria.categories.includes(categoryId);
227
- });
228
- }
229
- if (binariesToThin.length === 0) {
230
- return {
231
- name: this.name,
232
- success: true,
233
- clearedPaths: [],
234
- sizeBefore: 0,
235
- sizeAfter: 0,
236
- };
237
- }
238
- const sizeBefore = binariesToThin.reduce((sum, b) => sum + b.totalSize, 0);
239
- if (dryRun) {
240
- (0, cli_1.printVerbose)(`[DRY RUN] Would thin ${binariesToThin.length} Universal Binaries:`);
241
- for (const binary of binariesToThin) {
242
- (0, cli_1.printVerbose)(` • ${binary.appName}: ${binary.architectures.join(", ")} → arm64 only`);
243
- (0, cli_1.printVerbose)(` Potential savings: ${(binary.potentialSavings / (1024 * 1024)).toFixed(1)} MB`);
244
- }
245
- return {
246
- name: this.name,
247
- success: true,
248
- sizeBefore,
249
- sizeAfter: sizeBefore,
250
- clearedPaths: binariesToThin.map((b) => b.binaryPath),
251
- };
252
- }
253
- const clearedPaths = [];
254
- let totalFreed = 0;
255
- let error;
256
- for (const binary of binariesToThin) {
257
- try {
258
- (0, cli_1.printVerbose)(`Thinning ${binary.appName}...`);
259
- // Create backup first (optional safety measure)
260
- const backupPath = `${binary.binaryPath}.universal.bak`;
261
- // Thin the binary to arm64 only
262
- // Note: This requires proper permissions and may need sudo for system apps
263
- const tempPath = `${binary.binaryPath}.thin`;
264
- try {
265
- // Extract arm64 slice to temp file
266
- await execAsync(`lipo -thin arm64 "${binary.binaryPath}" -output "${tempPath}"`);
267
- // Backup original
268
- await fs_1.promises.rename(binary.binaryPath, backupPath);
269
- // Move thinned version
270
- await fs_1.promises.rename(tempPath, binary.binaryPath);
271
- // Preserve permissions
272
- await execAsync(`chmod +x "${binary.binaryPath}"`);
273
- // Remove backup on success
274
- await fs_1.promises.unlink(backupPath);
275
- clearedPaths.push(binary.binaryPath);
276
- totalFreed += binary.potentialSavings;
277
- (0, cli_1.printVerbose)(`✓ Thinned ${binary.appName}: saved ${(binary.potentialSavings / (1024 * 1024)).toFixed(1)} MB`);
278
- }
279
- catch (thinError) {
280
- // Restore backup if it exists
281
- if (await (0, fs_2.pathExists)(backupPath)) {
282
- try {
283
- await fs_1.promises.rename(backupPath, binary.binaryPath);
284
- }
285
- catch {
286
- // Backup restore failed
287
- }
288
- }
289
- throw thinError;
290
- }
291
- }
292
- catch (err) {
293
- const errMsg = err instanceof Error ? err.message : String(err);
294
- (0, cli_1.printVerbose)(`Failed to thin ${binary.appName}: ${errMsg}`);
295
- if (!error) {
296
- error = `Some binaries could not be thinned (may require elevated permissions): ${errMsg}`;
297
- }
298
- }
299
- }
300
- return {
301
- name: this.name,
302
- success: clearedPaths.length > 0,
303
- sizeBefore,
304
- sizeAfter: sizeBefore - totalFreed,
305
- error,
306
- clearedPaths,
307
- };
308
- }
309
- async clearByCategory(categoryIds, dryRun = false) {
310
- return this.clear(dryRun, { categories: categoryIds });
311
- }
312
- static create() {
313
- return new UniversalBinaryCleaner();
314
- }
315
- }
316
- exports.UniversalBinaryCleaner = UniversalBinaryCleaner;
317
- exports.default = UniversalBinaryCleaner.create();
318
- //# sourceMappingURL=universalBinary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"universalBinary.js","sourceRoot":"","sources":["../../src/cleaners/universalBinary.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
2
- export declare class ViteCleaner implements CleanerModule {
3
- name: string;
4
- type: "build-tool";
5
- description: string;
6
- private findViteCaches;
7
- private findViteCachesRecursively;
8
- private hasViteProjects;
9
- private searchForViteProjects;
10
- private isViteProject;
11
- isAvailable(): Promise<boolean>;
12
- getCacheInfo(): Promise<CacheInfo>;
13
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo): Promise<ClearResult>;
14
- }
15
- declare const _default: ViteCleaner;
16
- export default _default;
17
- //# sourceMappingURL=vite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../src/cleaners/vite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAOlB,qBAAa,WAAY,YAAW,aAAa;IAC/C,IAAI,SAAU;IACd,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAAgD;YAE7C,cAAc;YAgCd,yBAAyB;YAuDzB,eAAe;YA+Bf,qBAAqB;YA6CrB,aAAa;IAsBrB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA4BlC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,WAAW,CAAC;CA4CxB;;AAED,wBAAiC"}
@@ -1,274 +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
- exports.ViteCleaner = void 0;
37
- const fs_1 = require("fs");
38
- const path = __importStar(require("path"));
39
- const os = __importStar(require("os"));
40
- const fs_2 = require("../utils/fs");
41
- const cli_1 = require("../utils/cli");
42
- class ViteCleaner {
43
- constructor() {
44
- this.name = "vite";
45
- this.type = "build-tool";
46
- this.description = "Vite build tool caches and temporary files";
47
- }
48
- async findViteCaches() {
49
- const caches = [];
50
- const homeDir = os.homedir();
51
- // Common project directories to search
52
- const searchDirs = [
53
- path.join(homeDir, "Projects"),
54
- path.join(homeDir, "Development"),
55
- path.join(homeDir, "dev"),
56
- path.join(homeDir, "workspace"),
57
- path.join(homeDir, "Documents"),
58
- process.cwd(), // Current directory
59
- ];
60
- // Search for project-specific vite caches
61
- for (const searchDir of searchDirs) {
62
- if (await (0, fs_2.pathExists)(searchDir)) {
63
- try {
64
- const projectCaches = await this.findViteCachesRecursively(searchDir, 3);
65
- caches.push(...projectCaches);
66
- }
67
- catch (error) {
68
- (0, cli_1.printVerbose)(`Error searching ${searchDir}: ${error}`);
69
- }
70
- }
71
- }
72
- return [...new Set(caches)]; // Remove duplicates
73
- }
74
- async findViteCachesRecursively(dir, maxDepth) {
75
- if (maxDepth <= 0)
76
- return [];
77
- const viteCaches = [];
78
- try {
79
- const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
80
- for (const entry of entries) {
81
- if (entry.isDirectory() &&
82
- !entry.name.startsWith(".") &&
83
- entry.name !== "node_modules") {
84
- const fullPath = path.join(dir, entry.name);
85
- // Check for vite cache directories
86
- const cacheLocations = [
87
- path.join(fullPath, "node_modules", ".vite"),
88
- path.join(fullPath, ".vite"),
89
- path.join(fullPath, "dist"), // Vite output directory
90
- ];
91
- for (const cacheLocation of cacheLocations) {
92
- if (await (0, fs_2.pathExists)(cacheLocation)) {
93
- // For dist folders, only include if it's actually a vite project
94
- if (cacheLocation.endsWith("dist")) {
95
- const packageJsonPath = path.join(fullPath, "package.json");
96
- if (await this.isViteProject(packageJsonPath)) {
97
- viteCaches.push(cacheLocation);
98
- }
99
- }
100
- else {
101
- viteCaches.push(cacheLocation);
102
- }
103
- }
104
- }
105
- // Recursively search subdirectories
106
- const subCaches = await this.findViteCachesRecursively(fullPath, maxDepth - 1);
107
- viteCaches.push(...subCaches);
108
- }
109
- }
110
- }
111
- catch {
112
- // Ignore permission errors or other issues
113
- }
114
- return viteCaches;
115
- }
116
- async hasViteProjects() {
117
- const homeDir = os.homedir();
118
- // Check current directory first
119
- const currentDirPackageJson = path.join(process.cwd(), "package.json");
120
- if (await this.isViteProject(currentDirPackageJson)) {
121
- return true;
122
- }
123
- // Search common project directories
124
- const searchDirs = [
125
- path.join(homeDir, "Projects"),
126
- path.join(homeDir, "Development"),
127
- path.join(homeDir, "dev"),
128
- path.join(homeDir, "workspace"),
129
- ];
130
- for (const searchDir of searchDirs) {
131
- if (await (0, fs_2.pathExists)(searchDir)) {
132
- try {
133
- const hasVite = await this.searchForViteProjects(searchDir, 2);
134
- if (hasVite)
135
- return true;
136
- }
137
- catch {
138
- // Continue searching
139
- }
140
- }
141
- }
142
- return false;
143
- }
144
- async searchForViteProjects(dir, maxDepth) {
145
- if (maxDepth <= 0)
146
- return false;
147
- try {
148
- const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
149
- for (const entry of entries) {
150
- if (entry.isDirectory() && !entry.name.startsWith(".")) {
151
- const fullPath = path.join(dir, entry.name);
152
- const packageJsonPath = path.join(fullPath, "package.json");
153
- if (await this.isViteProject(packageJsonPath)) {
154
- return true;
155
- }
156
- // Check for vite config files
157
- const viteConfigFiles = [
158
- "vite.config.js",
159
- "vite.config.ts",
160
- "vite.config.mjs",
161
- "vite.config.cjs",
162
- ];
163
- for (const configFile of viteConfigFiles) {
164
- if (await (0, fs_2.pathExists)(path.join(fullPath, configFile))) {
165
- return true;
166
- }
167
- }
168
- // Recursively search
169
- if (await this.searchForViteProjects(fullPath, maxDepth - 1)) {
170
- return true;
171
- }
172
- }
173
- }
174
- }
175
- catch {
176
- // Ignore errors
177
- }
178
- return false;
179
- }
180
- async isViteProject(packageJsonPath) {
181
- try {
182
- if (!(await (0, fs_2.pathExists)(packageJsonPath)))
183
- return false;
184
- const content = await fs_1.promises.readFile(packageJsonPath, "utf-8");
185
- const packageJson = JSON.parse(content);
186
- // Check for vite in dependencies or devDependencies
187
- const deps = {
188
- ...packageJson.dependencies,
189
- ...packageJson.devDependencies,
190
- };
191
- return ("vite" in deps ||
192
- "@vitejs/plugin-react" in deps ||
193
- "@vitejs/plugin-vue" in deps);
194
- }
195
- catch {
196
- return false;
197
- }
198
- }
199
- async isAvailable() {
200
- // Check if vite caches exist or if there are vite projects
201
- const caches = await this.findViteCaches();
202
- const hasProjects = await this.hasViteProjects();
203
- return caches.length > 0 || hasProjects;
204
- }
205
- async getCacheInfo() {
206
- const cachePaths = await this.findViteCaches();
207
- let totalSize = 0;
208
- const validPaths = [];
209
- for (const cachePath of cachePaths) {
210
- try {
211
- const size = await (0, fs_2.getDirectorySize)(cachePath);
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: await this.isAvailable(),
226
- size: totalSize,
227
- };
228
- }
229
- async clear(dryRun = false, _criteria, cacheInfo) {
230
- const info = cacheInfo || (await this.getCacheInfo());
231
- if (!info.isInstalled) {
232
- return {
233
- name: this.name,
234
- success: false,
235
- error: "No Vite caches found",
236
- clearedPaths: [],
237
- sizeBefore: 0,
238
- sizeAfter: 0,
239
- };
240
- }
241
- const sizeBefore = info.size || 0;
242
- const clearedPaths = [];
243
- let errors = [];
244
- for (const cachePath of info.paths) {
245
- try {
246
- if (dryRun) {
247
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
248
- clearedPaths.push(cachePath);
249
- }
250
- else {
251
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
252
- await (0, fs_2.safeRmrf)(cachePath);
253
- clearedPaths.push(cachePath);
254
- }
255
- }
256
- catch (error) {
257
- const errorMsg = `Failed to clear ${cachePath}: ${error}`;
258
- errors.push(errorMsg);
259
- (0, cli_1.printVerbose)(errorMsg);
260
- }
261
- }
262
- return {
263
- name: this.name,
264
- success: errors.length === 0,
265
- sizeBefore,
266
- sizeAfter: 0, // Set to 0 as we don't want to rescan
267
- error: errors.length > 0 ? errors.join("; ") : undefined,
268
- clearedPaths,
269
- };
270
- }
271
- }
272
- exports.ViteCleaner = ViteCleaner;
273
- exports.default = new ViteCleaner();
274
- //# sourceMappingURL=vite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/cleaners/vite.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { CacheInfo, ClearResult, CleanerModule, CacheSelectionCriteria } from "../types";
2
- export declare class VSCodeCleaner implements CleanerModule {
3
- name: string;
4
- type: "ide";
5
- description: string;
6
- private getCachePaths;
7
- private discoverAdditionalVSCodeCaches;
8
- isAvailable(): Promise<boolean>;
9
- getCacheInfo(): Promise<CacheInfo>;
10
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo): Promise<ClearResult>;
11
- static create(): VSCodeCleaner;
12
- }
13
- declare const _default: VSCodeCleaner;
14
- export default _default;
15
- //# sourceMappingURL=vscode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode.d.ts","sourceRoot":"","sources":["../../src/cleaners/vscode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAoBlB,qBAAa,aAAc,YAAW,aAAa;IACjD,IAAI,SAAY;IAChB,IAAI,EAAG,KAAK,CAAU;IACtB,WAAW,SACgE;IAE3E,OAAO,CAAC,aAAa;YA0IP,8BAA8B;IAyCtC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA8D/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA0ElC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,WAAW,CAAC;IA2JvB,MAAM,CAAC,MAAM,IAAI,aAAa;CAG/B;;AAED,wBAAsC"}