⚙️ Arquivos de configuração
Por padrão, o Poku vem com as configurações de uso mais comuns predefinidas, mas você pode ajustá-las como desejar.
History
Version | Changes |
---|---|
v2.2.0 | -c . |
v2.1.0 | js e cjs ).json e jsonc ). |
JavaScript
Prós: Suporta funções e regex.
Contras: Precisa ser um arquivo CommonJS.
Crie um arquivo poku.config.js
(ou poku.config.cjs
quando estiver usando "type": "module"
no seu package.json) no diretório raiz do seu projeto, por exemplo:
const { defineConfig } = require('poku');
module.exports = defineConfig({
include: ['.'], // Não suporta padrões glob
sequential: true,
debug: false,
filter: /\.(test.|.spec)\./,
exclude: [], // regex
failFast: false,
concurrency: 0, // Sem limite
quiet: false,
envFile: '.env',
kill: {
port: [3000],
range: [
[3000, 3003],
[4000, 4002],
],
pid: [612],
},
platform: 'node', // "node", "bun" e "deno"
deno: {
allow: ['run', 'env', 'read', 'net'],
deny: [], // O mesmo que allow
cjs: ['.js', '.cjs'], // extensões específicas
// "cjs": true // todas as extensões
// "cjs": false // sem polyfill
},
beforeEach: () => true, // Antes de cada arquivo de teste
afterEach: () => true, // Depois de cada arquivo de teste
});
JSON and JSONC
Prós: Arquivo universal para CommonJS, ES Modules e TypeScript.
Contras: Não suporta funções e regex.
Crie um arquivo .pokurc.json
(ou .pokurc.jsonc
) no diretório raiz do seu projeto, por exemplo:
{
"$schema": "https://poku.io/schemas/configs.json",
"include": ["."], // Não suporta padrões glob
"sequential": true,
"debug": false,
"filter": ".test.|.spec.", // regex como string
"exclude": "", // regex como string
"failFast": false,
"concurrency": 0, // Sem limite
"quiet": false,
"envFile": ".env",
"kill": {
"port": [3000],
"range": [
[3000, 3003],
[4000, 4002],
],
"pid": [612],
},
"platform": "node", // "node", "bun" e "deno"
"deno": {
"allow": ["run", "env", "read", "net"],
"deny": [], // O mesmo que allow
"cjs": [".js", ".cjs"], // extensões específicas
// "cjs": true // todas as extensões
// "cjs": false // sem polyfill
}
}
dica
- A propriedade
$schema
permite sugestões inteligentes no JSON para te ajudar a personalizar o Poku. - Todas as opções são opcionais.
- Veja os detalhes de todas as opções.
nota
Compartilha as mesmas limitações das flags do CLI.
Arquivos de Configuração Padrão
Em ordem de prioridade.
poku.config.js
poku.config.cjs
.pokurc.json
.pokurc.jsonc
nota
- Usar uma configuração duplicada via CLI irá sobrescrever a opção no arquivo de configuração.
- Se houver múltiplos arquivos de configuração no mesmo diretório, o Poku irá procurar — e usará — apenas um.
Arquivo Personalizado
npx poku --config='meu-arquivo.json'
npx poku --config='meu-arquivo.jsonc'
npx poku --config='meu-arquivo'
- Flag curta:
-c
.