squeaky-clean 0.3.3 → 0.4.0
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/README.md +29 -1
- package/dist/cleaners/antigravity.d.ts +21 -0
- package/dist/cleaners/antigravity.d.ts.map +1 -0
- package/dist/cleaners/antigravity.js +498 -0
- package/dist/cleaners/antigravity.js.map +1 -0
- package/dist/cleaners/brew.js +36 -6
- package/dist/cleaners/brew.js.map +1 -1
- package/dist/cleaners/brewEnhanced.js +38 -5
- package/dist/cleaners/brewEnhanced.js.map +1 -1
- package/dist/cleaners/cargo.js +35 -2
- package/dist/cleaners/cargo.js.map +1 -1
- package/dist/cleaners/cocoapods.js +35 -2
- package/dist/cleaners/cocoapods.js.map +1 -1
- package/dist/cleaners/cursor.js +43 -10
- package/dist/cleaners/cursor.js.map +1 -1
- package/dist/cleaners/goBuild.js +38 -5
- package/dist/cleaners/goBuild.js.map +1 -1
- package/dist/cleaners/gradle.js +36 -3
- package/dist/cleaners/gradle.js.map +1 -1
- package/dist/cleaners/index.d.ts +7 -2
- package/dist/cleaners/index.d.ts.map +1 -1
- package/dist/cleaners/index.js +48 -4
- package/dist/cleaners/index.js.map +1 -1
- package/dist/cleaners/maven.js +35 -2
- package/dist/cleaners/maven.js.map +1 -1
- package/dist/cleaners/nix.js +37 -4
- package/dist/cleaners/nix.js.map +1 -1
- package/dist/cleaners/nodeGyp.js +36 -3
- package/dist/cleaners/nodeGyp.js.map +1 -1
- package/dist/cleaners/npm.js +35 -2
- package/dist/cleaners/npm.js.map +1 -1
- package/dist/cleaners/npmEnhanced.js +35 -2
- package/dist/cleaners/npmEnhanced.js.map +1 -1
- package/dist/cleaners/nuget.js +35 -2
- package/dist/cleaners/nuget.js.map +1 -1
- package/dist/cleaners/pipenv.js +35 -2
- package/dist/cleaners/pipenv.js.map +1 -1
- package/dist/cleaners/playwright.js +42 -9
- package/dist/cleaners/playwright.js.map +1 -1
- package/dist/cleaners/poetry.js +35 -2
- package/dist/cleaners/poetry.js.map +1 -1
- package/dist/cleaners/shipit.d.ts +21 -0
- package/dist/cleaners/shipit.d.ts.map +1 -0
- package/dist/cleaners/shipit.js +211 -0
- package/dist/cleaners/shipit.js.map +1 -0
- package/dist/cleaners/swiftpm.js +35 -2
- package/dist/cleaners/swiftpm.js.map +1 -1
- package/dist/cleaners/universalBinary.js +35 -2
- package/dist/cleaners/universalBinary.js.map +1 -1
- package/dist/cleaners/vscode.js +37 -4
- package/dist/cleaners/vscode.js.map +1 -1
- package/dist/cleaners/windsurf.js +44 -11
- package/dist/cleaners/windsurf.js.map +1 -1
- package/dist/cleaners/xcode.js +35 -2
- package/dist/cleaners/xcode.js.map +1 -1
- package/dist/cleaners/zed.js +43 -10
- package/dist/cleaners/zed.js.map +1 -1
- package/dist/cli.js +42 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +8 -4
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/config.d.ts +2 -2
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +43 -24
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/sizes.d.ts.map +1 -1
- package/dist/commands/sizes.js +6 -8
- package/dist/commands/sizes.js.map +1 -1
- package/dist/commands/update.d.ts +30 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +168 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +41 -0
- package/dist/config/index.js.map +1 -1
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/cli.js +2 -2
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/parallelProgress.d.ts +73 -0
- package/dist/utils/parallelProgress.d.ts.map +1 -0
- package/dist/utils/parallelProgress.js +226 -0
- package/dist/utils/parallelProgress.js.map +1 -0
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -19,6 +19,7 @@ Essentially a *"universal cachectl"*—**smart** *(sort of)*, **safe** (at least
|
|
|
19
19
|
|
|
20
20
|
- **🎯 Smart Detection**: Automatically detects installed development tools and their cache locations
|
|
21
21
|
- **🎨 Interactive Wizard**: Beautiful CLI interface with progress bars and colored output
|
|
22
|
+
- **📡 Real-Time Progress**: Live parallel scanning status with animated indicators for 25+ tools simultaneously
|
|
22
23
|
- **🔧 Highly Configurable**: Choose exactly which caches to clean and when
|
|
23
24
|
- **📊 Size Analytics**: See how much space each cache is using before cleaning
|
|
24
25
|
- **🛡️ Safe by Default**: Dry-run mode to preview what will be cleaned (v0.1.0+ defaults to dry-run)
|
|
@@ -28,6 +29,7 @@ Essentially a *"universal cachectl"*—**smart** *(sort of)*, **safe** (at least
|
|
|
28
29
|
- **🔄 Config Migration**: Automatic migration from legacy to new configuration format
|
|
29
30
|
- **🔌 Plugin Support**: Discover and use community cleaners via npm packages
|
|
30
31
|
- **📋 JSON Output**: Machine-readable output for scripting and automation
|
|
32
|
+
- **🔄 Auto-Update**: Background update checking with easy self-update command
|
|
31
33
|
|
|
32
34
|
## 📦 Installation
|
|
33
35
|
|
|
@@ -56,6 +58,24 @@ bun add -g squeaky-clean
|
|
|
56
58
|
npm install --save-dev squeaky-clean
|
|
57
59
|
```
|
|
58
60
|
|
|
61
|
+
### Updating
|
|
62
|
+
|
|
63
|
+
Squeaky Clean includes a built-in update command:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Check for and install updates
|
|
67
|
+
squeaky update
|
|
68
|
+
|
|
69
|
+
# Only check for updates without installing
|
|
70
|
+
squeaky update --check
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
By default, squeaky-clean will automatically check for updates once every 24 hours when you run any command. You can disable this with:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
squeaky update --disable-auto
|
|
77
|
+
```
|
|
78
|
+
|
|
59
79
|
## Usage
|
|
60
80
|
|
|
61
81
|
### Interactive Mode (Recommended)
|
|
@@ -153,6 +173,7 @@ squeaky clean --config my-config.json --dry-run
|
|
|
153
173
|
| `config` | Manage configuration | - |
|
|
154
174
|
| `doctor` | Check system and diagnose issues | - |
|
|
155
175
|
| `auto` | Configure automatic cleaning | - |
|
|
176
|
+
| `update` | Check for and install updates | - |
|
|
156
177
|
| `interactive` | Start interactive configuration wizard | `i` |
|
|
157
178
|
|
|
158
179
|
### Command Options
|
|
@@ -186,6 +207,12 @@ squeaky clean --config my-config.json --dry-run
|
|
|
186
207
|
- `-s, --sizes` - Include cache sizes inline with the list
|
|
187
208
|
- `-t, --type <type>` - Filter by cache type
|
|
188
209
|
|
|
210
|
+
#### `update` Options
|
|
211
|
+
|
|
212
|
+
- `-c, --check` - Only check for updates without installing
|
|
213
|
+
- `--auto-on` - Enable automatic update checks on startup (`--enable-auto`/`--enable-auto-update` aliases)
|
|
214
|
+
- `--auto-off` - Disable automatic update checks (`--disable-auto`/`--disable-auto-update` aliases)
|
|
215
|
+
|
|
189
216
|
#### Global Options
|
|
190
217
|
|
|
191
218
|
- `-v, --verbose` - Enable verbose output
|
|
@@ -405,6 +432,7 @@ npm run dev
|
|
|
405
432
|
- `npm run test:coverage` - Generate test coverage report
|
|
406
433
|
- `npm run lint` - Lint the codebase
|
|
407
434
|
- `npm run format` - Format code with Prettier
|
|
435
|
+
- `npm run release` - Run tests/build, publish to npm, and sync the GitHub release (requires the `gh` CLI + `GH_TOKEN` or `GITHUB_TOKEN` to be set)
|
|
408
436
|
|
|
409
437
|
### Testing
|
|
410
438
|
|
|
@@ -462,4 +490,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
462
490
|
|
|
463
491
|
<div align="center">
|
|
464
492
|
Made with ❤️ by and for developers
|
|
465
|
-
</div>
|
|
493
|
+
</div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CacheInfo, ClearResult, CleanerModule, CacheCategory, CacheSelectionCriteria } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Google Antigravity IDE Cleaner
|
|
4
|
+
*
|
|
5
|
+
* Google Antigravity is an agentic AI IDE from Google, similar to Cursor/Windsurf.
|
|
6
|
+
* This cleaner manages caches for extensions, workspace storage, logs, and AI model caches.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AntigravityCleaner implements CleanerModule {
|
|
9
|
+
name: string;
|
|
10
|
+
type: "ide";
|
|
11
|
+
description: string;
|
|
12
|
+
private getCachePaths;
|
|
13
|
+
isAvailable(): Promise<boolean>;
|
|
14
|
+
getCacheInfo(): Promise<CacheInfo>;
|
|
15
|
+
getCacheCategories(): Promise<CacheCategory[]>;
|
|
16
|
+
clear(dryRun?: boolean, _criteria?: CacheSelectionCriteria, _cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
17
|
+
clearByCategory(categoryIds: string[], dryRun?: boolean, _cacheInfo?: CacheInfo, protectedPaths?: string[]): Promise<ClearResult>;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: AntigravityCleaner;
|
|
20
|
+
export default _default;
|
|
21
|
+
//# sourceMappingURL=antigravity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../src/cleaners/antigravity.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EACb,aAAa,EACb,sBAAsB,EACvB,MAAM,UAAU,CAAC;AASlB;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,IAAI,SAAiB;IACrB,IAAI,EAAG,KAAK,CAAU;IACtB,WAAW,SAC+E;IAE1F,OAAO,CAAC,aAAa;IAwTf,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAiD/B,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IA4BlC,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA6C9C,KAAK,CACT,MAAM,UAAQ,EACd,SAAS,CAAC,EAAE,sBAAsB,EAClC,UAAU,CAAC,EAAE,SAAS,EACtB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,WAAW,CAAC;IAoDjB,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,UAAQ,EACd,UAAU,CAAC,EAAE,SAAS,EACtB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,WAAW,CAAC;CA+CxB;;AAED,wBAAwC"}
|
|
@@ -0,0 +1,498 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.AntigravityCleaner = void 0;
|
|
40
|
+
const fs_1 = require("fs");
|
|
41
|
+
const path_1 = __importDefault(require("path"));
|
|
42
|
+
const os = __importStar(require("os"));
|
|
43
|
+
const fs_2 = require("../utils/fs");
|
|
44
|
+
const cli_1 = require("../utils/cli");
|
|
45
|
+
/**
|
|
46
|
+
* Google Antigravity IDE Cleaner
|
|
47
|
+
*
|
|
48
|
+
* Google Antigravity is an agentic AI IDE from Google, similar to Cursor/Windsurf.
|
|
49
|
+
* This cleaner manages caches for extensions, workspace storage, logs, and AI model caches.
|
|
50
|
+
*/
|
|
51
|
+
class AntigravityCleaner {
|
|
52
|
+
constructor() {
|
|
53
|
+
this.name = "antigravity";
|
|
54
|
+
this.type = "ide";
|
|
55
|
+
this.description = "Google Antigravity IDE extensions cache, workspace storage, logs, and AI model caches";
|
|
56
|
+
}
|
|
57
|
+
getCachePaths() {
|
|
58
|
+
const homeDir = os.homedir();
|
|
59
|
+
const platform = os.platform();
|
|
60
|
+
const paths = [];
|
|
61
|
+
if (platform === "darwin") {
|
|
62
|
+
// macOS Antigravity paths
|
|
63
|
+
const antigravityDir = path_1.default.join(homeDir, ".antigravity");
|
|
64
|
+
const antigravityAppSupport = path_1.default.join(homeDir, "Library", "Application Support", "Antigravity");
|
|
65
|
+
const antigravityCache = path_1.default.join(homeDir, "Library", "Caches", "com.google.antigravity");
|
|
66
|
+
const antigravityShipItCache = path_1.default.join(homeDir, "Library", "Caches", "com.google.antigravity.ShipIt");
|
|
67
|
+
paths.push(
|
|
68
|
+
// Main application cache
|
|
69
|
+
{
|
|
70
|
+
path: antigravityCache,
|
|
71
|
+
description: "Antigravity application cache",
|
|
72
|
+
category: "cache",
|
|
73
|
+
priority: "low",
|
|
74
|
+
safeToDelete: true,
|
|
75
|
+
},
|
|
76
|
+
// ShipIt update cache
|
|
77
|
+
{
|
|
78
|
+
path: antigravityShipItCache,
|
|
79
|
+
description: "Antigravity update cache (ShipIt)",
|
|
80
|
+
category: "cache",
|
|
81
|
+
priority: "low",
|
|
82
|
+
safeToDelete: true,
|
|
83
|
+
},
|
|
84
|
+
// Logs
|
|
85
|
+
{
|
|
86
|
+
path: path_1.default.join(antigravityAppSupport, "logs"),
|
|
87
|
+
description: "Antigravity application logs",
|
|
88
|
+
category: "logs",
|
|
89
|
+
priority: "low",
|
|
90
|
+
safeToDelete: true,
|
|
91
|
+
},
|
|
92
|
+
// Extension caches
|
|
93
|
+
{
|
|
94
|
+
path: path_1.default.join(antigravityDir, "extensions", ".obsolete"),
|
|
95
|
+
description: "Obsolete extension files",
|
|
96
|
+
category: "extensions",
|
|
97
|
+
priority: "low",
|
|
98
|
+
safeToDelete: true,
|
|
99
|
+
}, {
|
|
100
|
+
path: path_1.default.join(antigravityAppSupport, "CachedExtensions"),
|
|
101
|
+
description: "Cached extension metadata",
|
|
102
|
+
category: "extensions",
|
|
103
|
+
priority: "normal",
|
|
104
|
+
safeToDelete: true,
|
|
105
|
+
}, {
|
|
106
|
+
path: path_1.default.join(antigravityAppSupport, "CachedExtensionVSIXs"),
|
|
107
|
+
description: "Cached extension VSIX files",
|
|
108
|
+
category: "extensions",
|
|
109
|
+
priority: "normal",
|
|
110
|
+
safeToDelete: true,
|
|
111
|
+
},
|
|
112
|
+
// Workspace storage
|
|
113
|
+
{
|
|
114
|
+
path: path_1.default.join(antigravityAppSupport, "User", "workspaceStorage"),
|
|
115
|
+
description: "Workspace-specific cache and state",
|
|
116
|
+
category: "workspaces",
|
|
117
|
+
priority: "normal",
|
|
118
|
+
safeToDelete: true,
|
|
119
|
+
}, {
|
|
120
|
+
path: path_1.default.join(antigravityAppSupport, "User", "History"),
|
|
121
|
+
description: "File history and timeline cache",
|
|
122
|
+
category: "history",
|
|
123
|
+
priority: "normal",
|
|
124
|
+
safeToDelete: true,
|
|
125
|
+
},
|
|
126
|
+
// Crash dumps
|
|
127
|
+
{
|
|
128
|
+
path: path_1.default.join(antigravityAppSupport, "CrashDumps"),
|
|
129
|
+
description: "Application crash dumps",
|
|
130
|
+
category: "diagnostics",
|
|
131
|
+
priority: "low",
|
|
132
|
+
safeToDelete: true,
|
|
133
|
+
},
|
|
134
|
+
// General cache directory
|
|
135
|
+
{
|
|
136
|
+
path: path_1.default.join(antigravityAppSupport, "Cache"),
|
|
137
|
+
description: "Antigravity cache directory",
|
|
138
|
+
category: "cache",
|
|
139
|
+
priority: "normal",
|
|
140
|
+
safeToDelete: true,
|
|
141
|
+
},
|
|
142
|
+
// GPU cache
|
|
143
|
+
{
|
|
144
|
+
path: path_1.default.join(antigravityAppSupport, "GPUCache"),
|
|
145
|
+
description: "GPU shader cache",
|
|
146
|
+
category: "cache",
|
|
147
|
+
priority: "low",
|
|
148
|
+
safeToDelete: true,
|
|
149
|
+
},
|
|
150
|
+
// Code cache
|
|
151
|
+
{
|
|
152
|
+
path: path_1.default.join(antigravityAppSupport, "Code Cache"),
|
|
153
|
+
description: "V8 code cache",
|
|
154
|
+
category: "cache",
|
|
155
|
+
priority: "low",
|
|
156
|
+
safeToDelete: true,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
else if (platform === "win32") {
|
|
160
|
+
// Windows Antigravity paths
|
|
161
|
+
const appData = process.env.APPDATA || path_1.default.join(homeDir, "AppData", "Roaming");
|
|
162
|
+
const localAppData = process.env.LOCALAPPDATA || path_1.default.join(homeDir, "AppData", "Local");
|
|
163
|
+
const antigravityDir = path_1.default.join(homeDir, ".antigravity");
|
|
164
|
+
paths.push({
|
|
165
|
+
path: path_1.default.join(localAppData, "Antigravity", "Cache"),
|
|
166
|
+
description: "Antigravity application cache",
|
|
167
|
+
category: "cache",
|
|
168
|
+
priority: "low",
|
|
169
|
+
safeToDelete: true,
|
|
170
|
+
}, {
|
|
171
|
+
path: path_1.default.join(appData, "Antigravity", "logs"),
|
|
172
|
+
description: "Antigravity application logs",
|
|
173
|
+
category: "logs",
|
|
174
|
+
priority: "low",
|
|
175
|
+
safeToDelete: true,
|
|
176
|
+
}, {
|
|
177
|
+
path: path_1.default.join(antigravityDir, "extensions", ".obsolete"),
|
|
178
|
+
description: "Obsolete extension files",
|
|
179
|
+
category: "extensions",
|
|
180
|
+
priority: "low",
|
|
181
|
+
safeToDelete: true,
|
|
182
|
+
}, {
|
|
183
|
+
path: path_1.default.join(appData, "Antigravity", "CachedExtensions"),
|
|
184
|
+
description: "Cached extension metadata",
|
|
185
|
+
category: "extensions",
|
|
186
|
+
priority: "normal",
|
|
187
|
+
safeToDelete: true,
|
|
188
|
+
}, {
|
|
189
|
+
path: path_1.default.join(appData, "Antigravity", "CachedExtensionVSIXs"),
|
|
190
|
+
description: "Cached extension VSIX files",
|
|
191
|
+
category: "extensions",
|
|
192
|
+
priority: "normal",
|
|
193
|
+
safeToDelete: true,
|
|
194
|
+
}, {
|
|
195
|
+
path: path_1.default.join(appData, "Antigravity", "User", "workspaceStorage"),
|
|
196
|
+
description: "Workspace-specific cache and state",
|
|
197
|
+
category: "workspaces",
|
|
198
|
+
priority: "normal",
|
|
199
|
+
safeToDelete: true,
|
|
200
|
+
}, {
|
|
201
|
+
path: path_1.default.join(appData, "Antigravity", "User", "History"),
|
|
202
|
+
description: "File history and timeline cache",
|
|
203
|
+
category: "history",
|
|
204
|
+
priority: "normal",
|
|
205
|
+
safeToDelete: true,
|
|
206
|
+
}, {
|
|
207
|
+
path: path_1.default.join(appData, "Antigravity", "CrashDumps"),
|
|
208
|
+
description: "Application crash dumps",
|
|
209
|
+
category: "diagnostics",
|
|
210
|
+
priority: "low",
|
|
211
|
+
safeToDelete: true,
|
|
212
|
+
}, {
|
|
213
|
+
path: path_1.default.join(localAppData, "Antigravity", "GPUCache"),
|
|
214
|
+
description: "GPU shader cache",
|
|
215
|
+
category: "cache",
|
|
216
|
+
priority: "low",
|
|
217
|
+
safeToDelete: true,
|
|
218
|
+
}, {
|
|
219
|
+
path: path_1.default.join(localAppData, "Antigravity", "Code Cache"),
|
|
220
|
+
description: "V8 code cache",
|
|
221
|
+
category: "cache",
|
|
222
|
+
priority: "low",
|
|
223
|
+
safeToDelete: true,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// Linux Antigravity paths
|
|
228
|
+
const configDir = process.env.XDG_CONFIG_HOME || path_1.default.join(homeDir, ".config");
|
|
229
|
+
const cacheDir = process.env.XDG_CACHE_HOME || path_1.default.join(homeDir, ".cache");
|
|
230
|
+
const antigravityDir = path_1.default.join(homeDir, ".antigravity");
|
|
231
|
+
paths.push({
|
|
232
|
+
path: path_1.default.join(cacheDir, "antigravity"),
|
|
233
|
+
description: "Antigravity application cache",
|
|
234
|
+
category: "cache",
|
|
235
|
+
priority: "low",
|
|
236
|
+
safeToDelete: true,
|
|
237
|
+
}, {
|
|
238
|
+
path: path_1.default.join(cacheDir, "Antigravity"),
|
|
239
|
+
description: "Antigravity application cache (alternate)",
|
|
240
|
+
category: "cache",
|
|
241
|
+
priority: "low",
|
|
242
|
+
safeToDelete: true,
|
|
243
|
+
}, {
|
|
244
|
+
path: path_1.default.join(configDir, "Antigravity", "logs"),
|
|
245
|
+
description: "Antigravity application logs",
|
|
246
|
+
category: "logs",
|
|
247
|
+
priority: "low",
|
|
248
|
+
safeToDelete: true,
|
|
249
|
+
}, {
|
|
250
|
+
path: path_1.default.join(antigravityDir, "extensions", ".obsolete"),
|
|
251
|
+
description: "Obsolete extension files",
|
|
252
|
+
category: "extensions",
|
|
253
|
+
priority: "low",
|
|
254
|
+
safeToDelete: true,
|
|
255
|
+
}, {
|
|
256
|
+
path: path_1.default.join(configDir, "Antigravity", "CachedExtensions"),
|
|
257
|
+
description: "Cached extension metadata",
|
|
258
|
+
category: "extensions",
|
|
259
|
+
priority: "normal",
|
|
260
|
+
safeToDelete: true,
|
|
261
|
+
}, {
|
|
262
|
+
path: path_1.default.join(configDir, "Antigravity", "CachedExtensionVSIXs"),
|
|
263
|
+
description: "Cached extension VSIX files",
|
|
264
|
+
category: "extensions",
|
|
265
|
+
priority: "normal",
|
|
266
|
+
safeToDelete: true,
|
|
267
|
+
}, {
|
|
268
|
+
path: path_1.default.join(configDir, "Antigravity", "User", "workspaceStorage"),
|
|
269
|
+
description: "Workspace-specific cache and state",
|
|
270
|
+
category: "workspaces",
|
|
271
|
+
priority: "normal",
|
|
272
|
+
safeToDelete: true,
|
|
273
|
+
}, {
|
|
274
|
+
path: path_1.default.join(configDir, "Antigravity", "User", "History"),
|
|
275
|
+
description: "File history and timeline cache",
|
|
276
|
+
category: "history",
|
|
277
|
+
priority: "normal",
|
|
278
|
+
safeToDelete: true,
|
|
279
|
+
}, {
|
|
280
|
+
path: path_1.default.join(configDir, "Antigravity", "CrashDumps"),
|
|
281
|
+
description: "Application crash dumps",
|
|
282
|
+
category: "diagnostics",
|
|
283
|
+
priority: "low",
|
|
284
|
+
safeToDelete: true,
|
|
285
|
+
}, {
|
|
286
|
+
path: path_1.default.join(configDir, "Antigravity", "GPUCache"),
|
|
287
|
+
description: "GPU shader cache",
|
|
288
|
+
category: "cache",
|
|
289
|
+
priority: "low",
|
|
290
|
+
safeToDelete: true,
|
|
291
|
+
}, {
|
|
292
|
+
path: path_1.default.join(configDir, "Antigravity", "Code Cache"),
|
|
293
|
+
description: "V8 code cache",
|
|
294
|
+
category: "cache",
|
|
295
|
+
priority: "low",
|
|
296
|
+
safeToDelete: true,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
return paths;
|
|
300
|
+
}
|
|
301
|
+
async isAvailable() {
|
|
302
|
+
const homeDir = os.homedir();
|
|
303
|
+
const platform = os.platform();
|
|
304
|
+
// Check for .antigravity directory
|
|
305
|
+
const antigravityDir = path_1.default.join(homeDir, ".antigravity");
|
|
306
|
+
if (await (0, fs_2.pathExists)(antigravityDir)) {
|
|
307
|
+
return true;
|
|
308
|
+
}
|
|
309
|
+
// Check for cache directories
|
|
310
|
+
const cachePaths = this.getCachePaths();
|
|
311
|
+
for (const { path: cachePath } of cachePaths) {
|
|
312
|
+
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Check for application
|
|
317
|
+
if (platform === "darwin") {
|
|
318
|
+
const appPath = "/Applications/Antigravity.app";
|
|
319
|
+
if (await (0, fs_2.pathExists)(appPath)) {
|
|
320
|
+
return true;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
else if (platform === "win32") {
|
|
324
|
+
const localAppData = process.env.LOCALAPPDATA ||
|
|
325
|
+
path_1.default.join(homeDir, "AppData", "Local");
|
|
326
|
+
const appPath = path_1.default.join(localAppData, "Programs", "Antigravity");
|
|
327
|
+
if (await (0, fs_2.pathExists)(appPath)) {
|
|
328
|
+
return true;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
// Linux - check common install locations
|
|
333
|
+
const linuxPaths = [
|
|
334
|
+
"/usr/share/antigravity",
|
|
335
|
+
"/opt/Antigravity",
|
|
336
|
+
path_1.default.join(homeDir, ".local", "share", "antigravity"),
|
|
337
|
+
];
|
|
338
|
+
for (const linuxPath of linuxPaths) {
|
|
339
|
+
if (await (0, fs_2.pathExists)(linuxPath)) {
|
|
340
|
+
return true;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
async getCacheInfo() {
|
|
347
|
+
const cachePaths = this.getCachePaths();
|
|
348
|
+
const existingPaths = [];
|
|
349
|
+
let totalSize = 0;
|
|
350
|
+
for (const { path: cachePath, safeToDelete } of cachePaths) {
|
|
351
|
+
if (!safeToDelete)
|
|
352
|
+
continue;
|
|
353
|
+
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
354
|
+
existingPaths.push(cachePath);
|
|
355
|
+
const size = await (0, fs_2.getEstimatedDirectorySize)(cachePath);
|
|
356
|
+
totalSize += size;
|
|
357
|
+
(0, cli_1.printVerbose)(`📁 ${cachePath}: ${(size / (1024 * 1024)).toFixed(1)} MB`);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
return {
|
|
361
|
+
name: this.name,
|
|
362
|
+
type: this.type,
|
|
363
|
+
description: this.description,
|
|
364
|
+
paths: existingPaths,
|
|
365
|
+
isInstalled: await this.isAvailable(),
|
|
366
|
+
size: totalSize,
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
async getCacheCategories() {
|
|
370
|
+
const cachePaths = this.getCachePaths();
|
|
371
|
+
const categoryMap = new Map();
|
|
372
|
+
for (const { path: cachePath, description, category, priority, safeToDelete, } of cachePaths) {
|
|
373
|
+
if (!safeToDelete)
|
|
374
|
+
continue;
|
|
375
|
+
if (!(await (0, fs_2.pathExists)(cachePath)))
|
|
376
|
+
continue;
|
|
377
|
+
const size = await (0, fs_2.getDirectorySize)(cachePath);
|
|
378
|
+
let stats;
|
|
379
|
+
try {
|
|
380
|
+
stats = await fs_1.promises.stat(cachePath);
|
|
381
|
+
}
|
|
382
|
+
catch {
|
|
383
|
+
stats = null;
|
|
384
|
+
}
|
|
385
|
+
const categoryId = `antigravity-${category}`;
|
|
386
|
+
const existing = categoryMap.get(categoryId);
|
|
387
|
+
if (existing) {
|
|
388
|
+
existing.paths.push(cachePath);
|
|
389
|
+
existing.size = (existing.size || 0) + size;
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
categoryMap.set(categoryId, {
|
|
393
|
+
id: categoryId,
|
|
394
|
+
name: `Antigravity ${category}`,
|
|
395
|
+
description,
|
|
396
|
+
paths: [cachePath],
|
|
397
|
+
size,
|
|
398
|
+
lastModified: stats?.mtime,
|
|
399
|
+
priority,
|
|
400
|
+
useCase: "development",
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
return Array.from(categoryMap.values());
|
|
405
|
+
}
|
|
406
|
+
async clear(dryRun = false, _criteria, _cacheInfo, protectedPaths) {
|
|
407
|
+
const cachePaths = this.getCachePaths();
|
|
408
|
+
const clearedPaths = [];
|
|
409
|
+
let sizeBefore = 0;
|
|
410
|
+
let sizeAfter = 0;
|
|
411
|
+
for (const { path: cachePath, description, safeToDelete } of cachePaths) {
|
|
412
|
+
if (!safeToDelete)
|
|
413
|
+
continue;
|
|
414
|
+
if (!(await (0, fs_2.pathExists)(cachePath)))
|
|
415
|
+
continue;
|
|
416
|
+
if (protectedPaths?.some((p) => cachePath.startsWith(p))) {
|
|
417
|
+
(0, cli_1.printVerbose)(` Skipping protected path: ${cachePath}`);
|
|
418
|
+
continue;
|
|
419
|
+
}
|
|
420
|
+
const pathSize = await (0, fs_2.getDirectorySize)(cachePath);
|
|
421
|
+
sizeBefore += pathSize;
|
|
422
|
+
if (dryRun) {
|
|
423
|
+
(0, cli_1.printVerbose)(`[DRY RUN] Would clear: ${description} (${(pathSize / (1024 * 1024)).toFixed(1)} MB)`);
|
|
424
|
+
clearedPaths.push(cachePath);
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
try {
|
|
428
|
+
await (0, fs_2.safeRmrf)(cachePath);
|
|
429
|
+
clearedPaths.push(cachePath);
|
|
430
|
+
(0, cli_1.printVerbose)(`✓ Cleared: ${description}`);
|
|
431
|
+
}
|
|
432
|
+
catch (error) {
|
|
433
|
+
(0, cli_1.printVerbose)(`✗ Failed to clear ${description}: ${error}`);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
if (!dryRun) {
|
|
438
|
+
for (const { path: cachePath, safeToDelete } of cachePaths) {
|
|
439
|
+
if (!safeToDelete)
|
|
440
|
+
continue;
|
|
441
|
+
if (await (0, fs_2.pathExists)(cachePath)) {
|
|
442
|
+
sizeAfter += await (0, fs_2.getDirectorySize)(cachePath);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
return {
|
|
447
|
+
name: this.name,
|
|
448
|
+
success: true,
|
|
449
|
+
sizeBefore,
|
|
450
|
+
sizeAfter: dryRun ? sizeBefore : sizeAfter,
|
|
451
|
+
clearedPaths,
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
async clearByCategory(categoryIds, dryRun = false, _cacheInfo, protectedPaths) {
|
|
455
|
+
const categories = await this.getCacheCategories();
|
|
456
|
+
const targetCategories = categories.filter((c) => categoryIds.includes(c.id));
|
|
457
|
+
const clearedPaths = [];
|
|
458
|
+
let sizeBefore = 0;
|
|
459
|
+
let sizeAfter = 0;
|
|
460
|
+
for (const category of targetCategories) {
|
|
461
|
+
for (const cachePath of category.paths) {
|
|
462
|
+
if (!(await (0, fs_2.pathExists)(cachePath)))
|
|
463
|
+
continue;
|
|
464
|
+
if (protectedPaths?.some((p) => cachePath.startsWith(p))) {
|
|
465
|
+
(0, cli_1.printVerbose)(` Skipping protected path: ${cachePath}`);
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
const pathSize = await (0, fs_2.getDirectorySize)(cachePath);
|
|
469
|
+
sizeBefore += pathSize;
|
|
470
|
+
if (dryRun) {
|
|
471
|
+
(0, cli_1.printVerbose)(`[DRY RUN] Would clear: ${category.name} (${(pathSize / (1024 * 1024)).toFixed(1)} MB)`);
|
|
472
|
+
clearedPaths.push(cachePath);
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
try {
|
|
476
|
+
await (0, fs_2.safeRmrf)(cachePath);
|
|
477
|
+
clearedPaths.push(cachePath);
|
|
478
|
+
(0, cli_1.printVerbose)(`✓ Cleared: ${category.name}`);
|
|
479
|
+
}
|
|
480
|
+
catch (error) {
|
|
481
|
+
(0, cli_1.printVerbose)(`✗ Failed to clear ${category.name}: ${error}`);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return {
|
|
487
|
+
name: this.name,
|
|
488
|
+
success: true,
|
|
489
|
+
sizeBefore,
|
|
490
|
+
sizeAfter: dryRun ? sizeBefore : sizeAfter,
|
|
491
|
+
clearedPaths,
|
|
492
|
+
clearedCategories: categoryIds,
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
exports.AntigravityCleaner = AntigravityCleaner;
|
|
497
|
+
exports.default = new AntigravityCleaner();
|
|
498
|
+
//# sourceMappingURL=antigravity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/cleaners/antigravity.ts"],"names":[],"mappings":"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"}
|