Concepts
Le @aws/nx-plugin
est un plugin Nx qui fournit une boîte à outils pour simplifier le développement et le déploiement d’applications full-stack sur AWS. Il propose des modèles préconfigurés pour le code applicatif et d’infrastructure (IaC), réduisant considérablement le temps de configuration initiale. Le plugin gère la complexité de l’intégration des services AWS tout en préservant la flexibilité nécessaire aux personnalisations.
Les utilisateurs choisissent simplement les composants désirés parmi les Générateurs disponibles, fournissent les options de configuration requises, et le @aws/nx-plugin
génère le code de démarrage nécessaire. Plusieurs générateurs sont inclus pour créer des APIs, sites web, infrastructures cloud, et même réaliser des opérations complexes comme l’intégration type-safe d’un frontend avec un backend (y compris la mise à jour de fichiers existants via des transformations AST !).

Construit sur Nx
Nx est un framework de build intelligent spécialisé dans la gestion de projets polyglottes complexes grâce à deux fonctionnalités clés : un système de build évolué et des générateurs de code.
Son système de build utilise du caching avancé et l’analyse de graphe de dépendances pour optimiser l’exécution des tâches. Il ne reconstruit que le strict nécessaire après des modifications, réduisant radicalement les temps de compilation. Les tâches s’exécutent en parallèle selon un ordre optimal déterminé automatiquement, rendant les opérations comme les tests, le linting et le build extrêmement efficaces, surtout sur les gros projets.
Les générateurs servent d’outils de scaffolding automatisé pour créer des structures de code cohérentes. Ils peuvent générer aussi bien des composants isolés que des applications complètes, en suivant des templates prédéfinis. Les équipes peuvent les personnaliser pour respecter leurs standards internes.
Ensemble, ces fonctionnalités font de Nx un outil idéal pour gérer des monorepos et maintenir une cohérence dans les pratiques de développement tout en conservant une vélocité élevée.
Générateurs
Tous les composants de ce plugin sont implémentés sous forme de Générateurs qui automatisent les tâches répétitives et standardisent le scaffolding pour les projets nouveaux ou existants.
Les générateurs peuvent être invoqués via la CLI Nx ou le plugin IDE Nx Console.

Modifiable à volonté
Tout le code généré vous appartient intégralement et peut être modifié librement. Cela simplifie radicalement l’expérience développeur : si un élément généré ne vous convient pas, vous avez toute latitude pour l’adapter.
Dépendances minimales
Le @aws/nx-plugin
minimise volontairement les dépendances requises. Les prérequis globaux se limitent à ceux nécessités par les générateurs utilisés.
Par exemple, les générateurs TypeScript ne nécessitent que Node. Pour les projets Python, seul UV est requis.
Politique de version unique
La configuration par défaut du monorepo applique une politique de version unique pour les projets Node et Python.
Cela signifie que toutes les dépendances partagées dans le monorepo utilisent la même version par défaut, réduisant les risques d’incompatibilités entre packages.
Pour Node : un seul fichier de lock à la racine et un seul node_modules
contenant toutes les dépendances. Les nouvelles dépendances s’ajoutent dans le package.json
racine.
Pour Python : un seul .venv
à la racine avec toutes les dépendances. Chaque projet Python possède son propre pyproject.toml
, mais les versions des dépendances sont gérées par le workspace UV et consignées dans le fichier uv.lock
racine.
Sûreté de typage
Le @aws/nx-plugin
utilise la sûreté de typage pour simplifier l’expérience développeur via l’autocomplétion IDE, tout en éliminant les erreurs runtime potentielles. Tous les composants fournis sont type-safe par défaut.
