fix(config-dir): Resolve relative TURBO_CONFIG_DIR_PATH before validation
#11122
+29
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fix(config-dir): resolve relative TURBO_CONFIG_DIR_PATH before validation
Fixes issue #8645
Summary
This PR fixes a bug where setting
TURBO_CONFIG_DIR_PATHto a relative path(e.g.,
"configs") caused Turborepo to fail with:AbsoluteSystemPathBuf::new()only accepts absolute paths, but the value fromthe environment variable was passed directly without being resolved.
This caused a startup failure even though the provided path was valid.
Root Cause
When a user sets: TURBO_CONFIG_DIR_PATH="configs"
Turborepo attempted to validate
"configs"as an absolute path.Since it is relative, the validator rejected it, causing Turborepo to stop early.
What This PR Changes
Detects whether the provided
TURBO_CONFIG_DIR_PATHis relativeIf relative, resolves it against the current working directory:
Converts the resolved path to UTF-8
Passes the resulting absolute path into AbsoluteSystemPathBuf::new()
Leaves absolute paths fully unchanged
Introduces zero breaking changes
Why This Fix Is Safe