Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled.
Please consider following this project’s author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install with npm:
1 $ npm install --save normalize-path
1 2 3 4 const normalize = require('normalize-path'); console.log(normalize('\\foo\\bar\\baz\\')); //=> '/foo/bar/baz'
1 2 3 4 5 console.log(normalize('\\\\?\\UNC\\Server01\\user\\docs\\Letter.txt')); //=> '//?/UNC/Server01/user/docs/Letter.txt' console.log(normalize('\\\\.\\CdRomX')); //=> '//./CdRomX'
Condenses multiple consecutive forward slashes (except for leading slashes in win32 namespaces) to a single slash.
1 2 console.log(normalize('.//foo//bar///////baz/')); //=> './foo/bar/baz'
By default trailing slashes are removed. Pass
false as the last argument to disable this behavior and keep trailing slashes:
1 2 console.log(normalize('foo\\bar\\baz\\', false)); //=> 'foo/bar/baz/' console.log(normalize('./foo/bar/baz/', false)); //=> './foo/bar/baz/'
No breaking changes in this release.
- a check was added to ensure that win32 namespaces are handled properly by win32
path.parse()after a path has been normalized by this library.
- a minor optimization was made to simplify how the trailing separator was handled
ContributingPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
Running TestsRunning and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: ```sh $ npm install && npm test ```
Building docs_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ To generate the readme, run the following command: ```sh $ npm install -g verbose/verb#dev verb-generate-readme && verb ```
Other useful path-related libraries:
contains-path: Return true if a file path contains the given path. homepage
is-absolute: Returns true if a file path is absolute. Does not rely on the path module… more homepage
trueif the path appears to be relative.
parse-filepath: Pollyfill for node.js
path.parse, parses a filepath into an object.
trueif a file path ends with the given string/suffix.
unixify: Convert Windows file paths to unix paths. homepage
This file was generated by verb-generate-readme, v0.6.0, on April 19, 2018.