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.
Scaffolds real nx (monorepo + standalone) and angular-cli workspaces from the
locally published CLI, runs the generators, runs healthcheck, consumes a
generated component, and builds - covering library/entrypoint x
buildable/non-buildable plus an all-components cell. Runs each cell on its own
runner via a dedicated workflow with a required result check, and stays cheap on
unrelated PRs via a git-diff gate and an in-runner affected check. Adds a
`pnpm smoke` convenience script.
Add a scheduled workflow that runs the update-contributors generator daily and
commits newly detected contributors, mirroring the nightly release setup. Also
add the five contributors the generator surfaced that were missing from the
README and the home page list.
* 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.
* chore: lint and cleanup of touched files
* build: add executor to replace version for ui libs
this executor finds all package.json in the libs/ui directory
and replaces the current version
of @spartan-ng with the one defined in UI_VERSION
* build: update cli files to reflect new versions and add scripts to make publishing easier
* chore: fix linting errors
* build: update semantic release config
* build: use same VERSION env var for ui and cli
* fix: remove confusing comment
* fix: add regex only updating spartan specific versions
and a unit test to make sure we don't accidentally mess with other packages
* fix: remove .DS_Store files and filter helm packages to not add them to package.json
* chore: remove unused script
* chore: add generator that auto-increments current version of released assets
* chore: add scripts for nightly release
* chore: add nightly release workflow
* fix: add missing dash
* chore: try on push for testing
* build: auto fix version number in tools
* ci: set up automatic release and committing of changed files
* ci: give release step write permissions
* ci: check out branch correctly so we can commit it back
* ci: try to push to right place
* chore: reorder package.json
* fix: use newVersion to allow for auto increment script to work
* chore: update branch name
* fix: rename release scripts and interface and add missing generators
* chore: release cli & ui 0.0.1-alpha.379
* chore: fix name for trigger
* chore: try to push to origin nightly-release
* chore: nightly release 2024-12-10 ⚡
* chore: update tools version number
* chore: nightly release 2024-12-10 ⚡
* chore: update github flow to work on main and a schedule
* fix: add back lost test and start commands to package.json
* fix: fix tests and commit message to follow guidelines
* feat: adjust version replacement for new single brain package
* fix: use correct alpha version 381
* fix: add back storybook command to package.json
* fix: typo in @spartan-ng/brain version for pagination helm
* fix: remove tests that don't do anything and add formatting of files
---------
Co-authored-by: Leonidas <leonidas@spartan.ng>
* 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>
* 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