vg-coder-cli 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +318 -92
- package/{vg/apps/api/src/assets/.gitkeep → change.sh} +0 -0
- package/package.json +4 -11
- package/src/index.js +0 -60
- package/src/server/views/dashboard.html +391 -613
- package/vg-coder-cli-1.0.17.tgz +0 -0
- package/vg-coder-cli-2.0.4.tgz +0 -0
- package/CHANGELOG.md +0 -59
- package/PUBLISHING.md +0 -86
- package/SYSTEM_PROMPT.md +0 -157
- package/init-nx-monorepo.sh +0 -107
- package/vg/.vscode/extensions.json +0 -8
- package/vg/.vscode/launch.json +0 -23
- package/vg/README-WORKSPACE.md +0 -82
- package/vg/README.md +0 -85
- package/vg/apps/api/project.json +0 -83
- package/vg/apps/api/src/app/analyze.controller.ts +0 -17
- package/vg/apps/api/src/app/analyze.service.ts +0 -57
- package/vg/apps/api/src/app/app.controller.ts +0 -12
- package/vg/apps/api/src/app/app.module.ts +0 -29
- package/vg/apps/api/src/app/app.service.ts +0 -8
- package/vg/apps/api/src/app/clean.controller.ts +0 -40
- package/vg/apps/api/src/app/execute.controller.ts +0 -19
- package/vg/apps/api/src/app/execute.service.ts +0 -46
- package/vg/apps/api/src/app/info.controller.ts +0 -12
- package/vg/apps/api/src/app/info.service.ts +0 -65
- package/vg/apps/api/src/main.ts +0 -28
- package/vg/apps/api/webpack.config.js +0 -25
- package/vg/apps/api-e2e/jest.config.cts +0 -18
- package/vg/apps/api-e2e/project.json +0 -17
- package/vg/apps/api-e2e/src/support/global-setup.ts +0 -16
- package/vg/apps/api-e2e/src/support/global-teardown.ts +0 -10
- package/vg/apps/api-e2e/src/support/test-setup.ts +0 -9
- package/vg/apps/ng-app/jest.config.ts +0 -21
- package/vg/apps/ng-app/project.json +0 -110
- package/vg/apps/ng-app/proxy.conf.json +0 -8
- package/vg/apps/ng-app/public/favicon.ico +0 -0
- package/vg/apps/ng-app/src/app/app.config.ts +0 -17
- package/vg/apps/ng-app/src/app/app.html +0 -1
- package/vg/apps/ng-app/src/app/app.routes.ts +0 -7
- package/vg/apps/ng-app/src/app/app.scss +0 -0
- package/vg/apps/ng-app/src/app/app.ts +0 -12
- package/vg/apps/ng-app/src/app/dashboard/dashboard.component.html +0 -87
- package/vg/apps/ng-app/src/app/dashboard/dashboard.component.scss +0 -290
- package/vg/apps/ng-app/src/app/dashboard/dashboard.component.ts +0 -236
- package/vg/apps/ng-app/src/app/nx-welcome.ts +0 -872
- package/vg/apps/ng-app/src/app/services/api.service.ts +0 -28
- package/vg/apps/ng-app/src/index.html +0 -13
- package/vg/apps/ng-app/src/main.ts +0 -5
- package/vg/apps/ng-app/src/styles.scss +0 -1
- package/vg/apps/ng-app/src/test-setup.ts +0 -6
- package/vg/bin/vg-workspace.js +0 -43
- package/vg/jest.config.ts +0 -6
- package/vg/nx.json +0 -85
- package/vg/package-lock.json +0 -30707
- package/vg/package-workspace.json +0 -38
- package/vg/package.json +0 -38
- package/vg/packages/client/data-access/README.md +0 -7
- package/vg/packages/client/data-access/jest.config.ts +0 -21
- package/vg/packages/client/data-access/project.json +0 -21
- package/vg/packages/client/data-access/src/index.ts +0 -1
- package/vg/packages/client/data-access/src/lib/data-access/data-access.html +0 -1
- package/vg/packages/client/data-access/src/lib/data-access/data-access.scss +0 -0
- package/vg/packages/client/data-access/src/lib/data-access/data-access.ts +0 -9
- package/vg/packages/client/data-access/src/test-setup.ts +0 -6
- package/vg/packages/core/README.md +0 -11
- package/vg/packages/core/jest.config.ts +0 -10
- package/vg/packages/core/package.json +0 -11
- package/vg/packages/core/project.json +0 -26
- package/vg/packages/core/src/index.ts +0 -6
- package/vg/packages/core/src/lib/core.ts +0 -3
- package/vg/packages/core/src/lib/detectors/project-detector.ts +0 -343
- package/vg/packages/core/src/lib/ignore/ignore-manager.ts +0 -315
- package/vg/packages/core/src/lib/scanner/file-scanner.ts +0 -675
- package/vg/packages/core/src/lib/tokenizer/token-manager.ts +0 -435
- package/vg/packages/core/src/lib/utils/bash-executor.ts +0 -146
- package/vg/packages/shared/data-types/README.md +0 -11
- package/vg/packages/shared/data-types/jest.config.ts +0 -10
- package/vg/packages/shared/data-types/package.json +0 -11
- package/vg/packages/shared/data-types/project.json +0 -26
- package/vg/packages/shared/data-types/src/index.ts +0 -1
- package/vg/packages/shared/data-types/src/lib/data-types.ts +0 -3
- package/vg/start-dev.sh +0 -22
|
Binary file
|
|
Binary file
|
package/CHANGELOG.md
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## [2.0.0] - 2025-11-30
|
|
4
|
-
|
|
5
|
-
### 🚀 Major Update: NestJS + Angular Architecture
|
|
6
|
-
|
|
7
|
-
#### Added
|
|
8
|
-
- **NestJS Backend** (`vg/apps/api`)
|
|
9
|
-
- Modern REST API with dependency injection
|
|
10
|
-
- CORS support for Angular frontend
|
|
11
|
-
- Controllers for analyze, execute, info, and clean endpoints
|
|
12
|
-
- Comprehensive error handling and logging
|
|
13
|
-
|
|
14
|
-
- **Angular Frontend** (`vg/apps/ng-app`)
|
|
15
|
-
- Modern dashboard with standalone components
|
|
16
|
-
- Reactive forms and HTTP client integration
|
|
17
|
-
- Proxy configuration for seamless API communication
|
|
18
|
-
- Same UI/UX as original HTML dashboard
|
|
19
|
-
|
|
20
|
-
- **Core Library** (`vg/packages/core`)
|
|
21
|
-
- Shared TypeScript library with strict typing
|
|
22
|
-
- ProjectDetector, FileScanner, TokenManager, BashExecutor, IgnoreManager
|
|
23
|
-
- Reusable across CLI and API
|
|
24
|
-
|
|
25
|
-
- **Nx Monorepo**
|
|
26
|
-
- Structured workspace with apps and packages
|
|
27
|
-
- Build caching and task orchestration
|
|
28
|
-
- Easy to add new applications
|
|
29
|
-
|
|
30
|
-
- **Development Scripts**
|
|
31
|
-
- `npm run build:vg` - Build all VG workspace projects
|
|
32
|
-
- `npm run start:vg` - Start development servers
|
|
33
|
-
- `./vg/start-dev.sh` - Convenient startup script
|
|
34
|
-
|
|
35
|
-
#### Changed
|
|
36
|
-
- Bumped version to 2.0.0 for major architecture change
|
|
37
|
-
- Updated package description and keywords
|
|
38
|
-
- Enhanced README with migration information
|
|
39
|
-
|
|
40
|
-
#### Technical Details
|
|
41
|
-
- Full TypeScript migration for core logic
|
|
42
|
-
- CORS configured for localhost:4200
|
|
43
|
-
- Proxy configuration for Angular dev server
|
|
44
|
-
- All original CLI functionality preserved
|
|
45
|
-
- API endpoints tested and verified
|
|
46
|
-
|
|
47
|
-
### Migration Notes
|
|
48
|
-
- Original Express/HTML app still available in `src/` directory
|
|
49
|
-
- New architecture in `vg/` directory
|
|
50
|
-
- Both can run independently
|
|
51
|
-
- API endpoints remain compatible
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## [1.0.17] - Previous Version
|
|
56
|
-
- Original Express/HTML implementation
|
|
57
|
-
- CLI tool for project analysis
|
|
58
|
-
- Token counting with tiktoken
|
|
59
|
-
- HTML export with syntax highlighting
|
package/PUBLISHING.md
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Publishing VG Coder CLI to NPM
|
|
2
|
-
|
|
3
|
-
## Pre-publish Checklist
|
|
4
|
-
|
|
5
|
-
✅ **Version Updated**: 2.0.0
|
|
6
|
-
✅ **Package.json Updated**: New scripts and keywords added
|
|
7
|
-
✅ **CHANGELOG Created**: Documenting all changes
|
|
8
|
-
✅ **.npmignore Created**: Excluding dev files
|
|
9
|
-
✅ **README Updated**: Migration information included
|
|
10
|
-
✅ **Tests**: E2E test suite created
|
|
11
|
-
✅ **Build Verified**: All projects build successfully
|
|
12
|
-
|
|
13
|
-
## Publishing Steps
|
|
14
|
-
|
|
15
|
-
### 1. Login to NPM (if not already logged in)
|
|
16
|
-
```bash
|
|
17
|
-
npm login
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### 2. Test Package Build
|
|
21
|
-
```bash
|
|
22
|
-
npm pack --dry-run
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### 3. Build Production Artifacts (Optional - for VG workspace)
|
|
26
|
-
```bash
|
|
27
|
-
npm run build:vg
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### 4. Publish to NPM
|
|
31
|
-
```bash
|
|
32
|
-
npm publish
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Or use the convenience script:
|
|
36
|
-
```bash
|
|
37
|
-
npm run push
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Post-publish Verification
|
|
41
|
-
|
|
42
|
-
### Install from NPM
|
|
43
|
-
```bash
|
|
44
|
-
npm install -g vg-coder-cli@2.0.0
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Test CLI Commands
|
|
48
|
-
```bash
|
|
49
|
-
vg --version
|
|
50
|
-
vg analyze .
|
|
51
|
-
vg start
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Test New Features
|
|
55
|
-
```bash
|
|
56
|
-
# Start VG workspace
|
|
57
|
-
npm run start:vg
|
|
58
|
-
|
|
59
|
-
# Build VG workspace
|
|
60
|
-
npm run build:vg
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Package Contents
|
|
64
|
-
|
|
65
|
-
The published package includes:
|
|
66
|
-
- ✅ CLI binaries (`bin/vg.js`, `bin/vg-coder.js`)
|
|
67
|
-
- ✅ Source code (`src/`)
|
|
68
|
-
- ✅ VG workspace (`vg/` - for advanced users)
|
|
69
|
-
- ✅ README and documentation
|
|
70
|
-
- ✅ CHANGELOG
|
|
71
|
-
- ❌ Development files (excluded via .npmignore)
|
|
72
|
-
- ❌ Test files (excluded)
|
|
73
|
-
- ❌ Build artifacts (excluded)
|
|
74
|
-
|
|
75
|
-
## Version Strategy
|
|
76
|
-
|
|
77
|
-
- **1.x.x**: Original Express/HTML implementation
|
|
78
|
-
- **2.0.0**: Major upgrade with NestJS/Angular architecture
|
|
79
|
-
- **2.x.x**: Future enhancements to the new architecture
|
|
80
|
-
|
|
81
|
-
## Notes
|
|
82
|
-
|
|
83
|
-
- The original CLI functionality (`vg analyze`, `vg start`) remains unchanged
|
|
84
|
-
- New VG workspace is included for users who want to run the modern stack
|
|
85
|
-
- Both architectures can coexist
|
|
86
|
-
- Users can choose which one to use based on their needs
|
package/SYSTEM_PROMPT.md
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
# VG Coder AI System Prompt
|
|
2
|
-
|
|
3
|
-
## Command Prefixes
|
|
4
|
-
|
|
5
|
-
### `/ask` - Question & Answer Mode
|
|
6
|
-
Khi người dùng hỏi với prefix `/ask`, họ đang muốn tìm hiểu hoặc được giải thích về một vấn đề.
|
|
7
|
-
|
|
8
|
-
**Response Format:** Markdown
|
|
9
|
-
- Trả lời chi tiết, rõ ràng
|
|
10
|
-
- Sử dụng code blocks, lists, tables khi cần
|
|
11
|
-
- Cung cấp ví dụ minh họa
|
|
12
|
-
|
|
13
|
-
**Example:**
|
|
14
|
-
```
|
|
15
|
-
/ask Làm sao để tối ưu React component?
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
### `/plan` - Planning Mode
|
|
21
|
-
Khi người dùng muốn lên kế hoạch với prefix `/plan`, tạo một implementation plan chi tiết.
|
|
22
|
-
|
|
23
|
-
**Response Format:** Markdown checklist với bash commands
|
|
24
|
-
- Chia nhỏ thành các bước cụ thể
|
|
25
|
-
- Mỗi bước có bash command tương ứng
|
|
26
|
-
- Sắp xếp theo thứ tự logic
|
|
27
|
-
|
|
28
|
-
**Example:**
|
|
29
|
-
```markdown
|
|
30
|
-
## Implementation Plan
|
|
31
|
-
|
|
32
|
-
- [ ] **Step 1:** Create component structure
|
|
33
|
-
```bash
|
|
34
|
-
mkdir -p src/components/UserProfile
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
- [ ] **Step 2:** Create component files
|
|
38
|
-
```bash
|
|
39
|
-
touch src/components/UserProfile/index.tsx
|
|
40
|
-
touch src/components/UserProfile/styles.css
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
- [ ] **Step 3:** Implement component logic
|
|
44
|
-
...
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
### `/fix` - Bug Fix Mode
|
|
50
|
-
Khi người dùng cần fix bug với prefix `/fix`, phân tích lỗi và đưa ra giải pháp.
|
|
51
|
-
|
|
52
|
-
**Response Format:** Markdown + Bash script
|
|
53
|
-
1. **Phân tích lỗi:** Giải thích nguyên nhân
|
|
54
|
-
2. **Giải pháp:** Mô tả cách fix
|
|
55
|
-
3. **Bash script:** Code để fix (nếu cần)
|
|
56
|
-
|
|
57
|
-
**Example:**
|
|
58
|
-
```markdown
|
|
59
|
-
## Bug Analysis
|
|
60
|
-
Lỗi xảy ra do missing dependency...
|
|
61
|
-
|
|
62
|
-
## Solution
|
|
63
|
-
Cần cài đặt package và cập nhật import...
|
|
64
|
-
|
|
65
|
-
## Fix Script
|
|
66
|
-
\`\`\`bash
|
|
67
|
-
mkdir -p $(dirname "src/utils/helper.ts")
|
|
68
|
-
cat <<'EOF' > src/utils/helper.ts
|
|
69
|
-
// Fixed code here
|
|
70
|
-
EOF
|
|
71
|
-
\`\`\`
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
### `/code` - Code Generation Mode
|
|
77
|
-
Khi người dùng hỏi với prefix `/code`, trả về **BASH SCRIPT DUY NHẤT** để tạo/cập nhật files.
|
|
78
|
-
|
|
79
|
-
## ⚠️ QUY TẮC BẮT BUỘC
|
|
80
|
-
|
|
81
|
-
### 1. Chỉ bao gồm files có thay đổi
|
|
82
|
-
- ❌ **KHÔNG** bao gồm files không có sự thay đổi nội dung
|
|
83
|
-
- ✅ Nếu nội dung file sau chỉnh sửa giống 100% bản cũ → **BỎ QUA**
|
|
84
|
-
|
|
85
|
-
### 2. Format Script Chuẩn
|
|
86
|
-
|
|
87
|
-
**Mỗi file PHẢI theo cú pháp:**
|
|
88
|
-
```bash
|
|
89
|
-
mkdir -p $(dirname "path/to/file.ext")
|
|
90
|
-
cat <<'EOF' > path/to/file.ext
|
|
91
|
-
... toàn bộ nội dung file sau khi chỉnh sửa ...
|
|
92
|
-
EOF
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### 3. Chi tiết quan trọng
|
|
96
|
-
- ✅ **LUÔN** có `mkdir -p $(dirname "...")` trước mỗi file
|
|
97
|
-
- ✅ Sử dụng `<<'EOF'` (có dấu nháy đơn) để tránh bash expansion
|
|
98
|
-
- ✅ Ghi đè hoàn toàn file bằng nội dung mới
|
|
99
|
-
- ✅ Tự động tạo file và thư mục cha nếu chưa tồn tại
|
|
100
|
-
- ✅ Đường dẫn giống với file mẫu đính kèm
|
|
101
|
-
|
|
102
|
-
### 4. Example Output
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# Create/Update component file
|
|
106
|
-
mkdir -p $(dirname "src/components/Button/index.tsx")
|
|
107
|
-
cat <<'EOF' > src/components/Button/index.tsx
|
|
108
|
-
import React from 'react';
|
|
109
|
-
|
|
110
|
-
export const Button = () => {
|
|
111
|
-
return <button>Click me</button>;
|
|
112
|
-
};
|
|
113
|
-
EOF
|
|
114
|
-
|
|
115
|
-
# Create/Update styles
|
|
116
|
-
mkdir -p $(dirname "src/components/Button/styles.css")
|
|
117
|
-
cat <<'EOF' > src/components/Button/styles.css
|
|
118
|
-
.button {
|
|
119
|
-
padding: 10px 20px;
|
|
120
|
-
background: blue;
|
|
121
|
-
}
|
|
122
|
-
EOF
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Integration với VG Coder CLI
|
|
128
|
-
|
|
129
|
-
Bash scripts được generate sẽ được thực thi qua:
|
|
130
|
-
```bash
|
|
131
|
-
POST http://localhost:6868/api/execute
|
|
132
|
-
{
|
|
133
|
-
"bash": "mkdir -p $(dirname \"src/...\")\\ncat <<'EOF' > ..."
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
API sẽ:
|
|
138
|
-
1. ✅ Validate bash syntax trong `.vg/temp-execute`
|
|
139
|
-
2. ✅ Execute tại working directory nếu syntax OK
|
|
140
|
-
3. ✅ Trả về stdout/stderr/exitCode
|
|
141
|
-
4. ✅ Auto cleanup temp directory
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## Best Practices
|
|
146
|
-
|
|
147
|
-
### DO ✅
|
|
148
|
-
- Luôn dùng `mkdir -p $(dirname "...")` trước mỗi file
|
|
149
|
-
- Sử dụng `<<'EOF'` để tránh variable expansion
|
|
150
|
-
- Ghi đè toàn bộ nội dung file
|
|
151
|
-
- Chỉ include files có thay đổi thực sự
|
|
152
|
-
|
|
153
|
-
### DON'T ❌
|
|
154
|
-
- Không tạo file mà không tạo thư mục cha
|
|
155
|
-
- Không dùng `<<EOF` (thiếu quotes) nếu có `$` trong content
|
|
156
|
-
- Không include files không thay đổi
|
|
157
|
-
- Không dùng relative paths phức tạp
|
package/init-nx-monorepo.sh
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Dừng script ngay lập tức nếu có lỗi
|
|
4
|
-
set -e
|
|
5
|
-
|
|
6
|
-
echo "🚀 Bắt đầu khởi tạo template Nx (Angular + NestJS)..."
|
|
7
|
-
echo "---------------------------------------------------------"
|
|
8
|
-
|
|
9
|
-
# Bước 1: Lấy tên workspace từ người dùng
|
|
10
|
-
read -p "Tên workspace của bạn là gì? (ví dụ: my-monorepo): " WORKSPACE_NAME
|
|
11
|
-
|
|
12
|
-
# Kiểm tra nếu tên workspace bị trống
|
|
13
|
-
if [ -z "$WORKSPACE_NAME" ]; then
|
|
14
|
-
echo "❌ Tên workspace không được để trống! Đã hủy."
|
|
15
|
-
exit 1
|
|
16
|
-
fi
|
|
17
|
-
|
|
18
|
-
echo "---------------------------------------------------------"
|
|
19
|
-
echo "🔧 Đang tạo workspace: $WORKSPACE_NAME"
|
|
20
|
-
echo "(Sử dụng preset=ts và --workspaces=false để tương thích với Angular)"
|
|
21
|
-
|
|
22
|
-
# Bước 2: Tạo Nx Workspace
|
|
23
|
-
npx create-nx-workspace@latest "$WORKSPACE_NAME" --preset=ts --workspaces=false --skip-nx-cloud --no-interactive
|
|
24
|
-
|
|
25
|
-
# Di chuyển vào thư mục workspace vừa tạo
|
|
26
|
-
cd "$WORKSPACE_NAME"
|
|
27
|
-
|
|
28
|
-
echo "✅ Workspace $WORKSPACE_NAME đã được tạo."
|
|
29
|
-
echo "---------------------------------------------------------"
|
|
30
|
-
|
|
31
|
-
# Bước 3: Thêm NestJS
|
|
32
|
-
echo "📦 Đang cài đặt và cấu hình NestJS..."
|
|
33
|
-
npm install --save-dev @nx/nest
|
|
34
|
-
nx g @nx/nest:app --name=api --directory=apps/api --tags="scope:server,type:app" --no-interactive
|
|
35
|
-
|
|
36
|
-
echo "---------------------------------------------------------"
|
|
37
|
-
|
|
38
|
-
# Bước 4: Thêm Angular
|
|
39
|
-
echo "📦 Đang cài đặt và cấu hình Angular..."
|
|
40
|
-
npm install --save-dev @nx/angular
|
|
41
|
-
nx g @nx/angular:app --name=ng-app --directory=apps/ng-app --tags="scope:client,type:app" --e2eTestRunner=none --style=scss --no-interactive
|
|
42
|
-
|
|
43
|
-
echo "---------------------------------------------------------"
|
|
44
|
-
|
|
45
|
-
# Bước 5: Tạo Thư viện Chung (JS/TS)
|
|
46
|
-
echo "📚 Đang tạo thư viện chung 'data-types'..."
|
|
47
|
-
npm install --save-dev @nx/js
|
|
48
|
-
nx g @nx/js:library --name=data-types --directory=packages/shared/data-types --tags="scope:shared,type:lib" --no-interactive
|
|
49
|
-
|
|
50
|
-
echo "---------------------------------------------------------"
|
|
51
|
-
|
|
52
|
-
# Bước 6: Tạo Thư viện Data Access (Angular)
|
|
53
|
-
echo "📚 Đang tạo thư viện 'data-access' cho Angular..."
|
|
54
|
-
nx g @nx/angular:library --name=data-access --directory=packages/client/data-access --tags="scope:client,type:lib" --style=scss --no-interactive
|
|
55
|
-
|
|
56
|
-
echo "---------------------------------------------------------"
|
|
57
|
-
|
|
58
|
-
# Bước 7: TỰ ĐỘNG TẠO FILE PROXY.CONF.JSON (ĐÃ SỬA)
|
|
59
|
-
echo "🔗 Đang tạo file 'apps/ng-app/proxy.conf.json'..."
|
|
60
|
-
|
|
61
|
-
cat <<EOF > apps/ng-app/proxy.conf.json
|
|
62
|
-
{
|
|
63
|
-
"/api": {
|
|
64
|
-
"target": "http://localhost:3000",
|
|
65
|
-
"secure": false,
|
|
66
|
-
"logLevel": "debug"
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
EOF
|
|
70
|
-
|
|
71
|
-
echo "✅ File 'proxy.conf.json' đã được tạo."
|
|
72
|
-
echo "---------------------------------------------------------"
|
|
73
|
-
echo "🎉 HOÀN TẤT (với 2 bước thủ công)!"
|
|
74
|
-
echo "---------------------------------------------------------"
|
|
75
|
-
echo ""
|
|
76
|
-
echo "‼️ YÊU CẦU HÀNH ĐỘNG THỦ CÔNG (2 BƯỚC) ‼️"
|
|
77
|
-
echo "Script đã tạo file 'proxy.conf.json', nhưng bạn cần kết nối nó với 'ng-app'."
|
|
78
|
-
echo ""
|
|
79
|
-
echo "👉 Mở file: ./$WORKSPACE_NAME/apps/ng-app/project.json"
|
|
80
|
-
echo ""
|
|
81
|
-
echo "1. Thêm 'proxyConfig' vào target 'serve' (trong 'options'):"
|
|
82
|
-
echo '
|
|
83
|
-
"serve": {
|
|
84
|
-
"executor": "@nx/angular:dev-server",
|
|
85
|
-
"options": {
|
|
86
|
-
"proxyConfig": "apps/ng-app/proxy.conf.json" <-- THÊM DÒNG NÀY
|
|
87
|
-
},
|
|
88
|
-
'
|
|
89
|
-
echo ""
|
|
90
|
-
echo "2. Thêm 'dependsOn' vào target 'serve' (để tự động chạy API):"
|
|
91
|
-
echo '
|
|
92
|
-
"serve": {
|
|
93
|
-
...
|
|
94
|
-
"defaultConfiguration": "development",
|
|
95
|
-
"dependsOn": [ <-- THÊM KHỐI NÀY
|
|
96
|
-
{
|
|
97
|
-
"target": "serve",
|
|
98
|
-
"projects": "api"
|
|
99
|
-
}
|
|
100
|
-
]
|
|
101
|
-
},
|
|
102
|
-
'
|
|
103
|
-
echo ""
|
|
104
|
-
echo "Sau khi hoàn tất 2 bước trên, bạn có thể chạy:"
|
|
105
|
-
echo "nx serve ng-app"
|
|
106
|
-
|
|
107
|
-
# ulimit -n 10240 && ./init-nx-monorepo.sh
|
package/vg/.vscode/launch.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "0.2.0",
|
|
3
|
-
"configurations": [
|
|
4
|
-
{
|
|
5
|
-
"type": "node",
|
|
6
|
-
"request": "launch",
|
|
7
|
-
"name": "Debug api with Nx",
|
|
8
|
-
"runtimeExecutable": "npx",
|
|
9
|
-
"runtimeArgs": ["nx", "serve", "api"],
|
|
10
|
-
"env": {
|
|
11
|
-
"NODE_OPTIONS": "--inspect=9229"
|
|
12
|
-
},
|
|
13
|
-
"console": "integratedTerminal",
|
|
14
|
-
"internalConsoleOptions": "neverOpen",
|
|
15
|
-
"skipFiles": ["<node_internals>/**"],
|
|
16
|
-
"sourceMaps": true,
|
|
17
|
-
"outFiles": [
|
|
18
|
-
"${workspaceFolder}/apps/api/dist/**/*.(m|c|)js",
|
|
19
|
-
"!**/node_modules/**"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
}
|
package/vg/README-WORKSPACE.md
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# VG Coder Workspace
|
|
2
|
-
|
|
3
|
-
Modern NestJS + Angular workspace for VG Coder CLI.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
### Global Installation
|
|
8
|
-
```bash
|
|
9
|
-
npm install -g @vg-coder/workspace
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
### Run with npx (Recommended)
|
|
13
|
-
```bash
|
|
14
|
-
npx @vg-coder/workspace@latest
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Usage
|
|
18
|
-
|
|
19
|
-
### Start Development Servers
|
|
20
|
-
```bash
|
|
21
|
-
vg-workspace
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
This will start:
|
|
25
|
-
- **NestJS API**: http://localhost:3000
|
|
26
|
-
- **Angular Dashboard**: http://localhost:4200
|
|
27
|
-
|
|
28
|
-
### From VG Coder CLI
|
|
29
|
-
```bash
|
|
30
|
-
vg start --new
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## What's Included
|
|
34
|
-
|
|
35
|
-
- **NestJS Backend** (`apps/api`)
|
|
36
|
-
- REST API with CORS support
|
|
37
|
-
- Project analysis endpoints
|
|
38
|
-
- Bash script execution
|
|
39
|
-
- Token counting
|
|
40
|
-
|
|
41
|
-
- **Angular Frontend** (`apps/ng-app`)
|
|
42
|
-
- Modern dashboard UI
|
|
43
|
-
- Reactive forms
|
|
44
|
-
- Real-time updates
|
|
45
|
-
|
|
46
|
-
- **Core Library** (`packages/core`)
|
|
47
|
-
- Shared TypeScript utilities
|
|
48
|
-
- Project detection
|
|
49
|
-
- File scanning
|
|
50
|
-
- Token management
|
|
51
|
-
|
|
52
|
-
## Development
|
|
53
|
-
|
|
54
|
-
### Build All Projects
|
|
55
|
-
```bash
|
|
56
|
-
npm run build
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Build Individual Projects
|
|
60
|
-
```bash
|
|
61
|
-
npm run build:api
|
|
62
|
-
npm run build:ng-app
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Serve Individual Projects
|
|
66
|
-
```bash
|
|
67
|
-
npm run serve:api # API only
|
|
68
|
-
npm run serve:ng-app # Frontend only
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Requirements
|
|
72
|
-
|
|
73
|
-
- Node.js >= 16.0.0
|
|
74
|
-
- npm >= 7.0.0
|
|
75
|
-
|
|
76
|
-
## Related Packages
|
|
77
|
-
|
|
78
|
-
- [vg-coder-cli](https://www.npmjs.com/package/vg-coder-cli) - Main CLI tool
|
|
79
|
-
|
|
80
|
-
## License
|
|
81
|
-
|
|
82
|
-
MIT
|
package/vg/README.md
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
# VG Coder - NestJS/Angular Upgrade
|
|
2
|
-
|
|
3
|
-
## Quick Start
|
|
4
|
-
|
|
5
|
-
### Start Both Applications
|
|
6
|
-
```bash
|
|
7
|
-
cd vg
|
|
8
|
-
nx run-many --target=serve --projects=api,ng-app
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
This will start:
|
|
12
|
-
- **API Backend** on `http://localhost:3000`
|
|
13
|
-
- **Angular Dashboard** on `http://localhost:4200`
|
|
14
|
-
|
|
15
|
-
### Start Individually
|
|
16
|
-
|
|
17
|
-
**Backend only:**
|
|
18
|
-
```bash
|
|
19
|
-
cd vg
|
|
20
|
-
nx serve api
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Frontend only:**
|
|
24
|
-
```bash
|
|
25
|
-
cd vg
|
|
26
|
-
nx serve ng-app
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Project Structure
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
vg/
|
|
33
|
-
├── apps/
|
|
34
|
-
│ ├── api/ # NestJS backend
|
|
35
|
-
│ └── ng-app/ # Angular frontend
|
|
36
|
-
└── packages/
|
|
37
|
-
└── core/ # Shared TypeScript library
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Available Endpoints
|
|
41
|
-
|
|
42
|
-
| Endpoint | Method | Description |
|
|
43
|
-
|----------|--------|-------------|
|
|
44
|
-
| `/api/analyze` | POST | Analyze project and return source code |
|
|
45
|
-
| `/api/execute` | POST | Execute bash scripts with validation |
|
|
46
|
-
| `/api/info` | GET | Get project information and statistics |
|
|
47
|
-
| `/api/clean` | DELETE | Clean output directories |
|
|
48
|
-
|
|
49
|
-
## Development
|
|
50
|
-
|
|
51
|
-
### Build All
|
|
52
|
-
```bash
|
|
53
|
-
nx run-many --target=build --all
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Build Specific Project
|
|
57
|
-
```bash
|
|
58
|
-
nx build core
|
|
59
|
-
nx build api
|
|
60
|
-
nx build ng-app
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Test
|
|
64
|
-
```bash
|
|
65
|
-
nx test core
|
|
66
|
-
nx test api
|
|
67
|
-
nx test ng-app
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Architecture
|
|
71
|
-
|
|
72
|
-
- **Core Library** (`@vg/core`): Shared business logic
|
|
73
|
-
- ProjectDetector
|
|
74
|
-
- FileScanner
|
|
75
|
-
- TokenManager
|
|
76
|
-
- BashExecutor
|
|
77
|
-
- IgnoreManager
|
|
78
|
-
|
|
79
|
-
- **API Backend**: NestJS REST API with controllers and services
|
|
80
|
-
- **Frontend**: Angular standalone components with reactive forms
|
|
81
|
-
|
|
82
|
-
## Configuration
|
|
83
|
-
|
|
84
|
-
- **Proxy**: Angular dev server proxies `/api` requests to `http://localhost:3000`
|
|
85
|
-
- **CORS**: NestJS allows requests from `http://localhost:4200`
|
package/vg/apps/api/project.json
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "api",
|
|
3
|
-
"$schema": "../../node_modules/nx/schemas/project-schema.json",
|
|
4
|
-
"sourceRoot": "apps/api/src",
|
|
5
|
-
"projectType": "application",
|
|
6
|
-
"targets": {
|
|
7
|
-
"build": {
|
|
8
|
-
"executor": "nx:run-commands",
|
|
9
|
-
"options": {
|
|
10
|
-
"command": "npx webpack-cli build",
|
|
11
|
-
"args": [
|
|
12
|
-
"--node-env=production"
|
|
13
|
-
],
|
|
14
|
-
"cwd": "apps/api"
|
|
15
|
-
},
|
|
16
|
-
"configurations": {
|
|
17
|
-
"development": {
|
|
18
|
-
"args": [
|
|
19
|
-
"--node-env=development"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"prune-lockfile": {
|
|
25
|
-
"dependsOn": [
|
|
26
|
-
"build"
|
|
27
|
-
],
|
|
28
|
-
"cache": true,
|
|
29
|
-
"executor": "@nx/js:prune-lockfile",
|
|
30
|
-
"outputs": [
|
|
31
|
-
"{workspaceRoot}/dist/apps/api/package.json",
|
|
32
|
-
"{workspaceRoot}/dist/apps/api/package-lock.json"
|
|
33
|
-
],
|
|
34
|
-
"options": {
|
|
35
|
-
"buildTarget": "build"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
"copy-workspace-modules": {
|
|
39
|
-
"dependsOn": [
|
|
40
|
-
"build"
|
|
41
|
-
],
|
|
42
|
-
"cache": true,
|
|
43
|
-
"outputs": [
|
|
44
|
-
"{workspaceRoot}/dist/apps/api/workspace_modules"
|
|
45
|
-
],
|
|
46
|
-
"executor": "@nx/js:copy-workspace-modules",
|
|
47
|
-
"options": {
|
|
48
|
-
"buildTarget": "build"
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
"prune": {
|
|
52
|
-
"dependsOn": [
|
|
53
|
-
"prune-lockfile",
|
|
54
|
-
"copy-workspace-modules"
|
|
55
|
-
],
|
|
56
|
-
"executor": "nx:noop"
|
|
57
|
-
},
|
|
58
|
-
"serve": {
|
|
59
|
-
"continuous": true,
|
|
60
|
-
"executor": "@nx/js:node",
|
|
61
|
-
"defaultConfiguration": "development",
|
|
62
|
-
"dependsOn": [
|
|
63
|
-
"build"
|
|
64
|
-
],
|
|
65
|
-
"options": {
|
|
66
|
-
"buildTarget": "api:build",
|
|
67
|
-
"runBuildTargetDependencies": false
|
|
68
|
-
},
|
|
69
|
-
"configurations": {
|
|
70
|
-
"development": {
|
|
71
|
-
"buildTarget": "api:build:development"
|
|
72
|
-
},
|
|
73
|
-
"production": {
|
|
74
|
-
"buildTarget": "api:build:production"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"tags": [
|
|
80
|
-
"scope:server",
|
|
81
|
-
"type:app"
|
|
82
|
-
]
|
|
83
|
-
}
|