squeaky-clean 0.1.11 โ†’ 0.1.12

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 (249) hide show
  1. package/dist/cleaners/BaseCleaner.d.ts +57 -0
  2. package/dist/cleaners/BaseCleaner.d.ts.map +1 -0
  3. package/dist/cleaners/BaseCleaner.js +299 -0
  4. package/dist/cleaners/BaseCleaner.js.map +1 -0
  5. package/dist/cleaners/CleanerRegistry.d.ts +65 -0
  6. package/dist/cleaners/CleanerRegistry.d.ts.map +1 -0
  7. package/dist/cleaners/CleanerRegistry.js +112 -0
  8. package/dist/cleaners/CleanerRegistry.js.map +1 -0
  9. package/dist/cleaners/androidstudio.d.ts +16 -0
  10. package/dist/cleaners/androidstudio.d.ts.map +1 -0
  11. package/dist/cleaners/androidstudio.js +375 -0
  12. package/dist/cleaners/androidstudio.js.map +1 -0
  13. package/dist/cleaners/brew.d.ts +4 -0
  14. package/dist/cleaners/brew.d.ts.map +1 -0
  15. package/dist/cleaners/brew.js +197 -0
  16. package/dist/cleaners/brew.js.map +1 -0
  17. package/dist/cleaners/brewEnhanced.d.ts +18 -0
  18. package/dist/cleaners/brewEnhanced.d.ts.map +1 -0
  19. package/dist/cleaners/brewEnhanced.js +255 -0
  20. package/dist/cleaners/brewEnhanced.js.map +1 -0
  21. package/dist/cleaners/bun.d.ts +14 -0
  22. package/dist/cleaners/bun.d.ts.map +1 -0
  23. package/dist/cleaners/bun.js +207 -0
  24. package/dist/cleaners/bun.js.map +1 -0
  25. package/dist/cleaners/cargo.d.ts +15 -0
  26. package/dist/cleaners/cargo.d.ts.map +1 -0
  27. package/dist/cleaners/cargo.js +193 -0
  28. package/dist/cleaners/cargo.js.map +1 -0
  29. package/dist/cleaners/chrome.d.ts +14 -0
  30. package/dist/cleaners/chrome.d.ts.map +1 -0
  31. package/dist/cleaners/chrome.js +250 -0
  32. package/dist/cleaners/chrome.js.map +1 -0
  33. package/dist/cleaners/cocoapods.d.ts +16 -0
  34. package/dist/cleaners/cocoapods.d.ts.map +1 -0
  35. package/dist/cleaners/cocoapods.js +180 -0
  36. package/dist/cleaners/cocoapods.js.map +1 -0
  37. package/dist/cleaners/cursor.d.ts +15 -0
  38. package/dist/cleaners/cursor.d.ts.map +1 -0
  39. package/dist/cleaners/cursor.js +377 -0
  40. package/dist/cleaners/cursor.js.map +1 -0
  41. package/dist/cleaners/docker.d.ts +35 -0
  42. package/dist/cleaners/docker.d.ts.map +1 -0
  43. package/dist/cleaners/docker.js +288 -0
  44. package/dist/cleaners/docker.js.map +1 -0
  45. package/dist/cleaners/firefox.d.ts +15 -0
  46. package/dist/cleaners/firefox.d.ts.map +1 -0
  47. package/dist/cleaners/firefox.js +281 -0
  48. package/dist/cleaners/firefox.js.map +1 -0
  49. package/dist/cleaners/flutter.d.ts +18 -0
  50. package/dist/cleaners/flutter.d.ts.map +1 -0
  51. package/dist/cleaners/flutter.js +354 -0
  52. package/dist/cleaners/flutter.js.map +1 -0
  53. package/dist/cleaners/goBuild.d.ts +18 -0
  54. package/dist/cleaners/goBuild.d.ts.map +1 -0
  55. package/dist/cleaners/goBuild.js +196 -0
  56. package/dist/cleaners/goBuild.js.map +1 -0
  57. package/dist/cleaners/gradle.d.ts +14 -0
  58. package/dist/cleaners/gradle.d.ts.map +1 -0
  59. package/dist/cleaners/gradle.js +336 -0
  60. package/dist/cleaners/gradle.js.map +1 -0
  61. package/dist/cleaners/index.d.ts +51 -0
  62. package/dist/cleaners/index.d.ts.map +1 -0
  63. package/dist/cleaners/index.js +267 -0
  64. package/dist/cleaners/index.js.map +1 -0
  65. package/dist/cleaners/jetbrains.d.ts +18 -0
  66. package/dist/cleaners/jetbrains.d.ts.map +1 -0
  67. package/dist/cleaners/jetbrains.js +441 -0
  68. package/dist/cleaners/jetbrains.js.map +1 -0
  69. package/dist/cleaners/maven.d.ts +15 -0
  70. package/dist/cleaners/maven.d.ts.map +1 -0
  71. package/dist/cleaners/maven.js +182 -0
  72. package/dist/cleaners/maven.js.map +1 -0
  73. package/dist/cleaners/nix.d.ts +4 -0
  74. package/dist/cleaners/nix.d.ts.map +1 -0
  75. package/dist/cleaners/nix.js +227 -0
  76. package/dist/cleaners/nix.js.map +1 -0
  77. package/dist/cleaners/nodeGyp.d.ts +14 -0
  78. package/dist/cleaners/nodeGyp.d.ts.map +1 -0
  79. package/dist/cleaners/nodeGyp.js +157 -0
  80. package/dist/cleaners/nodeGyp.js.map +1 -0
  81. package/dist/cleaners/npm.d.ts +14 -0
  82. package/dist/cleaners/npm.d.ts.map +1 -0
  83. package/dist/cleaners/npm.js +203 -0
  84. package/dist/cleaners/npm.js.map +1 -0
  85. package/dist/cleaners/npmEnhanced.d.ts +19 -0
  86. package/dist/cleaners/npmEnhanced.d.ts.map +1 -0
  87. package/dist/cleaners/npmEnhanced.js +336 -0
  88. package/dist/cleaners/npmEnhanced.js.map +1 -0
  89. package/dist/cleaners/nuget.d.ts +16 -0
  90. package/dist/cleaners/nuget.d.ts.map +1 -0
  91. package/dist/cleaners/nuget.js +197 -0
  92. package/dist/cleaners/nuget.js.map +1 -0
  93. package/dist/cleaners/nx.d.ts +18 -0
  94. package/dist/cleaners/nx.d.ts.map +1 -0
  95. package/dist/cleaners/nx.js +308 -0
  96. package/dist/cleaners/nx.js.map +1 -0
  97. package/dist/cleaners/pip.d.ts +19 -0
  98. package/dist/cleaners/pip.d.ts.map +1 -0
  99. package/dist/cleaners/pip.js +334 -0
  100. package/dist/cleaners/pip.js.map +1 -0
  101. package/dist/cleaners/pipenv.d.ts +16 -0
  102. package/dist/cleaners/pipenv.d.ts.map +1 -0
  103. package/dist/cleaners/pipenv.js +184 -0
  104. package/dist/cleaners/pipenv.js.map +1 -0
  105. package/dist/cleaners/playwright.d.ts +15 -0
  106. package/dist/cleaners/playwright.d.ts.map +1 -0
  107. package/dist/cleaners/playwright.js +221 -0
  108. package/dist/cleaners/playwright.js.map +1 -0
  109. package/dist/cleaners/pnpm.d.ts +14 -0
  110. package/dist/cleaners/pnpm.d.ts.map +1 -0
  111. package/dist/cleaners/pnpm.js +214 -0
  112. package/dist/cleaners/pnpm.js.map +1 -0
  113. package/dist/cleaners/poetry.d.ts +16 -0
  114. package/dist/cleaners/poetry.d.ts.map +1 -0
  115. package/dist/cleaners/poetry.js +184 -0
  116. package/dist/cleaners/poetry.js.map +1 -0
  117. package/dist/cleaners/swiftpm.d.ts +16 -0
  118. package/dist/cleaners/swiftpm.d.ts.map +1 -0
  119. package/dist/cleaners/swiftpm.js +179 -0
  120. package/dist/cleaners/swiftpm.js.map +1 -0
  121. package/dist/cleaners/turbo.d.ts +18 -0
  122. package/dist/cleaners/turbo.d.ts.map +1 -0
  123. package/dist/cleaners/turbo.js +325 -0
  124. package/dist/cleaners/turbo.js.map +1 -0
  125. package/dist/cleaners/universalBinary.d.ts +20 -0
  126. package/dist/cleaners/universalBinary.d.ts.map +1 -0
  127. package/dist/cleaners/universalBinary.js +318 -0
  128. package/dist/cleaners/universalBinary.js.map +1 -0
  129. package/dist/cleaners/vite.d.ts +17 -0
  130. package/dist/cleaners/vite.d.ts.map +1 -0
  131. package/dist/cleaners/vite.js +274 -0
  132. package/dist/cleaners/vite.js.map +1 -0
  133. package/dist/cleaners/vscode.d.ts +15 -0
  134. package/dist/cleaners/vscode.d.ts.map +1 -0
  135. package/dist/cleaners/vscode.js +411 -0
  136. package/dist/cleaners/vscode.js.map +1 -0
  137. package/dist/cleaners/webpack.d.ts +17 -0
  138. package/dist/cleaners/webpack.d.ts.map +1 -0
  139. package/dist/cleaners/webpack.js +263 -0
  140. package/dist/cleaners/webpack.js.map +1 -0
  141. package/dist/cleaners/windsurf.d.ts +15 -0
  142. package/dist/cleaners/windsurf.d.ts.map +1 -0
  143. package/dist/cleaners/windsurf.js +366 -0
  144. package/dist/cleaners/windsurf.js.map +1 -0
  145. package/dist/cleaners/xcode.d.ts +14 -0
  146. package/dist/cleaners/xcode.d.ts.map +1 -0
  147. package/dist/cleaners/xcode.js +348 -0
  148. package/dist/cleaners/xcode.js.map +1 -0
  149. package/dist/cleaners/yarn.d.ts +16 -0
  150. package/dist/cleaners/yarn.d.ts.map +1 -0
  151. package/dist/cleaners/yarn.js +271 -0
  152. package/dist/cleaners/yarn.js.map +1 -0
  153. package/dist/cleaners/zed.d.ts +15 -0
  154. package/dist/cleaners/zed.d.ts.map +1 -0
  155. package/dist/cleaners/zed.js +383 -0
  156. package/dist/cleaners/zed.js.map +1 -0
  157. package/dist/cli.d.ts +3 -0
  158. package/dist/cli.d.ts.map +1 -0
  159. package/dist/cli.js +367 -0
  160. package/dist/cli.js.map +1 -0
  161. package/dist/commands/auto.d.ts +8 -0
  162. package/dist/commands/auto.d.ts.map +1 -0
  163. package/dist/commands/auto.js +251 -0
  164. package/dist/commands/auto.js.map +1 -0
  165. package/dist/commands/categories.d.ts +8 -0
  166. package/dist/commands/categories.d.ts.map +1 -0
  167. package/dist/commands/categories.js +133 -0
  168. package/dist/commands/categories.js.map +1 -0
  169. package/dist/commands/clean.d.ts +3 -0
  170. package/dist/commands/clean.d.ts.map +1 -0
  171. package/dist/commands/clean.js +149 -0
  172. package/dist/commands/clean.js.map +1 -0
  173. package/dist/commands/config.d.ts +14 -0
  174. package/dist/commands/config.d.ts.map +1 -0
  175. package/dist/commands/config.js +460 -0
  176. package/dist/commands/config.js.map +1 -0
  177. package/dist/commands/configDoctor.d.ts +26 -0
  178. package/dist/commands/configDoctor.d.ts.map +1 -0
  179. package/dist/commands/configDoctor.js +60 -0
  180. package/dist/commands/configDoctor.js.map +1 -0
  181. package/dist/commands/doctor.d.ts +2 -0
  182. package/dist/commands/doctor.d.ts.map +1 -0
  183. package/dist/commands/doctor.js +141 -0
  184. package/dist/commands/doctor.js.map +1 -0
  185. package/dist/commands/emojis.d.ts +2 -0
  186. package/dist/commands/emojis.d.ts.map +1 -0
  187. package/dist/commands/emojis.js +28 -0
  188. package/dist/commands/emojis.js.map +1 -0
  189. package/dist/commands/interactive.d.ts +3 -0
  190. package/dist/commands/interactive.d.ts.map +1 -0
  191. package/dist/commands/interactive.js +284 -0
  192. package/dist/commands/interactive.js.map +1 -0
  193. package/dist/commands/interactiveEnhanced.d.ts +4 -0
  194. package/dist/commands/interactiveEnhanced.d.ts.map +1 -0
  195. package/dist/commands/interactiveEnhanced.js +460 -0
  196. package/dist/commands/interactiveEnhanced.js.map +1 -0
  197. package/dist/commands/list.d.ts +2 -0
  198. package/dist/commands/list.d.ts.map +1 -0
  199. package/dist/commands/list.js +68 -0
  200. package/dist/commands/list.js.map +1 -0
  201. package/dist/commands/sizes.d.ts +2 -0
  202. package/dist/commands/sizes.d.ts.map +1 -0
  203. package/dist/commands/sizes.js +87 -0
  204. package/dist/commands/sizes.js.map +1 -0
  205. package/dist/commands/ub.d.ts +10 -0
  206. package/dist/commands/ub.d.ts.map +1 -0
  207. package/dist/commands/ub.js +170 -0
  208. package/dist/commands/ub.js.map +1 -0
  209. package/dist/config/configSchema.d.ts +93 -0
  210. package/dist/config/configSchema.d.ts.map +1 -0
  211. package/dist/config/configSchema.js +75 -0
  212. package/dist/config/configSchema.js.map +1 -0
  213. package/dist/config/index.d.ts +35 -0
  214. package/dist/config/index.d.ts.map +1 -0
  215. package/dist/config/index.js +255 -0
  216. package/dist/config/index.js.map +1 -0
  217. package/dist/config/loadConfig.d.ts +7 -0
  218. package/dist/config/loadConfig.d.ts.map +1 -0
  219. package/dist/config/loadConfig.js +95 -0
  220. package/dist/config/loadConfig.js.map +1 -0
  221. package/dist/config/migrateConfig.d.ts +56 -0
  222. package/dist/config/migrateConfig.d.ts.map +1 -0
  223. package/dist/config/migrateConfig.js +102 -0
  224. package/dist/config/migrateConfig.js.map +1 -0
  225. package/dist/plugins/discovery.d.ts +6 -0
  226. package/dist/plugins/discovery.d.ts.map +1 -0
  227. package/dist/plugins/discovery.js +64 -0
  228. package/dist/plugins/discovery.js.map +1 -0
  229. package/dist/profiles/index.d.ts +61 -0
  230. package/dist/profiles/index.d.ts.map +1 -0
  231. package/dist/profiles/index.js +406 -0
  232. package/dist/profiles/index.js.map +1 -0
  233. package/dist/types/index.d.ts +176 -0
  234. package/dist/types/index.d.ts.map +1 -0
  235. package/dist/types/index.js +3 -0
  236. package/dist/types/index.js.map +1 -0
  237. package/dist/utils/cache.d.ts +58 -0
  238. package/dist/utils/cache.d.ts.map +1 -0
  239. package/dist/utils/cache.js +101 -0
  240. package/dist/utils/cache.js.map +1 -0
  241. package/dist/utils/cli.d.ts +45 -0
  242. package/dist/utils/cli.d.ts.map +1 -0
  243. package/dist/utils/cli.js +412 -0
  244. package/dist/utils/cli.js.map +1 -0
  245. package/dist/utils/fs.d.ts +32 -0
  246. package/dist/utils/fs.d.ts.map +1 -0
  247. package/dist/utils/fs.js +250 -0
  248. package/dist/utils/fs.js.map +1 -0
  249. package/package.json +3 -3
