appclean 1.9.0 → 2.0.2
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/.github/workflows/npm-publish.yml +61 -0
- package/DEVELOPMENT.md +84 -0
- package/GUI_IMPLEMENTATION_STATUS.md +143 -0
- package/MD_Files/INDEX.md +51 -0
- package/PHASE2_COMPLETION.md +281 -0
- package/PHASE3_COMPLETION.md +364 -0
- package/README.md +411 -91
- package/RELEASE_GUIDE.md +236 -0
- package/assets/logo.svg +34 -0
- package/dist/core/appUpdateChecker.js +12 -16
- package/dist/core/appUpdateChecker.js.map +1 -1
- package/dist/core/detector.js +14 -18
- package/dist/core/detector.js.map +1 -1
- package/dist/core/duplicateFileFinder.js +12 -19
- package/dist/core/duplicateFileFinder.js.map +1 -1
- package/dist/core/orphanedDependencyDetector.js +19 -26
- package/dist/core/orphanedDependencyDetector.js.map +1 -1
- package/dist/core/performanceOptimizer.js +6 -10
- package/dist/core/performanceOptimizer.js.map +1 -1
- package/dist/core/permissionHandler.js +21 -25
- package/dist/core/permissionHandler.js.map +1 -1
- package/dist/core/pluginSystem.js +9 -13
- package/dist/core/pluginSystem.js.map +1 -1
- package/dist/core/removalRecorder.js +12 -19
- package/dist/core/removalRecorder.js.map +1 -1
- package/dist/core/remover.js +59 -66
- package/dist/core/remover.js.map +1 -1
- package/dist/core/reportGenerator.d.ts +1 -1
- package/dist/core/reportGenerator.d.ts.map +1 -1
- package/dist/core/reportGenerator.js +27 -34
- package/dist/core/reportGenerator.js.map +1 -1
- package/dist/core/scheduledCleanup.js +23 -30
- package/dist/core/scheduledCleanup.js.map +1 -1
- package/dist/core/serviceFileDetector.js +24 -31
- package/dist/core/serviceFileDetector.js.map +1 -1
- package/dist/core/verificationModule.js +10 -14
- package/dist/core/verificationModule.js.map +1 -1
- package/dist/index.js +118 -156
- package/dist/index.js.map +1 -1
- package/dist/managers/brewManager.js +30 -37
- package/dist/managers/brewManager.js.map +1 -1
- package/dist/managers/customManager.js +23 -30
- package/dist/managers/customManager.js.map +1 -1
- package/dist/managers/linuxManager.js +29 -36
- package/dist/managers/linuxManager.js.map +1 -1
- package/dist/managers/npmManager.js +27 -34
- package/dist/managers/npmManager.js.map +1 -1
- package/dist/types/index.js +1 -2
- package/dist/ui/client/api/client.d.ts +24 -0
- package/dist/ui/client/api/client.d.ts.map +1 -0
- package/dist/ui/client/api/client.js +100 -0
- package/dist/ui/client/api/client.js.map +1 -0
- package/dist/ui/client/app.d.ts +7 -0
- package/dist/ui/client/app.d.ts.map +1 -0
- package/dist/ui/client/app.js +75 -0
- package/dist/ui/client/app.js.map +1 -0
- package/dist/ui/client/index.html +107 -0
- package/dist/ui/client/pages/appDetails.d.ts +8 -0
- package/dist/ui/client/pages/appDetails.d.ts.map +1 -0
- package/dist/ui/client/pages/appDetails.js +287 -0
- package/dist/ui/client/pages/appDetails.js.map +1 -0
- package/dist/ui/client/pages/appSearch.d.ts +2 -0
- package/dist/ui/client/pages/appSearch.d.ts.map +1 -0
- package/dist/ui/client/pages/appSearch.js +221 -0
- package/dist/ui/client/pages/appSearch.js.map +1 -0
- package/dist/ui/client/pages/dashboard.d.ts +2 -0
- package/dist/ui/client/pages/dashboard.d.ts.map +1 -0
- package/dist/ui/client/pages/dashboard.js +175 -0
- package/dist/ui/client/pages/dashboard.js.map +1 -0
- package/dist/ui/client/pages/settings.d.ts +7 -0
- package/dist/ui/client/pages/settings.d.ts.map +1 -0
- package/dist/ui/client/pages/settings.js +279 -0
- package/dist/ui/client/pages/settings.js.map +1 -0
- package/dist/ui/client/state/appStore.d.ts +38 -0
- package/dist/ui/client/state/appStore.d.ts.map +1 -0
- package/dist/ui/client/state/appStore.js +130 -0
- package/dist/ui/client/state/appStore.js.map +1 -0
- package/dist/ui/client/state/dashboardStore.d.ts +31 -0
- package/dist/ui/client/state/dashboardStore.d.ts.map +1 -0
- package/dist/ui/client/state/dashboardStore.js +76 -0
- package/dist/ui/client/state/dashboardStore.js.map +1 -0
- package/dist/ui/client/state/uiStore.d.ts +43 -0
- package/dist/ui/client/state/uiStore.d.ts.map +1 -0
- package/dist/ui/client/state/uiStore.js +109 -0
- package/dist/ui/client/state/uiStore.js.map +1 -0
- package/dist/ui/client/styles/animations.css +349 -0
- package/dist/ui/client/styles/base.css +214 -0
- package/dist/ui/client/styles/components.css +400 -0
- package/dist/ui/client/styles/layout.css +224 -0
- package/dist/ui/client/styles/variables.css +140 -0
- package/dist/ui/client/utils/events.d.ts +19 -0
- package/dist/ui/client/utils/events.d.ts.map +1 -0
- package/dist/ui/client/utils/events.js +54 -0
- package/dist/ui/client/utils/events.js.map +1 -0
- package/dist/ui/client/utils/formatting.d.ts +11 -0
- package/dist/ui/client/utils/formatting.d.ts.map +1 -0
- package/dist/ui/client/utils/formatting.js +104 -0
- package/dist/ui/client/utils/formatting.js.map +1 -0
- package/dist/ui/client/utils/router.d.ts +25 -0
- package/dist/ui/client/utils/router.d.ts.map +1 -0
- package/dist/ui/client/utils/router.js +90 -0
- package/dist/ui/client/utils/router.js.map +1 -0
- package/dist/ui/guiServer.d.ts +11 -5
- package/dist/ui/guiServer.d.ts.map +1 -1
- package/dist/ui/guiServer.js +180 -501
- package/dist/ui/guiServer.js.map +1 -1
- package/dist/ui/menu.js +18 -27
- package/dist/ui/menu.js.map +1 -1
- package/dist/ui/prompts.js +34 -47
- package/dist/ui/prompts.js.map +1 -1
- package/dist/ui/server/middleware/errorHandler.d.ts +19 -0
- package/dist/ui/server/middleware/errorHandler.d.ts.map +1 -0
- package/dist/ui/server/middleware/errorHandler.js +100 -0
- package/dist/ui/server/middleware/errorHandler.js.map +1 -0
- package/dist/ui/server/routes/apps.d.ts +8 -0
- package/dist/ui/server/routes/apps.d.ts.map +1 -0
- package/dist/ui/server/routes/apps.js +74 -0
- package/dist/ui/server/routes/apps.js.map +1 -0
- package/dist/ui/server/routes/dashboard.d.ts +4 -0
- package/dist/ui/server/routes/dashboard.d.ts.map +1 -0
- package/dist/ui/server/routes/dashboard.js +57 -0
- package/dist/ui/server/routes/dashboard.js.map +1 -0
- package/dist/ui/server/routes/settings.d.ts +6 -0
- package/dist/ui/server/routes/settings.d.ts.map +1 -0
- package/dist/ui/server/routes/settings.js +31 -0
- package/dist/ui/server/routes/settings.js.map +1 -0
- package/dist/ui/server/services/appService.d.ts +45 -0
- package/dist/ui/server/services/appService.d.ts.map +1 -0
- package/dist/ui/server/services/appService.js +114 -0
- package/dist/ui/server/services/appService.js.map +1 -0
- package/dist/ui/server/services/removalService.d.ts +24 -0
- package/dist/ui/server/services/removalService.d.ts.map +1 -0
- package/dist/ui/server/services/removalService.js +83 -0
- package/dist/ui/server/services/removalService.js.map +1 -0
- package/dist/utils/filesystem.js +32 -49
- package/dist/utils/filesystem.js.map +1 -1
- package/dist/utils/logger.js +9 -18
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/platform.js +10 -22
- package/dist/utils/platform.js.map +1 -1
- package/dist/utils/upgrade.d.ts +2 -1
- package/dist/utils/upgrade.d.ts.map +1 -1
- package/dist/utils/upgrade.js +24 -15
- package/dist/utils/upgrade.js.map +1 -1
- package/package.json +4 -2
- package/scripts/publish-npm.sh +64 -0
- package/src/core/appUpdateChecker.ts +1 -1
- package/src/core/detector.ts +6 -6
- package/src/core/duplicateFileFinder.ts +1 -1
- package/src/core/orphanedDependencyDetector.ts +2 -2
- package/src/core/performanceOptimizer.ts +1 -1
- package/src/core/permissionHandler.ts +2 -2
- package/src/core/pluginSystem.ts +1 -1
- package/src/core/removalRecorder.ts +2 -2
- package/src/core/remover.ts +11 -11
- package/src/core/reportGenerator.ts +2 -2
- package/src/core/scheduledCleanup.ts +2 -2
- package/src/core/serviceFileDetector.ts +2 -2
- package/src/core/verificationModule.ts +2 -2
- package/src/index.ts +8 -8
- package/src/managers/brewManager.ts +3 -3
- package/src/managers/customManager.ts +2 -2
- package/src/managers/linuxManager.ts +3 -3
- package/src/managers/npmManager.ts +3 -3
- package/src/ui/client/api/client.ts +168 -0
- package/src/ui/client/app.ts +125 -0
- package/src/ui/client/index.html +107 -0
- package/src/ui/client/pages/appDetails.ts +356 -0
- package/src/ui/client/pages/appSearch.ts +283 -0
- package/src/ui/client/pages/dashboard.ts +211 -0
- package/src/ui/client/pages/settings.ts +342 -0
- package/src/ui/client/state/appStore.ts +181 -0
- package/src/ui/client/state/dashboardStore.ts +123 -0
- package/src/ui/client/state/uiStore.ts +166 -0
- package/src/ui/client/styles/animations.css +349 -0
- package/src/ui/client/styles/base.css +214 -0
- package/src/ui/client/styles/components.css +400 -0
- package/src/ui/client/styles/layout.css +224 -0
- package/src/ui/client/styles/variables.css +140 -0
- package/src/ui/client/utils/events.ts +74 -0
- package/src/ui/client/utils/formatting.ts +157 -0
- package/src/ui/client/utils/router.ts +161 -0
- package/src/ui/guiServer.ts +245 -498
- package/src/ui/prompts.ts +1 -1
- package/src/ui/server/middleware/errorHandler.ts +174 -0
- package/src/ui/server/routes/apps.ts +132 -0
- package/src/ui/server/routes/dashboard.ts +93 -0
- package/src/ui/server/routes/settings.ts +63 -0
- package/src/ui/server/services/appService.ts +184 -0
- package/src/ui/server/services/removalService.ts +138 -0
- package/src/utils/upgrade.ts +19 -2
- package/tsconfig.json +3 -2
- package/INDEX.md +0 -165
- /package/{ACTION_CHECKLIST.md → MD_Files/ACTION_CHECKLIST.md} +0 -0
- /package/{APPCLEAN_SUMMARY.md → MD_Files/APPCLEAN_SUMMARY.md} +0 -0
- /package/{CHANGELOG.md → MD_Files/CHANGELOG.md} +0 -0
- /package/{CODE_OF_CONDUCT.md → MD_Files/CODE_OF_CONDUCT.md} +0 -0
- /package/{CODE_REVIEW_REPORT.md → MD_Files/CODE_REVIEW_REPORT.md} +0 -0
- /package/{COMMUNITY_POSTS.md → MD_Files/COMMUNITY_POSTS.md} +0 -0
- /package/{DEPLOYMENT_GUIDE.md → MD_Files/DEPLOYMENT_GUIDE.md} +0 -0
- /package/{DEPLOYMENT_STATUS.md → MD_Files/DEPLOYMENT_STATUS.md} +0 -0
- /package/{EXECUTIVE_REPORT.md → MD_Files/EXECUTIVE_REPORT.md} +0 -0
- /package/{GITHUB_OPTIMIZATION.md → MD_Files/GITHUB_OPTIMIZATION.md} +0 -0
- /package/{MARKETING_SUMMARY.md → MD_Files/MARKETING_SUMMARY.md} +0 -0
- /package/{NPM_PACKAGE_OPTIMIZATION.md → MD_Files/NPM_PACKAGE_OPTIMIZATION.md} +0 -0
- /package/{NPM_PUBLISH.md → MD_Files/NPM_PUBLISH.md} +0 -0
- /package/{PROJECT_SUMMARY.txt → MD_Files/PROJECT_SUMMARY.txt} +0 -0
- /package/{PUBLICATION_SUCCESS_REPORT.md → MD_Files/PUBLICATION_SUCCESS_REPORT.md} +0 -0
- /package/{QUICKSTART.md → MD_Files/QUICKSTART.md} +0 -0
- /package/{SETUP_GITHUB.md → MD_Files/SETUP_GITHUB.md} +0 -0
- /package/{TESTING_SUMMARY.md → MD_Files/TESTING_SUMMARY.md} +0 -0
- /package/{setup-github.sh → MD_Files/setup-github.sh} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,59 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
const commander_1 = require("commander");
|
|
41
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
-
const ora_1 = __importDefault(require("ora"));
|
|
43
|
-
const detector_1 = require("./core/detector");
|
|
44
|
-
const remover_1 = require("./core/remover");
|
|
45
|
-
const guiServer_1 = require("./ui/guiServer");
|
|
46
|
-
const menu_1 = require("./ui/menu");
|
|
47
|
-
const prompts_1 = require("./ui/prompts");
|
|
48
|
-
const logger_1 = require("./utils/logger");
|
|
49
|
-
const upgrade_1 = require("./utils/upgrade");
|
|
50
|
-
const VERSION = '1.9.0';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import ora from 'ora';
|
|
5
|
+
import { Detector } from './core/detector.js';
|
|
6
|
+
import { Remover } from './core/remover.js';
|
|
7
|
+
import { GUIServer } from './ui/guiServer.js';
|
|
8
|
+
import { showMainMenu, showAppMenu, showHeader, showHelp, } from './ui/menu.js';
|
|
9
|
+
import { promptSearchQuery, promptSelectApp, promptConfirmRemoval, promptRemovalOptions, promptInstallMethodFilter, promptSortBy, displayAppDetails, promptFinalConfirmation, } from './ui/prompts.js';
|
|
10
|
+
import { Logger, formatBytes } from './utils/logger.js';
|
|
11
|
+
import { UpgradeManager } from './utils/upgrade.js';
|
|
12
|
+
const VERSION = '2.0.2';
|
|
51
13
|
async function interactiveMode() {
|
|
52
|
-
|
|
53
|
-
const detector = new
|
|
14
|
+
showHeader();
|
|
15
|
+
const detector = new Detector();
|
|
54
16
|
let running = true;
|
|
55
17
|
while (running) {
|
|
56
|
-
const action = await
|
|
18
|
+
const action = await showMainMenu();
|
|
57
19
|
switch (action) {
|
|
58
20
|
case 'search': {
|
|
59
21
|
await handleSearch(detector);
|
|
@@ -64,36 +26,36 @@ async function interactiveMode() {
|
|
|
64
26
|
break;
|
|
65
27
|
}
|
|
66
28
|
case 'help': {
|
|
67
|
-
|
|
29
|
+
showHelp();
|
|
68
30
|
await new Promise((resolve) => setTimeout(resolve, 3000));
|
|
69
31
|
break;
|
|
70
32
|
}
|
|
71
33
|
case 'exit': {
|
|
72
34
|
running = false;
|
|
73
|
-
|
|
74
|
-
|
|
35
|
+
Logger.space();
|
|
36
|
+
Logger.info('Goodbye!');
|
|
75
37
|
break;
|
|
76
38
|
}
|
|
77
39
|
}
|
|
78
40
|
}
|
|
79
41
|
}
|
|
80
42
|
async function handleSearch(detector) {
|
|
81
|
-
|
|
82
|
-
const query = await
|
|
43
|
+
Logger.space();
|
|
44
|
+
const query = await promptSearchQuery();
|
|
83
45
|
if (!query.trim()) {
|
|
84
|
-
|
|
46
|
+
Logger.warn('Please enter a search query');
|
|
85
47
|
return;
|
|
86
48
|
}
|
|
87
|
-
const spinner = (
|
|
49
|
+
const spinner = ora('Searching for apps...').start();
|
|
88
50
|
try {
|
|
89
51
|
const results = await detector.searchApps({ query });
|
|
90
52
|
spinner.succeed(`Found ${results.length} app(s)`);
|
|
91
|
-
|
|
53
|
+
Logger.space();
|
|
92
54
|
if (results.length === 0) {
|
|
93
|
-
|
|
55
|
+
Logger.warn('No apps found matching your query');
|
|
94
56
|
return;
|
|
95
57
|
}
|
|
96
|
-
const selectedApp = await
|
|
58
|
+
const selectedApp = await promptSelectApp(results);
|
|
97
59
|
if (!selectedApp) {
|
|
98
60
|
return;
|
|
99
61
|
}
|
|
@@ -104,30 +66,30 @@ async function handleSearch(detector) {
|
|
|
104
66
|
}
|
|
105
67
|
}
|
|
106
68
|
async function handleListAll(detector) {
|
|
107
|
-
|
|
108
|
-
const filterMethod = await
|
|
109
|
-
const sortBy = await
|
|
110
|
-
const spinner = (
|
|
69
|
+
Logger.space();
|
|
70
|
+
const filterMethod = await promptInstallMethodFilter();
|
|
71
|
+
const sortBy = await promptSortBy();
|
|
72
|
+
const spinner = ora('Scanning installed apps...').start();
|
|
111
73
|
try {
|
|
112
74
|
const apps = await detector.searchApps({
|
|
113
75
|
installMethod: filterMethod || undefined,
|
|
114
76
|
sortBy,
|
|
115
77
|
});
|
|
116
78
|
spinner.succeed(`Found ${apps.length} app(s)`);
|
|
117
|
-
|
|
79
|
+
Logger.space();
|
|
118
80
|
if (apps.length === 0) {
|
|
119
|
-
|
|
81
|
+
Logger.warn('No apps found');
|
|
120
82
|
return;
|
|
121
83
|
}
|
|
122
84
|
const table = apps.map((app) => ({
|
|
123
85
|
Name: app.name,
|
|
124
86
|
Version: app.version,
|
|
125
87
|
Method: app.installMethod,
|
|
126
|
-
Size: app.size ?
|
|
88
|
+
Size: app.size ? formatBytes(app.size) : 'N/A',
|
|
127
89
|
}));
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const selectedApp = await
|
|
90
|
+
Logger.table(table);
|
|
91
|
+
Logger.space();
|
|
92
|
+
const selectedApp = await promptSelectApp(apps);
|
|
131
93
|
if (!selectedApp) {
|
|
132
94
|
return;
|
|
133
95
|
}
|
|
@@ -138,16 +100,16 @@ async function handleListAll(detector) {
|
|
|
138
100
|
}
|
|
139
101
|
}
|
|
140
102
|
async function handleAppSelected(app, detector) {
|
|
141
|
-
|
|
142
|
-
const action = await
|
|
103
|
+
Logger.space();
|
|
104
|
+
const action = await showAppMenu();
|
|
143
105
|
switch (action) {
|
|
144
106
|
case 'details': {
|
|
145
|
-
const spinner = (
|
|
107
|
+
const spinner = ora('Analyzing artifacts...').start();
|
|
146
108
|
try {
|
|
147
109
|
const artifacts = await detector.findArtifacts(app.name, app.installMethod);
|
|
148
110
|
spinner.succeed('Analysis complete');
|
|
149
|
-
|
|
150
|
-
|
|
111
|
+
displayAppDetails(app, artifacts);
|
|
112
|
+
Logger.space();
|
|
151
113
|
}
|
|
152
114
|
catch (error) {
|
|
153
115
|
spinner.fail(error.message);
|
|
@@ -164,46 +126,46 @@ async function handleAppSelected(app, detector) {
|
|
|
164
126
|
}
|
|
165
127
|
}
|
|
166
128
|
async function handleRemoveApp(app, detector) {
|
|
167
|
-
const confirmed = await
|
|
129
|
+
const confirmed = await promptConfirmRemoval(app.name);
|
|
168
130
|
if (!confirmed) {
|
|
169
|
-
|
|
131
|
+
Logger.info('Removal cancelled');
|
|
170
132
|
return;
|
|
171
133
|
}
|
|
172
|
-
const options = await
|
|
173
|
-
|
|
174
|
-
const spinner = (
|
|
134
|
+
const options = await promptRemovalOptions();
|
|
135
|
+
Logger.space();
|
|
136
|
+
const spinner = ora('Analyzing artifacts...').start();
|
|
175
137
|
try {
|
|
176
138
|
const artifacts = await detector.findArtifacts(app.name, app.installMethod);
|
|
177
139
|
spinner.succeed('Analysis complete');
|
|
178
|
-
const remover = new
|
|
140
|
+
const remover = new Remover();
|
|
179
141
|
if (options.dryRun) {
|
|
180
|
-
|
|
181
|
-
|
|
142
|
+
Logger.info(`${chalk.bold('DRY RUN:')} Preview of files to be removed:`);
|
|
143
|
+
Logger.space();
|
|
182
144
|
await remover.previewRemoval(artifacts);
|
|
183
|
-
|
|
184
|
-
|
|
145
|
+
Logger.space();
|
|
146
|
+
Logger.warn('This is a preview only. No files were removed.');
|
|
185
147
|
}
|
|
186
148
|
else {
|
|
187
|
-
const finalConfirm = await
|
|
149
|
+
const finalConfirm = await promptFinalConfirmation(app.name);
|
|
188
150
|
if (!finalConfirm) {
|
|
189
|
-
|
|
151
|
+
Logger.info('Removal cancelled');
|
|
190
152
|
return;
|
|
191
153
|
}
|
|
192
|
-
const removeSpinner = (
|
|
154
|
+
const removeSpinner = ora('Removing app and artifacts...').start();
|
|
193
155
|
try {
|
|
194
156
|
const result = await remover.removeApp(app.name, app.installMethod, artifacts, {
|
|
195
157
|
createBackup: options.createBackup,
|
|
196
158
|
});
|
|
197
159
|
if (result.success) {
|
|
198
|
-
removeSpinner.succeed(`Successfully removed ${app.name} (freed ${
|
|
160
|
+
removeSpinner.succeed(`Successfully removed ${app.name} (freed ${formatBytes(result.freedSpace)})`);
|
|
199
161
|
if (result.backupPath) {
|
|
200
|
-
|
|
162
|
+
Logger.info(`Backup saved at: ${result.backupPath}`);
|
|
201
163
|
}
|
|
202
164
|
}
|
|
203
165
|
else {
|
|
204
166
|
removeSpinner.warn(`Removal completed with issues`);
|
|
205
167
|
if (result.errors && result.errors.length > 0) {
|
|
206
|
-
|
|
168
|
+
Logger.warn('Errors:');
|
|
207
169
|
result.errors.forEach((error) => console.log(` • ${error}`));
|
|
208
170
|
}
|
|
209
171
|
}
|
|
@@ -216,10 +178,10 @@ async function handleRemoveApp(app, detector) {
|
|
|
216
178
|
catch (error) {
|
|
217
179
|
spinner.fail(error.message);
|
|
218
180
|
}
|
|
219
|
-
|
|
181
|
+
Logger.space();
|
|
220
182
|
}
|
|
221
183
|
async function main() {
|
|
222
|
-
const program = new
|
|
184
|
+
const program = new Command();
|
|
223
185
|
program
|
|
224
186
|
.name('appclean')
|
|
225
187
|
.description('Intelligently find and remove applications with all their artifacts')
|
|
@@ -228,18 +190,18 @@ async function main() {
|
|
|
228
190
|
.command('search [query]')
|
|
229
191
|
.description('Search for installed applications')
|
|
230
192
|
.action(async (query) => {
|
|
231
|
-
const detector = new
|
|
232
|
-
const searchQuery = query || (await
|
|
233
|
-
const spinner = (
|
|
193
|
+
const detector = new Detector();
|
|
194
|
+
const searchQuery = query || (await promptSearchQuery());
|
|
195
|
+
const spinner = ora('Searching for apps...').start();
|
|
234
196
|
try {
|
|
235
197
|
const results = await detector.searchApps({ query: searchQuery });
|
|
236
198
|
spinner.succeed(`Found ${results.length} app(s)`);
|
|
237
199
|
if (results.length === 0) {
|
|
238
|
-
|
|
200
|
+
Logger.warn('No apps found');
|
|
239
201
|
return;
|
|
240
202
|
}
|
|
241
|
-
|
|
242
|
-
const selectedApp = await
|
|
203
|
+
Logger.space();
|
|
204
|
+
const selectedApp = await promptSelectApp(results);
|
|
243
205
|
if (selectedApp) {
|
|
244
206
|
await handleAppSelected(selectedApp, detector);
|
|
245
207
|
}
|
|
@@ -252,22 +214,22 @@ async function main() {
|
|
|
252
214
|
.command('list')
|
|
253
215
|
.description('List all installed applications')
|
|
254
216
|
.action(async () => {
|
|
255
|
-
const detector = new
|
|
256
|
-
const spinner = (
|
|
217
|
+
const detector = new Detector();
|
|
218
|
+
const spinner = ora('Scanning installed apps...').start();
|
|
257
219
|
try {
|
|
258
220
|
const apps = await detector.searchApps({ sortBy: 'name' });
|
|
259
221
|
spinner.succeed(`Found ${apps.length} app(s)`);
|
|
260
222
|
if (apps.length === 0) {
|
|
261
|
-
|
|
223
|
+
Logger.warn('No apps found');
|
|
262
224
|
return;
|
|
263
225
|
}
|
|
264
|
-
|
|
226
|
+
Logger.space();
|
|
265
227
|
const table = apps.map((app) => ({
|
|
266
228
|
Name: app.name,
|
|
267
229
|
Version: app.version,
|
|
268
230
|
Method: app.installMethod,
|
|
269
231
|
}));
|
|
270
|
-
|
|
232
|
+
Logger.table(table);
|
|
271
233
|
}
|
|
272
234
|
catch (error) {
|
|
273
235
|
spinner.fail(error.message);
|
|
@@ -277,8 +239,8 @@ async function main() {
|
|
|
277
239
|
.command('analyze <appName>')
|
|
278
240
|
.description('Analyze an application and show its artifacts')
|
|
279
241
|
.action(async (appName) => {
|
|
280
|
-
const detector = new
|
|
281
|
-
const spinner = (
|
|
242
|
+
const detector = new Detector();
|
|
243
|
+
const spinner = ora('Analyzing app...').start();
|
|
282
244
|
try {
|
|
283
245
|
const apps = await detector.searchApps({ query: appName });
|
|
284
246
|
if (apps.length === 0) {
|
|
@@ -288,7 +250,7 @@ async function main() {
|
|
|
288
250
|
const app = apps[0];
|
|
289
251
|
const artifacts = await detector.findArtifacts(app.name, app.installMethod);
|
|
290
252
|
spinner.succeed('Analysis complete');
|
|
291
|
-
|
|
253
|
+
displayAppDetails(app, artifacts);
|
|
292
254
|
}
|
|
293
255
|
catch (error) {
|
|
294
256
|
spinner.fail(error.message);
|
|
@@ -301,8 +263,8 @@ async function main() {
|
|
|
301
263
|
.option('--backup', 'Create backup before removal')
|
|
302
264
|
.option('--force', 'Skip confirmation prompts')
|
|
303
265
|
.action(async (appName, options) => {
|
|
304
|
-
const detector = new
|
|
305
|
-
const spinner = (
|
|
266
|
+
const detector = new Detector();
|
|
267
|
+
const spinner = ora('Searching for app...').start();
|
|
306
268
|
try {
|
|
307
269
|
const apps = await detector.searchApps({ query: appName });
|
|
308
270
|
if (apps.length === 0) {
|
|
@@ -313,28 +275,28 @@ async function main() {
|
|
|
313
275
|
spinner.text = 'Analyzing artifacts...';
|
|
314
276
|
const artifacts = await detector.findArtifacts(app.name, app.installMethod);
|
|
315
277
|
spinner.succeed('Analysis complete');
|
|
316
|
-
const remover = new
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
278
|
+
const remover = new Remover();
|
|
279
|
+
Logger.space();
|
|
280
|
+
Logger.info(`App: ${chalk.cyan(app.name)}`);
|
|
281
|
+
Logger.info(`Method: ${chalk.yellow(app.installMethod)}`);
|
|
282
|
+
Logger.space();
|
|
321
283
|
if (options.dryRun) {
|
|
322
|
-
|
|
323
|
-
|
|
284
|
+
Logger.info('DRY RUN - Preview of files to be removed:');
|
|
285
|
+
Logger.space();
|
|
324
286
|
await remover.previewRemoval(artifacts);
|
|
325
287
|
}
|
|
326
288
|
else {
|
|
327
289
|
if (!options.force) {
|
|
328
|
-
const confirmed = await
|
|
290
|
+
const confirmed = await promptFinalConfirmation(app.name);
|
|
329
291
|
if (!confirmed) {
|
|
330
|
-
|
|
292
|
+
Logger.info('Removal cancelled');
|
|
331
293
|
return;
|
|
332
294
|
}
|
|
333
295
|
}
|
|
334
|
-
const removeSpinner = (
|
|
296
|
+
const removeSpinner = ora('Removing app...').start();
|
|
335
297
|
const result = await remover.removeApp(app.name, app.installMethod, artifacts, { createBackup: options.backup });
|
|
336
298
|
if (result.success) {
|
|
337
|
-
removeSpinner.succeed(`Removed ${app.name} (freed ${
|
|
299
|
+
removeSpinner.succeed(`Removed ${app.name} (freed ${formatBytes(result.freedSpace)})`);
|
|
338
300
|
}
|
|
339
301
|
else {
|
|
340
302
|
removeSpinner.warn('Removal completed with errors');
|
|
@@ -352,22 +314,22 @@ async function main() {
|
|
|
352
314
|
.action(async (options) => {
|
|
353
315
|
const port = parseInt(options.port, 10);
|
|
354
316
|
if (isNaN(port) || port < 1 || port > 65535) {
|
|
355
|
-
|
|
317
|
+
Logger.error('Invalid port number. Please use a port between 1 and 65535.');
|
|
356
318
|
process.exit(1);
|
|
357
319
|
}
|
|
358
|
-
const guiServer = new
|
|
320
|
+
const guiServer = new GUIServer(port);
|
|
359
321
|
try {
|
|
360
322
|
await guiServer.start();
|
|
361
|
-
|
|
362
|
-
|
|
323
|
+
Logger.info(`AppClean GUI is running at ${chalk.cyan(`http://localhost:${port}`)}`);
|
|
324
|
+
Logger.info('Press Ctrl+C to stop the server');
|
|
363
325
|
process.on('SIGINT', async () => {
|
|
364
|
-
|
|
326
|
+
Logger.info('Shutting down...');
|
|
365
327
|
await guiServer.stop();
|
|
366
328
|
process.exit(0);
|
|
367
329
|
});
|
|
368
330
|
}
|
|
369
331
|
catch (error) {
|
|
370
|
-
|
|
332
|
+
Logger.error(`Failed to start GUI server: ${error.message}`);
|
|
371
333
|
process.exit(1);
|
|
372
334
|
}
|
|
373
335
|
});
|
|
@@ -375,83 +337,83 @@ async function main() {
|
|
|
375
337
|
.command('upgrade')
|
|
376
338
|
.description('Upgrade AppClean to the latest version')
|
|
377
339
|
.action(async () => {
|
|
378
|
-
const upgradeManager = new
|
|
379
|
-
|
|
340
|
+
const upgradeManager = new UpgradeManager();
|
|
341
|
+
Logger.space();
|
|
380
342
|
try {
|
|
381
343
|
const result = await upgradeManager.upgrade();
|
|
382
344
|
if (result.success) {
|
|
383
|
-
|
|
345
|
+
Logger.success(result.message);
|
|
384
346
|
}
|
|
385
347
|
else {
|
|
386
|
-
|
|
348
|
+
Logger.warn(result.message);
|
|
387
349
|
}
|
|
388
350
|
}
|
|
389
351
|
catch (error) {
|
|
390
|
-
|
|
352
|
+
Logger.error(`Upgrade failed: ${error.message}`);
|
|
391
353
|
process.exit(1);
|
|
392
354
|
}
|
|
393
|
-
|
|
355
|
+
Logger.space();
|
|
394
356
|
});
|
|
395
357
|
program
|
|
396
358
|
.command('check-update')
|
|
397
359
|
.description('Check if a new version of AppClean is available')
|
|
398
360
|
.action(async () => {
|
|
399
|
-
const upgradeManager = new
|
|
400
|
-
|
|
361
|
+
const upgradeManager = new UpgradeManager();
|
|
362
|
+
Logger.space();
|
|
401
363
|
try {
|
|
402
364
|
const versionInfo = await upgradeManager.checkForUpdates();
|
|
403
|
-
|
|
404
|
-
|
|
365
|
+
Logger.info(`Current version: ${chalk.cyan(`v${versionInfo.current}`)}`);
|
|
366
|
+
Logger.info(`Latest version: ${chalk.cyan(`v${versionInfo.latest}`)}`);
|
|
405
367
|
if (versionInfo.isUpdateAvailable) {
|
|
406
|
-
|
|
368
|
+
Logger.warn(`A new version is available! Run ${chalk.bold('appclean upgrade')} to update.`);
|
|
407
369
|
}
|
|
408
370
|
else {
|
|
409
|
-
|
|
371
|
+
Logger.success('AppClean is up to date!');
|
|
410
372
|
}
|
|
411
373
|
}
|
|
412
374
|
catch (error) {
|
|
413
|
-
|
|
375
|
+
Logger.error(`Failed to check for updates: ${error.message}`);
|
|
414
376
|
process.exit(1);
|
|
415
377
|
}
|
|
416
|
-
|
|
378
|
+
Logger.space();
|
|
417
379
|
});
|
|
418
380
|
program
|
|
419
381
|
.command('uninstall')
|
|
420
382
|
.description('Uninstall AppClean from your system')
|
|
421
383
|
.option('--force', 'Skip confirmation prompt')
|
|
422
384
|
.action(async (options) => {
|
|
423
|
-
|
|
424
|
-
|
|
385
|
+
Logger.space();
|
|
386
|
+
Logger.warn('⚠️ This will uninstall AppClean from your system.');
|
|
425
387
|
if (!options.force) {
|
|
426
|
-
const { promptConfirmRemoval } = await
|
|
388
|
+
const { promptConfirmRemoval } = await import('./ui/prompts');
|
|
427
389
|
const confirmed = await promptConfirmRemoval('AppClean');
|
|
428
390
|
if (!confirmed) {
|
|
429
|
-
|
|
430
|
-
|
|
391
|
+
Logger.info('Uninstall cancelled');
|
|
392
|
+
Logger.space();
|
|
431
393
|
return;
|
|
432
394
|
}
|
|
433
395
|
}
|
|
434
|
-
const upgradeManager = new
|
|
396
|
+
const upgradeManager = new UpgradeManager();
|
|
435
397
|
try {
|
|
436
398
|
const result = await upgradeManager.uninstall();
|
|
437
399
|
if (result.success) {
|
|
438
|
-
|
|
439
|
-
|
|
400
|
+
Logger.success(result.message);
|
|
401
|
+
Logger.info('Thank you for using AppClean!');
|
|
440
402
|
}
|
|
441
403
|
else {
|
|
442
|
-
|
|
404
|
+
Logger.warn(result.message);
|
|
443
405
|
}
|
|
444
406
|
}
|
|
445
407
|
catch (error) {
|
|
446
|
-
|
|
408
|
+
Logger.error(`Uninstall failed: ${error.message}`);
|
|
447
409
|
process.exit(1);
|
|
448
410
|
}
|
|
449
|
-
|
|
411
|
+
Logger.space();
|
|
450
412
|
});
|
|
451
413
|
program.on('command:*', () => {
|
|
452
414
|
if (process.argv.length < 3) {
|
|
453
415
|
interactiveMode().catch((error) => {
|
|
454
|
-
|
|
416
|
+
Logger.error(error.message);
|
|
455
417
|
process.exit(1);
|
|
456
418
|
});
|
|
457
419
|
}
|
|
@@ -459,13 +421,13 @@ async function main() {
|
|
|
459
421
|
program.parse(process.argv);
|
|
460
422
|
if (process.argv.length < 3) {
|
|
461
423
|
interactiveMode().catch((error) => {
|
|
462
|
-
|
|
424
|
+
Logger.error(error.message);
|
|
463
425
|
process.exit(1);
|
|
464
426
|
});
|
|
465
427
|
}
|
|
466
428
|
}
|
|
467
429
|
main().catch((error) => {
|
|
468
|
-
|
|
430
|
+
Logger.error(error.message);
|
|
469
431
|
process.exit(1);
|
|
470
432
|
});
|
|
471
433
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|