mirror of
https://github.com/status-im/sourcecred.git
synced 2025-02-25 02:35:32 +00:00
Summary: This function normalizes paths like `foo/bar//../baz` to `foo/baz`. The implementation is directly copied from Node’s source code, which is available under an MIT License. I looked for a suitable NPM package, and rejected `path-normalize` and `normalize-path`. (The former is closer and explicitly purports to be the right thing, but actually isn’t.) Test Plan: Unit tests added, with full coverage except for one branch; I include a proof that the branch is unreachable. Tested on Node v8.9.4, Node v10.0.0, and Node v10.8.0. Tests pass in each case. In the latter two cases, inconsistencies between the implementation and the actual `path.posix.normalize` would cause a test failure. In the former case, they do not. (All such cases verified.) wchargin-branch: path-normalize