Pular para o conteúdo

O verificador

Antes de instalar, o RPG Desk confere o plugin. Os erros impedem a instalação; os avisos, não, mas apontam o que não vai funcionar dentro do RPG Desk. Cada problema traz o arquivo e a linha, e Copiar relatório copia a lista inteira, pronta para colar numa conversa com uma IA.

Código Nível O que quer dizer
not-plugin erro o arquivo não é um .html nem um .zip
not-zip erro o .zip está danificado
rpk-unsupported erro o arquivo é um pacote .rpk (SDK3), que o RPG Desk não suporta; refaça a ficha como plugin web
package-unpacked erro o .zip descompactado passa de 64 MB ou de 2000 arquivos
zip-folder aviso o .zip tem uma pasta em volta de tudo; o RPG Desk usou o que está dentro
manifest-missing erro não há manifesto: falta o <script type="application/rpgdesk+json"> no .html, ou o manifest.json na raiz do .zip
manifest-json erro o manifesto não é JSON válido (vírgula sobrando, aspas simples, comentário)
manifest-field erro falta um campo obrigatório, ou ele está vazio, longo demais ou com o tipo errado
manifest-version erro "rpgdesk" não é 1
manifest-id erro o id tem caracteres que não valem
manifest-semver erro a version não é maior.menor.correção (1.0.0)
manifest-sdk erro "sdk" não é 1
manifest-type erro o type tem caracteres que não valem, ou não começa com o id e um ponto
manifest-entry erro a entry não é um arquivo .html
manifest-private erro uma parte privada tem um caminho inválido, ou um nível que não é gm nem owner
manifest-private-table aviso private numa tabela: não vale; use doc.restrict
manifest-empty erro o plugin não declara nenhuma ficha nem tabela
manifest-single erro um .html único com mais de uma ficha ou tabela
manifest-types erro mais de 20 fichas e tabelas
manifest-type-repeated erro o mesmo type duas vezes
manifest-webhooks erro mais de 20 webhooks
manifest-webhook-name erro o nome de um webhook não vale, ou aparece duas vezes
manifest-webhook-example erro o exemplo de um webhook passa de 4 KB
manifest-icon erro o icon não é .png nem .svg
manifest-unknown aviso um campo que o RPG Desk não conhece (e ignora)
Código Nível O que quer dizer
package-size erro o pacote passa de 10 MB
package-files erro o pacote passa de 500 arquivos
path-invalid erro um caminho começa com /, usa \ ou ..
file-type erro um tipo de arquivo que o RPG Desk não aceita (veja Pacotes)
entry-missing erro o HTML de uma entry não está no pacote
entry-case erro a entry não bate com o arquivo nas maiúsculas e minúsculas
icon-missing erro o icon não está no pacote
Código Nível O que quer dizer Como consertar
sdk-missing aviso a página de entrada não carrega o rpgdesk.js ponha a linha do rpgdesk.js no <head>
external-script erro um <script src> de fora do pacote baixe o arquivo e ponha no pacote
js-import-external erro um import de um endereço de fora baixe o módulo e importe por caminho relativo
external-resource aviso uma imagem, folha de estilo ou fonte de fora (não carrega) ponha o arquivo no pacote; fontes com @font-face
ref-missing erro um arquivo citado não está no pacote inclua o arquivo ou corrija o caminho
ref-case erro o caminho não bate com o arquivo nas maiúsculas e minúsculas escreva o nome exato
ref-outside erro um caminho sobe além da raiz do pacote (../../) use caminhos dentro do pacote
link-external aviso um link para um site tiraria a página da ficha use um botão com RPGDesk.ui.openLink(url)
link-page aviso um link para outra página do pacote (a ficha navegaria) use abas (data-tabs)
binding-path erro um data-field, data-text, data-image, data-list ou data-list-add com um caminho inválido (acento, espaço) letras sem acento, números e _
binding-placeholder erro um {caminho} inválido em data-roll ou data-label o caminho de um campo, como {mod_forca}
html-form aviso um <form> (enviar recarregaria a ficha) troque por <div>, ou use event.preventDefault()
html-base aviso um <base> (ignorado no RPG Desk) tire o <base>
html-iframe aviso um <iframe> tire o <iframe>
js-dialog aviso alert, confirm ou prompt (não funcionam) RPGDesk.ui.toast, RPGDesk.ui.confirm, RPGDesk.ui.prompt
js-storage aviso localStorage, sessionStorage, indexedDB ou cookies (bloqueados) o documento (doc.set) e RPGDesk.storage
js-network aviso fetch para a internet, XMLHttpRequest, WebSocket (sem internet) webhooks; fetch de arquivos do pacote funciona
js-window-open aviso window.open (não abre nada) RPGDesk.ui.openLink(url)
js-navigation aviso location = … (a ficha seria fechada) abas, ou RPGDesk.ui.openLink(url)
js-webrtc aviso WebRTC (as fichas não precisam, e manda dados para fora) tire o WebRTC

Os comentários (// e /* */) não contam para as regras do JavaScript.

O código de bibliotecas não recebe avisos: o $.ajax do jQuery cita XMLHttpRequest, por exemplo, sem a ficha usar a rede. Conta como biblioteca um arquivo numa pasta vendor/ e um código que começa com o comentário de licença /*!, num arquivo ou num <script> do HTML. Os erros, como js-import-external, valem para ele também. Veja Bibliotecas.