Convert Path
Convert between POSIX and Windows paths.
Usage
var convertPath = require( '@stdlib/utils/convert-path' );
convertPath( from, to )
Converts between POSIX and Windows paths.
var p = convertPath( 'C:\\foo\\bar', 'posix' );
// returns '/c/foo/bar'
The following output path conventions are supported:
- win32: Windows path convention; e.g., 
C:\\foo\\bar. - mixed: mixed path convention (Windows volume convention and POSIX path separator); e.g., 
C:/foo/bar. - posix: POSIX path convention; e.g., 
/c/foo/bar. 
Notes
- A Windows extended-length path cannot be converted to either a 
mixedorposixpath convention, as forward slashes cannot be used as path separators. - If a POSIX path begins with 
/[A-Za-z]/(e.g.,/c/), the path is assumed to begin with a volume name. - The function makes no attempt to verify that a provided path is valid.
 
Examples
var convertPath = require( '@stdlib/utils/convert-path' );
var p1;
var p2;
p1 = '/c/foo/bar/beep.c';
p2 = convertPath( p1, 'win32' );
// returns 'c:\foo\bar\beep.c'
p1 = '/c/foo/bar/beep.c';
p2 = convertPath( p1, 'mixed' );
// returns 'c:/foo/bar/beep.c'
p1 = '/c/foo/bar/beep.c';
p2 = convertPath( p1, 'posix' );
// returns '/c/foo/bar/beep.c'
p1 = 'C:\\\\foo\\bar\\beep.c';
p2 = convertPath( p1, 'win32' );
// returns 'C:\\foo\bar\beep.c'
p1 = 'C:\\\\foo\\bar\\beep.c';
p2 = convertPath( p1, 'mixed' );
// returns 'C:/foo/bar/beep.c'
p1 = 'C:\\\\foo\\bar\\beep.c';
p2 = convertPath( p1, 'posix' );
// returns '/c/foo/bar/beep.c'
CLI
Usage
Usage: convert-path [options] [<path>] --out=<output>
Options:
  -h,    --help                Print this message.
  -V,    --version             Print the package version.
  -o,    --out output          Output path convention.
         --split sep           Delimiter for stdin data. Default: '/\\r?\\n/'.
Notes
If the split separator is a regular expression, ensure that the
splitoption is either properly escaped or enclosed in quotes.# Not escaped... $ echo -n $'c:/foo/bar\n./docs/eslint' | convert-path --out=posix --split /\r?\n/ # Escaped... $ echo -n $'c:/foo/bar\n./docs/eslint' | convert-path --out=posix --split /\\r?\\n/The implementation ignores trailing delimiters.
Examples
$ convert-path /c/foo/bar --out=mixed
c:/foo/bar
To use as a standard stream,
$ echo -n '/c/foo/bar' | convert-path --out=win32
c:\foo\bar
By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split option.
$ echo -n 'c:/foo/bar\t./docs/eslint' | convert-path  --out=win32 --split '\t'
c:\foo\bar
.\docs\eslint