squeaky-clean 0.1.8 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/package.json +23 -25
  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,266 +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 fs_1 = require("fs");
40
- const path = __importStar(require("path"));
41
- const os = __importStar(require("os"));
42
- const fs_2 = require("../utils/fs");
43
- const execa_1 = __importDefault(require("execa"));
44
- const cli_1 = require("../utils/cli");
45
- class YarnCleaner {
46
- constructor() {
47
- this.name = "yarn";
48
- this.type = "package-manager";
49
- this.description = "Yarn package manager caches and global store";
50
- }
51
- async getYarnVersion() {
52
- try {
53
- const result = await (0, execa_1.default)("yarn", ["--version"]);
54
- return result.stdout.trim();
55
- }
56
- catch {
57
- return null;
58
- }
59
- }
60
- async getYarnCachePaths() {
61
- const paths = [];
62
- try {
63
- // Get yarn cache directory
64
- const cacheResult = await (0, execa_1.default)("yarn", ["cache", "dir"]);
65
- const cacheDir = cacheResult.stdout.trim();
66
- if (await (0, fs_2.pathExists)(cacheDir)) {
67
- paths.push(cacheDir);
68
- }
69
- }
70
- catch {
71
- // Fallback to default yarn cache locations
72
- const homeDir = os.homedir();
73
- const defaultPaths = [
74
- path.join(homeDir, ".yarn", "cache"),
75
- path.join(homeDir, ".cache", "yarn"),
76
- path.join(homeDir, "Library", "Caches", "Yarn"), // macOS
77
- ];
78
- for (const cachePath of defaultPaths) {
79
- if (await (0, fs_2.pathExists)(cachePath)) {
80
- paths.push(cachePath);
81
- }
82
- }
83
- }
84
- // Look for project-specific yarn caches
85
- try {
86
- // Yarn v2+ .yarn/cache directories in projects
87
- const projectCaches = await this.findProjectYarnCaches();
88
- paths.push(...projectCaches);
89
- }
90
- catch (error) {
91
- (0, cli_1.printVerbose)(`Error finding project yarn caches: ${error}`);
92
- }
93
- return [...new Set(paths)]; // Remove duplicates
94
- }
95
- async findProjectYarnCaches() {
96
- const projectCaches = [];
97
- const homeDir = os.homedir();
98
- // Only search current directory and immediate common dev dirs to avoid performance issues
99
- const searchDirs = [
100
- process.cwd(), // Current directory
101
- path.join(homeDir, "Projects"), // Only if it exists and isn't huge
102
- path.join(homeDir, "Development"),
103
- path.join(homeDir, "dev"),
104
- ];
105
- // Add timeout to prevent hanging
106
- const searchTimeout = 5000; // 5 seconds max for project search
107
- const startTime = Date.now();
108
- for (const searchDir of searchDirs) {
109
- // Check timeout before each directory
110
- if (Date.now() - startTime > searchTimeout) {
111
- (0, cli_1.printVerbose)("Project cache search timed out, skipping remaining directories");
112
- break;
113
- }
114
- if (await (0, fs_2.pathExists)(searchDir)) {
115
- try {
116
- // Only search 1 level deep to avoid performance issues
117
- const projects = await this.findYarnProjectsRecursively(searchDir, 1, startTime, searchTimeout);
118
- projectCaches.push(...projects);
119
- // Limit total project caches found to prevent excessive scanning
120
- if (projectCaches.length > 50) {
121
- (0, cli_1.printVerbose)("Found many project caches, limiting search to prevent performance issues");
122
- break;
123
- }
124
- }
125
- catch (error) {
126
- (0, cli_1.printVerbose)(`Error searching ${searchDir}: ${error}`);
127
- }
128
- }
129
- }
130
- return projectCaches;
131
- }
132
- async findYarnProjectsRecursively(dir, maxDepth, startTime = Date.now(), timeout = 5000) {
133
- if (maxDepth <= 0)
134
- return [];
135
- // Check timeout
136
- if (Date.now() - startTime > timeout) {
137
- (0, cli_1.printVerbose)(`Yarn project search timed out at ${dir}`);
138
- return [];
139
- }
140
- const yarnCaches = [];
141
- try {
142
- const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
143
- // Limit number of entries to check to prevent excessive scanning
144
- const limitedEntries = entries.slice(0, 100); // Only check first 100 entries
145
- for (const entry of limitedEntries) {
146
- // Check timeout during iteration
147
- if (Date.now() - startTime > timeout) {
148
- (0, cli_1.printVerbose)(`Yarn project search timed out during scan of ${dir}`);
149
- break;
150
- }
151
- if (entry.isDirectory() &&
152
- !entry.name.startsWith(".") &&
153
- entry.name !== "node_modules") {
154
- const fullPath = path.join(dir, entry.name);
155
- // Check for .yarn/cache directory (Yarn v2+)
156
- const yarnCacheDir = path.join(fullPath, ".yarn", "cache");
157
- if (await (0, fs_2.pathExists)(yarnCacheDir)) {
158
- yarnCaches.push(yarnCacheDir);
159
- }
160
- // Recursively search subdirectories only if we have time
161
- if (Date.now() - startTime < timeout) {
162
- const subCaches = await this.findYarnProjectsRecursively(fullPath, maxDepth - 1, startTime, timeout);
163
- yarnCaches.push(...subCaches);
164
- }
165
- }
166
- }
167
- }
168
- catch {
169
- // Ignore permission errors or other issues
170
- }
171
- return yarnCaches;
172
- }
173
- async isAvailable() {
174
- const version = await this.getYarnVersion();
175
- return version !== null;
176
- }
177
- async getCacheInfo() {
178
- const isInstalled = await this.isAvailable();
179
- if (!isInstalled) {
180
- return {
181
- name: this.name,
182
- type: this.type,
183
- description: this.description,
184
- paths: [],
185
- isInstalled: false,
186
- size: 0,
187
- };
188
- }
189
- const cachePaths = await this.getYarnCachePaths();
190
- let totalSize = 0;
191
- const validPaths = [];
192
- for (const cachePath of cachePaths) {
193
- try {
194
- const size = await (0, fs_2.getDirectorySize)(cachePath);
195
- totalSize += size;
196
- validPaths.push(cachePath);
197
- (0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
198
- }
199
- catch (error) {
200
- (0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
201
- }
202
- }
203
- return {
204
- name: this.name,
205
- type: this.type,
206
- description: this.description,
207
- paths: validPaths,
208
- isInstalled: true,
209
- size: totalSize,
210
- };
211
- }
212
- async clear(dryRun = false, _criteria, cacheInfo) {
213
- const info = cacheInfo || (await this.getCacheInfo());
214
- if (!info.isInstalled) {
215
- return {
216
- name: this.name,
217
- success: false,
218
- error: "Yarn is not installed",
219
- clearedPaths: [],
220
- sizeBefore: 0,
221
- sizeAfter: 0,
222
- };
223
- }
224
- const sizeBefore = info.size || 0;
225
- const clearedPaths = [];
226
- let errors = [];
227
- for (const cachePath of info.paths) {
228
- try {
229
- if (dryRun) {
230
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
231
- clearedPaths.push(cachePath);
232
- }
233
- else {
234
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
235
- await (0, fs_2.safeRmrf)(cachePath);
236
- clearedPaths.push(cachePath);
237
- }
238
- }
239
- catch (error) {
240
- const errorMsg = `Failed to clear ${cachePath}: ${error}`;
241
- errors.push(errorMsg);
242
- (0, cli_1.printVerbose)(errorMsg);
243
- }
244
- }
245
- // Try to clear yarn cache using yarn command as well
246
- if (!dryRun && (await this.isAvailable())) {
247
- try {
248
- await (0, execa_1.default)("yarn", ["cache", "clean"]);
249
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Executed: yarn cache clean`);
250
- }
251
- catch (error) {
252
- (0, cli_1.printVerbose)(`Note: yarn cache clean failed: ${error}`);
253
- }
254
- }
255
- return {
256
- name: this.name,
257
- success: errors.length === 0,
258
- sizeBefore,
259
- sizeAfter: 0, // Set to 0 as we don't want to rescan
260
- error: errors.length > 0 ? errors.join("; ") : undefined,
261
- clearedPaths,
262
- };
263
- }
264
- }
265
- exports.default = new YarnCleaner();
266
- //# sourceMappingURL=yarn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../src/cleaners/yarn.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { CacheInfo, ClearResult, CleanerModule, CacheCategory, CacheSelectionCriteria } from "../types";
2
- export declare class ZedCleaner implements CleanerModule {
3
- name: string;
4
- type: "ide";
5
- description: string;
6
- private getCachePaths;
7
- isAvailable(): Promise<boolean>;
8
- getCacheInfo(): Promise<CacheInfo>;
9
- getCacheCategories(): Promise<CacheCategory[]>;
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: ZedCleaner;
14
- export default _default;
15
- //# sourceMappingURL=zed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zed.d.ts","sourceRoot":"","sources":["../../src/cleaners/zed.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AASlB,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,SAAS;IACb,IAAI,EAAG,KAAK,CAAU;IACtB,WAAW,SACgE;IAE3E,OAAO,CAAC,aAAa;IAwNf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiC/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA0BlC,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAuC9C,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,UAAU,CAAC,EAAE,SAAS,EACtB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,WAAW,CAAC;IAkDjB,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,UAAQ,EACd,UAAU,CAAC,EAAE,SAAS,EACtB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,WAAW,CAAC;CA2CxB;;AAED,wBAAgC"}
@@ -1,383 +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.ZedCleaner = 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 ZedCleaner {
13
- constructor() {
14
- this.name = "zed";
15
- this.type = "ide";
16
- this.description = "Zed editor caches, logs, language servers, and AI conversation history";
17
- }
18
- getCachePaths() {
19
- const homeDir = os_1.default.homedir();
20
- const platform = process.platform;
21
- const paths = [];
22
- if (platform === "darwin") {
23
- // macOS Zed paths
24
- const zedAppSupport = path_1.default.join(homeDir, "Library", "Application Support", "Zed");
25
- const zedCache = path_1.default.join(homeDir, "Library", "Caches", "dev.zed.Zed");
26
- const zedLogs = path_1.default.join(homeDir, "Library", "Logs", "Zed");
27
- paths.push(
28
- // Cache directories
29
- {
30
- path: zedCache,
31
- description: "Zed application cache",
32
- category: "cache",
33
- priority: "low",
34
- safeToDelete: true,
35
- },
36
- // Logs
37
- {
38
- path: zedLogs,
39
- description: "Zed application logs",
40
- category: "logs",
41
- priority: "low",
42
- safeToDelete: true,
43
- }, {
44
- path: path_1.default.join(zedAppSupport, "logs"),
45
- description: "Zed runtime logs",
46
- category: "logs",
47
- priority: "low",
48
- safeToDelete: true,
49
- },
50
- // Language servers (can be large)
51
- {
52
- path: path_1.default.join(zedAppSupport, "languages"),
53
- description: "Zed language server binaries",
54
- category: "language-servers",
55
- priority: "normal",
56
- safeToDelete: true,
57
- },
58
- // Extension cache
59
- {
60
- path: path_1.default.join(zedAppSupport, "extensions"),
61
- description: "Zed extension cache",
62
- category: "extensions",
63
- priority: "normal",
64
- safeToDelete: true,
65
- },
66
- // Copilot/AI cache
67
- {
68
- path: path_1.default.join(zedAppSupport, "copilot"),
69
- description: "GitHub Copilot cache",
70
- category: "ai-cache",
71
- priority: "normal",
72
- safeToDelete: true,
73
- },
74
- // Node modules for extensions
75
- {
76
- path: path_1.default.join(zedAppSupport, "node"),
77
- description: "Node.js runtime for extensions",
78
- category: "runtime",
79
- priority: "normal",
80
- safeToDelete: true,
81
- },
82
- // Database/index files
83
- {
84
- path: path_1.default.join(zedAppSupport, "db"),
85
- description: "Zed database and indexes",
86
- category: "database",
87
- priority: "important",
88
- safeToDelete: false, // Contains workspace state
89
- },
90
- // AI conversations (user may want to keep)
91
- {
92
- path: path_1.default.join(zedAppSupport, "conversations"),
93
- description: "AI conversation history",
94
- category: "ai-history",
95
- priority: "important",
96
- safeToDelete: false, // User data
97
- },
98
- // Prettier cache
99
- {
100
- path: path_1.default.join(zedAppSupport, "prettier"),
101
- description: "Prettier formatter cache",
102
- category: "formatters",
103
- priority: "low",
104
- safeToDelete: true,
105
- },
106
- // Eslint cache
107
- {
108
- path: path_1.default.join(zedAppSupport, "eslint"),
109
- description: "ESLint linter cache",
110
- category: "linters",
111
- priority: "low",
112
- safeToDelete: true,
113
- });
114
- }
115
- else if (platform === "win32") {
116
- // Windows Zed paths (hypothetical - Zed is primarily macOS/Linux)
117
- const appData = process.env.APPDATA || path_1.default.join(homeDir, "AppData", "Roaming");
118
- const localAppData = process.env.LOCALAPPDATA || path_1.default.join(homeDir, "AppData", "Local");
119
- paths.push({
120
- path: path_1.default.join(localAppData, "Zed", "cache"),
121
- description: "Zed application cache",
122
- category: "cache",
123
- priority: "low",
124
- safeToDelete: true,
125
- }, {
126
- path: path_1.default.join(appData, "Zed", "logs"),
127
- description: "Zed application logs",
128
- category: "logs",
129
- priority: "low",
130
- safeToDelete: true,
131
- }, {
132
- path: path_1.default.join(appData, "Zed", "languages"),
133
- description: "Zed language server binaries",
134
- category: "language-servers",
135
- priority: "normal",
136
- safeToDelete: true,
137
- }, {
138
- path: path_1.default.join(appData, "Zed", "extensions"),
139
- description: "Zed extension cache",
140
- category: "extensions",
141
- priority: "normal",
142
- safeToDelete: true,
143
- });
144
- }
145
- else {
146
- // Linux Zed paths
147
- const cacheDir = process.env.XDG_CACHE_HOME || path_1.default.join(homeDir, ".cache");
148
- const dataDir = process.env.XDG_DATA_HOME || path_1.default.join(homeDir, ".local", "share");
149
- paths.push({
150
- path: path_1.default.join(cacheDir, "zed"),
151
- description: "Zed application cache",
152
- category: "cache",
153
- priority: "low",
154
- safeToDelete: true,
155
- }, {
156
- path: path_1.default.join(dataDir, "zed", "logs"),
157
- description: "Zed application logs",
158
- category: "logs",
159
- priority: "low",
160
- safeToDelete: true,
161
- }, {
162
- path: path_1.default.join(dataDir, "zed", "languages"),
163
- description: "Zed language server binaries",
164
- category: "language-servers",
165
- priority: "normal",
166
- safeToDelete: true,
167
- }, {
168
- path: path_1.default.join(dataDir, "zed", "extensions"),
169
- description: "Zed extension cache",
170
- category: "extensions",
171
- priority: "normal",
172
- safeToDelete: true,
173
- }, {
174
- path: path_1.default.join(dataDir, "zed", "copilot"),
175
- description: "GitHub Copilot cache",
176
- category: "ai-cache",
177
- priority: "normal",
178
- safeToDelete: true,
179
- }, {
180
- path: path_1.default.join(dataDir, "zed", "node"),
181
- description: "Node.js runtime for extensions",
182
- category: "runtime",
183
- priority: "normal",
184
- safeToDelete: true,
185
- }, {
186
- path: path_1.default.join(dataDir, "zed", "prettier"),
187
- description: "Prettier formatter cache",
188
- category: "formatters",
189
- priority: "low",
190
- safeToDelete: true,
191
- }, {
192
- path: path_1.default.join(dataDir, "zed", "eslint"),
193
- description: "ESLint linter cache",
194
- category: "linters",
195
- priority: "low",
196
- safeToDelete: true,
197
- });
198
- }
199
- return paths;
200
- }
201
- async isAvailable() {
202
- const homeDir = os_1.default.homedir();
203
- const platform = process.platform;
204
- // Check for Zed config/data directories
205
- if (platform === "darwin") {
206
- const zedAppSupport = path_1.default.join(homeDir, "Library", "Application Support", "Zed");
207
- if (await (0, fs_2.pathExists)(zedAppSupport)) {
208
- return true;
209
- }
210
- const appPath = "/Applications/Zed.app";
211
- if (await (0, fs_2.pathExists)(appPath)) {
212
- return true;
213
- }
214
- }
215
- else if (platform === "linux") {
216
- const dataDir = process.env.XDG_DATA_HOME || path_1.default.join(homeDir, ".local", "share");
217
- const zedDataDir = path_1.default.join(dataDir, "zed");
218
- if (await (0, fs_2.pathExists)(zedDataDir)) {
219
- return true;
220
- }
221
- }
222
- // Check cache paths
223
- const cachePaths = this.getCachePaths();
224
- for (const { path: cachePath } of cachePaths) {
225
- if (await (0, fs_2.pathExists)(cachePath)) {
226
- return true;
227
- }
228
- }
229
- return false;
230
- }
231
- async getCacheInfo() {
232
- const cachePaths = this.getCachePaths();
233
- const existingPaths = [];
234
- let totalSize = 0;
235
- for (const { path: cachePath, safeToDelete } of cachePaths) {
236
- if (!safeToDelete)
237
- continue;
238
- if (await (0, fs_2.pathExists)(cachePath)) {
239
- existingPaths.push(cachePath);
240
- const size = await (0, fs_2.getEstimatedDirectorySize)(cachePath);
241
- totalSize += size;
242
- (0, cli_1.printVerbose)(` 🔍 📁 ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
243
- }
244
- }
245
- return {
246
- name: this.name,
247
- type: this.type,
248
- description: this.description,
249
- paths: existingPaths,
250
- isInstalled: await this.isAvailable(),
251
- size: totalSize,
252
- };
253
- }
254
- async getCacheCategories() {
255
- const cachePaths = this.getCachePaths();
256
- const categoryMap = new Map();
257
- for (const { path: cachePath, description, category, priority, safeToDelete } of cachePaths) {
258
- if (!safeToDelete)
259
- continue;
260
- if (!(await (0, fs_2.pathExists)(cachePath)))
261
- continue;
262
- const size = await (0, fs_2.getDirectorySize)(cachePath);
263
- let stats;
264
- try {
265
- stats = await fs_1.promises.stat(cachePath);
266
- }
267
- catch {
268
- stats = null;
269
- }
270
- const categoryId = `zed-${category}`;
271
- const existing = categoryMap.get(categoryId);
272
- if (existing) {
273
- existing.paths.push(cachePath);
274
- existing.size = (existing.size || 0) + size;
275
- }
276
- else {
277
- categoryMap.set(categoryId, {
278
- id: categoryId,
279
- name: `Zed ${category}`,
280
- description,
281
- paths: [cachePath],
282
- size,
283
- lastModified: stats?.mtime,
284
- priority,
285
- useCase: "development",
286
- });
287
- }
288
- }
289
- return Array.from(categoryMap.values());
290
- }
291
- async clear(dryRun = false, _criteria, _cacheInfo, protectedPaths) {
292
- const cachePaths = this.getCachePaths();
293
- const clearedPaths = [];
294
- let sizeBefore = 0;
295
- let sizeAfter = 0;
296
- for (const { path: cachePath, description, safeToDelete } of cachePaths) {
297
- if (!safeToDelete)
298
- continue;
299
- if (!(await (0, fs_2.pathExists)(cachePath)))
300
- continue;
301
- if (protectedPaths?.some((p) => cachePath.startsWith(p))) {
302
- (0, cli_1.printVerbose)(` Skipping protected path: ${cachePath}`);
303
- continue;
304
- }
305
- const pathSize = await (0, fs_2.getDirectorySize)(cachePath);
306
- sizeBefore += pathSize;
307
- if (dryRun) {
308
- (0, cli_1.printVerbose)(` [DRY RUN] Would clear: ${description} (${(pathSize / (1024 * 1024)).toFixed(1)} MB)`);
309
- clearedPaths.push(cachePath);
310
- }
311
- else {
312
- try {
313
- await (0, fs_2.safeRmrf)(cachePath);
314
- clearedPaths.push(cachePath);
315
- (0, cli_1.printVerbose)(` ✓ Cleared: ${description}`);
316
- }
317
- catch (error) {
318
- (0, cli_1.printVerbose)(` ✗ Failed to clear ${description}: ${error}`);
319
- }
320
- }
321
- }
322
- if (!dryRun) {
323
- for (const { path: cachePath, safeToDelete } of cachePaths) {
324
- if (!safeToDelete)
325
- continue;
326
- if (await (0, fs_2.pathExists)(cachePath)) {
327
- sizeAfter += await (0, fs_2.getDirectorySize)(cachePath);
328
- }
329
- }
330
- }
331
- return {
332
- name: this.name,
333
- success: true,
334
- sizeBefore,
335
- sizeAfter: dryRun ? sizeBefore : sizeAfter,
336
- clearedPaths,
337
- };
338
- }
339
- async clearByCategory(categoryIds, dryRun = false, _cacheInfo, protectedPaths) {
340
- const categories = await this.getCacheCategories();
341
- const targetCategories = categories.filter((c) => categoryIds.includes(c.id));
342
- const clearedPaths = [];
343
- let sizeBefore = 0;
344
- let sizeAfter = 0;
345
- for (const category of targetCategories) {
346
- for (const cachePath of category.paths) {
347
- if (!(await (0, fs_2.pathExists)(cachePath)))
348
- continue;
349
- if (protectedPaths?.some((p) => cachePath.startsWith(p))) {
350
- (0, cli_1.printVerbose)(` Skipping protected path: ${cachePath}`);
351
- continue;
352
- }
353
- const pathSize = await (0, fs_2.getDirectorySize)(cachePath);
354
- sizeBefore += pathSize;
355
- if (dryRun) {
356
- (0, cli_1.printVerbose)(` [DRY RUN] Would clear: ${category.name} (${(pathSize / (1024 * 1024)).toFixed(1)} MB)`);
357
- clearedPaths.push(cachePath);
358
- }
359
- else {
360
- try {
361
- await (0, fs_2.safeRmrf)(cachePath);
362
- clearedPaths.push(cachePath);
363
- (0, cli_1.printVerbose)(` ✓ Cleared: ${category.name}`);
364
- }
365
- catch (error) {
366
- (0, cli_1.printVerbose)(` ✗ Failed to clear ${category.name}: ${error}`);
367
- }
368
- }
369
- }
370
- }
371
- return {
372
- name: this.name,
373
- success: true,
374
- sizeBefore,
375
- sizeAfter: dryRun ? sizeBefore : sizeAfter,
376
- clearedPaths,
377
- clearedCategories: categoryIds,
378
- };
379
- }
380
- }
381
- exports.ZedCleaner = ZedCleaner;
382
- exports.default = new ZedCleaner();
383
- //# sourceMappingURL=zed.js.map