Pular para o conteúdo principal
Versão: v3.x.x

⚙️ 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
VersionChanges
v2.2.0
Suporte para a flag curta -c.
v2.1.0
Suporte para arquivos de configuração (js e cjs).
Suporte para arquivos de configuração (json e jsonc).

JavaScript

2Stable

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

2Stable

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
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.