⚙️ 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 | jsecjs).jsonejsonc). | 
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 $schemapermite 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.
observação
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
observação
- 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.