16 Commits

Author SHA1 Message Date
Ashley Hunter 1b743f8019 test: migrate from jest to vitest with browser testing for brain/helm
Replace Jest with Vitest across the workspace. The brain and helm Angular suites
now run in a real browser (Playwright/Chromium via Vitest browser mode) so they
exercise real layout, focus, pointer events and computed styles that jsdom could
not. The cli, tools, mcp, registry and cli-smoke suites run on Vitest's node
environment.

- Add per-project vite configs and switch test targets to @nx/vitest:test
- Convert jest APIs to vi.* and jest module mocks to vi.mock with importOriginal
- Replace jest-axe with a browser-native axe-core helper and toHaveNoViolations
- Regenerate snapshots in vitest format (content unchanged, format-only)
- Remove all jest packages, configs, the preset and the @nx/jest target default
- Install Playwright Chromium in the CI unit job for the browser suites

Also fixes a brain avatar test that asserted inside a fire-and-forget setTimeout,
which passed vacuously under jsdom and only surfaced once a real browser loaded
the image.
2026-06-13 15:16:45 +01:00
Marc Stammerjohann 8847b506b3 chore: update actions/cache and nrwl/nx-set-shas v4 to v5
* removes ci warning for "Node.js 20 actions are deprecated"
2026-06-03 16:18:52 +02:00
Ashley Hunter c920f4ed58 ci: cache Nx, run only affected, and parallelize to cut CI time (#1383)
* docs: add CLAUDE.md with repo conventions for agents

Documents the local CI checks to run before pushing, Conventional Commit
rules (including the commitlint scope enum), and populating the PR template.

* ci: cache Nx, run only affected, and parallelize to cut CI time

Without relying on Nx Cloud:
- shared composite setup action (pnpm + Node + install + Nx cache restore),
  removing the duplicated install boilerplate across jobs
- persist the Nx computation cache via actions/cache so unchanged projects are
  restored as cache hits instead of rebuilt/retested/relinted
- run nx affected (with nrwl/nx-set-shas) for lint/test/build/e2e instead of
  run-many --all, so PRs only touch the projects they change
- unit no longer needs the build job, so it runs in parallel instead of waiting
  ~13 min for the build
- cancel superseded runs on the same ref via concurrency
- blobless full-history clone on the light jobs (keeps affected working)

* ci: run e2e in parallel instead of gating it on the docs build

The e2e suite runs cypress against storybook (its devServerTarget is
ui-storybook:static-storybook), so it is independent of the docs-app build and
no longer needs to wait ~13 min for it.

* perf: trim the docs-app vite build config

- reportCompressedSize: false (skip per-chunk gzip sizing)
- gate rollup-plugin-visualizer behind ANALYZE (was every build)
- drop the deprecated splitVendorChunkPlugin
- make prerender concurrency configurable (default 1; parallel prerender was a
  net slowdown - the renders are CPU-bound single-thread SSR)

* ci: cache the cypress binary in the e2e job

* ci: exclude trpc-app-e2e from affected e2e (not a CI e2e suite)

* ci: restore cypress cache before install; harden prerender concurrency parse

* chore: drop prerender-concurrency experiment scaffolding and restore splitVendorChunkPlugin

Reverts two leftovers from the (rejected) parallel-prerender and Vite 8
experiments: prerender concurrency goes back to a hardcoded 1, and
splitVendorChunkPlugin is restored since it still works on Vite 6 and removing
it only changed chunking with no speed benefit.
2026-06-03 16:07:34 +02:00
Marc Stammerjohann 49d2d3ad70 chore: update pnpm action-setup for ci 2026-04-14 13:01:06 +02:00
Marc Stammerjohann 2715096e16 chore: bump pnpm (#1245)
* chore: bump pnpm

* chore: update ci action versions, setup pnpm w/ pnpm/action-setup and cache pnpm

* chore: remove pnpm setup for commitlint, install deps for e2e job

* chore: update checkout version for check_date job
2026-03-04 12:55:36 +01:00
Ashley Hunter fa8785183e build: moving to pnpm, eslint and prettier (#483) 2024-11-20 22:19:10 -05:00
Ben Snyder d1cd6fb89f chore: update to Nx 19.6.5 and Analog 1.7.3 (#380)
* chore: update to Nx 19.6.5

* chore: maintenance update for biomejs, bun, and ci runs

* chore: maintenance update for biomejs, bun, and ci runs
2024-09-23 17:19:13 -04:00
Ben Snyder 8f333ee1fe feat(repo): oxlint lightning-fast linter with more code quality, correctness and performance checks (#270)
* fix(repo): require pnpm v9 with engineStrict set

* fix: bump node version to v20 LTS

* fix(repo): apply formatting and importing sorting required for CI to pass

* feat(repo): oxlint lightning-fast linter with more code quality, correctness and performance checks

---------

Co-authored-by: Robin Goetz <35136007+goetzrobin@users.noreply.github.com>
2024-04-24 15:16:51 +02:00
Ben Snyder e0db372285 fix(repo): upgrade and fix continuous integration (#269)
* fix(repo): require pnpm v9 with engineStrict set

* fix: bump node version to v20 LTS

* fix(repo): apply formatting and importing sorting required for CI to pass
2024-04-24 15:11:22 +02:00
robingotz 1757050580 ci: move from prettier to biome 2024-04-23 21:34:56 +02:00
Marc d2b18388aa ci: update checkout and setup-node version (#202)
* fixing "Node.js 16 actions are deprecated." warnings
2024-03-12 14:08:40 -04:00
robingotz 4db2ebc89d chore: move from yarn to pnpm 2024-01-30 18:58:16 +01:00
robingotz 1c14ef3594 build: disable release ci and trigger regular ci on main again 2023-07-25 08:54:11 -04:00
robingotz 0e0a75be71 build: setup semantic release 2023-07-19 16:25:59 -04:00
Robin Goetz c142010ab8 feat: add storybook and e2e tests for it + initial story for switch 2023-06-21 08:58:26 -04:00
Robin Goetz 5582a9b4bd build: setup initial CI and other repository helpers
Taken from the amazing config set up in the Analog repository. This is starting to feel legit...
2023-06-16 13:29:54 -04:00