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
package/dist/cleaners/vscode.js
DELETED
|
@@ -1,354 +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.VSCodeCleaner = void 0;
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const os_1 = __importDefault(require("os"));
|
|
10
|
-
const fs_2 = require("../utils/fs");
|
|
11
|
-
const cli_1 = require("../utils/cli");
|
|
12
|
-
class VSCodeCleaner {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.name = "vscode";
|
|
15
|
-
this.type = "ide";
|
|
16
|
-
this.description = "VS Code extensions cache, workspace storage, logs, and temporary files";
|
|
17
|
-
}
|
|
18
|
-
getCachePaths() {
|
|
19
|
-
const homeDir = os_1.default.homedir();
|
|
20
|
-
const platform = process.platform;
|
|
21
|
-
let vscodeConfigDir;
|
|
22
|
-
let vscodeExtensionsDir;
|
|
23
|
-
if (platform === "darwin") {
|
|
24
|
-
vscodeConfigDir = path_1.default.join(homeDir, "Library", "Application Support", "Code");
|
|
25
|
-
vscodeExtensionsDir = path_1.default.join(homeDir, ".vscode", "extensions");
|
|
26
|
-
}
|
|
27
|
-
else if (platform === "win32") {
|
|
28
|
-
vscodeConfigDir = path_1.default.join(homeDir, "AppData", "Roaming", "Code");
|
|
29
|
-
vscodeExtensionsDir = path_1.default.join(homeDir, ".vscode", "extensions");
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
vscodeConfigDir = path_1.default.join(homeDir, ".config", "Code");
|
|
33
|
-
vscodeExtensionsDir = path_1.default.join(homeDir, ".vscode", "extensions");
|
|
34
|
-
}
|
|
35
|
-
return [
|
|
36
|
-
// Extension host cache and logs
|
|
37
|
-
{
|
|
38
|
-
path: path_1.default.join(vscodeConfigDir, "logs"),
|
|
39
|
-
description: "VS Code application logs",
|
|
40
|
-
category: "Logs",
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
path: path_1.default.join(vscodeConfigDir, "CachedExtensions"),
|
|
44
|
-
description: "Cached extension metadata",
|
|
45
|
-
category: "Extensions",
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
path: path_1.default.join(vscodeConfigDir, "CachedExtensionVSIXs"),
|
|
49
|
-
description: "Cached extension VSIX files",
|
|
50
|
-
category: "Extensions",
|
|
51
|
-
},
|
|
52
|
-
// Workspace storage and state
|
|
53
|
-
{
|
|
54
|
-
path: path_1.default.join(vscodeConfigDir, "User", "workspaceStorage"),
|
|
55
|
-
description: "Workspace-specific cache and state",
|
|
56
|
-
category: "Workspaces",
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
path: path_1.default.join(vscodeConfigDir, "User", "History"),
|
|
60
|
-
description: "File history and timeline cache",
|
|
61
|
-
category: "History",
|
|
62
|
-
},
|
|
63
|
-
// Language server and IntelliSense caches
|
|
64
|
-
{
|
|
65
|
-
path: path_1.default.join(vscodeConfigDir, "User", "globalStorage"),
|
|
66
|
-
description: "Extension global storage (some safe to clear)",
|
|
67
|
-
category: "Storage",
|
|
68
|
-
},
|
|
69
|
-
// Crash dumps and diagnostic data
|
|
70
|
-
{
|
|
71
|
-
path: path_1.default.join(vscodeConfigDir, "CrashDumps"),
|
|
72
|
-
description: "Application crash dumps",
|
|
73
|
-
category: "Diagnostics",
|
|
74
|
-
},
|
|
75
|
-
// Extension-specific caches in extensions folder
|
|
76
|
-
{
|
|
77
|
-
path: path_1.default.join(vscodeExtensionsDir, ".obsolete"),
|
|
78
|
-
description: "Obsolete extension files",
|
|
79
|
-
category: "Extensions",
|
|
80
|
-
},
|
|
81
|
-
// Platform-specific additional locations
|
|
82
|
-
...(platform === "darwin"
|
|
83
|
-
? [
|
|
84
|
-
{
|
|
85
|
-
path: path_1.default.join(homeDir, "Library", "Caches", "com.microsoft.VSCode"),
|
|
86
|
-
description: "macOS VS Code application cache",
|
|
87
|
-
category: "App Cache",
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
path: path_1.default.join(homeDir, "Library", "Logs", "Microsoft VS Code"),
|
|
91
|
-
description: "macOS VS Code system logs",
|
|
92
|
-
category: "Logs",
|
|
93
|
-
},
|
|
94
|
-
]
|
|
95
|
-
: []),
|
|
96
|
-
...(platform === "win32"
|
|
97
|
-
? [
|
|
98
|
-
{
|
|
99
|
-
path: path_1.default.join(homeDir, "AppData", "Local", "Microsoft", "vscode-cpptools"),
|
|
100
|
-
description: "C++ extension cache",
|
|
101
|
-
category: "Language Servers",
|
|
102
|
-
},
|
|
103
|
-
]
|
|
104
|
-
: []),
|
|
105
|
-
// Common language server caches (cross-platform)
|
|
106
|
-
{
|
|
107
|
-
path: path_1.default.join(homeDir, ".vscode-server", "data", "logs"),
|
|
108
|
-
description: "Remote development server logs",
|
|
109
|
-
category: "Remote",
|
|
110
|
-
},
|
|
111
|
-
];
|
|
112
|
-
}
|
|
113
|
-
async isAvailable() {
|
|
114
|
-
try {
|
|
115
|
-
(0, cli_1.printVerbose)("Checking if VS Code is installed...");
|
|
116
|
-
const platform = process.platform;
|
|
117
|
-
const vscodeInstalls = [
|
|
118
|
-
// macOS
|
|
119
|
-
"/Applications/Visual Studio Code.app",
|
|
120
|
-
"/Applications/Visual Studio Code - Insiders.app",
|
|
121
|
-
// Windows
|
|
122
|
-
path_1.default.join(process.env.PROGRAMFILES || "", "Microsoft VS Code", "Code.exe"),
|
|
123
|
-
path_1.default.join(process.env.LOCALAPPDATA || "", "Programs", "Microsoft VS Code", "Code.exe"),
|
|
124
|
-
// Linux
|
|
125
|
-
"/usr/bin/code",
|
|
126
|
-
"/snap/code/current/usr/share/code/code",
|
|
127
|
-
"/usr/share/code/code",
|
|
128
|
-
];
|
|
129
|
-
for (const install of vscodeInstalls) {
|
|
130
|
-
if (await (0, fs_2.pathExists)(install)) {
|
|
131
|
-
(0, cli_1.printVerbose)(`Found VS Code at ${install}`);
|
|
132
|
-
return true;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
// Also check if we have VS Code config directories (indicates usage)
|
|
136
|
-
const homeDir = os_1.default.homedir();
|
|
137
|
-
let configDir;
|
|
138
|
-
if (platform === "darwin") {
|
|
139
|
-
configDir = path_1.default.join(homeDir, "Library", "Application Support", "Code");
|
|
140
|
-
}
|
|
141
|
-
else if (platform === "win32") {
|
|
142
|
-
configDir = path_1.default.join(homeDir, "AppData", "Roaming", "Code");
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
configDir = path_1.default.join(homeDir, ".config", "Code");
|
|
146
|
-
}
|
|
147
|
-
if (await (0, fs_2.pathExists)(configDir)) {
|
|
148
|
-
(0, cli_1.printVerbose)(`Found VS Code config directory at ${configDir}`);
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
catch {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
async getCacheInfo() {
|
|
158
|
-
const allPaths = this.getCachePaths();
|
|
159
|
-
const existingPaths = [];
|
|
160
|
-
let totalSize = 0;
|
|
161
|
-
let lastModified;
|
|
162
|
-
const categories = new Map();
|
|
163
|
-
(0, cli_1.printVerbose)(`Checking ${allPaths.length} VS Code cache locations...`);
|
|
164
|
-
for (const { path: cachePath, description, category } of allPaths) {
|
|
165
|
-
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
166
|
-
existingPaths.push(cachePath);
|
|
167
|
-
try {
|
|
168
|
-
// Use estimation for potentially large directories to avoid timeouts
|
|
169
|
-
const isLargeDirectory = category === "Storage" ||
|
|
170
|
-
category === "Workspaces" ||
|
|
171
|
-
cachePath.includes("extensions");
|
|
172
|
-
const size = isLargeDirectory
|
|
173
|
-
? await (0, fs_2.getEstimatedDirectorySize)(cachePath)
|
|
174
|
-
: await (0, fs_2.getDirectorySize)(cachePath);
|
|
175
|
-
totalSize += size;
|
|
176
|
-
// Track by category
|
|
177
|
-
const existing = categories.get(category) || { size: 0, count: 0 };
|
|
178
|
-
categories.set(category, {
|
|
179
|
-
size: existing.size + size,
|
|
180
|
-
count: existing.count + 1,
|
|
181
|
-
});
|
|
182
|
-
const stats = await fs_1.promises.stat(cachePath);
|
|
183
|
-
if (!lastModified || stats.mtime > lastModified) {
|
|
184
|
-
lastModified = stats.mtime;
|
|
185
|
-
}
|
|
186
|
-
const sizeInMB = (size / (1024 * 1024)).toFixed(1);
|
|
187
|
-
const sizeType = isLargeDirectory ? " estimated" : "";
|
|
188
|
-
(0, cli_1.printVerbose)(`Found ${category}: ${cachePath} (${sizeInMB} MB${sizeType}) - ${description}`);
|
|
189
|
-
}
|
|
190
|
-
catch (error) {
|
|
191
|
-
(0, cli_1.printVerbose)(`Error checking ${cachePath}: ${error}`);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
// Log category summary
|
|
196
|
-
if (categories.size > 0) {
|
|
197
|
-
(0, cli_1.printVerbose)("=== VS Code Cache Summary by Category ===");
|
|
198
|
-
categories.forEach((info, category) => {
|
|
199
|
-
const sizeInMB = (info.size / (1024 * 1024)).toFixed(1);
|
|
200
|
-
(0, cli_1.printVerbose)(`${category}: ${info.count} locations, ${sizeInMB} MB`);
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return {
|
|
204
|
-
name: this.name,
|
|
205
|
-
type: this.type,
|
|
206
|
-
description: this.description,
|
|
207
|
-
paths: existingPaths,
|
|
208
|
-
isInstalled: await this.isAvailable(),
|
|
209
|
-
size: totalSize,
|
|
210
|
-
lastModified,
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
async clear(dryRun = false, _criteria, cacheInfo) {
|
|
214
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
215
|
-
const clearedPaths = [];
|
|
216
|
-
const sizeBefore = info.size || 0;
|
|
217
|
-
let success = true;
|
|
218
|
-
let error;
|
|
219
|
-
if (!info.isInstalled) {
|
|
220
|
-
return {
|
|
221
|
-
name: this.name,
|
|
222
|
-
success: false,
|
|
223
|
-
error: "VS Code is not installed or configured",
|
|
224
|
-
clearedPaths: [],
|
|
225
|
-
sizeBefore: 0,
|
|
226
|
-
sizeAfter: 0,
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
if (info.paths.length === 0) {
|
|
230
|
-
(0, cli_1.printVerbose)("No VS Code cache directories found");
|
|
231
|
-
return {
|
|
232
|
-
name: this.name,
|
|
233
|
-
success: true,
|
|
234
|
-
clearedPaths: [],
|
|
235
|
-
sizeBefore: 0,
|
|
236
|
-
sizeAfter: 0,
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
try {
|
|
240
|
-
if (dryRun) {
|
|
241
|
-
(0, cli_1.printVerbose)(`[DRY RUN] Would clear ${info.paths.length} VS Code cache locations:`);
|
|
242
|
-
const pathsWithInfo = this.getCachePaths();
|
|
243
|
-
for (const cachePath of info.paths) {
|
|
244
|
-
const pathInfo = pathsWithInfo.find((p) => p.path === cachePath);
|
|
245
|
-
(0, cli_1.printVerbose)(` • ${pathInfo?.category || "Unknown"}: ${cachePath}`);
|
|
246
|
-
if (pathInfo?.description) {
|
|
247
|
-
(0, cli_1.printVerbose)(` ${pathInfo.description}`);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return {
|
|
251
|
-
name: this.name,
|
|
252
|
-
success: true,
|
|
253
|
-
sizeBefore,
|
|
254
|
-
sizeAfter: sizeBefore,
|
|
255
|
-
clearedPaths: info.paths,
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
const pathsWithInfo = this.getCachePaths();
|
|
259
|
-
// Clear caches by category priority (safest first)
|
|
260
|
-
const priorityOrder = [
|
|
261
|
-
"Logs",
|
|
262
|
-
"Diagnostics",
|
|
263
|
-
"App Cache",
|
|
264
|
-
"Extensions",
|
|
265
|
-
"History",
|
|
266
|
-
"Language Servers",
|
|
267
|
-
"Remote",
|
|
268
|
-
"Workspaces", // More careful - contains workspace state
|
|
269
|
-
"Storage", // Most careful - contains extension settings
|
|
270
|
-
];
|
|
271
|
-
const categorizedPaths = new Map();
|
|
272
|
-
for (const cachePath of info.paths) {
|
|
273
|
-
const pathInfo = pathsWithInfo.find((p) => p.path === cachePath);
|
|
274
|
-
const category = pathInfo?.category || "Other";
|
|
275
|
-
if (!categorizedPaths.has(category)) {
|
|
276
|
-
categorizedPaths.set(category, []);
|
|
277
|
-
}
|
|
278
|
-
categorizedPaths.get(category).push(cachePath);
|
|
279
|
-
}
|
|
280
|
-
// Clear in priority order
|
|
281
|
-
for (const category of priorityOrder) {
|
|
282
|
-
const paths = categorizedPaths.get(category);
|
|
283
|
-
if (!paths)
|
|
284
|
-
continue;
|
|
285
|
-
(0, cli_1.printVerbose)(`Clearing ${category} caches...`);
|
|
286
|
-
for (const cachePath of paths) {
|
|
287
|
-
try {
|
|
288
|
-
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
289
|
-
const pathInfo = pathsWithInfo.find((p) => p.path === cachePath);
|
|
290
|
-
(0, cli_1.printVerbose)(`Clearing ${category}: ${cachePath}`);
|
|
291
|
-
if (pathInfo?.description) {
|
|
292
|
-
(0, cli_1.printVerbose)(` Purpose: ${pathInfo.description}`);
|
|
293
|
-
}
|
|
294
|
-
await (0, fs_2.safeRmrf)(cachePath);
|
|
295
|
-
clearedPaths.push(cachePath);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
catch (pathError) {
|
|
299
|
-
(0, cli_1.printVerbose)(`Failed to clear ${cachePath}: ${pathError}`);
|
|
300
|
-
success = false;
|
|
301
|
-
if (!error) {
|
|
302
|
-
error = `Failed to clear some VS Code cache directories: ${pathError}`;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
// Handle any remaining uncategorized paths
|
|
308
|
-
const remainingPaths = info.paths.filter((p) => !clearedPaths.includes(p));
|
|
309
|
-
for (const cachePath of remainingPaths) {
|
|
310
|
-
try {
|
|
311
|
-
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
312
|
-
(0, cli_1.printVerbose)(`Clearing remaining cache: ${cachePath}`);
|
|
313
|
-
await (0, fs_2.safeRmrf)(cachePath);
|
|
314
|
-
clearedPaths.push(cachePath);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
catch (pathError) {
|
|
318
|
-
(0, cli_1.printVerbose)(`Failed to clear ${cachePath}: ${pathError}`);
|
|
319
|
-
success = false;
|
|
320
|
-
if (!error) {
|
|
321
|
-
error = `Failed to clear some cache directories: ${pathError}`;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
if (sizeBefore > 0) {
|
|
326
|
-
(0, cli_1.printVerbose)(`Freed space from VS Code cache data`);
|
|
327
|
-
}
|
|
328
|
-
return {
|
|
329
|
-
name: this.name,
|
|
330
|
-
success,
|
|
331
|
-
sizeBefore,
|
|
332
|
-
sizeAfter: 0, // Set to 0 as we don't want to rescan
|
|
333
|
-
error,
|
|
334
|
-
clearedPaths,
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
catch (clearError) {
|
|
338
|
-
return {
|
|
339
|
-
name: this.name,
|
|
340
|
-
success: false,
|
|
341
|
-
sizeBefore,
|
|
342
|
-
sizeAfter: sizeBefore,
|
|
343
|
-
error: clearError instanceof Error ? clearError.message : String(clearError),
|
|
344
|
-
clearedPaths,
|
|
345
|
-
};
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
static create() {
|
|
349
|
-
return new VSCodeCleaner();
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
exports.VSCodeCleaner = VSCodeCleaner;
|
|
353
|
-
exports.default = VSCodeCleaner.create();
|
|
354
|
-
//# sourceMappingURL=vscode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../src/cleaners/vscode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { CleanerModule, CacheInfo, ClearResult, CacheSelectionCriteria } from "../types";
|
|
2
|
-
export declare class WebpackCleaner implements CleanerModule {
|
|
3
|
-
name: string;
|
|
4
|
-
type: "build-tool";
|
|
5
|
-
description: string;
|
|
6
|
-
private findWebpackCaches;
|
|
7
|
-
private findWebpackCachesRecursively;
|
|
8
|
-
private hasWebpackProjects;
|
|
9
|
-
private searchForWebpackProjects;
|
|
10
|
-
private isWebpackProject;
|
|
11
|
-
isAvailable(): Promise<boolean>;
|
|
12
|
-
getCacheInfo(): Promise<CacheInfo>;
|
|
13
|
-
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, cacheInfo?: CacheInfo): Promise<ClearResult>;
|
|
14
|
-
}
|
|
15
|
-
declare const _default: WebpackCleaner;
|
|
16
|
-
export default _default;
|
|
17
|
-
//# sourceMappingURL=webpack.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../src/cleaners/webpack.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,WAAW,EACX,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAOlB,qBAAa,cAAe,YAAW,aAAa;IAClD,IAAI,SAAa;IACjB,IAAI,EAAG,YAAY,CAAU;IAC7B,WAAW,SAA8C;YAE3C,iBAAiB;YA6CjB,4BAA4B;YAgD5B,kBAAkB;YA+BlB,wBAAwB;YA+BxB,gBAAgB;IAkBxB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ/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;CA4CxB;;AAED,wBAAoC"}
|
package/dist/cleaners/webpack.js
DELETED
|
@@ -1,263 +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.WebpackCleaner = void 0;
|
|
37
|
-
const fs_1 = require("fs");
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const os = __importStar(require("os"));
|
|
40
|
-
const fs_2 = require("../utils/fs");
|
|
41
|
-
const cli_1 = require("../utils/cli");
|
|
42
|
-
class WebpackCleaner {
|
|
43
|
-
constructor() {
|
|
44
|
-
this.name = "webpack";
|
|
45
|
-
this.type = "build-tool";
|
|
46
|
-
this.description = "Webpack build caches and temporary files";
|
|
47
|
-
}
|
|
48
|
-
async findWebpackCaches() {
|
|
49
|
-
const caches = [];
|
|
50
|
-
const homeDir = os.homedir();
|
|
51
|
-
// Common project directories to search
|
|
52
|
-
const searchDirs = [
|
|
53
|
-
path.join(homeDir, "Projects"),
|
|
54
|
-
path.join(homeDir, "Development"),
|
|
55
|
-
path.join(homeDir, "dev"),
|
|
56
|
-
path.join(homeDir, "workspace"),
|
|
57
|
-
path.join(homeDir, "Documents"),
|
|
58
|
-
process.cwd(), // Current directory
|
|
59
|
-
];
|
|
60
|
-
// Also check for global webpack caches
|
|
61
|
-
const globalCachePaths = [
|
|
62
|
-
path.join(homeDir, ".webpack"),
|
|
63
|
-
path.join(homeDir, ".cache", "webpack"),
|
|
64
|
-
path.join(homeDir, "node_modules", ".cache", "webpack"),
|
|
65
|
-
];
|
|
66
|
-
for (const globalPath of globalCachePaths) {
|
|
67
|
-
if (await (0, fs_2.pathExists)(globalPath)) {
|
|
68
|
-
caches.push(globalPath);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// Search for project-specific webpack caches
|
|
72
|
-
for (const searchDir of searchDirs) {
|
|
73
|
-
if (await (0, fs_2.pathExists)(searchDir)) {
|
|
74
|
-
try {
|
|
75
|
-
const projectCaches = await this.findWebpackCachesRecursively(searchDir, 3);
|
|
76
|
-
caches.push(...projectCaches);
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
(0, cli_1.printVerbose)(`Error searching ${searchDir}: ${error}`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return [...new Set(caches)]; // Remove duplicates
|
|
84
|
-
}
|
|
85
|
-
async findWebpackCachesRecursively(dir, maxDepth) {
|
|
86
|
-
if (maxDepth <= 0)
|
|
87
|
-
return [];
|
|
88
|
-
const webpackCaches = [];
|
|
89
|
-
try {
|
|
90
|
-
const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
|
|
91
|
-
for (const entry of entries) {
|
|
92
|
-
if (entry.isDirectory() &&
|
|
93
|
-
!entry.name.startsWith(".") &&
|
|
94
|
-
entry.name !== "node_modules") {
|
|
95
|
-
const fullPath = path.join(dir, entry.name);
|
|
96
|
-
// Check for webpack cache directories
|
|
97
|
-
const cacheLocations = [
|
|
98
|
-
path.join(fullPath, "node_modules", ".cache", "webpack"),
|
|
99
|
-
path.join(fullPath, ".webpack-cache"),
|
|
100
|
-
path.join(fullPath, "webpack-cache"),
|
|
101
|
-
path.join(fullPath, ".cache", "webpack"),
|
|
102
|
-
];
|
|
103
|
-
for (const cacheLocation of cacheLocations) {
|
|
104
|
-
if (await (0, fs_2.pathExists)(cacheLocation)) {
|
|
105
|
-
webpackCaches.push(cacheLocation);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// Recursively search subdirectories
|
|
109
|
-
const subCaches = await this.findWebpackCachesRecursively(fullPath, maxDepth - 1);
|
|
110
|
-
webpackCaches.push(...subCaches);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch {
|
|
115
|
-
// Ignore permission errors or other issues
|
|
116
|
-
}
|
|
117
|
-
return webpackCaches;
|
|
118
|
-
}
|
|
119
|
-
async hasWebpackProjects() {
|
|
120
|
-
const homeDir = os.homedir();
|
|
121
|
-
// Check current directory first
|
|
122
|
-
const currentDirPackageJson = path.join(process.cwd(), "package.json");
|
|
123
|
-
if (await this.isWebpackProject(currentDirPackageJson)) {
|
|
124
|
-
return true;
|
|
125
|
-
}
|
|
126
|
-
// Search common project directories
|
|
127
|
-
const searchDirs = [
|
|
128
|
-
path.join(homeDir, "Projects"),
|
|
129
|
-
path.join(homeDir, "Development"),
|
|
130
|
-
path.join(homeDir, "dev"),
|
|
131
|
-
path.join(homeDir, "workspace"),
|
|
132
|
-
];
|
|
133
|
-
for (const searchDir of searchDirs) {
|
|
134
|
-
if (await (0, fs_2.pathExists)(searchDir)) {
|
|
135
|
-
try {
|
|
136
|
-
const hasWebpack = await this.searchForWebpackProjects(searchDir, 2);
|
|
137
|
-
if (hasWebpack)
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
catch {
|
|
141
|
-
// Continue searching
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return false;
|
|
146
|
-
}
|
|
147
|
-
async searchForWebpackProjects(dir, maxDepth) {
|
|
148
|
-
if (maxDepth <= 0)
|
|
149
|
-
return false;
|
|
150
|
-
try {
|
|
151
|
-
const entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
|
|
152
|
-
for (const entry of entries) {
|
|
153
|
-
if (entry.isDirectory() && !entry.name.startsWith(".")) {
|
|
154
|
-
const fullPath = path.join(dir, entry.name);
|
|
155
|
-
const packageJsonPath = path.join(fullPath, "package.json");
|
|
156
|
-
if (await this.isWebpackProject(packageJsonPath)) {
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
// Recursively search
|
|
160
|
-
if (await this.searchForWebpackProjects(fullPath, maxDepth - 1)) {
|
|
161
|
-
return true;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
// Ignore errors
|
|
168
|
-
}
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
async isWebpackProject(packageJsonPath) {
|
|
172
|
-
try {
|
|
173
|
-
if (!(await (0, fs_2.pathExists)(packageJsonPath)))
|
|
174
|
-
return false;
|
|
175
|
-
const content = await fs_1.promises.readFile(packageJsonPath, "utf-8");
|
|
176
|
-
const packageJson = JSON.parse(content);
|
|
177
|
-
// Check for webpack in dependencies or devDependencies
|
|
178
|
-
const deps = {
|
|
179
|
-
...packageJson.dependencies,
|
|
180
|
-
...packageJson.devDependencies,
|
|
181
|
-
};
|
|
182
|
-
return "webpack" in deps || "webpack-cli" in deps;
|
|
183
|
-
}
|
|
184
|
-
catch {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
async isAvailable() {
|
|
189
|
-
// Check if webpack caches exist or if there are webpack projects
|
|
190
|
-
const caches = await this.findWebpackCaches();
|
|
191
|
-
const hasProjects = await this.hasWebpackProjects();
|
|
192
|
-
return caches.length > 0 || hasProjects;
|
|
193
|
-
}
|
|
194
|
-
async getCacheInfo() {
|
|
195
|
-
const cachePaths = await this.findWebpackCaches();
|
|
196
|
-
let totalSize = 0;
|
|
197
|
-
const validPaths = [];
|
|
198
|
-
for (const cachePath of cachePaths) {
|
|
199
|
-
try {
|
|
200
|
-
const size = await (0, fs_2.getDirectorySize)(cachePath);
|
|
201
|
-
totalSize += size;
|
|
202
|
-
validPaths.push(cachePath);
|
|
203
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.folder} ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
(0, cli_1.printVerbose)(`Error calculating size for ${cachePath}: ${error}`);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return {
|
|
210
|
-
name: this.name,
|
|
211
|
-
type: this.type,
|
|
212
|
-
description: this.description,
|
|
213
|
-
paths: validPaths,
|
|
214
|
-
isInstalled: await this.isAvailable(),
|
|
215
|
-
size: totalSize,
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
async clear(dryRun = false, _criteria, cacheInfo) {
|
|
219
|
-
const info = cacheInfo || (await this.getCacheInfo());
|
|
220
|
-
if (!info.isInstalled) {
|
|
221
|
-
return {
|
|
222
|
-
name: this.name,
|
|
223
|
-
success: false,
|
|
224
|
-
error: "No webpack caches found",
|
|
225
|
-
clearedPaths: [],
|
|
226
|
-
sizeBefore: 0,
|
|
227
|
-
sizeAfter: 0,
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
const sizeBefore = info.size || 0;
|
|
231
|
-
const clearedPaths = [];
|
|
232
|
-
let errors = [];
|
|
233
|
-
for (const cachePath of info.paths) {
|
|
234
|
-
try {
|
|
235
|
-
if (dryRun) {
|
|
236
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Would clear: ${cachePath}`);
|
|
237
|
-
clearedPaths.push(cachePath);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
(0, cli_1.printVerbose)(`${cli_1.symbols.soap} Clearing: ${cachePath}`);
|
|
241
|
-
await (0, fs_2.safeRmrf)(cachePath);
|
|
242
|
-
clearedPaths.push(cachePath);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
catch (error) {
|
|
246
|
-
const errorMsg = `Failed to clear ${cachePath}: ${error}`;
|
|
247
|
-
errors.push(errorMsg);
|
|
248
|
-
(0, cli_1.printVerbose)(errorMsg);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
return {
|
|
252
|
-
name: this.name,
|
|
253
|
-
success: errors.length === 0,
|
|
254
|
-
sizeBefore,
|
|
255
|
-
sizeAfter: 0, // Set to 0 as we don't want to rescan
|
|
256
|
-
error: errors.length > 0 ? errors.join("; ") : undefined,
|
|
257
|
-
clearedPaths,
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
exports.WebpackCleaner = WebpackCleaner;
|
|
262
|
-
exports.default = new WebpackCleaner();
|
|
263
|
-
//# sourceMappingURL=webpack.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../src/cleaners/webpack.ts"],"names":[],"mappings":"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"}
|