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.
Files changed (212) hide show
  1. package/.github/workflows/npm-publish.yml +61 -0
  2. package/DEVELOPMENT.md +84 -0
  3. package/GUI_IMPLEMENTATION_STATUS.md +143 -0
  4. package/MD_Files/INDEX.md +51 -0
  5. package/PHASE2_COMPLETION.md +281 -0
  6. package/PHASE3_COMPLETION.md +364 -0
  7. package/README.md +411 -91
  8. package/RELEASE_GUIDE.md +236 -0
  9. package/assets/logo.svg +34 -0
  10. package/dist/core/appUpdateChecker.js +12 -16
  11. package/dist/core/appUpdateChecker.js.map +1 -1
  12. package/dist/core/detector.js +14 -18
  13. package/dist/core/detector.js.map +1 -1
  14. package/dist/core/duplicateFileFinder.js +12 -19
  15. package/dist/core/duplicateFileFinder.js.map +1 -1
  16. package/dist/core/orphanedDependencyDetector.js +19 -26
  17. package/dist/core/orphanedDependencyDetector.js.map +1 -1
  18. package/dist/core/performanceOptimizer.js +6 -10
  19. package/dist/core/performanceOptimizer.js.map +1 -1
  20. package/dist/core/permissionHandler.js +21 -25
  21. package/dist/core/permissionHandler.js.map +1 -1
  22. package/dist/core/pluginSystem.js +9 -13
  23. package/dist/core/pluginSystem.js.map +1 -1
  24. package/dist/core/removalRecorder.js +12 -19
  25. package/dist/core/removalRecorder.js.map +1 -1
  26. package/dist/core/remover.js +59 -66
  27. package/dist/core/remover.js.map +1 -1
  28. package/dist/core/reportGenerator.d.ts +1 -1
  29. package/dist/core/reportGenerator.d.ts.map +1 -1
  30. package/dist/core/reportGenerator.js +27 -34
  31. package/dist/core/reportGenerator.js.map +1 -1
  32. package/dist/core/scheduledCleanup.js +23 -30
  33. package/dist/core/scheduledCleanup.js.map +1 -1
  34. package/dist/core/serviceFileDetector.js +24 -31
  35. package/dist/core/serviceFileDetector.js.map +1 -1
  36. package/dist/core/verificationModule.js +10 -14
  37. package/dist/core/verificationModule.js.map +1 -1
  38. package/dist/index.js +118 -156
  39. package/dist/index.js.map +1 -1
  40. package/dist/managers/brewManager.js +30 -37
  41. package/dist/managers/brewManager.js.map +1 -1
  42. package/dist/managers/customManager.js +23 -30
  43. package/dist/managers/customManager.js.map +1 -1
  44. package/dist/managers/linuxManager.js +29 -36
  45. package/dist/managers/linuxManager.js.map +1 -1
  46. package/dist/managers/npmManager.js +27 -34
  47. package/dist/managers/npmManager.js.map +1 -1
  48. package/dist/types/index.js +1 -2
  49. package/dist/ui/client/api/client.d.ts +24 -0
  50. package/dist/ui/client/api/client.d.ts.map +1 -0
  51. package/dist/ui/client/api/client.js +100 -0
  52. package/dist/ui/client/api/client.js.map +1 -0
  53. package/dist/ui/client/app.d.ts +7 -0
  54. package/dist/ui/client/app.d.ts.map +1 -0
  55. package/dist/ui/client/app.js +75 -0
  56. package/dist/ui/client/app.js.map +1 -0
  57. package/dist/ui/client/index.html +107 -0
  58. package/dist/ui/client/pages/appDetails.d.ts +8 -0
  59. package/dist/ui/client/pages/appDetails.d.ts.map +1 -0
  60. package/dist/ui/client/pages/appDetails.js +287 -0
  61. package/dist/ui/client/pages/appDetails.js.map +1 -0
  62. package/dist/ui/client/pages/appSearch.d.ts +2 -0
  63. package/dist/ui/client/pages/appSearch.d.ts.map +1 -0
  64. package/dist/ui/client/pages/appSearch.js +221 -0
  65. package/dist/ui/client/pages/appSearch.js.map +1 -0
  66. package/dist/ui/client/pages/dashboard.d.ts +2 -0
  67. package/dist/ui/client/pages/dashboard.d.ts.map +1 -0
  68. package/dist/ui/client/pages/dashboard.js +175 -0
  69. package/dist/ui/client/pages/dashboard.js.map +1 -0
  70. package/dist/ui/client/pages/settings.d.ts +7 -0
  71. package/dist/ui/client/pages/settings.d.ts.map +1 -0
  72. package/dist/ui/client/pages/settings.js +279 -0
  73. package/dist/ui/client/pages/settings.js.map +1 -0
  74. package/dist/ui/client/state/appStore.d.ts +38 -0
  75. package/dist/ui/client/state/appStore.d.ts.map +1 -0
  76. package/dist/ui/client/state/appStore.js +130 -0
  77. package/dist/ui/client/state/appStore.js.map +1 -0
  78. package/dist/ui/client/state/dashboardStore.d.ts +31 -0
  79. package/dist/ui/client/state/dashboardStore.d.ts.map +1 -0
  80. package/dist/ui/client/state/dashboardStore.js +76 -0
  81. package/dist/ui/client/state/dashboardStore.js.map +1 -0
  82. package/dist/ui/client/state/uiStore.d.ts +43 -0
  83. package/dist/ui/client/state/uiStore.d.ts.map +1 -0
  84. package/dist/ui/client/state/uiStore.js +109 -0
  85. package/dist/ui/client/state/uiStore.js.map +1 -0
  86. package/dist/ui/client/styles/animations.css +349 -0
  87. package/dist/ui/client/styles/base.css +214 -0
  88. package/dist/ui/client/styles/components.css +400 -0
  89. package/dist/ui/client/styles/layout.css +224 -0
  90. package/dist/ui/client/styles/variables.css +140 -0
  91. package/dist/ui/client/utils/events.d.ts +19 -0
  92. package/dist/ui/client/utils/events.d.ts.map +1 -0
  93. package/dist/ui/client/utils/events.js +54 -0
  94. package/dist/ui/client/utils/events.js.map +1 -0
  95. package/dist/ui/client/utils/formatting.d.ts +11 -0
  96. package/dist/ui/client/utils/formatting.d.ts.map +1 -0
  97. package/dist/ui/client/utils/formatting.js +104 -0
  98. package/dist/ui/client/utils/formatting.js.map +1 -0
  99. package/dist/ui/client/utils/router.d.ts +25 -0
  100. package/dist/ui/client/utils/router.d.ts.map +1 -0
  101. package/dist/ui/client/utils/router.js +90 -0
  102. package/dist/ui/client/utils/router.js.map +1 -0
  103. package/dist/ui/guiServer.d.ts +11 -5
  104. package/dist/ui/guiServer.d.ts.map +1 -1
  105. package/dist/ui/guiServer.js +180 -501
  106. package/dist/ui/guiServer.js.map +1 -1
  107. package/dist/ui/menu.js +18 -27
  108. package/dist/ui/menu.js.map +1 -1
  109. package/dist/ui/prompts.js +34 -47
  110. package/dist/ui/prompts.js.map +1 -1
  111. package/dist/ui/server/middleware/errorHandler.d.ts +19 -0
  112. package/dist/ui/server/middleware/errorHandler.d.ts.map +1 -0
  113. package/dist/ui/server/middleware/errorHandler.js +100 -0
  114. package/dist/ui/server/middleware/errorHandler.js.map +1 -0
  115. package/dist/ui/server/routes/apps.d.ts +8 -0
  116. package/dist/ui/server/routes/apps.d.ts.map +1 -0
  117. package/dist/ui/server/routes/apps.js +74 -0
  118. package/dist/ui/server/routes/apps.js.map +1 -0
  119. package/dist/ui/server/routes/dashboard.d.ts +4 -0
  120. package/dist/ui/server/routes/dashboard.d.ts.map +1 -0
  121. package/dist/ui/server/routes/dashboard.js +57 -0
  122. package/dist/ui/server/routes/dashboard.js.map +1 -0
  123. package/dist/ui/server/routes/settings.d.ts +6 -0
  124. package/dist/ui/server/routes/settings.d.ts.map +1 -0
  125. package/dist/ui/server/routes/settings.js +31 -0
  126. package/dist/ui/server/routes/settings.js.map +1 -0
  127. package/dist/ui/server/services/appService.d.ts +45 -0
  128. package/dist/ui/server/services/appService.d.ts.map +1 -0
  129. package/dist/ui/server/services/appService.js +114 -0
  130. package/dist/ui/server/services/appService.js.map +1 -0
  131. package/dist/ui/server/services/removalService.d.ts +24 -0
  132. package/dist/ui/server/services/removalService.d.ts.map +1 -0
  133. package/dist/ui/server/services/removalService.js +83 -0
  134. package/dist/ui/server/services/removalService.js.map +1 -0
  135. package/dist/utils/filesystem.js +32 -49
  136. package/dist/utils/filesystem.js.map +1 -1
  137. package/dist/utils/logger.js +9 -18
  138. package/dist/utils/logger.js.map +1 -1
  139. package/dist/utils/platform.js +10 -22
  140. package/dist/utils/platform.js.map +1 -1
  141. package/dist/utils/upgrade.d.ts +2 -1
  142. package/dist/utils/upgrade.d.ts.map +1 -1
  143. package/dist/utils/upgrade.js +24 -15
  144. package/dist/utils/upgrade.js.map +1 -1
  145. package/package.json +4 -2
  146. package/scripts/publish-npm.sh +64 -0
  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 +8 -8
  161. package/src/managers/brewManager.ts +3 -3
  162. package/src/managers/customManager.ts +2 -2
  163. package/src/managers/linuxManager.ts +3 -3
  164. package/src/managers/npmManager.ts +3 -3
  165. package/src/ui/client/api/client.ts +168 -0
  166. package/src/ui/client/app.ts +125 -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 +283 -0
  170. package/src/ui/client/pages/dashboard.ts +211 -0
  171. package/src/ui/client/pages/settings.ts +342 -0
  172. package/src/ui/client/state/appStore.ts +181 -0
  173. package/src/ui/client/state/dashboardStore.ts +123 -0
  174. package/src/ui/client/state/uiStore.ts +166 -0
  175. package/src/ui/client/styles/animations.css +349 -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 +245 -498
  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 +19 -2
  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/{PUBLICATION_SUCCESS_REPORT.md → MD_Files/PUBLICATION_SUCCESS_REPORT.md} +0 -0
  209. /package/{QUICKSTART.md → MD_Files/QUICKSTART.md} +0 -0
  210. /package/{SETUP_GITHUB.md → MD_Files/SETUP_GITHUB.md} +0 -0
  211. /package/{TESTING_SUMMARY.md → MD_Files/TESTING_SUMMARY.md} +0 -0
  212. /package/{setup-github.sh → MD_Files/setup-github.sh} +0 -0
