Fix path normalization for patterns such as './/tsconfig.json'#2223
Merged
Conversation
Member
Author
|
The old code was also incorrectly normalizing a relative path such as "tests/cases/projects/ReferenceResolution//test.js" (when in the ReferenceResolution folder) to "/test.js" on a couple of projects, which the project runner then re-writes if it's not under the project output folder to something like "diskFile0.js". Now the code correctly normalizes the path to "test.js" these files are emitted without the re-written name. Updated the baselines to reflect this. |
Contributor
|
👍 |
billti
added a commit
that referenced
this pull request
Mar 6, 2015
Fix path normalization for patterns such as './/tsconfig.json'
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
I noticed this when trying to compile with the "-p" switch for the local folder, using "./" (i.e. "tsc -p ./"). The code appends "/tsconfig.json" to locate the file, which results in a path of ".//tsconfig.json". The current normalization code splits this on "/" which results in an empty string in the array. As it drops the leading "." (for current folder), when it rejoins ["","tsconfig.json"] with the separator this results in "/tsconfig.json", and it fails to find it at the root of the drive. This fix drops the empty string parts caused by consecutive path separators, which is how most other path normalization code works.