Skip to content

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

json
{
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0",
    "yarn": "1.22.19",
    "extends": "../shared-volta-config.json"
  }
}

Propriedades

PropriedadeTipoDescrição
nodeStringVersão do Node.js usada neste projeto
npmStringVersão do npm usada neste projeto
yarnStringVersão do Yarn usada neste projeto
pnpmStringVersão do pnpm usada neste projeto
extendsStringCaminho 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

json
{
  "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:

  1. Parâmetros de linha de comando (por exemplo, volta run --node 14)
  2. Configuração de projeto no package.json mais próximo contendo a seção volta
  3. Versão padrão do usuário (definida via volta install)
  4. Versão vinculada (por exemplo, npm vinculado ao Node.js)

Exemplos

Configuração Típica de Projeto

json
{
  "name": "my-project",
  "version": "1.0.0",
  "volta": {
    "node": "16.14.2",
    "npm": "8.5.0"
  },
  "dependencies": {
    // ...
  }
}

Configuração Estendida

json
// 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:

json
// 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
}