Configuração
O Volta usa vários arquivos de configuração para gerenciar sua cadeia de ferramentas JavaScript. Este guia explica as opções de configuração disponíveis e seus formatos.
Configuração de Projeto
As configurações específicas do projeto são armazenadas sob a chave volta
no arquivo package.json
do projeto.
Formato
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0",
"yarn": "1.22.19",
"extends": "../shared-volta-config.json"
}
}
Propriedades
Propriedade | Tipo | Descrição |
---|---|---|
node | String | Versão do Node.js usada neste projeto |
npm | String | Versão do npm usada neste projeto |
yarn | String | Versão do Yarn usada neste projeto |
pnpm | String | Versão do pnpm usada neste projeto |
extends | String | Caminho para arquivo de configuração Volta compartilhado |
Formatos de Versão
Os valores de versão nas configurações do volta
podem usar os seguintes formatos:
- Versão exata:
16.14.2
- Apenas versão principal:
16
- Versão principal e secundária:
16.14
- Intervalo de versões (semver npm):
^16.14.0
- Tags:
latest
,lts
Configuração Compartilhada de Projeto
Você pode criar configurações Volta compartilhadas e extensíveis para múltiplos projetos. Isso é útil para organizações que desejam padronizar versões de ferramentas entre projetos.
Formato
{
"node": "16.14.2",
"npm": "8.5.0"
}
O formato é o mesmo da seção volta
do package.json
, mas no nível raiz do arquivo JSON.
Configuração do Usuário
A configuração do usuário do Volta é armazenada no diretório principal do Volta:
- Unix:
~/.volta/
- Windows:
%LOCALAPPDATA%\Volta\
Armazenamento de Ferramentas
As ferramentas instaladas são armazenadas em diretórios estruturados:
- Node.js:
~/.volta/tools/image/node/
- Gerenciadores de pacotes:
~/.volta/tools/image/yarn/
,~/.volta/tools/image/npm/
- Pacotes:
~/.volta/tools/user/packages/
Diretório de Hooks
Hooks personalizados são armazenados em ~/.volta/hooks/
. Para mais detalhes, veja a seção Funcionalidades Avançadas.
Variáveis de Ambiente
As variáveis de ambiente fornecem outra maneira de configurar o comportamento do Volta. Para referência completa, veja a página de Variáveis de Ambiente.
Prioridade de Configuração
Ao determinar qual versão de ferramenta usar, o Volta verifica as fontes na seguinte ordem:
- Parâmetros de linha de comando (por exemplo,
volta run --node 14
) - Configuração de projeto no
package.json
mais próximo contendo a seçãovolta
- Versão padrão do usuário (definida via
volta install
) - Versão vinculada (por exemplo, npm vinculado ao Node.js)
Exemplos
Configuração Típica de Projeto
{
"name": "my-project",
"version": "1.0.0",
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
},
"dependencies": {
// ...
}
}
Configuração Estendida
// 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" // sobrescreve qualquer versão de npm da configuração estendida
}
}
Configuração de Workspace
Para projetos baseados em workspaces, a configuração do package.json
raiz se aplica a todos os pacotes do workspace:
// package.json raiz
{
"name": "workspace-root",
"volta": {
"node": "16.14.2",
"yarn": "1.22.19"
},
"workspaces": [
"packages/*"
]
}
// packages/app/package.json - usará Node.js 16.14.2 e Yarn 1.22.19
{
"name": "app",
"version": "1.0.0"
// não é necessário seção volta aqui
}