0.0.7 ‱ Published 7 months ago

@outis25/nestgen v0.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

NestGen

npm nestjs standalone license downloads

📋 Table des matiùres

🚀 Introduction

NestGen est un générateur de code 100% autonome pour NestJS qui vous permet de créer rapidement des projets et des modules respectant les principes d'architecture avancés. Ce package n'a aucune dépendance externe et embarque tous les templates nécessaires pour générer des applications NestJS suivant les modÚles Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS) et l'architecture hexagonale.

Idéal pour les développeurs qui souhaitent maintenir une architecture propre et évolutive, NestGen accélÚre la phase de setup et garantit la cohérence structurelle de votre application, le tout sans nécessiter d'installation ou de configuration supplémentaire.

✹ FonctionnalitĂ©s

  • 100% autonome - Aucune dĂ©pendance externe, tout est intĂ©grĂ©
  • ZĂ©ro configuration - Fonctionne immĂ©diatement aprĂšs installation
  • GĂ©nĂ©ration complĂšte - Projets et modules prĂȘts Ă  l'emploi en quelques secondes
  • Architecture avancĂ©e - Support intĂ©grĂ© pour DDD, CQRS et architecture hexagonale
  • Templates embarquĂ©s - Tous les templates sont inclus dans le package
  • Support multiple d'ORM - TypeORM et Prisma intĂ©grĂ©s nativement
  • DevOps ready - Configurations Docker, Swagger et CI/CD incluses
  • Mode interactif - Interface CLI intuitive avec prompts pour une configuration guidĂ©e

📩 Installation

npm install -g @outis25/nestgen

C'est tout! Aucune configuration supplémentaire n'est nécessaire. Tous les templates et dépendances sont embarqués dans le package.

🔧 Guide d'utilisation

Initialiser un nouveau projet

nestgen init

Cette commande lance un assistant interactif qui vous guidera à travers les étapes de configuration :

  • Nom du projet
  • RĂ©pertoire d'installation
  • SĂ©lection de l'ORM (TypeORM ou Prisma)
  • Modules Ă  gĂ©nĂ©rer automatiquement
  • Options additionnelles (Git, Swagger, Docker, etc.)

Générer un nouveau module

nestgen module <nom-du-module> [options]

Options disponibles :

  • --orm=<typeorm|prisma> - SpĂ©cifie l'ORM Ă  utiliser pour ce module
  • --crud - GĂ©nĂšre les opĂ©rations CRUD de base
  • --path=<chemin> - DĂ©finit un chemin personnalisĂ© pour le module

Exemples :

nestgen module user --orm=typeorm
nestgen module transaction --orm=prisma --crud

Vérifier l'installation

nestgen doctor

Cette commande vérifie que :

  • Le package est correctement installĂ©
  • Tous les templates embarquĂ©s sont disponibles
  • Aucune dĂ©pendance n'est manquante

📁 Architecture gĂ©nĂ©rĂ©e

NestGen génÚre une structure de projet suivant les meilleures pratiques d'architecture :

src/app/<module>/
├── core/                   # CƓur du domaine mĂ©tier
│   ├── application/        # Cas d'utilisation
│   │   ├── commands/       # Commandes CQRS
│   │   ├── events/         # ÉvĂ©nements domaine
│   │   └── queries/        # RequĂȘtes CQRS
│   └── domain/             # Modùle du domaine
│       ├── entities/       # EntitĂ©s mĂ©tier
│       └── ports/          # Interfaces pour l'hexagonal
├── infrastructure/         # ImplĂ©mentations techniques
│   ├── adapters/           # Adaptateurs pour l'hexagonal
│   └── persistences/       # Couche de persistance
│       └── repositories/   # ImplĂ©mentations des repos
└── interfaces/             # Points d'entrĂ©e de l'app
    ├── controllers/        # Contrîleurs REST
    └── dtos/               # Objets de transfert

Cette structure facilite :

  • La sĂ©paration des prĂ©occupations
  • Les tests unitaires et d'intĂ©gration
  • L'Ă©volutivitĂ© du code
  • Le remplacement des composants techniques

🔼 Roadmap

  • ✅ GĂ©nĂ©ration de projet complet
  • ✅ GĂ©nĂ©ration de module modulaire (DDD, CQRS, Repo)
  • ✅ Support Prisma et TypeORM
  • ✅ Mode interactif
  • ✅ Docker, Swagger, Git
  • ✅ Templates intĂ©grĂ©s
  • ✅ Package 100% autonome
  • ⬜ nestgen resource <name> (CRUD complet)
  • ⬜ nestgen destroy module <name>
  • ⬜ nestgen preset ecommerce (Templates d'applications)
  • ⬜ nestgen --interactive (menu CLI avancĂ©)
  • ⬜ Support pour MongoDB et Mongoose
  • ⬜ GĂ©nĂ©ration de tests unitaires et d'intĂ©gration

❓ FAQ

Q: NestGen nécessite-t-il des dépendances externes ?
R: Non, NestGen est 100% autonome. Tous les templates et outils nécessaires sont embarqués dans le package.

Q: Puis-je utiliser NestGen avec un projet NestJS existant ?
R: Oui, vous pouvez ajouter des modules générés par NestGen à un projet existant. La structure générée s'intÚgre parfaitement aux projets NestJS standards.

Q: Comment puis-je personnaliser les templates générés ?
R: Par défaut, NestGen utilise ses templates intégrés. Leurs structures sont optimisées pour les meilleures pratiques et ne nécessitent généralement pas de modifications.

Q: NestGen supporte-t-il les microservices ?
R: Pas encore nativement, mais c'est prévu dans les prochaines versions. En attendant, vous pouvez adapter manuellement la structure générée.

đŸ‘„ Contribuer

Les contributions sont les bienvenues ! Pour contribuer :

  1. Forkez le dépÎt
  2. Créez une branche pour votre fonctionnalité (git checkout -b feature/amazing-feature)
  3. Commitez vos changements (git commit -m 'feat: add amazing feature')
  4. Poussez vers la branche (git push origin feature/amazing-feature)
  5. Ouvrez une Pull Request

📄 Licence

NestGen est distribué sous licence MIT. Voir le fichier LICENSE pour plus d'informations.


0.0.7

7 months ago

0.0.6

7 months ago

0.0.5

7 months ago

0.0.4

7 months ago

0.0.3

7 months ago

0.0.2

7 months ago

0.0.1

7 months ago