squeaky-clean 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/package.json +22 -24
  2. package/dist/cleaners/BaseCleaner.d.ts +0 -57
  3. package/dist/cleaners/BaseCleaner.d.ts.map +0 -1
  4. package/dist/cleaners/BaseCleaner.js +0 -299
  5. package/dist/cleaners/BaseCleaner.js.map +0 -1
  6. package/dist/cleaners/CleanerRegistry.d.ts +0 -65
  7. package/dist/cleaners/CleanerRegistry.d.ts.map +0 -1
  8. package/dist/cleaners/CleanerRegistry.js +0 -112
  9. package/dist/cleaners/CleanerRegistry.js.map +0 -1
  10. package/dist/cleaners/androidstudio.d.ts +0 -16
  11. package/dist/cleaners/androidstudio.d.ts.map +0 -1
  12. package/dist/cleaners/androidstudio.js +0 -375
  13. package/dist/cleaners/androidstudio.js.map +0 -1
  14. package/dist/cleaners/brew.d.ts +0 -4
  15. package/dist/cleaners/brew.d.ts.map +0 -1
  16. package/dist/cleaners/brew.js +0 -197
  17. package/dist/cleaners/brew.js.map +0 -1
  18. package/dist/cleaners/brewEnhanced.d.ts +0 -18
  19. package/dist/cleaners/brewEnhanced.d.ts.map +0 -1
  20. package/dist/cleaners/brewEnhanced.js +0 -255
  21. package/dist/cleaners/brewEnhanced.js.map +0 -1
  22. package/dist/cleaners/bun.d.ts +0 -14
  23. package/dist/cleaners/bun.d.ts.map +0 -1
  24. package/dist/cleaners/bun.js +0 -207
  25. package/dist/cleaners/bun.js.map +0 -1
  26. package/dist/cleaners/cargo.d.ts +0 -15
  27. package/dist/cleaners/cargo.d.ts.map +0 -1
  28. package/dist/cleaners/cargo.js +0 -193
  29. package/dist/cleaners/cargo.js.map +0 -1
  30. package/dist/cleaners/chrome.d.ts +0 -14
  31. package/dist/cleaners/chrome.d.ts.map +0 -1
  32. package/dist/cleaners/chrome.js +0 -250
  33. package/dist/cleaners/chrome.js.map +0 -1
  34. package/dist/cleaners/cocoapods.d.ts +0 -16
  35. package/dist/cleaners/cocoapods.d.ts.map +0 -1
  36. package/dist/cleaners/cocoapods.js +0 -180
  37. package/dist/cleaners/cocoapods.js.map +0 -1
  38. package/dist/cleaners/cursor.d.ts +0 -15
  39. package/dist/cleaners/cursor.d.ts.map +0 -1
  40. package/dist/cleaners/cursor.js +0 -377
  41. package/dist/cleaners/cursor.js.map +0 -1
  42. package/dist/cleaners/docker.d.ts +0 -35
  43. package/dist/cleaners/docker.d.ts.map +0 -1
  44. package/dist/cleaners/docker.js +0 -285
  45. package/dist/cleaners/docker.js.map +0 -1
  46. package/dist/cleaners/firefox.d.ts +0 -15
  47. package/dist/cleaners/firefox.d.ts.map +0 -1
  48. package/dist/cleaners/firefox.js +0 -281
  49. package/dist/cleaners/firefox.js.map +0 -1
  50. package/dist/cleaners/flutter.d.ts +0 -18
  51. package/dist/cleaners/flutter.d.ts.map +0 -1
  52. package/dist/cleaners/flutter.js +0 -354
  53. package/dist/cleaners/flutter.js.map +0 -1
  54. package/dist/cleaners/goBuild.d.ts +0 -18
  55. package/dist/cleaners/goBuild.d.ts.map +0 -1
  56. package/dist/cleaners/goBuild.js +0 -196
  57. package/dist/cleaners/goBuild.js.map +0 -1
  58. package/dist/cleaners/gradle.d.ts +0 -14
  59. package/dist/cleaners/gradle.d.ts.map +0 -1
  60. package/dist/cleaners/gradle.js +0 -336
  61. package/dist/cleaners/gradle.js.map +0 -1
  62. package/dist/cleaners/index.d.ts +0 -51
  63. package/dist/cleaners/index.d.ts.map +0 -1
  64. package/dist/cleaners/index.js +0 -271
  65. package/dist/cleaners/index.js.map +0 -1
  66. package/dist/cleaners/jetbrains.d.ts +0 -18
  67. package/dist/cleaners/jetbrains.d.ts.map +0 -1
  68. package/dist/cleaners/jetbrains.js +0 -441
  69. package/dist/cleaners/jetbrains.js.map +0 -1
  70. package/dist/cleaners/maven.d.ts +0 -15
  71. package/dist/cleaners/maven.d.ts.map +0 -1
  72. package/dist/cleaners/maven.js +0 -182
  73. package/dist/cleaners/maven.js.map +0 -1
  74. package/dist/cleaners/nix.d.ts +0 -4
  75. package/dist/cleaners/nix.d.ts.map +0 -1
  76. package/dist/cleaners/nix.js +0 -227
  77. package/dist/cleaners/nix.js.map +0 -1
  78. package/dist/cleaners/nodeGyp.d.ts +0 -14
  79. package/dist/cleaners/nodeGyp.d.ts.map +0 -1
  80. package/dist/cleaners/nodeGyp.js +0 -157
  81. package/dist/cleaners/nodeGyp.js.map +0 -1
  82. package/dist/cleaners/npm.d.ts +0 -14
  83. package/dist/cleaners/npm.d.ts.map +0 -1
  84. package/dist/cleaners/npm.js +0 -198
  85. package/dist/cleaners/npm.js.map +0 -1
  86. package/dist/cleaners/npmEnhanced.d.ts +0 -19
  87. package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
  88. package/dist/cleaners/npmEnhanced.js +0 -336
  89. package/dist/cleaners/npmEnhanced.js.map +0 -1
  90. package/dist/cleaners/nuget.d.ts +0 -16
  91. package/dist/cleaners/nuget.d.ts.map +0 -1
  92. package/dist/cleaners/nuget.js +0 -197
  93. package/dist/cleaners/nuget.js.map +0 -1
  94. package/dist/cleaners/nx.d.ts +0 -18
  95. package/dist/cleaners/nx.d.ts.map +0 -1
  96. package/dist/cleaners/nx.js +0 -308
  97. package/dist/cleaners/nx.js.map +0 -1
  98. package/dist/cleaners/pip.d.ts +0 -19
  99. package/dist/cleaners/pip.d.ts.map +0 -1
  100. package/dist/cleaners/pip.js +0 -334
  101. package/dist/cleaners/pip.js.map +0 -1
  102. package/dist/cleaners/pipenv.d.ts +0 -16
  103. package/dist/cleaners/pipenv.d.ts.map +0 -1
  104. package/dist/cleaners/pipenv.js +0 -184
  105. package/dist/cleaners/pipenv.js.map +0 -1
  106. package/dist/cleaners/playwright.d.ts +0 -15
  107. package/dist/cleaners/playwright.d.ts.map +0 -1
  108. package/dist/cleaners/playwright.js +0 -221
  109. package/dist/cleaners/playwright.js.map +0 -1
  110. package/dist/cleaners/pnpm.d.ts +0 -14
  111. package/dist/cleaners/pnpm.d.ts.map +0 -1
  112. package/dist/cleaners/pnpm.js +0 -209
  113. package/dist/cleaners/pnpm.js.map +0 -1
  114. package/dist/cleaners/poetry.d.ts +0 -16
  115. package/dist/cleaners/poetry.d.ts.map +0 -1
  116. package/dist/cleaners/poetry.js +0 -184
  117. package/dist/cleaners/poetry.js.map +0 -1
  118. package/dist/cleaners/swiftpm.d.ts +0 -16
  119. package/dist/cleaners/swiftpm.d.ts.map +0 -1
  120. package/dist/cleaners/swiftpm.js +0 -179
  121. package/dist/cleaners/swiftpm.js.map +0 -1
  122. package/dist/cleaners/turbo.d.ts +0 -18
  123. package/dist/cleaners/turbo.d.ts.map +0 -1
  124. package/dist/cleaners/turbo.js +0 -325
  125. package/dist/cleaners/turbo.js.map +0 -1
  126. package/dist/cleaners/universalBinary.d.ts +0 -20
  127. package/dist/cleaners/universalBinary.d.ts.map +0 -1
  128. package/dist/cleaners/universalBinary.js +0 -318
  129. package/dist/cleaners/universalBinary.js.map +0 -1
  130. package/dist/cleaners/vite.d.ts +0 -17
  131. package/dist/cleaners/vite.d.ts.map +0 -1
  132. package/dist/cleaners/vite.js +0 -274
  133. package/dist/cleaners/vite.js.map +0 -1
  134. package/dist/cleaners/vscode.d.ts +0 -15
  135. package/dist/cleaners/vscode.d.ts.map +0 -1
  136. package/dist/cleaners/vscode.js +0 -411
  137. package/dist/cleaners/vscode.js.map +0 -1
  138. package/dist/cleaners/webpack.d.ts +0 -17
  139. package/dist/cleaners/webpack.d.ts.map +0 -1
  140. package/dist/cleaners/webpack.js +0 -263
  141. package/dist/cleaners/webpack.js.map +0 -1
  142. package/dist/cleaners/windsurf.d.ts +0 -15
  143. package/dist/cleaners/windsurf.d.ts.map +0 -1
  144. package/dist/cleaners/windsurf.js +0 -366
  145. package/dist/cleaners/windsurf.js.map +0 -1
  146. package/dist/cleaners/xcode.d.ts +0 -14
  147. package/dist/cleaners/xcode.d.ts.map +0 -1
  148. package/dist/cleaners/xcode.js +0 -348
  149. package/dist/cleaners/xcode.js.map +0 -1
  150. package/dist/cleaners/yarn.d.ts +0 -16
  151. package/dist/cleaners/yarn.d.ts.map +0 -1
  152. package/dist/cleaners/yarn.js +0 -266
  153. package/dist/cleaners/yarn.js.map +0 -1
  154. package/dist/cleaners/zed.d.ts +0 -15
  155. package/dist/cleaners/zed.d.ts.map +0 -1
  156. package/dist/cleaners/zed.js +0 -383
  157. package/dist/cleaners/zed.js.map +0 -1
  158. package/dist/cli.d.ts +0 -3
  159. package/dist/cli.d.ts.map +0 -1
  160. package/dist/cli.js +0 -367
  161. package/dist/cli.js.map +0 -1
  162. package/dist/commands/auto.d.ts +0 -8
  163. package/dist/commands/auto.d.ts.map +0 -1
  164. package/dist/commands/auto.js +0 -251
  165. package/dist/commands/auto.js.map +0 -1
  166. package/dist/commands/categories.d.ts +0 -8
  167. package/dist/commands/categories.d.ts.map +0 -1
  168. package/dist/commands/categories.js +0 -133
  169. package/dist/commands/categories.js.map +0 -1
  170. package/dist/commands/clean.d.ts +0 -3
  171. package/dist/commands/clean.d.ts.map +0 -1
  172. package/dist/commands/clean.js +0 -149
  173. package/dist/commands/clean.js.map +0 -1
  174. package/dist/commands/config.d.ts +0 -14
  175. package/dist/commands/config.d.ts.map +0 -1
  176. package/dist/commands/config.js +0 -460
  177. package/dist/commands/config.js.map +0 -1
  178. package/dist/commands/configDoctor.d.ts +0 -26
  179. package/dist/commands/configDoctor.d.ts.map +0 -1
  180. package/dist/commands/configDoctor.js +0 -60
  181. package/dist/commands/configDoctor.js.map +0 -1
  182. package/dist/commands/doctor.d.ts +0 -2
  183. package/dist/commands/doctor.d.ts.map +0 -1
  184. package/dist/commands/doctor.js +0 -141
  185. package/dist/commands/doctor.js.map +0 -1
  186. package/dist/commands/emojis.d.ts +0 -2
  187. package/dist/commands/emojis.d.ts.map +0 -1
  188. package/dist/commands/emojis.js +0 -28
  189. package/dist/commands/emojis.js.map +0 -1
  190. package/dist/commands/interactive.d.ts +0 -3
  191. package/dist/commands/interactive.d.ts.map +0 -1
  192. package/dist/commands/interactive.js +0 -284
  193. package/dist/commands/interactive.js.map +0 -1
  194. package/dist/commands/interactiveEnhanced.d.ts +0 -4
  195. package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
  196. package/dist/commands/interactiveEnhanced.js +0 -460
  197. package/dist/commands/interactiveEnhanced.js.map +0 -1
  198. package/dist/commands/list.d.ts +0 -2
  199. package/dist/commands/list.d.ts.map +0 -1
  200. package/dist/commands/list.js +0 -68
  201. package/dist/commands/list.js.map +0 -1
  202. package/dist/commands/sizes.d.ts +0 -2
  203. package/dist/commands/sizes.d.ts.map +0 -1
  204. package/dist/commands/sizes.js +0 -87
  205. package/dist/commands/sizes.js.map +0 -1
  206. package/dist/commands/ub.d.ts +0 -10
  207. package/dist/commands/ub.d.ts.map +0 -1
  208. package/dist/commands/ub.js +0 -170
  209. package/dist/commands/ub.js.map +0 -1
  210. package/dist/config/index.d.ts +0 -31
  211. package/dist/config/index.d.ts.map +0 -1
  212. package/dist/config/index.js +0 -270
  213. package/dist/config/index.js.map +0 -1
  214. package/dist/config/loadConfig.d.ts +0 -7
  215. package/dist/config/loadConfig.d.ts.map +0 -1
  216. package/dist/config/loadConfig.js +0 -103
  217. package/dist/config/loadConfig.js.map +0 -1
  218. package/dist/config/migrateConfig.d.ts +0 -56
  219. package/dist/config/migrateConfig.d.ts.map +0 -1
  220. package/dist/config/migrateConfig.js +0 -102
  221. package/dist/config/migrateConfig.js.map +0 -1
  222. package/dist/plugins/discovery.d.ts +0 -6
  223. package/dist/plugins/discovery.d.ts.map +0 -1
  224. package/dist/plugins/discovery.js +0 -64
  225. package/dist/plugins/discovery.js.map +0 -1
  226. package/dist/profiles/index.d.ts +0 -61
  227. package/dist/profiles/index.d.ts.map +0 -1
  228. package/dist/profiles/index.js +0 -406
  229. package/dist/profiles/index.js.map +0 -1
  230. package/dist/types/index.d.ts +0 -176
  231. package/dist/types/index.d.ts.map +0 -1
  232. package/dist/types/index.js +0 -3
  233. package/dist/types/index.js.map +0 -1
  234. package/dist/utils/cli.d.ts +0 -46
  235. package/dist/utils/cli.d.ts.map +0 -1
  236. package/dist/utils/cli.js +0 -412
  237. package/dist/utils/cli.js.map +0 -1
  238. package/dist/utils/fs.d.ts +0 -15
  239. package/dist/utils/fs.d.ts.map +0 -1
  240. package/dist/utils/fs.js +0 -218
  241. package/dist/utils/fs.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"maven.js","sourceRoot":"","sources":["../../src/cleaners/maven.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { CleanerModule } from "../types";
2
- declare const cleaner: CleanerModule;
3
- export default cleaner;
4
- //# sourceMappingURL=nix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nix.d.ts","sourceRoot":"","sources":["../../src/cleaners/nix.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAKd,MAAM,UAAU,CAAC;AASlB,QAAA,MAAM,OAAO,EAAE,aAwOd,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,227 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const fs_1 = require("../utils/fs");
7
- const child_process_1 = require("child_process");
8
- const cli_1 = require("../utils/cli");
9
- const os_1 = __importDefault(require("os"));
10
- const path_1 = __importDefault(require("path"));
11
- const fs_2 = __importDefault(require("fs"));
12
- const minimatch_1 = require("minimatch");
13
- const cleaner = {
14
- name: "nix",
15
- type: "package-manager",
16
- description: "Nix package manager store and garbage collection",
17
- async isAvailable() {
18
- // Check if nix is installed
19
- try {
20
- (0, child_process_1.execSync)("which nix-collect-garbage", { stdio: "ignore" });
21
- return true;
22
- }
23
- catch {
24
- return false;
25
- }
26
- },
27
- async getCacheInfo() {
28
- // Check if nix is installed
29
- let isInstalled = false;
30
- try {
31
- (0, child_process_1.execSync)("which nix-collect-garbage", { stdio: "ignore" });
32
- isInstalled = true;
33
- }
34
- catch {
35
- return {
36
- name: this.name,
37
- type: this.type,
38
- description: this.description,
39
- paths: [],
40
- isInstalled: false,
41
- size: 0,
42
- };
43
- }
44
- const paths = [];
45
- let totalSize = 0;
46
- try {
47
- // Check /nix/store size
48
- const nixStore = "/nix/store";
49
- if (fs_2.default.existsSync(nixStore)) {
50
- paths.push(nixStore);
51
- // Get garbage collectible size using dry-run
52
- try {
53
- const gcDryRun = (0, child_process_1.execSync)("nix-collect-garbage --dry-run 2>&1", {
54
- encoding: "utf8",
55
- });
56
- // Parse output for size info
57
- const lines = gcDryRun.split("\n");
58
- for (const line of lines) {
59
- // Look for lines mentioning freed space
60
- const sizeMatch = line.match(/(\d+(?:\.\d+)?)\s*(MiB|GiB|KiB)/);
61
- if (sizeMatch) {
62
- const size = parseFloat(sizeMatch[1]);
63
- const unit = sizeMatch[2];
64
- if (unit === "GiB") {
65
- totalSize += size * 1024 * 1024 * 1024;
66
- }
67
- else if (unit === "MiB") {
68
- totalSize += size * 1024 * 1024;
69
- }
70
- else if (unit === "KiB") {
71
- totalSize += size * 1024;
72
- }
73
- }
74
- }
75
- }
76
- catch {
77
- // If dry-run fails, estimate based on store size
78
- // This is a rough estimate - actual gc size will be less
79
- try {
80
- const storeSize = await (0, fs_1.getCacheSize)(nixStore);
81
- // Estimate ~30% can be garbage collected
82
- totalSize = Math.floor(storeSize * 0.3);
83
- }
84
- catch {
85
- // Ignore size calculation errors
86
- }
87
- }
88
- }
89
- // Check user profile generations
90
- const userProfile = path_1.default.join(os_1.default.homedir(), ".nix-profile");
91
- if (fs_2.default.existsSync(userProfile)) {
92
- paths.push(userProfile);
93
- }
94
- // Check nix cache
95
- const nixCache = path_1.default.join(os_1.default.homedir(), ".cache", "nix");
96
- if (fs_2.default.existsSync(nixCache)) {
97
- paths.push(nixCache);
98
- totalSize += await (0, fs_1.getCacheSize)(nixCache);
99
- }
100
- }
101
- catch (error) {
102
- (0, cli_1.printVerbose)(`Error getting Nix cache info: ${error}`);
103
- }
104
- return {
105
- name: this.name,
106
- type: this.type,
107
- description: this.description,
108
- paths,
109
- isInstalled,
110
- size: totalSize,
111
- };
112
- },
113
- async clear(dryRun, _criteria, cacheInfo, protectedPaths = []) {
114
- const info = cacheInfo || (await this.getCacheInfo());
115
- const sizeBefore = info.size || 0;
116
- const clearedPaths = [];
117
- if (!info.isInstalled) {
118
- return {
119
- name: this.name,
120
- success: false,
121
- error: "Nix is not installed",
122
- clearedPaths: [],
123
- sizeBefore: 0,
124
- sizeAfter: 0,
125
- };
126
- }
127
- // Check if any of the paths are protected
128
- const pathsToClear = info.paths.filter((cachePath) => {
129
- const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
130
- if (isProtected) {
131
- (0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
132
- }
133
- return !isProtected;
134
- });
135
- if (pathsToClear.length === 0 && !dryRun) {
136
- // If all paths are protected and not a dry run
137
- (0, cli_1.printVerbose)("All Nix cache paths are protected. Nothing to clear.");
138
- return {
139
- name: this.name,
140
- success: true,
141
- clearedPaths: [],
142
- sizeBefore: 0,
143
- sizeAfter: 0,
144
- };
145
- }
146
- try {
147
- if (dryRun) {
148
- (0, cli_1.printVerbose)(`${cli_1.symbols.info} [DRY RUN] Would run: nix-collect-garbage -d`);
149
- (0, cli_1.printVerbose)(`${cli_1.symbols.info} [DRY RUN] Would delete old generations and collect garbage`);
150
- // Show what would be cleaned
151
- try {
152
- const gcDryRun = (0, child_process_1.execSync)("nix-collect-garbage --dry-run 2>&1", {
153
- encoding: "utf8",
154
- });
155
- const lines = gcDryRun.split("\n").slice(0, 10); // Show first 10 lines
156
- for (const line of lines) {
157
- if (line.trim()) {
158
- (0, cli_1.printVerbose)(` ${line.trim()}`);
159
- }
160
- }
161
- }
162
- catch {
163
- // Ignore dry-run errors
164
- }
165
- return {
166
- name: this.name,
167
- success: true,
168
- clearedPaths: pathsToClear, // Only report paths that would be cleared
169
- sizeBefore,
170
- sizeAfter: sizeBefore,
171
- };
172
- }
173
- // Run actual garbage collection
174
- (0, cli_1.printVerbose)(`${cli_1.symbols.soap} Running Nix garbage collection...`);
175
- try {
176
- // Delete old generations and collect garbage
177
- (0, child_process_1.execSync)("nix-collect-garbage -d", { stdio: "inherit" });
178
- if (pathsToClear.includes("/nix/store")) {
179
- // Only push if it was not protected
180
- clearedPaths.push("/nix/store");
181
- }
182
- // Also clean build cache if using nix 2.0+
183
- try {
184
- (0, child_process_1.execSync)("nix store gc", { stdio: "ignore" });
185
- }
186
- catch {
187
- // Ignore if using older nix version
188
- }
189
- // Clean user cache
190
- const nixCache = path_1.default.join(os_1.default.homedir(), ".cache", "nix");
191
- if (fs_2.default.existsSync(nixCache) && pathsToClear.includes(nixCache)) {
192
- // Only clear if not protected
193
- try {
194
- fs_2.default.rmSync(nixCache, { recursive: true, force: true });
195
- clearedPaths.push(nixCache);
196
- }
197
- catch {
198
- // Ignore cache clear errors
199
- }
200
- }
201
- (0, cli_1.printVerbose)(`${cli_1.symbols.bubbles} Nix garbage collection completed`);
202
- }
203
- catch (error) {
204
- (0, cli_1.printVerbose)(`${cli_1.symbols.warning} Partial Nix cleanup: ${error}`);
205
- }
206
- return {
207
- name: this.name,
208
- success: true,
209
- clearedPaths,
210
- sizeBefore,
211
- sizeAfter: 0, // Set to 0 as we don't want to rescan
212
- };
213
- }
214
- catch (error) {
215
- return {
216
- name: this.name,
217
- success: false,
218
- error: error instanceof Error ? error.message : String(error),
219
- clearedPaths: [],
220
- sizeBefore,
221
- sizeAfter: sizeBefore,
222
- };
223
- }
224
- },
225
- };
226
- exports.default = cleaner;
227
- //# sourceMappingURL=nix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nix.js","sourceRoot":"","sources":["../../src/cleaners/nix.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { BaseCleaner } from "./BaseCleaner";
2
- import { CacheInfo, CacheCategory, CacheType } from "../types";
3
- export declare class NodeGypCleaner 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
- declare const _default: NodeGypCleaner;
13
- export default _default;
14
- //# sourceMappingURL=nodeGyp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodeGyp.d.ts","sourceRoot":"","sources":["../../src/cleaners/nodeGyp.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,SAA2C;IAEtD,OAAO,CAAC,aAAa;IAiDf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAa/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAuClC,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAgDrD;;AAED,wBAAoC"}
@@ -1,157 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NodeGypCleaner = 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 NodeGypCleaner extends BaseCleaner_1.BaseCleaner {
16
- constructor() {
17
- super(...arguments);
18
- this.name = "node-gyp";
19
- this.type = "build-tool";
20
- this.description = "Node.js native addon build tool cache";
21
- }
22
- getCachePaths() {
23
- const paths = [];
24
- const homeDir = os_1.default.homedir();
25
- // Main node-gyp cache location
26
- paths.push(path_1.default.join(homeDir, ".node-gyp"));
27
- // Platform-specific locations
28
- if (process.platform === "win32") {
29
- const localAppData = process.env.LOCALAPPDATA || path_1.default.join(homeDir, "AppData", "Local");
30
- paths.push(path_1.default.join(localAppData, "node-gyp", "Cache"));
31
- }
32
- else if (process.platform === "darwin") {
33
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "node-gyp"));
34
- }
35
- else {
36
- // Linux
37
- const xdgCache = process.env.XDG_CACHE_HOME || path_1.default.join(homeDir, ".cache");
38
- paths.push(path_1.default.join(xdgCache, "node-gyp"));
39
- }
40
- // Node.js headers cache
41
- paths.push(path_1.default.join(homeDir, ".npm", "_cacache"));
42
- // Build directories in current projects
43
- const projectBuildDirs = [
44
- "build",
45
- "Release",
46
- "Debug",
47
- "build/Release",
48
- "build/Debug",
49
- ];
50
- const cwd = process.cwd();
51
- for (const buildDir of projectBuildDirs) {
52
- const buildPath = path_1.default.join(cwd, buildDir);
53
- // Only include if it contains node-gyp artifacts
54
- if ((0, fs_1.existsSync)(path_1.default.join(buildPath, "build.ninja")) ||
55
- (0, fs_1.existsSync)(path_1.default.join(buildPath, "Makefile")) ||
56
- (0, fs_1.existsSync)(path_1.default.join(buildPath, ".node"))) {
57
- paths.push(buildPath);
58
- }
59
- }
60
- return paths;
61
- }
62
- async isAvailable() {
63
- try {
64
- // Check if node-gyp is installed
65
- await execAsync("node-gyp --version");
66
- return true;
67
- }
68
- catch {
69
- // Check if node-gyp cache directory exists
70
- const homeDir = os_1.default.homedir();
71
- const nodeGypDir = path_1.default.join(homeDir, ".node-gyp");
72
- return (0, fs_1.existsSync)(nodeGypDir);
73
- }
74
- }
75
- async getCacheInfo() {
76
- const paths = this.getCachePaths();
77
- const existingPaths = [];
78
- let totalSize = 0;
79
- let oldestCache;
80
- let newestCache;
81
- for (const cachePath of paths) {
82
- if ((0, fs_1.existsSync)(cachePath)) {
83
- existingPaths.push(cachePath);
84
- const size = await this.getDirectorySize(cachePath);
85
- totalSize += size;
86
- try {
87
- const stat = (0, fs_1.statSync)(cachePath);
88
- if (!oldestCache || stat.mtime < oldestCache) {
89
- oldestCache = stat.mtime;
90
- }
91
- if (!newestCache || stat.mtime > newestCache) {
92
- newestCache = stat.mtime;
93
- }
94
- }
95
- catch (error) {
96
- (0, cli_1.printVerbose)(`Error getting stats for ${cachePath}: ${error}`);
97
- }
98
- }
99
- }
100
- return {
101
- name: this.name,
102
- type: this.type,
103
- description: this.description,
104
- paths: existingPaths,
105
- isInstalled: await this.isAvailable(),
106
- totalSize: totalSize,
107
- oldestCache,
108
- newestCache,
109
- };
110
- }
111
- async getCacheCategories() {
112
- const categories = [];
113
- const paths = this.getCachePaths();
114
- for (const cachePath of paths) {
115
- if (!(0, fs_1.existsSync)(cachePath))
116
- continue;
117
- const baseName = path_1.default.basename(cachePath);
118
- let categoryName = "Build Cache";
119
- // Categorize by type
120
- if (cachePath.includes(".node-gyp")) {
121
- categoryName = "Node.js Headers Cache";
122
- }
123
- else if (cachePath.includes("build") ||
124
- cachePath.includes("Release") ||
125
- cachePath.includes("Debug")) {
126
- categoryName = "Build Artifacts";
127
- }
128
- else if (cachePath.includes("_cacache")) {
129
- categoryName = "NPM Binary Cache";
130
- }
131
- try {
132
- const stat = (0, fs_1.statSync)(cachePath);
133
- const size = await this.getDirectorySize(cachePath);
134
- categories.push({
135
- id: `node-gyp-${baseName}`.toLowerCase().replace(/[^a-z0-9-]/g, "-"),
136
- name: categoryName,
137
- description: `Node-gyp cache at ${cachePath}`,
138
- paths: [cachePath],
139
- size,
140
- lastModified: stat.mtime,
141
- lastAccessed: stat.atime,
142
- priority: this.getCachePriority(cachePath),
143
- useCase: this.detectUseCase(cachePath),
144
- isProjectSpecific: this.isProjectSpecific(cachePath),
145
- ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
146
- });
147
- }
148
- catch (error) {
149
- (0, cli_1.printVerbose)(`Error analyzing ${cachePath}: ${error}`);
150
- }
151
- }
152
- return categories;
153
- }
154
- }
155
- exports.NodeGypCleaner = NodeGypCleaner;
156
- exports.default = new NodeGypCleaner();
157
- //# sourceMappingURL=nodeGyp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodeGyp.js","sourceRoot":"","sources":["../../src/cleaners/nodeGyp.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { CacheInfo, ClearResult, CleanerModule, CacheSelectionCriteria } from "../types";
2
- export declare class NpmCleaner implements CleanerModule {
3
- name: string;
4
- type: "package-manager";
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(): NpmCleaner;
11
- }
12
- declare const _default: NpmCleaner;
13
- export default _default;
14
- //# sourceMappingURL=npm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/cleaners/npm.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAUlB,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,SAAS;IACb,IAAI,EAAG,iBAAiB,CAAU;IAClC,WAAW,SAAmD;IAE9D,OAAO,CAAC,aAAa;IAwCf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAU/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA8ClC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IAsGvB,MAAM,CAAC,MAAM,IAAI,UAAU;CAG5B;;AAGD,wBAAmC"}
@@ -1,198 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NpmCleaner = void 0;
7
- const fs_1 = require("fs");
8
- const path_1 = __importDefault(require("path"));
9
- const os_1 = __importDefault(require("os"));
10
- const execa_1 = __importDefault(require("execa"));
11
- const fs_2 = require("../utils/fs");
12
- const cli_1 = require("../utils/cli");
13
- const minimatch_1 = require("minimatch");
14
- class NpmCleaner {
15
- constructor() {
16
- this.name = "npm";
17
- this.type = "package-manager";
18
- this.description = "NPM package manager cache and temporary files";
19
- }
20
- getCachePaths() {
21
- const paths = [];
22
- const homeDir = os_1.default.homedir();
23
- // Primary npm cache location
24
- paths.push(path_1.default.join(homeDir, ".npm"));
25
- // Alternative cache locations on different platforms
26
- if (process.platform === "win32") {
27
- const appData = process.env.APPDATA || path_1.default.join(homeDir, "AppData", "Roaming");
28
- paths.push(path_1.default.join(appData, "npm-cache"));
29
- }
30
- else if (process.platform === "darwin") {
31
- paths.push(path_1.default.join(homeDir, "Library", "Caches", "npm"));
32
- }
33
- // Node modules cache directories (common locations)
34
- const commonCachePaths = [
35
- "node_modules/.cache/npm",
36
- ".npm-cache",
37
- "npm-cache",
38
- ];
39
- // Check current working directory and parent directories (with limits)
40
- let currentDir = process.cwd();
41
- const rootDir = path_1.default.parse(currentDir).root;
42
- let depth = 0;
43
- const maxDepth = 5; // Limit to 5 levels up to avoid performance issues
44
- while (currentDir !== rootDir && depth < maxDepth) {
45
- for (const cachePath of commonCachePaths) {
46
- paths.push(path_1.default.join(currentDir, cachePath));
47
- }
48
- currentDir = path_1.default.dirname(currentDir);
49
- depth++;
50
- }
51
- return paths;
52
- }
53
- async isAvailable() {
54
- try {
55
- (0, cli_1.printVerbose)("Checking if npm is installed...");
56
- await (0, execa_1.default)("npm", ["--version"]);
57
- return true;
58
- }
59
- catch {
60
- return false;
61
- }
62
- }
63
- async getCacheInfo() {
64
- const allPaths = this.getCachePaths();
65
- const existingPaths = [];
66
- let totalSize = 0;
67
- let lastModified;
68
- (0, cli_1.printVerbose)(`Checking npm cache paths: ${allPaths.join(", ")}`);
69
- for (const cachePath of allPaths) {
70
- if (await (0, fs_2.pathExists)(cachePath)) {
71
- existingPaths.push(cachePath);
72
- try {
73
- // Use estimated size for large cache directories like .npm to prevent memory issues
74
- const isMainNpmCache = cachePath.includes(".npm") && !cachePath.includes("node_modules");
75
- const size = isMainNpmCache
76
- ? await (0, fs_2.getEstimatedDirectorySize)(cachePath)
77
- : await (0, fs_2.getDirectorySize)(cachePath, true);
78
- totalSize += size;
79
- const stats = await fs_1.promises.stat(cachePath);
80
- if (!lastModified || stats.mtime > lastModified) {
81
- lastModified = stats.mtime;
82
- }
83
- (0, cli_1.printVerbose)(`Found npm cache at ${cachePath} (${size} bytes${isMainNpmCache ? " estimated" : ""})`);
84
- }
85
- catch (error) {
86
- (0, cli_1.printVerbose)(`Error checking ${cachePath}: ${error}`);
87
- }
88
- }
89
- }
90
- return {
91
- name: this.name,
92
- type: this.type,
93
- description: this.description,
94
- paths: existingPaths,
95
- isInstalled: await this.isAvailable(),
96
- size: totalSize,
97
- lastModified,
98
- };
99
- }
100
- async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
101
- const info = cacheInfo || (await this.getCacheInfo());
102
- const clearedPaths = [];
103
- const sizeBefore = info.size || 0;
104
- let success = true;
105
- let error;
106
- if (!info.isInstalled) {
107
- return {
108
- name: this.name,
109
- success: false,
110
- error: "npm is not installed",
111
- clearedPaths: [],
112
- sizeBefore: 0,
113
- sizeAfter: 0,
114
- };
115
- }
116
- if (info.paths.length === 0) {
117
- (0, cli_1.printVerbose)("No npm cache directories found");
118
- return {
119
- name: this.name,
120
- success: true,
121
- clearedPaths: [],
122
- sizeBefore: 0,
123
- sizeAfter: 0,
124
- };
125
- }
126
- try {
127
- if (dryRun) {
128
- (0, cli_1.printVerbose)(`[DRY RUN] Would clear npm cache paths: ${info.paths.join(", ")}`);
129
- return {
130
- name: this.name,
131
- success: true,
132
- sizeBefore,
133
- sizeAfter: sizeBefore, // No change in dry run
134
- clearedPaths: info.paths,
135
- };
136
- }
137
- // Try using npm's built-in cache clean first
138
- try {
139
- (0, cli_1.printVerbose)("Running npm cache clean --force...");
140
- await (0, execa_1.default)("npm", ["cache", "clean", "--force"]);
141
- (0, cli_1.printVerbose)("npm cache clean completed successfully");
142
- }
143
- catch (npmError) {
144
- (0, cli_1.printVerbose)(`npm cache clean failed: ${npmError}`);
145
- // Continue with manual deletion
146
- }
147
- // Manually clear cache directories
148
- for (const cachePath of info.paths) {
149
- // Check if the path is protected
150
- const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
151
- if (isProtected) {
152
- (0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
153
- continue; // Skip this path
154
- }
155
- try {
156
- if (await (0, fs_2.pathExists)(cachePath)) {
157
- (0, cli_1.printVerbose)(`Clearing directory: ${cachePath}`);
158
- await (0, fs_2.safeRmrf)(cachePath);
159
- clearedPaths.push(cachePath);
160
- }
161
- }
162
- catch (pathError) {
163
- (0, cli_1.printVerbose)(`Failed to clear ${cachePath}: ${pathError}`);
164
- success = false;
165
- if (!error) {
166
- error = `Failed to clear some cache directories: ${pathError}`;
167
- }
168
- }
169
- }
170
- return {
171
- name: this.name,
172
- success,
173
- sizeBefore,
174
- sizeAfter: 0, // Set to 0 as we don't want to rescan
175
- error,
176
- clearedPaths,
177
- };
178
- }
179
- catch (clearError) {
180
- return {
181
- name: this.name,
182
- success: false,
183
- sizeBefore,
184
- sizeAfter: sizeBefore,
185
- error: clearError instanceof Error ? clearError.message : String(clearError),
186
- clearedPaths,
187
- };
188
- }
189
- }
190
- // Static method to create instance
191
- static create() {
192
- return new NpmCleaner();
193
- }
194
- }
195
- exports.NpmCleaner = NpmCleaner;
196
- // Export default instance
197
- exports.default = NpmCleaner.create();
198
- //# sourceMappingURL=npm.js.map