squeaky-clean 0.1.1

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 (191) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +465 -0
  3. package/dist/cleaners/BaseCleaner.d.ts +57 -0
  4. package/dist/cleaners/BaseCleaner.d.ts.map +1 -0
  5. package/dist/cleaners/BaseCleaner.js +299 -0
  6. package/dist/cleaners/BaseCleaner.js.map +1 -0
  7. package/dist/cleaners/CleanerRegistry.d.ts +65 -0
  8. package/dist/cleaners/CleanerRegistry.d.ts.map +1 -0
  9. package/dist/cleaners/CleanerRegistry.js +112 -0
  10. package/dist/cleaners/CleanerRegistry.js.map +1 -0
  11. package/dist/cleaners/androidstudio.d.ts +16 -0
  12. package/dist/cleaners/androidstudio.d.ts.map +1 -0
  13. package/dist/cleaners/androidstudio.js +375 -0
  14. package/dist/cleaners/androidstudio.js.map +1 -0
  15. package/dist/cleaners/brew.d.ts +4 -0
  16. package/dist/cleaners/brew.d.ts.map +1 -0
  17. package/dist/cleaners/brew.js +197 -0
  18. package/dist/cleaners/brew.js.map +1 -0
  19. package/dist/cleaners/brewEnhanced.d.ts +18 -0
  20. package/dist/cleaners/brewEnhanced.d.ts.map +1 -0
  21. package/dist/cleaners/brewEnhanced.js +255 -0
  22. package/dist/cleaners/brewEnhanced.js.map +1 -0
  23. package/dist/cleaners/bun.d.ts +14 -0
  24. package/dist/cleaners/bun.d.ts.map +1 -0
  25. package/dist/cleaners/bun.js +207 -0
  26. package/dist/cleaners/bun.js.map +1 -0
  27. package/dist/cleaners/chrome.d.ts +14 -0
  28. package/dist/cleaners/chrome.d.ts.map +1 -0
  29. package/dist/cleaners/chrome.js +250 -0
  30. package/dist/cleaners/chrome.js.map +1 -0
  31. package/dist/cleaners/docker.d.ts +35 -0
  32. package/dist/cleaners/docker.d.ts.map +1 -0
  33. package/dist/cleaners/docker.js +285 -0
  34. package/dist/cleaners/docker.js.map +1 -0
  35. package/dist/cleaners/firefox.d.ts +15 -0
  36. package/dist/cleaners/firefox.d.ts.map +1 -0
  37. package/dist/cleaners/firefox.js +281 -0
  38. package/dist/cleaners/firefox.js.map +1 -0
  39. package/dist/cleaners/flutter.d.ts +18 -0
  40. package/dist/cleaners/flutter.d.ts.map +1 -0
  41. package/dist/cleaners/flutter.js +354 -0
  42. package/dist/cleaners/flutter.js.map +1 -0
  43. package/dist/cleaners/goBuild.d.ts +18 -0
  44. package/dist/cleaners/goBuild.d.ts.map +1 -0
  45. package/dist/cleaners/goBuild.js +196 -0
  46. package/dist/cleaners/goBuild.js.map +1 -0
  47. package/dist/cleaners/gradle.d.ts +14 -0
  48. package/dist/cleaners/gradle.d.ts.map +1 -0
  49. package/dist/cleaners/gradle.js +336 -0
  50. package/dist/cleaners/gradle.js.map +1 -0
  51. package/dist/cleaners/index.d.ts +51 -0
  52. package/dist/cleaners/index.d.ts.map +1 -0
  53. package/dist/cleaners/index.js +247 -0
  54. package/dist/cleaners/index.js.map +1 -0
  55. package/dist/cleaners/jetbrains.d.ts +18 -0
  56. package/dist/cleaners/jetbrains.d.ts.map +1 -0
  57. package/dist/cleaners/jetbrains.js +441 -0
  58. package/dist/cleaners/jetbrains.js.map +1 -0
  59. package/dist/cleaners/nix.d.ts +4 -0
  60. package/dist/cleaners/nix.d.ts.map +1 -0
  61. package/dist/cleaners/nix.js +227 -0
  62. package/dist/cleaners/nix.js.map +1 -0
  63. package/dist/cleaners/nodeGyp.d.ts +14 -0
  64. package/dist/cleaners/nodeGyp.d.ts.map +1 -0
  65. package/dist/cleaners/nodeGyp.js +157 -0
  66. package/dist/cleaners/nodeGyp.js.map +1 -0
  67. package/dist/cleaners/npm.d.ts +14 -0
  68. package/dist/cleaners/npm.d.ts.map +1 -0
  69. package/dist/cleaners/npm.js +198 -0
  70. package/dist/cleaners/npm.js.map +1 -0
  71. package/dist/cleaners/npmEnhanced.d.ts +19 -0
  72. package/dist/cleaners/npmEnhanced.d.ts.map +1 -0
  73. package/dist/cleaners/npmEnhanced.js +336 -0
  74. package/dist/cleaners/npmEnhanced.js.map +1 -0
  75. package/dist/cleaners/nx.d.ts +18 -0
  76. package/dist/cleaners/nx.d.ts.map +1 -0
  77. package/dist/cleaners/nx.js +308 -0
  78. package/dist/cleaners/nx.js.map +1 -0
  79. package/dist/cleaners/pip.d.ts +19 -0
  80. package/dist/cleaners/pip.d.ts.map +1 -0
  81. package/dist/cleaners/pip.js +334 -0
  82. package/dist/cleaners/pip.js.map +1 -0
  83. package/dist/cleaners/pnpm.d.ts +14 -0
  84. package/dist/cleaners/pnpm.d.ts.map +1 -0
  85. package/dist/cleaners/pnpm.js +209 -0
  86. package/dist/cleaners/pnpm.js.map +1 -0
  87. package/dist/cleaners/turbo.d.ts +18 -0
  88. package/dist/cleaners/turbo.d.ts.map +1 -0
  89. package/dist/cleaners/turbo.js +325 -0
  90. package/dist/cleaners/turbo.js.map +1 -0
  91. package/dist/cleaners/vite.d.ts +17 -0
  92. package/dist/cleaners/vite.d.ts.map +1 -0
  93. package/dist/cleaners/vite.js +274 -0
  94. package/dist/cleaners/vite.js.map +1 -0
  95. package/dist/cleaners/vscode.d.ts +14 -0
  96. package/dist/cleaners/vscode.d.ts.map +1 -0
  97. package/dist/cleaners/vscode.js +354 -0
  98. package/dist/cleaners/vscode.js.map +1 -0
  99. package/dist/cleaners/webpack.d.ts +17 -0
  100. package/dist/cleaners/webpack.d.ts.map +1 -0
  101. package/dist/cleaners/webpack.js +263 -0
  102. package/dist/cleaners/webpack.js.map +1 -0
  103. package/dist/cleaners/xcode.d.ts +14 -0
  104. package/dist/cleaners/xcode.d.ts.map +1 -0
  105. package/dist/cleaners/xcode.js +348 -0
  106. package/dist/cleaners/xcode.js.map +1 -0
  107. package/dist/cleaners/yarn.d.ts +16 -0
  108. package/dist/cleaners/yarn.d.ts.map +1 -0
  109. package/dist/cleaners/yarn.js +266 -0
  110. package/dist/cleaners/yarn.js.map +1 -0
  111. package/dist/cli.d.ts +3 -0
  112. package/dist/cli.d.ts.map +1 -0
  113. package/dist/cli.js +346 -0
  114. package/dist/cli.js.map +1 -0
  115. package/dist/commands/auto.d.ts +8 -0
  116. package/dist/commands/auto.d.ts.map +1 -0
  117. package/dist/commands/auto.js +224 -0
  118. package/dist/commands/auto.js.map +1 -0
  119. package/dist/commands/categories.d.ts +8 -0
  120. package/dist/commands/categories.d.ts.map +1 -0
  121. package/dist/commands/categories.js +133 -0
  122. package/dist/commands/categories.js.map +1 -0
  123. package/dist/commands/clean.d.ts +3 -0
  124. package/dist/commands/clean.d.ts.map +1 -0
  125. package/dist/commands/clean.js +149 -0
  126. package/dist/commands/clean.js.map +1 -0
  127. package/dist/commands/config.d.ts +14 -0
  128. package/dist/commands/config.d.ts.map +1 -0
  129. package/dist/commands/config.js +445 -0
  130. package/dist/commands/config.js.map +1 -0
  131. package/dist/commands/configDoctor.d.ts +26 -0
  132. package/dist/commands/configDoctor.d.ts.map +1 -0
  133. package/dist/commands/configDoctor.js +60 -0
  134. package/dist/commands/configDoctor.js.map +1 -0
  135. package/dist/commands/doctor.d.ts +2 -0
  136. package/dist/commands/doctor.d.ts.map +1 -0
  137. package/dist/commands/doctor.js +141 -0
  138. package/dist/commands/doctor.js.map +1 -0
  139. package/dist/commands/emojis.d.ts +2 -0
  140. package/dist/commands/emojis.d.ts.map +1 -0
  141. package/dist/commands/emojis.js +28 -0
  142. package/dist/commands/emojis.js.map +1 -0
  143. package/dist/commands/interactive.d.ts +3 -0
  144. package/dist/commands/interactive.d.ts.map +1 -0
  145. package/dist/commands/interactive.js +284 -0
  146. package/dist/commands/interactive.js.map +1 -0
  147. package/dist/commands/interactiveEnhanced.d.ts +4 -0
  148. package/dist/commands/interactiveEnhanced.d.ts.map +1 -0
  149. package/dist/commands/interactiveEnhanced.js +460 -0
  150. package/dist/commands/interactiveEnhanced.js.map +1 -0
  151. package/dist/commands/list.d.ts +2 -0
  152. package/dist/commands/list.d.ts.map +1 -0
  153. package/dist/commands/list.js +68 -0
  154. package/dist/commands/list.js.map +1 -0
  155. package/dist/commands/sizes.d.ts +2 -0
  156. package/dist/commands/sizes.d.ts.map +1 -0
  157. package/dist/commands/sizes.js +87 -0
  158. package/dist/commands/sizes.js.map +1 -0
  159. package/dist/config/index.d.ts +26 -0
  160. package/dist/config/index.d.ts.map +1 -0
  161. package/dist/config/index.js +228 -0
  162. package/dist/config/index.js.map +1 -0
  163. package/dist/config/loadConfig.d.ts +7 -0
  164. package/dist/config/loadConfig.d.ts.map +1 -0
  165. package/dist/config/loadConfig.js +103 -0
  166. package/dist/config/loadConfig.js.map +1 -0
  167. package/dist/config/migrateConfig.d.ts +56 -0
  168. package/dist/config/migrateConfig.d.ts.map +1 -0
  169. package/dist/config/migrateConfig.js +102 -0
  170. package/dist/config/migrateConfig.js.map +1 -0
  171. package/dist/plugins/discovery.d.ts +6 -0
  172. package/dist/plugins/discovery.d.ts.map +1 -0
  173. package/dist/plugins/discovery.js +64 -0
  174. package/dist/plugins/discovery.js.map +1 -0
  175. package/dist/profiles/index.d.ts +61 -0
  176. package/dist/profiles/index.d.ts.map +1 -0
  177. package/dist/profiles/index.js +361 -0
  178. package/dist/profiles/index.js.map +1 -0
  179. package/dist/types/index.d.ts +161 -0
  180. package/dist/types/index.d.ts.map +1 -0
  181. package/dist/types/index.js +3 -0
  182. package/dist/types/index.js.map +1 -0
  183. package/dist/utils/cli.d.ts +44 -0
  184. package/dist/utils/cli.d.ts.map +1 -0
  185. package/dist/utils/cli.js +407 -0
  186. package/dist/utils/cli.js.map +1 -0
  187. package/dist/utils/fs.d.ts +15 -0
  188. package/dist/utils/fs.d.ts.map +1 -0
  189. package/dist/utils/fs.js +218 -0
  190. package/dist/utils/fs.js.map +1 -0
  191. package/package.json +122 -0
