normalize-path
normalize-path
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
Install with npm:
1
$ npm install --save normalize-path
Usage
1
2
3
4
const normalize = require('normalize-path');
console.log(normalize('\\foo\\bar\\baz\\'));
//=> '/foo/bar/baz'
win32 namespaces
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'
Consecutive slashes
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'
Trailing slashes
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/'
Release history
v3.0
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
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).Running Tests
Running 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 ```Related projects
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 -
is-relative: Returns true
if the path appears to be relative.homepage -
parse-filepath: Pollyfill for node.js path.parse
, parses a filepath into an object.homepage -
path-ends-with: Return true
if a file path ends with the given string/suffix.homepage -
unixify: Convert Windows file paths to unix paths. homepage
Contributors
Commits | Contributor |
---|---|
35 | jonschlinkert |
1 | phated |
Author
Jon Schlinkert
License
Copyright © 2018, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on April 19, 2018.