appclean 1.8.0 → 2.0.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.
Files changed (211) hide show
  1. package/GUI_IMPLEMENTATION_STATUS.md +143 -0
  2. package/MD_Files/INDEX.md +51 -0
  3. package/MD_Files/PUBLICATION_SUCCESS_REPORT.md +227 -0
  4. package/PHASE2_COMPLETION.md +281 -0
  5. package/PHASE3_COMPLETION.md +364 -0
  6. package/README.md +446 -376
  7. package/assets/logo.svg +34 -0
  8. package/dist/core/appUpdateChecker.js +12 -16
  9. package/dist/core/appUpdateChecker.js.map +1 -1
  10. package/dist/core/detector.js +14 -18
  11. package/dist/core/detector.js.map +1 -1
  12. package/dist/core/duplicateFileFinder.js +12 -19
  13. package/dist/core/duplicateFileFinder.js.map +1 -1
  14. package/dist/core/orphanedDependencyDetector.js +19 -26
  15. package/dist/core/orphanedDependencyDetector.js.map +1 -1
  16. package/dist/core/performanceOptimizer.js +6 -10
  17. package/dist/core/performanceOptimizer.js.map +1 -1
  18. package/dist/core/permissionHandler.js +21 -25
  19. package/dist/core/permissionHandler.js.map +1 -1
  20. package/dist/core/pluginSystem.js +9 -13
  21. package/dist/core/pluginSystem.js.map +1 -1
  22. package/dist/core/removalRecorder.js +12 -19
  23. package/dist/core/removalRecorder.js.map +1 -1
  24. package/dist/core/remover.js +59 -66
  25. package/dist/core/remover.js.map +1 -1
  26. package/dist/core/reportGenerator.d.ts +1 -1
  27. package/dist/core/reportGenerator.d.ts.map +1 -1
  28. package/dist/core/reportGenerator.js +27 -34
  29. package/dist/core/reportGenerator.js.map +1 -1
  30. package/dist/core/scheduledCleanup.js +23 -30
  31. package/dist/core/scheduledCleanup.js.map +1 -1
  32. package/dist/core/serviceFileDetector.js +24 -31
  33. package/dist/core/serviceFileDetector.js.map +1 -1
  34. package/dist/core/verificationModule.js +10 -14
  35. package/dist/core/verificationModule.js.map +1 -1
  36. package/dist/index.js +190 -90
  37. package/dist/index.js.map +1 -1
  38. package/dist/managers/brewManager.d.ts.map +1 -1
  39. package/dist/managers/brewManager.js +35 -41
  40. package/dist/managers/brewManager.js.map +1 -1
  41. package/dist/managers/customManager.d.ts +2 -1
  42. package/dist/managers/customManager.d.ts.map +1 -1
  43. package/dist/managers/customManager.js +79 -53
  44. package/dist/managers/customManager.js.map +1 -1
  45. package/dist/managers/linuxManager.js +29 -36
  46. package/dist/managers/linuxManager.js.map +1 -1
  47. package/dist/managers/npmManager.js +27 -34
  48. package/dist/managers/npmManager.js.map +1 -1
  49. package/dist/types/index.js +1 -2
  50. package/dist/ui/client/api/client.d.ts +24 -0
  51. package/dist/ui/client/api/client.d.ts.map +1 -0
  52. package/dist/ui/client/api/client.js +96 -0
  53. package/dist/ui/client/api/client.js.map +1 -0
  54. package/dist/ui/client/app.d.ts +7 -0
  55. package/dist/ui/client/app.d.ts.map +1 -0
  56. package/dist/ui/client/app.js +71 -0
  57. package/dist/ui/client/app.js.map +1 -0
  58. package/dist/ui/client/index.html +107 -0
  59. package/dist/ui/client/pages/appDetails.d.ts +8 -0
  60. package/dist/ui/client/pages/appDetails.d.ts.map +1 -0
  61. package/dist/ui/client/pages/appDetails.js +287 -0
  62. package/dist/ui/client/pages/appDetails.js.map +1 -0
  63. package/dist/ui/client/pages/appSearch.d.ts +2 -0
  64. package/dist/ui/client/pages/appSearch.d.ts.map +1 -0
  65. package/dist/ui/client/pages/appSearch.js +210 -0
  66. package/dist/ui/client/pages/appSearch.js.map +1 -0
  67. package/dist/ui/client/pages/dashboard.d.ts +2 -0
  68. package/dist/ui/client/pages/dashboard.d.ts.map +1 -0
  69. package/dist/ui/client/pages/dashboard.js +154 -0
  70. package/dist/ui/client/pages/dashboard.js.map +1 -0
  71. package/dist/ui/client/pages/settings.d.ts +7 -0
  72. package/dist/ui/client/pages/settings.d.ts.map +1 -0
  73. package/dist/ui/client/pages/settings.js +279 -0
  74. package/dist/ui/client/pages/settings.js.map +1 -0
  75. package/dist/ui/client/state/appStore.d.ts +38 -0
  76. package/dist/ui/client/state/appStore.d.ts.map +1 -0
  77. package/dist/ui/client/state/appStore.js +121 -0
  78. package/dist/ui/client/state/appStore.js.map +1 -0
  79. package/dist/ui/client/state/dashboardStore.d.ts +31 -0
  80. package/dist/ui/client/state/dashboardStore.d.ts.map +1 -0
  81. package/dist/ui/client/state/dashboardStore.js +70 -0
  82. package/dist/ui/client/state/dashboardStore.js.map +1 -0
  83. package/dist/ui/client/state/uiStore.d.ts +43 -0
  84. package/dist/ui/client/state/uiStore.d.ts.map +1 -0
  85. package/dist/ui/client/state/uiStore.js +109 -0
  86. package/dist/ui/client/state/uiStore.js.map +1 -0
  87. package/dist/ui/client/styles/animations.css +327 -0
  88. package/dist/ui/client/styles/base.css +214 -0
  89. package/dist/ui/client/styles/components.css +400 -0
  90. package/dist/ui/client/styles/layout.css +224 -0
  91. package/dist/ui/client/styles/variables.css +140 -0
  92. package/dist/ui/client/utils/events.d.ts +19 -0
  93. package/dist/ui/client/utils/events.d.ts.map +1 -0
  94. package/dist/ui/client/utils/events.js +54 -0
  95. package/dist/ui/client/utils/events.js.map +1 -0
  96. package/dist/ui/client/utils/formatting.d.ts +11 -0
  97. package/dist/ui/client/utils/formatting.d.ts.map +1 -0
  98. package/dist/ui/client/utils/formatting.js +104 -0
  99. package/dist/ui/client/utils/formatting.js.map +1 -0
  100. package/dist/ui/client/utils/router.d.ts +25 -0
  101. package/dist/ui/client/utils/router.d.ts.map +1 -0
  102. package/dist/ui/client/utils/router.js +90 -0
  103. package/dist/ui/client/utils/router.js.map +1 -0
  104. package/dist/ui/guiServer.d.ts +8 -1
  105. package/dist/ui/guiServer.d.ts.map +1 -1
  106. package/dist/ui/guiServer.js +148 -110
  107. package/dist/ui/guiServer.js.map +1 -1
  108. package/dist/ui/menu.js +18 -27
  109. package/dist/ui/menu.js.map +1 -1
  110. package/dist/ui/prompts.js +34 -47
  111. package/dist/ui/prompts.js.map +1 -1
  112. package/dist/ui/server/middleware/errorHandler.d.ts +19 -0
  113. package/dist/ui/server/middleware/errorHandler.d.ts.map +1 -0
  114. package/dist/ui/server/middleware/errorHandler.js +100 -0
  115. package/dist/ui/server/middleware/errorHandler.js.map +1 -0
  116. package/dist/ui/server/routes/apps.d.ts +8 -0
  117. package/dist/ui/server/routes/apps.d.ts.map +1 -0
  118. package/dist/ui/server/routes/apps.js +74 -0
  119. package/dist/ui/server/routes/apps.js.map +1 -0
  120. package/dist/ui/server/routes/dashboard.d.ts +4 -0
  121. package/dist/ui/server/routes/dashboard.d.ts.map +1 -0
  122. package/dist/ui/server/routes/dashboard.js +57 -0
  123. package/dist/ui/server/routes/dashboard.js.map +1 -0
  124. package/dist/ui/server/routes/settings.d.ts +6 -0
  125. package/dist/ui/server/routes/settings.d.ts.map +1 -0
  126. package/dist/ui/server/routes/settings.js +31 -0
  127. package/dist/ui/server/routes/settings.js.map +1 -0
  128. package/dist/ui/server/services/appService.d.ts +45 -0
  129. package/dist/ui/server/services/appService.d.ts.map +1 -0
  130. package/dist/ui/server/services/appService.js +114 -0
  131. package/dist/ui/server/services/appService.js.map +1 -0
  132. package/dist/ui/server/services/removalService.d.ts +24 -0
  133. package/dist/ui/server/services/removalService.d.ts.map +1 -0
  134. package/dist/ui/server/services/removalService.js +83 -0
  135. package/dist/ui/server/services/removalService.js.map +1 -0
  136. package/dist/utils/filesystem.js +32 -49
  137. package/dist/utils/filesystem.js.map +1 -1
  138. package/dist/utils/logger.js +9 -18
  139. package/dist/utils/logger.js.map +1 -1
  140. package/dist/utils/platform.js +10 -22
  141. package/dist/utils/platform.js.map +1 -1
  142. package/dist/utils/upgrade.d.ts +22 -0
  143. package/dist/utils/upgrade.d.ts.map +1 -0
  144. package/dist/utils/upgrade.js +94 -0
  145. package/dist/utils/upgrade.js.map +1 -0
  146. package/package.json +4 -2
  147. package/src/core/appUpdateChecker.ts +1 -1
  148. package/src/core/detector.ts +6 -6
  149. package/src/core/duplicateFileFinder.ts +1 -1
  150. package/src/core/orphanedDependencyDetector.ts +2 -2
  151. package/src/core/performanceOptimizer.ts +1 -1
  152. package/src/core/permissionHandler.ts +2 -2
  153. package/src/core/pluginSystem.ts +1 -1
  154. package/src/core/removalRecorder.ts +2 -2
  155. package/src/core/remover.ts +11 -11
  156. package/src/core/reportGenerator.ts +2 -2
  157. package/src/core/scheduledCleanup.ts +2 -2
  158. package/src/core/serviceFileDetector.ts +2 -2
  159. package/src/core/verificationModule.ts +2 -2
  160. package/src/index.ts +133 -6
  161. package/src/managers/brewManager.ts +11 -9
  162. package/src/managers/customManager.ts +71 -30
  163. package/src/managers/linuxManager.ts +3 -3
  164. package/src/managers/npmManager.ts +3 -3
  165. package/src/ui/client/api/client.ts +163 -0
  166. package/src/ui/client/app.ts +121 -0
  167. package/src/ui/client/index.html +107 -0
  168. package/src/ui/client/pages/appDetails.ts +356 -0
  169. package/src/ui/client/pages/appSearch.ts +270 -0
  170. package/src/ui/client/pages/dashboard.ts +189 -0
  171. package/src/ui/client/pages/settings.ts +342 -0
  172. package/src/ui/client/state/appStore.ts +169 -0
  173. package/src/ui/client/state/dashboardStore.ts +113 -0
  174. package/src/ui/client/state/uiStore.ts +166 -0
  175. package/src/ui/client/styles/animations.css +327 -0
  176. package/src/ui/client/styles/base.css +214 -0
  177. package/src/ui/client/styles/components.css +400 -0
  178. package/src/ui/client/styles/layout.css +224 -0
  179. package/src/ui/client/styles/variables.css +140 -0
  180. package/src/ui/client/utils/events.ts +74 -0
  181. package/src/ui/client/utils/formatting.ts +157 -0
  182. package/src/ui/client/utils/router.ts +161 -0
  183. package/src/ui/guiServer.ts +206 -105
  184. package/src/ui/prompts.ts +1 -1
  185. package/src/ui/server/middleware/errorHandler.ts +174 -0
  186. package/src/ui/server/routes/apps.ts +132 -0
  187. package/src/ui/server/routes/dashboard.ts +93 -0
  188. package/src/ui/server/routes/settings.ts +63 -0
  189. package/src/ui/server/services/appService.ts +184 -0
  190. package/src/ui/server/services/removalService.ts +138 -0
  191. package/src/utils/upgrade.ts +143 -0
  192. package/tsconfig.json +3 -2
  193. package/INDEX.md +0 -165
  194. /package/{ACTION_CHECKLIST.md → MD_Files/ACTION_CHECKLIST.md} +0 -0
  195. /package/{APPCLEAN_SUMMARY.md → MD_Files/APPCLEAN_SUMMARY.md} +0 -0
  196. /package/{CHANGELOG.md → MD_Files/CHANGELOG.md} +0 -0
  197. /package/{CODE_OF_CONDUCT.md → MD_Files/CODE_OF_CONDUCT.md} +0 -0
  198. /package/{CODE_REVIEW_REPORT.md → MD_Files/CODE_REVIEW_REPORT.md} +0 -0
  199. /package/{COMMUNITY_POSTS.md → MD_Files/COMMUNITY_POSTS.md} +0 -0
  200. /package/{DEPLOYMENT_GUIDE.md → MD_Files/DEPLOYMENT_GUIDE.md} +0 -0
  201. /package/{DEPLOYMENT_STATUS.md → MD_Files/DEPLOYMENT_STATUS.md} +0 -0
  202. /package/{EXECUTIVE_REPORT.md → MD_Files/EXECUTIVE_REPORT.md} +0 -0
  203. /package/{GITHUB_OPTIMIZATION.md → MD_Files/GITHUB_OPTIMIZATION.md} +0 -0
  204. /package/{MARKETING_SUMMARY.md → MD_Files/MARKETING_SUMMARY.md} +0 -0
  205. /package/{NPM_PACKAGE_OPTIMIZATION.md → MD_Files/NPM_PACKAGE_OPTIMIZATION.md} +0 -0
  206. /package/{NPM_PUBLISH.md → MD_Files/NPM_PUBLISH.md} +0 -0
  207. /package/{PROJECT_SUMMARY.txt → MD_Files/PROJECT_SUMMARY.txt} +0 -0
  208. /package/{QUICKSTART.md → MD_Files/QUICKSTART.md} +0 -0
  209. /package/{SETUP_GITHUB.md → MD_Files/SETUP_GITHUB.md} +0 -0
  210. /package/{TESTING_SUMMARY.md → MD_Files/TESTING_SUMMARY.md} +0 -0
  211. /package/{setup-github.sh → MD_Files/setup-github.sh} +0 -0