@@ -0,0 +1,141 @@
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.doctorCommand = doctorCommand;
37
+ const cli_1 = require("../utils/cli");
38
+ const cleaners_1 = require("../cleaners");
39
+ const config_1 = require("../config");
40
+ const os = __importStar(require("os"));
41
+ async function doctorCommand() {
42
+ console.log("\n๐Ÿฉบ System Health Check");
43
+ console.log("โ”€".repeat(50));
44
+ // System Information
45
+ console.log("\n๐Ÿ“‹ System Information:");
46
+ console.log(`${cli_1.symbols.folder} Platform: ${os.platform()}`);
47
+ console.log(`${cli_1.symbols.folder} Architecture: ${os.arch()}`);
48
+ console.log(`${cli_1.symbols.folder} Node.js: ${process.version}`);
49
+ console.log(`${cli_1.symbols.folder} Home Directory: ${os.homedir()}`);
50
+ console.log(`${cli_1.symbols.folder} Current Directory: ${process.cwd()}`);
51
+ // Configuration Status
52
+ console.log("\nโš™๏ธ Configuration:");
53
+ const allCleaners = cleaners_1.cacheManager.getAllCleaners();
54
+ const enabledCleaners = cleaners_1.cacheManager.getEnabledCleaners();
55
+ console.log(`${cli_1.symbols.folder} Total Cleaners: ${allCleaners.length}`);
56
+ console.log(`${cli_1.symbols.folder} Enabled Cleaners: ${enabledCleaners.length}`);
57
+ if (enabledCleaners.length !== allCleaners.length) {
58
+ const disabledCount = allCleaners.length - enabledCleaners.length;
59
+ console.log(`${cli_1.symbols.folder} Disabled Cleaners: ${disabledCount}`);
60
+ }
61
+ // Tool Detection
62
+ console.log("\n๐Ÿ” Tool Detection:");
63
+ let detectionIssues = 0;
64
+ for (const cleaner of allCleaners) {
65
+ try {
66
+ const isAvailable = await cleaner.isAvailable();
67
+ const status = isAvailable ? "โœ…" : "โš ๏ธ";
68
+ const statusText = isAvailable ? "Available" : "Not Found";
69
+ console.log(`${status} ${cleaner.name}: ${statusText}`);
70
+ if (!isAvailable && config_1.config.isToolEnabled(cleaner.name)) {
71
+ detectionIssues++;
72
+ }
73
+ }
74
+ catch (error) {
75
+ console.log(`โŒ ${cleaner.name}: Detection Error - ${error}`);
76
+ detectionIssues++;
77
+ }
78
+ }
79
+ // Quick Cache Scan
80
+ console.log("\n๐Ÿ“Š Quick Cache Scan:");
81
+ let scanIssues = 0;
82
+ try {
83
+ // Get cache info for enabled cleaners only (faster)
84
+ const enabledCacheInfo = [];
85
+ for (const cleaner of enabledCleaners.slice(0, 5)) {
86
+ // Only check first 5 for speed
87
+ try {
88
+ console.log(`Checking ${cleaner.name}...`);
89
+ const info = await cleaner.getCacheInfo();
90
+ enabledCacheInfo.push(info);
91
+ const sizeInMB = ((info.size || 0) / (1024 * 1024)).toFixed(1);
92
+ const pathCount = info.paths.length;
93
+ const status = pathCount > 0 ? "๐Ÿ“" : "๐Ÿ“ญ";
94
+ console.log(`${status} ${cleaner.name}: ${pathCount} locations, ${sizeInMB} MB`);
95
+ }
96
+ catch (error) {
97
+ console.log(`โŒ ${cleaner.name}: Scan Error - ${error}`);
98
+ scanIssues++;
99
+ }
100
+ }
101
+ if (enabledCleaners.length > 5) {
102
+ console.log(`... and ${enabledCleaners.length - 5} more cleaners`);
103
+ }
104
+ }
105
+ catch (error) {
106
+ console.log(`โŒ Cache scan failed: ${error}`);
107
+ scanIssues++;
108
+ }
109
+ // Performance Check
110
+ console.log("\nโšก Performance Check:");
111
+ const freeMemory = os.freemem();
112
+ const totalMemory = os.totalmem();
113
+ const memoryUsage = (((totalMemory - freeMemory) / totalMemory) *
114
+ 100).toFixed(1);
115
+ console.log(`${cli_1.symbols.folder} Memory Usage: ${memoryUsage}%`);
116
+ console.log(`${cli_1.symbols.folder} Free Memory: ${(freeMemory / (1024 * 1024 * 1024)).toFixed(1)} GB`);
117
+ if (parseFloat(memoryUsage) > 90) {
118
+ console.log(`โš ๏ธ High memory usage detected - this may slow cache operations`);
119
+ }
120
+ // Summary
121
+ console.log("\n๐Ÿ“‹ Health Summary:");
122
+ const totalIssues = detectionIssues + scanIssues;
123
+ if (totalIssues === 0) {
124
+ (0, cli_1.printSuccess)("โœ… System is healthy! No issues detected.");
125
+ }
126
+ else {
127
+ console.log(`โš ๏ธ Found ${totalIssues} issue(s):`);
128
+ if (detectionIssues > 0) {
129
+ console.log(` - ${detectionIssues} tool detection issue(s)`);
130
+ }
131
+ if (scanIssues > 0) {
132
+ console.log(` - ${scanIssues} cache scan issue(s)`);
133
+ }
134
+ }
135
+ console.log("\n๐Ÿ’ก Tips:");
136
+ console.log("โ€ข Run `squeaky list` to see all available tools");
137
+ console.log("โ€ข Run `squeaky sizes` to see detailed cache information");
138
+ console.log("โ€ข Run `squeaky clean --dry-run` to preview cleaning");
139
+ console.log("");
140
+ }
141
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function emojisCommand(mode: string | undefined): Promise<void>;
2
+ //# sourceMappingURL=emojis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojis.d.ts","sourceRoot":"","sources":["../../src/commands/emojis.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB3E"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emojisCommand = emojisCommand;
4
+ const config_1 = require("../config");
5
+ const cli_1 = require("../utils/cli");
6
+ async function emojisCommand(mode) {
7
+ if (!mode) {
8
+ const currentMode = config_1.config.getEmojiMode();
9
+ (0, cli_1.printInfo)(`Current emoji mode: ${currentMode}`);
10
+ (0, cli_1.printInfo)(`Usage: squeaky emojis <on|off|minimal>`);
11
+ return;
12
+ }
13
+ if (mode !== "on" && mode !== "off" && mode !== "minimal") {
14
+ (0, cli_1.printError)(`Invalid mode: ${mode}. Please use 'on', 'off', or 'minimal'.`);
15
+ return;
16
+ }
17
+ const currentConfig = config_1.config.get();
18
+ const newConfig = {
19
+ ...currentConfig,
20
+ output: {
21
+ ...currentConfig.output,
22
+ emojis: mode,
23
+ },
24
+ };
25
+ config_1.config.set(newConfig);
26
+ (0, cli_1.printSuccess)(`Emoji mode set to: ${mode}`);
27
+ }
28
+ //# sourceMappingURL=emojis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojis.js","sourceRoot":"","sources":["../../src/commands/emojis.ts"],"names":[],"mappings":";;AAGA,sCAyBC;AA5BD,sCAAmC;AACnC,sCAAmE;AAE5D,KAAK,UAAU,aAAa,CAAC,IAAwB;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,WAAW,GAAG,eAAM,CAAC,YAAY,EAAE,CAAC;QAC1C,IAAA,eAAS,EAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;QAChD,IAAA,eAAS,EAAC,wCAAwC,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1D,IAAA,gBAAU,EAAC,iBAAiB,IAAI,yCAAyC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,eAAM,CAAC,GAAG,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG;QAChB,GAAG,aAAa;QAChB,MAAM,EAAE;YACN,GAAG,aAAa,CAAC,MAAM;YACvB,MAAM,EAAE,IAAgC;SACzC;KACF,CAAC;IAEF,eAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtB,IAAA,kBAAY,EAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const interactiveCommand: Command;
3
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDpC,eAAO,MAAM,kBAAkB,SA8T3B,CAAC"}
@@ -0,0 +1,284 @@
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.interactiveCommand = void 0;
7
+ const commander_1 = require("commander");
8
+ const inquirer_1 = __importDefault(require("inquirer"));
9
+ const picocolors_1 = __importDefault(require("picocolors"));
10
+ const cleaners_1 = require("../cleaners");
11
+ const cli_1 = require("../utils/cli");
12
+ const config_1 = require("../config");
13
+ function getCacheEmoji(type) {
14
+ switch (type) {
15
+ case "package-manager":
16
+ return "๐Ÿ“ฆ";
17
+ case "build-tool":
18
+ return "๐Ÿ”จ";
19
+ case "browser":
20
+ return "๐ŸŒ";
21
+ case "ide":
22
+ return "๐Ÿ’ป";
23
+ case "system":
24
+ return "๐Ÿ–ฅ๏ธ";
25
+ default:
26
+ return "๐Ÿ“„";
27
+ }
28
+ }
29
+ function getTypeEmoji(type) {
30
+ switch (type) {
31
+ case "package-manager":
32
+ return "๐Ÿ“ฆ";
33
+ case "build-tool":
34
+ return "๐Ÿ”จ";
35
+ case "browser":
36
+ return "๐ŸŒ";
37
+ case "ide":
38
+ return "๐Ÿ’ป";
39
+ case "system":
40
+ return "๐Ÿ–ฅ๏ธ";
41
+ default:
42
+ return "๐Ÿ“„";
43
+ }
44
+ }
45
+ exports.interactiveCommand = new commander_1.Command("interactive")
46
+ .alias("i")
47
+ .description("interactively select and clean caches with guided prompts")
48
+ .option("-v, --verbose", "enable verbose output")
49
+ .action(async (options) => {
50
+ try {
51
+ // Check if we're in a TTY environment
52
+ if (!process.stdin.isTTY) {
53
+ (0, cli_1.printError)("Interactive mode requires a TTY environment.");
54
+ console.log(picocolors_1.default.yellow("๐Ÿ’ก Tip: Use non-interactive commands instead:"));
55
+ console.log(picocolors_1.default.gray(" โ€ข squeaky clean --all # Clean all caches"));
56
+ console.log(picocolors_1.default.gray(" โ€ข squeaky clean --dry-run # Preview what would be cleaned"));
57
+ console.log(picocolors_1.default.gray(" โ€ข squeaky list --sizes # List caches with sizes"));
58
+ return;
59
+ }
60
+ (0, cli_1.printHeader)("Interactive Cache Cleaning");
61
+ // Set verbose mode in config if requested
62
+ if (options.verbose) {
63
+ config_1.config.set({ output: { ...config_1.config.get().output, verbose: true } });
64
+ }
65
+ // Get all available cache info
66
+ (0, cli_1.printInfo)("๐Ÿ” Scanning for available caches...");
67
+ const allCaches = await cleaners_1.cacheManager.getAllCacheInfo();
68
+ const availableCaches = allCaches.filter((cache) => cache.isInstalled && cache.size > 0);
69
+ if (availableCaches.length === 0) {
70
+ console.log(picocolors_1.default.yellow("\nโš ๏ธ No caches found with reclaimable space."));
71
+ console.log(picocolors_1.default.gray(" This could mean:"));
72
+ console.log(picocolors_1.default.gray(" โ€ข Your caches are already clean"));
73
+ console.log(picocolors_1.default.gray(" โ€ข No supported development tools are installed"));
74
+ console.log(picocolors_1.default.gray(" โ€ข Cache directories are in non-standard locations"));
75
+ return;
76
+ }
77
+ // Display summary
78
+ console.log(picocolors_1.default.bold("\n๐Ÿ“‹ Found caches:"));
79
+ const totalSize = availableCaches.reduce((sum, cache) => sum + cache.size, 0);
80
+ availableCaches.forEach((cache) => {
81
+ const size = (0, cli_1.formatSizeWithColor)(cache.size);
82
+ const emoji = getCacheEmoji(cache.type);
83
+ console.log(` ${emoji} ${picocolors_1.default.bold(cache.name)} - ${size} - ${picocolors_1.default.gray(cache.description)}`);
84
+ });
85
+ console.log(picocolors_1.default.bold(`\n๐Ÿ’พ Total reclaimable space: ${picocolors_1.default.green((0, cli_1.formatSizeWithColor)(totalSize))}\n`));
86
+ // Selection method
87
+ const { selectionMethod } = await inquirer_1.default.prompt([
88
+ {
89
+ type: "list",
90
+ name: "selectionMethod",
91
+ message: "How would you like to select caches to clean?",
92
+ choices: [
93
+ {
94
+ name: `๐Ÿงน Clean all caches (save ${(0, cli_1.formatSizeWithColor)(totalSize)})`,
95
+ value: "all",
96
+ },
97
+ {
98
+ name: "๐ŸŽฏ Select individual caches",
99
+ value: "individual",
100
+ },
101
+ {
102
+ name: "๐Ÿ“‚ Select by cache type",
103
+ value: "type",
104
+ },
105
+ {
106
+ name: "โŒ Exit without cleaning",
107
+ value: "exit",
108
+ },
109
+ ],
110
+ },
111
+ ]);
112
+ if (selectionMethod === "exit") {
113
+ console.log(picocolors_1.default.yellow("\n๐Ÿ‘‹ Exiting without cleaning caches."));
114
+ return;
115
+ }
116
+ let selectedCaches = [];
117
+ if (selectionMethod === "all") {
118
+ selectedCaches = availableCaches.map((cache) => cache.name);
119
+ }
120
+ else if (selectionMethod === "individual") {
121
+ const { caches } = await inquirer_1.default.prompt([
122
+ {
123
+ type: "checkbox",
124
+ name: "caches",
125
+ message: "Select caches to clean:",
126
+ choices: availableCaches.map((cache) => ({
127
+ name: `${getCacheEmoji(cache.type)} ${cache.name} (${(0, cli_1.formatSizeWithColor)(cache.size)}) - ${cache.description}`,
128
+ value: cache.name,
129
+ })),
130
+ },
131
+ ]);
132
+ selectedCaches = caches;
133
+ }
134
+ else if (selectionMethod === "type") {
135
+ const cacheTypes = [
136
+ ...new Set(availableCaches.map((cache) => cache.type)),
137
+ ];
138
+ const typeChoices = cacheTypes.map((type) => {
139
+ const typeCaches = availableCaches.filter((cache) => cache.type === type);
140
+ const typeSize = typeCaches.reduce((sum, cache) => sum + cache.size, 0);
141
+ return {
142
+ name: `${getTypeEmoji(type)} ${type} (${typeCaches.length} caches, ${(0, cli_1.formatSizeWithColor)(typeSize)})`,
143
+ value: type,
144
+ };
145
+ });
146
+ const { types } = await inquirer_1.default.prompt([
147
+ {
148
+ type: "checkbox",
149
+ name: "types",
150
+ message: "Select cache types to clean:",
151
+ choices: typeChoices,
152
+ },
153
+ ]);
154
+ selectedCaches = availableCaches
155
+ .filter((cache) => types.includes(cache.type))
156
+ .map((cache) => cache.name);
157
+ }
158
+ if (selectedCaches.length === 0) {
159
+ console.log(picocolors_1.default.yellow("\nโš ๏ธ No caches selected. Exiting."));
160
+ return;
161
+ }
162
+ // Show what will be cleaned
163
+ const selectedSize = availableCaches
164
+ .filter((cache) => selectedCaches.includes(cache.name))
165
+ .reduce((sum, cache) => sum + cache.size, 0);
166
+ console.log(picocolors_1.default.bold("\n๐ŸŽฏ Selected for cleaning:"));
167
+ console.log(picocolors_1.default.gray(` This will free up approximately ${(0, cli_1.formatSizeWithColor)(selectedSize)}`));
168
+ selectedCaches.forEach((name) => {
169
+ const cache = availableCaches.find((c) => c.name === name);
170
+ if (cache) {
171
+ const emoji = getCacheEmoji(cache.type);
172
+ console.log(` ${emoji} ${name} - ${(0, cli_1.formatSizeWithColor)(cache.size || 0)}`);
173
+ }
174
+ });
175
+ // Confirmation
176
+ const { confirmClean, dryRun } = await inquirer_1.default
177
+ .prompt([
178
+ {
179
+ type: "list",
180
+ name: "confirmClean",
181
+ message: "How would you like to proceed?",
182
+ choices: [
183
+ {
184
+ name: "๐Ÿ” Dry run (preview what would be cleaned)",
185
+ value: "dry",
186
+ },
187
+ {
188
+ name: "๐Ÿงน Clean selected caches now",
189
+ value: "clean",
190
+ },
191
+ {
192
+ name: "โŒ Cancel",
193
+ value: "cancel",
194
+ },
195
+ ],
196
+ },
197
+ ])
198
+ .then((answers) => ({
199
+ confirmClean: answers.confirmClean,
200
+ dryRun: answers.confirmClean === "dry",
201
+ }));
202
+ if (confirmClean === "cancel") {
203
+ console.log(picocolors_1.default.yellow("\n๐Ÿ‘‹ Operation cancelled."));
204
+ return;
205
+ }
206
+ const isDryRun = dryRun || confirmClean === "dry";
207
+ // Execute cleaning
208
+ console.log(picocolors_1.default.bold(`\n${isDryRun ? "๐Ÿ” DRY RUN: " : "๐Ÿงน "}Cleaning selected caches...\n`));
209
+ // Convert selectedCaches to exclude list (all caches except selected ones)
210
+ const allCleaners = await cleaners_1.cacheManager.getAllCacheInfo();
211
+ const excludeCaches = allCleaners
212
+ .filter((cache) => !selectedCaches.includes(cache.name))
213
+ .map((cache) => cache.name);
214
+ const results = await cleaners_1.cacheManager.cleanAllCaches({
215
+ dryRun: isDryRun,
216
+ exclude: excludeCaches,
217
+ });
218
+ // Display results
219
+ let totalFreed = 0;
220
+ results.forEach((result) => {
221
+ const name = result.name;
222
+ if (!selectedCaches.includes(name))
223
+ return;
224
+ const emoji = result.success ? "โœ…" : "โŒ";
225
+ const freed = result.sizeBefore;
226
+ totalFreed += freed;
227
+ if (result.success) {
228
+ const freedStr = freed > 0
229
+ ? ` (${(0, cli_1.formatSizeWithColor)(freed)} ${isDryRun ? "would be " : ""}freed)`
230
+ : "";
231
+ console.log(`${emoji} ${name}${freedStr}`);
232
+ if (options.verbose &&
233
+ result.clearedPaths &&
234
+ result.clearedPaths.length > 0) {
235
+ result.clearedPaths.forEach((path) => {
236
+ console.log(picocolors_1.default.gray(` โ†’ ${path}`));
237
+ });
238
+ }
239
+ }
240
+ else {
241
+ console.log(`${emoji} ${name}: ${picocolors_1.default.red(result.error || "Unknown error")}`);
242
+ }
243
+ });
244
+ // Summary
245
+ console.log();
246
+ if (totalFreed > 0) {
247
+ console.log(` ${picocolors_1.default.green((0, cli_1.formatSizeWithColor)(totalFreed))} ${isDryRun ? "would be" : "was"} freed\n`);
248
+ }
249
+ else {
250
+ console.log(picocolors_1.default.yellow(" No space was freed\n"));
251
+ }
252
+ if (isDryRun) {
253
+ const { proceedWithClean } = await inquirer_1.default.prompt([
254
+ {
255
+ type: "confirm",
256
+ name: "proceedWithClean",
257
+ message: "Would you like to proceed with the actual cleaning?",
258
+ default: false,
259
+ },
260
+ ]);
261
+ if (proceedWithClean) {
262
+ console.log(picocolors_1.default.bold("\n๐Ÿงน Proceeding with actual cleaning...\n"));
263
+ const realResults = await cleaners_1.cacheManager.cleanAllCaches({
264
+ dryRun: false,
265
+ exclude: excludeCaches,
266
+ });
267
+ let realFreed = 0;
268
+ realResults.forEach((result) => {
269
+ const name = result.name;
270
+ if (selectedCaches.includes(name) && result.success) {
271
+ realFreed += result.sizeBefore;
272
+ }
273
+ });
274
+ console.log(picocolors_1.default.green(`โœจ Real cleaning complete! Freed ${(0, cli_1.formatSizeWithColor)(realFreed)}\n`));
275
+ }
276
+ }
277
+ console.log(picocolors_1.default.bold("๐ŸŽ‰ Interactive cleaning session complete!"));
278
+ }
279
+ catch (error) {
280
+ (0, cli_1.printError)(`Interactive command failed: ${error instanceof Error ? error.message : error}`);
281
+ throw error;
282
+ }
283
+ });
284
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ export declare const interactiveEnhancedCommand: Command;
3
+ export default interactiveEnhancedCommand;
4
+ //# sourceMappingURL=interactiveEnhanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactiveEnhanced.d.ts","sourceRoot":"","sources":["../../src/commands/interactiveEnhanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,eAAO,MAAM,0BAA0B,SAuhBnC,CAAC;AAEL,eAAe,0BAA0B,CAAC"}