@@ -0,0 +1,236 @@
1
+ # AppClean Release Guide
2
+
3
+ This guide explains how to release new versions of AppClean to npm and GitHub.
4
+
5
+ ## Quick Start
6
+
7
+ ### Option 1: Automatic Publishing (Recommended)
8
+
9
+ Once GitHub Actions is set up, releases are published automatically:
10
+
11
+ 1. **Create a git tag**:
12
+ ```bash
13
+ git tag -a v2.0.1 -m "AppClean v2.0.1 - Description here"
14
+ git push origin v2.0.1
15
+ ```
16
+
17
+ 2. **GitHub Actions automatically**:
18
+ - Builds the project
19
+ - Runs tests
20
+ - Publishes to npm
21
+ - Creates a GitHub release
22
+
23
+ ### Option 2: Manual Publishing via Script
24
+
25
+ Use the provided publish script to handle everything:
26
+
27
+ ```bash
28
+ ./scripts/publish-npm.sh 2.0.1
29
+ ```
30
+
31
+ This script:
32
+ - Updates version in `package.json` and `src/index.ts`
33
+ - Builds the project
34
+ - Creates a git commit and tag
35
+ - Publishes to npm
36
+ - Pushes changes to GitHub
37
+
38
+ ## Setup Requirements
39
+
40
+ ### 1. npm Authentication
41
+
42
+ Set up npm credentials for publishing:
43
+
44
+ ```bash
45
+ npm login
46
+ ```
47
+
48
+ This creates an `.npmrc` file in your home directory with authentication tokens.
49
+
50
+ ### 2. GitHub Actions (for automatic publishing)
51
+
52
+ Add NPM_TOKEN to GitHub Secrets:
53
+
54
+ 1. Go to your repository settings: https://github.com/praveenkay/AppClean/settings/secrets/actions
55
+ 2. Click "New repository secret"
56
+ 3. Name: `NPM_TOKEN`
57
+ 4. Value: Your npm authentication token
58
+
59
+ **To get your npm token**:
60
+ ```bash
61
+ npm token create --read-only
62
+ ```
63
+
64
+ Or view existing tokens at: https://www.npmjs.com/settings/YOUR_USERNAME/tokens
65
+
66
+ ### 3. Ensure Files are Updated
67
+
68
+ Before releasing, make sure:
69
+
70
+ - ✅ `package.json` has correct version
71
+ - ✅ `src/index.ts` has correct VERSION constant
72
+ - ✅ Built files are up-to-date (`npm run build`)
73
+ - ✅ All tests pass (`npm test`)
74
+ - ✅ Changes are committed
75
+
76
+ ## Release Process
77
+
78
+ ### Step 1: Update Version
79
+
80
+ Update the version in both files:
81
+
82
+ ```bash
83
+ # Edit package.json
84
+ "version": "2.0.1"
85
+
86
+ # Edit src/index.ts
87
+ const VERSION = '2.0.1';
88
+ ```
89
+
90
+ ### Step 2: Build and Test
91
+
92
+ ```bash
93
+ npm run build
94
+ npm test
95
+ ```
96
+
97
+ ### Step 3: Commit Changes
98
+
99
+ ```bash
100
+ git add package.json src/index.ts
101
+ git commit -m "chore: Bump version to 2.0.1"
102
+ ```
103
+
104
+ ### Step 4: Create Release
105
+
106
+ #### Option A: Via Git Tag (triggers GitHub Actions)
107
+
108
+ ```bash
109
+ git tag -a v2.0.1 -m "AppClean v2.0.1 - Bug fixes and improvements"
110
+ git push origin main
111
+ git push origin v2.0.1
112
+ ```
113
+
114
+ GitHub Actions will automatically:
115
+ - Build the project
116
+ - Publish to npm
117
+ - Create a GitHub release
118
+
119
+ #### Option B: Via Script
120
+
121
+ ```bash
122
+ ./scripts/publish-npm.sh 2.0.1
123
+ ```
124
+
125
+ ## Automated Workflow
126
+
127
+ The GitHub Actions workflow (`.github/workflows/npm-publish.yml`) handles:
128
+
129
+ 1. **On every tag push** (`v*.*.*`):
130
+ - Checkout code
131
+ - Setup Node.js 20
132
+ - Install dependencies
133
+ - Build project
134
+ - Run tests
135
+ - Publish to npm (using NPM_TOKEN)
136
+ - Create GitHub release
137
+
138
+ 2. **On every GitHub release published**:
139
+ - Same steps as above
140
+
141
+ ## Checking Publication
142
+
143
+ After publishing, verify:
144
+
145
+ 1. **npm Registry**:
146
+ ```bash
147
+ npm info appclean
148
+ npm view appclean versions
149
+ ```
150
+ Or visit: https://www.npmjs.com/package/appclean
151
+
152
+ 2. **GitHub Releases**:
153
+ Visit: https://github.com/praveenkay/AppClean/releases
154
+
155
+ 3. **Local Installation**:
156
+ ```bash
157
+ npm install -g appclean@2.0.1
158
+ appclean --version
159
+ ```
160
+
161
+ ## Versioning Strategy
162
+
163
+ AppClean follows [Semantic Versioning](https://semver.org/):
164
+
165
+ - **Major** (X.0.0): Breaking changes
166
+ - **Minor** (X.Y.0): New features, backward compatible
167
+ - **Patch** (X.Y.Z): Bug fixes, no new features
168
+
169
+ Examples:
170
+ - Bug fix: 2.0.0 → 2.0.1
171
+ - New feature: 2.0.1 → 2.1.0
172
+ - Breaking change: 2.1.0 → 3.0.0
173
+
174
+ ## Troubleshooting
175
+
176
+ ### "Not logged into npm"
177
+
178
+ Run: `npm login`
179
+
180
+ ### GitHub Actions failing
181
+
182
+ Check:
183
+ 1. NPM_TOKEN is set in GitHub Secrets
184
+ 2. Token hasn't expired
185
+ 3. Token has publish permissions
186
+
187
+ ### Version mismatch errors
188
+
189
+ Ensure both files are updated:
190
+ - `package.json`
191
+ - `src/index.ts`
192
+
193
+ ## Release Checklist
194
+
195
+ - [ ] Update version in `package.json`
196
+ - [ ] Update VERSION constant in `src/index.ts`
197
+ - [ ] Run `npm run build`
198
+ - [ ] Run `npm test`
199
+ - [ ] Commit changes: `git commit -m "chore: Bump version to X.Y.Z"`
200
+ - [ ] Create tag: `git tag -a vX.Y.Z -m "Message"`
201
+ - [ ] Push: `git push origin main && git push origin vX.Y.Z`
202
+ - [ ] Verify npm publication
203
+ - [ ] Verify GitHub release created
204
+
205
+ ## Example: Releasing v2.0.1
206
+
207
+ ```bash
208
+ # 1. Update version files
209
+ echo 'Update package.json version to 2.0.1'
210
+ echo 'Update src/index.ts VERSION to 2.0.1'
211
+
212
+ # 2. Build and test
213
+ npm run build
214
+ npm test
215
+
216
+ # 3. Commit
217
+ git add package.json src/index.ts
218
+ git commit -m "chore: Bump version to 2.0.1"
219
+
220
+ # 4. Create release tag
221
+ git tag -a v2.0.1 -m "AppClean v2.0.1 - Bug fixes for GUI"
222
+
223
+ # 5. Push to trigger GitHub Actions
224
+ git push origin main
225
+ git push origin v2.0.1
226
+
227
+ # 6. Watch GitHub Actions publish automatically
228
+ # View at: https://github.com/praveenkay/AppClean/actions
229
+ ```
230
+
231
+ ## Support
232
+
233
+ For issues with publishing, check:
234
+ - GitHub Actions logs: https://github.com/praveenkay/AppClean/actions
235
+ - npm package page: https://www.npmjs.com/package/appclean
236
+ - GitHub releases: https://github.com/praveenkay/AppClean/releases
@@ -0,0 +1,34 @@
1
+ <svg width="240" height="240" viewBox="0 0 240 240" xmlns="http://www.w3.org/2000/svg">
2
+ <!-- Background Circle -->
3
+ <circle cx="120" cy="120" r="115" fill="#0f172a" stroke="#3b82f6" stroke-width="2"/>
4
+
5
+ <!-- Briefcase Body -->
6
+ <rect x="55" y="70" width="130" height="90" rx="8" fill="#3b82f6"/>
7
+
8
+ <!-- Briefcase Handle -->
9
+ <path d="M 75 70 Q 75 40 120 40 Q 165 40 165 70" stroke="#3b82f6" stroke-width="6" fill="none" stroke-linecap="round"/>
10
+
11
+ <!-- Briefcase Shine/Highlight -->
12
+ <rect x="60" y="75" width="50" height="20" rx="4" fill="#60a5fa" opacity="0.6"/>
13
+
14
+ <!-- Checkmark -->
15
+ <g transform="translate(120, 120)">
16
+ <!-- Checkmark Circle Background -->
17
+ <circle cx="0" cy="0" r="35" fill="#10b981" opacity="0.95"/>
18
+
19
+ <!-- Checkmark -->
20
+ <path d="M -15 0 L -5 10 L 18 -15" stroke="#ffffff" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
21
+ </g>
22
+
23
+ <!-- Decorative Circles (Success indicators) -->
24
+ <circle cx="60" cy="160" r="4" fill="#10b981" opacity="0.7"/>
25
+ <circle cx="180" cy="160" r="4" fill="#10b981" opacity="0.7"/>
26
+
27
+ <!-- Text: AppClean -->
28
+ <text x="120" y="200" font-family="Arial, sans-serif" font-size="18" font-weight="bold" fill="#ffffff" text-anchor="middle" letter-spacing="1">
29
+ AppClean
30
+ </text>
31
+
32
+ <!-- Glow Effect -->
33
+ <circle cx="120" cy="120" r="115" fill="none" stroke="#3b82f6" stroke-width="1" opacity="0.2" stroke-dasharray="5,5"/>
34
+ </svg>
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppUpdateChecker = void 0;
4
- const child_process_1 = require("child_process");
5
- const logger_1 = require("../utils/logger");
6
- class AppUpdateChecker {
1
+ import { execSync } from 'child_process';
2
+ import { Logger } from '../utils/logger.js';
3
+ export class AppUpdateChecker {
7
4
  async checkForUpdate(app) {
8
- logger_1.Logger.info(`Checking for updates: ${app.name}...`);
5
+ Logger.info(`Checking for updates: ${app.name}...`);
9
6
  const info = {
10
7
  appName: app.name,
11
8
  currentVersion: app.version,
@@ -34,11 +31,11 @@ class AppUpdateChecker {
34
31
  await this.checkYumUpdate(info);
35
32
  break;
36
33
  default:
37
- logger_1.Logger.warn(`No update checker available for ${app.installMethod}`);
34
+ Logger.warn(`No update checker available for ${app.installMethod}`);
38
35
  }
39
36
  }
40
37
  catch (error) {
41
- logger_1.Logger.debug(`Update check failed for ${app.name}: ${error.message}`);
38
+ Logger.debug(`Update check failed for ${app.name}: ${error.message}`);
42
39
  }
43
40
  return info;
44
41
  }
@@ -52,7 +49,7 @@ class AppUpdateChecker {
52
49
  }
53
50
  async checkNpmUpdate(info) {
54
51
  try {
55
- const output = (0, child_process_1.execSync)(`npm view ${info.appName} version 2>/dev/null`).toString().trim();
52
+ const output = execSync(`npm view ${info.appName} version 2>/dev/null`).toString().trim();
56
53
  if (output) {
57
54
  info.latestVersion = output;
58
55
  info.hasUpdate = this.compareVersions(info.currentVersion, output) < 0;
@@ -64,7 +61,7 @@ class AppUpdateChecker {
64
61
  }
65
62
  async checkYarnUpdate(info) {
66
63
  try {
67
- const output = (0, child_process_1.execSync)(`yarn info ${info.appName} version 2>/dev/null`).toString().trim();
64
+ const output = execSync(`yarn info ${info.appName} version 2>/dev/null`).toString().trim();
68
65
  if (output) {
69
66
  info.latestVersion = output;
70
67
  info.hasUpdate = this.compareVersions(info.currentVersion, output) < 0;
@@ -76,7 +73,7 @@ class AppUpdateChecker {
76
73
  }
77
74
  async checkPnpmUpdate(info) {
78
75
  try {
79
- const output = (0, child_process_1.execSync)(`pnpm view ${info.appName} version 2>/dev/null`).toString().trim();
76
+ const output = execSync(`pnpm view ${info.appName} version 2>/dev/null`).toString().trim();
80
77
  if (output) {
81
78
  info.latestVersion = output;
82
79
  info.hasUpdate = this.compareVersions(info.currentVersion, output) < 0;
@@ -88,7 +85,7 @@ class AppUpdateChecker {
88
85
  }
89
86
  async checkBrewUpdate(info) {
90
87
  try {
91
- const output = (0, child_process_1.execSync)(`brew info ${info.appName} 2>/dev/null | grep "stable"`).toString();
88
+ const output = execSync(`brew info ${info.appName} 2>/dev/null | grep "stable"`).toString();
92
89
  const match = output.match(/(\d+\.\d+\.\d+)/);
93
90
  if (match) {
94
91
  info.latestVersion = match[1];
@@ -101,7 +98,7 @@ class AppUpdateChecker {
101
98
  }
102
99
  async checkAptUpdate(info) {
103
100
  try {
104
- const output = (0, child_process_1.execSync)(`apt-cache policy ${info.appName} 2>/dev/null`).toString();
101
+ const output = execSync(`apt-cache policy ${info.appName} 2>/dev/null`).toString();
105
102
  const match = output.match(/Candidate: (\S+)/);
106
103
  if (match) {
107
104
  info.latestVersion = match[1];
@@ -114,7 +111,7 @@ class AppUpdateChecker {
114
111
  }
115
112
  async checkYumUpdate(info) {
116
113
  try {
117
- const output = (0, child_process_1.execSync)(`yum info ${info.appName} 2>/dev/null`).toString();
114
+ const output = execSync(`yum info ${info.appName} 2>/dev/null`).toString();
118
115
  const match = output.match(/Version\s+:\s+(\S+)/);
119
116
  if (match) {
120
117
  info.latestVersion = match[1];
@@ -155,5 +152,4 @@ class AppUpdateChecker {
155
152
  return summary;
156
153
  }
157
154
  }
158
- exports.AppUpdateChecker = AppUpdateChecker;
159
155
  //# sourceMappingURL=appUpdateChecker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appUpdateChecker.js","sourceRoot":"","sources":["../../src/core/appUpdateChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appUpdateChecker.js","sourceRoot":"","sources":["../../src/core/appUpdateChecker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAa5C,MAAM,OAAO,gBAAgB;IAI3B,KAAK,CAAC,cAAc,CAAC,GAAiB;QACpC,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAe;YACvB,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,cAAc,EAAE,GAAG,CAAC,OAAO;YAC3B,aAAa,EAAE,GAAG,CAAC,OAAO;YAC1B,SAAS,EAAE,KAAK;SACjB,CAAC;QAEF,IAAI,CAAC;YACH,QAAQ,GAAG,CAAC,aAAa,EAAE,CAAC;gBAC1B,KAAK,KAAK;oBACR,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,KAAK,CAAC;gBACX,KAAK,KAAK;oBACR,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM;gBACR;oBACE,MAAM,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,KAAK,CAAC,eAAe,CAAC,IAAoB;QACxC,MAAM,OAAO,GAAiB,EAAE,CAAC;QAEjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAKO,KAAK,CAAC,cAAc,CAAC,IAAgB;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1F,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,CAAC,cAAc,GAAG,kBAAkB,IAAI,CAAC,OAAO,SAAS,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,eAAe,CAAC,IAAgB;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3F,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,CAAC,cAAc,GAAG,uBAAuB,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,eAAe,CAAC,IAAgB;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3F,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,CAAC,cAAc,GAAG,eAAe,IAAI,CAAC,OAAO,SAAS,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,eAAe,CAAC,IAAgB;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,CAAC,OAAO,8BAA8B,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,CAAC,cAAc,GAAG,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,cAAc,CAAC,IAAgB;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,CAAC,cAAc,GAAG,uCAAuC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,cAAc,CAAC,IAAgB;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzE,IAAI,CAAC,cAAc,GAAG,mBAAmB,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAMO,eAAe,CAAC,EAAU,EAAE,EAAU;QAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE1B,IAAI,EAAE,GAAG,EAAE;gBAAE,OAAO,CAAC,CAAC,CAAC;YACvB,IAAI,EAAE,GAAG,EAAE;gBAAE,OAAO,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAKD,gBAAgB,CAAC,OAAqB;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,kCAAkC,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,GAAG,SAAS,SAAS,CAAC,MAAM,2BAA2B,CAAC;QACnE,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,OAAO,IAAI,MAAM,MAAM,CAAC,OAAO,IAAI,CAAC;YACpC,OAAO,IAAI,eAAe,MAAM,CAAC,cAAc,cAAc,MAAM,CAAC,aAAa,IAAI,CAAC;YACtF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,OAAO,IAAI,eAAe,MAAM,CAAC,cAAc,IAAI,CAAC;YACtD,CAAC;YACD,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -1,21 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Detector = void 0;
4
- const npmManager_1 = require("../managers/npmManager");
5
- const brewManager_1 = require("../managers/brewManager");
6
- const linuxManager_1 = require("../managers/linuxManager");
7
- const customManager_1 = require("../managers/customManager");
8
- const platform_1 = require("../utils/platform");
9
- const filesystem_1 = require("../utils/filesystem");
10
- class Detector {
1
+ import { NpmManager } from '../managers/npmManager.js';
2
+ import { BrewManager } from '../managers/brewManager.js';
3
+ import { LinuxManager } from '../managers/linuxManager.js';
4
+ import { CustomManager } from '../managers/customManager.js';
5
+ import { isMacOS, isLinux } from '../utils/platform.js';
6
+ import { getFileSize } from '../utils/filesystem.js';
7
+ export class Detector {
11
8
  constructor() {
12
- this.npmManager = new npmManager_1.NpmManager();
13
- this.customManager = new customManager_1.CustomManager();
14
- if ((0, platform_1.isMacOS)()) {
15
- this.brewManager = new brewManager_1.BrewManager();
9
+ this.npmManager = new NpmManager();
10
+ this.customManager = new CustomManager();
11
+ if (isMacOS()) {
12
+ this.brewManager = new BrewManager();
16
13
  }
17
- if ((0, platform_1.isLinux)()) {
18
- this.linuxManager = new linuxManager_1.LinuxManager();
14
+ if (isLinux()) {
15
+ this.linuxManager = new LinuxManager();
19
16
  }
20
17
  }
21
18
  async detectAllApps() {
@@ -86,7 +83,7 @@ class Detector {
86
83
  break;
87
84
  }
88
85
  for (const artifact of artifacts) {
89
- artifact.size = (0, filesystem_1.getFileSize)(artifact.path);
86
+ artifact.size = getFileSize(artifact.path);
90
87
  }
91
88
  return artifacts;
92
89
  }
@@ -95,5 +92,4 @@ class Detector {
95
92
  return artifacts.reduce((total, artifact) => total + artifact.size, 0);
96
93
  }
97
94
  }
98
- exports.Detector = Detector;
99
95
  //# sourceMappingURL=detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/core/detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/core/detector.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,10 @@
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.DuplicateFileFinder = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const crypto_1 = __importDefault(require("crypto"));
10
- const logger_1 = require("../utils/logger");
11
- class DuplicateFileFinder {
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import crypto from 'crypto';
4
+ import { Logger } from '../utils/logger.js';
5
+ export class DuplicateFileFinder {
12
6
  async findDuplicates(directories) {
13
- logger_1.Logger.info('Scanning for duplicate files...');
7
+ Logger.info('Scanning for duplicate files...');
14
8
  const fileHashes = new Map();
15
9
  for (const directory of directories) {
16
10
  await this.scanDirectory(directory, fileHashes);
@@ -30,8 +24,8 @@ class DuplicateFileFinder {
30
24
  }
31
25
  async calculateHash(filePath) {
32
26
  return new Promise((resolve, reject) => {
33
- const hash = crypto_1.default.createHash('sha256');
34
- const stream = fs_1.default.createReadStream(filePath);
27
+ const hash = crypto.createHash('sha256');
28
+ const stream = fs.createReadStream(filePath);
35
29
  stream.on('data', (data) => hash.update(data));
36
30
  stream.on('end', () => resolve(hash.digest('hex')));
37
31
  stream.on('error', reject);
@@ -39,10 +33,10 @@ class DuplicateFileFinder {
39
33
  }
40
34
  async scanDirectory(directory, fileHashes) {
41
35
  try {
42
- const entries = fs_1.default.readdirSync(directory);
36
+ const entries = fs.readdirSync(directory);
43
37
  for (const entry of entries) {
44
- const fullPath = path_1.default.join(directory, entry);
45
- const stats = fs_1.default.statSync(fullPath);
38
+ const fullPath = path.join(directory, entry);
39
+ const stats = fs.statSync(fullPath);
46
40
  if (stats.isDirectory()) {
47
41
  await this.scanDirectory(fullPath, fileHashes);
48
42
  }
@@ -56,7 +50,7 @@ class DuplicateFileFinder {
56
50
  }
57
51
  }
58
52
  catch (error) {
59
- logger_1.Logger.debug(`Error scanning directory ${directory}: ${error.message}`);
53
+ Logger.debug(`Error scanning directory ${directory}: ${error.message}`);
60
54
  }
61
55
  }
62
56
  getSummary(duplicates) {
@@ -76,5 +70,4 @@ Potential space savings: ${this.formatBytes(totalSize)}
76
70
  return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
77
71
  }
78
72
  }
79
- exports.DuplicateFileFinder = DuplicateFileFinder;
80
73
  //# sourceMappingURL=duplicateFileFinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duplicateFileFinder.js","sourceRoot":"","sources":["../../src/core/duplicateFileFinder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicateFileFinder.js","sourceRoot":"","sources":["../../src/core/duplicateFileFinder.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,11 @@
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.OrphanedDependencyDetector = void 0;
7
- const child_process_1 = require("child_process");
8
- const platform_1 = require("../utils/platform");
9
- const path_1 = __importDefault(require("path"));
10
- const fs_1 = __importDefault(require("fs"));
11
- const logger_1 = require("../utils/logger");
12
- class OrphanedDependencyDetector {
1
+ import { execSync } from 'child_process';
2
+ import { getHomeDir } from '../utils/platform.js';
3
+ import path from 'path';
4
+ import fs from 'fs';
5
+ import { Logger } from '../utils/logger.js';
6
+ export class OrphanedDependencyDetector {
13
7
  async detectOrphanedPackages() {
14
- logger_1.Logger.info('Scanning for orphaned dependencies...');
8
+ Logger.info('Scanning for orphaned dependencies...');
15
9
  try {
16
10
  const globalPackages = this.getGlobalPackages();
17
11
  const projectPackages = this.getProjectPackages();
@@ -36,20 +30,20 @@ class OrphanedDependencyDetector {
36
30
  return orphaned.filter((p) => p.isOrphaned);
37
31
  }
38
32
  catch (error) {
39
- logger_1.Logger.error(`Error detecting orphaned packages: ${error.message}`);
33
+ Logger.error(`Error detecting orphaned packages: ${error.message}`);
40
34
  return [];
41
35
  }
42
36
  }
43
37
  getGlobalPackages() {
44
38
  try {
45
- const output = (0, child_process_1.execSync)('npm list -g --json 2>/dev/null || echo "{}"').toString();
39
+ const output = execSync('npm list -g --json 2>/dev/null || echo "{}"').toString();
46
40
  const data = JSON.parse(output);
47
41
  const packages = [];
48
42
  if (data.dependencies) {
49
43
  for (const [name, pkg] of Object.entries(data.dependencies)) {
50
44
  const location = this.findPackageLocation(name);
51
45
  if (location) {
52
- const stats = fs_1.default.statSync(location);
46
+ const stats = fs.statSync(location);
53
47
  packages.push({
54
48
  name,
55
49
  version: pkg.version || 'unknown',
@@ -71,7 +65,7 @@ class OrphanedDependencyDetector {
71
65
  getProjectPackages() {
72
66
  const packages = new Set();
73
67
  try {
74
- const home = (0, platform_1.getHomeDir)();
68
+ const home = getHomeDir();
75
69
  const searchPaths = [home, '/usr/local'];
76
70
  for (const searchPath of searchPaths) {
77
71
  this.findPackageJsonFiles(searchPath, packages);
@@ -85,11 +79,11 @@ class OrphanedDependencyDetector {
85
79
  if (depth > 3)
86
80
  return;
87
81
  try {
88
- const entries = fs_1.default.readdirSync(dir);
82
+ const entries = fs.readdirSync(dir);
89
83
  for (const entry of entries) {
90
84
  if (entry === 'package.json') {
91
85
  try {
92
- const content = fs_1.default.readFileSync(path_1.default.join(dir, entry), 'utf-8');
86
+ const content = fs.readFileSync(path.join(dir, entry), 'utf-8');
93
87
  const json = JSON.parse(content);
94
88
  if (json.dependencies) {
95
89
  Object.keys(json.dependencies).forEach((dep) => packages.add(dep));
@@ -101,8 +95,8 @@ class OrphanedDependencyDetector {
101
95
  catch {
102
96
  }
103
97
  }
104
- const fullPath = path_1.default.join(dir, entry);
105
- if (fs_1.default.statSync(fullPath).isDirectory() && !entry.startsWith('.')) {
98
+ const fullPath = path.join(dir, entry);
99
+ if (fs.statSync(fullPath).isDirectory() && !entry.startsWith('.')) {
106
100
  this.findPackageJsonFiles(fullPath, packages, depth + 1);
107
101
  }
108
102
  }
@@ -115,7 +109,7 @@ class OrphanedDependencyDetector {
115
109
  }
116
110
  findPackageLocation(packageName) {
117
111
  try {
118
- const result = (0, child_process_1.execSync)(`npm list -g ${packageName} --json 2>/dev/null || echo "{}"`).toString();
112
+ const result = execSync(`npm list -g ${packageName} --json 2>/dev/null || echo "{}"`).toString();
119
113
  const data = JSON.parse(result);
120
114
  return data.dependencies?.[packageName]?.resolved || null;
121
115
  }
@@ -126,10 +120,10 @@ class OrphanedDependencyDetector {
126
120
  getDirectorySize(dir) {
127
121
  try {
128
122
  let size = 0;
129
- const entries = fs_1.default.readdirSync(dir);
123
+ const entries = fs.readdirSync(dir);
130
124
  for (const entry of entries) {
131
- const fullPath = path_1.default.join(dir, entry);
132
- const stats = fs_1.default.statSync(fullPath);
125
+ const fullPath = path.join(dir, entry);
126
+ const stats = fs.statSync(fullPath);
133
127
  if (stats.isDirectory()) {
134
128
  size += this.getDirectorySize(fullPath);
135
129
  }
@@ -144,5 +138,4 @@ class OrphanedDependencyDetector {
144
138
  }
145
139
  }
146
140
  }
147
- exports.OrphanedDependencyDetector = OrphanedDependencyDetector;
148
141
  //# sourceMappingURL=orphanedDependencyDetector.js.map