Configurazione
Volta utilizza più file di configurazione per gestire la tua catena di strumenti JavaScript. Questo riferimento descrive le opzioni di configurazione disponibili e il loro formato.
Configurazione del progetto
La configurazione specifica del progetto è memorizzata sotto la chiave volta
nel file package.json
del progetto.
Formato
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0",
"yarn": "1.22.19",
"extends": "../shared-volta-config.json"
}
}
Proprietà
Proprietà | Tipo | Descrizione |
---|---|---|
node | String | Versione di Node.js da utilizzare in questo progetto |
npm | String | Versione di npm da utilizzare in questo progetto |
yarn | String | Versione di Yarn da utilizzare in questo progetto |
pnpm | String | Versione di pnpm da utilizzare in questo progetto |
extends | String | Percorso del file di configurazione Volta condiviso |
Formato delle versioni
Le stringhe di versione nella configurazione volta
possono utilizzare i seguenti formati:
- Versione esatta:
16.14.2
- Solo versione principale:
16
- Versione principale e secondaria:
16.14
- Intervallo di versioni (npm semver):
^16.14.0
- Tag:
latest
,lts
Configurazione condivisa del progetto
Puoi creare configurazioni Volta condivise che più progetti possono estendere. Questo è utile per le organizzazioni che desiderano standardizzare le versioni degli strumenti tra i progetti.
Formato
{
"node": "16.14.2",
"npm": "8.5.0"
}
Il formato è lo stesso della sezione volta
nel package.json
, ma al livello root del file JSON.
Configurazione utente
La configurazione utente di Volta è memorizzata nella directory principale di Volta:
- Unix:
~/.volta/
- Windows:
%LOCALAPPDATA%\Volta\
Archiviazione degli strumenti
Gli strumenti installati sono memorizzati in directory strutturate:
- Node.js:
~/.volta/tools/image/node/
- Gestori di pacchetti:
~/.volta/tools/image/yarn/
,~/.volta/tools/image/npm/
- Pacchetti:
~/.volta/tools/user/packages/
Directory degli hooks
Gli hooks personalizzati sono memorizzati in ~/.volta/hooks/
. Per maggiori dettagli, consulta la sezione Funzionalità avanzate.
Variabili d'ambiente
Le variabili d'ambiente forniscono un altro modo per configurare il comportamento di Volta. Per un riferimento completo, consulta la pagina Variabili d'ambiente.
Priorità di configurazione
Quando risolve quale versione di strumento utilizzare, Volta controlla le fonti nel seguente ordine:
- Argomenti della riga di comando (ad esempio,
volta run --node 14
) - Configurazione del progetto nel
package.json
più vicino che contiene una sezionevolta
- Versioni degli strumenti predefiniti dell'utente (impostate tramite
volta install
) - Versioni bundle (ad esempio, npm bundle con Node.js)
Esempi
Configurazione tipica del progetto
{
"name": "my-project",
"version": "1.0.0",
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
},
"dependencies": {
// ...
}
}
Configurazione estesa
// shared-config.json
{
"node": "16.14.2",
"yarn": "1.22.19"
}
// package.json
{
"name": "my-project",
"version": "1.0.0",
"volta": {
"extends": "./shared-config.json",
"npm": "8.5.0" // Sostituisce qualsiasi versione npm nella configurazione estesa
}
}
Configurazione workspace
Per progetti basati su workspace, la configurazione del package.json
root si applica a tutti i pacchetti del workspace:
// package.json root
{
"name": "workspace-root",
"volta": {
"node": "16.14.2",
"yarn": "1.22.19"
},
"workspaces": [
"packages/*"
]
}
// packages/app/package.json - userà Node.js 16.14.2 e Yarn 1.22.19
{
"name": "app",
"version": "1.0.0",
// Nessuna sezione volta necessaria qui
}