Skip to content

chore(deps): update turbo to v2 and migrate turbo.json to tasks - #1526

Merged
Anber merged 1 commit into
callstack:masterfrom
Anber:chore/update-turbo-2
Oct 24, 2026
Merged

Anber merged 1 commit into
callstack:masterfrom
Anber:chore/update-turbo-2

Conversation

@Anber

@Anber Anber commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

turbo goes from 1.10.13 to 2.11.9, and turbo.json renames pipeline to tasks, the key turbo 2 reads. One commit, three files; task definitions, scripts, workflows and published output stay as they are.

 package.json
-  "turbo": "^1.10.13",
+  "turbo": "^2.11.9",
 turbo.json
-  "pipeline": {
+  "tasks": {
 pnpm-lock.yaml
-  turbo 1.10.13 and six turbo-<platform> packages
+  turbo 2.11.9 and six @turbo/<platform> packages

2.11.9 was published on 2026-10-16. 2.11.10 followed on 2026-10-20 and is not taken, so the lockfile pins 2.11.9 while the range admits 2.11.10. No renamed option is in use, the $schema URL redirects to a schema that has tasks, and the eleven task definitions are deep-equal to master. The lockfile was regenerated with pnpm 9.15.9 and changes only the turbo entries.

Evidence

Dry runs of build, typecheck, test, test:dts, lint, build:declarations and check:all on master (turbo 1.10.13) and here (2.11.9) give the same tasks, inputs, outputs, dependsOn and cache settings: off for test, test:dts and the four package #test overrides, on for typecheck, build and build:declarations. The differences are in reporting: direct dependencies are listed transitively reduced (the closure of every task is equal), log file names write $colon$, and envMode defaults to strict. No env or passThroughEnv entry was needed.

Run one after another, build, typecheck, test:dts, test, lint, sp:check and check:all exit 0 (Jest passes in interop 7, core 4, react 22, postcss-linaria 100 and testkit 150, with 2 skipped). The 117 files under dist, esm, lib and types hash the same as on master.

turbo 2 adds warnings, with exit 0: no output files found for esbuild-example#build, rollup-example#build and @linaria/stylelint-config-standard-linaria#build:declarations.

pnpm install --frozen-lockfile --strict-peer-dependencies --ignore-scripts
pnpm exec turbo run <task> --dry=json   # the seven tasks above
pnpm exec turbo run build --force
pnpm typecheck && pnpm test:dts && pnpm test && pnpm lint && pnpm sp:check
pnpm exec turbo run check:all --output-logs=new-only

Left out

  • Task definitions, outputs globs (also for the three warnings), scripts and workflows.
  • turbo 2 features such as remote caching.
  • pnpm test:coverage: its real run fails on master the same way (the extra -- reaches Jest as a pattern); its dry run exits 0.
  • A changeset: the published output does not change.

Not verified

  • CI: the Windows job of check.yml, with the new @turbo/windows-64 package, did not run.
  • scripts/typecheck-postcss-8-5.sh as a whole; only its turbo call ran.
  • A rebase onto other lockfile changes: the lockfile would be regenerated, and a fresh resolution of ^2.11.9 now picks 2.11.10.

Turbo 2 reads its task graph from "tasks" instead of "pipeline". The
eleven task definitions move over unchanged: the same dependsOn, outputs
and cache settings, and no option that turbo 2 renamed is in use.

The lockfile is regenerated with pnpm 9.15.9 and changes only the turbo
entries: turbo 2 ships its binaries as @turbo/<platform> packages.
@changeset-bot

changeset-bot Bot commented Oct 24, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 84b6e91

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Anber
Anber merged commit f05fde3 into callstack:master Oct 24, 2026
4 checks passed
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