Skip to content

Corrige scaffold MVC vazio: adiciona rota, visão e estilo iniciais (#…#120

Merged
leonelsanchesdasilva merged 1 commit into
DesignLiquido:principalfrom
oxbar:corrige-scaffold-mvc-103
Jul 10, 2026
Merged

Corrige scaffold MVC vazio: adiciona rota, visão e estilo iniciais (#…#120
leonelsanchesdasilva merged 1 commit into
DesignLiquido:principalfrom
oxbar:corrige-scaffold-mvc-103

Conversation

@oxbar

@oxbar oxbar commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Corrige scaffold MVC vazio: adiciona rota, visão e estilo iniciais

Fixes #103

Problema

O template MVC (Delégua e Pituguês) do comando liquido novo criava apenas arquivos LEIAME.md nos diretórios — nenhuma rota, visão ou estilo de exemplo. Rodar o projeto recém-gerado resultava em 404 (em inglês) na raiz. O template API REST, em contraste, já trazia rotas/inicial funcionando.

Solução

Mudança puramente aditiva nos templates de fontes/interface-linha-comando/exemplos/{delegua,pitugues}/mvc/. Nenhuma alteração de código foi necessária: copiarArquivosDeExemploParaNovoProjeto já copia qualquer arquivo {delegua,pitu,delprops,foles,lmht,md}, e o script empacotar já inclui exemplos/**/* no pacote publicado.

Arquivos adicionados a cada template MVC:

Arquivo Papel
rotas/inicial.delegua / rotas/inicial.pitu Rota GET / que renderiza a visão via resposta.lmht({"nome": "mundo"})
visoes/inicial.lmht Página de boas-vindas em português com meta viewport, CSS referenciado via <recurso tipo="stylesheet" destino="/css/principal.css"/> e orientações de próximos passos
estilos/principal.foles Estilo inicial (cor-fundo, cor, margem, tamanho-fonte, altura-linha, titulo1), transpilado automaticamente para publico/css/principal.css

Com isso, o primeiro boot de um projeto MVC entrega o "momento uau" que rails new, nest new e create-next-app entregam: uma página funcionando.

Nota de compatibilidade descoberta durante a validação

Em Pituguês, encadear .status(200) após resposta.lmht() falha em runtime com LIQ99999: Só pode chamar função ou classe (em Delégua o encadeamento funciona). Por isso as rotas dos templates não usam encadeamento — 200 já é o status padrão. Pode valer uma issue separada para o encadeamento de métodos de Resposta no interpretador Pituguês.

Testes

Novo testes/interface-linha-comando/novo.test.ts com 4 casos de regressão:

  • Projeto MVC em Delégua e em Pituguês deve conter rotas/inicial.*, visoes/inicial.lmht, estilos/principal.foles e configuracao.delprops, todos não-vazios, com a rota contendo liquido.rotaGet e resposta.lmht;
  • Projeto API REST em ambas as linguagens deve continuar contendo rotas/inicial.*.
PASS liquido testes/interface-linha-comando/novo.test.ts
  ✓ projeto MVC em delegua deve conter rota, visão e estilo iniciais
  ✓ projeto MVC em pitugues deve conter rota, visão e estilo iniciais
  ✓ projeto API REST em delegua deve continuar contendo rota inicial
  ✓ projeto API REST em pitugues deve continuar contendo rota inicial

Test Suites: 5 passed, 5 total (suíte interface-linha-comando + liquido.test.ts)
Tests:       57 passed, 57 total

Validação manual (runtime real)

Templates copiados para projetos limpos e executados com liquido@1.4.0 publicado no npm, nas duas linguagens:

GET /                      → 200, página de boas-vindas renderizada (LMHT → HTML)
GET /css/principal.css     → 200, FolEs transpilado (corpo→body, cor-fundo→background-color)

Checklist

  • Mudança aditiva, sem alteração de comportamento do código existente
  • Teste de regressão incluído e passando
  • Validado em runtime com o pacote npm publicado (Delégua e Pituguês)
  • Sem novas dependências
  • Conteúdo dos templates 100% em português

…esignLiquido#103)

O template MVC (Delégua e Pituguês) gerava apenas arquivos LEIAME.md,
resultando em 404 no primeiro boot do projeto recém-criado. O template
API REST, em contraste, já trazia rotas/inicial funcionando.

Este commit adiciona a cada template MVC:

- rotas/inicial.delegua | rotas/inicial.pitu: rota GET / que renderiza
  a visão inicial via resposta.lmht();
- visoes/inicial.lmht: página de boas-vindas em português, com meta
  viewport, folha de estilo referenciada via <recurso> e orientações
  de próximos passos para quem está começando;
- estilos/principal.foles: estilo inicial transpilado automaticamente
  para publico/css/principal.css.

Nenhuma mudança de código foi necessária: o comando novo já copia
qualquer arquivo {delegua,pitu,delprops,foles,lmht,md} dos templates,
e o script empacotar já inclui exemplos/**/* no pacote publicado.

Observação de compatibilidade validada em runtime (liquido@1.4.0):
em Pituguês, encadear .status(200) após resposta.lmht() falha com
'LIQ99999: Só pode chamar função ou classe'; por isso as rotas dos
templates não usam encadeamento (200 já é o padrão).

Inclui teste de regressão (novo.test.ts) garantindo que os templates
MVC e API REST sempre entreguem os arquivos mínimos executáveis.

Validação manual: templates copiados para projetos limpos e executados
com liquido@1.4.0 — GET / responde 200 com a página de boas-vindas e
GET /css/principal.css responde 200 nas duas linguagens.

Fixes DesignLiquido#103
@oxbar
oxbar marked this pull request as ready for review July 10, 2026 15:53
@github-actions

Copy link
Copy Markdown

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 83.33% 1135/1362
🟡 Branches 61.45% 424/690
🟢 Functions 88.27% 173/196
🟢 Lines 83.89% 1109/1322

Test suite run success

234 tests passing in 23 suites.

Report generated by 🧪jest coverage report action from aeba467

@leonelsanchesdasilva leonelsanchesdasilva left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obrigado!

@leonelsanchesdasilva
leonelsanchesdasilva merged commit 6c6bb86 into DesignLiquido:principal Jul 10, 2026
3 checks passed
leonelsanchesdasilva added a commit to DesignLiquido/delegua that referenced this pull request Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ALTA] Scaffold MVC gera zero código executável

2 participants