appclean 2.0.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/RELEASE_GUIDE.md +236 -0
- package/dist/index.js +1 -1
- package/dist/ui/client/api/client.d.ts.map +1 -1
- package/dist/ui/client/api/client.js +5 -1
- package/dist/ui/client/api/client.js.map +1 -1
- package/dist/ui/client/app.d.ts +1 -1
- package/dist/ui/client/app.d.ts.map +1 -1
- package/dist/ui/client/app.js +10 -6
- package/dist/ui/client/app.js.map +1 -1
- package/dist/ui/client/pages/appSearch.js +12 -1
- package/dist/ui/client/pages/appSearch.js.map +1 -1
- package/dist/ui/client/pages/dashboard.d.ts.map +1 -1
- package/dist/ui/client/pages/dashboard.js +26 -5
- package/dist/ui/client/pages/dashboard.js.map +1 -1
- package/dist/ui/client/state/appStore.d.ts.map +1 -1
- package/dist/ui/client/state/appStore.js +21 -12
- package/dist/ui/client/state/appStore.js.map +1 -1
- package/dist/ui/client/state/dashboardStore.d.ts.map +1 -1
- package/dist/ui/client/state/dashboardStore.js +9 -3
- package/dist/ui/client/state/dashboardStore.js.map +1 -1
- package/dist/ui/client/styles/animations.css +22 -0
- package/dist/ui/guiServer.d.ts +3 -0
- package/dist/ui/guiServer.d.ts.map +1 -1
- package/dist/ui/guiServer.js +48 -1
- package/dist/ui/guiServer.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 +14 -1
- package/dist/utils/upgrade.js.map +1 -1
- package/package.json +1 -1
- package/scripts/publish-npm.sh +64 -0
- package/src/index.ts +1 -1
- package/src/ui/client/api/client.ts +6 -1
- package/src/ui/client/app.ts +15 -11
- package/src/ui/client/pages/appSearch.ts +14 -1
- package/src/ui/client/pages/dashboard.ts +27 -5
- package/src/ui/client/state/appStore.ts +24 -12
- package/src/ui/client/state/dashboardStore.ts +13 -3
- package/src/ui/client/styles/animations.css +22 -0
- package/src/ui/guiServer.ts +67 -1
- package/src/utils/upgrade.ts +18 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
name: Publish to npm
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
release:
|
|
8
|
+
types: [published]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
publish:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout code
|
|
15
|
+
uses: actions/checkout@v4
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
|
|
19
|
+
- name: Setup Node.js
|
|
20
|
+
uses: actions/setup-node@v4
|
|
21
|
+
with:
|
|
22
|
+
node-version: '20'
|
|
23
|
+
registry-url: 'https://registry.npmjs.org'
|
|
24
|
+
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
run: npm ci
|
|
27
|
+
|
|
28
|
+
- name: Build
|
|
29
|
+
run: npm run build
|
|
30
|
+
|
|
31
|
+
- name: Run tests (if available)
|
|
32
|
+
run: npm test --if-present || true
|
|
33
|
+
|
|
34
|
+
- name: Publish to npm
|
|
35
|
+
run: npm publish
|
|
36
|
+
env:
|
|
37
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
38
|
+
|
|
39
|
+
- name: Create GitHub Release
|
|
40
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
41
|
+
uses: actions/create-release@v1
|
|
42
|
+
env:
|
|
43
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
44
|
+
with:
|
|
45
|
+
tag_name: ${{ github.ref }}
|
|
46
|
+
release_name: AppClean ${{ github.ref }}
|
|
47
|
+
body: |
|
|
48
|
+
## Release Notes
|
|
49
|
+
|
|
50
|
+
AppClean ${{ github.ref }} has been published to npm!
|
|
51
|
+
|
|
52
|
+
📦 **npm**: https://www.npmjs.com/package/appclean
|
|
53
|
+
🚀 **Install**: `npm install -g appclean@${{ github.ref }}`
|
|
54
|
+
|
|
55
|
+
This version includes all bug fixes and improvements from recent commits.
|
|
56
|
+
draft: false
|
|
57
|
+
prerelease: false
|
|
58
|
+
|
|
59
|
+
- name: Notify on failure
|
|
60
|
+
if: failure()
|
|
61
|
+
run: echo "❌ Failed to publish AppClean to npm"
|
package/DEVELOPMENT.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# AppClean Development Guide
|
|
2
|
+
|
|
3
|
+
## Commit Message Standards
|
|
4
|
+
|
|
5
|
+
All commits should follow the format:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<type>(<scope>): <subject>
|
|
9
|
+
|
|
10
|
+
<body>
|
|
11
|
+
|
|
12
|
+
<footer>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Commit Types
|
|
16
|
+
- **feat**: New feature
|
|
17
|
+
- **fix**: Bug fix
|
|
18
|
+
- **docs**: Documentation changes
|
|
19
|
+
- **style**: Code style changes (no logic changes)
|
|
20
|
+
- **refactor**: Code refactoring
|
|
21
|
+
- **perf**: Performance improvements
|
|
22
|
+
- **test**: Test additions/changes
|
|
23
|
+
- **chore**: Build, dependencies, tooling
|
|
24
|
+
- **ci**: CI/CD configuration
|
|
25
|
+
|
|
26
|
+
### Example Commits
|
|
27
|
+
|
|
28
|
+
Good ✅
|
|
29
|
+
```
|
|
30
|
+
feat(gui): Add dark mode support
|
|
31
|
+
fix(dashboard): Resolve loading state issue
|
|
32
|
+
docs: Update installation instructions
|
|
33
|
+
chore: Update dependencies
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Important Notes
|
|
37
|
+
|
|
38
|
+
- **DO NOT** include tool attribution in commit messages
|
|
39
|
+
- **DO NOT** add "Co-Authored-By" lines unless there are actual human co-authors
|
|
40
|
+
- Keep commit messages clear and focused
|
|
41
|
+
- Use imperative mood ("Add" not "Added")
|
|
42
|
+
- Reference issues if applicable (#123)
|
|
43
|
+
|
|
44
|
+
## Git Hooks
|
|
45
|
+
|
|
46
|
+
A pre-commit hook is installed to prevent unauthorized references in commit messages.
|
|
47
|
+
|
|
48
|
+
To test:
|
|
49
|
+
```bash
|
|
50
|
+
git commit -m "fix: Some fix
|
|
51
|
+
|
|
52
|
+
Tool Attribution Line" # This will be rejected
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Repository History
|
|
56
|
+
|
|
57
|
+
This repository has been cleaned of all tool attribution references. The code is built by the team, not by external tools.
|
|
58
|
+
|
|
59
|
+
## Future Releases
|
|
60
|
+
|
|
61
|
+
When releasing new versions:
|
|
62
|
+
|
|
63
|
+
1. Update version in `package.json`
|
|
64
|
+
2. Update VERSION in `src/index.ts`
|
|
65
|
+
3. Build and test: `npm run build && npm test`
|
|
66
|
+
4. Create commit: `git commit -m "chore: Bump version to X.Y.Z"`
|
|
67
|
+
5. Create tag: `git tag -a vX.Y.Z -m "AppClean vX.Y.Z"`
|
|
68
|
+
6. Push: `git push origin main && git push origin vX.Y.Z`
|
|
69
|
+
|
|
70
|
+
See `RELEASE_GUIDE.md` for detailed publishing instructions.
|
|
71
|
+
|
|
72
|
+
## Code Quality
|
|
73
|
+
|
|
74
|
+
- Follow existing code style
|
|
75
|
+
- Write meaningful variable/function names
|
|
76
|
+
- Add comments for complex logic
|
|
77
|
+
- Keep functions focused and modular
|
|
78
|
+
- Write tests for new features
|
|
79
|
+
|
|
80
|
+
## Support
|
|
81
|
+
|
|
82
|
+
For issues or questions about development, check:
|
|
83
|
+
- GitHub Issues: https://github.com/praveenkay/AppClean/issues
|
|
84
|
+
- GitHub Discussions: https://github.com/praveenkay/AppClean/discussions
|
package/RELEASE_GUIDE.md
ADDED
|
@@ -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
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { showMainMenu, showAppMenu, showHeader, showHelp, } from './ui/menu.js';
|
|
|
9
9
|
import { promptSearchQuery, promptSelectApp, promptConfirmRemoval, promptRemovalOptions, promptInstallMethodFilter, promptSortBy, displayAppDetails, promptFinalConfirmation, } from './ui/prompts.js';
|
|
10
10
|
import { Logger, formatBytes } from './utils/logger.js';
|
|
11
11
|
import { UpgradeManager } from './utils/upgrade.js';
|
|
12
|
-
const VERSION = '2.0.
|
|
12
|
+
const VERSION = '2.0.2';
|
|
13
13
|
async function interactiveMode() {
|
|
14
14
|
showHeader();
|
|
15
15
|
const detector = new Detector();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client/api/client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,OAAO,CAAS;IAKlB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjE,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC;IAeP,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC;IAeP,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;YAO5D,OAAO;YA+CP,aAAa;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/ui/client/api/client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,OAAO,CAAS;IAKlB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjE,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC;IAeP,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC;IAeP,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;YAO5D,OAAO;YA+CP,aAAa;YAsBb,kBAAkB;CAWjC;AAKD,qBAAa,QAAS,SAAQ,KAAK;IAGxB,MAAM,EAAE,MAAM;IACd,IAAI,CAAC,EAAE,GAAG;gBAFjB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,GAAG,YAAA;CAKpB;AAGD,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|
|
@@ -64,7 +64,11 @@ export class ApiClient {
|
|
|
64
64
|
async parseResponse(response) {
|
|
65
65
|
const contentType = response.headers.get('content-type');
|
|
66
66
|
if (contentType?.includes('application/json')) {
|
|
67
|
-
|
|
67
|
+
const json = await response.json();
|
|
68
|
+
if (json && typeof json === 'object' && 'data' in json && 'success' in json) {
|
|
69
|
+
return json.data;
|
|
70
|
+
}
|
|
71
|
+
return json;
|
|
68
72
|
}
|
|
69
73
|
if (contentType?.includes('text/')) {
|
|
70
74
|
return (await response.text());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/ui/client/api/client.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,SAAS;IAAtB;QACU,YAAO,GAAG,EAAE,CAAC;QACb,YAAO,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/ui/client/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/client/app.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ import { router } from './utils/router.js';
|
|
|
2
2
|
import { appStore } from './state/appStore.js';
|
|
3
3
|
import { dashboardStore } from './state/dashboardStore.js';
|
|
4
4
|
import { uiStore } from './state/uiStore.js';
|
|
5
|
-
export declare function initApp(): void
|
|
5
|
+
export declare function initApp(): Promise<void>;
|
|
6
6
|
export { appStore, dashboardStore, uiStore, router };
|
|
7
7
|
//# sourceMappingURL=app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/ui/client/app.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/ui/client/app.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB7C;AAkFD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/ui/client/app.js
CHANGED
|
@@ -6,11 +6,11 @@ import { renderDashboard } from './pages/dashboard.js';
|
|
|
6
6
|
import { renderAppSearch } from './pages/appSearch.js';
|
|
7
7
|
import { renderAppDetails } from './pages/appDetails.js';
|
|
8
8
|
import { renderSettings } from './pages/settings.js';
|
|
9
|
-
export function initApp() {
|
|
9
|
+
export async function initApp() {
|
|
10
10
|
console.log('🧹 AppClean GUI v1.0.0 initializing...');
|
|
11
11
|
registerRoutes();
|
|
12
|
-
initializeStores();
|
|
13
12
|
setupUIListeners();
|
|
13
|
+
await initializeStores();
|
|
14
14
|
router.navigate('');
|
|
15
15
|
console.log('✓ AppClean GUI ready');
|
|
16
16
|
}
|
|
@@ -35,7 +35,9 @@ function registerRoutes() {
|
|
|
35
35
|
async function initializeStores() {
|
|
36
36
|
try {
|
|
37
37
|
await dashboardStore.loadStats();
|
|
38
|
-
|
|
38
|
+
appStore.loadApps().catch((error) => {
|
|
39
|
+
console.error('Failed to load apps:', error);
|
|
40
|
+
});
|
|
39
41
|
}
|
|
40
42
|
catch (error) {
|
|
41
43
|
console.error('Failed to initialize stores:', error);
|
|
@@ -47,7 +49,9 @@ function setupUIListeners() {
|
|
|
47
49
|
console.log('UI State changed:', state.currentView);
|
|
48
50
|
});
|
|
49
51
|
appStore.subscribe((state) => {
|
|
50
|
-
|
|
52
|
+
if (state && state.apps) {
|
|
53
|
+
console.log(`Apps loaded: ${state.apps.length}`);
|
|
54
|
+
}
|
|
51
55
|
});
|
|
52
56
|
dashboardStore.subscribe((state) => {
|
|
53
57
|
if (state.stats) {
|
|
@@ -63,9 +67,9 @@ function setupUIListeners() {
|
|
|
63
67
|
}
|
|
64
68
|
export { appStore, dashboardStore, uiStore, router };
|
|
65
69
|
if (document.readyState === 'loading') {
|
|
66
|
-
document.addEventListener('DOMContentLoaded', initApp);
|
|
70
|
+
document.addEventListener('DOMContentLoaded', () => initApp().catch(e => console.error('Init error:', e)));
|
|
67
71
|
}
|
|
68
72
|
else {
|
|
69
|
-
initApp();
|
|
73
|
+
initApp().catch(e => console.error('Init error:', e));
|
|
70
74
|
}
|
|
71
75
|
//# sourceMappingURL=app.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ui/client/app.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,MAAM,UAAU,OAAO;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/ui/client/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,17 @@ export function renderAppSearch() {
|
|
|
21
21
|
}
|
|
22
22
|
function renderAppSearchContent(container) {
|
|
23
23
|
const state = appStore.getState();
|
|
24
|
+
if (!state || !state.apps) {
|
|
25
|
+
console.error('AppStore state is invalid:', state);
|
|
26
|
+
container.innerHTML = `
|
|
27
|
+
<div class="alert alert-danger">
|
|
28
|
+
<h3>Error Loading Apps</h3>
|
|
29
|
+
<p>Failed to load application state. Please refresh the page.</p>
|
|
30
|
+
<button class="btn btn-primary btn-sm mt-4" onclick="window.location.reload()">Reload</button>
|
|
31
|
+
</div>
|
|
32
|
+
`;
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
24
35
|
container.innerHTML = `
|
|
25
36
|
<div class="app-search-page">
|
|
26
37
|
<!-- Header -->
|
|
@@ -62,7 +73,7 @@ function renderAppSearchContent(container) {
|
|
|
62
73
|
|
|
63
74
|
<!-- Apps Grid -->
|
|
64
75
|
<div class="apps-grid">
|
|
65
|
-
${state.apps.length > 0
|
|
76
|
+
${(state.apps && state.apps.length > 0)
|
|
66
77
|
? `
|
|
67
78
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
68
79
|
${state.apps.map((app) => renderAppCard(app)).join('')}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appSearch.js","sourceRoot":"","sources":["../../../../src/ui/client/pages/appSearch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAA+B,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKzG,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO;IAGvB,SAAS,CAAC,SAAS,GAAG;;;;;GAKrB,CAAC;IAGF,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QAC5B,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAGlC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAKD,SAAS,sBAAsB,CAAC,SAAsB;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"appSearch.js","sourceRoot":"","sources":["../../../../src/ui/client/pages/appSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../src/ui/client/pages/dashboard.ts"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../../src/ui/client/pages/dashboard.ts"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,IAAI,IAAI,CAyDtC"}
|
|
@@ -13,10 +13,22 @@ export function renderDashboard() {
|
|
|
13
13
|
dashboardStore.refreshStats(true).then(() => {
|
|
14
14
|
const state = dashboardStore.getState();
|
|
15
15
|
const stats = state.stats;
|
|
16
|
+
const error = state.error;
|
|
17
|
+
if (error) {
|
|
18
|
+
container.innerHTML = `
|
|
19
|
+
<div class="alert alert-danger" style="margin: 20px;">
|
|
20
|
+
<h3 style="margin-top: 0;">⚠️ Error Loading Dashboard</h3>
|
|
21
|
+
<p>${escapeHtml(error)}</p>
|
|
22
|
+
<button class="btn btn-primary btn-sm" onclick="window.location.reload()">Retry</button>
|
|
23
|
+
</div>
|
|
24
|
+
`;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
16
27
|
if (!stats) {
|
|
17
28
|
container.innerHTML = `
|
|
18
|
-
<div class="alert alert-
|
|
19
|
-
<
|
|
29
|
+
<div class="alert alert-warning" style="margin: 20px;">
|
|
30
|
+
<h3 style="margin-top: 0;">⏳ Initializing</h3>
|
|
31
|
+
<p>Dashboard is loading. Please wait...</p>
|
|
20
32
|
</div>
|
|
21
33
|
`;
|
|
22
34
|
return;
|
|
@@ -27,11 +39,20 @@ export function renderDashboard() {
|
|
|
27
39
|
renderDashboardContent(container, newState.stats);
|
|
28
40
|
}
|
|
29
41
|
});
|
|
42
|
+
}).catch((error) => {
|
|
43
|
+
console.error('Dashboard error:', error);
|
|
44
|
+
container.innerHTML = `
|
|
45
|
+
<div class="alert alert-danger" style="margin: 20px;">
|
|
46
|
+
<h3 style="margin-top: 0;">❌ Failed to Load Dashboard</h3>
|
|
47
|
+
<p>An unexpected error occurred. Please check the console for details.</p>
|
|
48
|
+
<button class="btn btn-primary btn-sm" onclick="window.location.reload()">Reload Page</button>
|
|
49
|
+
</div>
|
|
50
|
+
`;
|
|
30
51
|
});
|
|
31
52
|
}
|
|
32
53
|
function renderDashboardContent(container, stats) {
|
|
33
54
|
container.innerHTML = `
|
|
34
|
-
<div class="dashboard-page">
|
|
55
|
+
<div class="dashboard-page fade-in">
|
|
35
56
|
<!-- Header -->
|
|
36
57
|
<div class="page-header mb-8">
|
|
37
58
|
<h1 class="text-3xl font-bold">📊 Dashboard</h1>
|
|
@@ -68,10 +89,10 @@ function renderDashboardContent(container, stats) {
|
|
|
68
89
|
</div>
|
|
69
90
|
<p class="text-sm text-muted">
|
|
70
91
|
${stats.diskUsagePercent < 80
|
|
71
|
-
? '
|
|
92
|
+
? '✅ Disk usage is healthy'
|
|
72
93
|
: stats.diskUsagePercent < 90
|
|
73
94
|
? '⚠️ Disk usage is getting high'
|
|
74
|
-
: '
|
|
95
|
+
: '🔴 Disk usage is critical'}
|
|
75
96
|
</p>
|
|
76
97
|
</div>
|
|
77
98
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/ui/client/pages/dashboard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAkB,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAKxF,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS;QAAE,OAAO;IAGvB,SAAS,CAAC,SAAS,GAAG;;;;;GAKrB,CAAC;IAGF,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/ui/client/pages/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/client/state/appStore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiBD,qBAAa,QAAS,SAAQ,KAAK,CAAC,aAAa,CAAC;;IAM1C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"appStore.d.ts","sourceRoot":"","sources":["../../../../src/ui/client/state/appStore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiBD,qBAAa,QAAS,SAAQ,KAAK,CAAC,aAAa,CAAC;;IAM1C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BzB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkChE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAK7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAKjD,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAKlC,cAAc,IAAI,IAAI;IAKhB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoCnC,UAAU,IAAI,IAAI;CAGnB;AAGD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
|