CLI Reference

Referência completa da interface de linha de comando (CLI) do moclojer. Todos os flags, opções e exemplos de uso.

Este documento descreve todas as opções disponíveis na linha de comando do moclojer.

Sintaxe Básica

moclojer [OPTIONS]

Opções Globais

--config ou -c

Especifica o caminho para o arquivo de configuração.

Tipo: String (caminho de arquivo) Padrão: ~/.config/moclojer.yml (ou $XDG_CONFIG_HOME/moclojer.yml) Formatos suportados: .yml, .yaml, .edn, .json

Exemplos:

# YAML
moclojer --config api-mock.yml
moclojer -c ./config/mocks.yaml

# EDN
moclojer --config mocks.edn

# JSON (OpenAPI ou Postman Collection)
moclojer --config openapi.json
moclojer --config postman_collection.json

Notas:

  • Caminhos relativos são resolvidos a partir do diretório atual

  • Se não especificado, moclojer busca moclojer.yml no XDG_CONFIG_HOME

  • Pode ser um arquivo local ou URL (veja --remote-config)


--port ou -p

Define a porta onde o servidor HTTP vai escutar.

Tipo: Integer Padrão: 8000 Range válido: 1-65535

Exemplos:

Variável de ambiente: MOCLOJER_PORT

Precedência: CLI > ENV > Padrão


--host ou -h

Define o endereço IP onde o servidor vai escutar.

Tipo: String (IP address) Padrão: 0.0.0.0 (todas as interfaces)

Exemplos:

Variável de ambiente: MOCLOJER_HOST

Segurança:

  • 0.0.0.0 - Aceita de qualquer rede (cuidado em produção!)

  • 127.0.0.1 - Apenas local (recomendado para dev)


--enable-cors

Habilita CORS (Cross-Origin Resource Sharing) para todas as respostas.

Tipo: Boolean flag Padrão: false

Exemplo:

O que faz: Adiciona os seguintes headers a todas as respostas:

Quando usar:

  • Desenvolvimento frontend em localhost diferente

  • APIs consumidas por browsers

  • Aplicações SPA (React, Vue, Angular)

Quando NÃO usar:

  • Produção (use configuração de CORS específica)

  • APIs internas sem necessidade de browser access


--watch ou -w

Habilita hot-reload: recarrega configuração quando o arquivo muda.

Tipo: Boolean flag Padrão: false (true em modo dev)

Exemplo:

Comportamento:

  1. Moclojer monitora o arquivo de config

  2. Quando detecta mudança, recarrega automaticamente

  3. Servidor continua rodando sem interrupção

  4. Rotas são atualizadas instantaneamente

Limitações:

  • Não disponível em binário nativo (GraalVM) - requer JVM

  • Monitora apenas o arquivo de config principal (não includes)

Uso recomendado:


--help

Exibe ajuda com todas as opções disponíveis.

Exemplo:

Output:


--version ou -v

Exibe a versão do moclojer.

Exemplo:


Variáveis de Ambiente

Todas as opções podem ser configuradas via variáveis de ambiente:

Variável
Equivalente CLI
Exemplo

MOCLOJER_PORT

--port

export MOCLOJER_PORT=3000

MOCLOJER_HOST

--host

export MOCLOJER_HOST=127.0.0.1

MOCLOJER_CONFIG

--config

export MOCLOJER_CONFIG=./api.yml

MOCLOJER_ENABLE_CORS

--enable-cors

export MOCLOJER_ENABLE_CORS=true

MOCLOJER_WATCH

--watch

export MOCLOJER_WATCH=true

Precedência: CLI > ENV > Config File > Padrão


Exemplos Práticos

Desenvolvimento Local

Integração com Docker

CI/CD

Multi-config com Scripts

Uso:


Configuração via Arquivo

Algumas opções podem ser definidas no próprio arquivo de configuração:

Nota: CLI e ENV sempre sobrescrevem valores do arquivo.


Troubleshooting CLI

"Address already in use"

Causa: Porta já está sendo usada por outro processo.

Solução:


"Config file not found"

Causa: Arquivo não existe no caminho especificado.

Solução:


"YAML parse error"

Causa: Sintaxe YAML inválida no arquivo de config.

Solução:


Hot-reload não funciona

Causa: Usando binário nativo (GraalVM) ou não passou --watch.

Solução:


Dicas Avançadas

Alias úteis

Uso:


Verificar se servidor está UP

Uso em CI:


Debug mode (verbose logging)

Atualmente moclojer não tem flag --verbose, mas você pode usar:


Próximos Passos

Veja Também

Last updated

Was this helpful?