squeaky-clean 0.1.8 → 0.1.11
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 +23 -25
- 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/cursor.d.ts +0 -15
- package/dist/cleaners/cursor.d.ts.map +0 -1
- package/dist/cleaners/cursor.js +0 -377
- package/dist/cleaners/cursor.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 -271
- 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/playwright.d.ts +0 -15
- package/dist/cleaners/playwright.d.ts.map +0 -1
- package/dist/cleaners/playwright.js +0 -221
- package/dist/cleaners/playwright.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/universalBinary.d.ts +0 -20
- package/dist/cleaners/universalBinary.d.ts.map +0 -1
- package/dist/cleaners/universalBinary.js +0 -318
- package/dist/cleaners/universalBinary.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 -15
- package/dist/cleaners/vscode.d.ts.map +0 -1
- package/dist/cleaners/vscode.js +0 -411
- 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/windsurf.d.ts +0 -15
- package/dist/cleaners/windsurf.d.ts.map +0 -1
- package/dist/cleaners/windsurf.js +0 -366
- package/dist/cleaners/windsurf.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/cleaners/zed.d.ts +0 -15
- package/dist/cleaners/zed.d.ts.map +0 -1
- package/dist/cleaners/zed.js +0 -383
- package/dist/cleaners/zed.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -367
- 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 -251
- 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 -460
- 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/commands/ub.d.ts +0 -10
- package/dist/commands/ub.d.ts.map +0 -1
- package/dist/commands/ub.js +0 -170
- package/dist/commands/ub.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 -270
- 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 -406
- package/dist/profiles/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -176
- 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 -46
- package/dist/utils/cli.d.ts.map +0 -1
- package/dist/utils/cli.js +0 -412
- 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,441 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.JetBrainsCleaner = void 0;
|
|
37
|
-
const BaseCleaner_1 = require("./BaseCleaner");
|
|
38
|
-
const fs_1 = require("fs");
|
|
39
|
-
const path = __importStar(require("path"));
|
|
40
|
-
const os = __importStar(require("os"));
|
|
41
|
-
const fs_2 = require("../utils/fs");
|
|
42
|
-
const cli_1 = require("../utils/cli");
|
|
43
|
-
const minimatch_1 = require("minimatch");
|
|
44
|
-
class JetBrainsCleaner extends BaseCleaner_1.BaseCleaner {
|
|
45
|
-
constructor() {
|
|
46
|
-
super(...arguments);
|
|
47
|
-
this.name = "jetbrains";
|
|
48
|
-
this.type = "ide";
|
|
49
|
-
this.description = "JetBrains IDEs (WebStorm, IntelliJ, PhpStorm, etc.) comprehensive cache cleaning";
|
|
50
|
-
this.jetbrainsProducts = [
|
|
51
|
-
"WebStorm",
|
|
52
|
-
"IntelliJIdea",
|
|
53
|
-
"PhpStorm",
|
|
54
|
-
"PyCharm",
|
|
55
|
-
"RubyMine",
|
|
56
|
-
"CLion",
|
|
57
|
-
"DataGrip",
|
|
58
|
-
"Rider",
|
|
59
|
-
"GoLand",
|
|
60
|
-
"AndroidStudio",
|
|
61
|
-
"AppCode",
|
|
62
|
-
"DataSpell",
|
|
63
|
-
"RustRover",
|
|
64
|
-
"Aqua",
|
|
65
|
-
"Fleet",
|
|
66
|
-
"Space",
|
|
67
|
-
"Toolbox", // JetBrains Toolbox App
|
|
68
|
-
];
|
|
69
|
-
}
|
|
70
|
-
// Cache categories for different JetBrains cache types
|
|
71
|
-
async findJetBrainsInstallations() {
|
|
72
|
-
const installations = [];
|
|
73
|
-
const platform = os.platform();
|
|
74
|
-
if (platform === "darwin") {
|
|
75
|
-
// macOS Applications
|
|
76
|
-
const applicationsDir = "/Applications";
|
|
77
|
-
for (const product of this.jetbrainsProducts) {
|
|
78
|
-
const patterns = [`${product}.app`, `${product}*.app`];
|
|
79
|
-
for (const pattern of patterns) {
|
|
80
|
-
try {
|
|
81
|
-
if (await (0, fs_2.pathExists)(path.join(applicationsDir, pattern.replace("*", "")))) {
|
|
82
|
-
installations.push({
|
|
83
|
-
product,
|
|
84
|
-
path: path.join(applicationsDir, pattern.replace("*", "")),
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// Try to find versioned applications
|
|
89
|
-
const entries = await fs_1.promises.readdir(applicationsDir);
|
|
90
|
-
for (const entry of entries) {
|
|
91
|
-
if (entry.startsWith(product) && entry.endsWith(".app")) {
|
|
92
|
-
installations.push({
|
|
93
|
-
product,
|
|
94
|
-
path: path.join(applicationsDir, entry),
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
catch {
|
|
101
|
-
// Continue
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else if (platform === "win32") {
|
|
107
|
-
// Windows Program Files
|
|
108
|
-
const programFilesDirs = [
|
|
109
|
-
"C:\\Program Files\\JetBrains",
|
|
110
|
-
"C:\\Program Files (x86)\\JetBrains",
|
|
111
|
-
];
|
|
112
|
-
for (const programDir of programFilesDirs) {
|
|
113
|
-
if (await (0, fs_2.pathExists)(programDir)) {
|
|
114
|
-
try {
|
|
115
|
-
const entries = await fs_1.promises.readdir(programDir);
|
|
116
|
-
for (const entry of entries) {
|
|
117
|
-
for (const product of this.jetbrainsProducts) {
|
|
118
|
-
if (entry.includes(product)) {
|
|
119
|
-
installations.push({
|
|
120
|
-
product,
|
|
121
|
-
path: path.join(programDir, entry),
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
// Continue
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
// Linux
|
|
135
|
-
const linuxDirs = [
|
|
136
|
-
"/opt",
|
|
137
|
-
"/usr/local",
|
|
138
|
-
path.join(os.homedir(), ".local", "share", "JetBrains"),
|
|
139
|
-
];
|
|
140
|
-
for (const baseDir of linuxDirs) {
|
|
141
|
-
if (await (0, fs_2.pathExists)(baseDir)) {
|
|
142
|
-
try {
|
|
143
|
-
const entries = await fs_1.promises.readdir(baseDir);
|
|
144
|
-
for (const entry of entries) {
|
|
145
|
-
for (const product of this.jetbrainsProducts) {
|
|
146
|
-
if (entry.toLowerCase().includes(product.toLowerCase())) {
|
|
147
|
-
installations.push({
|
|
148
|
-
product,
|
|
149
|
-
path: path.join(baseDir, entry),
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
// Continue
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return installations;
|
|
162
|
-
}
|
|
163
|
-
async getJetBrainsCachePaths() {
|
|
164
|
-
const paths = [];
|
|
165
|
-
const homeDir = os.homedir();
|
|
166
|
-
const platform = os.platform();
|
|
167
|
-
// Platform-specific JetBrains cache paths
|
|
168
|
-
if (platform === "darwin") {
|
|
169
|
-
// macOS
|
|
170
|
-
const macBasePaths = [
|
|
171
|
-
path.join(homeDir, "Library", "Caches"),
|
|
172
|
-
path.join(homeDir, "Library", "Logs"),
|
|
173
|
-
path.join(homeDir, "Library", "Application Support"),
|
|
174
|
-
];
|
|
175
|
-
for (const basePath of macBasePaths) {
|
|
176
|
-
for (const product of this.jetbrainsProducts) {
|
|
177
|
-
const productPaths = [
|
|
178
|
-
path.join(basePath, product),
|
|
179
|
-
path.join(basePath, `JetBrains${product}`),
|
|
180
|
-
];
|
|
181
|
-
for (const productPath of productPaths) {
|
|
182
|
-
// Look for versioned directories
|
|
183
|
-
try {
|
|
184
|
-
if (await (0, fs_2.pathExists)(path.dirname(productPath))) {
|
|
185
|
-
const entries = await fs_1.promises.readdir(path.dirname(productPath));
|
|
186
|
-
for (const entry of entries) {
|
|
187
|
-
if (entry.includes(product) &&
|
|
188
|
-
(await (0, fs_2.pathExists)(path.join(path.dirname(productPath), entry)))) {
|
|
189
|
-
paths.push(path.join(path.dirname(productPath), entry));
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
// Continue
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
else if (platform === "win32") {
|
|
202
|
-
// Windows
|
|
203
|
-
const windowsBasePaths = [
|
|
204
|
-
path.join(homeDir, "AppData", "Local", "JetBrains"),
|
|
205
|
-
path.join(homeDir, "AppData", "Roaming", "JetBrains"),
|
|
206
|
-
];
|
|
207
|
-
for (const basePath of windowsBasePaths) {
|
|
208
|
-
if (await (0, fs_2.pathExists)(basePath)) {
|
|
209
|
-
try {
|
|
210
|
-
const entries = await fs_1.promises.readdir(basePath);
|
|
211
|
-
for (const entry of entries) {
|
|
212
|
-
paths.push(path.join(basePath, entry));
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
catch {
|
|
216
|
-
// Continue
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
// Linux
|
|
223
|
-
const linuxBasePaths = [
|
|
224
|
-
path.join(homeDir, ".cache", "JetBrains"),
|
|
225
|
-
path.join(homeDir, ".config", "JetBrains"),
|
|
226
|
-
path.join(homeDir, ".local", "share", "JetBrains"),
|
|
227
|
-
];
|
|
228
|
-
for (const basePath of linuxBasePaths) {
|
|
229
|
-
if (await (0, fs_2.pathExists)(basePath)) {
|
|
230
|
-
try {
|
|
231
|
-
const entries = await fs_1.promises.readdir(basePath);
|
|
232
|
-
for (const entry of entries) {
|
|
233
|
-
paths.push(path.join(basePath, entry));
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
catch {
|
|
237
|
-
// Continue
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
// Look for .idea directories in projects
|
|
243
|
-
try {
|
|
244
|
-
const ideaFolders = await this.findIdeaFolders();
|
|
245
|
-
paths.push(...ideaFolders);
|
|
246
|
-
}
|
|
247
|
-
catch (error) {
|
|
248
|
-
(0, cli_1.printVerbose)(`Error finding .idea folders: ${error}`);
|
|
249
|
-
}
|
|
250
|
-
return [...new Set(paths)]; // Remove duplicates
|
|
251
|
-
}
|
|
252
|
-
async findIdeaFolders() {
|
|
253
|
-
const ideaFolders = [];
|
|
254
|
-
const homeDir = os.homedir();
|
|
255
|
-
// Common project directories
|
|
256
|
-
const searchDirs = [
|
|
257
|
-
path.join(homeDir, "Projects"),
|
|
258
|
-
path.join(homeDir, "Development"),
|
|
259
|
-
path.join(homeDir, "dev"),
|
|
260
|
-
path.join(homeDir, "workspace"),
|
|
261
|
-
path.join(homeDir, "IdeaProjects"),
|
|
262
|
-
path.join(homeDir, "WebstormProjects"),
|
|
263
|
-
path.join(homeDir, "Documents"),
|
|
264
|
-
process.cwd(),
|
|
265
|
-
];
|
|
266
|
-
for (const searchDir of searchDirs) {
|
|
267
|
-
if (await (0, fs_2.pathExists)(searchDir)) {
|
|
268
|
-
try {
|
|
269
|
-
const ideas = await this.findIdeaFoldersRecursively(searchDir, 3);
|
|
270
|
-
ideaFolders.push(...ideas);
|
|
271
|
-
}
|
|
272
|
-
catch (error) {
|
|
273
|
-
(0, cli_1.printVerbose)(`Error searching ${searchDir}: ${error}`);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
return ideaFolders;
|
|
278
|
-
}
|
|
279
|
-
async findIdeaFoldersRecursively(dir, maxDepth) {
|
|
280
|
-
if (maxDepth <= 0)
|
|
281
|
-
return [];
|
|
282
|
-
const ideaFolders = [];
|
|
283
|
-
try {
|
|
284
|
-
const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
|
|
285
|
-
for (const entry of entries) {
|
|
286
|
-
if (entry.isDirectory()) {
|
|
287
|
-
const fullPath = path.join(dir, entry.name);
|
|
288
|
-
if (entry.name === ".idea") {
|
|
289
|
-
// Found a .idea folder
|
|
290
|
-
ideaFolders.push(fullPath);
|
|
291
|
-
}
|
|
292
|
-
else if (!entry.name.startsWith(".") &&
|
|
293
|
-
entry.name !== "node_modules") {
|
|
294
|
-
// Recursively search subdirectories
|
|
295
|
-
const subIdeas = await this.findIdeaFoldersRecursively(fullPath, maxDepth - 1);
|
|
296
|
-
ideaFolders.push(...subIdeas);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
catch {
|
|
302
|
-
// Ignore permission errors
|
|
303
|
-
}
|
|
304
|
-
return ideaFolders;
|
|
305
|
-
}
|
|
306
|
-
async isAvailable() {
|
|
307
|
-
// Check for JetBrains installations
|
|
308
|
-
const installations = await this.findJetBrainsInstallations();
|
|
309
|
-
if (installations.length > 0) {
|
|
310
|
-
(0, cli_1.printVerbose)(`Found JetBrains products: ${installations.map((i) => i.product).join(", ")}`);
|
|
311
|
-
return true;
|
|
312
|
-
}
|
|
313
|
-
// Check for JetBrains cache directories
|
|
314
|
-
const homeDir = os.homedir();
|
|
315
|
-
const platform = os.platform();
|
|
316
|
-
const possibleCacheDirs = [];
|
|
317
|
-
if (platform === "darwin") {
|
|
318
|
-
possibleCacheDirs.push(path.join(homeDir, "Library", "Caches", "JetBrains"), path.join(homeDir, "Library", "Application Support", "JetBrains"));
|
|
319
|
-
}
|
|
320
|
-
else if (platform === "win32") {
|
|
321
|
-
possibleCacheDirs.push(path.join(homeDir, "AppData", "Local", "JetBrains"), path.join(homeDir, "AppData", "Roaming", "JetBrains"));
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
possibleCacheDirs.push(path.join(homeDir, ".cache", "JetBrains"), path.join(homeDir, ".config", "JetBrains"));
|
|
325
|
-
}
|
|
326
|
-
for (const cacheDir of possibleCacheDirs) {
|
|
327
|
-
if (await (0, fs_2.pathExists)(cacheDir)) {
|
|
328
|
-
(0, cli_1.printVerbose)(`Found JetBrains cache directory at ${cacheDir}`);
|
|
329
|
-
return true;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
// Check for .idea folders
|
|
333
|
-
const ideaFolders = await this.findIdeaFolders();
|
|
334
|
-
if (ideaFolders.length > 0) {
|
|
335
|
-
(0, cli_1.printVerbose)(`Found ${ideaFolders.length} .idea folders`);
|
|
336
|
-
return true;
|
|
337
|
-
}
|
|
338
|
-
return false;
|
|
339
|
-
}
|
|
340
|
-
async getCacheInfo() {
|
|
341
|
-
const isInstalled = await this.isAvailable();
|
|
342
|
-
if (!isInstalled) {
|
|
343
|
-
return {
|
|
344
|
-
name: this.name,
|
|
345
|
-
type: this.type,
|
|
346
|
-
description: this.description,
|
|
347
|
-
paths: [],
|
|
348
|
-
isInstalled: false,
|
|
349
|
-
size: 0,
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
const cachePaths = await this.getJetBrainsCachePaths();
|
|
353
|
-
let totalSize = 0;
|
|
354
|
-
const validPaths = [];
|
|
355
|
-
for (const cachePath of cachePaths) {
|
|
356
|
-
try {
|
|
357
|
-
const size = await (0, fs_2.getDirectorySize)(cachePath, true); // Use estimated size for large dirs
|
|
358
|
-
totalSize += size;
|
|
359
|
-
validPaths.push(cachePath);
|
|
360
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
|
|
361
|
-
}
|
|
362
|
-
catch (error) {
|
|
363
|
-
(0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
return {
|
|
367
|
-
name: this.name,
|
|
368
|
-
type: this.type,
|
|
369
|
-
description: this.description,
|
|
370
|
-
paths: validPaths,
|
|
371
|
-
isInstalled: true,
|
|
372
|
-
size: totalSize,
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
|
|
376
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
377
|
-
if (!info.isInstalled) {
|
|
378
|
-
return {
|
|
379
|
-
name: this.name,
|
|
380
|
-
success: false,
|
|
381
|
-
error: "JetBrains IDEs are not available",
|
|
382
|
-
clearedPaths: [],
|
|
383
|
-
sizeBefore: 0,
|
|
384
|
-
sizeAfter: 0,
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
|
-
const sizeBefore = info.size || 0;
|
|
388
|
-
const clearedPaths = [];
|
|
389
|
-
let errors = [];
|
|
390
|
-
for (const cachePath of info.paths) {
|
|
391
|
-
// Check if the path is protected
|
|
392
|
-
const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
|
|
393
|
-
if (isProtected) {
|
|
394
|
-
(0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
|
|
395
|
-
continue; // Skip this path
|
|
396
|
-
}
|
|
397
|
-
try {
|
|
398
|
-
if (dryRun) {
|
|
399
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
|
|
400
|
-
clearedPaths.push(cachePath);
|
|
401
|
-
}
|
|
402
|
-
else {
|
|
403
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
|
|
404
|
-
// Be careful with .idea folders - only clear cache subdirectories
|
|
405
|
-
if (cachePath.endsWith(".idea")) {
|
|
406
|
-
// Only clear specific cache subdirectories in .idea folders
|
|
407
|
-
const cacheSubdirs = ["shelf", "sonarlint", "httpRequests", ".tmp"];
|
|
408
|
-
for (const subdir of cacheSubdirs) {
|
|
409
|
-
const subdirPath = path.join(cachePath, subdir);
|
|
410
|
-
if (await (0, fs_2.pathExists)(subdirPath)) {
|
|
411
|
-
await (0, fs_2.safeRmrf)(subdirPath);
|
|
412
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Cleared .idea subdirectory: ${subdir}`);
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
// For other cache directories, clear everything
|
|
418
|
-
await (0, fs_2.safeRmrf)(cachePath);
|
|
419
|
-
}
|
|
420
|
-
clearedPaths.push(cachePath);
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
catch (error) {
|
|
424
|
-
const errorMsg = `Failed to clear ${cachePath}: ${error}`;
|
|
425
|
-
errors.push(errorMsg);
|
|
426
|
-
(0, cli_1.printVerbose)(errorMsg);
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
return {
|
|
430
|
-
name: this.name,
|
|
431
|
-
success: errors.length === 0,
|
|
432
|
-
sizeBefore,
|
|
433
|
-
sizeAfter: 0, // Set to 0 as we don't want to rescan
|
|
434
|
-
error: errors.length > 0 ? errors.join("; ") : undefined,
|
|
435
|
-
clearedPaths,
|
|
436
|
-
};
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
exports.JetBrainsCleaner = JetBrainsCleaner;
|
|
440
|
-
exports.default = new JetBrainsCleaner();
|
|
441
|
-
//# sourceMappingURL=jetbrains.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jetbrains.js","sourceRoot":"","sources":["../../src/cleaners/jetbrains.ts"],"names":[],"mappings":"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"}
|
package/dist/cleaners/maven.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { CacheInfo, CacheSelectionCriteria, ClearResult, CleanerModule } from "../types";
|
|
2
|
-
declare class MavenCleaner implements CleanerModule {
|
|
3
|
-
name: string;
|
|
4
|
-
type: "build-tool";
|
|
5
|
-
description: string;
|
|
6
|
-
private buildCategories;
|
|
7
|
-
isAvailable(): Promise<boolean>;
|
|
8
|
-
getCacheInfo(): Promise<CacheInfo>;
|
|
9
|
-
private clearCategories;
|
|
10
|
-
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
11
|
-
clearByCategory(categoryIds: string[], dryRun?: boolean, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
12
|
-
}
|
|
13
|
-
declare const _default: MavenCleaner;
|
|
14
|
-
export default _default;
|
|
15
|
-
//# sourceMappingURL=maven.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maven.d.ts","sourceRoot":"","sources":["../../src/cleaners/maven.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACtB,WAAW,EACX,aAAa,EACd,MAAM,UAAU,CAAC;AAKlB,cAAM,YAAa,YAAW,aAAa;IACzC,IAAI,SAAW;IACf,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAA6D;YAE1D,eAAe;IAqCvB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;YAkC1B,eAAe;IAwEvB,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IAgBjB,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;CAgBxB;;AAED,wBAAkC"}
|
package/dist/cleaners/maven.js
DELETED
|
@@ -1,182 +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 path_1 = __importDefault(require("path"));
|
|
7
|
-
const os_1 = __importDefault(require("os"));
|
|
8
|
-
const execa_1 = __importDefault(require("execa"));
|
|
9
|
-
const fs_1 = require("fs");
|
|
10
|
-
const fs_2 = require("../utils/fs");
|
|
11
|
-
const cli_1 = require("../utils/cli");
|
|
12
|
-
const minimatch_1 = require("minimatch");
|
|
13
|
-
class MavenCleaner {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.name = "maven";
|
|
16
|
-
this.type = "build-tool";
|
|
17
|
-
this.description = "Apache Maven local repository and wrapper distributions";
|
|
18
|
-
}
|
|
19
|
-
async buildCategories() {
|
|
20
|
-
const home = os_1.default.homedir();
|
|
21
|
-
const base = path_1.default.join(home, ".m2");
|
|
22
|
-
const candidates = [
|
|
23
|
-
{
|
|
24
|
-
id: "repository",
|
|
25
|
-
name: "Local repository",
|
|
26
|
-
description: "Downloaded Maven artifacts",
|
|
27
|
-
paths: [path_1.default.join(base, "repository")],
|
|
28
|
-
priority: "normal",
|
|
29
|
-
useCase: "development",
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
id: "wrapper",
|
|
33
|
-
name: "Wrapper distributions",
|
|
34
|
-
description: "Maven wrapper downloaded distributions",
|
|
35
|
-
paths: [path_1.default.join(base, "wrapper", "dists")],
|
|
36
|
-
priority: "normal",
|
|
37
|
-
useCase: "development",
|
|
38
|
-
},
|
|
39
|
-
];
|
|
40
|
-
const existing = [];
|
|
41
|
-
for (const category of candidates) {
|
|
42
|
-
const validPaths = [];
|
|
43
|
-
for (const cachePath of category.paths) {
|
|
44
|
-
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
45
|
-
validPaths.push(cachePath);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (validPaths.length > 0) {
|
|
49
|
-
existing.push({ ...category, paths: validPaths });
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return existing;
|
|
53
|
-
}
|
|
54
|
-
async isAvailable() {
|
|
55
|
-
try {
|
|
56
|
-
await (0, execa_1.default)("mvn", ["-v"]);
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async getCacheInfo() {
|
|
64
|
-
const categories = await this.buildCategories();
|
|
65
|
-
let totalSize = 0;
|
|
66
|
-
let lastModified;
|
|
67
|
-
for (const category of categories) {
|
|
68
|
-
let size = 0;
|
|
69
|
-
for (const cachePath of category.paths) {
|
|
70
|
-
size += await (0, fs_2.getDirectorySize)(cachePath, true);
|
|
71
|
-
try {
|
|
72
|
-
const stats = await fs_1.promises.stat(cachePath);
|
|
73
|
-
if (!lastModified || stats.mtime > lastModified) {
|
|
74
|
-
lastModified = stats.mtime;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
// ignore errors
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
category.size = size;
|
|
82
|
-
totalSize += size;
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
name: this.name,
|
|
86
|
-
type: this.type,
|
|
87
|
-
description: this.description,
|
|
88
|
-
paths: categories.flatMap((c) => c.paths),
|
|
89
|
-
isInstalled: await this.isAvailable(),
|
|
90
|
-
size: totalSize,
|
|
91
|
-
lastModified,
|
|
92
|
-
categories,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
async clearCategories(categories, dryRun, protectedPaths, cacheInfo) {
|
|
96
|
-
const pathsToClear = Array.from(new Set(categories.flatMap((c) => c.paths)));
|
|
97
|
-
const sizeBefore = cacheInfo?.size ??
|
|
98
|
-
categories.reduce((sum, cat) => sum + (cat.size ?? 0), 0);
|
|
99
|
-
if (pathsToClear.length === 0) {
|
|
100
|
-
return {
|
|
101
|
-
name: this.name,
|
|
102
|
-
success: true,
|
|
103
|
-
clearedPaths: [],
|
|
104
|
-
sizeBefore: 0,
|
|
105
|
-
sizeAfter: 0,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
if (dryRun) {
|
|
109
|
-
(0, cli_1.printVerbose)(`[DRY RUN] Would clear maven caches: ${pathsToClear.join(", ")}`);
|
|
110
|
-
return {
|
|
111
|
-
name: this.name,
|
|
112
|
-
success: true,
|
|
113
|
-
clearedPaths: pathsToClear,
|
|
114
|
-
clearedCategories: categories.map((c) => c.id),
|
|
115
|
-
sizeBefore,
|
|
116
|
-
sizeAfter: sizeBefore,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
const clearedPaths = [];
|
|
120
|
-
let success = true;
|
|
121
|
-
let error;
|
|
122
|
-
for (const cachePath of pathsToClear) {
|
|
123
|
-
const isProtected = protectedPaths.some((pattern) => (0, minimatch_1.minimatch)(cachePath, pattern, { dot: true }));
|
|
124
|
-
if (isProtected) {
|
|
125
|
-
(0, cli_1.printVerbose)(`Skipping protected path: ${cachePath}`);
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
try {
|
|
129
|
-
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
130
|
-
(0, cli_1.printVerbose)(`Clearing maven cache at ${cachePath}`);
|
|
131
|
-
await (0, fs_2.safeRmrf)(cachePath);
|
|
132
|
-
clearedPaths.push(cachePath);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
success = false;
|
|
137
|
-
error = `Failed to clear ${cachePath}: ${err}`;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return {
|
|
141
|
-
name: this.name,
|
|
142
|
-
success,
|
|
143
|
-
error,
|
|
144
|
-
clearedPaths,
|
|
145
|
-
clearedCategories: categories.map((c) => c.id),
|
|
146
|
-
sizeBefore,
|
|
147
|
-
sizeAfter: success ? 0 : sizeBefore,
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
|
|
151
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
152
|
-
if (!info.isInstalled) {
|
|
153
|
-
return {
|
|
154
|
-
name: this.name,
|
|
155
|
-
success: false,
|
|
156
|
-
error: "maven is not installed",
|
|
157
|
-
clearedPaths: [],
|
|
158
|
-
sizeBefore: 0,
|
|
159
|
-
sizeAfter: 0,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
const categories = info.categories || [];
|
|
163
|
-
return this.clearCategories(categories, dryRun, protectedPaths, info);
|
|
164
|
-
}
|
|
165
|
-
async clearByCategory(categoryIds, dryRun = false, cacheInfo, protectedPaths = []) {
|
|
166
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
167
|
-
if (!info.isInstalled) {
|
|
168
|
-
return {
|
|
169
|
-
name: this.name,
|
|
170
|
-
success: false,
|
|
171
|
-
error: "maven is not installed",
|
|
172
|
-
clearedPaths: [],
|
|
173
|
-
sizeBefore: 0,
|
|
174
|
-
sizeAfter: 0,
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
const categories = info.categories?.filter((c) => categoryIds.includes(c.id)) ?? [];
|
|
178
|
-
return this.clearCategories(categories, dryRun, protectedPaths, info);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
exports.default = new MavenCleaner();
|
|
182
|
-
//# sourceMappingURL=maven.js.map
|