This repository was archived by the owner on Oct 24, 2025. It is now read-only.
Problem with relative path on windows and source maps #451
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.
This is related to #441 and #242
Source Maps currently contain invalid paths:
I tracked down the cultprit (as did #441) to be in
resolve_relative_path. But IMO the underlying problem is burried deeper in the code at context.cpp#L288.resolve_relative_pathis called withreal_pathfromresolve_and_load(uri),source_map_file(base) andcwd(cwd) (file.cpp#L85):I also have done some additional tests for when
resolve_relative_pathis called with a base on a different drive (after applying this patch). It will then return a full windows path with forward slashes (which is acceptable IMO).I don't know why #441 wants to actually convert paths on windows to lowercase. I think this would lead to all paths in source maps to be in lowercase. Which would introduce problems if these files would be deployed to linux or any other case sensitive fs.
It also fixes #242 since it should now always produce forward slashes, which do not need to be escaped. Although source_map.cpp#L14 definitely should use some proper escaping.