Context
PR #1220 removes Nx in favor of native pnpm -r orchestration for package scripts (build:tsc, build:types, lint, etc.).
That simplification is working, but we intentionally give up Nx task caching. Local benchmarks showed warm package rebuilds are noticeably slower without a cache:
| Step |
Nx (cached) |
pnpm -r |
build:tsc |
~1s |
~9s |
build:types |
~1s |
~3s |
Cold builds are roughly equivalent (~21–23s for build:tsc).
Proposal
Evaluate Turborepo as a lighter alternative to Nx that could restore:
- Task caching for unchanged packages
- Topological task execution (
dependsOn)
- Optional remote cache for CI
…without reintroducing the full Nx toolchain we removed.
Scope to investigate
Acceptance criteria
- Document recommendation: adopt Turborepo, defer, or stay pnpm-only
- If adopted: warm rebuild time should be materially closer to former Nx cache performance without breaking fresh
pnpm install --frozen-lockfile
Related
Context
PR #1220 removes Nx in favor of native
pnpm -rorchestration for package scripts (build:tsc,build:types, lint, etc.).That simplification is working, but we intentionally give up Nx task caching. Local benchmarks showed warm package rebuilds are noticeably slower without a cache:
-rbuild:tscbuild:typesCold builds are roughly equivalent (~21–23s for
build:tsc).Proposal
Evaluate Turborepo as a lighter alternative to Nx that could restore:
dependsOn)…without reintroducing the full Nx toolchain we removed.
Scope to investigate
turbo.jsontask definitions forbuild:tsc,build:types,lint,format,cleanturbo run+ optional remote cache)postinstall/prepacklifecycle approachAcceptance criteria
pnpm install --frozen-lockfileRelated