Concetti
Il plugin @aws/nx-plugin
è un plugin Nx che fornisce un toolkit per semplificare lo sviluppo e il deployment di applicazioni full-stack su AWS. Offre template preconfigurati sia per il codice applicativo che per l’Infrastructure as Code (IaC), riducendo significativamente il tempo dedicato alla configurazione iniziale. Gestisce la complessità dell’integrazione con i servizi AWS mantenendo al contempo flessibilità per personalizzazioni.
Gli utenti possono selezionare i componenti desiderati dalla lista dei Generatori disponibili, fornire le opzioni di configurazione e lasciare che @aws/nx-plugin
generi il codice iniziale richiesto. Il toolkit include generatori per creare API, siti web, infrastrutture e persino operazioni avanzate come l’integrazione type-safe di frontend e backend (aggiornando file esistenti tramite trasformazioni AST!).

Basato su Nx
Nx è un framework di build intelligente che eccelle nella gestione di progetti poliglotti complessi grazie a due funzionalità chiave: un sistema di build avanzato e generatori di codice.
Il sistema di build utilizza cache sofisticate e analisi del grafo delle dipendenze per ottimizzare l’esecuzione dei task. Ricostruisce solo ciò che è necessario in base alle modifiche, riducendo drasticamente i tempi di compilazione. I task possono essere eseguiti in parallelo, con Nx che determina automaticamente l’ordine ottimale in base alle dipendenze. Ciò rende operazioni come test, linting e build estremamente efficienti, specialmente in codebase di grandi dimensioni.
I generatori fungono da strumenti di scaffolding automatizzato che creano strutture di codice consistenti. Possono generare qualsiasi cosa, da singoli componenti a intere applicazioni, seguendo template e pattern predefiniti. I team possono personalizzare questi generatori per adattarli ai propri standard e requisiti specifici.
Insieme, queste caratteristiche rendono Nx particolarmente efficace per gestire monorepos e garantire pratiche di sviluppo coerenti across team, mantenendo un’elevata velocità di sviluppo.
Generatori
Tutti i componenti disponibili in questo plugin sono implementati come Generatori che automatizzano task ripetitivi e consentono lo scaffolding coerente di progetti nuovi ed esistenti.
I generatori possono essere invocati tramite Nx CLI o il plugin IDE Nx Console.

Modificabile liberamente
Tutto il codice generato è di tua proprietà e può essere modificato liberamente. Questo semplifica drasticamente l’esperienza degli sviluppatori: se qualcosa nel codice generato non ti soddisfa, puoi modificarlo direttamente.
Dipendenze minime
@aws/nx-plugin
mira a mantenere il numero di dipendenze al minimo. I requisiti globali dipendono esclusivamente dai generatori utilizzati.
Ad esempio, i generatori basati su Typescript richiedono solo l’installazione di Node. Per progetti Python, l’unico requisito è UV.
Politica di versione unica
La configurazione predefinita del monorepo utilizza una politica di versione unica sia per progetti Node che Python.
Tutti i progetti nel monorepo utilizzano per default la stessa versione delle dipendenze, riducendo problemi di incompatibilità tra pacchetti.
Per Node: un singolo lockfile alla radice con un unico node_modules
. Nuove dipendenze vengono aggiunte nel package.json
root.
Per Python: un singolo .venv
alla radice del monorepo, con tutte le dipendenze installate. Ogni progetto Python ha il proprio pyproject.toml
, ma le versioni sono gestite dal workspace UV e sincronizzate nel file uv.lock
root.
Type safety
@aws/nx-plugin
implementa la type-safety per semplificare l’esperienza degli sviluppatori attraverso completamenti IDE, eliminando al contempo errori runtime tipici delle implementazioni non type-safe. Tutti i componenti forniti sono type-safe per default.
