Testing
pnpm exec prettier --write <changed paths>
pnpm typecheck
pnpm test
pnpm check runs type-checking, tests and the formatting check together. Run
pnpm build when changing the webpack config, scripts/, apps/ or
packages/node-kit/.
What is covered
Tests cover rule matching, ordering, conditions, templates, cooldown boundaries, storage isolation, queue safety, GEP normalization and registration, game discovery, sources, and real loopback WebSocket/HTTP/custom server protocol exchanges. The local server relays and ingest, and the Twitch sign-in and EventSub flow, are tested against loopback fake servers.
The manifest is validated against the
official Overwolf schema,
vendored as scripts/overwolf-manifest.schema.json.
Limits
Actual in-game delivery requires Overwolf, a supported running game, and a real Streamer.bot instance. Automated tests use controlled loopback protocol fixtures; they do not certify live gameplay, real Twitch accounts or Overwolf Appstore acceptance.
Continuous integration
GitHub Actions runs on Windows with Node 22 and pinned pnpm, checks the
project, builds both development and production distributions, and uploads
production artifacts. It does not deploy to Overwolf or create or sign an
.opk package.
A separate documentation workflow
generates Jekyll HTML, tests the generated links and search index, then
packages it in a static container. Pull requests build without publishing;
main and manual runs publish to GHCR, not GitHub Pages.