vasuzex 2.0.6 → 2.0.7

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 CHANGED
@@ -579,10 +579,22 @@ pnpm start
579
579
 
580
580
  ## 📚 Documentation
581
581
 
582
- - [Migration Results](./MIGRATION_RESULTS.md) - V2 migration details
583
- - [Dependency Strategy](./docs/DEPENDENCY_MANAGEMENT_STRATEGY.md) - Why hybrid approach?
584
- - [Import Aliases](./docs/IMPORT_ALIASES.md) - How to import modules
585
- - [Getting Started](./docs/getting-started/installation.md) - Detailed setup guide
582
+ ### Getting Started
583
+ - 🚀 [**Full Stack Setup**](./docs/FULL_STACK_SETUP.md) - Quick reference for fullstack apps
584
+ - 📖 [Full Stack Guide](./docs/getting-started/fullstack-guide.md) - Complete fullstack tutorial
585
+ - 📦 [Installation](./docs/getting-started/installation.md) - Detailed setup guide
586
+ - 🏗️ [Project Structure](./docs/getting-started/project-structure.md) - Understanding the structure
587
+
588
+ ### Advanced
589
+ - 🔄 [Migration Results](./MIGRATION_RESULTS.md) - V2 migration details
590
+ - 📦 [Dependency Strategy](./docs/DEPENDENCY_MANAGEMENT_STRATEGY.md) - Why hybrid approach?
591
+ - 🔗 [Import Aliases](./docs/IMPORT_ALIASES.md) - How to import modules
592
+ - 🗄️ [Database Guide](./docs/database/getting-started.md) - Database & migrations
593
+
594
+ ### Configuration
595
+ All 26 config files are in `./config/` directory:
596
+ - `auth.cjs`, `database.cjs`, `mail.cjs`, `sms.cjs`, `payment.cjs`, etc.
597
+ - See [Full Stack Setup](./docs/FULL_STACK_SETUP.md) for complete list
586
598
 
587
599
  ---
588
600
 
@@ -197,6 +197,7 @@ async function createPackageJson(projectName, targetDir, spinner) {
197
197
  },
198
198
  keywords: ['vasuzex', 'nodejs', 'framework', 'v2'],
