* Migrate final batch of tests from Jest to Vitest
* Update test-utils imports
* Move test-utils
* Remove the remainder of Jest
* Make tsc & knip happy
Conflicts:
pnpm-lock.yaml
* Fix bad merge conflict
* Iterate
* Remove legacy Module & Customisation API
in favour of the new runtime modules system
* Delint
* Remove unused i18n string
* Fix tests
* Fix test
* Fix tests
* Iterate
* Fix bad merge
* Bump Module API version
* Bump module-api compatibility ranges
* Update docs
* Fix semver ranges
* Update test module API version
* Too many versions
* Too many versions again
* Add multi-digit support for overlay badges and tests
Fix multi-digit notification badge in Windows taskbar overlay
The BadgeOverlayRenderer reused the over-baseImage layout for the
standalone 16x16 overlay, which pushed multi-digit badges off the left
of the canvas (e.g. "10" rendered as just "0"). Keep the pill inside
the canvas bounds in the no-baseImage path and reduce its height for
multi-digit counts so the rounded-rect path actually produces a pill.
Adds a Playwright test that bundles favicon.ts with esbuild, drives
the real BadgeOverlayRenderer in Chromium, and writes the resulting
PNGs to disk plus a scaled-up screenshot snapshot for regression
detection.
Include summary for overlay and favicon
* add esbuild as devDependency
* Update pnpm-lock.yaml
* e2e -> unit test
* Fix regression on vertical alignment of the badge text
* Update pnpm-lock.yaml
* Fix prettier formatting in favicon.ts and image snapshot tests
* Clamp Windows overlay badge at "99+"
Clamp Windows overlay badge at "99+"
The Windows taskbar overlay is only 16x16 px and the platform's own
notification badges clamp at "99+", so do the same here rather than
trying to fit three-digit counts or "1k+" labels into the tiny canvas.
Browser-tab favicons are unaffected and still render larger counts.
* Move badge rendering tests to vitest browser mode
* Rename browser tests to *.test.browser.ts
* Exclude browser tests from jest coverage collection
* Scope browser matcher types to the browser tests
* Tell knip @vitest/browser is used via tsconfig types
---------
Co-authored-by: David Langley <langley.dave@gmail.com>
* Use vitest for some EW unit tests
* Ensure library builds are done before unit tests
* Stabilise jest tests
* Move more tests over
* Make sonar happier
* Update types/node for happy-dom compat again
* Decrease max-workers to stabilise jest tests
* Split jest over 3 runners to alleviate memory woes
* Switch jest to runInBand
* Attempt to deflake jest tests
* tweak coverage
* tweak coverage
* nx test:playwright:screenshots: only do snapshots for Chrome
`nx` eats the `--project` option unless we prefix with `--`.
* Apply suggestion from @richvdh
* do not indirect tsc commands via tsc
Currently, `nx lint:types` is configured to indirect its `tsc` incantations via
pnpm. As far as I can tell, this is unnecessary; worse, it means we seem to hit
a pnpm reentrancy bug which causes pnpm not to run those commands at all if the
top level pnpm has `--if-present`.
* Reinstate indirection via pnpm
... to evade knip.
* Replace copy-res with a webpack plugin
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Specify writeToDisk=true for webpack-dev-server
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
* Use async fs methods
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
---------
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts
And a couple of gitignore tweaks
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>