Overview
Phase 2 of the migration spike from #147. Replace Nx task orchestration, ESLint, and Prettier with Vite+ tooling.
Phase 1 (Analog.js app build + content) is complete.
Changes required
- Add
package.json to each of the 7 libs (auth, counter, home, login, shared, todo, weather-forecast) so Vite Task can derive ordering from workspace dependencies
- Run
vp migrate --no-interactive from workspace root — rewrites Vitest imports to vite-plus/test, merges configs
- Replace
nx.json + project.json lint/test targets with run.tasks in vite.config.ts
- Replace custom .NET Nx executors (
tools/builders/dotnet-builder) with vp run task definitions calling dotnet CLI directly
- Replace
nxViteTsPaths() with vite-tsconfig-paths plugin (same behaviour, no Nx dependency)
- Swap
@nx/enforce-module-boundaries ESLint rule for a convention-only approach (TS path aliases already enforce boundaries)
- Replace CI's
nx affected with --filter + a git diff-based shell script
Toolchain delta
| Removed |
Replaced by |
All @nx/* packages |
vite-plus |
| ESLint + Prettier |
Oxlint + Oxfmt (Rust-based, ~50–100× faster) |
nx.json + 9× project.json |
single vite.config.ts |
Acceptance criteria
References
Overview
Phase 2 of the migration spike from #147. Replace Nx task orchestration, ESLint, and Prettier with Vite+ tooling.
Phase 1 (Analog.js app build + content) is complete.
Changes required
package.jsonto each of the 7 libs (auth,counter,home,login,shared,todo,weather-forecast) so Vite Task can derive ordering from workspace dependenciesvp migrate --no-interactivefrom workspace root — rewrites Vitest imports tovite-plus/test, merges configsnx.json+project.jsonlint/test targets withrun.tasksinvite.config.tstools/builders/dotnet-builder) withvp runtask definitions callingdotnetCLI directlynxViteTsPaths()withvite-tsconfig-pathsplugin (same behaviour, no Nx dependency)@nx/enforce-module-boundariesESLint rule for a convention-only approach (TS path aliases already enforce boundaries)nx affectedwith--filter+ agit diff-based shell scriptToolchain delta
@nx/*packagesvite-plusnx.json+ 9×project.jsonvite.config.tsAcceptance criteria
@nx/*packages removed frompackage.jsonvp dev,vp build,vp testall pass for all projectsvp run--filterinstead ofnx affectedReferences