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,354 +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.VSCodeCleaner = void 0;
7
- const fs_1 = require("fs");
8
- const path_1 = __importDefault(require("path"));
9
- const os_1 = __importDefault(require("os"));
10
- const fs_2 = require("../utils/fs");
11
- const cli_1 = require("../utils/cli");
12
- class VSCodeCleaner {
13
- constructor() {
14
- this.name = "vscode";
15
- this.type = "ide";
16
- this.description = "VS Code extensions cache, workspace storage, logs, and temporary files";
17
- }
18
- getCachePaths() {
19
- const homeDir = os_1.default.homedir();
20
- const platform = process.platform;
21
- let vscodeConfigDir;
22
- let vscodeExtensionsDir;
23
- if (platform === "darwin") {
24
- vscodeConfigDir = path_1.default.join(homeDir, "Library", "Application Support", "Code");
25
- vscodeExtensionsDir = path_1.default.join(homeDir, ".vscode", "extensions");
26
- }
27
- else if (platform === "win32") {
28
- vscodeConfigDir = path_1.default.join(homeDir, "AppData", "Roaming", "Code");
29
- vscodeExtensionsDir = path_1.default.join(homeDir, ".vscode", "extensions");
30
- }
31
- else {
32
- vscodeConfigDir = path_1.default.join(homeDir, ".config", "Code");
33
- vscodeExtensionsDir = path_1.default.join(homeDir, ".vscode", "extensions");
34
- }
35
- return [
36
- // Extension host cache and logs
37
- {
38
- path: path_1.default.join(vscodeConfigDir, "logs"),
39
- description: "VS Code application logs",
40
- category: "Logs",
41
- },
42
- {
43
- path: path_1.default.join(vscodeConfigDir, "CachedExtensions"),
44
- description: "Cached extension metadata",
45
- category: "Extensions",
46
- },
47
- {
48
- path: path_1.default.join(vscodeConfigDir, "CachedExtensionVSIXs"),
49
- description: "Cached extension VSIX files",
50
- category: "Extensions",
51
- },
52
- // Workspace storage and state
53
- {
54
- path: path_1.default.join(vscodeConfigDir, "User", "workspaceStorage"),
55
- description: "Workspace-specific cache and state",
56
- category: "Workspaces",
57
- },
58
- {
59
- path: path_1.default.join(vscodeConfigDir, "User", "History"),
60
- description: "File history and timeline cache",
61
- category: "History",
62
- },
63
- // Language server and IntelliSense caches
64
- {
65
- path: path_1.default.join(vscodeConfigDir, "User", "globalStorage"),
66
- description: "Extension global storage (some safe to clear)",
67
- category: "Storage",
68
- },
69
- // Crash dumps and diagnostic data
70
- {
71
- path: path_1.default.join(vscodeConfigDir, "CrashDumps"),
72
- description: "Application crash dumps",
73
- category: "Diagnostics",
74
- },
75
- // Extension-specific caches in extensions folder
76
- {
77
- path: path_1.default.join(vscodeExtensionsDir, ".obsolete"),
78
- description: "Obsolete extension files",
79
- category: "Extensions",
80
- },
81
- // Platform-specific additional locations
82
- ...(platform === "darwin"
83
- ? [
84
- {
85
- path: path_1.default.join(homeDir, "Library", "Caches", "com.microsoft.VSCode"),
86
- description: "macOS VS Code application cache",
87
- category: "App Cache",
88
- },
89
- {
90
- path: path_1.default.join(homeDir, "Library", "Logs", "Microsoft VS Code"),
91
- description: "macOS VS Code system logs",
92
- category: "Logs",
93
- },
94
- ]
95
- : []),
96
- ...(platform === "win32"
97
- ? [
98
- {
99
- path: path_1.default.join(homeDir, "AppData", "Local", "Microsoft", "vscode-cpptools"),
100
- description: "C++ extension cache",
101
- category: "Language Servers",
102
- },
103
- ]
104
- : []),
105
- // Common language server caches (cross-platform)
106
- {
107
- path: path_1.default.join(homeDir, ".vscode-server", "data", "logs"),
108
- description: "Remote development server logs",
109
- category: "Remote",
110
- },
111
- ];
112
- }
113
- async isAvailable() {
114
- try {
115
- (0, cli_1.printVerbose)("Checking if VS Code is installed...");
116
- const platform = process.platform;
117
- const vscodeInstalls = [
118
- // macOS
119
- "/Applications/Visual Studio Code.app",
120
- "/Applications/Visual Studio Code - Insiders.app",
121
- // Windows
122
- path_1.default.join(process.env.PROGRAMFILES || "", "Microsoft VS Code", "Code.exe"),
123
- path_1.default.join(process.env.LOCALAPPDATA || "", "Programs", "Microsoft VS Code", "Code.exe"),
124
- // Linux
125
- "/usr/bin/code",
126
- "/snap/code/current/usr/share/code/code",
127
- "/usr/share/code/code",
128
- ];
129
- for (const install of vscodeInstalls) {
130
- if (await (0, fs_2.pathExists)(install)) {
131
- (0, cli_1.printVerbose)(`Found VS Code at ${install}`);
132
- return true;
133
- }
134
- }
135
- // Also check if we have VS Code config directories (indicates usage)
136
- const homeDir = os_1.default.homedir();
137
- let configDir;
138
- if (platform === "darwin") {
139
- configDir = path_1.default.join(homeDir, "Library", "Application Support", "Code");
140
- }
141
- else if (platform === "win32") {
142
- configDir = path_1.default.join(homeDir, "AppData", "Roaming", "Code");
143
- }
144
- else {
145
- configDir = path_1.default.join(homeDir, ".config", "Code");
146
- }
147
- if (await (0, fs_2.pathExists)(configDir)) {
148
- (0, cli_1.printVerbose)(`Found VS Code config directory at ${configDir}`);
149
- return true;
150
- }
151
- return false;
152
- }
153
- catch {
154
- return false;
155
- }
156
- }
157
- async getCacheInfo() {
158
- const allPaths = this.getCachePaths();
159
- const existingPaths = [];
160
- let totalSize = 0;
161
- let lastModified;
162
- const categories = new Map();
163
- (0, cli_1.printVerbose)(`Checking ${allPaths.length} VS Code cache locations...`);
164
- for (const { path: cachePath, description, category } of allPaths) {
165
- if (await (0, fs_2.pathExists)(cachePath)) {
166
- existingPaths.push(cachePath);
167
- try {
168
- // Use estimation for potentially large directories to avoid timeouts
169
- const isLargeDirectory = category === "Storage" ||
170
- category === "Workspaces" ||
171
- cachePath.includes("extensions");
172
- const size = isLargeDirectory
173
- ? await (0, fs_2.getEstimatedDirectorySize)(cachePath)
174
- : await (0, fs_2.getDirectorySize)(cachePath);
175
- totalSize += size;
176
- // Track by category
177
- const existing = categories.get(category) || { size: 0, count: 0 };
178
- categories.set(category, {
179
- size: existing.size + size,
180
- count: existing.count + 1,
181
- });
182
- const stats = await fs_1.promises.stat(cachePath);
183
- if (!lastModified || stats.mtime > lastModified) {
184
- lastModified = stats.mtime;
185
- }
186
- const sizeInMB = (size / (1024 * 1024)).toFixed(1);
187
- const sizeType = isLargeDirectory ? " estimated" : "";
188
- (0, cli_1.printVerbose)(`Found ${category}: ${cachePath} (${sizeInMB} MB${sizeType}) - ${description}`);
189
- }
190
- catch (error) {
191
- (0, cli_1.printVerbose)(`Error checking ${cachePath}: ${error}`);
192
- }
193
- }
194
- }
195
- // Log category summary
196
- if (categories.size > 0) {
197
- (0, cli_1.printVerbose)("=== VS Code Cache Summary by Category ===");
198
- categories.forEach((info, category) => {
199
- const sizeInMB = (info.size / (1024 * 1024)).toFixed(1);
200
- (0, cli_1.printVerbose)(`${category}: ${info.count} locations, ${sizeInMB} MB`);
201
- });
202
- }
203
- return {
204
- name: this.name,
205
- type: this.type,
206
- description: this.description,
207
- paths: existingPaths,
208
- isInstalled: await this.isAvailable(),
209
- size: totalSize,
210
- lastModified,
211
- };
212
- }
213
- async clear(dryRun = false, _criteria, cacheInfo) {
214
- const info = cacheInfo || (await this.getCacheInfo());
215
- const clearedPaths = [];
216
- const sizeBefore = info.size || 0;
217
- let success = true;
218
- let error;
219
- if (!info.isInstalled) {
220
- return {
221
- name: this.name,
222
- success: false,
223
- error: "VS Code is not installed or configured",
224
- clearedPaths: [],
225
- sizeBefore: 0,
226
- sizeAfter: 0,
227
- };
228
- }
229
- if (info.paths.length === 0) {
230
- (0, cli_1.printVerbose)("No VS Code cache directories found");
231
- return {
232
- name: this.name,
233
- success: true,
234
- clearedPaths: [],
235
- sizeBefore: 0,
236
- sizeAfter: 0,
237
- };
238
- }
239
- try {
240
- if (dryRun) {
241
- (0, cli_1.printVerbose)(`[DRY RUN] Would clear ${info.paths.length} VS Code cache locations:`);
242
- const pathsWithInfo = this.getCachePaths();
243
- for (const cachePath of info.paths) {
244
- const pathInfo = pathsWithInfo.find((p) => p.path === cachePath);
245
- (0, cli_1.printVerbose)(` • ${pathInfo?.category || "Unknown"}: ${cachePath}`);
246
- if (pathInfo?.description) {
247
- (0, cli_1.printVerbose)(` ${pathInfo.description}`);
248
- }
249
- }
250
- return {
251
- name: this.name,
252
- success: true,
253
- sizeBefore,
254
- sizeAfter: sizeBefore,
255
- clearedPaths: info.paths,
256
- };
257
- }
258
- const pathsWithInfo = this.getCachePaths();
259
- // Clear caches by category priority (safest first)
260
- const priorityOrder = [
261
- "Logs",
262
- "Diagnostics",
263
- "App Cache",
264
- "Extensions",
265
- "History",
266
- "Language Servers",
267
- "Remote",
268
- "Workspaces", // More careful - contains workspace state
269
- "Storage", // Most careful - contains extension settings
270
- ];
271
- const categorizedPaths = new Map();
272
- for (const cachePath of info.paths) {
273
- const pathInfo = pathsWithInfo.find((p) => p.path === cachePath);
274
- const category = pathInfo?.category || "Other";
275
- if (!categorizedPaths.has(category)) {
276
- categorizedPaths.set(category, []);
277
- }
278
- categorizedPaths.get(category).push(cachePath);
279
- }
280
- // Clear in priority order
281
- for (const category of priorityOrder) {
282
- const paths = categorizedPaths.get(category);
283
- if (!paths)
284
- continue;
285
- (0, cli_1.printVerbose)(`Clearing ${category} caches...`);
286
- for (const cachePath of paths) {
287
- try {
288
- if (await (0, fs_2.pathExists)(cachePath)) {
289
- const pathInfo = pathsWithInfo.find((p) => p.path === cachePath);
290
- (0, cli_1.printVerbose)(`Clearing ${category}: ${cachePath}`);
291
- if (pathInfo?.description) {
292
- (0, cli_1.printVerbose)(` Purpose: ${pathInfo.description}`);
293
- }
294
- await (0, fs_2.safeRmrf)(cachePath);
295
- clearedPaths.push(cachePath);
296
- }
297
- }
298
- catch (pathError) {
299
- (0, cli_1.printVerbose)(`Failed to clear ${cachePath}: ${pathError}`);
300
- success = false;
301
- if (!error) {
302
- error = `Failed to clear some VS Code cache directories: ${pathError}`;
303
- }
304
- }
305
- }
306
- }
307
- // Handle any remaining uncategorized paths
308
- const remainingPaths = info.paths.filter((p) => !clearedPaths.includes(p));
309
- for (const cachePath of remainingPaths) {
310
- try {
311
- if (await (0, fs_2.pathExists)(cachePath)) {
312
- (0, cli_1.printVerbose)(`Clearing remaining cache: ${cachePath}`);
313
- await (0, fs_2.safeRmrf)(cachePath);
314
- clearedPaths.push(cachePath);
315
- }
316
- }
317
- catch (pathError) {
318
- (0, cli_1.printVerbose)(`Failed to clear ${cachePath}: ${pathError}`);
319
- success = false;
320
- if (!error) {
321
- error = `Failed to clear some cache directories: ${pathError}`;
322
- }
323
- }
324
- }
325
- if (sizeBefore > 0) {
326
- (0, cli_1.printVerbose)(`Freed space from VS Code cache data`);
327
- }
328
- return {
329
- name: this.name,
330
- success,
331
- sizeBefore,
332
- sizeAfter: 0, // Set to 0 as we don't want to rescan
333
- error,
334
- clearedPaths,
335
- };
336
- }
337
- catch (clearError) {
338
- return {
339
- name: this.name,
340
- success: false,
341
- sizeBefore,
342
- sizeAfter: sizeBefore,
343
- error: clearError instanceof Error ? clearError.message : String(clearError),
344
- clearedPaths,
345
- };
346
- }
347
- }
348
- static create() {
349
- return new VSCodeCleaner();
350
- }
351
- }
352
- exports.VSCodeCleaner = VSCodeCleaner;
353
- exports.default = VSCodeCleaner.create();
354
- //# sourceMappingURL=vscode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../src/cleaners/vscode.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
2
- export declare class WebpackCleaner implements CleanerModule {
3
- name: string;
4
- type: "build-tool";
5
- description: string;
6
- private findWebpackCaches;
7
- private findWebpackCachesRecursively;
8
- private hasWebpackProjects;
9
- private searchForWebpackProjects;
10
- private isWebpackProject;
11
- isAvailable(): Promise<boolean>;
12
- getCacheInfo(): Promise<CacheInfo>;
13
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo): Promise<ClearResult>;
14
- }
15
- declare const _default: WebpackCleaner;
16
- export default _default;
17
- //# sourceMappingURL=webpack.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/cleaners/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAOlB,qBAAa,cAAe,YAAW,aAAa;IAClD,IAAI,SAAa;IACjB,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAA8C;YAE3C,iBAAiB;YA6CjB,4BAA4B;YAgD5B,kBAAkB;YA+BlB,wBAAwB;YA+BxB,gBAAgB;IAkBxB,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,wBAAoC"}
@@ -1,263 +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.WebpackCleaner = 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 WebpackCleaner {
43
- constructor() {
44
- this.name = "webpack";
45
- this.type = "build-tool";
46
- this.description = "Webpack build caches and temporary files";
47
- }
48
- async findWebpackCaches() {
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
- // Also check for global webpack caches
61
- const globalCachePaths = [
62
- path.join(homeDir, ".webpack"),
63
- path.join(homeDir, ".cache", "webpack"),
64
- path.join(homeDir, "node_modules", ".cache", "webpack"),
65
- ];
66
- for (const globalPath of globalCachePaths) {
67
- if (await (0, fs_2.pathExists)(globalPath)) {
68
- caches.push(globalPath);
69
- }
70
- }
71
- // Search for project-specific webpack caches
72
- for (const searchDir of searchDirs) {
73
- if (await (0, fs_2.pathExists)(searchDir)) {
74
- try {
75
- const projectCaches = await this.findWebpackCachesRecursively(searchDir, 3);
76
- caches.push(...projectCaches);
77
- }
78
- catch (error) {
79
- (0, cli_1.printVerbose)(`Error searching ${searchDir}: ${error}`);
80
- }
81
- }
82
- }
83
- return [...new Set(caches)]; // Remove duplicates
84
- }
85
- async findWebpackCachesRecursively(dir, maxDepth) {
86
- if (maxDepth <= 0)
87
- return [];
88
- const webpackCaches = [];
89
- try {
90
- const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
91
- for (const entry of entries) {
92
- if (entry.isDirectory() &&
93
- !entry.name.startsWith(".") &&
94
- entry.name !== "node_modules") {
95
- const fullPath = path.join(dir, entry.name);
96
- // Check for webpack cache directories
97
- const cacheLocations = [
98
- path.join(fullPath, "node_modules", ".cache", "webpack"),
99
- path.join(fullPath, ".webpack-cache"),
100
- path.join(fullPath, "webpack-cache"),
101
- path.join(fullPath, ".cache", "webpack"),
102
- ];
103
- for (const cacheLocation of cacheLocations) {
104
- if (await (0, fs_2.pathExists)(cacheLocation)) {
105
- webpackCaches.push(cacheLocation);
106
- }
107
- }
108
- // Recursively search subdirectories
109
- const subCaches = await this.findWebpackCachesRecursively(fullPath, maxDepth - 1);
110
- webpackCaches.push(...subCaches);
111
- }
112
- }
113
- }
114
- catch {
115
- // Ignore permission errors or other issues
116
- }
117
- return webpackCaches;
118
- }
119
- async hasWebpackProjects() {
120
- const homeDir = os.homedir();
121
- // Check current directory first
122
- const currentDirPackageJson = path.join(process.cwd(), "package.json");
123
- if (await this.isWebpackProject(currentDirPackageJson)) {
124
- return true;
125
- }
126
- // Search common project directories
127
- const searchDirs = [
128
- path.join(homeDir, "Projects"),
129
- path.join(homeDir, "Development"),
130
- path.join(homeDir, "dev"),
131
- path.join(homeDir, "workspace"),
132
- ];
133
- for (const searchDir of searchDirs) {
134
- if (await (0, fs_2.pathExists)(searchDir)) {
135
- try {
136
- const hasWebpack = await this.searchForWebpackProjects(searchDir, 2);
137
- if (hasWebpack)
138
- return true;
139
- }
140
- catch {
141
- // Continue searching
142
- }
143
- }
144
- }
145
- return false;
146
- }
147
- async searchForWebpackProjects(dir, maxDepth) {
148
- if (maxDepth <= 0)
149
- return false;
150
- try {
151
- const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
152
- for (const entry of entries) {
153
- if (entry.isDirectory() && !entry.name.startsWith(".")) {
154
- const fullPath = path.join(dir, entry.name);
155
- const packageJsonPath = path.join(fullPath, "package.json");
156
- if (await this.isWebpackProject(packageJsonPath)) {
157
- return true;
158
- }
159
- // Recursively search
160
- if (await this.searchForWebpackProjects(fullPath, maxDepth - 1)) {
161
- return true;
162
- }
163
- }
164
- }
165
- }
166
- catch {
167
- // Ignore errors
168
- }
169
- return false;
170
- }
171
- async isWebpackProject(packageJsonPath) {
172
- try {
173
- if (!(await (0, fs_2.pathExists)(packageJsonPath)))
174
- return false;
175
- const content = await fs_1.promises.readFile(packageJsonPath, "utf-8");
176
- const packageJson = JSON.parse(content);
177
- // Check for webpack in dependencies or devDependencies
178
- const deps = {
179
- ...packageJson.dependencies,
180
- ...packageJson.devDependencies,
181
- };
182
- return "webpack" in deps || "webpack-cli" in deps;
183
- }
184
- catch {
185
- return false;
186
- }
187
- }
188
- async isAvailable() {
189
- // Check if webpack caches exist or if there are webpack projects
190
- const caches = await this.findWebpackCaches();
191
- const hasProjects = await this.hasWebpackProjects();
192
- return caches.length > 0 || hasProjects;
193
- }
194
- async getCacheInfo() {
195
- const cachePaths = await this.findWebpackCaches();
196
- let totalSize = 0;
197
- const validPaths = [];
198
- for (const cachePath of cachePaths) {
199
- try {
200
- const size = await (0, fs_2.getDirectorySize)(cachePath);
201
- totalSize += size;
202
- validPaths.push(cachePath);
203
- (0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
204
- }
205
- catch (error) {
206
- (0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
207
- }
208
- }
209
- return {
210
- name: this.name,
211
- type: this.type,
212
- description: this.description,
213
- paths: validPaths,
214
- isInstalled: await this.isAvailable(),
215
- size: totalSize,
216
- };
217
- }
218
- async clear(dryRun = false, _criteria, cacheInfo) {
219
- const info = cacheInfo || (await this.getCacheInfo());
220
- if (!info.isInstalled) {
221
- return {
222
- name: this.name,
223
- success: false,
224
- error: "No webpack caches found",
225
- clearedPaths: [],
226
- sizeBefore: 0,
227
- sizeAfter: 0,
228
- };
229
- }
230
- const sizeBefore = info.size || 0;
231
- const clearedPaths = [];
232
- let errors = [];
233
- for (const cachePath of info.paths) {
234
- try {
235
- if (dryRun) {
236
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
237
- clearedPaths.push(cachePath);
238
- }
239
- else {
240
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
241
- await (0, fs_2.safeRmrf)(cachePath);
242
- clearedPaths.push(cachePath);
243
- }
244
- }
245
- catch (error) {
246
- const errorMsg = `Failed to clear ${cachePath}: ${error}`;
247
- errors.push(errorMsg);
248
- (0, cli_1.printVerbose)(errorMsg);
249
- }
250
- }
251
- return {
252
- name: this.name,
253
- success: errors.length === 0,
254
- sizeBefore,
255
- sizeAfter: 0, // Set to 0 as we don't want to rescan
256
- error: errors.length > 0 ? errors.join("; ") : undefined,
257
- clearedPaths,
258
- };
259
- }
260
- }
261
- exports.WebpackCleaner = WebpackCleaner;
262
- exports.default = new WebpackCleaner();
263
- //# sourceMappingURL=webpack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/cleaners/webpack.ts"],"names":[],"mappings":"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"}