nestcraftx 0.2.2 → 0.2.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/CHANGELOG.fr.md +97 -0
- package/CHANGELOG.md +51 -188
- package/CLI_USAGE.fr.md +331 -0
- package/CLI_USAGE.md +214 -150
- package/DEMO.fr.md +292 -0
- package/DEMO.md +199 -68
- package/MIGRATION_GUIDE.fr.md +127 -0
- package/MIGRATION_GUIDE.md +72 -187
- package/QUICK_START.fr.md +152 -0
- package/QUICK_START.md +84 -67
- package/README.fr.md +630 -0
- package/bin/nestcraft.js +11 -1
- package/commands/demo.js +126 -101
- package/commands/help.js +78 -1
- package/commands/info.js +43 -43
- package/commands/new.js +83 -77
- package/package.json +2 -2
- package/readme.md +375 -319
- package/utils/configs/configureDocker.js +110 -6
- package/utils/configs/setupCleanArchitecture.js +64 -45
- package/utils/configs/setupLightArchitecture.js +211 -24
- package/utils/envGenerator.js +76 -39
- package/utils/fullModeInput.js +414 -536
- package/utils/lightModeInput.js +346 -129
- package/utils/loggers/logError.js +2 -2
- package/utils/loggers/logInfo.js +2 -2
- package/utils/loggers/logSuccess.js +2 -2
- package/utils/loggers/logWarning.js +7 -0
- package/utils/setups/orms/typeOrmSetup.js +525 -190
- package/utils/setups/projectSetup.js +26 -9
- package/utils/setups/setupAuth.js +572 -352
- package/utils/setups/setupDatabase.js +22 -20
- package/utils/setups/setupMongoose.js +309 -57
- package/utils/setups/setupPrisma.js +429 -305
- package/utils/setups/setupSwagger.js +1 -1
- package/utils/userInput.js +12 -36
- package/utils/utils.js +641 -264
- package/CORRECTIONS_APPLIED.md +0 -286
- package/IMPROVEMENTS_V2.md +0 -306
- package/REFACTORING_SUMMARY.md +0 -261
- package/nestcraftx-0.2.1.tgz +0 -0
- package/nestcraftx-0.2.2.tgz +0 -0
- package/setup.js +0 -39
package/CHANGELOG.fr.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Journal des modifications (Changelog)
|
|
2
|
+
|
|
3
|
+
Toutes les modifications notables apportées à NestCraftX seront documentées dans ce fichier.
|
|
4
|
+
|
|
5
|
+
## [0.2.3] - 10-01-2026
|
|
6
|
+
|
|
7
|
+
### Ajouté
|
|
8
|
+
|
|
9
|
+
- **Nouveau système interactif (Inquirer.js)** : Remplacement de `readline-sync` par `Inquirer` pour une navigation professionnelle au clavier (touches fléchées).
|
|
10
|
+
- **Support des gestionnaires de paquets** : Choix entre `npm`, `yarn` et `pnpm` (via le flag `--pm` ou sélection interactive).
|
|
11
|
+
- **Détection intelligente de DB** : Sélection automatique du type de base de données (PostgreSQL ou MongoDB) en fonction de l'ORM choisi.
|
|
12
|
+
- **Fusion avancée des flags** : Intégration fluide entre les flags CLI et les invites interactives pour les options manquantes.
|
|
13
|
+
- **Badges de statut visuels** : Ajout de badges dans le README pour la Version, la Licence et les ORM supportés.
|
|
14
|
+
|
|
15
|
+
### Changé
|
|
16
|
+
|
|
17
|
+
- **Refonte TOTALE de l'architecture** : Déplacement des services vers `application/services` pour respecter strictement les patterns de la Clean Architecture.
|
|
18
|
+
- **Refactorisation de l'Auth** : `AuthService` interagit désormais exclusivement avec `UserService` (suppression de l'accès direct au repository).
|
|
19
|
+
- **Commande Demo améliorée** : La commande `demo` génère maintenant un projet de blog complet avec 3 entités liées (User, Post, Comment) et des relations 1-N.
|
|
20
|
+
- **Sécurité renforcée** : Les secrets JWT sont désormais générés via `crypto.randomBytes(32)` (chaînes hexadécimales de 64 caractères).
|
|
21
|
+
- **Docker par défaut** : Les fichiers Docker sont maintenant générés par défaut dans les deux modes, sauf si `--docker=false` est spécifié.
|
|
22
|
+
|
|
23
|
+
### Corrigé
|
|
24
|
+
|
|
25
|
+
- **Compatibilité des modules** : Résolution des conflits CommonJS vs ES6 dans les templates de projet générés.
|
|
26
|
+
- **Validation des flags** : Correction de bugs où certains flags CLI étaient ignorés durant le flux interactif.
|
|
27
|
+
- **Dépendances circulaires** : Nettoyage des imports dans le module Auth pour prévenir d'éventuels problèmes au runtime.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## [0.2.2] - 07-11-2025
|
|
32
|
+
|
|
33
|
+
### Ajouté
|
|
34
|
+
|
|
35
|
+
- **Templates professionnels** : Auto-génération d'un `.gitignore` spécifique à NestJS et d'un `README.md` personnalisé pour chaque nouveau projet.
|
|
36
|
+
- **Auto-init Git** : Initialisation automatique du dépôt Git et premier commit après la génération du projet.
|
|
37
|
+
- **Support Mongoose (Beta)** : Première implémentation de l'architecture MongoDB avec Mongoose.
|
|
38
|
+
|
|
39
|
+
### Changé
|
|
40
|
+
|
|
41
|
+
- **Nettoyage du code** : Suppression des fichiers de configuration obsolètes (`start.js`, `fullModeInput.js`, `lightModeInput.js`).
|
|
42
|
+
- **Standardisation des logs** : Unification des messages console via un système de codes couleurs cohérent (Info, Succès, Avertissement).
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## [0.2.0] - 27-10-2025
|
|
47
|
+
|
|
48
|
+
### Ajouté
|
|
49
|
+
|
|
50
|
+
- **Modes d'architecture doubles** :
|
|
51
|
+
- **Mode FULL** : Clean Architecture complète + DDD (Use-cases, Mappers, Adapters).
|
|
52
|
+
- **Mode LIGHT** : Architecture MVP simplifiée (Controllers → Services → Repositories).
|
|
53
|
+
|
|
54
|
+
- **Parseur CLI moderne** : Support des syntaxes `--key=value` et `--key value` avec validation.
|
|
55
|
+
- **Amélioration de l'UX** : Intégration de spinners animés et d'un résumé complet de la configuration post-génération.
|
|
56
|
+
|
|
57
|
+
### Sécurité
|
|
58
|
+
|
|
59
|
+
- **Environnement sécurisé** : Génération automatique de `JWT_SECRET` et `JWT_REFRESH_SECRET` dans le fichier `.env`.
|
|
60
|
+
- **Exemples assainis** : Création d'un fichier `.env.example` sécurisé sans données sensibles.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## [0.1.0] - Version précédente
|
|
65
|
+
|
|
66
|
+
### Fonctionnalités initiales
|
|
67
|
+
|
|
68
|
+
- Génération de projet NestJS de base.
|
|
69
|
+
- Support de Prisma et TypeORM.
|
|
70
|
+
- Configuration de base Docker et Swagger.
|
|
71
|
+
- Authentification JWT standard.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Notes de migration
|
|
76
|
+
|
|
77
|
+
### De 0.1.x à 0.2.3
|
|
78
|
+
|
|
79
|
+
**Changements non-bloquants** : La version 0.2.x est rétrocompatible.
|
|
80
|
+
|
|
81
|
+
**Nouvelles commandes recommandées :**
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Mode LIGHT (Plus rapide pour les MVP)
|
|
85
|
+
nestcraftx new my-api --light --orm=prisma --auth
|
|
86
|
+
|
|
87
|
+
# Mode FULL (Standard pour les applications d'entreprise)
|
|
88
|
+
nestcraftx new my-app --full --orm=typeorm --auth --swagger
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Avantages de la mise à jour :
|
|
93
|
+
|
|
94
|
+
- Secrets JWT automatisés et sécurisés.
|
|
95
|
+
- Choix du gestionnaire de paquets (npm/yarn/pnpm).
|
|
96
|
+
- Meilleure séparation des responsabilités dans les modules Auth/User.
|
|
97
|
+
- Meilleure expérience développeur (DX) avec les menus interactifs.
|
package/CHANGELOG.md
CHANGED
|
@@ -2,234 +2,97 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to NestCraftX will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [0.2.
|
|
5
|
+
## [0.2.3] - 2026-01-10
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
- 3 entités pré-configurées (User, Post, Comment) avec relations
|
|
15
|
-
- Support de tous les ORMs (Prisma, TypeORM, Mongoose)
|
|
16
|
-
|
|
17
|
-
#### Auth Refactorisée
|
|
18
|
-
|
|
19
|
-
- AuthService refactorisé pour passer via UserService
|
|
20
|
-
- Pas d'accès direct au repository depuis AuthModule
|
|
21
|
-
- JWT configuré avec ConfigService pour secrets dynamiques
|
|
22
|
-
- Refresh tokens implémentés
|
|
23
|
-
- OTP et password reset ready-to-use
|
|
24
|
-
- Guards et strategies Passport complets
|
|
25
|
-
- Support du role-based access control (RBAC)
|
|
26
|
-
|
|
27
|
-
#### Templates Professionnels
|
|
28
|
-
|
|
29
|
-
- `.gitignore` complet généré pour NestJS
|
|
30
|
-
- `README.md` auto-généré pour chaque projet créé
|
|
31
|
-
- Git auto-initialisé avec premier commit
|
|
32
|
-
- Documentation professionnelle incluse
|
|
33
|
-
|
|
34
|
-
#### Nettoyage du Code
|
|
35
|
-
|
|
36
|
-
- Suppression de fichiers obsolètes (start.js, fullModeInput.js, lightModeInput.js)
|
|
37
|
-
- Normalisation CommonJS vs ES6 (cohérence totale)
|
|
38
|
-
- Suppression du code mort et commentaires inutiles
|
|
39
|
-
- Imports/exports cohérents dans tout le projet
|
|
9
|
+
- **New Interactive System (Inquirer.js)**: Replaced `readline-sync` with `Inquirer` for professional arrow-key navigation.
|
|
10
|
+
- **Package Manager Support**: Choice between `npm`, `yarn`, and `pnpm` (via `--pm` flag or interactive selection).
|
|
11
|
+
- **Smart DB Detection**: Automatic database type selection (PostgreSQL or MongoDB) based on the chosen ORM.
|
|
12
|
+
- **Advanced Flag Merging**: Seamless integration between CLI flags and interactive prompts for missing options.
|
|
13
|
+
- **Visual Status Badges**: Added README badges for Version, License, and Supported ORMs.
|
|
40
14
|
|
|
41
15
|
### Changed
|
|
42
16
|
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
17
|
+
- **FULL Architecture Refactor**: Services moved to `application/services` to strictly follow Clean Architecture patterns.
|
|
18
|
+
- **Auth Refactoring**: `AuthService` now interacts exclusively with `UserService` (removed direct repository access).
|
|
19
|
+
- **Enhanced Demo Command**: The `demo` command now generates a full blog project with 3 related entities (User, Post, Comment) and 1-N relationships.
|
|
20
|
+
- **Improved Security**: JWT secrets now generated via `crypto.randomBytes(32)` (64-character hex strings).
|
|
21
|
+
- **Docker by Default**: Docker files are now generated by default in both modes unless `--docker=false` is specified.
|
|
47
22
|
|
|
48
23
|
### Fixed
|
|
49
24
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
25
|
+
- **Module Compatibility**: Resolved CommonJS vs ES6 conflicts in generated project templates.
|
|
26
|
+
- **Flag Validation**: Fixed bugs where certain CLI flags were ignored during the interactive flow.
|
|
27
|
+
- **Circular Dependencies**: Cleaned up imports in the Auth module to prevent potential runtime issues.
|
|
53
28
|
|
|
54
29
|
---
|
|
55
30
|
|
|
56
|
-
## [0.2.
|
|
31
|
+
## [0.2.2] - 2025-11-07
|
|
57
32
|
|
|
58
33
|
### Added
|
|
59
34
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- **
|
|
63
|
-
|
|
64
|
-
- Structure complete avec use-cases, mappers, adapters
|
|
65
|
-
- Separation stricte domain/application/infrastructure/presentation
|
|
66
|
-
- Ideal pour projets complexes et scalables
|
|
67
|
-
|
|
68
|
-
- **Mode LIGHT** : Architecture MVP simplifiee
|
|
69
|
-
- Structure plate : controllers → services → repositories
|
|
70
|
-
- Moins de couches d'abstraction
|
|
71
|
-
- Parfait pour prototypes et petits projets
|
|
72
|
-
|
|
73
|
-
#### CLI Moderne
|
|
74
|
-
|
|
75
|
-
- Parser de flags ameliore avec validation
|
|
76
|
-
|
|
77
|
-
- Support de `--flag=value` et `--flag value`
|
|
78
|
-
- Validation des noms de projets
|
|
79
|
-
- Validation des valeurs d'options
|
|
80
|
-
- Messages d'erreur clairs
|
|
81
|
-
|
|
82
|
-
- Nouvelles options en ligne de commande :
|
|
83
|
-
- `--full` ou `--mode=full` : Mode architecture complete
|
|
84
|
-
- `--light` ou `--mode=light` : Mode architecture simplifiee
|
|
85
|
-
- `--orm=<prisma|typeorm|mongoose>` : Choix de l'ORM
|
|
86
|
-
- `--auth` : Activation de l'authentification JWT
|
|
87
|
-
- `--swagger` : Activation de la documentation Swagger
|
|
88
|
-
- `--docker` : Gestion Docker (actif par defaut)
|
|
89
|
-
|
|
90
|
-
#### Generation .env Securisee
|
|
91
|
-
|
|
92
|
-
- Generation automatique de secrets JWT securises (64 caracteres)
|
|
93
|
-
- Configuration automatique selon l'ORM :
|
|
94
|
-
- PostgreSQL pour Prisma et TypeORM
|
|
95
|
-
- MongoDB pour Mongoose
|
|
96
|
-
- Variables pre-configurees :
|
|
97
|
-
- `JWT_SECRET` : Secret auto-genere
|
|
98
|
-
- `JWT_REFRESH_SECRET` : Secret refresh auto-genere
|
|
99
|
-
- `JWT_EXPIRES_IN` : 15 minutes par defaut
|
|
100
|
-
- `JWT_REFRESH_EXPIRES_IN` : 7 jours par defaut
|
|
101
|
-
- `DATABASE_URL` : URL construite automatiquement
|
|
102
|
-
- Creation d'un fichier `.env.example` sanitise
|
|
103
|
-
|
|
104
|
-
#### UX Amelioree
|
|
105
|
-
|
|
106
|
-
- Systeme de couleurs pour les logs :
|
|
107
|
-
- Info en cyan
|
|
108
|
-
- Success en vert
|
|
109
|
-
- Error en rouge
|
|
110
|
-
- Warning en jaune
|
|
111
|
-
- Spinners animes pour les operations longues
|
|
112
|
-
- Messages de progression clairs
|
|
113
|
-
- Resume detaille post-generation avec toutes les configurations
|
|
114
|
-
- Affichage du mode utilise (FULL/LIGHT)
|
|
115
|
-
|
|
116
|
-
#### Nouveaux Fichiers Utilitaires
|
|
117
|
-
|
|
118
|
-
- `utils/cliParser.js` : Parser CLI moderne avec validation
|
|
119
|
-
- `utils/envGenerator.js` : Generateur de fichiers .env securises
|
|
120
|
-
- `utils/colors.js` : Systeme de couleurs pour la console
|
|
121
|
-
- `utils/spinner.js` : Spinners animes pour les operations longues
|
|
122
|
-
- `utils/configs/setupLightArchitecture.js` : Setup architecture LIGHT
|
|
35
|
+
- **Professional Templates**: Auto-generation of NestJS-specific `.gitignore` and customized `README.md` for every new project.
|
|
36
|
+
- **Git Auto-init**: Automatic Git repository initialization and first commit after project generation.
|
|
37
|
+
- **Mongoose Support (Beta)**: Initial implementation of MongoDB architecture with Mongoose.
|
|
123
38
|
|
|
124
39
|
### Changed
|
|
125
40
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
- Refactoring complet de `commands/new.js` :
|
|
129
|
-
|
|
130
|
-
- Separation en fonctions modulaires
|
|
131
|
-
- `determineMode()` : Detection du mode
|
|
132
|
-
- `buildLightModeInputs()` : Construction config LIGHT
|
|
133
|
-
- `buildFullModeInputs()` : Construction config FULL
|
|
134
|
-
- `executeProjectSetup()` : Execution du setup
|
|
135
|
-
- `printSuccessSummary()` : Affichage resume
|
|
136
|
-
|
|
137
|
-
- Amelioration de `utils/shell.js` :
|
|
138
|
-
|
|
139
|
-
- Support des spinners
|
|
140
|
-
- Mode silencieux pour certaines operations
|
|
141
|
-
- Meilleure gestion des erreurs
|
|
142
|
-
|
|
143
|
-
- Modernisation des loggers :
|
|
144
|
-
- Utilisation du systeme de couleurs
|
|
145
|
-
- Format unifie
|
|
146
|
-
- Messages plus clairs
|
|
147
|
-
|
|
148
|
-
#### Parser CLI
|
|
41
|
+
- **Code Cleanup**: Removed obsolete configuration files (`start.js`, `fullModeInput.js`, `lightModeInput.js`).
|
|
42
|
+
- **Log Standardization**: Unified console messaging using a consistent color-coded system (Info, Success, Warning).
|
|
149
43
|
|
|
150
|
-
|
|
151
|
-
- Detection des flags mutuellement exclusifs
|
|
152
|
-
- Support de la syntaxe moderne (--key=value)
|
|
153
|
-
- Messages d'erreur descriptifs
|
|
154
|
-
|
|
155
|
-
### Improved
|
|
156
|
-
|
|
157
|
-
#### Generation de Projet
|
|
158
|
-
|
|
159
|
-
- Detection automatique du mode selon les flags
|
|
160
|
-
- Configuration interactive seulement si necessaire
|
|
161
|
-
- Validation des noms de projets
|
|
162
|
-
- Meilleure gestion des erreurs
|
|
163
|
-
|
|
164
|
-
#### Configuration Database
|
|
165
|
-
|
|
166
|
-
- URL de database construite automatiquement
|
|
167
|
-
- Support ameliore pour les 3 ORMs
|
|
168
|
-
- Configuration adaptee au type de database
|
|
169
|
-
|
|
170
|
-
#### Documentation
|
|
44
|
+
---
|
|
171
45
|
|
|
172
|
-
|
|
173
|
-
- Ajout de `CHANGELOG.md` : Historique des versions
|
|
174
|
-
- Exemples de commandes detailles
|
|
175
|
-
- Documentation des deux modes d'architecture
|
|
46
|
+
## [0.2.0] - 2025-10-27
|
|
176
47
|
|
|
177
|
-
###
|
|
48
|
+
### Added
|
|
178
49
|
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
50
|
+
- **Dual Architecture Modes**:
|
|
51
|
+
- **Mode FULL**: Complete Clean Architecture + DDD (Use-cases, Mappers, Adapters).
|
|
52
|
+
- **Mode LIGHT**: Simplified MVP Architecture (Controllers → Services → Repositories).
|
|
53
|
+
- **Modern CLI Parser**: Support for `--key=value` and `--key value` syntax with validation.
|
|
54
|
+
- **Improved UX**: Integrated animated spinners and a full post-generation configuration summary.
|
|
183
55
|
|
|
184
56
|
### Security
|
|
185
57
|
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
|
|
189
|
-
|
|
58
|
+
- **Secure Environment**: Automatic generation of `JWT_SECRET` and `JWT_REFRESH_SECRET` in `.env`.
|
|
59
|
+
- **Sanitized Examples**: Creation of a safe `.env.example` file without sensitive data.
|
|
60
|
+
|
|
61
|
+
---
|
|
190
62
|
|
|
191
63
|
## [0.1.0] - Previous Version
|
|
192
64
|
|
|
193
|
-
### Features
|
|
65
|
+
### Initial Features
|
|
194
66
|
|
|
195
|
-
-
|
|
196
|
-
- Support Prisma
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
- Support Swagger
|
|
200
|
-
- Authentification JWT basique
|
|
67
|
+
- Basic NestJS project generation.
|
|
68
|
+
- Support for Prisma and TypeORM.
|
|
69
|
+
- Basic Docker and Swagger configuration.
|
|
70
|
+
- Standard JWT Authentication.
|
|
201
71
|
|
|
202
72
|
---
|
|
203
73
|
|
|
204
|
-
## Notes
|
|
74
|
+
## Migration Notes
|
|
205
75
|
|
|
206
|
-
###
|
|
76
|
+
### From 0.1.x to 0.2.3
|
|
207
77
|
|
|
208
|
-
**
|
|
78
|
+
**Non-breaking changes**: Version 0.2.x is backward compatible.
|
|
209
79
|
|
|
210
|
-
**
|
|
211
|
-
|
|
212
|
-
Avant (0.1.x) :
|
|
80
|
+
**New Recommended Commands:**
|
|
213
81
|
|
|
214
82
|
```bash
|
|
215
|
-
|
|
216
|
-
|
|
83
|
+
# LIGHT Mode (Fastest for MVPs)
|
|
84
|
+
nestcraftx new my-api --light --orm=prisma --auth
|
|
85
|
+
|
|
86
|
+
# FULL Mode (Standard for enterprise-grade apps)
|
|
87
|
+
nestcraftx new my-app --full --orm=typeorm --auth --swagger
|
|
217
88
|
```
|
|
218
89
|
|
|
219
|
-
|
|
90
|
+
Benefits of updating:
|
|
220
91
|
|
|
221
|
-
|
|
222
|
-
# Mode LIGHT (nouveau - recommande pour MVP)
|
|
223
|
-
nestcraftx new mon-projet --light --orm=prisma --auth
|
|
92
|
+
- Automated secure JWT secrets.
|
|
224
93
|
|
|
225
|
-
|
|
226
|
-
nestcraftx new mon-projet --full --orm=prisma --auth
|
|
227
|
-
```
|
|
94
|
+
- Choice of Package Manager (npm/yarn/pnpm).
|
|
228
95
|
|
|
229
|
-
|
|
96
|
+
- Cleaner separation of concerns in Auth/User modules.
|
|
230
97
|
|
|
231
|
-
-
|
|
232
|
-
- Fichier .env pret a l'emploi
|
|
233
|
-
- Mode LIGHT pour demarrer plus rapidement
|
|
234
|
-
- Meilleure experience utilisateur (couleurs, spinners)
|
|
235
|
-
- CLI plus moderne et flexible
|
|
98
|
+
- Better DX with arrow-key menus.
|