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.
- package/package.json +25 -23
- package/dist/cleaners/BaseCleaner.d.ts +0 -57
- package/dist/cleaners/BaseCleaner.d.ts.map +0 -1
- package/dist/cleaners/BaseCleaner.js +0 -299
- package/dist/cleaners/BaseCleaner.js.map +0 -1
- package/dist/cleaners/CleanerRegistry.d.ts +0 -65
- package/dist/cleaners/CleanerRegistry.d.ts.map +0 -1
- package/dist/cleaners/CleanerRegistry.js +0 -112
- package/dist/cleaners/CleanerRegistry.js.map +0 -1
- package/dist/cleaners/androidstudio.d.ts +0 -16
- package/dist/cleaners/androidstudio.d.ts.map +0 -1
- package/dist/cleaners/androidstudio.js +0 -375
- package/dist/cleaners/androidstudio.js.map +0 -1
- package/dist/cleaners/brew.d.ts +0 -4
- package/dist/cleaners/brew.d.ts.map +0 -1
- package/dist/cleaners/brew.js +0 -197
- package/dist/cleaners/brew.js.map +0 -1
- package/dist/cleaners/brewEnhanced.d.ts +0 -18
- package/dist/cleaners/brewEnhanced.d.ts.map +0 -1
- package/dist/cleaners/brewEnhanced.js +0 -255
- package/dist/cleaners/brewEnhanced.js.map +0 -1
- package/dist/cleaners/bun.d.ts +0 -14
- package/dist/cleaners/bun.d.ts.map +0 -1
- package/dist/cleaners/bun.js +0 -207
- package/dist/cleaners/bun.js.map +0 -1
- package/dist/cleaners/cargo.d.ts +0 -15
- package/dist/cleaners/cargo.d.ts.map +0 -1
- package/dist/cleaners/cargo.js +0 -193
- package/dist/cleaners/cargo.js.map +0 -1
- package/dist/cleaners/chrome.d.ts +0 -14
- package/dist/cleaners/chrome.d.ts.map +0 -1
- package/dist/cleaners/chrome.js +0 -250
- package/dist/cleaners/chrome.js.map +0 -1
- package/dist/cleaners/cocoapods.d.ts +0 -16
- package/dist/cleaners/cocoapods.d.ts.map +0 -1
- package/dist/cleaners/cocoapods.js +0 -180
- package/dist/cleaners/cocoapods.js.map +0 -1
- package/dist/cleaners/docker.d.ts +0 -35
- package/dist/cleaners/docker.d.ts.map +0 -1
- package/dist/cleaners/docker.js +0 -285
- package/dist/cleaners/docker.js.map +0 -1
- package/dist/cleaners/firefox.d.ts +0 -15
- package/dist/cleaners/firefox.d.ts.map +0 -1
- package/dist/cleaners/firefox.js +0 -281
- package/dist/cleaners/firefox.js.map +0 -1
- package/dist/cleaners/flutter.d.ts +0 -18
- package/dist/cleaners/flutter.d.ts.map +0 -1
- package/dist/cleaners/flutter.js +0 -354
- package/dist/cleaners/flutter.js.map +0 -1
- package/dist/cleaners/goBuild.d.ts +0 -18
- package/dist/cleaners/goBuild.d.ts.map +0 -1
- package/dist/cleaners/goBuild.js +0 -196
- package/dist/cleaners/goBuild.js.map +0 -1
- package/dist/cleaners/gradle.d.ts +0 -14
- package/dist/cleaners/gradle.d.ts.map +0 -1
- package/dist/cleaners/gradle.js +0 -336
- package/dist/cleaners/gradle.js.map +0 -1
- package/dist/cleaners/index.d.ts +0 -51
- package/dist/cleaners/index.d.ts.map +0 -1
- package/dist/cleaners/index.js +0 -247
- package/dist/cleaners/index.js.map +0 -1
- package/dist/cleaners/jetbrains.d.ts +0 -18
- package/dist/cleaners/jetbrains.d.ts.map +0 -1
- package/dist/cleaners/jetbrains.js +0 -441
- package/dist/cleaners/jetbrains.js.map +0 -1
- package/dist/cleaners/maven.d.ts +0 -15
- package/dist/cleaners/maven.d.ts.map +0 -1
- package/dist/cleaners/maven.js +0 -182
- package/dist/cleaners/maven.js.map +0 -1
- package/dist/cleaners/nix.d.ts +0 -4
- package/dist/cleaners/nix.d.ts.map +0 -1
- package/dist/cleaners/nix.js +0 -227
- package/dist/cleaners/nix.js.map +0 -1
- package/dist/cleaners/nodeGyp.d.ts +0 -14
- package/dist/cleaners/nodeGyp.d.ts.map +0 -1
- package/dist/cleaners/nodeGyp.js +0 -157
- package/dist/cleaners/nodeGyp.js.map +0 -1
- package/dist/cleaners/npm.d.ts +0 -14
- package/dist/cleaners/npm.d.ts.map +0 -1
- package/dist/cleaners/npm.js +0 -198
- package/dist/cleaners/npm.js.map +0 -1
- package/dist/cleaners/npmEnhanced.d.ts +0 -19
- package/dist/cleaners/npmEnhanced.d.ts.map +0 -1
- package/dist/cleaners/npmEnhanced.js +0 -336
- package/dist/cleaners/npmEnhanced.js.map +0 -1
- package/dist/cleaners/nuget.d.ts +0 -16
- package/dist/cleaners/nuget.d.ts.map +0 -1
- package/dist/cleaners/nuget.js +0 -197
- package/dist/cleaners/nuget.js.map +0 -1
- package/dist/cleaners/nx.d.ts +0 -18
- package/dist/cleaners/nx.d.ts.map +0 -1
- package/dist/cleaners/nx.js +0 -308
- package/dist/cleaners/nx.js.map +0 -1
- package/dist/cleaners/pip.d.ts +0 -19
- package/dist/cleaners/pip.d.ts.map +0 -1
- package/dist/cleaners/pip.js +0 -334
- package/dist/cleaners/pip.js.map +0 -1
- package/dist/cleaners/pipenv.d.ts +0 -16
- package/dist/cleaners/pipenv.d.ts.map +0 -1
- package/dist/cleaners/pipenv.js +0 -184
- package/dist/cleaners/pipenv.js.map +0 -1
- package/dist/cleaners/pnpm.d.ts +0 -14
- package/dist/cleaners/pnpm.d.ts.map +0 -1
- package/dist/cleaners/pnpm.js +0 -209
- package/dist/cleaners/pnpm.js.map +0 -1
- package/dist/cleaners/poetry.d.ts +0 -16
- package/dist/cleaners/poetry.d.ts.map +0 -1
- package/dist/cleaners/poetry.js +0 -184
- package/dist/cleaners/poetry.js.map +0 -1
- package/dist/cleaners/swiftpm.d.ts +0 -16
- package/dist/cleaners/swiftpm.d.ts.map +0 -1
- package/dist/cleaners/swiftpm.js +0 -179
- package/dist/cleaners/swiftpm.js.map +0 -1
- package/dist/cleaners/turbo.d.ts +0 -18
- package/dist/cleaners/turbo.d.ts.map +0 -1
- package/dist/cleaners/turbo.js +0 -325
- package/dist/cleaners/turbo.js.map +0 -1
- package/dist/cleaners/vite.d.ts +0 -17
- package/dist/cleaners/vite.d.ts.map +0 -1
- package/dist/cleaners/vite.js +0 -274
- package/dist/cleaners/vite.js.map +0 -1
- package/dist/cleaners/vscode.d.ts +0 -14
- package/dist/cleaners/vscode.d.ts.map +0 -1
- package/dist/cleaners/vscode.js +0 -354
- package/dist/cleaners/vscode.js.map +0 -1
- package/dist/cleaners/webpack.d.ts +0 -17
- package/dist/cleaners/webpack.d.ts.map +0 -1
- package/dist/cleaners/webpack.js +0 -263
- package/dist/cleaners/webpack.js.map +0 -1
- package/dist/cleaners/xcode.d.ts +0 -14
- package/dist/cleaners/xcode.d.ts.map +0 -1
- package/dist/cleaners/xcode.js +0 -348
- package/dist/cleaners/xcode.js.map +0 -1
- package/dist/cleaners/yarn.d.ts +0 -16
- package/dist/cleaners/yarn.d.ts.map +0 -1
- package/dist/cleaners/yarn.js +0 -266
- package/dist/cleaners/yarn.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -346
- package/dist/cli.js.map +0 -1
- package/dist/commands/auto.d.ts +0 -8
- package/dist/commands/auto.d.ts.map +0 -1
- package/dist/commands/auto.js +0 -224
- package/dist/commands/auto.js.map +0 -1
- package/dist/commands/categories.d.ts +0 -8
- package/dist/commands/categories.d.ts.map +0 -1
- package/dist/commands/categories.js +0 -133
- package/dist/commands/categories.js.map +0 -1
- package/dist/commands/clean.d.ts +0 -3
- package/dist/commands/clean.d.ts.map +0 -1
- package/dist/commands/clean.js +0 -149
- package/dist/commands/clean.js.map +0 -1
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -445
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/configDoctor.d.ts +0 -26
- package/dist/commands/configDoctor.d.ts.map +0 -1
- package/dist/commands/configDoctor.js +0 -60
- package/dist/commands/configDoctor.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -2
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -141
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/emojis.d.ts +0 -2
- package/dist/commands/emojis.d.ts.map +0 -1
- package/dist/commands/emojis.js +0 -28
- package/dist/commands/emojis.js.map +0 -1
- package/dist/commands/interactive.d.ts +0 -3
- package/dist/commands/interactive.d.ts.map +0 -1
- package/dist/commands/interactive.js +0 -284
- package/dist/commands/interactive.js.map +0 -1
- package/dist/commands/interactiveEnhanced.d.ts +0 -4
- package/dist/commands/interactiveEnhanced.d.ts.map +0 -1
- package/dist/commands/interactiveEnhanced.js +0 -460
- package/dist/commands/interactiveEnhanced.js.map +0 -1
- package/dist/commands/list.d.ts +0 -2
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -68
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/sizes.d.ts +0 -2
- package/dist/commands/sizes.d.ts.map +0 -1
- package/dist/commands/sizes.js +0 -87
- package/dist/commands/sizes.js.map +0 -1
- package/dist/config/index.d.ts +0 -31
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -241
- package/dist/config/index.js.map +0 -1
- package/dist/config/loadConfig.d.ts +0 -7
- package/dist/config/loadConfig.d.ts.map +0 -1
- package/dist/config/loadConfig.js +0 -103
- package/dist/config/loadConfig.js.map +0 -1
- package/dist/config/migrateConfig.d.ts +0 -56
- package/dist/config/migrateConfig.d.ts.map +0 -1
- package/dist/config/migrateConfig.js +0 -102
- package/dist/config/migrateConfig.js.map +0 -1
- package/dist/plugins/discovery.d.ts +0 -6
- package/dist/plugins/discovery.d.ts.map +0 -1
- package/dist/plugins/discovery.js +0 -64
- package/dist/plugins/discovery.js.map +0 -1
- package/dist/profiles/index.d.ts +0 -61
- package/dist/profiles/index.d.ts.map +0 -1
- package/dist/profiles/index.js +0 -361
- package/dist/profiles/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -161
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/utils/cli.d.ts +0 -44
- package/dist/utils/cli.d.ts.map +0 -1
- package/dist/utils/cli.js +0 -410
- package/dist/utils/cli.js.map +0 -1
- package/dist/utils/fs.d.ts +0 -15
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/fs.js +0 -218
- 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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"}
|
package/dist/cleaners/nix.d.ts
DELETED
|
@@ -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"}
|
package/dist/cleaners/nix.js
DELETED
|
@@ -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
|
package/dist/cleaners/nix.js.map
DELETED
|
@@ -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"}
|
package/dist/cleaners/nodeGyp.js
DELETED
|
@@ -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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"}
|
package/dist/cleaners/npm.d.ts
DELETED
|
@@ -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"}
|
package/dist/cleaners/npm.js
DELETED
|
@@ -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
|