vg-coder-cli 2.0.1 → 2.0.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vg-coder-cli",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "šŸš€ CLI tool to analyze projects, concatenate source files, count tokens, and export HTML with syntax highlighting. Now with modern NestJS API and Angular dashboard!",
5
5
  "main": "src/index.js",
6
6
  "bin": {
package/src/index.js CHANGED
@@ -368,6 +368,7 @@ class VGCoderCLI {
368
368
  }
369
369
  }
370
370
 
371
+
371
372
  /**
372
373
  * Handle start command
373
374
  */
@@ -375,46 +376,48 @@ class VGCoderCLI {
375
376
  try {
376
377
  // Check if --new flag is set
377
378
  if (options.new) {
378
- console.log(chalk.blue('šŸš€ Starting NestJS/Angular stack...'));
379
- console.log(chalk.yellow('This will start both API (port 3000) and Angular (port 4200)'));
379
+ console.log(chalk.blue('šŸš€ VG Coder - Modern NestJS/Angular Stack'));
380
+ console.log('');
381
+ console.log(chalk.yellow('Starting the modern workspace...'));
380
382
  console.log('');
381
383
 
382
- // Check if vg directory exists
383
- const vgPath = path.join(__dirname, '..', 'vg');
384
- if (!await fs.pathExists(vgPath)) {
385
- throw new Error('VG workspace not found. Make sure you have the complete package installed.');
386
- }
384
+ // Use npx to run the workspace package
385
+ const { spawn } = require('child_process');
387
386
 
388
- // Check if start-dev.sh exists
389
- const startScript = path.join(vgPath, 'start-dev.sh');
390
- if (!await fs.pathExists(startScript)) {
391
- throw new Error('start-dev.sh not found in vg directory.');
392
- }
387
+ console.log(chalk.cyan('Running: npx vg-coder-workspace@latest'));
388
+ console.log('');
389
+ console.log(chalk.gray('This will:'));
390
+ console.log(chalk.gray(' • Install the workspace package (if needed)'));
391
+ console.log(chalk.gray(' • Start NestJS API on http://localhost:3000'));
392
+ console.log(chalk.gray(' • Start Angular Dashboard on http://localhost:4200'));
393
+ console.log('');
393
394
 
394
- // Execute start-dev.sh
395
- const { spawn } = require('child_process');
396
- const child = spawn('bash', [startScript], {
397
- cwd: vgPath,
398
- stdio: 'inherit'
395
+ const child = spawn('npx', ['vg-coder-workspace@latest'], {
396
+ stdio: 'inherit',
397
+ shell: true
399
398
  });
400
399
 
401
400
  child.on('error', (error) => {
402
- console.error(chalk.red('Failed to start:'), error.message);
401
+ console.error(chalk.red('\nāŒ Failed to start workspace:'), error.message);
402
+ console.log('');
403
+ console.log(chalk.yellow('šŸ’” Alternative: Clone and run locally'));
404
+ console.log(chalk.cyan(' git clone https://github.com/tinhthanh/vg-coder-cli.git'));
405
+ console.log(chalk.cyan(' cd vg-coder-cli/vg && npm install && ./start-dev.sh'));
403
406
  process.exit(1);
404
407
  });
405
408
 
406
409
  child.on('exit', (code) => {
407
- if (code !== 0) {
408
- console.error(chalk.red(`Process exited with code ${code}`));
409
- process.exit(code);
410
+ if (code !== 0 && code !== null) {
411
+ console.error(chalk.red(`\nProcess exited with code ${code}`));
410
412
  }
413
+ process.exit(code || 0);
411
414
  });
412
415
 
413
416
  // Handle graceful shutdown
414
417
  const shutdown = () => {
415
418
  console.log(chalk.yellow('\n\nShutting down...'));
416
419
  child.kill('SIGTERM');
417
- process.exit(0);
420
+ setTimeout(() => process.exit(0), 1000);
418
421
  };
419
422
 
420
423
  process.on('SIGINT', shutdown);
@@ -471,6 +474,7 @@ class VGCoderCLI {
471
474
  }
472
475
  }
473
476
 
477
+
474
478
  /**
475
479
  * Run CLI
476
480
  */
@@ -0,0 +1,82 @@
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
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawn } = require('child_process');
4
+ const path = require('path');
5
+ const chalk = require('chalk');
6
+
7
+ console.log(chalk.blue('šŸš€ VG Coder Workspace'));
8
+ console.log(chalk.yellow('Starting NestJS API and Angular Dashboard...'));
9
+ console.log('');
10
+
11
+ // Get the directory where this package is installed
12
+ const workspaceDir = path.join(__dirname, '..');
13
+
14
+ // Start both services
15
+ const child = spawn('npx', ['nx', 'run-many', '--target=serve', '--projects=api,ng-app', '--parallel=2'], {
16
+ cwd: workspaceDir,
17
+ stdio: 'inherit',
18
+ shell: true
19
+ });
20
+
21
+ child.on('error', (error) => {
22
+ console.error(chalk.red('Failed to start:'), error.message);
23
+ process.exit(1);
24
+ });
25
+
26
+ child.on('exit', (code) => {
27
+ if (code !== 0 && code !== null) {
28
+ console.error(chalk.red(`Process exited with code ${code}`));
29
+ process.exit(code);
30
+ }
31
+ });
32
+
33
+ // Handle graceful shutdown
34
+ const shutdown = () => {
35
+ console.log(chalk.yellow('\n\nShutting down...'));
36
+ child.kill('SIGTERM');
37
+ setTimeout(() => {
38
+ process.exit(0);
39
+ }, 1000);
40
+ };
41
+
42
+ process.on('SIGINT', shutdown);
43
+ process.on('SIGTERM', shutdown);
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@vg-coder/workspace",
3
+ "version": "1.0.0",
4
+ "description": "Modern NestJS/Angular workspace for VG Coder CLI",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "vg-workspace": "./bin/vg-workspace.js"
8
+ },
9
+ "scripts": {
10
+ "start": "nx run-many --target=serve --projects=api,ng-app --parallel=2",
11
+ "build": "nx run-many --target=build --all --configuration=production",
12
+ "build:api": "nx build api",
13
+ "build:ng-app": "nx build ng-app",
14
+ "serve:api": "nx serve api",
15
+ "serve:ng-app": "nx serve ng-app"
16
+ },
17
+ "keywords": [
18
+ "vg-coder",
19
+ "nestjs",
20
+ "angular",
21
+ "nx-monorepo",
22
+ "api-server",
23
+ "dashboard"
24
+ ],
25
+ "author": "VG Coder",
26
+ "license": "MIT",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/tinhthanh/vg-coder-cli.git",
30
+ "directory": "vg"
31
+ },
32
+ "peerDependencies": {
33
+ "vg-coder-cli": "^2.0.0"
34
+ },
35
+ "engines": {
36
+ "node": ">=16.0.0"
37
+ }
38
+ }
package/vg/package.json CHANGED
@@ -1,75 +1,38 @@
1
1
  {
2
- "name": "@vg/source",
3
- "version": "0.0.0",
4
- "license": "MIT",
5
- "scripts": {},
6
- "private": true,
7
- "devDependencies": {
8
- "@angular-devkit/core": "~20.3.0",
9
- "@angular-devkit/schematics": "~20.3.0",
10
- "@angular/build": "~20.3.0",
11
- "@angular/cli": "~20.3.0",
12
- "@angular/compiler-cli": "~20.3.0",
13
- "@angular/language-service": "~20.3.0",
14
- "@eslint/js": "^9.8.0",
15
- "@nestjs/schematics": "^11.0.0",
16
- "@nestjs/testing": "^11.0.0",
17
- "@nx/angular": "^22.1.3",
18
- "@nx/eslint": "22.1.3",
19
- "@nx/eslint-plugin": "22.1.3",
20
- "@nx/jest": "22.1.3",
21
- "@nx/js": "^22.1.3",
22
- "@nx/nest": "^22.1.3",
23
- "@nx/node": "22.1.3",
24
- "@nx/web": "22.1.3",
25
- "@nx/webpack": "22.1.3",
26
- "@nx/workspace": "22.1.3",
27
- "@schematics/angular": "~20.3.0",
28
- "@swc-node/register": "~1.9.1",
29
- "@swc/core": "~1.5.7",
30
- "@swc/helpers": "~0.5.11",
31
- "@types/fs-extra": "^11.0.4",
32
- "@types/jest": "^29.5.12",
33
- "@types/node": "20.19.9",
34
- "@types/supertest": "^6.0.3",
35
- "@typescript-eslint/utils": "^8.40.0",
36
- "angular-eslint": "^20.3.0",
37
- "eslint": "^9.8.0",
38
- "eslint-config-prettier": "^10.0.0",
39
- "jest": "^29.7.0",
40
- "jest-environment-jsdom": "^29.7.0",
41
- "jest-environment-node": "^29.7.0",
42
- "jest-preset-angular": "~14.6.1",
43
- "jest-util": "^29.7.0",
44
- "jsonc-eslint-parser": "^2.1.0",
45
- "nx": "22.1.3",
46
- "prettier": "^2.6.2",
47
- "supertest": "^7.1.4",
48
- "ts-jest": "^29.1.0",
49
- "ts-node": "10.9.1",
50
- "tslib": "^2.3.0",
51
- "typescript": "~5.9.2",
52
- "typescript-eslint": "^8.40.0",
53
- "webpack-cli": "^5.1.4"
54
- },
55
- "dependencies": {
56
- "@angular/common": "~20.3.0",
57
- "@angular/compiler": "~20.3.0",
58
- "@angular/core": "~20.3.0",
59
- "@angular/forms": "~20.3.0",
60
- "@angular/platform-browser": "~20.3.0",
61
- "@angular/platform-browser-dynamic": "~20.3.0",
62
- "@angular/router": "~20.3.0",
63
- "@nestjs/common": "^11.0.0",
64
- "@nestjs/core": "^11.0.0",
65
- "@nestjs/platform-express": "^11.0.0",
66
- "axios": "^1.6.0",
67
- "directory-tree": "^3.5.2",
68
- "fs-extra": "^11.3.2",
69
- "ignore": "^7.0.5",
70
- "reflect-metadata": "^0.1.13",
71
- "rxjs": "^7.8.0",
72
- "tiktoken": "^1.0.22",
73
- "zone.js": "~0.15.0"
74
- }
75
- }
2
+ "name": "vg-coder-workspace",
3
+ "version": "1.0.0",
4
+ "description": "Modern NestJS/Angular workspace for VG Coder CLI",
5
+ "main": "index.js",
6
+ "bin": {
7
+ "vg-workspace": "./bin/vg-workspace.js"
8
+ },
9
+ "scripts": {
10
+ "start": "nx run-many --target=serve --projects=api,ng-app --parallel=2",
11
+ "build": "nx run-many --target=build --all --configuration=production",
12
+ "build:api": "nx build api",
13
+ "build:ng-app": "nx build ng-app",
14
+ "serve:api": "nx serve api",
15
+ "serve:ng-app": "nx serve ng-app"
16
+ },
17
+ "keywords": [
18
+ "vg-coder",
19
+ "nestjs",
20
+ "angular",
21
+ "nx-monorepo",
22
+ "api-server",
23
+ "dashboard"
24
+ ],
25
+ "author": "VG Coder",
26
+ "license": "MIT",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/tinhthanh/vg-coder-cli.git",
30
+ "directory": "vg"
31
+ },
32
+ "peerDependencies": {
33
+ "vg-coder-cli": "^2.0.0"
34
+ },
35
+ "engines": {
36
+ "node": ">=16.0.0"
37
+ }
38
+ }