nestcraftx 0.1.9 → 0.2.0
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/CHANGELOG.md +211 -0
- package/CLI_USAGE.md +300 -0
- package/CORRECTIONS_APPLIED.md +263 -0
- package/DEMO.md +163 -0
- package/IMPROVEMENTS_V2.md +306 -0
- package/MIGRATION_GUIDE.md +239 -0
- package/QUICK_START.md +152 -0
- package/REFACTORING_SUMMARY.md +261 -0
- package/bin/nestcraft.js +43 -13
- package/commands/demo.js +298 -0
- package/commands/help.js +78 -0
- package/commands/info.js +48 -0
- package/commands/new.js +329 -0
- package/commands/test.js +7 -0
- package/nestcraftx-0.2.0.tgz +0 -0
- package/nestcraftx-0.2.1.tgz +0 -0
- package/package.json +41 -33
- package/readme.md +405 -70
- package/utils/cliParser.js +76 -0
- package/utils/colors.js +62 -0
- package/utils/configs/setupCleanArchitecture.js +0 -13
- package/utils/configs/setupLightArchitecture.js +522 -0
- package/utils/envGenerator.js +85 -0
- package/utils/file-utils/packageJsonUtils.js +49 -0
- package/utils/fullModeInput.js +729 -0
- package/utils/lightModeInput.js +243 -0
- package/utils/loggers/logError.js +3 -1
- package/utils/loggers/logInfo.js +4 -1
- package/utils/loggers/logSuccess.js +4 -1
- package/utils/setups/orms/typeOrmSetup.js +190 -7
- package/utils/setups/setupAuth.js +66 -27
- package/utils/setups/setupMongoose.js +122 -2
- package/utils/setups/setupPrisma.js +200 -11
- package/utils/shell.js +17 -4
- package/utils/spinner.js +57 -0
- package/utils/systemCheck.js +114 -0
- package/utils/userInput.js +51 -27
- package/utils/utils.js +89 -31
- package/nestcraftx-0.1.0.tgz +0 -0
- package/unutils.txt +0 -431
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to NestCraftX will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [0.2.1] - 2025-11-07
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
#### Demo Command Amélioré
|
|
10
|
+
- Support complet des flags pour demo : `--light`, `--orm`, `--auth`, `--swagger`, `--docker`
|
|
11
|
+
- Mode interactif intelligent : pose les questions uniquement si flags manquants
|
|
12
|
+
- Fusion intelligente des options passées et réponses interactives
|
|
13
|
+
- 3 entités pré-configurées (User, Post, Comment) avec relations
|
|
14
|
+
- Support de tous les ORMs (Prisma, TypeORM, Mongoose)
|
|
15
|
+
|
|
16
|
+
#### Auth Refactorisée
|
|
17
|
+
- AuthService refactorisé pour passer via UserService
|
|
18
|
+
- Pas d'accès direct au repository depuis AuthModule
|
|
19
|
+
- JWT configuré avec ConfigService pour secrets dynamiques
|
|
20
|
+
- Refresh tokens implémentés
|
|
21
|
+
- OTP et password reset ready-to-use
|
|
22
|
+
- Guards et strategies Passport complets
|
|
23
|
+
- Support du role-based access control (RBAC)
|
|
24
|
+
|
|
25
|
+
#### Templates Professionnels
|
|
26
|
+
- `.gitignore` complet généré pour NestJS
|
|
27
|
+
- `README.md` auto-généré pour chaque projet créé
|
|
28
|
+
- Git auto-initialisé avec premier commit
|
|
29
|
+
- Documentation professionnelle incluse
|
|
30
|
+
|
|
31
|
+
#### Nettoyage du Code
|
|
32
|
+
- Suppression de fichiers obsolètes (start.js, fullModeInput.js, lightModeInput.js)
|
|
33
|
+
- Normalisation CommonJS vs ES6 (cohérence totale)
|
|
34
|
+
- Suppression du code mort et commentaires inutiles
|
|
35
|
+
- Imports/exports cohérents dans tout le projet
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Version du projet mise à jour à 0.2.1
|
|
40
|
+
- Documentation README complètement mise à jour
|
|
41
|
+
- CLI_USAGE.md actualisé avec les nouveau flags
|
|
42
|
+
- Meilleure séparation des responsabilités (Auth ↔ User)
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- Cohérence des systèmes de modules CommonJS
|
|
47
|
+
- Résolution des problèmes d'imports ES6/CommonJS mélangés
|
|
48
|
+
- Gestion correcte des dépendances transversales
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## [0.2.0] - 2025-10-27
|
|
53
|
+
|
|
54
|
+
### Added
|
|
55
|
+
|
|
56
|
+
#### Architecture Modes
|
|
57
|
+
- **Mode FULL** : Architecture complete avec Clean Architecture + DDD
|
|
58
|
+
- Structure complete avec use-cases, mappers, adapters
|
|
59
|
+
- Separation stricte domain/application/infrastructure/presentation
|
|
60
|
+
- Ideal pour projets complexes et scalables
|
|
61
|
+
|
|
62
|
+
- **Mode LIGHT** : Architecture MVP simplifiee
|
|
63
|
+
- Structure plate : controllers → services → repositories
|
|
64
|
+
- Moins de couches d'abstraction
|
|
65
|
+
- Parfait pour prototypes et petits projets
|
|
66
|
+
|
|
67
|
+
#### CLI Moderne
|
|
68
|
+
- Parser de flags ameliore avec validation
|
|
69
|
+
- Support de `--flag=value` et `--flag value`
|
|
70
|
+
- Validation des noms de projets
|
|
71
|
+
- Validation des valeurs d'options
|
|
72
|
+
- Messages d'erreur clairs
|
|
73
|
+
|
|
74
|
+
- Nouvelles options en ligne de commande :
|
|
75
|
+
- `--full` ou `--mode=full` : Mode architecture complete
|
|
76
|
+
- `--light` ou `--mode=light` : Mode architecture simplifiee
|
|
77
|
+
- `--orm=<prisma|typeorm|mongoose>` : Choix de l'ORM
|
|
78
|
+
- `--auth` : Activation de l'authentification JWT
|
|
79
|
+
- `--swagger` : Activation de la documentation Swagger
|
|
80
|
+
- `--docker` : Gestion Docker (actif par defaut)
|
|
81
|
+
|
|
82
|
+
#### Generation .env Securisee
|
|
83
|
+
- Generation automatique de secrets JWT securises (64 caracteres)
|
|
84
|
+
- Configuration automatique selon l'ORM :
|
|
85
|
+
- PostgreSQL pour Prisma et TypeORM
|
|
86
|
+
- MongoDB pour Mongoose
|
|
87
|
+
- Variables pre-configurees :
|
|
88
|
+
- `JWT_SECRET` : Secret auto-genere
|
|
89
|
+
- `JWT_REFRESH_SECRET` : Secret refresh auto-genere
|
|
90
|
+
- `JWT_EXPIRES_IN` : 15 minutes par defaut
|
|
91
|
+
- `JWT_REFRESH_EXPIRES_IN` : 7 jours par defaut
|
|
92
|
+
- `DATABASE_URL` : URL construite automatiquement
|
|
93
|
+
- Creation d'un fichier `.env.example` sanitise
|
|
94
|
+
|
|
95
|
+
#### UX Amelioree
|
|
96
|
+
- Systeme de couleurs pour les logs :
|
|
97
|
+
- Info en cyan
|
|
98
|
+
- Success en vert
|
|
99
|
+
- Error en rouge
|
|
100
|
+
- Warning en jaune
|
|
101
|
+
- Spinners animes pour les operations longues
|
|
102
|
+
- Messages de progression clairs
|
|
103
|
+
- Resume detaille post-generation avec toutes les configurations
|
|
104
|
+
- Affichage du mode utilise (FULL/LIGHT)
|
|
105
|
+
|
|
106
|
+
#### Nouveaux Fichiers Utilitaires
|
|
107
|
+
- `utils/cliParser.js` : Parser CLI moderne avec validation
|
|
108
|
+
- `utils/envGenerator.js` : Generateur de fichiers .env securises
|
|
109
|
+
- `utils/colors.js` : Systeme de couleurs pour la console
|
|
110
|
+
- `utils/spinner.js` : Spinners animes pour les operations longues
|
|
111
|
+
- `utils/configs/setupLightArchitecture.js` : Setup architecture LIGHT
|
|
112
|
+
|
|
113
|
+
### Changed
|
|
114
|
+
|
|
115
|
+
#### Structure du Code
|
|
116
|
+
- Refactoring complet de `commands/new.js` :
|
|
117
|
+
- Separation en fonctions modulaires
|
|
118
|
+
- `determineMode()` : Detection du mode
|
|
119
|
+
- `buildLightModeInputs()` : Construction config LIGHT
|
|
120
|
+
- `buildFullModeInputs()` : Construction config FULL
|
|
121
|
+
- `executeProjectSetup()` : Execution du setup
|
|
122
|
+
- `printSuccessSummary()` : Affichage resume
|
|
123
|
+
|
|
124
|
+
- Amelioration de `utils/shell.js` :
|
|
125
|
+
- Support des spinners
|
|
126
|
+
- Mode silencieux pour certaines operations
|
|
127
|
+
- Meilleure gestion des erreurs
|
|
128
|
+
|
|
129
|
+
- Modernisation des loggers :
|
|
130
|
+
- Utilisation du systeme de couleurs
|
|
131
|
+
- Format unifie
|
|
132
|
+
- Messages plus clairs
|
|
133
|
+
|
|
134
|
+
#### Parser CLI
|
|
135
|
+
- Validation des inputs en temps reel
|
|
136
|
+
- Detection des flags mutuellement exclusifs
|
|
137
|
+
- Support de la syntaxe moderne (--key=value)
|
|
138
|
+
- Messages d'erreur descriptifs
|
|
139
|
+
|
|
140
|
+
### Improved
|
|
141
|
+
|
|
142
|
+
#### Generation de Projet
|
|
143
|
+
- Detection automatique du mode selon les flags
|
|
144
|
+
- Configuration interactive seulement si necessaire
|
|
145
|
+
- Validation des noms de projets
|
|
146
|
+
- Meilleure gestion des erreurs
|
|
147
|
+
|
|
148
|
+
#### Configuration Database
|
|
149
|
+
- URL de database construite automatiquement
|
|
150
|
+
- Support ameliore pour les 3 ORMs
|
|
151
|
+
- Configuration adaptee au type de database
|
|
152
|
+
|
|
153
|
+
#### Documentation
|
|
154
|
+
- Ajout de `CLI_USAGE.md` : Guide complet d'utilisation
|
|
155
|
+
- Ajout de `CHANGELOG.md` : Historique des versions
|
|
156
|
+
- Exemples de commandes detailles
|
|
157
|
+
- Documentation des deux modes d'architecture
|
|
158
|
+
|
|
159
|
+
### Fixed
|
|
160
|
+
- Gestion des erreurs amelioree dans tout le CLI
|
|
161
|
+
- Validation des options avant execution
|
|
162
|
+
- Messages d'erreur plus explicites
|
|
163
|
+
- Nettoyage du code (suppression des commentaires obsoletes)
|
|
164
|
+
|
|
165
|
+
### Security
|
|
166
|
+
- Generation de secrets JWT securises avec crypto
|
|
167
|
+
- Secrets de 64 caracteres en base64url
|
|
168
|
+
- Fichier .env.example sans secrets sensibles
|
|
169
|
+
- Bonnes pratiques de securite appliquees
|
|
170
|
+
|
|
171
|
+
## [0.1.0] - Previous Version
|
|
172
|
+
|
|
173
|
+
### Features Initiales
|
|
174
|
+
- Generation de projets NestJS
|
|
175
|
+
- Support Prisma, TypeORM, Mongoose
|
|
176
|
+
- Architecture Clean Code de base
|
|
177
|
+
- Configuration Docker
|
|
178
|
+
- Support Swagger
|
|
179
|
+
- Authentification JWT basique
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Notes de Migration
|
|
184
|
+
|
|
185
|
+
### De 0.1.x vers 0.2.0
|
|
186
|
+
|
|
187
|
+
**Changements non-breaking** : La version 0.2.0 est retrocompatible.
|
|
188
|
+
|
|
189
|
+
**Nouvelles commandes recommandees :**
|
|
190
|
+
|
|
191
|
+
Avant (0.1.x) :
|
|
192
|
+
```bash
|
|
193
|
+
nestcraftx start
|
|
194
|
+
# Configuration interactive
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Maintenant (0.2.0) :
|
|
198
|
+
```bash
|
|
199
|
+
# Mode LIGHT (nouveau - recommande pour MVP)
|
|
200
|
+
nestcraftx new mon-projet --light --orm=prisma --auth
|
|
201
|
+
|
|
202
|
+
# Mode FULL (equivalent a l'ancien comportement)
|
|
203
|
+
nestcraftx new mon-projet --full --orm=prisma --auth
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Avantages de la mise a jour :**
|
|
207
|
+
- Generation de secrets JWT automatique et securisee
|
|
208
|
+
- Fichier .env pret a l'emploi
|
|
209
|
+
- Mode LIGHT pour demarrer plus rapidement
|
|
210
|
+
- Meilleure experience utilisateur (couleurs, spinners)
|
|
211
|
+
- CLI plus moderne et flexible
|
package/CLI_USAGE.md
ADDED
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
# NestCraftX CLI - Guide d'utilisation
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install -g nestcraftx
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Commandes disponibles
|
|
10
|
+
|
|
11
|
+
### Creer un nouveau projet
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
nestcraftx new <project-name> [options]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Modes de generation
|
|
18
|
+
|
|
19
|
+
### Mode FULL (Architecture Complete - Clean Architecture + DDD)
|
|
20
|
+
|
|
21
|
+
Structure complete avec use-cases, mappers, adapters et separation stricte des couches.
|
|
22
|
+
Ideal pour les projets complexes et scalables.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
nestcraftx new mon-projet --full
|
|
26
|
+
nestcraftx new mon-projet --mode=full
|
|
27
|
+
nestcraftx new mon-projet
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Structure generee :**
|
|
31
|
+
```
|
|
32
|
+
src/
|
|
33
|
+
├── [entity]/
|
|
34
|
+
│ ├── application/
|
|
35
|
+
│ │ ├── use-cases/
|
|
36
|
+
│ │ ├── dtos/
|
|
37
|
+
│ │ └── interfaces/
|
|
38
|
+
│ ├── domain/
|
|
39
|
+
│ │ ├── entities/
|
|
40
|
+
│ │ ├── enums/
|
|
41
|
+
│ │ └── mappers/
|
|
42
|
+
│ ├── infrastructure/
|
|
43
|
+
│ │ ├── repositories/
|
|
44
|
+
│ │ ├── services/
|
|
45
|
+
│ │ └── adapters/
|
|
46
|
+
│ └── presentation/
|
|
47
|
+
│ └── controllers/
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Mode LIGHT (MVP Simplifie)
|
|
51
|
+
|
|
52
|
+
Structure plate avec moins de couches d'abstraction.
|
|
53
|
+
Parfait pour prototypes et petits projets.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
nestcraftx new mon-projet --light
|
|
57
|
+
nestcraftx new mon-projet --mode=light
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Structure generee :**
|
|
61
|
+
```
|
|
62
|
+
src/
|
|
63
|
+
├── [entity]/
|
|
64
|
+
│ ├── entities/
|
|
65
|
+
│ ├── dto/
|
|
66
|
+
│ ├── services/
|
|
67
|
+
│ ├── repositories/
|
|
68
|
+
│ └── controllers/
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Options disponibles
|
|
72
|
+
|
|
73
|
+
### ORM
|
|
74
|
+
Choisir l'ORM a utiliser :
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
--orm=prisma # Prisma (par defaut)
|
|
78
|
+
--orm=typeorm # TypeORM
|
|
79
|
+
--orm=mongoose # Mongoose (MongoDB)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Exemples :**
|
|
83
|
+
```bash
|
|
84
|
+
nestcraftx new mon-api --light --orm=prisma
|
|
85
|
+
nestcraftx new mon-api --full --orm=typeorm
|
|
86
|
+
nestcraftx new mon-api --orm=mongoose
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Authentification
|
|
90
|
+
Activer l'authentification JWT :
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
--auth # Active l'auth avec JWT
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Exemple :**
|
|
97
|
+
```bash
|
|
98
|
+
nestcraftx new mon-api --light --auth --orm=prisma
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Avec `--auth`, une entite User est automatiquement generee avec :
|
|
102
|
+
- email (string)
|
|
103
|
+
- password (string)
|
|
104
|
+
- isActive (boolean)
|
|
105
|
+
|
|
106
|
+
### Swagger
|
|
107
|
+
Activer la documentation Swagger/OpenAPI :
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
--swagger # Active Swagger UI
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Exemple :**
|
|
114
|
+
```bash
|
|
115
|
+
nestcraftx new mon-api --light --swagger
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Swagger sera accessible a : `http://localhost:3000/api/docs`
|
|
119
|
+
|
|
120
|
+
### Docker
|
|
121
|
+
Desactiver Docker (active par defaut) :
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
--docker=false # Desactive Docker
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Exemple :**
|
|
128
|
+
```bash
|
|
129
|
+
nestcraftx new mon-api --light --docker=false
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Exemples de commandes completes
|
|
133
|
+
|
|
134
|
+
### Projet LIGHT avec toutes les options
|
|
135
|
+
```bash
|
|
136
|
+
nestcraftx new mon-api --light --orm=prisma --auth --swagger
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Projet FULL avec TypeORM et Auth
|
|
140
|
+
```bash
|
|
141
|
+
nestcraftx new mon-api --full --orm=typeorm --auth
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Projet minimal LIGHT (mode interactif)
|
|
145
|
+
```bash
|
|
146
|
+
nestcraftx new mon-api --light
|
|
147
|
+
# Le CLI demandera toutes les options necessaires
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Projet MongoDB avec Mongoose
|
|
151
|
+
```bash
|
|
152
|
+
nestcraftx new mon-api --light --orm=mongoose --auth --swagger
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Configuration automatique
|
|
156
|
+
|
|
157
|
+
### Fichier .env genere
|
|
158
|
+
|
|
159
|
+
Le CLI genere automatiquement un fichier `.env` avec :
|
|
160
|
+
|
|
161
|
+
**Pour PostgreSQL (Prisma/TypeORM) :**
|
|
162
|
+
```env
|
|
163
|
+
NODE_ENV=development
|
|
164
|
+
PORT=3000
|
|
165
|
+
JWT_SECRET=<secret-auto-genere-64-chars>
|
|
166
|
+
JWT_REFRESH_SECRET=<secret-auto-genere-64-chars>
|
|
167
|
+
JWT_EXPIRES_IN=15m
|
|
168
|
+
JWT_REFRESH_EXPIRES_IN=7d
|
|
169
|
+
POSTGRES_USER=postgres
|
|
170
|
+
POSTGRES_PASSWORD=postgres
|
|
171
|
+
POSTGRES_DB=mon-api
|
|
172
|
+
POSTGRES_HOST=localhost
|
|
173
|
+
POSTGRES_PORT=5432
|
|
174
|
+
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/mon-api?schema=public
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Pour MongoDB (Mongoose) :**
|
|
178
|
+
```env
|
|
179
|
+
NODE_ENV=development
|
|
180
|
+
PORT=3000
|
|
181
|
+
JWT_SECRET=<secret-auto-genere-64-chars>
|
|
182
|
+
JWT_REFRESH_SECRET=<secret-auto-genere-64-chars>
|
|
183
|
+
JWT_EXPIRES_IN=15m
|
|
184
|
+
JWT_REFRESH_EXPIRES_IN=7d
|
|
185
|
+
MONGO_URI=mongodb://localhost:27017
|
|
186
|
+
MONGO_DB=mon-api
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Les secrets JWT sont generes automatiquement de maniere securisee.
|
|
190
|
+
|
|
191
|
+
## Modes Interactifs
|
|
192
|
+
|
|
193
|
+
### Mode LIGHT Interactif
|
|
194
|
+
|
|
195
|
+
Si vous ne fournissez pas tous les flags necessaires, le CLI passera en mode interactif pour demander les options manquantes.
|
|
196
|
+
|
|
197
|
+
**Exemple :**
|
|
198
|
+
```bash
|
|
199
|
+
nestcraftx new mon-api --light
|
|
200
|
+
|
|
201
|
+
[MODE LIGHT] Configuration simplifiee pour mon-api
|
|
202
|
+
|
|
203
|
+
[?] Choisissez un ORM (prisma, typeorm, mongoose) [prisma]: prisma
|
|
204
|
+
[?] Activer l'authentification JWT ? (Y/n): y
|
|
205
|
+
[INFO] Auth active : ajout automatique de l'entite User
|
|
206
|
+
[?] Activer Swagger pour la documentation API ? (Y/n): y
|
|
207
|
+
[?] Generer les fichiers Docker ? (Y/n): y
|
|
208
|
+
|
|
209
|
+
[INFO] Configuration PostgreSQL
|
|
210
|
+
Utilisateur PostgreSQL [postgres]:
|
|
211
|
+
Mot de passe PostgreSQL [postgres]:
|
|
212
|
+
Nom de la base [mon-api]:
|
|
213
|
+
Hote PostgreSQL [localhost]:
|
|
214
|
+
Port PostgreSQL [5432]:
|
|
215
|
+
|
|
216
|
+
[?] Voulez-vous ajouter des entites supplementaires ? (Y/n): n
|
|
217
|
+
|
|
218
|
+
[INFO] Demarrage de la generation du projet...
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Mode FULL Interactif
|
|
222
|
+
|
|
223
|
+
Le mode FULL est toujours interactif pour vous donner un controle total sur la configuration.
|
|
224
|
+
|
|
225
|
+
**Exemple :**
|
|
226
|
+
```bash
|
|
227
|
+
nestcraftx new mon-projet
|
|
228
|
+
|
|
229
|
+
[MODE FULL] Configuration complete avec Clean Architecture
|
|
230
|
+
|
|
231
|
+
[?] Nom du projet : mon-projet
|
|
232
|
+
[?] Base de donnees (postgresql, mongodb) [postgresql]: postgresql
|
|
233
|
+
|
|
234
|
+
[INFO] Configuration PostgreSQL
|
|
235
|
+
Utilisateur PostgreSQL [postgres]:
|
|
236
|
+
Mot de passe PostgreSQL [postgres]:
|
|
237
|
+
...
|
|
238
|
+
|
|
239
|
+
[?] ORM pour PostgreSQL (prisma, typeorm) [prisma]: prisma
|
|
240
|
+
[?] Utiliser Yarn ? (Y/n): n
|
|
241
|
+
[?] Generer fichiers Docker ? (Y/n): y
|
|
242
|
+
[?] Ajouter authentification JWT ? (Y/n): y
|
|
243
|
+
[?] Installer Swagger ? (Y/n): y
|
|
244
|
+
|
|
245
|
+
[INFO] Configuration Swagger
|
|
246
|
+
Titre API [mon-projet API]:
|
|
247
|
+
Description [API generated by NestCraftX]:
|
|
248
|
+
Version [1.0.0]:
|
|
249
|
+
Endpoint [api/docs]:
|
|
250
|
+
|
|
251
|
+
[INFO] Saisie des entites (Mode FULL - Architecture complete)
|
|
252
|
+
[?] Ajouter une entite ? (Y/n): y
|
|
253
|
+
Nom de l'entite : post
|
|
254
|
+
Champs pour "post" :
|
|
255
|
+
Nom du champ (vide pour terminer) : title
|
|
256
|
+
Type de "title" (string, number, boolean, Date, enum) : string
|
|
257
|
+
Nom du champ (vide pour terminer) : content
|
|
258
|
+
Type de "content" (string, number, boolean, Date, enum) : string
|
|
259
|
+
Nom du champ (vide pour terminer) :
|
|
260
|
+
|
|
261
|
+
[✓] Entite "post" ajoutee avec 2 champ(s)
|
|
262
|
+
[?] Ajouter une autre entite ? (Y/n): n
|
|
263
|
+
[?] Ajouter des relations entre entites ? (Y/n): n
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Apres la creation
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
cd mon-projet
|
|
270
|
+
npm run start:dev
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Si Swagger est active :
|
|
274
|
+
```
|
|
275
|
+
http://localhost:3000/api/docs
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Autres commandes
|
|
279
|
+
|
|
280
|
+
### Verifier l'environnement
|
|
281
|
+
```bash
|
|
282
|
+
nestcraftx test
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Informations CLI
|
|
286
|
+
```bash
|
|
287
|
+
nestcraftx info
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Aide
|
|
291
|
+
```bash
|
|
292
|
+
nestcraftx --help
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Notes importantes
|
|
296
|
+
|
|
297
|
+
- Les secrets JWT sont auto-generes de maniere securisee (64 caracteres)
|
|
298
|
+
- DATABASE_URL est automatiquement construit selon l'ORM choisi
|
|
299
|
+
- Docker est active par defaut en mode LIGHT
|
|
300
|
+
- Le mode FULL necessite une configuration interactive si aucune option n'est fournie
|