199
199
  dependencies: {
200
+ vasuzex: isLocalDev ? `file:${frameworkRoot}` : '^2.0.6',
200
201
  axios: '^1.13.2',
201
202
  bcrypt: '^6.0.0',
202
203
  bcryptjs: '^2.4.3',
@@ -218,6 +219,8 @@ async function createPackageJson(projectName, targetDir, spinner) {
218
219
  sharp: '^0.33.5',
219
220
  react: '^18.2.0',
220
221
  'react-dom': '^18.2.0',
222
+ 'react-redux': '^9.1.0',
223
+ '@reduxjs/toolkit': '^2.0.1',
221
224
  vue: '^3.4.0',
222
225
  svelte: '^4.2.0'
223
226
  },
@@ -11,20 +11,14 @@ import {
11
11
  import {
12
12
  generateBaseControllerTemplate,
13
13
  generateAuthControllerTemplate,
14
- generatePostControllerTemplate,
15
- generateCommentControllerTemplate,
16
- generateUserModelTemplate,
17
14
  generateAuthServiceTemplate,
18
15
  generateAuthMiddlewareTemplate,
19
16
  generateErrorHandlerTemplate,
20
17
  generateAuthRequestsTemplate,
21
18
  generateAuthRoutesTemplate,
22
- generatePostRoutesTemplate,
23
19
  generateRoutesIndexTemplate,
24
20
  generateDatabaseConfigTemplate,
25
21
  generateEnvHelperTemplate,
26
- generateUsersMigrationTemplate,
27
- generateUserSeederTemplate,
28
22
  generateApiEnvTemplate,
29
23
  } from './apiTemplates.js';
30
24
 
@@ -34,15 +28,12 @@ import {
34
28
  export async function createAPIDirectoryStructure(targetDir) {
35
29
  const directories = [
36
30
  'src/controllers',
37
- 'src/models',
38
31
  'src/services',
39
32
  'src/middleware',
40
33
  'src/routes',
41
34
  'src/requests',
42
35
  'src/helpers',
43
36
  'config',
44
- 'database/migrations',
45
- 'database/seeders',
46
37
  ];
47
38
 
48
39
  await createDirectories(targetDir, directories);
@@ -64,28 +55,8 @@ export async function generateAPIControllers(targetDir) {
64
55
  generateAuthControllerTemplate()
65
56
  );
66
57
 
67
- // PostController
68
- await writeFileContent(
69
- join(targetDir, 'src/controllers/PostController.js'),
70
- generatePostControllerTemplate()
71
- );
72
-
73
- // CommentController
74
- await writeFileContent(
75
- join(targetDir, 'src/controllers/CommentController.js'),
76
- generateCommentControllerTemplate()
77
- );
78
- }
79
-
80
- /**
81
- * Generate all API models
82
- */
83
- export async function generateAPIModels(targetDir) {
84
- // User model
85
- await writeFileContent(
86
- join(targetDir, 'src/models/User.js'),
87
- generateUserModelTemplate()
88
- );
58
+ // Note: Post and Comment controllers removed - no models generated
59
+ // Users can create their own with: pnpm make:controller PostController
89
60
  }
90
61
 
91
62
  /**
@@ -137,13 +108,7 @@ export async function generateAPIRoutes(targetDir) {
137
108
  generateAuthRoutesTemplate()
138
109
  );
139
110
 
140
- // Post routes
141
- await writeFileContent(
142
- join(targetDir, 'src/routes/post.routes.js'),
143
- generatePostRoutesTemplate()
144
- );
145
-
146
- // Routes index
111
+ // Routes index (no post routes - users can add their own)
147
112
  await writeFileContent(
148
113
  join(targetDir, 'src/routes/index.js'),
149
114
  generateRoutesIndexTemplate()
@@ -156,18 +121,19 @@ export async function generateAPIRoutes(targetDir) {
156
121
  export async function generateCompleteAPIStructure(targetDir) {
157
122
  await createAPIDirectoryStructure(targetDir);
158
123
  await generateAPIControllers(targetDir);
159
- await generateAPIModels(targetDir);
124
+ // Models are in centralized database/models/ at project root
160
125
  await generateAPIServices(targetDir);
161
126
  await generateAPIMiddleware(targetDir);
162
127
  await generateAPIRequests(targetDir);
163
128
  await generateAPIRoutes(targetDir);
164
- await generateDatabaseFiles(targetDir);
129
+ await generateDatabaseConfig(targetDir);
165
130
  }
166
131
 
167
132
  /**
168
- * Generate database configuration, migrations, and seeders
133
+ * Generate database configuration only
134
+ * Note: migrations and seeders are in centralized database/ at project root
169
135
  */
170
- export async function generateDatabaseFiles(targetDir) {
136
+ export async function generateDatabaseConfig(targetDir) {
171
137
  // Config files
172
138
  await writeFileContent(
173
139
  join(targetDir, 'config/database.js'),
@@ -180,18 +146,9 @@ export async function generateDatabaseFiles(targetDir) {
180
146
  generateEnvHelperTemplate()
181
147
  );
182
148
 
183
- // Migrations
184
- const timestamp = new Date().toISOString().replace(/[-:T]/g, '_').split('.')[0];
185
- await writeFileContent(
186
- join(targetDir, `database/migrations/${timestamp}_create_users_table.js`),
187
- generateUsersMigrationTemplate()
188
- );
189
-
190
- // Seeders
191
- await writeFileContent(
192
- join(targetDir, 'database/seeders/UserSeeder.js'),
193
- generateUserSeederTemplate()
194
- );
149
+ // Note: Migrations and seeders should be created at project root using:
150
+ // pnpm make:migration create_posts_table
151
+ // pnpm make:seeder PostSeeder
195
152
 
196
153
  // .env.example
197
154
  await writeFileContent(
@@ -226,7 +226,7 @@ export function generateAuthServiceTemplate() {
226
226
 
227
227
  import bcrypt from 'bcryptjs';
228
228
  import jwt from 'jsonwebtoken';
229
- import { User } from '../models/User.js';
229
+ import User from '../../../database/models/User.js';
230
230
 
231
231
  export class AuthService {
232
232
  /**
@@ -327,7 +327,7 @@ export function generateAuthMiddlewareTemplate() {
327
327
  */
328
328
 
329
329
  import { AuthService } from '../services/AuthService.js';
330
- import { User } from '../models/User.js';
330
+ import User from '../../../database/models/User.js';
331
331
 
332
332
  export async function authMiddleware(req, res, next) {
333
333
  try {
@@ -469,7 +469,6 @@ export function generateRoutesIndexTemplate() {
469
469
  */
470
470
 
471
471
  import { authRoutes } from './auth.routes.js';
472
- import postRoutes from './post.routes.js';
473
472
 
474
473
  /**
475
474
  * Health check route (can be used separately)
@@ -491,9 +490,8 @@ export function getAllRoutes() {
491
490
  return [
492
491
  { path: '/health', handler: healthRoutes },
493
492
  { path: '/api/auth', router: authRoutes },
494
- { path: '/api/posts', router: postRoutes },
495
493
  // Add more routes here as your app grows
496
- // { path: '/api/users', router: userRoutes },
494
+ // Example: { path: '/api/posts', router: postRoutes },
497
495
  ];
498
496
  }
499
497
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vasuzex",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "Laravel-inspired framework for Node.js monorepos - V2 with optimized dependencies",
5
5
  "type": "module",
6
6
  "main": "./framework/index.js",