Runtime em TypeScript para executar Pitugues em tags <script> de HTML, no estilo de inicializacao do Brython.
- Node.js 18+
- Yarn 1.x
yarnyarn typecheck
yarn empacotar
yarn empacotar:min
yarn watch
yarn testes
yarn testes:watch
yarn preparar-github-pages
yarn publicar-github-pages:dry-run
yarn publicar-github-pages
yarn publicar-npm:dry-run
yarn publicar-npm- Gere o bundle do runtime:
yarn empacotar- Inclua o UMD da Delegua e o runtime compilado na pagina:
<script src="./node_modules/@designliquido/delegua/umd/delegua.js"></script>
<script src="./dist/pitugues-script.js"></script>
<script type="text/pitugues" id="programa">
escreva("Ola, mundo!")
</script>
<script>
window.pitugues({ ids: ["programa"] });
</script>O runtime expoe:
window.pitugues(options?): executa scripts Pitugues encontrados na pagina.window.__PITUGUES__: instancia do runtime.
Opcoes principais de window.pitugues():
ids: string[]: executa somente scripts com IDs especificos.tiposDeScript: ('text/pitugues' | 'texto/pitugues' | 'application/pitugues')[]: tipos de script aceitos.saida(texto, info): callback para capturar saida deescreva()ouimprima().autoIniciar: boolean: controla auto-execucao no carregamento.aoIniciarScript(info)/aoFinalizarScript(resultado): hooks de ciclo de vida.
- Atualize a versao em package.json para a release que sera publicada.
- Faca login no npm com
npm login. - Valide o artefato final com
yarn publicar-npm:dry-run. - Publique com
yarn publicar-npm.
O comando de publicacao gera automaticamente um package.json enxuto em dist, copia README.md e LICENSE, e publica apenas o artefato pronto para consumo no navegador.
Use o comando yarn publicar-github-pages.
Para validar localmente o artefato do Pages antes de publicar:
yarn publicar-github-pages:dry-run
npx http-server site -p 8080 -c-1 -o /index.htmlO comando de publicacao envia apenas o conteudo de site para a branch gh-pages.
O comando publicar-github-pages:dry-run nao faz a publicacao; ele apenas reconstrui o artefato local em site.
Veja index.html para um exemplo completo com captura de saida em DOM.