Skip to content

refactor: Centralize configuration resolution funnel#11727

Merged
anthonyshew merged 3 commits intomainfrom
shew/scattered-configs
Feb 8, 2026
Merged

refactor: Centralize configuration resolution funnel#11727
anthonyshew merged 3 commits intomainfrom
shew/scattered-configs

Conversation

@anthonyshew
Copy link
Copy Markdown
Contributor

@anthonyshew anthonyshew commented Feb 8, 2026

Summary

Introduce a single configuration resolution funnel for CLI + shim paths and use a fix for noUpdateNotifier handling from turbo.json as proof-of-concept.

Changes

  • Added crates/turborepo-lib/src/config/funnel.rs as the canonical entrypoint for resolving configuration from CLI args and shim inputs.
  • Switched CommandBase::load_config and shim ConfigProvider to use the shared funnel.
  • Added TurborepoConfigBuilder::with_override_config so one top-priority override layer can be applied cleanly.
  • Fixed mapping of noUpdateNotifier from parsed turbo.json into ConfigurationOptions.
  • Added targeted tests for no_update_notifier and CLI override precedence.

Testing

  • cargo test -p turborepo-config test_no_update_notifier -- --nocapture
  • cargo test -p turborepo-lib config::funnel::tests:: -- --nocapture

Notes

This is intentionally incremental and establishes the centralized funnel surface for subsequent migration work across remaining scattered config/flag/env reads.

@anthonyshew anthonyshew requested a review from a team as a code owner February 8, 2026 20:41
@anthonyshew anthonyshew requested review from tknickman and removed request for a team February 8, 2026 20:41
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Feb 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
examples-vite-web Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
turbo-site Ready Ready Preview, Comment, Open in v0 Feb 8, 2026 11:12pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
turborepo-test-coverage Skipped Skipped Open in v0 Feb 8, 2026 11:12pm

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Feb 8, 2026

Congrats! CodSpeed is installed 🎉

🆕 4 new benchmarks were detected.

You will start to see performance impacts in the reports once the benchmarks are run from your default branch.

Detected benchmarks


Open in CodSpeed

@anthonyshew anthonyshew changed the title refactor: Centralize Configuration Resolution Funnel refactor: Centralize configuration resolution funnel Feb 8, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 8, 2026

Coverage Report

Metric Coverage
Lines 76.00%
Functions 46.82%
Branches 0.00%

View full report

@vercel vercel Bot temporarily deployed to Preview – turborepo-test-coverage February 8, 2026 21:05 Inactive
@vercel vercel Bot temporarily deployed to Preview – turborepo-test-coverage February 8, 2026 23:11 Inactive
@anthonyshew anthonyshew merged commit 4021bb7 into main Feb 8, 2026
102 checks passed
@anthonyshew anthonyshew deleted the shew/scattered-configs branch February 8, 2026 23:27
anthonyshew added a commit that referenced this pull request Feb 9, 2026
## Release v2.8.3-canary.12

### Changes

- fix: Upgrade futures/futures-util to resolve yanked futures-util
0.3.30 (#11735) (`9c2c84ac84`)
- fix: Upgrade oxc_resolver to resolve yanked papaya dependency (#11733)
(`250e8a45b3`)
- fix: Upgrade portable-pty to resolve RUSTSEC-2017-0008 (#11732)
(`136a658917`)
- fix: Upgrade pprof to fix RUSTSEC-2024-0408 (#11730) (`c2937e7aa0`)
- fix: Upgrade git2 to fix RUSTSEC-2026-0008 (#11729) (`6422f1d0ba`)
- fix: Upgrade pest/pest_derive to resolve yanked version (#11734)
(`9be27e67e1`)
- fix: Upgrade test-case to resolve transitive proc-macro-error (#11737)
(`095b81969e`)
- fix: Upgrade rustls chain to resolve RUSTSEC-2025-0134 (#11739)
(`3fa43fd818`)
- refactor: Centralize configuration resolution funnel (#11727)
(`4021bb7758`)
- fix: Upgrade indicatif to 0.18.3 to drop unmaintained number_prefix
(#11716) (`a7d8427ef8`)
- fix: Upgrade test-case and merge to drop unmaintained proc-macro-error
(#11721) (`3b43995a2c`)
- fix: Migrate from unmaintained serde_yaml to serde_yml (#11720)
(`9760bd2341`)
- fix: Upgrade async-io to 2.x to drop unmaintained instant crate
(#11719) (`e588b670f8`)
- fix(docs): Fix code syntax highlighting by using correct Shiki CSS
variable names (#11726) (`e5bbd0982e`)
- release(turborepo): 2.8.3-canary.11 (#11725) (`21b2777399`)
github-actions Bot added a commit that referenced this pull request Feb 9, 2026
## Release v2.8.3-canary.13

Versioned docs: https://v2-8-3-canary-13.turborepo.dev

### Changes

- release(turborepo): 2.8.3-canary.12 (#11740) (`ffe943b6db`)
- fix: Upgrade futures/futures-util to resolve yanked futures-util
0.3.30 (#11735) (`9c2c84ac84`)
- fix: Upgrade oxc_resolver to resolve yanked papaya dependency (#11733)
(`250e8a45b3`)
- fix: Upgrade portable-pty to resolve RUSTSEC-2017-0008 (#11732)
(`136a658917`)
- fix: Upgrade pprof to fix RUSTSEC-2024-0408 (#11730) (`c2937e7aa0`)
- fix: Upgrade git2 to fix RUSTSEC-2026-0008 (#11729) (`6422f1d0ba`)
- fix: Upgrade pest/pest_derive to resolve yanked version (#11734)
(`9be27e67e1`)
- fix: Upgrade test-case to resolve transitive proc-macro-error (#11737)
(`095b81969e`)
- fix: Upgrade rustls chain to resolve RUSTSEC-2025-0134 (#11739)
(`3fa43fd818`)
- refactor: Centralize configuration resolution funnel (#11727)
(`4021bb7758`)
- fix: Upgrade indicatif to 0.18.3 to drop unmaintained number_prefix
(#11716) (`a7d8427ef8`)
- fix: Upgrade test-case and merge to drop unmaintained proc-macro-error
(#11721) (`3b43995a2c`)
- fix: Migrate from unmaintained serde_yaml to serde_yml (#11720)
(`9760bd2341`)
- fix: Upgrade async-io to 2.x to drop unmaintained instant crate
(#11719) (`e588b670f8`)
- fix(docs): Fix code syntax highlighting by using correct Shiki CSS
variable names (#11726) (`e5bbd0982e`)
- release(turborepo): 2.8.3-canary.11 (#11725) (`21b2777399`)
- chore: Upgrade reqwest toward addressing RUSTSEC-2025-0134 (#11718)
(`f7ee5a39ab`)

Co-authored-by: Turbobot <turbobot@vercel.com>
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