@@ -1,21 +1,15 @@
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.BrewManager = void 0;
7
- const child_process_1 = require("child_process");
8
- const path_1 = __importDefault(require("path"));
9
- const platform_1 = require("../utils/platform");
10
- const filesystem_1 = require("../utils/filesystem");
11
- const logger_1 = require("../utils/logger");
12
- class BrewManager {
1
+ import { execSync } from 'child_process';
2
+ import path from 'path';
3
+ import { getHomeDir } from '../utils/platform.js';
4
+ import { pathExists, listDirectory } from '../utils/filesystem.js';
5
+ import { Logger } from '../utils/logger.js';
6
+ export class BrewManager {
13
7
  constructor() {
14
8
  this.brewPrefix = this.getBrewPrefix();
15
9
  }
16
10
  getBrewPrefix() {
17
11
  try {
18
- return (0, child_process_1.execSync)('brew --prefix').toString().trim();
12
+ return execSync('brew --prefix').toString().trim();
19
13
  }
20
14
  catch {
21
15
  if (process.arch === 'arm64') {
@@ -27,29 +21,30 @@ class BrewManager {
27
21
  async getInstalledPackages() {
28
22
  const packages = [];
29
23
  try {
30
- const output = (0, child_process_1.execSync)('brew list --json').toString();
31
- const data = JSON.parse(output);
32
- for (const pkg of data) {
33
- const cellPath = path_1.default.join(this.brewPrefix, 'Cellar', pkg);
24
+ const output = execSync('brew list -1').toString();
25
+ const lines = output.split('\n').filter((line) => line.trim().length > 0);
26
+ for (const pkg of lines) {
27
+ const packageName = pkg.trim();
28
+ const cellarPath = path.join(this.brewPrefix, 'Cellar', packageName);
34
29
  packages.push({
35
- name: pkg,
30
+ name: packageName,
36
31
  version: 'unknown',
37
32
  installMethod: 'brew',
38
- mainPath: cellPath,
33
+ mainPath: cellarPath,
39
34
  installedDate: undefined,
40
35
  });
41
36
  }
42
37
  }
43
38
  catch (error) {
44
- logger_1.Logger.debug('Failed to get brew packages: ' + error.message);
39
+ Logger.debug('Failed to get brew packages: ' + error.message);
45
40
  }
46
41
  return packages;
47
42
  }
48
43
  async findArtifacts(appName) {
49
44
  const artifacts = [];
50
- const home = (0, platform_1.getHomeDir)();
51
- const cellarPath = path_1.default.join(this.brewPrefix, 'Cellar', appName);
52
- if ((0, filesystem_1.pathExists)(cellarPath)) {
45
+ const home = getHomeDir();
46
+ const cellarPath = path.join(this.brewPrefix, 'Cellar', appName);
47
+ if (pathExists(cellarPath)) {
53
48
  artifacts.push({
54
49
  path: cellarPath,
55
50
  type: 'other',
@@ -57,8 +52,8 @@ class BrewManager {
57
52
  description: 'Cellar directory',
58
53
  });
59
54
  }
60
- const binPath = path_1.default.join(this.brewPrefix, 'bin', appName);
61
- if ((0, filesystem_1.pathExists)(binPath)) {
55
+ const binPath = path.join(this.brewPrefix, 'bin', appName);
56
+ if (pathExists(binPath)) {
62
57
  artifacts.push({
63
58
  path: binPath,
64
59
  type: 'binary',
@@ -66,8 +61,8 @@ class BrewManager {
66
61
  description: 'Binary symlink',
67
62
  });
68
63
  }
69
- const manPath = path_1.default.join(this.brewPrefix, 'share', 'man', 'man1', `${appName}.1`);
70
- if ((0, filesystem_1.pathExists)(manPath)) {
64
+ const manPath = path.join(this.brewPrefix, 'share', 'man', 'man1', `${appName}.1`);
65
+ if (pathExists(manPath)) {
71
66
  artifacts.push({
72
67
  path: manPath,
73
68
  type: 'data',
@@ -75,14 +70,14 @@ class BrewManager {
75
70
  description: 'Man page',
76
71
  });
77
72
  }
78
- const prefPath = path_1.default.join(home, 'Library', 'Preferences', `com.${appName}*`);
79
- const prefDir = path_1.default.join(home, 'Library', 'Preferences');
80
- if ((0, filesystem_1.pathExists)(prefDir)) {
81
- const files = (0, filesystem_1.listDirectory)(prefDir);
73
+ const prefPath = path.join(home, 'Library', 'Preferences', `com.${appName}*`);
74
+ const prefDir = path.join(home, 'Library', 'Preferences');
75
+ if (pathExists(prefDir)) {
76
+ const files = listDirectory(prefDir);
82
77
  for (const file of files) {
83
78
  if (file.includes(appName)) {
84
79
  artifacts.push({
85
- path: path_1.default.join(prefDir, file),
80
+ path: path.join(prefDir, file),
86
81
  type: 'config',
87
82
  size: 0,
88
83
  description: 'Preference file',
@@ -90,8 +85,8 @@ class BrewManager {
90
85
  }
91
86
  }
92
87
  }
93
- const appSupportPath = path_1.default.join(home, 'Library', 'Application Support', appName);
94
- if ((0, filesystem_1.pathExists)(appSupportPath)) {
88
+ const appSupportPath = path.join(home, 'Library', 'Application Support', appName);
89
+ if (pathExists(appSupportPath)) {
95
90
  artifacts.push({
96
91
  path: appSupportPath,
97
92
  type: 'config',
@@ -99,13 +94,13 @@ class BrewManager {
99
94
  description: 'Application support directory',
100
95
  });
101
96
  }
102
- const launchAgentsPath = path_1.default.join(home, 'Library', 'LaunchAgents');
103
- if ((0, filesystem_1.pathExists)(launchAgentsPath)) {
104
- const files = (0, filesystem_1.listDirectory)(launchAgentsPath);
97
+ const launchAgentsPath = path.join(home, 'Library', 'LaunchAgents');
98
+ if (pathExists(launchAgentsPath)) {
99
+ const files = listDirectory(launchAgentsPath);
105
100
  for (const file of files) {
106
101
  if (file.includes(appName)) {
107
102
  artifacts.push({
108
- path: path_1.default.join(launchAgentsPath, file),
103
+ path: path.join(launchAgentsPath, file),
109
104
  type: 'service',
110
105
  size: 0,
111
106
  description: 'Launch agent',
@@ -117,14 +112,13 @@ class BrewManager {
117
112
  }
118
113
  async removePackage(appName) {
119
114
  try {
120
- (0, child_process_1.execSync)(`brew uninstall ${appName}`);
115
+ execSync(`brew uninstall ${appName}`);
121
116
  return true;
122
117
  }
123
118
  catch (error) {
124
- logger_1.Logger.debug('Failed to uninstall brew package: ' + error.message);
119
+ Logger.debug('Failed to uninstall brew package: ' + error.message);
125
120
  return false;
126
121
  }
127
122
  }
128
123
  }
129
- exports.BrewManager = BrewManager;
130
124
  //# sourceMappingURL=brewManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brewManager.js","sourceRoot":"","sources":["../../src/managers/brewManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brewManager.js","sourceRoot":"","sources":["../../src/managers/brewManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { InstalledApp, ArtifactPath } from '../types';
2
2
  export declare class CustomManager {
3
+ private readonly systemBinaries;
3
4
  findCustomInstalledApps(): Promise<InstalledApp[]>;
4
- private detectInstallMethod;
5
+ private isSystemBinary;
5
6
  findArtifacts(appName: string): Promise<ArtifactPath[]>;
6
7
  searchByName(query: string): Promise<string[]>;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"customManager.d.ts","sourceRoot":"","sources":["../../src/managers/customManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEtD,qBAAa,aAAa;IAClB,uBAAuB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YA0C1C,mBAAmB;IAwB3B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkEvD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAuBrD"}
1
+ {"version":3,"file":"customManager.d.ts","sourceRoot":"","sources":["../../src/managers/customManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEtD,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAgC5B;IAEG,uBAAuB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YA6C1C,cAAc;IA2BtB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkEvD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAuBrD"}
@@ -1,75 +1,102 @@
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.CustomManager = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const platform_1 = require("../utils/platform");
9
- const filesystem_1 = require("../utils/filesystem");
10
- class CustomManager {
1
+ import path from 'path';
2
+ import { getHomeDir } from '../utils/platform.js';
3
+ import { pathExists, listDirectory, readFile, } from '../utils/filesystem.js';
4
+ export class CustomManager {
5
+ constructor() {
6
+ this.systemBinaries = new Set([
7
+ '2to3', 'actool', 'afclip', 'arch', 'asa', 'awk', 'bash', 'basename',
8
+ 'bc', 'bdiff', 'bg', 'bison', 'cat', 'cc', 'chgrp', 'chmod', 'chown',
9
+ 'cksum', 'clang', 'cmake', 'codesign', 'comm', 'cp', 'cpp', 'cut',
10
+ 'date', 'dd', 'defaults', 'df', 'diff', 'diffstat', 'dill', 'dirname',
11
+ 'dmesg', 'du', 'ed', 'env', 'expand', 'expr', 'false', 'file', 'find',
12
+ 'flex', 'fold', 'fsync', 'gawk', 'gcc', 'gcov', 'gdb', 'getconf', 'getopt',
13
+ 'git', 'git-receive-pack', 'git-shell', 'git-upload-archive', 'git-upload-pack',
14
+ 'glob', 'gnumake', 'go', 'grep', 'gzip', 'head', 'hexdump', 'hostname',
15
+ 'id', 'install', 'ipcalc', 'join', 'kill', 'killall', 'lame', 'ld',
16
+ 'ldd', 'less', 'lex', 'link', 'ln', 'locale', 'localedef', 'locate',
17
+ 'logger', 'login', 'logname', 'ls', 'lsattr', 'lsof', 'lz4', 'make',
18
+ 'man', 'md5sum', 'mddigest', 'mknod', 'mmap', 'mount', 'mv', 'netstat',
19
+ 'nl', 'nm', 'nohup', 'od', 'openssl', 'paste', 'patch', 'pax', 'pbcopy',
20
+ 'pbpaste', 'perl', 'php', 'ping', 'pkill', 'plutil', 'printf', 'ps',
21
+ 'pwd', 'python', 'python3', 'python2', 'ranlib', 'realpath', 'renice',
22
+ 'rev', 'rm', 'rmdir', 'ruby', 'sed', 'seq', 'sh', 'shasum', 'shell_cmds',
23
+ 'sleep', 'sort', 'split', 'stat', 'strings', 'strip', 'sudo', 'sum',
24
+ 'swift', 'swiftc', 'tail', 'tar', 'tee', 'test', 'tic', 'touch', 'tr',
25
+ 'true', 'tsort', 'tty', 'uname', 'uncompress', 'uniq', 'unlink', 'unzip',
26
+ 'users', 'uuidgen', 'uuencode', 'uudecode', 'vchk', 'vis', 'wc', 'what',
27
+ 'whereis', 'which', 'while', 'whoami', 'whois', 'xargs', 'xcode-select',
28
+ 'xcodebuild', 'xml2-config', 'xmllint', 'xz', 'yes', 'zcat', 'zip', 'zsh',
29
+ 'dvipdf', 'eps2eps', 'pdf2ps', 'ps2ascii', 'ps2epsi', 'ps2pdf', 'ps2pdf12',
30
+ 'ps2pdf13', 'ps2pdf14', 'ps2pdfwr', 'ps2ps', 'ps2ps2', 'pf2afm', 'pfbtopfa',
31
+ 'pphs', 'printafm', 'prlcopy', 'prlctl', 'prlexec', 'prlsrvctl', 'prl_convert',
32
+ 'prl_disk_tool', 'prl_perf_ctl',
33
+ 'gsbj', 'gsdj', 'gsdj500', 'gslj', 'gslp', 'gsnd',
34
+ 'lprsetup.sh', 'unix-lpr.sh', 'uninstall-container.sh', 'update-container.sh',
35
+ ]);
36
+ }
11
37
  async findCustomInstalledApps() {
12
38
  const apps = [];
13
- const home = (0, platform_1.getHomeDir)();
39
+ const home = getHomeDir();
14
40
  const customBinPaths = [
15
41
  '/usr/local/bin',
16
- '/usr/bin',
17
42
  `${home}/.local/bin`,
18
43
  ];
19
44
  const foundBinaries = new Set();
20
45
  for (const binPath of customBinPaths) {
21
- if (!(0, filesystem_1.pathExists)(binPath))
46
+ if (!pathExists(binPath))
22
47
  continue;
23
- const binaries = (0, filesystem_1.listDirectory)(binPath);
48
+ const binaries = listDirectory(binPath);
24
49
  for (const binary of binaries) {
25
- const fullPath = path_1.default.join(binPath, binary);
50
+ const fullPath = path.join(binPath, binary);
26
51
  if (foundBinaries.has(binary))
27
52
  continue;
28
- const method = await this.detectInstallMethod(fullPath);
29
- if (method === 'custom') {
30
- foundBinaries.add(binary);
31
- apps.push({
32
- name: binary,
33
- version: 'unknown',
34
- installMethod: 'custom',
35
- mainPath: fullPath,
36
- installedDate: undefined,
37
- });
53
+ if (this.systemBinaries.has(binary))
54
+ continue;
55
+ if (await this.isSystemBinary(binary, fullPath)) {
56
+ continue;
38
57
  }
58
+ foundBinaries.add(binary);
59
+ apps.push({
60
+ name: binary,
61
+ version: 'unknown',
62
+ installMethod: 'custom',
63
+ mainPath: fullPath,
64
+ installedDate: undefined,
65
+ });
39
66
  }
40
67
  }
41
68
  return apps;
42
69
  }
43
- async detectInstallMethod(binaryPath) {
70
+ async isSystemBinary(binaryName, binaryPath) {
44
71
  try {
45
- const content = (0, filesystem_1.readFile)(binaryPath);
46
- if (!content)
47
- return 'unknown';
48
- if (content.includes('node') || content.includes('#!/usr/bin/env node')) {
49
- return 'custom';
50
- }
51
- if (content.includes('python') || content.includes('#!/usr/bin/env python')) {
52
- return 'custom';
72
+ const content = readFile(binaryPath);
73
+ if (!content) {
74
+ return true;
53
75
  }
54
- if (content.startsWith('#!/bin/bash') || content.startsWith('#!/bin/sh')) {
55
- return 'custom';
76
+ if (content.includes('#!/usr/bin/env node') ||
77
+ content.includes('#!/usr/bin/env python') ||
78
+ content.includes('#!/bin/bash') ||
79
+ content.includes('#!/bin/sh') ||
80
+ content.includes('#!/usr/bin/env python3') ||
81
+ content.includes('#!/usr/bin/perl')) {
82
+ return false;
56
83
  }
57
- return 'custom';
84
+ return true;
58
85
  }
59
86
  catch {
60
- return 'unknown';
87
+ return true;
61
88
  }
62
89
  }
63
90
  async findArtifacts(appName) {
64
91
  const artifacts = [];
65
- const home = (0, platform_1.getHomeDir)();
92
+ const home = getHomeDir();
66
93
  const binPaths = [
67
94
  `/usr/local/bin/${appName}`,
68
95
  `/usr/bin/${appName}`,
69
96
  `${home}/.local/bin/${appName}`,
70
97
  ];
71
98
  for (const binPath of binPaths) {
72
- if ((0, filesystem_1.pathExists)(binPath)) {
99
+ if (pathExists(binPath)) {
73
100
  artifacts.push({
74
101
  path: binPath,
75
102
  type: 'binary',
@@ -79,13 +106,13 @@ class CustomManager {
79
106
  }
80
107
  }
81
108
  const configPatterns = [
82
- path_1.default.join(home, `.config`, appName),
83
- path_1.default.join(home, `.${appName}`),
84
- path_1.default.join(home, `.${appName}rc`),
85
- path_1.default.join(home, `.${appName}rc.json`),
109
+ path.join(home, `.config`, appName),
110
+ path.join(home, `.${appName}`),
111
+ path.join(home, `.${appName}rc`),
112
+ path.join(home, `.${appName}rc.json`),
86
113
  ];
87
114
  for (const configPath of configPatterns) {
88
- if ((0, filesystem_1.pathExists)(configPath)) {
115
+ if (pathExists(configPath)) {
89
116
  artifacts.push({
90
117
  path: configPath,
91
118
  type: 'config',
@@ -94,8 +121,8 @@ class CustomManager {
94
121
  });
95
122
  }
96
123
  }
97
- const dataPath = path_1.default.join(home, `.local`, `share`, appName);
98
- if ((0, filesystem_1.pathExists)(dataPath)) {
124
+ const dataPath = path.join(home, `.local`, `share`, appName);
125
+ if (pathExists(dataPath)) {
99
126
  artifacts.push({
100
127
  path: dataPath,
101
128
  type: 'data',
@@ -103,8 +130,8 @@ class CustomManager {
103
130
  description: 'Data directory',
104
131
  });
105
132
  }
106
- const cachePath = path_1.default.join(home, `.cache`, appName);
107
- if ((0, filesystem_1.pathExists)(cachePath)) {
133
+ const cachePath = path.join(home, `.cache`, appName);
134
+ if (pathExists(cachePath)) {
108
135
  artifacts.push({
109
136
  path: cachePath,
110
137
  type: 'cache',
@@ -116,16 +143,16 @@ class CustomManager {
116
143
  }
117
144
  async searchByName(query) {
118
145
  const results = [];
119
- const home = (0, platform_1.getHomeDir)();
146
+ const home = getHomeDir();
120
147
  const binPaths = [
121
148
  '/usr/local/bin',
122
149
  '/usr/bin',
123
150
  `${home}/.local/bin`,
124
151
  ];
125
152
  for (const binPath of binPaths) {
126
- if (!(0, filesystem_1.pathExists)(binPath))
153
+ if (!pathExists(binPath))
127
154
  continue;
128
- const binaries = (0, filesystem_1.listDirectory)(binPath);
155
+ const binaries = listDirectory(binPath);
129
156
  for (const binary of binaries) {
130
157
  if (binary.toLowerCase().includes(query.toLowerCase())) {
131
158
  results.push(binary);
@@ -135,5 +162,4 @@ class CustomManager {
135
162
  return results;
136
163
  }
137
164
  }
138
- exports.CustomManager = CustomManager;
139
165
  //# sourceMappingURL=customManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customManager.js","sourceRoot":"","sources":["../../src/managers/customManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"customManager.js","sourceRoot":"","sources":["../../src/managers/customManager.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,26 @@
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.LinuxManager = void 0;
7
- const child_process_1 = require("child_process");
8
- const path_1 = __importDefault(require("path"));
9
- const platform_1 = require("../utils/platform");
10
- const filesystem_1 = require("../utils/filesystem");
11
- const logger_1 = require("../utils/logger");
12
- class LinuxManager {
1
+ import { execSync } from 'child_process';
2
+ import path from 'path';
3
+ import { getHomeDir } from '../utils/platform.js';
4
+ import { pathExists } from '../utils/filesystem.js';
5
+ import { Logger } from '../utils/logger.js';
6
+ export class LinuxManager {
13
7
  constructor() {
14
8
  this.packageManager = 'unknown';
15
9
  this.packageManager = this.detectPackageManager();
16
10
  }
17
11
  detectPackageManager() {
18
12
  try {
19
- (0, child_process_1.execSync)('which apt', { stdio: 'ignore' });
13
+ execSync('which apt', { stdio: 'ignore' });
20
14
  return 'apt';
21
15
  }
22
16
  catch { }
23
17
  try {
24
- (0, child_process_1.execSync)('which dnf', { stdio: 'ignore' });
18
+ execSync('which dnf', { stdio: 'ignore' });
25
19
  return 'dnf';
26
20
  }
27
21
  catch { }
28
22
  try {
29
- (0, child_process_1.execSync)('which yum', { stdio: 'ignore' });
23
+ execSync('which yum', { stdio: 'ignore' });
30
24
  return 'yum';
31
25
  }
32
26
  catch { }
@@ -40,7 +34,7 @@ class LinuxManager {
40
34
  try {
41
35
  let output;
42
36
  if (this.packageManager === 'apt') {
43
- output = (0, child_process_1.execSync)('apt list --installed 2>/dev/null').toString();
37
+ output = execSync('apt list --installed 2>/dev/null').toString();
44
38
  const lines = output.split('\n').slice(1);
45
39
  for (const line of lines) {
46
40
  if (!line.trim())
@@ -59,7 +53,7 @@ class LinuxManager {
59
53
  }
60
54
  else {
61
55
  try {
62
- output = (0, child_process_1.execSync)(`${this.packageManager} list installed`).toString();
56
+ output = execSync(`${this.packageManager} list installed`).toString();
63
57
  const lines = output.split('\n');
64
58
  for (const line of lines) {
65
59
  if (!line.trim())
@@ -77,25 +71,25 @@ class LinuxManager {
77
71
  }
78
72
  }
79
73
  catch (error) {
80
- logger_1.Logger.debug(`Failed to query ${this.packageManager}: ` + error.message);
74
+ Logger.debug(`Failed to query ${this.packageManager}: ` + error.message);
81
75
  }
82
76
  }
83
77
  }
84
78
  catch (error) {
85
- logger_1.Logger.debug('Failed to get system packages: ' + error.message);
79
+ Logger.debug('Failed to get system packages: ' + error.message);
86
80
  }
87
81
  return packages;
88
82
  }
89
83
  async findArtifacts(appName) {
90
84
  const artifacts = [];
91
- const home = (0, platform_1.getHomeDir)();
85
+ const home = getHomeDir();
92
86
  const binPaths = [
93
87
  `/usr/bin/${appName}`,
94
88
  `/usr/local/bin/${appName}`,
95
89
  `${home}/.local/bin/${appName}`,
96
90
  ];
97
91
  for (const binPath of binPaths) {
98
- if ((0, filesystem_1.pathExists)(binPath)) {
92
+ if (pathExists(binPath)) {
99
93
  artifacts.push({
100
94
  path: binPath,
101
95
  type: 'binary',
@@ -105,14 +99,14 @@ class LinuxManager {
105
99
  }
106
100
  }
107
101
  const configPaths = [
108
- path_1.default.join(home, `.config`, appName),
109
- path_1.default.join(home, `.${appName}rc`),
110
- path_1.default.join(home, `.${appName}`),
102
+ path.join(home, `.config`, appName),
103
+ path.join(home, `.${appName}rc`),
104
+ path.join(home, `.${appName}`),
111
105
  `/etc/${appName}`,
112
106
  `/etc/${appName}.conf`,
113
107
  ];
114
108
  for (const configPath of configPaths) {
115
- if ((0, filesystem_1.pathExists)(configPath)) {
109
+ if (pathExists(configPath)) {
116
110
  artifacts.push({
117
111
  path: configPath,
118
112
  type: 'config',
@@ -122,11 +116,11 @@ class LinuxManager {
122
116
  }
123
117
  }
124
118
  const cachePaths = [
125
- path_1.default.join(home, `.cache`, appName),
126
- path_1.default.join(home, `.${appName}_cache`),
119
+ path.join(home, `.cache`, appName),
120
+ path.join(home, `.${appName}_cache`),
127
121
  ];
128
122
  for (const cachePath of cachePaths) {
129
- if ((0, filesystem_1.pathExists)(cachePath)) {
123
+ if (pathExists(cachePath)) {
130
124
  artifacts.push({
131
125
  path: cachePath,
132
126
  type: 'cache',
@@ -135,8 +129,8 @@ class LinuxManager {
135
129
  });
136
130
  }
137
131
  }
138
- const dataPath = path_1.default.join(home, `.local`, `share`, appName);
139
- if ((0, filesystem_1.pathExists)(dataPath)) {
132
+ const dataPath = path.join(home, `.local`, `share`, appName);
133
+ if (pathExists(dataPath)) {
140
134
  artifacts.push({
141
135
  path: dataPath,
142
136
  type: 'data',
@@ -147,10 +141,10 @@ class LinuxManager {
147
141
  const logPaths = [
148
142
  `/var/log/${appName}`,
149
143
  `/var/log/${appName}.log`,
150
- path_1.default.join(home, `.local`, `share`, `log`, appName),
144
+ path.join(home, `.local`, `share`, `log`, appName),
151
145
  ];
152
146
  for (const logPath of logPaths) {
153
- if ((0, filesystem_1.pathExists)(logPath)) {
147
+ if (pathExists(logPath)) {
154
148
  artifacts.push({
155
149
  path: logPath,
156
150
  type: 'log',
@@ -160,7 +154,7 @@ class LinuxManager {
160
154
  }
161
155
  }
162
156
  const systemdPath = `/etc/systemd/system/${appName}.service`;
163
- if ((0, filesystem_1.pathExists)(systemdPath)) {
157
+ if (pathExists(systemdPath)) {
164
158
  artifacts.push({
165
159
  path: systemdPath,
166
160
  type: 'service',
@@ -178,14 +172,13 @@ class LinuxManager {
178
172
  const command = this.packageManager === 'apt'
179
173
  ? `apt-get remove -y ${appName}`
180
174
  : `${this.packageManager} remove -y ${appName}`;
181
- (0, child_process_1.execSync)(command, { stdio: 'pipe' });
175
+ execSync(command, { stdio: 'pipe' });
182
176
  return true;
183
177
  }
184
178
  catch (error) {
185
- logger_1.Logger.debug(`Failed to uninstall ${appName}: ` + error.message);
179
+ Logger.debug(`Failed to uninstall ${appName}: ` + error.message);
186
180
  return false;
187
181
  }
188
182
  }
189
183
  }
190
- exports.LinuxManager = LinuxManager;
191
184
  //# sourceMappingURL=linuxManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linuxManager.js","sourceRoot":"","sources":["../../src/managers/linuxManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linuxManager.js","sourceRoot":"","sources":["../../src/managers/linuxManager.ts"],"names":[],"mappings":"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"}