@@ -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 chalk_1 = __importDefault(require("chalk"));
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(chalk_1.default.yellow("๐Ÿ’ก Tip: Use non-interactive commands instead:"));
55
+ console.log(chalk_1.default.gray(" โ€ข squeaky clean --all # Clean all caches"));
56
+ console.log(chalk_1.default.gray(" โ€ข squeaky clean --dry-run # Preview what would be cleaned"));
57
+ console.log(chalk_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(chalk_1.default.yellow("\nโš ๏ธ No caches found with reclaimable space."));
71
+ console.log(chalk_1.default.gray(" This could mean:"));
72
+ console.log(chalk_1.default.gray(" โ€ข Your caches are already clean"));
73
+ console.log(chalk_1.default.gray(" โ€ข No supported development tools are installed"));
74
+ console.log(chalk_1.default.gray(" โ€ข Cache directories are in non-standard locations"));
75
+ return;
76
+ }
77
+ // Display summary
78
+ console.log(chalk_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} ${chalk_1.default.bold(cache.name)} - ${size} - ${chalk_1.default.gray(cache.description)}`);
84
+ });
85
+ console.log(chalk_1.default.bold(`\n๐Ÿ’พ Total reclaimable space: ${chalk_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(chalk_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(chalk_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(chalk_1.default.bold("\n๐ŸŽฏ Selected for cleaning:"));
167
+ console.log(chalk_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(chalk_1.default.yellow("\n๐Ÿ‘‹ Operation cancelled."));
204
+ return;
205
+ }
206
+ const isDryRun = dryRun || confirmClean === "dry";
207
+ // Execute cleaning
208
+ console.log(chalk_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(chalk_1.default.gray(` โ†’ ${path}`));
237
+ });
238
+ }
239
+ }
240
+ else {
241
+ console.log(`${emoji} ${name}: ${chalk_1.default.red(result.error || "Unknown error")}`);
242
+ }
243
+ });
244
+ // Summary
245
+ console.log();
246
+ if (totalFreed > 0) {
247
+ console.log(` ${chalk_1.default.green((0, cli_1.formatSizeWithColor)(totalFreed))} ${isDryRun ? "would be" : "was"} freed\n`);
248
+ }
249
+ else {
250
+ console.log(chalk_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(chalk_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(chalk_1.default.green(`โœจ Real cleaning complete! Freed ${(0, cli_1.formatSizeWithColor)(realFreed)}\n`));
275
+ }
276
+ }
277
+ console.log(chalk_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"}