Desenvolvimento local de widgets
Este guia cobre o fluxo para autores usando um projeto Vite (Vue, React ou vanilla).
vite-plugin-doohnut-widget
O pacote de workspace vite-plugin-doohnut-widget melhora o dia a dia:
- Overlay de desenvolvimento — com o servidor em
/, você obtém um host simulado (INIT, FRAME_ENTER, CONFIG_UPDATE, TIME_TICK, STATE_*) e um iframe que carrega seu app em/__widget-app__/para o HMR do Vite funcionar dentro do iframe. - Validação — em
pnpm devevite build, verifica se opackage.jsontem um blocodoohnutválido comwidtheheightem faixas razoáveis. - Empacotamento opcional — com
DOOHNUT_PACK=1oupack: true, após o build gera um.tgzcom o conteúdo dedist/maispackage.jsonna raiz do arquivo (pronto para upload como asset de widget).
Consulte o README do plugin (inglês): vite-plugin-doohnut-widget no GitHub.
Convenções do manifesto package.json
aspectRatioPolicy: Useoptionalquando o widget deve tolerar seções com proporção diferente dedoohnut.width×doohnut.height. Usemandatoryou omita (padrão) para exigir correspondência estrita. No dev, use o painel Viewport do overlay oudoohnut.devOverlay.viewportPresetspara testar geometrias diferentes.
Exemplos
- dx-walkthrough-vue — exemplo mínimo;
aspectRatioPolicy:optionale layout responsivo no canvas de design; veja o tutorial DX. - footer-clock-weather-vue — faixa de referência 1920×200,
aspectRatioPolicy:optional, empilhamento em viewports estreitos;DOOHNUT_PACK=1para empacotar.
Protocolo
Referência completa das mensagens: Protocolo de runtime (resumo) ou versão em inglês para o documento integral.