Skip to main content

Dipendenze e Workspace

FavoJS è gestito con una struttura a monorepo, in cui le librerie dipendono da altri pacchetti presenti nella stessa repository, in modo da non dover gestire N repo differenti.

Per lavorare sulle dipendenze tra librerie, usiamo pnpm e la feature dei Workspace, che offre dei tool da CLI per l'aggiunta, la rimozione, l'aggiornamento e il riferimento delle dipendenze.

Aggiungere una libreria locale#

Per aggiungere una libreria locale (ovvero interna al repository) è possibile utilizzare il comando add:

pnpm add @favojs/<pkg> --workspace

L'opzione --workspace garantisce che la libreria non sia cercata direttamente sul registro online di npm ma semplicemente dai file locali. Quest'ultima viene salvata tramite il protocollo workspace:, ed è quindi possibile verificare nel package.json della libreria che sia installata correttamente, i.e.:

{
"dependencies": {
"@favojs/logger": "workspace:X.X.X"
}
}
Pubblicazione

Al momento della pubblicazione (pnpm run release) le dipendenze con protocollo workspace: vengono sostituite con i veri pacchetti di npm.

Aggiornato il da Leonardo Ascione