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,354 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const fs_1 = require("fs");
40
+ const path = __importStar(require("path"));
41
+ const os = __importStar(require("os"));
42
+ const fs_2 = require("../utils/fs");
43
+ const execa_1 = __importDefault(require("execa"));
44
+ const cli_1 = require("../utils/cli");
45
+ const minimatch_1 = require("minimatch");
46
+ class FlutterCleaner {
47
+ constructor() {
48
+ this.name = "flutter";
49
+ this.type = "build-tool";
50
+ this.description = "Flutter SDK caches, pub cache, and project build artifacts";
51
+ }
52
+ async getFlutterVersion() {
53
+ try {
54
+ const result = await (0, execa_1.default)("flutter", ["--version"]);
55
+ return result.stdout.split("\n")[0].trim();
56
+ }
57
+ catch {
58
+ return null;
59
+ }
60
+ }
61
+ async getFlutterCachePaths() {
62
+ const paths = [];
63
+ const homeDir = os.homedir();
64
+ // Pub cache directory (Dart/Flutter packages)
65
+ const pubCachePaths = [
66
+ path.join(homeDir, ".pub-cache"),
67
+ path.join(homeDir, "AppData", "Local", "Pub", "Cache"), // Windows
68
+ ];
69
+ for (const pubCachePath of pubCachePaths) {
70
+ if (await (0, fs_2.pathExists)(pubCachePath)) {
71
+ paths.push(pubCachePath);
72
+ }
73
+ }
74
+ // Flutter SDK cache (if Flutter is installed)
75
+ try {
76
+ const flutterCache = await this.getFlutterSdkCachePath();
77
+ if (flutterCache) {
78
+ paths.push(flutterCache);
79
+ }
80
+ }
81
+ catch (error) {
82
+ (0, cli_1.printVerbose)(`Could not locate Flutter SDK cache: ${error}`);
83
+ }
84
+ // Flutter project build artifacts
85
+ try {
86
+ const projectBuildDirs = await this.findFlutterProjectBuildDirs();
87
+ paths.push(...projectBuildDirs);
88
+ }
89
+ catch (error) {
90
+ (0, cli_1.printVerbose)(`Error finding Flutter project build dirs: ${error}`);
91
+ }
92
+ return [...new Set(paths)]; // Remove duplicates
93
+ }
94
+ async getFlutterSdkCachePath() {
95
+ try {
96
+ // Try to get Flutter SDK path
97
+ const result = await (0, execa_1.default)("flutter", ["--version", "--machine"]);
98
+ const versionInfo = JSON.parse(result.stdout);
99
+ if (versionInfo.flutterRoot) {
100
+ const cacheDir = path.join(versionInfo.flutterRoot, "bin", "cache");
101
+ if (await (0, fs_2.pathExists)(cacheDir)) {
102
+ return cacheDir;
103
+ }
104
+ }
105
+ }
106
+ catch {
107
+ // Fallback to common locations
108
+ const commonSdkPaths = [
109
+ path.join(os.homedir(), "flutter", "bin", "cache"),
110
+ path.join(os.homedir(), "development", "flutter", "bin", "cache"),
111
+ path.join("/opt", "flutter", "bin", "cache"), // Linux
112
+ path.join("C:", "flutter", "bin", "cache"), // Windows
113
+ ];
114
+ for (const sdkPath of commonSdkPaths) {
115
+ if (await (0, fs_2.pathExists)(sdkPath)) {
116
+ return sdkPath;
117
+ }
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ async findFlutterProjectBuildDirs() {
123
+ const buildDirs = [];
124
+ const homeDir = os.homedir();
125
+ // Common project directories
126
+ const searchDirs = [
127
+ path.join(homeDir, "FlutterProjects"),
128
+ path.join(homeDir, "Projects"),
129
+ path.join(homeDir, "Development"),
130
+ path.join(homeDir, "dev"),
131
+ path.join(homeDir, "Documents"),
132
+ process.cwd(),
133
+ ];
134
+ for (const searchDir of searchDirs) {
135
+ if (await (0, fs_2.pathExists)(searchDir)) {
136
+ try {
137
+ const projects = await this.findFlutterProjectsRecursively(searchDir, 3);
138
+ buildDirs.push(...projects);
139
+ }
140
+ catch (error) {
141
+ (0, cli_1.printVerbose)(`Error searching ${searchDir}: ${error}`);
142
+ }
143
+ }
144
+ }
145
+ return buildDirs;
146
+ }
147
+ async findFlutterProjectsRecursively(dir, maxDepth) {
148
+ if (maxDepth <= 0)
149
+ return [];
150
+ const buildDirs = [];
151
+ try {
152
+ const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
153
+ for (const entry of entries) {
154
+ if (entry.isDirectory() &&
155
+ !entry.name.startsWith(".") &&
156
+ entry.name !== "build") {
157
+ const fullPath = path.join(dir, entry.name);
158
+ // Check if this is a Flutter project
159
+ const pubspecFile = path.join(fullPath, "pubspec.yaml");
160
+ const flutterDir = path.join(fullPath, ".flutter-plugins-dependencies");
161
+ if (await (0, fs_2.pathExists)(pubspecFile)) {
162
+ // Check if pubspec.yaml contains flutter dependency
163
+ try {
164
+ const pubspecContent = await fs_1.promises.readFile(pubspecFile, "utf-8");
165
+ if (pubspecContent.includes("flutter:") ||
166
+ pubspecContent.includes("flutter_")) {
167
+ // This is a Flutter project, add build directories
168
+ const buildLocations = [
169
+ path.join(fullPath, "build"),
170
+ path.join(fullPath, ".dart_tool"),
171
+ path.join(fullPath, "android", "build"),
172
+ path.join(fullPath, "ios", "build"),
173
+ path.join(fullPath, "windows", "build"),
174
+ path.join(fullPath, "linux", "build"),
175
+ path.join(fullPath, "macos", "build"),
176
+ path.join(fullPath, "web", "build"),
177
+ ];
178
+ for (const buildDir of buildLocations) {
179
+ if (await (0, fs_2.pathExists)(buildDir)) {
180
+ buildDirs.push(buildDir);
181
+ }
182
+ }
183
+ }
184
+ }
185
+ catch {
186
+ // If we can't read pubspec.yaml, still check for Flutter indicators
187
+ if (await (0, fs_2.pathExists)(flutterDir)) {
188
+ const buildDir = path.join(fullPath, "build");
189
+ const dartTool = path.join(fullPath, ".dart_tool");
190
+ if (await (0, fs_2.pathExists)(buildDir)) {
191
+ buildDirs.push(buildDir);
192
+ }
193
+ if (await (0, fs_2.pathExists)(dartTool)) {
194
+ buildDirs.push(dartTool);
195
+ }
196
+ }
197
+ }
198
+ }
199
+ // Recursively search subdirectories
200
+ const subBuildDirs = await this.findFlutterProjectsRecursively(fullPath, maxDepth - 1);
201
+ buildDirs.push(...subBuildDirs);
202
+ }
203
+ }
204
+ }
205
+ catch {
206
+ // Ignore permission errors
207
+ }
208
+ return buildDirs;
209
+ }
210
+ async isAvailable() {
211
+ // Check if Flutter is installed
212
+ const version = await this.getFlutterVersion();
213
+ if (version) {
214
+ (0, cli_1.printVerbose)(`Found Flutter: ${version}`);
215
+ return true;
216
+ }
217
+ // Check if pub-cache exists (Dart projects)
218
+ const homeDir = os.homedir();
219
+ const pubCachePath = path.join(homeDir, ".pub-cache");
220
+ if (await (0, fs_2.pathExists)(pubCachePath)) {
221
+ (0, cli_1.printVerbose)(`Found Pub cache at ${pubCachePath}`);
222
+ return true;
223
+ }
224
+ return false;
225
+ }
226
+ async getCacheInfo() {
227
+ const isInstalled = await this.isAvailable();
228
+ if (!isInstalled) {
229
+ return {
230
+ name: this.name,
231
+ type: this.type,
232
+ description: this.description,
233
+ paths: [],
234
+ isInstalled: false,
235
+ size: 0,
236
+ };
237
+ }
238
+ const cachePaths = await this.getFlutterCachePaths();
239
+ let totalSize = 0;
240
+ const validPaths = [];
241
+ for (const cachePath of cachePaths) {
242
+ try {
243
+ const size = await (0, fs_2.getDirectorySize)(cachePath, true); // Use estimated size for large dirs
244
+ totalSize += size;
245
+ validPaths.push(cachePath);
246
+ (0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
247
+ }
248
+ catch (error) {
249
+ (0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
250
+ }
251
+ }
252
+ return {
253
+ name: this.name,
254
+ type: this.type,
255
+ description: this.description,
256
+ paths: validPaths,
257
+ isInstalled: true,
258
+ size: totalSize,
259
+ };
260
+ }
261
+ async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
262
+ const info = cacheInfo || (await this.getCacheInfo());
263
+ if (!info.isInstalled) {
264
+ return {
265
+ name: this.name,
266
+ success: false,
267
+ error: "Flutter is not available",
268
+ clearedPaths: [],
269
+ sizeBefore: 0,
270
+ sizeAfter: 0,
271
+ };
272
+ }
273
+ const sizeBefore = info.size || 0;
274
+ const clearedPaths = [];
275
+ let errors = [];
276
+ // Try flutter clean command in projects first
277
+ if (!dryRun && (await this.getFlutterVersion())) {
278
+ await this.runFlutterCleanInProjects();
279
+ }
280
+ for (const cachePath of info.paths) {
281
+ // Check if the path is protected
282
+ const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
283
+ if (isProtected) {
284
+ (0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
285
+ continue; // Skip this path
286
+ }
287
+ try {
288
+ if (dryRun) {
289
+ (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
290
+ clearedPaths.push(cachePath);
291
+ }
292
+ else {
293
+ (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
294
+ // Be selective about what we clear in the pub-cache
295
+ if (cachePath.includes(".pub-cache")) {
296
+ // Only clear specific subdirectories in pub-cache, not the entire cache
297
+ const selectiveDirs = ["hosted", "_temp", "log"];
298
+ for (const subdir of selectiveDirs) {
299
+ const subdirPath = path.join(cachePath, subdir);
300
+ if (await (0, fs_2.pathExists)(subdirPath)) {
301
+ await (0, fs_2.safeRmrf)(subdirPath);
302
+ (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Cleared pub-cache subdirectory: ${subdir}`);
303
+ }
304
+ }
305
+ }
306
+ else {
307
+ // For other cache directories, clear everything
308
+ await (0, fs_2.safeRmrf)(cachePath);
309
+ }
310
+ clearedPaths.push(cachePath);
311
+ }
312
+ }
313
+ catch (error) {
314
+ const errorMsg = `Failed to clear ${cachePath}: ${error}`;
315
+ errors.push(errorMsg);
316
+ (0, cli_1.printVerbose)(errorMsg);
317
+ }
318
+ }
319
+ return {
320
+ name: this.name,
321
+ success: errors.length === 0,
322
+ sizeBefore,
323
+ sizeAfter: 0, // Set to 0 as we don't want to rescan
324
+ error: errors.length > 0 ? errors.join("; ") : undefined,
325
+ clearedPaths,
326
+ };
327
+ }
328
+ async runFlutterCleanInProjects() {
329
+ const projectDirs = await this.findFlutterProjectBuildDirs();
330
+ // Get unique project root directories (parent of build dirs)
331
+ const projectRoots = new Set();
332
+ for (const buildDir of projectDirs) {
333
+ if (buildDir.endsWith("/build") || buildDir.endsWith("\\build")) {
334
+ projectRoots.add(path.dirname(buildDir));
335
+ }
336
+ else if (buildDir.endsWith("/.dart_tool") ||
337
+ buildDir.endsWith("\\.dart_tool")) {
338
+ projectRoots.add(path.dirname(buildDir));
339
+ }
340
+ }
341
+ // Run flutter clean in each project
342
+ for (const projectRoot of projectRoots) {
343
+ try {
344
+ await (0, execa_1.default)("flutter", ["clean"], { cwd: projectRoot });
345
+ (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Executed 'flutter clean' in ${projectRoot}`);
346
+ }
347
+ catch (error) {
348
+ (0, cli_1.printVerbose)(`Note: flutter clean failed in ${projectRoot}: ${error}`);
349
+ }
350
+ }
351
+ }
352
+ }
353
+ exports.default = new FlutterCleaner();
354
+ //# sourceMappingURL=flutter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flutter.js","sourceRoot":"","sources":["../../src/cleaners/flutter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { BaseCleaner } from "./BaseCleaner";
2
+ import { CacheInfo, CacheCategory, CacheType } from "../types";
3
+ export declare class GoBuildCleaner extends BaseCleaner {
4
+ name: string;
5
+ type: CacheType;
6
+ description: string;
7
+ private getCachePaths;
8
+ isAvailable(): Promise<boolean>;
9
+ getCacheInfo(): Promise<CacheInfo>;
10
+ getCacheCategories(): Promise<CacheCategory[]>;
11
+ /**
12
+ * Clear cache with Go's built-in command when possible
13
+ */
14
+ clear(dryRun?: boolean, criteria?: any, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<any>;
15
+ }
16
+ declare const _default: GoBuildCleaner;
17
+ export default _default;
18
+ //# sourceMappingURL=goBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goBuild.d.ts","sourceRoot":"","sources":["../../src/cleaners/goBuild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAU/D,qBAAa,cAAe,SAAQ,WAAW;IAC7C,IAAI,SAAc;IAClB,IAAI,EAAE,SAAS,CAAgB;IAC/B,WAAW,SAA8C;IAEzD,OAAO,CAAC,aAAa;IA8Cf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAkDlC,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAkDpD;;OAEG;IACG,KAAK,CACT,MAAM,CAAC,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,GAAG,EACd,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,GAAG,CAAC;CAqBhB;;AAED,wBAAoC"}
@@ -0,0 +1,196 @@
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.GoBuildCleaner = void 0;
7
+ const BaseCleaner_1 = require("./BaseCleaner");
8
+ const fs_1 = require("fs");
9
+ const path_1 = __importDefault(require("path"));
10
+ const os_1 = __importDefault(require("os"));
11
+ const child_process_1 = require("child_process");
12
+ const util_1 = require("util");
13
+ const cli_1 = require("../utils/cli");
14
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
15
+ class GoBuildCleaner extends BaseCleaner_1.BaseCleaner {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.name = "go-build";
19
+ this.type = "build-tool";
20
+ this.description = "Go language build cache and module cache";
21
+ }
22
+ getCachePaths() {
23
+ const paths = [];
24
+ const homeDir = os_1.default.homedir();
25
+ // Get GOPATH if set
26
+ const goPath = process.env.GOPATH || path_1.default.join(homeDir, "go");
27
+ // Go module cache (go mod download cache)
28
+ paths.push(path_1.default.join(goPath, "pkg", "mod"));
29
+ // Go build cache
30
+ if (process.platform === "win32") {
31
+ const localAppData = process.env.LOCALAPPDATA || path_1.default.join(homeDir, "AppData", "Local");
32
+ paths.push(path_1.default.join(localAppData, "go-build"));
33
+ }
34
+ else if (process.platform === "darwin") {
35
+ paths.push(path_1.default.join(homeDir, "Library", "Caches", "go-build"));
36
+ }
37
+ else {
38
+ // Linux
39
+ const xdgCache = process.env.XDG_CACHE_HOME || path_1.default.join(homeDir, ".cache");
40
+ paths.push(path_1.default.join(xdgCache, "go-build"));
41
+ }
42
+ // GOCACHE environment variable
43
+ if (process.env.GOCACHE) {
44
+ paths.push(process.env.GOCACHE);
45
+ }
46
+ // Test cache
47
+ paths.push(path_1.default.join(goPath, "pkg", "sumdb"));
48
+ // Temporary build directories
49
+ const tempDirs = ["/tmp/go-build*", path_1.default.join(os_1.default.tmpdir(), "go-build*")];
50
+ for (const tempPattern of tempDirs) {
51
+ // Note: This would need glob expansion in actual implementation
52
+ const tempPath = tempPattern.replace("*", "");
53
+ if ((0, fs_1.existsSync)(tempPath)) {
54
+ paths.push(tempPath);
55
+ }
56
+ }
57
+ return paths;
58
+ }
59
+ async isAvailable() {
60
+ try {
61
+ // Check if Go is installed
62
+ const result = await execAsync("go version");
63
+ (0, cli_1.printVerbose)(`Found Go: ${result.stdout.trim()}`);
64
+ return true;
65
+ }
66
+ catch {
67
+ // Check if Go cache directories exist
68
+ const homeDir = os_1.default.homedir();
69
+ const goCacheDir = process.platform === "darwin"
70
+ ? path_1.default.join(homeDir, "Library", "Caches", "go-build")
71
+ : process.platform === "win32"
72
+ ? path_1.default.join(homeDir, "AppData", "Local", "go-build")
73
+ : path_1.default.join(homeDir, ".cache", "go-build");
74
+ return (0, fs_1.existsSync)(goCacheDir);
75
+ }
76
+ }
77
+ async getCacheInfo() {
78
+ const paths = this.getCachePaths();
79
+ const existingPaths = [];
80
+ let totalSize = 0;
81
+ let oldestCache;
82
+ let newestCache;
83
+ // Try to get cache info from go command
84
+ try {
85
+ const result = await execAsync("go env GOCACHE");
86
+ const goCachePath = result.stdout.trim();
87
+ if (goCachePath && !paths.includes(goCachePath)) {
88
+ paths.push(goCachePath);
89
+ }
90
+ }
91
+ catch {
92
+ // Ignore if go command fails
93
+ }
94
+ for (const cachePath of paths) {
95
+ if ((0, fs_1.existsSync)(cachePath)) {
96
+ existingPaths.push(cachePath);
97
+ const size = await this.getDirectorySize(cachePath);
98
+ totalSize += size;
99
+ try {
100
+ const stat = (0, fs_1.statSync)(cachePath);
101
+ if (!oldestCache || stat.mtime < oldestCache) {
102
+ oldestCache = stat.mtime;
103
+ }
104
+ if (!newestCache || stat.mtime > newestCache) {
105
+ newestCache = stat.mtime;
106
+ }
107
+ }
108
+ catch (error) {
109
+ (0, cli_1.printVerbose)(`Error getting stats for ${cachePath}: ${error}`);
110
+ }
111
+ }
112
+ }
113
+ return {
114
+ name: this.name,
115
+ type: this.type,
116
+ description: this.description,
117
+ paths: existingPaths,
118
+ isInstalled: await this.isAvailable(),
119
+ totalSize: totalSize,
120
+ oldestCache,
121
+ newestCache,
122
+ };
123
+ }
124
+ async getCacheCategories() {
125
+ const categories = [];
126
+ const paths = this.getCachePaths();
127
+ for (const cachePath of paths) {
128
+ if (!(0, fs_1.existsSync)(cachePath))
129
+ continue;
130
+ const baseName = path_1.default.basename(cachePath);
131
+ let categoryName = "Go Cache";
132
+ // Categorize by type
133
+ if (cachePath.includes("pkg/mod")) {
134
+ categoryName = "Go Module Cache";
135
+ }
136
+ else if (cachePath.includes("go-build")) {
137
+ categoryName = "Go Build Cache";
138
+ }
139
+ else if (cachePath.includes("sumdb")) {
140
+ categoryName = "Go Checksum Database";
141
+ }
142
+ else if (cachePath.includes("/tmp/") ||
143
+ cachePath.includes(os_1.default.tmpdir())) {
144
+ categoryName = "Temporary Build Files";
145
+ }
146
+ try {
147
+ const stat = (0, fs_1.statSync)(cachePath);
148
+ const size = await this.getDirectorySize(cachePath);
149
+ categories.push({
150
+ id: `go-build-${baseName}`.toLowerCase().replace(/[^a-z0-9-]/g, "-"),
151
+ name: categoryName,
152
+ description: `Go cache at ${cachePath}`,
153
+ paths: [cachePath],
154
+ size,
155
+ lastModified: stat.mtime,
156
+ lastAccessed: stat.atime,
157
+ priority: this.getCachePriority(cachePath),
158
+ useCase: this.detectUseCase(cachePath),
159
+ isProjectSpecific: false, // Go caches are global
160
+ ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
161
+ });
162
+ }
163
+ catch (error) {
164
+ (0, cli_1.printVerbose)(`Error analyzing ${cachePath}: ${error}`);
165
+ }
166
+ }
167
+ return categories;
168
+ }
169
+ /**
170
+ * Clear cache with Go's built-in command when possible
171
+ */
172
+ async clear(dryRun, criteria, cacheInfo, protectedPaths) {
173
+ // Try to use go clean command for proper cleanup
174
+ if (!dryRun) {
175
+ try {
176
+ await execAsync("go clean -cache");
177
+ (0, cli_1.printVerbose)("Executed: go clean -cache");
178
+ }
179
+ catch (error) {
180
+ (0, cli_1.printVerbose)(`Note: go clean command failed: ${error}`);
181
+ }
182
+ try {
183
+ await execAsync("go clean -modcache");
184
+ (0, cli_1.printVerbose)("Executed: go clean -modcache");
185
+ }
186
+ catch (error) {
187
+ (0, cli_1.printVerbose)(`Note: go clean -modcache failed: ${error}`);
188
+ }
189
+ }
190
+ // Then use the base implementation for remaining paths
191
+ return super.clear(dryRun, criteria, cacheInfo, protectedPaths);
192
+ }
193
+ }
194
+ exports.GoBuildCleaner = GoBuildCleaner;
195
+ exports.default = new GoBuildCleaner();
196
+ //# sourceMappingURL=goBuild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goBuild.js","sourceRoot":"","sources":["../../src/cleaners/goBuild.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { CacheInfo, ClearResult, CleanerModule, CacheSelectionCriteria } from "../types";
2
+ export declare class GradleCleaner implements CleanerModule {
3
+ name: string;
4
+ type: "build-tool";
5
+ description: string;
6
+ private getCachePaths;
7
+ isAvailable(): Promise<boolean>;
8
+ getCacheInfo(): Promise<CacheInfo>;
9
+ clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
10
+ static create(): GradleCleaner;
11
+ }
12
+ declare const _default: GradleCleaner;
13
+ export default _default;
14
+ //# sourceMappingURL=gradle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle.d.ts","sourceRoot":"","sources":["../../src/cleaners/gradle.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAKlB,qBAAa,aAAc,YAAW,aAAa;IACjD,IAAI,SAAY;IAChB,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SACqE;IAEhF,OAAO,CAAC,aAAa;IAkFf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiC/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA2DlC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IAuLvB,MAAM,CAAC,MAAM,IAAI,aAAa;CAG/B;;AAED,wBAAsC"}