sfcode: normalize-path <a href="https://www.npmjs.com/package/normalize-path"><img src="https://img.shields.io/npm/v/normalize-path.svg?style=flat" alt="NPM version"/></a> <a href="https://npmjs.org/package/normalize-path"><img src="https://img.shields.io/npm/dm/normalize-path.svg?style=flat" alt="NPM monthly downloads"/></a> <a href="https://npmjs.org/package/normalize-path"><img src="https://img.shields.io/npm/dt/normalize-path.svg?style=flat" alt="NPM total downloads"/></a> <a href="https://travis-ci.org/jonschlinkert/normalize-path"><img src="https://img.shields.io/travis/jonschlinkert/normalize-path.svg?style=flat&label=Travis" alt="Linux Build Status"/></a>

sfcode An Online Competing and Development Environment

normalize-path

Contributing

> 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:

$ npm install --save normalize-path

# Usage

const normalize = require('normalize-path');
console.log(normalize('\\foo\\bar\\baz\\'));
//=> '/foo/bar/baz'

win32 namespaces

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.

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:

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

<details>

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

</details>

<details>

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:

$ npm install && npm test

</details>

<details>

Building docs

_(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)_

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

</details>

## 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

- LinkedIn Profile
- GitHub Profile
- Twitter Profile

## License

Copyright © 2018, Jon Schlinkert. Released under the [MIT License](LICENSE).

This file was generated by verb-generate-readme, v0.6.0, on April 19, 2018.