Skip to content

Investigate turborepo - #3147

Draft
mfedderly wants to merge 2 commits into
masterfrom
mf/turbo
Draft

Investigate turborepo#3147
mfedderly wants to merge 2 commits into
masterfrom
mf/turbo

Conversation

@mfedderly

@mfedderly mfedderly commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

During the work to remove lerna we regressed the performance of test runs from the root because we lost the caching that lerna was providing. turborepo is an alternate tool that could replace that functionality.

Similar to the lerna implementation, builds with turbo would run tsc in each package individually causing duplicate work. The benefit you get from this extra work is that the caching is handled quite well (assuming there are no issues with the task definitions in turbo.json). Subsequent builds that hit the cache are very very fast (<1s), and the task selection seems quite effective.

The downside of turbo is that without using project references (per the turbo docs), a change in @turf/helpers invalidates nearly the entire repo and so all of these builds must be done again from scratch and are quite expensive.

If someone knows how to use turbo and project references together, or knows how to get similar performance from turbo without project references, I value the time spent typechecking more than the potential time saved running tests across the entire repo.

I'm interested in the following metrics:

  • cold start time to populate packages/*/dist
  • hot cache time to populate packages/*/dist
  • cold start time to run the test suites
  • hot cache time to run the test suites
  • time from change in @turf/helpers to type-checking the world
  • the ability to save CI time by running a limited set of tasks or caching from previous builds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant