squeaky-clean 0.1.7 → 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 (217) hide show
  1. package/package.json +25 -23
  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/docker.d.ts +0 -35
  39. package/dist/cleaners/docker.d.ts.map +0 -1
  40. package/dist/cleaners/docker.js +0 -285
  41. package/dist/cleaners/docker.js.map +0 -1
  42. package/dist/cleaners/firefox.d.ts +0 -15
  43. package/dist/cleaners/firefox.d.ts.map +0 -1
  44. package/dist/cleaners/firefox.js +0 -281
  45. package/dist/cleaners/firefox.js.map +0 -1
  46. package/dist/cleaners/flutter.d.ts +0 -18
  47. package/dist/cleaners/flutter.d.ts.map +0 -1
  48. package/dist/cleaners/flutter.js +0 -354
  49. package/dist/cleaners/flutter.js.map +0 -1
  50. package/dist/cleaners/goBuild.d.ts +0 -18
  51. package/dist/cleaners/goBuild.d.ts.map +0 -1
  52. package/dist/cleaners/goBuild.js +0 -196
  53. package/dist/cleaners/goBuild.js.map +0 -1
  54. package/dist/cleaners/gradle.d.ts +0 -14
  55. package/dist/cleaners/gradle.d.ts.map +0 -1
  56. package/dist/cleaners/gradle.js +0 -336
  57. package/dist/cleaners/gradle.js.map +0 -1
  58. package/dist/cleaners/index.d.ts +0 -51
  59. package/dist/cleaners/index.d.ts.map +0 -1
  60. package/dist/cleaners/index.js +0 -247
  61. package/dist/cleaners/index.js.map +0 -1
  62. package/dist/cleaners/jetbrains.d.ts +0 -18
  63. package/dist/cleaners/jetbrains.d.ts.map +0 -1
  64. package/dist/cleaners/jetbrains.js +0 -441
  65. package/dist/cleaners/jetbrains.js.map +0 -1
  66. package/dist/cleaners/maven.d.ts +0 -15
  67. package/dist/cleaners/maven.d.ts.map +0 -1
  68. package/dist/cleaners/maven.js +0 -182
  69. package/dist/cleaners/maven.js.map +0 -1
  70. package/dist/cleaners/nix.d.ts +0 -4
  71. package/dist/cleaners/nix.d.ts.map +0 -1
  72. package/dist/cleaners/nix.js +0 -227
  73. package/dist/cleaners/nix.js.map +0 -1
  74. package/dist/cleaners/nodeGyp.d.ts +0 -14
  75. package/dist/cleaners/nodeGyp.d.ts.map +0 -1
  76. package/dist/cleaners/nodeGyp.js +0 -157
  77. package/dist/cleaners/nodeGyp.js.map +0 -1
  78. package/dist/cleaners/npm.d.ts +0 -14
  79. package/dist/cleaners/npm.d.ts.map +0 -1
  80. package/dist/cleaners/npm.js +0 -198
  81. package/dist/cleaners/npm.js.map +0 -1
  82. package/dist/cleaners/npmEnhanced.d.ts +0 -19
  83. package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
  84. package/dist/cleaners/npmEnhanced.js +0 -336
  85. package/dist/cleaners/npmEnhanced.js.map +0 -1
  86. package/dist/cleaners/nuget.d.ts +0 -16
  87. package/dist/cleaners/nuget.d.ts.map +0 -1
  88. package/dist/cleaners/nuget.js +0 -197
  89. package/dist/cleaners/nuget.js.map +0 -1
  90. package/dist/cleaners/nx.d.ts +0 -18
  91. package/dist/cleaners/nx.d.ts.map +0 -1
  92. package/dist/cleaners/nx.js +0 -308
  93. package/dist/cleaners/nx.js.map +0 -1
  94. package/dist/cleaners/pip.d.ts +0 -19
  95. package/dist/cleaners/pip.d.ts.map +0 -1
  96. package/dist/cleaners/pip.js +0 -334
  97. package/dist/cleaners/pip.js.map +0 -1
  98. package/dist/cleaners/pipenv.d.ts +0 -16
  99. package/dist/cleaners/pipenv.d.ts.map +0 -1
  100. package/dist/cleaners/pipenv.js +0 -184
  101. package/dist/cleaners/pipenv.js.map +0 -1
  102. package/dist/cleaners/pnpm.d.ts +0 -14
  103. package/dist/cleaners/pnpm.d.ts.map +0 -1
  104. package/dist/cleaners/pnpm.js +0 -209
  105. package/dist/cleaners/pnpm.js.map +0 -1
  106. package/dist/cleaners/poetry.d.ts +0 -16
  107. package/dist/cleaners/poetry.d.ts.map +0 -1
  108. package/dist/cleaners/poetry.js +0 -184
  109. package/dist/cleaners/poetry.js.map +0 -1
  110. package/dist/cleaners/swiftpm.d.ts +0 -16
  111. package/dist/cleaners/swiftpm.d.ts.map +0 -1
  112. package/dist/cleaners/swiftpm.js +0 -179
  113. package/dist/cleaners/swiftpm.js.map +0 -1
  114. package/dist/cleaners/turbo.d.ts +0 -18
  115. package/dist/cleaners/turbo.d.ts.map +0 -1
  116. package/dist/cleaners/turbo.js +0 -325
  117. package/dist/cleaners/turbo.js.map +0 -1
  118. package/dist/cleaners/vite.d.ts +0 -17
  119. package/dist/cleaners/vite.d.ts.map +0 -1
  120. package/dist/cleaners/vite.js +0 -274
  121. package/dist/cleaners/vite.js.map +0 -1
  122. package/dist/cleaners/vscode.d.ts +0 -14
  123. package/dist/cleaners/vscode.d.ts.map +0 -1
  124. package/dist/cleaners/vscode.js +0 -354
  125. package/dist/cleaners/vscode.js.map +0 -1
  126. package/dist/cleaners/webpack.d.ts +0 -17
  127. package/dist/cleaners/webpack.d.ts.map +0 -1
  128. package/dist/cleaners/webpack.js +0 -263
  129. package/dist/cleaners/webpack.js.map +0 -1
  130. package/dist/cleaners/xcode.d.ts +0 -14
  131. package/dist/cleaners/xcode.d.ts.map +0 -1
  132. package/dist/cleaners/xcode.js +0 -348
  133. package/dist/cleaners/xcode.js.map +0 -1
  134. package/dist/cleaners/yarn.d.ts +0 -16
  135. package/dist/cleaners/yarn.d.ts.map +0 -1
  136. package/dist/cleaners/yarn.js +0 -266
  137. package/dist/cleaners/yarn.js.map +0 -1
  138. package/dist/cli.d.ts +0 -3
  139. package/dist/cli.d.ts.map +0 -1
  140. package/dist/cli.js +0 -346
  141. package/dist/cli.js.map +0 -1
  142. package/dist/commands/auto.d.ts +0 -8
  143. package/dist/commands/auto.d.ts.map +0 -1
  144. package/dist/commands/auto.js +0 -224
  145. package/dist/commands/auto.js.map +0 -1
  146. package/dist/commands/categories.d.ts +0 -8
  147. package/dist/commands/categories.d.ts.map +0 -1
  148. package/dist/commands/categories.js +0 -133
  149. package/dist/commands/categories.js.map +0 -1
  150. package/dist/commands/clean.d.ts +0 -3
  151. package/dist/commands/clean.d.ts.map +0 -1
  152. package/dist/commands/clean.js +0 -149
  153. package/dist/commands/clean.js.map +0 -1
  154. package/dist/commands/config.d.ts +0 -14
  155. package/dist/commands/config.d.ts.map +0 -1
  156. package/dist/commands/config.js +0 -445
  157. package/dist/commands/config.js.map +0 -1
  158. package/dist/commands/configDoctor.d.ts +0 -26
  159. package/dist/commands/configDoctor.d.ts.map +0 -1
  160. package/dist/commands/configDoctor.js +0 -60
  161. package/dist/commands/configDoctor.js.map +0 -1
  162. package/dist/commands/doctor.d.ts +0 -2
  163. package/dist/commands/doctor.d.ts.map +0 -1
  164. package/dist/commands/doctor.js +0 -141
  165. package/dist/commands/doctor.js.map +0 -1
  166. package/dist/commands/emojis.d.ts +0 -2
  167. package/dist/commands/emojis.d.ts.map +0 -1
  168. package/dist/commands/emojis.js +0 -28
  169. package/dist/commands/emojis.js.map +0 -1
  170. package/dist/commands/interactive.d.ts +0 -3
  171. package/dist/commands/interactive.d.ts.map +0 -1
  172. package/dist/commands/interactive.js +0 -284
  173. package/dist/commands/interactive.js.map +0 -1
  174. package/dist/commands/interactiveEnhanced.d.ts +0 -4
  175. package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
  176. package/dist/commands/interactiveEnhanced.js +0 -460
  177. package/dist/commands/interactiveEnhanced.js.map +0 -1
  178. package/dist/commands/list.d.ts +0 -2
  179. package/dist/commands/list.d.ts.map +0 -1
  180. package/dist/commands/list.js +0 -68
  181. package/dist/commands/list.js.map +0 -1
  182. package/dist/commands/sizes.d.ts +0 -2
  183. package/dist/commands/sizes.d.ts.map +0 -1
  184. package/dist/commands/sizes.js +0 -87
  185. package/dist/commands/sizes.js.map +0 -1
  186. package/dist/config/index.d.ts +0 -31
  187. package/dist/config/index.d.ts.map +0 -1
  188. package/dist/config/index.js +0 -241
  189. package/dist/config/index.js.map +0 -1
  190. package/dist/config/loadConfig.d.ts +0 -7
  191. package/dist/config/loadConfig.d.ts.map +0 -1
  192. package/dist/config/loadConfig.js +0 -103
  193. package/dist/config/loadConfig.js.map +0 -1
  194. package/dist/config/migrateConfig.d.ts +0 -56
  195. package/dist/config/migrateConfig.d.ts.map +0 -1
  196. package/dist/config/migrateConfig.js +0 -102
  197. package/dist/config/migrateConfig.js.map +0 -1
  198. package/dist/plugins/discovery.d.ts +0 -6
  199. package/dist/plugins/discovery.d.ts.map +0 -1
  200. package/dist/plugins/discovery.js +0 -64
  201. package/dist/plugins/discovery.js.map +0 -1
  202. package/dist/profiles/index.d.ts +0 -61
  203. package/dist/profiles/index.d.ts.map +0 -1
  204. package/dist/profiles/index.js +0 -361
  205. package/dist/profiles/index.js.map +0 -1
  206. package/dist/types/index.d.ts +0 -161
  207. package/dist/types/index.d.ts.map +0 -1
  208. package/dist/types/index.js +0 -3
  209. package/dist/types/index.js.map +0 -1
  210. package/dist/utils/cli.d.ts +0 -44
  211. package/dist/utils/cli.d.ts.map +0 -1
  212. package/dist/utils/cli.js +0 -410
  213. package/dist/utils/cli.js.map +0 -1
  214. package/dist/utils/fs.d.ts +0 -15
  215. package/dist/utils/fs.d.ts.map +0 -1
  216. package/dist/utils/fs.js +0 -218
  217. 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