squeaky-clean 0.1.1
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/LICENSE +21 -0
- package/README.md +465 -0
- package/dist/cleaners/BaseCleaner.d.ts +57 -0
- package/dist/cleaners/BaseCleaner.d.ts.map +1 -0
- package/dist/cleaners/BaseCleaner.js +299 -0
- package/dist/cleaners/BaseCleaner.js.map +1 -0
- package/dist/cleaners/CleanerRegistry.d.ts +65 -0
- package/dist/cleaners/CleanerRegistry.d.ts.map +1 -0
- package/dist/cleaners/CleanerRegistry.js +112 -0
- package/dist/cleaners/CleanerRegistry.js.map +1 -0
- package/dist/cleaners/androidstudio.d.ts +16 -0
- package/dist/cleaners/androidstudio.d.ts.map +1 -0
- package/dist/cleaners/androidstudio.js +375 -0
- package/dist/cleaners/androidstudio.js.map +1 -0
- package/dist/cleaners/brew.d.ts +4 -0
- package/dist/cleaners/brew.d.ts.map +1 -0
- package/dist/cleaners/brew.js +197 -0
- package/dist/cleaners/brew.js.map +1 -0
- package/dist/cleaners/brewEnhanced.d.ts +18 -0
- package/dist/cleaners/brewEnhanced.d.ts.map +1 -0
- package/dist/cleaners/brewEnhanced.js +255 -0
- package/dist/cleaners/brewEnhanced.js.map +1 -0
- package/dist/cleaners/bun.d.ts +14 -0
- package/dist/cleaners/bun.d.ts.map +1 -0
- package/dist/cleaners/bun.js +207 -0
- package/dist/cleaners/bun.js.map +1 -0
- package/dist/cleaners/chrome.d.ts +14 -0
- package/dist/cleaners/chrome.d.ts.map +1 -0
- package/dist/cleaners/chrome.js +250 -0
- package/dist/cleaners/chrome.js.map +1 -0
- package/dist/cleaners/docker.d.ts +35 -0
- package/dist/cleaners/docker.d.ts.map +1 -0
- package/dist/cleaners/docker.js +285 -0
- package/dist/cleaners/docker.js.map +1 -0
- package/dist/cleaners/firefox.d.ts +15 -0
- package/dist/cleaners/firefox.d.ts.map +1 -0
- package/dist/cleaners/firefox.js +281 -0
- package/dist/cleaners/firefox.js.map +1 -0
- package/dist/cleaners/flutter.d.ts +18 -0
- package/dist/cleaners/flutter.d.ts.map +1 -0
- package/dist/cleaners/flutter.js +354 -0
- package/dist/cleaners/flutter.js.map +1 -0
- package/dist/cleaners/goBuild.d.ts +18 -0
- package/dist/cleaners/goBuild.d.ts.map +1 -0
- package/dist/cleaners/goBuild.js +196 -0
- package/dist/cleaners/goBuild.js.map +1 -0
- package/dist/cleaners/gradle.d.ts +14 -0
- package/dist/cleaners/gradle.d.ts.map +1 -0
- package/dist/cleaners/gradle.js +336 -0
- package/dist/cleaners/gradle.js.map +1 -0
- package/dist/cleaners/index.d.ts +51 -0
- package/dist/cleaners/index.d.ts.map +1 -0
- package/dist/cleaners/index.js +247 -0
- package/dist/cleaners/index.js.map +1 -0
- package/dist/cleaners/jetbrains.d.ts +18 -0
- package/dist/cleaners/jetbrains.d.ts.map +1 -0
- package/dist/cleaners/jetbrains.js +441 -0
- package/dist/cleaners/jetbrains.js.map +1 -0
- package/dist/cleaners/nix.d.ts +4 -0
- package/dist/cleaners/nix.d.ts.map +1 -0
- package/dist/cleaners/nix.js +227 -0
- package/dist/cleaners/nix.js.map +1 -0
- package/dist/cleaners/nodeGyp.d.ts +14 -0
- package/dist/cleaners/nodeGyp.d.ts.map +1 -0
- package/dist/cleaners/nodeGyp.js +157 -0
- package/dist/cleaners/nodeGyp.js.map +1 -0
- package/dist/cleaners/npm.d.ts +14 -0
- package/dist/cleaners/npm.d.ts.map +1 -0
- package/dist/cleaners/npm.js +198 -0
- package/dist/cleaners/npm.js.map +1 -0
- package/dist/cleaners/npmEnhanced.d.ts +19 -0
- package/dist/cleaners/npmEnhanced.d.ts.map +1 -0
- package/dist/cleaners/npmEnhanced.js +336 -0
- package/dist/cleaners/npmEnhanced.js.map +1 -0
- package/dist/cleaners/nx.d.ts +18 -0
- package/dist/cleaners/nx.d.ts.map +1 -0
- package/dist/cleaners/nx.js +308 -0
- package/dist/cleaners/nx.js.map +1 -0
- package/dist/cleaners/pip.d.ts +19 -0
- package/dist/cleaners/pip.d.ts.map +1 -0
- package/dist/cleaners/pip.js +334 -0
- package/dist/cleaners/pip.js.map +1 -0
- package/dist/cleaners/pnpm.d.ts +14 -0
- package/dist/cleaners/pnpm.d.ts.map +1 -0
- package/dist/cleaners/pnpm.js +209 -0
- package/dist/cleaners/pnpm.js.map +1 -0
- package/dist/cleaners/turbo.d.ts +18 -0
- package/dist/cleaners/turbo.d.ts.map +1 -0
- package/dist/cleaners/turbo.js +325 -0
- package/dist/cleaners/turbo.js.map +1 -0
- package/dist/cleaners/vite.d.ts +17 -0
- package/dist/cleaners/vite.d.ts.map +1 -0
- package/dist/cleaners/vite.js +274 -0
- package/dist/cleaners/vite.js.map +1 -0
- package/dist/cleaners/vscode.d.ts +14 -0
- package/dist/cleaners/vscode.d.ts.map +1 -0
- package/dist/cleaners/vscode.js +354 -0
- package/dist/cleaners/vscode.js.map +1 -0
- package/dist/cleaners/webpack.d.ts +17 -0
- package/dist/cleaners/webpack.d.ts.map +1 -0
- package/dist/cleaners/webpack.js +263 -0
- package/dist/cleaners/webpack.js.map +1 -0
- package/dist/cleaners/xcode.d.ts +14 -0
- package/dist/cleaners/xcode.d.ts.map +1 -0
- package/dist/cleaners/xcode.js +348 -0
- package/dist/cleaners/xcode.js.map +1 -0
- package/dist/cleaners/yarn.d.ts +16 -0
- package/dist/cleaners/yarn.d.ts.map +1 -0
- package/dist/cleaners/yarn.js +266 -0
- package/dist/cleaners/yarn.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +346 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/auto.d.ts +8 -0
- package/dist/commands/auto.d.ts.map +1 -0
- package/dist/commands/auto.js +224 -0
- package/dist/commands/auto.js.map +1 -0
- package/dist/commands/categories.d.ts +8 -0
- package/dist/commands/categories.d.ts.map +1 -0
- package/dist/commands/categories.js +133 -0
- package/dist/commands/categories.js.map +1 -0
- package/dist/commands/clean.d.ts +3 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +149 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/config.d.ts +14 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +445 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/configDoctor.d.ts +26 -0
- package/dist/commands/configDoctor.d.ts.map +1 -0
- package/dist/commands/configDoctor.js +60 -0
- package/dist/commands/configDoctor.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +141 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/emojis.d.ts +2 -0
- package/dist/commands/emojis.d.ts.map +1 -0
- package/dist/commands/emojis.js +28 -0
- package/dist/commands/emojis.js.map +1 -0
- package/dist/commands/interactive.d.ts +3 -0
- package/dist/commands/interactive.d.ts.map +1 -0
- package/dist/commands/interactive.js +284 -0
- package/dist/commands/interactive.js.map +1 -0
- package/dist/commands/interactiveEnhanced.d.ts +4 -0
- package/dist/commands/interactiveEnhanced.d.ts.map +1 -0
- package/dist/commands/interactiveEnhanced.js +460 -0
- package/dist/commands/interactiveEnhanced.js.map +1 -0
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +68 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/sizes.d.ts +2 -0
- package/dist/commands/sizes.d.ts.map +1 -0
- package/dist/commands/sizes.js +87 -0
- package/dist/commands/sizes.js.map +1 -0
- package/dist/config/index.d.ts +26 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +228 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loadConfig.d.ts +7 -0
- package/dist/config/loadConfig.d.ts.map +1 -0
- package/dist/config/loadConfig.js +103 -0
- package/dist/config/loadConfig.js.map +1 -0
- package/dist/config/migrateConfig.d.ts +56 -0
- package/dist/config/migrateConfig.d.ts.map +1 -0
- package/dist/config/migrateConfig.js +102 -0
- package/dist/config/migrateConfig.js.map +1 -0
- package/dist/plugins/discovery.d.ts +6 -0
- package/dist/plugins/discovery.d.ts.map +1 -0
- package/dist/plugins/discovery.js +64 -0
- package/dist/plugins/discovery.js.map +1 -0
- package/dist/profiles/index.d.ts +61 -0
- package/dist/profiles/index.d.ts.map +1 -0
- package/dist/profiles/index.js +361 -0
- package/dist/profiles/index.js.map +1 -0
- package/dist/types/index.d.ts +161 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/cli.d.ts +44 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/cli.js +407 -0
- package/dist/utils/cli.js.map +1 -0
- package/dist/utils/fs.d.ts +15 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +218 -0
- package/dist/utils/fs.js.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CacheInfo, ClearResult, CacheCategory, CacheSelectionCriteria } from "../types";
|
|
2
|
+
import { BaseCleaner } from "./BaseCleaner";
|
|
3
|
+
export declare class NpmEnhancedCleaner extends BaseCleaner {
|
|
4
|
+
name: string;
|
|
5
|
+
type: "package-manager";
|
|
6
|
+
description: string;
|
|
7
|
+
private getCachePaths;
|
|
8
|
+
isAvailable(): Promise<boolean>;
|
|
9
|
+
getCacheCategories(): Promise<CacheCategory[]>;
|
|
10
|
+
private getNpmCacheSubCategories;
|
|
11
|
+
private getBuildToolCaches;
|
|
12
|
+
getCacheInfo(): Promise<CacheInfo>;
|
|
13
|
+
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
14
|
+
clearByCategory(categoryIds: string[], dryRun?: boolean, cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
15
|
+
static create(): NpmEnhancedCleaner;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: NpmEnhancedCleaner;
|
|
18
|
+
export default _default;
|
|
19
|
+
//# sourceMappingURL=npmEnhanced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npmEnhanced.d.ts","sourceRoot":"","sources":["../../src/cleaners/npmEnhanced.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,IAAI,SAAS;IACb,IAAI,EAAG,iBAAiB,CAAU;IAClC,WAAW,SAAqD;IAEhE,OAAO,CAAC,aAAa;IAoCf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAU/B,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAsDtC,wBAAwB;YAwExB,kBAAkB;IAsF1B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAoClC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IAyDjB,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,SAAS,EACrB,cAAc,GAAE,MAAM,EAAO,GAC5B,OAAO,CAAC,WAAW,CAAC;IASvB,MAAM,CAAC,MAAM,IAAI,kBAAkB;CAGpC;;AAGD,wBAA2C"}
|
|
@@ -0,0 +1,336 @@
|
|
|
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.NpmEnhancedCleaner = 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 BaseCleaner_1 = require("./BaseCleaner");
|
|
14
|
+
const fs_3 = require("fs");
|
|
15
|
+
const minimatch_1 = require("minimatch");
|
|
16
|
+
class NpmEnhancedCleaner extends BaseCleaner_1.BaseCleaner {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.name = "npm";
|
|
20
|
+
this.type = "package-manager";
|
|
21
|
+
this.description = "NPM package manager cache with granular control";
|
|
22
|
+
}
|
|
23
|
+
getCachePaths() {
|
|
24
|
+
const paths = [];
|
|
25
|
+
const homeDir = os_1.default.homedir();
|
|
26
|
+
// Primary npm cache location
|
|
27
|
+
paths.push(path_1.default.join(homeDir, ".npm"));
|
|
28
|
+
// Alternative cache locations on different platforms
|
|
29
|
+
if (process.platform === "win32") {
|
|
30
|
+
const appData = process.env.APPDATA || path_1.default.join(homeDir, "AppData", "Roaming");
|
|
31
|
+
paths.push(path_1.default.join(appData, "npm-cache"));
|
|
32
|
+
}
|
|
33
|
+
else if (process.platform === "darwin") {
|
|
34
|
+
paths.push(path_1.default.join(homeDir, "Library", "Caches", "npm"));
|
|
35
|
+
}
|
|
36
|
+
// Node modules cache directories (common locations)
|
|
37
|
+
const commonCachePaths = ["node_modules/.cache", ".npm-cache", "npm-cache"];
|
|
38
|
+
// Check current working directory and parent directories
|
|
39
|
+
let currentDir = process.cwd();
|
|
40
|
+
const rootDir = path_1.default.parse(currentDir).root;
|
|
41
|
+
let depth = 0;
|
|
42
|
+
const maxDepth = 5;
|
|
43
|
+
while (currentDir !== rootDir && depth < maxDepth) {
|
|
44
|
+
for (const cachePath of commonCachePaths) {
|
|
45
|
+
paths.push(path_1.default.join(currentDir, cachePath));
|
|
46
|
+
}
|
|
47
|
+
currentDir = path_1.default.dirname(currentDir);
|
|
48
|
+
depth++;
|
|
49
|
+
}
|
|
50
|
+
return paths;
|
|
51
|
+
}
|
|
52
|
+
async isAvailable() {
|
|
53
|
+
try {
|
|
54
|
+
(0, cli_1.printVerbose)("Checking if npm is installed...");
|
|
55
|
+
await (0, execa_1.default)("npm", ["--version"]);
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async getCacheCategories() {
|
|
63
|
+
const categories = [];
|
|
64
|
+
const allPaths = this.getCachePaths();
|
|
65
|
+
for (const cachePath of allPaths) {
|
|
66
|
+
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
67
|
+
const stat = (0, fs_3.statSync)(cachePath);
|
|
68
|
+
const ageInDays = Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24));
|
|
69
|
+
// Main npm cache
|
|
70
|
+
if (cachePath.includes(".npm")) {
|
|
71
|
+
// Try to categorize by package types within npm cache
|
|
72
|
+
const subCategories = await this.getNpmCacheSubCategories(cachePath);
|
|
73
|
+
categories.push(...subCategories);
|
|
74
|
+
}
|
|
75
|
+
// Project-specific caches
|
|
76
|
+
else if (cachePath.includes("node_modules/.cache")) {
|
|
77
|
+
const projectPath = cachePath.replace("/node_modules/.cache", "");
|
|
78
|
+
const projectName = path_1.default.basename(projectPath);
|
|
79
|
+
// Check for specific build tool caches
|
|
80
|
+
const buildToolCaches = await this.getBuildToolCaches(cachePath, projectName);
|
|
81
|
+
categories.push(...buildToolCaches);
|
|
82
|
+
}
|
|
83
|
+
// General npm cache
|
|
84
|
+
else {
|
|
85
|
+
categories.push({
|
|
86
|
+
id: `npm-general-${path_1.default.basename(cachePath)}`,
|
|
87
|
+
name: `General NPM Cache (${path_1.default.basename(cachePath)})`,
|
|
88
|
+
description: `General npm cache at ${cachePath}`,
|
|
89
|
+
paths: [cachePath],
|
|
90
|
+
size: await this.getDirectorySize(cachePath),
|
|
91
|
+
lastModified: stat.mtime,
|
|
92
|
+
lastAccessed: stat.atime,
|
|
93
|
+
priority: this.getCachePriority(cachePath),
|
|
94
|
+
useCase: this.detectUseCase(cachePath),
|
|
95
|
+
isProjectSpecific: this.isProjectSpecific(cachePath),
|
|
96
|
+
projectPath: this.isProjectSpecific(cachePath)
|
|
97
|
+
? path_1.default.dirname(cachePath)
|
|
98
|
+
: undefined,
|
|
99
|
+
ageInDays,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return categories;
|
|
105
|
+
}
|
|
106
|
+
async getNpmCacheSubCategories(npmCachePath) {
|
|
107
|
+
const categories = [];
|
|
108
|
+
try {
|
|
109
|
+
// Check for _cacache (npm's content-addressable cache)
|
|
110
|
+
const cacachePath = path_1.default.join(npmCachePath, "_cacache");
|
|
111
|
+
if ((0, fs_3.existsSync)(cacachePath)) {
|
|
112
|
+
const stat = (0, fs_3.statSync)(cacachePath);
|
|
113
|
+
categories.push({
|
|
114
|
+
id: "npm-cacache",
|
|
115
|
+
name: "NPM Package Cache",
|
|
116
|
+
description: "Cached npm packages (can be safely cleared)",
|
|
117
|
+
paths: [cacachePath],
|
|
118
|
+
size: await this.getDirectorySize(cacachePath),
|
|
119
|
+
lastModified: stat.mtime,
|
|
120
|
+
lastAccessed: stat.atime,
|
|
121
|
+
priority: "low",
|
|
122
|
+
useCase: "development",
|
|
123
|
+
ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// Check for _logs
|
|
127
|
+
const logsPath = path_1.default.join(npmCachePath, "_logs");
|
|
128
|
+
if ((0, fs_3.existsSync)(logsPath)) {
|
|
129
|
+
const stat = (0, fs_3.statSync)(logsPath);
|
|
130
|
+
categories.push({
|
|
131
|
+
id: "npm-logs",
|
|
132
|
+
name: "NPM Debug Logs",
|
|
133
|
+
description: "NPM debug and error logs",
|
|
134
|
+
paths: [logsPath],
|
|
135
|
+
size: await this.getDirectorySize(logsPath),
|
|
136
|
+
lastModified: stat.mtime,
|
|
137
|
+
lastAccessed: stat.atime,
|
|
138
|
+
priority: "low",
|
|
139
|
+
useCase: "development",
|
|
140
|
+
ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
// Check for anonymous-cli-metrics
|
|
144
|
+
const metricsPath = path_1.default.join(npmCachePath, "anonymous-cli-metrics.json");
|
|
145
|
+
if ((0, fs_3.existsSync)(metricsPath)) {
|
|
146
|
+
const stat = (0, fs_3.statSync)(metricsPath);
|
|
147
|
+
categories.push({
|
|
148
|
+
id: "npm-metrics",
|
|
149
|
+
name: "NPM Metrics",
|
|
150
|
+
description: "Anonymous CLI usage metrics",
|
|
151
|
+
paths: [metricsPath],
|
|
152
|
+
size: stat.size,
|
|
153
|
+
lastModified: stat.mtime,
|
|
154
|
+
lastAccessed: stat.atime,
|
|
155
|
+
priority: "low",
|
|
156
|
+
useCase: "development",
|
|
157
|
+
ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
(0, cli_1.printVerbose)(`Error analyzing npm cache subcategories: ${error}`);
|
|
163
|
+
}
|
|
164
|
+
return categories;
|
|
165
|
+
}
|
|
166
|
+
async getBuildToolCaches(cachePath, projectName) {
|
|
167
|
+
const categories = [];
|
|
168
|
+
try {
|
|
169
|
+
const entries = await fs_1.promises.readdir(cachePath);
|
|
170
|
+
for (const entry of entries) {
|
|
171
|
+
const fullPath = path_1.default.join(cachePath, entry);
|
|
172
|
+
const stat = (0, fs_3.statSync)(fullPath);
|
|
173
|
+
let categoryName = "";
|
|
174
|
+
let description = "";
|
|
175
|
+
let priority = "normal";
|
|
176
|
+
let useCase = "development";
|
|
177
|
+
// Identify specific build tool caches
|
|
178
|
+
if (entry.includes("webpack")) {
|
|
179
|
+
categoryName = "Webpack Build Cache";
|
|
180
|
+
description = "Webpack module build cache";
|
|
181
|
+
priority = this.isRecentlyUsed(fullPath, 3) ? "important" : "normal";
|
|
182
|
+
}
|
|
183
|
+
else if (entry.includes("babel")) {
|
|
184
|
+
categoryName = "Babel Transform Cache";
|
|
185
|
+
description = "Babel transpilation cache";
|
|
186
|
+
priority = "normal";
|
|
187
|
+
}
|
|
188
|
+
else if (entry.includes("eslint")) {
|
|
189
|
+
categoryName = "ESLint Cache";
|
|
190
|
+
description = "ESLint analysis cache";
|
|
191
|
+
priority = "low";
|
|
192
|
+
}
|
|
193
|
+
else if (entry.includes("jest")) {
|
|
194
|
+
categoryName = "Jest Test Cache";
|
|
195
|
+
description = "Jest test runner cache";
|
|
196
|
+
useCase = "testing";
|
|
197
|
+
priority = "normal";
|
|
198
|
+
}
|
|
199
|
+
else if (entry.includes("terser")) {
|
|
200
|
+
categoryName = "Terser Minification Cache";
|
|
201
|
+
description = "JavaScript minification cache";
|
|
202
|
+
priority = "low";
|
|
203
|
+
}
|
|
204
|
+
else if (entry.includes("next")) {
|
|
205
|
+
categoryName = "Next.js Build Cache";
|
|
206
|
+
description = "Next.js compilation and optimization cache";
|
|
207
|
+
priority = this.isRecentlyUsed(fullPath, 1)
|
|
208
|
+
? "critical"
|
|
209
|
+
: "important";
|
|
210
|
+
}
|
|
211
|
+
else if (entry.includes("vite")) {
|
|
212
|
+
categoryName = "Vite Build Cache";
|
|
213
|
+
description = "Vite dev server and build cache";
|
|
214
|
+
priority = this.isRecentlyUsed(fullPath, 1)
|
|
215
|
+
? "critical"
|
|
216
|
+
: "important";
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
categoryName = `${entry} Cache`;
|
|
220
|
+
description = `Cache for ${entry}`;
|
|
221
|
+
}
|
|
222
|
+
categories.push({
|
|
223
|
+
id: `npm-${projectName}-${entry}`,
|
|
224
|
+
name: `${projectName}: ${categoryName}`,
|
|
225
|
+
description: `${description} for project ${projectName}`,
|
|
226
|
+
paths: [fullPath],
|
|
227
|
+
size: await this.getDirectorySize(fullPath),
|
|
228
|
+
lastModified: stat.mtime,
|
|
229
|
+
lastAccessed: stat.atime,
|
|
230
|
+
priority,
|
|
231
|
+
useCase,
|
|
232
|
+
isProjectSpecific: true,
|
|
233
|
+
projectPath: cachePath.replace("/node_modules/.cache", ""),
|
|
234
|
+
ageInDays: Math.floor((Date.now() - stat.mtime.getTime()) / (1000 * 60 * 60 * 24)),
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
(0, cli_1.printVerbose)(`Error analyzing build tool caches: ${error}`);
|
|
240
|
+
}
|
|
241
|
+
return categories;
|
|
242
|
+
}
|
|
243
|
+
async getCacheInfo() {
|
|
244
|
+
const categories = await this.getCacheCategories();
|
|
245
|
+
const allPaths = [...new Set(categories.flatMap((c) => c.paths))];
|
|
246
|
+
let totalSize = 0;
|
|
247
|
+
let oldestCache;
|
|
248
|
+
let newestCache;
|
|
249
|
+
for (const category of categories) {
|
|
250
|
+
totalSize += category.size || 0;
|
|
251
|
+
if (category.lastModified) {
|
|
252
|
+
if (!oldestCache || category.lastModified < oldestCache) {
|
|
253
|
+
oldestCache = category.lastModified;
|
|
254
|
+
}
|
|
255
|
+
if (!newestCache || category.lastModified > newestCache) {
|
|
256
|
+
newestCache = category.lastModified;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
name: this.name,
|
|
262
|
+
type: this.type,
|
|
263
|
+
description: this.description,
|
|
264
|
+
paths: allPaths,
|
|
265
|
+
isInstalled: await this.isAvailable(),
|
|
266
|
+
size: totalSize,
|
|
267
|
+
totalSize,
|
|
268
|
+
categories,
|
|
269
|
+
oldestCache,
|
|
270
|
+
newestCache,
|
|
271
|
+
lastModified: newestCache,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
async clear(dryRun = false, _criteria, cacheInfo, protectedPaths = []) {
|
|
275
|
+
const info = cacheInfo || (await this.getCacheInfo());
|
|
276
|
+
const categories = info.categories || [];
|
|
277
|
+
const filteredCategories = this.filterCategories(categories, _criteria);
|
|
278
|
+
let totalSizeBefore = 0;
|
|
279
|
+
let totalSizeAfter = 0;
|
|
280
|
+
const clearedPaths = [];
|
|
281
|
+
const clearedCategoryIds = [];
|
|
282
|
+
for (const category of filteredCategories) {
|
|
283
|
+
totalSizeBefore += category.size || 0;
|
|
284
|
+
// Filter paths within the category based on protectedPaths
|
|
285
|
+
const pathsToClearInCategory = category.paths.filter((cachePath) => {
|
|
286
|
+
const isProtected = protectedPaths.some((protectedPattern) => (0, minimatch_1.minimatch)(cachePath, protectedPattern, { dot: true }));
|
|
287
|
+
if (isProtected) {
|
|
288
|
+
(0, cli_1.printVerbose)(`Skipping protected path in category ${category.name}: ${cachePath}`);
|
|
289
|
+
}
|
|
290
|
+
return !isProtected;
|
|
291
|
+
});
|
|
292
|
+
if (dryRun) {
|
|
293
|
+
(0, cli_1.printVerbose)(`[DRY RUN] Would clear ${category.name}: ${pathsToClearInCategory.join(", ")}`);
|
|
294
|
+
totalSizeAfter += category.size || 0; // No change in dry run
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
try {
|
|
298
|
+
for (const path of pathsToClearInCategory) {
|
|
299
|
+
// Iterate over filtered paths
|
|
300
|
+
await this.clearPath(path);
|
|
301
|
+
clearedPaths.push(path);
|
|
302
|
+
}
|
|
303
|
+
clearedCategoryIds.push(category.id);
|
|
304
|
+
(0, cli_1.printVerbose)(`Cleared ${category.name}`);
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
(0, cli_1.printVerbose)(`Failed to clear ${category.name}: ${error}`);
|
|
308
|
+
totalSizeAfter += category.size || 0; // Add back size if failed
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
return {
|
|
313
|
+
name: this.name,
|
|
314
|
+
success: true,
|
|
315
|
+
sizeBefore: totalSizeBefore,
|
|
316
|
+
sizeAfter: dryRun ? totalSizeBefore : totalSizeAfter,
|
|
317
|
+
clearedPaths,
|
|
318
|
+
clearedCategories: clearedCategoryIds,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
async clearByCategory(categoryIds, dryRun = false, cacheInfo, protectedPaths = []) {
|
|
322
|
+
// Use the existing clear method, but filter by categoryIds
|
|
323
|
+
const criteria = {
|
|
324
|
+
categories: categoryIds,
|
|
325
|
+
};
|
|
326
|
+
return this.clear(dryRun, criteria, cacheInfo, protectedPaths);
|
|
327
|
+
}
|
|
328
|
+
// Static method to create instance
|
|
329
|
+
static create() {
|
|
330
|
+
return new NpmEnhancedCleaner();
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
exports.NpmEnhancedCleaner = NpmEnhancedCleaner;
|
|
334
|
+
// Export default instance
|
|
335
|
+
exports.default = NpmEnhancedCleaner.create();
|
|
336
|
+
//# sourceMappingURL=npmEnhanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npmEnhanced.js","sourceRoot":"","sources":["../../src/cleaners/npmEnhanced.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
|
|
2
|
+
export declare class NxCleaner implements CleanerModule {
|
|
3
|
+
name: string;
|
|
4
|
+
type: "build-tool";
|
|
5
|
+
description: string;
|
|
6
|
+
private getNxVersion;
|
|
7
|
+
private findNxCaches;
|
|
8
|
+
private findNxCachesRecursively;
|
|
9
|
+
private hasNxWorkspaces;
|
|
10
|
+
private searchForNxWorkspaces;
|
|
11
|
+
private isNxProject;
|
|
12
|
+
isAvailable(): Promise<boolean>;
|
|
13
|
+
getCacheInfo(): Promise<CacheInfo>;
|
|
14
|
+
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo): Promise<ClearResult>;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: NxCleaner;
|
|
17
|
+
export default _default;
|
|
18
|
+
//# sourceMappingURL=nx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nx.d.ts","sourceRoot":"","sources":["../../src/cleaners/nx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAQlB,qBAAa,SAAU,YAAW,aAAa;IAC7C,IAAI,SAAQ;IACZ,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAAmC;YAEhC,YAAY;YAcZ,YAAY;YAsCZ,uBAAuB;YAwDvB,eAAe;YA8Bf,qBAAqB;YAsCrB,WAAW;IAkBnB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA4BlC,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,WAAW,CAAC;CA4DxB;;AAED,wBAA+B"}
|