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,271 +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.cacheManager = exports.CacheManager = void 0;
7
- const config_1 = require("../config");
8
- const cli_1 = require("../utils/cli");
9
- const minimatch_1 = require("minimatch");
10
- // Import all cleaner modules
11
- // Package managers
12
- const npm_1 = __importDefault(require("./npm"));
13
- const yarn_1 = __importDefault(require("./yarn"));
14
- const pnpm_1 = __importDefault(require("./pnpm"));
15
- const bun_1 = __importDefault(require("./bun"));
16
- const pip_1 = __importDefault(require("./pip"));
17
- const brew_1 = __importDefault(require("./brew"));
18
- const nix_1 = __importDefault(require("./nix"));
19
- const cargo_1 = __importDefault(require("./cargo"));
20
- const poetry_1 = __importDefault(require("./poetry"));
21
- const pipenv_1 = __importDefault(require("./pipenv"));
22
- const cocoapods_1 = __importDefault(require("./cocoapods"));
23
- const swiftpm_1 = __importDefault(require("./swiftpm"));
24
- const nuget_1 = __importDefault(require("./nuget"));
25
- // Build tools
26
- const webpack_1 = __importDefault(require("./webpack"));
27
- const vite_1 = __importDefault(require("./vite"));
28
- const nx_1 = __importDefault(require("./nx"));
29
- const turbo_1 = __importDefault(require("./turbo"));
30
- const flutter_1 = __importDefault(require("./flutter"));
31
- const nodeGyp_1 = __importDefault(require("./nodeGyp"));
32
- const goBuild_1 = __importDefault(require("./goBuild"));
33
- const maven_1 = __importDefault(require("./maven"));
34
- const playwright_1 = __importDefault(require("./playwright"));
35
- // IDEs
36
- const xcode_1 = __importDefault(require("./xcode"));
37
- const vscode_1 = __importDefault(require("./vscode"));
38
- const androidstudio_1 = __importDefault(require("./androidstudio"));
39
- const jetbrains_1 = __importDefault(require("./jetbrains"));
40
- const windsurf_1 = __importDefault(require("./windsurf"));
41
- const cursor_1 = __importDefault(require("./cursor"));
42
- const zed_1 = __importDefault(require("./zed"));
43
- // Browsers
44
- const chrome_1 = __importDefault(require("./chrome"));
45
- const firefox_1 = __importDefault(require("./firefox"));
46
- // System tools
47
- const docker_1 = __importDefault(require("./docker"));
48
- const gradle_1 = __importDefault(require("./gradle"));
49
- const universalBinary_1 = __importDefault(require("./universalBinary"));
50
- class CacheManager {
51
- constructor() {
52
- this.cleaners = new Map();
53
- // Register all cleaner modules
54
- // Package managers
55
- this.cleaners.set("npm", npm_1.default);
56
- this.cleaners.set("yarn", yarn_1.default);
57
- this.cleaners.set("pnpm", pnpm_1.default);
58
- this.cleaners.set("bun", bun_1.default);
59
- this.cleaners.set("pip", pip_1.default);
60
- this.cleaners.set("brew", brew_1.default);
61
- this.cleaners.set("nix", nix_1.default);
62
- this.cleaners.set("cargo", cargo_1.default);
63
- this.cleaners.set("poetry", poetry_1.default);
64
- this.cleaners.set("pipenv", pipenv_1.default);
65
- this.cleaners.set("cocoapods", cocoapods_1.default);
66
- this.cleaners.set("swiftpm", swiftpm_1.default);
67
- this.cleaners.set("nuget", nuget_1.default);
68
- // Build tools
69
- this.cleaners.set("webpack", webpack_1.default);
70
- this.cleaners.set("vite", vite_1.default);
71
- this.cleaners.set("nx", nx_1.default);
72
- this.cleaners.set("turbo", turbo_1.default);
73
- this.cleaners.set("flutter", flutter_1.default);
74
- this.cleaners.set("node-gyp", nodeGyp_1.default);
75
- this.cleaners.set("go-build", goBuild_1.default);
76
- this.cleaners.set("maven", maven_1.default);
77
- this.cleaners.set("playwright", playwright_1.default);
78
- // IDEs and development tools
79
- this.cleaners.set("xcode", xcode_1.default);
80
- this.cleaners.set("vscode", vscode_1.default);
81
- this.cleaners.set("androidstudio", androidstudio_1.default);
82
- this.cleaners.set("jetbrains", jetbrains_1.default);
83
- this.cleaners.set("windsurf", windsurf_1.default);
84
- this.cleaners.set("cursor", cursor_1.default);
85
- this.cleaners.set("zed", zed_1.default);
86
- // Browsers
87
- this.cleaners.set("chrome", chrome_1.default);
88
- this.cleaners.set("firefox", firefox_1.default);
89
- // System tools
90
- this.cleaners.set("docker", docker_1.default);
91
- this.cleaners.set("gradle", gradle_1.default);
92
- this.cleaners.set("universal-binary", universalBinary_1.default);
93
- }
94
- /**
95
- * Get all available cleaners
96
- */
97
- getAllCleaners() {
98
- return Array.from(this.cleaners.values());
99
- }
100
- /**
101
- * Get cleaners filtered by type
102
- */
103
- getCleanersByType(type) {
104
- return this.getAllCleaners().filter((cleaner) => cleaner.type === type);
105
- }
106
- /**
107
- * Get enabled cleaners based on configuration
108
- */
109
- getEnabledCleaners() {
110
- return this.getAllCleaners().filter((cleaner) => config_1.config.isToolEnabled(cleaner.name));
111
- }
112
- /**
113
- * Get cleaner by name
114
- */
115
- getCleaner(name) {
116
- return this.cleaners.get(name);
117
- }
118
- /**
119
- * Get cache info for all enabled cleaners
120
- */
121
- async getAllCacheInfo() {
122
- const enabledCleaners = this.getEnabledCleaners();
123
- const results = [];
124
- const protectedPaths = config_1.config.getProtectedPaths(); // Get protected paths
125
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Scanning ${enabledCleaners.length} enabled cache types...`);
126
- for (const cleaner of enabledCleaners) {
127
- try {
128
- (0, cli_1.printVerbose)(`Checking ${cleaner.name} caches...`);
129
- const info = await cleaner.getCacheInfo();
130
- // Check if any of the cache's paths are protected
131
- const isProtected = info.paths.some((cachePath) => protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true })));
132
- if (isProtected) {
133
- (0, cli_1.printVerbose)(`Skipping protected cache: ${cleaner.name}`);
134
- // Optionally, you could add a flag to CacheInfo to indicate it's protected
135
- // info.isProtected = true;
136
- // results.push(info); // Still add it, but mark it
137
- }
138
- else {
139
- results.push(info);
140
- }
141
- }
142
- catch (error) {
143
- (0, cli_1.printVerbose)(`Error getting cache info for ${cleaner.name}: ${error}`);
144
- // Add empty result for failed cleaners
145
- results.push({
146
- name: cleaner.name,
147
- type: cleaner.type,
148
- description: cleaner.description,
149
- paths: [],
150
- isInstalled: false,
151
- size: 0,
152
- });
153
- }
154
- }
155
- return results;
156
- }
157
- /**
158
- * Clean caches for enabled cleaners
159
- */
160
- async cleanAllCaches(options = {}) {
161
- let cleaners = this.getEnabledCleaners();
162
- const allCacheInfos = await this.getAllCacheInfo(); // Get all cache info once
163
- const protectedPaths = config_1.config.getProtectedPaths(); // Get protected paths
164
- // Filter by types if specified
165
- if (options.types && options.types.length > 0) {
166
- cleaners = cleaners.filter((cleaner) => options.types.includes(cleaner.type));
167
- }
168
- // Include specific tools if specified (this takes precedence over exclude)
169
- if (options.include && options.include.length > 0) {
170
- cleaners = cleaners.filter((cleaner) => options.include.includes(cleaner.name));
171
- }
172
- // Exclude specific tools if specified
173
- if (options.exclude && options.exclude.length > 0) {
174
- cleaners = cleaners.filter((cleaner) => !options.exclude.includes(cleaner.name));
175
- }
176
- const results = [];
177
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Cleaning ${cleaners.length} cache types...`);
178
- for (const cleaner of cleaners) {
179
- try {
180
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Processing ${cleaner.name}...`);
181
- const cacheInfoForCleaner = allCacheInfos.find((info) => info.name === cleaner.name); // Find corresponding info
182
- let result;
183
- if (options.subCachesToClear &&
184
- options.subCachesToClear.has(cleaner.name)) {
185
- const categoryIds = options.subCachesToClear.get(cleaner.name);
186
- if (cleaner.clearByCategory) {
187
- result = await cleaner.clearByCategory(categoryIds, options.dryRun, cacheInfoForCleaner, protectedPaths);
188
- }
189
- else {
190
- // Fallback if clearByCategory is not implemented for this cleaner
191
- (0, cli_1.printVerbose)(`Warning: ${cleaner.name} does not support granular clearing by category. Clearing all.`);
192
- result = await cleaner.clear(options.dryRun, undefined, cacheInfoForCleaner, protectedPaths);
193
- }
194
- }
195
- else {
196
- result = await cleaner.clear(options.dryRun, undefined, cacheInfoForCleaner, protectedPaths);
197
- }
198
- results.push(result);
199
- if (result.success && !options.dryRun) {
200
- const savedMB = ((result.sizeBefore || 0) - (result.sizeAfter || 0)) /
201
- (1024 * 1024);
202
- if (savedMB > 0) {
203
- (0, cli_1.printVerbose)(`${cli_1.symbols.bubbles} ${cleaner.name}: Freed ${savedMB.toFixed(1)} MB`);
204
- }
205
- }
206
- }
207
- catch (error) {
208
- (0, cli_1.printVerbose)(`Error cleaning ${cleaner.name}: ${error}`);
209
- results.push({
210
- name: cleaner.name,
211
- success: false,
212
- error: error instanceof Error ? error.message : String(error),
213
- clearedPaths: [],
214
- sizeBefore: 0,
215
- sizeAfter: 0,
216
- });
217
- }
218
- }
219
- return results;
220
- }
221
- /**
222
- * Get total cache sizes by type
223
- */
224
- async getCacheSizesByType() {
225
- const allCacheInfo = await this.getAllCacheInfo();
226
- const sizesByType = {
227
- "package-manager": 0,
228
- "build-tool": 0,
229
- browser: 0,
230
- ide: 0,
231
- system: 0,
232
- other: 0,
233
- };
234
- for (const info of allCacheInfo) {
235
- sizesByType[info.type] += info.size || 0;
236
- }
237
- return sizesByType;
238
- }
239
- /**
240
- * Get summary statistics
241
- */
242
- async getSummary() {
243
- const allCacheInfo = await this.getAllCacheInfo();
244
- // Calculate sizes by type from the same data to avoid double scanning
245
- const sizesByType = {
246
- "package-manager": 0,
247
- "build-tool": 0,
248
- browser: 0,
249
- ide: 0,
250
- system: 0,
251
- other: 0,
252
- };
253
- for (const info of allCacheInfo) {
254
- sizesByType[info.type] += info.size || 0;
255
- }
256
- const totalSize = allCacheInfo.reduce((sum, info) => sum + (info.size || 0), 0);
257
- const installedCleaners = allCacheInfo.filter((info) => info.isInstalled).length;
258
- const enabledCleaners = this.getEnabledCleaners().length;
259
- return {
260
- totalSize,
261
- totalCleaners: this.getAllCleaners().length,
262
- installedCleaners,
263
- enabledCleaners,
264
- sizesByType,
265
- };
266
- }
267
- }
268
- exports.CacheManager = CacheManager;
269
- // Export singleton instance
270
- exports.cacheManager = new CacheManager();
271
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cleaners/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { BaseCleaner } from "./BaseCleaner";
2
- import { CacheInfo, ClearResult, CacheType, CacheSelectionCriteria } from "../types";
3
- export declare class JetBrainsCleaner extends BaseCleaner {
4
- name: string;
5
- type: CacheType;
6
- description: string;
7
- private jetbrainsProducts;
8
- private findJetBrainsInstallations;
9
- private getJetBrainsCachePaths;
10
- private findIdeaFolders;
11
- private findIdeaFoldersRecursively;
12
- isAvailable(): Promise<boolean>;
13
- getCacheInfo(): Promise<CacheInfo>;
14
- clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
15
- }
16
- declare const _default: JetBrainsCleaner;
17
- export default _default;
18
- //# sourceMappingURL=jetbrains.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jetbrains.d.ts","sourceRoot":"","sources":["../../src/cleaners/jetbrains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAQlB,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,IAAI,SAAe;IACnB,IAAI,EAAE,SAAS,CAAS;IACxB,WAAW,SAC0E;IAErF,OAAO,CAAC,iBAAiB,CAkBvB;YAIY,0BAA0B;YAmG1B,sBAAsB;YA+FtB,eAAe;YA8Bf,0BAA0B;IAsClC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiD/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAyClC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;CAwExB;;AAED,wBAAsC"}