Problema
Em vite.config.js, o objeto process.env é completamente substituído por uma cópia:
process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
Isso substitui a referência original do objeto. Módulos internos do Node.js e dependências que salvaram a referência ao process.env antes dessa linha continuarão apontando para o objeto antigo e não verão as novas variáveis.
Correção
Usar Object.assign para mutar o objeto existente no lugar:
Object.assign(process.env, loadEnv(mode, process.cwd()));
Possíveis impactos
- Sem impactos funcionais na maioria dos casos práticos, pois o Vite lê as variáveis após a atribuição
- Elimina comportamento indefinido em ambientes onde dependências capturam a referência do
process.env na inicialização