Spraxium logoSpraxium

Watch de desenvolvimento e carregamento da config

Configure o watcher de desenvolvimento local para reiniciar seu bot de forma previsível quando arquivos mudarem. Conheça os campos do bloco dev, os nomes de arquivo de configuração aceitos e como os ambientes são resolvidos na inicialização.

O bloco dev

O bloco dev controla o watcher de desenvolvimento local que reinicia o processo do bot quando os arquivos-fonte mudam. Todos os campos são opcionais. O entrypoint padrão é src/main.ts, e o debounce padrão é de 300 milissegundos; a maioria dos projetos só precisa ajustar debounce para evitar tempestades de reinicialização durante salvamentos rápidos.

spraxium.config.ts
import { defineConfig } from '@spraxium/core';

export default defineConfig({
  dev: {
    entrypoint: 'src/main.ts',
    debounce: 500,
    include: ['locales'],
    exclude: ['.spraxium/**', 'dist/**'],
  },
});
CampoTipoPadrãoFinalidade
entrypointstringsrc/main.ts

Arquivo executado pelo watcher ao reiniciar o processo.

includestring[][]

Diretórios adicionais que disparam reinicializações quando mudam.

excludestring[][]Padrões glob que devem ser ignorados durante a observação de arquivos.
debouncenumber300

Milissegundos de espera após uma mudança antes de disparar a reinicialização.

Exclua diretórios gerados

Sempre adicione .spraxium/** e dist/** à lista exclude. Esses diretórios mudam durante operações de build, e observá-los causa loops infinitos de reinicialização que desestabilizam o processo do watcher.

Nomes de arquivo de config aceitos

O framework procura seu arquivo de configuração usando a seguinte ordem de prioridade. Em modo de produção, a saída compilada é verificada primeiro; em todos os outros modos, o código-fonte TypeScript tem precedência.

PrioridadePathModo
1.spraxium/dist/spraxium.config.jsSomente produção
2dist/spraxium.config.jsSomente produção
3spraxium.config.tsTodos os modos
4spraxium.config.jsTodos os modos
5spraxium.config.mjsTodos os modos

Resolução de ambiente

NODE_ENV é lido uma vez na inicialização e mapeado para um objeto ConfigEnv. Esse valor nunca muda depois que a config é carregada, então toda ramificação baseada em ambiente precisa acontecer dentro do callback de defineConfig.

NODE_ENVModoFlags ativas
productionproductionisProd = true
neutral, staging, testneutralisNeutral = true
Qualquer outro valordevelopmentisDev = true