148b5924

By: Michael Lynch <git@mtlynch.io>

Migrate development tooling from npm to pnpm

Pin pnpm, replace the npm lockfile with pnpm-lock.yaml, and use pnpm's
fixed-output dependency fetcher and config hook for frontend and E2E Nix
targets. Run ESLint only against Git-tracked JavaScript files.

Validation: nix build .#e2e-tests and the tracked-JavaScript ESLint command
pass. build-all-flake-targets remains blocked by pre-existing Prettier drift in
four unmodified template files.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 2s 11s 11s 14s 2s
Eval 11s 1m18s 1m18s 1m30s 0s
Build 45s 25s 27s 1m13s 0s
Suite 2s 1m56s 1m27s 1m30s 2s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s