squeaky-clean 0.1.11 → 0.3.0

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 +373 -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 +458 -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 +88 -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 +258 -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 +7 -7
@@ -0,0 +1,458 @@
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
+ exports.configCommand = configCommand;
40
+ const cli_1 = require("../utils/cli");
41
+ const config_1 = require("../config");
42
+ const cleaners_1 = require("../cleaners");
43
+ const picocolors_1 = __importDefault(require("picocolors"));
44
+ const inquirer_1 = __importDefault(require("inquirer"));
45
+ async function configCommand(options) {
46
+ try {
47
+ console.log("\n⚙️ Configuration Management");
48
+ console.log("─".repeat(35));
49
+ // Show config path if requested
50
+ if (options.path) {
51
+ await showConfigPath();
52
+ return;
53
+ }
54
+ // Interactive configuration wizard
55
+ if (options.interactive) {
56
+ await interactiveConfigWizard();
57
+ return;
58
+ }
59
+ // If no options provided, show current config
60
+ if (!options.list &&
61
+ !options.get &&
62
+ !options.set &&
63
+ !options.enable &&
64
+ !options.disable &&
65
+ !options.reset) {
66
+ await showCurrentConfig();
67
+ return;
68
+ }
69
+ // List all configuration options
70
+ if (options.list) {
71
+ await showCurrentConfig();
72
+ return;
73
+ }
74
+ // Get specific configuration value
75
+ if (options.get) {
76
+ await getConfigValue(options.get);
77
+ return;
78
+ }
79
+ // Set configuration value
80
+ if (options.set) {
81
+ await setConfigValue(options.set);
82
+ return;
83
+ }
84
+ // Enable specific tool
85
+ if (options.enable) {
86
+ await enableTool(options.enable);
87
+ return;
88
+ }
89
+ // Disable specific tool
90
+ if (options.disable) {
91
+ await disableTool(options.disable);
92
+ return;
93
+ }
94
+ // Reset configuration
95
+ if (options.reset) {
96
+ await resetConfiguration();
97
+ return;
98
+ }
99
+ }
100
+ catch (error) {
101
+ (0, cli_1.printError)(`Config command error: ${error}`);
102
+ throw error;
103
+ }
104
+ }
105
+ async function showCurrentConfig() {
106
+ const currentConfig = config_1.config.get();
107
+ console.log("\n📋 Current Configuration:");
108
+ console.log();
109
+ // Output settings
110
+ console.log(picocolors_1.default.bold("📝 Output Settings:"));
111
+ console.log(` ${cli_1.symbols.folder} Verbose: ${currentConfig.output?.verbose ? picocolors_1.default.green("enabled") : picocolors_1.default.gray("disabled")}`);
112
+ console.log(` ${cli_1.symbols.folder} Colors: ${currentConfig.output?.useColors !== false ? picocolors_1.default.green("enabled") : picocolors_1.default.gray("disabled")}`);
113
+ console.log();
114
+ // Safety settings
115
+ console.log(picocolors_1.default.bold("🔒 Safety Settings:"));
116
+ console.log(` ${cli_1.symbols.folder} Require Confirmation: ${config_1.config.shouldRequireConfirmation() ? picocolors_1.default.yellow("yes") : picocolors_1.default.green("no")}`);
117
+ console.log();
118
+ // Tool enablement
119
+ console.log(picocolors_1.default.bold("🔧 Tool Enablement:"));
120
+ const allCleaners = cleaners_1.cacheManager.getAllCleaners();
121
+ const groupedCleaners = {
122
+ "package-manager": allCleaners.filter((c) => c.type === "package-manager"),
123
+ "build-tool": allCleaners.filter((c) => c.type === "build-tool"),
124
+ ide: allCleaners.filter((c) => c.type === "ide"),
125
+ browser: allCleaners.filter((c) => c.type === "browser"),
126
+ system: allCleaners.filter((c) => c.type === "system"),
127
+ };
128
+ const typeEmojis = {
129
+ "package-manager": "📦",
130
+ "build-tool": "🔨",
131
+ ide: "💻",
132
+ browser: "🌐",
133
+ system: "⚙️",
134
+ };
135
+ for (const [type, cleaners] of Object.entries(groupedCleaners)) {
136
+ if (cleaners.length === 0)
137
+ continue;
138
+ console.log(` ${typeEmojis[type]} ${type}:`);
139
+ for (const cleaner of cleaners) {
140
+ const enabled = config_1.config.isToolEnabled(cleaner.name);
141
+ const status = enabled ? picocolors_1.default.green("✓ enabled") : picocolors_1.default.red("✗ disabled");
142
+ console.log(` ${status} ${cleaner.name}`);
143
+ }
144
+ }
145
+ console.log();
146
+ (0, cli_1.printInfo)("💡 Use `squeaky config --help` to see available configuration options");
147
+ }
148
+ async function getConfigValue(key) {
149
+ const currentConfig = config_1.config.get();
150
+ let value;
151
+ switch (key.toLowerCase()) {
152
+ case "verbose":
153
+ value = currentConfig.output?.verbose;
154
+ break;
155
+ case "colors":
156
+ case "usecolors":
157
+ value = currentConfig.output?.useColors;
158
+ break;
159
+ default:
160
+ // Try to get nested value
161
+ const keys = key.split(".");
162
+ value = keys.reduce((obj, k) => obj?.[k], currentConfig);
163
+ }
164
+ if (value !== undefined) {
165
+ console.log(`\n${cli_1.symbols.folder} ${key}: ${picocolors_1.default.bold(String(value))}`);
166
+ }
167
+ else {
168
+ (0, cli_1.printWarning)(`Configuration key '${key}' not found`);
169
+ (0, cli_1.printInfo)("Use `squeaky config --list` to see available options");
170
+ }
171
+ }
172
+ async function setConfigValue(keyValue) {
173
+ const [key, value] = keyValue.split("=", 2);
174
+ if (!key || value === undefined) {
175
+ (0, cli_1.printError)("Invalid format. Use: --set key=value");
176
+ (0, cli_1.printInfo)("Example: --set verbose=true");
177
+ return;
178
+ }
179
+ const currentConfig = config_1.config.get();
180
+ let parsedValue = value;
181
+ // Parse boolean values
182
+ if (value.toLowerCase() === "true")
183
+ parsedValue = true;
184
+ else if (value.toLowerCase() === "false")
185
+ parsedValue = false;
186
+ // Update configuration
187
+ switch (key.toLowerCase()) {
188
+ case "verbose":
189
+ config_1.config.set({
190
+ ...currentConfig,
191
+ output: { ...currentConfig.output, verbose: parsedValue },
192
+ });
193
+ (0, cli_1.printSuccess)(`Set verbose output to ${parsedValue}`);
194
+ break;
195
+ case "colors":
196
+ case "usecolors":
197
+ config_1.config.set({
198
+ ...currentConfig,
199
+ output: { ...currentConfig.output, useColors: parsedValue },
200
+ });
201
+ (0, cli_1.printSuccess)(`Set colored output to ${parsedValue}`);
202
+ break;
203
+ default:
204
+ (0, cli_1.printError)(`Unknown configuration key: ${key}`);
205
+ (0, cli_1.printInfo)("Use `squeaky config --list` to see available options");
206
+ return;
207
+ }
208
+ }
209
+ async function enableTool(toolName) {
210
+ const allCleaners = cleaners_1.cacheManager.getAllCleaners();
211
+ const cleaner = allCleaners.find((c) => c.name === toolName);
212
+ if (!cleaner) {
213
+ (0, cli_1.printError)(`Tool '${toolName}' not found`);
214
+ (0, cli_1.printInfo)(`Available tools: ${allCleaners.map((c) => c.name).join(", ")}`);
215
+ return;
216
+ }
217
+ const currentConfig = config_1.config.get();
218
+ const tools = { ...currentConfig.tools, [toolName]: true };
219
+ config_1.config.set({ ...currentConfig, tools });
220
+ (0, cli_1.printSuccess)(`✓ Enabled ${toolName} cache cleaner`);
221
+ }
222
+ async function disableTool(toolName) {
223
+ const allCleaners = cleaners_1.cacheManager.getAllCleaners();
224
+ const cleaner = allCleaners.find((c) => c.name === toolName);
225
+ if (!cleaner) {
226
+ (0, cli_1.printError)(`Tool '${toolName}' not found`);
227
+ (0, cli_1.printInfo)(`Available tools: ${allCleaners.map((c) => c.name).join(", ")}`);
228
+ return;
229
+ }
230
+ const currentConfig = config_1.config.get();
231
+ const tools = { ...currentConfig.tools, [toolName]: false };
232
+ config_1.config.set({ ...currentConfig, tools });
233
+ (0, cli_1.printWarning)(`✗ Disabled ${toolName} cache cleaner`);
234
+ }
235
+ async function resetConfiguration() {
236
+ (0, cli_1.printWarning)("This will reset all configuration to defaults.");
237
+ (0, cli_1.printInfo)("All tools will be enabled and settings will be restored to defaults.");
238
+ // In a real implementation, you might want to ask for confirmation
239
+ // Reset to defaults by creating a new default config
240
+ const defaultConfig = {
241
+ enabledCaches: {
242
+ packageManagers: true,
243
+ buildTools: true,
244
+ browsers: true,
245
+ ides: true,
246
+ system: true,
247
+ },
248
+ tools: {
249
+ // Package managers
250
+ npm: true,
251
+ yarn: true,
252
+ pnpm: true,
253
+ bun: true,
254
+ pip: true,
255
+ cargo: true,
256
+ poetry: true,
257
+ pipenv: true,
258
+ cocoapods: true,
259
+ swiftpm: true,
260
+ nuget: true,
261
+ brew: true,
262
+ nix: true,
263
+ // Build tools
264
+ webpack: true,
265
+ vite: true,
266
+ nx: true,
267
+ turbo: true,
268
+ flutter: true,
269
+ "node-gyp": true,
270
+ "go-build": true,
271
+ maven: true,
272
+ playwright: true,
273
+ // Browsers
274
+ chrome: true,
275
+ firefox: true,
276
+ // IDEs
277
+ vscode: true,
278
+ xcode: true,
279
+ androidstudio: true,
280
+ jetbrains: true,
281
+ windsurf: true,
282
+ cursor: true,
283
+ zed: true,
284
+ // System tools
285
+ docker: true,
286
+ gradle: true,
287
+ "universal-binary": false,
288
+ },
289
+ safety: {
290
+ requireConfirmation: false,
291
+ dryRunDefault: false,
292
+ backupBeforeClearing: false,
293
+ excludeSystemCritical: true,
294
+ },
295
+ customPaths: [],
296
+ output: {
297
+ verbose: false,
298
+ showSizes: true,
299
+ useColors: true,
300
+ },
301
+ };
302
+ config_1.config.set(defaultConfig);
303
+ (0, cli_1.printSuccess)("✓ Configuration reset to defaults");
304
+ // Show new configuration
305
+ console.log();
306
+ await showCurrentConfig();
307
+ }
308
+ async function showConfigPath() {
309
+ const configPath = config_1.config.getConfigPath();
310
+ console.log(`\n📂 Configuration file location:`);
311
+ console.log(` ${picocolors_1.default.bold(configPath)}`);
312
+ // Check if config file exists
313
+ try {
314
+ const fs = await Promise.resolve().then(() => __importStar(require("fs")));
315
+ const exists = fs.existsSync(configPath);
316
+ if (exists) {
317
+ console.log(picocolors_1.default.green(" ✓ Config file exists"));
318
+ }
319
+ else {
320
+ console.log(picocolors_1.default.yellow(" ⚠ Config file will be created when first used"));
321
+ }
322
+ }
323
+ catch (error) {
324
+ console.log(picocolors_1.default.gray(" (Unable to check file existence)"));
325
+ }
326
+ }
327
+ async function interactiveConfigWizard() {
328
+ console.log("\n🧙‍♂️ Interactive Configuration Wizard");
329
+ console.log(picocolors_1.default.gray("This wizard will help you configure squeaky-clean settings.\n"));
330
+ const currentConfig = config_1.config.get();
331
+ const allCleaners = cleaners_1.cacheManager.getAllCleaners();
332
+ // Group cleaners by type
333
+ const groupedCleaners = {
334
+ "package-manager": allCleaners.filter((c) => c.type === "package-manager"),
335
+ "build-tool": allCleaners.filter((c) => c.type === "build-tool"),
336
+ ide: allCleaners.filter((c) => c.type === "ide"),
337
+ browser: allCleaners.filter((c) => c.type === "browser"),
338
+ system: allCleaners.filter((c) => c.type === "system"),
339
+ };
340
+ // Step 1: Output preferences
341
+ console.log(picocolors_1.default.bold("📝 Step 1: Output Preferences"));
342
+ const outputAnswers = await inquirer_1.default.prompt([
343
+ {
344
+ type: "confirm",
345
+ name: "verbose",
346
+ message: "Enable verbose output (shows detailed information)?",
347
+ default: currentConfig.output?.verbose || false,
348
+ },
349
+ {
350
+ type: "confirm",
351
+ name: "useColors",
352
+ message: "Enable colored output (recommended for terminals that support colors)?",
353
+ default: currentConfig.output?.useColors !== false,
354
+ },
355
+ ]);
356
+ // Step 2: Safety preferences
357
+ console.log(picocolors_1.default.bold("\n🔒 Step 2: Safety Preferences"));
358
+ const safetyAnswers = await inquirer_1.default.prompt([
359
+ {
360
+ type: "confirm",
361
+ name: "requireConfirmation",
362
+ message: "Require confirmation before cleaning caches (recommended for safety)?",
363
+ default: config_1.config.shouldRequireConfirmation(),
364
+ },
365
+ ]);
366
+ // Step 3: Tool enablement by category
367
+ console.log(picocolors_1.default.bold("\n🔧 Step 3: Tool Configuration"));
368
+ console.log(picocolors_1.default.gray("Configure which cache cleaners should be enabled by category.\n"));
369
+ const toolAnswers = {};
370
+ for (const [type, cleaners] of Object.entries(groupedCleaners)) {
371
+ if (cleaners.length === 0)
372
+ continue;
373
+ const typeEmojis = {
374
+ "package-manager": "📦",
375
+ "build-tool": "🔨",
376
+ ide: "💻",
377
+ browser: "🌐",
378
+ system: "⚙️",
379
+ };
380
+ console.log(picocolors_1.default.bold(`\n${typeEmojis[type]} ${type.charAt(0).toUpperCase() + type.slice(1).replace("-", " ")} Tools:`));
381
+ const categoryAnswers = await inquirer_1.default.prompt([
382
+ {
383
+ type: "checkbox",
384
+ name: "enabledTools",
385
+ message: `Select which ${type.replace("-", " ")} tools to enable:`,
386
+ choices: cleaners.map((cleaner) => ({
387
+ name: `${cleaner.name} - ${cleaner.description}`,
388
+ value: cleaner.name,
389
+ checked: config_1.config.isToolEnabled(cleaner.name),
390
+ })),
391
+ },
392
+ ]);
393
+ // Mark selected tools as enabled, others as disabled for this category
394
+ cleaners.forEach((cleaner) => {
395
+ toolAnswers[cleaner.name] = categoryAnswers.enabledTools.includes(cleaner.name);
396
+ });
397
+ }
398
+ // Step 4: Review and apply
399
+ console.log(picocolors_1.default.bold("\n📋 Step 4: Review Configuration"));
400
+ console.log("\nYour new configuration will be:");
401
+ console.log(` ${cli_1.symbols.folder} Verbose output: ${outputAnswers.verbose ? picocolors_1.default.green("enabled") : picocolors_1.default.gray("disabled")}`);
402
+ console.log(` ${cli_1.symbols.folder} Colored output: ${outputAnswers.useColors ? picocolors_1.default.green("enabled") : picocolors_1.default.gray("disabled")}`);
403
+ console.log(` ${cli_1.symbols.folder} Require confirmation: ${safetyAnswers.requireConfirmation ? picocolors_1.default.yellow("yes") : picocolors_1.default.green("no")}`);
404
+ console.log("\n🔧 Enabled tools:");
405
+ const enabledTools = Object.entries(toolAnswers)
406
+ .filter(([_, enabled]) => enabled)
407
+ .map(([name, _]) => name);
408
+ const disabledTools = Object.entries(toolAnswers)
409
+ .filter(([_, enabled]) => !enabled)
410
+ .map(([name, _]) => name);
411
+ if (enabledTools.length > 0) {
412
+ enabledTools.forEach((tool) => {
413
+ console.log(` ${picocolors_1.default.green("✓")} ${tool}`);
414
+ });
415
+ }
416
+ if (disabledTools.length > 0) {
417
+ console.log("\n🔧 Disabled tools:");
418
+ disabledTools.forEach((tool) => {
419
+ console.log(` ${picocolors_1.default.red("✗")} ${tool}`);
420
+ });
421
+ }
422
+ const { confirmApply } = await inquirer_1.default.prompt([
423
+ {
424
+ type: "confirm",
425
+ name: "confirmApply",
426
+ message: "\nApply this configuration?",
427
+ default: true,
428
+ },
429
+ ]);
430
+ if (confirmApply) {
431
+ // Apply the configuration
432
+ const newConfig = {
433
+ ...currentConfig,
434
+ output: {
435
+ ...currentConfig.output,
436
+ verbose: outputAnswers.verbose,
437
+ useColors: outputAnswers.useColors,
438
+ },
439
+ safety: {
440
+ ...currentConfig.safety,
441
+ requireConfirmation: safetyAnswers.requireConfirmation,
442
+ },
443
+ tools: {
444
+ ...currentConfig.tools,
445
+ ...toolAnswers,
446
+ },
447
+ };
448
+ config_1.config.set(newConfig);
449
+ (0, cli_1.printSuccess)("\n✓ Configuration applied successfully!");
450
+ // Show final configuration
451
+ console.log();
452
+ await showCurrentConfig();
453
+ }
454
+ else {
455
+ (0, cli_1.printWarning)("\n⚠ Configuration changes cancelled.");
456
+ }
457
+ }
458
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface DoctorOptions {
2
+ input?: string;
3
+ output?: string;
4
+ dryRun?: boolean;
5
+ quiet?: boolean;
6
+ }
7
+ export declare function runConfigDoctor(opts?: DoctorOptions): Promise<{
8
+ changed: boolean;
9
+ input: string;
10
+ output?: undefined;
11
+ backup?: undefined;
12
+ dryRun?: undefined;
13
+ } | {
14
+ changed: boolean;
15
+ input: string;
16
+ output: undefined;
17
+ backup: undefined;
18
+ dryRun: boolean;
19
+ } | {
20
+ changed: boolean;
21
+ input: string;
22
+ output: string;
23
+ backup: string | undefined;
24
+ dryRun: boolean;
25
+ }>;
26
+ //# sourceMappingURL=configDoctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configDoctor.d.ts","sourceRoot":"","sources":["../../src/commands/configDoctor.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAsB,eAAe,CAAC,IAAI,GAAE,aAAkB;;;;;;;;;;;;;;;;;;GA8D7D"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ // src/commands/configDoctor.ts
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.runConfigDoctor = runConfigDoctor;
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const migrateConfig_js_1 = require("../config/migrateConfig.js");
11
+ function log(msg, quiet) {
12
+ if (!quiet)
13
+ console.log(msg);
14
+ }
15
+ async function runConfigDoctor(opts = {}) {
16
+ const cfgPath = opts.input ||
17
+ node_path_1.default.join(process.env.HOME || process.env.USERPROFILE || ".", ".squeaky-clean", "config.json");
18
+ if (!node_fs_1.default.existsSync(cfgPath)) {
19
+ throw new Error(`Config not found at ${cfgPath}`);
20
+ }
21
+ const raw = JSON.parse(node_fs_1.default.readFileSync(cfgPath, "utf8"));
22
+ if (!(0, migrateConfig_js_1.isLegacyShape)(raw)) {
23
+ log("No legacy keys detected. Your config already uses the new schema.", opts.quiet);
24
+ return { changed: false, input: cfgPath };
25
+ }
26
+ const converted = (0, migrateConfig_js_1.legacyToNew)(raw);
27
+ if (opts.dryRun) {
28
+ log("=== Dry Run: Converted config (not written) ===", opts.quiet);
29
+ console.log(JSON.stringify(converted, null, 2));
30
+ return {
31
+ changed: true,
32
+ input: cfgPath,
33
+ output: undefined,
34
+ backup: undefined,
35
+ dryRun: true,
36
+ };
37
+ }
38
+ const outPath = opts.output || cfgPath;
39
+ let backup;
40
+ if (!opts.output) {
41
+ // in-place: write backup first
42
+ backup = (0, migrateConfig_js_1.writeBackupAndSave)(outPath, converted);
43
+ log(`Saved backup: ${backup}`, opts.quiet);
44
+ log(`Overwrote config with migrated schema: ${outPath}`, opts.quiet);
45
+ }
46
+ else {
47
+ // to a new file: don’t overwrite input
48
+ node_fs_1.default.mkdirSync(node_path_1.default.dirname(outPath), { recursive: true });
49
+ node_fs_1.default.writeFileSync(outPath, JSON.stringify(converted, null, 2) + "\n", "utf8");
50
+ log(`Wrote migrated config to: ${outPath}`, opts.quiet);
51
+ }
52
+ return {
53
+ changed: true,
54
+ input: cfgPath,
55
+ output: outPath,
56
+ backup,
57
+ dryRun: false,
58
+ };
59
+ }
60
+ //# sourceMappingURL=configDoctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configDoctor.js","sourceRoot":"","sources":["../../src/commands/configDoctor.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;;;AAqB/B,0CA8DC;AAjFD,sDAAyB;AACzB,0DAA6B;AAC7B,iEAIoC;AASpC,SAAS,GAAG,CAAC,GAAW,EAAE,KAAe;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,OAAsB,EAAE;IAC5D,MAAM,OAAO,GACX,IAAI,CAAC,KAAK;QACV,mBAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAClD,gBAAgB,EAChB,aAAa,CACd,CAAC;IAEJ,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,IAAA,gCAAa,EAAC,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CACD,mEAAmE,EACnE,IAAI,CAAC,KAAK,CACX,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,8BAAW,EAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,iDAAiD,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IACvC,IAAI,MAA0B,CAAC;IAE/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,+BAA+B;QAC/B,MAAM,GAAG,IAAA,qCAAkB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,GAAG,CAAC,iBAAiB,MAAM,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,GAAG,CAAC,0CAA0C,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,iBAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,iBAAE,CAAC,aAAa,CACd,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EACzC,MAAM,CACP,CAAC;QACF,GAAG,CAAC,6BAA6B,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function doctorCommand(): Promise<void>;
2
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA0HnD"}