Fix absolute path handling for config validation in windows #7704
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.
Changes
Fix passing absolute paths to
root
,srcDir
,publicDir
,outDir
,cacheDir
,build.client
, andbuild.server
on Windows. We currently have code like this:astro/packages/astro/src/core/config/schema.ts
Line 251 in b3b9fc5
And they fail on Windows because
val
looks likeC:\\User\\bob
. TheC:
looks like a protocol when passed tonew URL
and that creates an invalid final URL. Switching topath.resolve
fixes this for now.Testing
Tested in #7682 where I passed the absolute
root
path in tests, and it failed. The fa32ff0 commit there fixes it, which I ported it to here tomain
first.Besides that, no actual tests here yet, but CI should continue to pass.
Also thanks
@hippotastic
for testing that this works.Docs
The docs for
srcDir
,publicDir
,outDir
, andcacheDir
mentioned that they accept absolute paths.root
,build.client
, andbuild.server
don't exactly mention it, but it would be nice if they work still for consistency.