Skip to content

Fix path normalization for patterns such as './/tsconfig.json'#2223

Merged
billti merged 2 commits into
microsoft:masterfrom
billti:FixPathNormalization
Mar 6, 2015
Merged

Fix path normalization for patterns such as './/tsconfig.json'#2223
billti merged 2 commits into
microsoft:masterfrom
billti:FixPathNormalization

Conversation

@billti
Copy link
Copy Markdown
Member

@billti billti commented Mar 6, 2015

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.

@billti
Copy link
Copy Markdown
Member Author

billti commented Mar 6, 2015

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.

@mhegazy
Copy link
Copy Markdown
Contributor

mhegazy commented Mar 6, 2015

👍

billti added a commit that referenced this pull request Mar 6, 2015
Fix path normalization for patterns such as './/tsconfig.json'
@billti billti merged commit 0e48714 into microsoft:master Mar 6, 2015
@microsoft microsoft locked and limited conversation to collaborators Jun 18, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants