deco-reconcile sai com 0 sem fazer nada quando invocado via npx
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 2
- Avg merge
- 20h 12m
- Merged PRs (30d)
- 36
Description
Modo de falha
deco-reconcile invocado pelo bin publicado sai com código 0, não imprime nada e não cria .reconcile/. Para quem está rodando uma reconciliação, isso é indistinguível de "não havia nada a conciliar" — e nesse caso havia (1 arquivo).
Repro, com @decocms/blocks-cli@7.54.0:
npx -p @decocms/blocks-cli deco-reconcile \
--source /path/to/site-fresh \
--target /path/to/site-tanstack \
--snapshot <sha> --target-snapshot <sha> --verbose
# (sem saída)
# EXIT=0
Causa
Última linha de packages/blocks-cli/scripts/reconcile.ts:
if (process.argv[1] && /reconcile\.ts$/.test(process.argv[1])) main();
O npm/npx expõe o bin como symlink node_modules/.bin/deco-reconcile. O shebang #!/usr/bin/env tsx executa com process.argv[1] = o caminho do symlink, que não casa /reconcile\.ts$/. main() nunca roda.
O guard só passa quando o arquivo é invocado pelo caminho literal — que é como os testes e o desenvolvimento local rodam, então passa despercebido.
Contorno
npx tsx packages/blocks-cli/scripts/reconcile.ts --source ... --target ...
Sugestão
Trocar o guard por uma comparação de realpath do módulo em vez de regex sobre o basename de argv[1], ou simplesmente chamar main() incondicionalmente (o arquivo não é reexportado por exports no package.json — só existe como bin).
Vale checar os outros bins de packages/blocks-cli/package.json que usem o mesmo padrão de guard.
Onde apareceu
Rodada de reconciliação deco-sites/zee-tanstack (origem Deno 429e20e..91b36b2) — https://github.com/deco-sites/zee-tanstack/pull/46
🤖 Generated with Claude Code
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with packages/blocks-cli/scripts/reconcile.ts and inspect the bin entries in packages/blocks-cli/package.json, including any other scripts using the same guard pattern. Reproduce through the published-style npx invocation and verify that deco-reconcile runs main(), produces output, creates .reconcile/, and exits correctly when work exists.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100