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.