Skip to content

The verifier

Before installing, RPG Desk checks the plugin. Errors block the installation; warnings do not, but they point out what will not work inside RPG Desk. Each problem comes with the file and the line, and Copy report copies the whole list, ready to paste into a conversation with an AI.

Code Level What it means
not-plugin error the file is neither an .html nor a .zip
not-zip error the .zip is damaged
rpk-unsupported error the file is an .rpk package (SDK3), which RPG Desk doesn’t support; rebuild the sheet as a web plugin
package-unpacked error the unpacked .zip is over 64 MB or 2000 files
zip-folder warning the .zip has a folder around everything; RPG Desk used what is inside
manifest-missing error there is no manifest: the <script type="application/rpgdesk+json"> is missing from the .html, or manifest.json from the .zip’s root
manifest-json error the manifest is not valid JSON (an extra comma, single quotes, a comment)
manifest-field error a required field is missing, or it is empty, too long or of the wrong type
manifest-version error "rpgdesk" is not 1
manifest-id error the id has characters that are not allowed
manifest-semver error the version is not major.minor.patch (1.0.0)
manifest-sdk error "sdk" is not 1
manifest-type error the type has characters that are not allowed, or does not start with the id and a period
manifest-entry error the entry is not an .html file
manifest-private error a private part has an invalid path, or a level that is neither gm nor owner
manifest-private-table warning private on a table: it does not apply; use doc.restrict
manifest-empty error the plugin declares no sheet and no table
manifest-single error a single .html with more than one sheet or table
manifest-types error more than 20 sheets and tables
manifest-type-repeated error the same type twice
manifest-webhooks error more than 20 webhooks
manifest-webhook-name error a webhook’s name is not allowed, or appears twice
manifest-webhook-example error a webhook’s example is over 4 KB
manifest-icon error the icon is neither .png nor .svg
manifest-unknown warning a field RPG Desk does not know (and ignores)
Code Level What it means
package-size error the package is over 10 MB
package-files error the package is over 500 files
path-invalid error a path starts with /, uses \ or ..
file-type error a file type RPG Desk does not accept (see Packages)
entry-missing error an entry’s HTML is not in the package
entry-case error the entry does not match the file’s upper and lower case
icon-missing error the icon is not in the package
Code Level What it means How to fix
sdk-missing warning the entry page does not load rpgdesk.js put the rpgdesk.js line in the <head>
external-script error a <script src> from outside the package download the file and put it in the package
js-import-external error an import from an outside address download the module and import it by a relative path
external-resource warning an image, stylesheet or font from outside (it does not load) put the file in the package; fonts with @font-face
ref-missing error a referenced file is not in the package include the file or fix the path
ref-case error the path does not match the file’s upper and lower case write the exact name
ref-outside error a path goes up past the package’s root (../../) use paths inside the package
link-external warning a link to a site would take the page away from the sheet use a button with RPGDesk.ui.openLink(url)
link-page warning a link to another page of the package (the sheet would navigate) use tabs (data-tabs)
binding-path error a data-field, data-text, data-image, data-list or data-list-add with an invalid path (accent, space) unaccented letters, numbers and _
binding-placeholder error an invalid {path} in data-roll or data-label a field’s path, like {str_mod}
html-form warning a <form> (submitting would reload the sheet) switch it to a <div>, or use event.preventDefault()
html-base warning a <base> (ignored in RPG Desk) remove the <base>
html-iframe warning an <iframe> remove the <iframe>
js-dialog warning alert, confirm or prompt (they do not work) RPGDesk.ui.toast, RPGDesk.ui.confirm, RPGDesk.ui.prompt
js-storage warning localStorage, sessionStorage, indexedDB or cookies (blocked) the document (doc.set) and RPGDesk.storage
js-network warning fetch to the internet, XMLHttpRequest, WebSocket (no internet) webhooks; fetch of the package’s own files works
js-window-open warning window.open (it opens nothing) RPGDesk.ui.openLink(url)
js-navigation warning location = … (the sheet would be closed) tabs, or RPGDesk.ui.openLink(url)
js-webrtc warning WebRTC (sheets do not need it, and it sends data out) remove the WebRTC

Comments (// and /* */) do not count for the JavaScript rules.

Library code gets no warnings: jQuery’s $.ajax mentions XMLHttpRequest, for example, without the sheet using the network. A file in a vendor/ folder counts as a library, and so does code that starts with the /*! license comment, in a file or in a <script> of the HTML. Errors, such as js-import-external, still apply to it. See Libraries.