Publicar no npm

O repositório é um monorepo (npm workspaces). Publique na ordem de dependência.

Pré-requisitos

Comandos (na raiz do repo)

git checkout main
git pull
npm install
npm test
npm login

Opção A — script (recomendado)

npm run publish:all

Roda os testes e publica todos os pacotes nesta ordem:

@crystal-node/core
@crystal-node/controller
@crystal-node/engine-wkhtmltopdf
@crystal-node/engine-puppeteer
@crystal-node/engine-weasyprint
@crystal-node/engine-devbox
@crystal-node/routes
@crystal-node/runtime

Opção B — manual

npm publish -w @crystal-node/core --access public
npm publish -w @crystal-node/controller --access public
npm publish -w @crystal-node/engine-wkhtmltopdf --access public
npm publish -w @crystal-node/engine-puppeteer --access public
npm publish -w @crystal-node/engine-weasyprint --access public
npm publish -w @crystal-node/engine-devbox --access public
npm publish -w @crystal-node/routes --access public
npm publish -w @crystal-node/runtime --access public

GitHub Pages

Este site HTML vive em /docs. No GitHub: Settings → Pages → Source: Deploy from branch → Branch main → folder /docs.

URL esperada: https://msmourao.github.io/crystal-node-runtime/

Tag

git tag v1.1.0
git push origin main --tags

Não dá para republicar a mesma versão. Para correções, faça bump (ex.: 1.1.1) em todos os package.json dos pacotes afetados e publique de novo.