Widget checklist
CI validates every manifest. Run the same check locally with cd api && node --test.
widget.jsonwithnamematching the folder,label,sizesandfields.data.js, unless the widget runs entirely in the browser.index.html.i18n/en.json, plus one catalog per shipped language.demo.js, optional.
Behaviour
Section titled “Behaviour”- Upstream calls go through
ctx.fetchJSON. - Failures use
ctx.fail, never a returned error. - Empty and failed look different.
- The page calls no other host.
- Spacing next to text uses logical properties.
- Transparent background, system font, palette colours.
- Readable at every size it offers.
A refused manifest is logged at startup and nowhere else. Check docker logs <container>.