Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
doc: update path.posix and path.win32 doc
  • Loading branch information
DuanPengfei committed Jun 22, 2017
commit c8bbf22262421bfdb1e655a43b67e37443bf8dbf
70 changes: 64 additions & 6 deletions doc/api/path.md
Original file line number Diff line number Diff line change
Expand Up @@ -431,9 +431,38 @@ added: v0.11.15
The `path.posix` property provides access to POSIX specific implementations
of the `path` methods.

The following functions do not support direct use on Windows.
* path.posix.resolve
* path.posix.relative
*Note*: Be careful when using the following functions directly on Windows.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This note should be moved into the bodies of each of the API sections. Sitting above it, it is far more likely that the Note will become disconnected...


### path.posix.resolve([...path])
If after processing all given `path` segments an absolute path has not yet
been generated, `path.posix.resolve` will throw [`UNSUPPORTED_PLATFORM`] error.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps:

*Note*: Care should be taken when using `path.posix.resolve()` on Windows due to ...

Then include a short snippet about why...

Same with the path.posix.relative() below.

Copy link
Copy Markdown
Contributor

@refack refack Jun 26, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion:

*Note*: Care should be taken when using `path.posix.resolve()` on Windows due to the fact that resolve will use `process.cwd()` verbatim, and so the output will be a concatenation of Windows and POSIX style paths.

### path.posix.relative(from, to)
If `from` and `to` are both relative path, `path.posix.relative` will use the
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please include the () when referencing functions... e.g. path.posix.relative()

path `/fakepath/` as the current working path to generate the result.

For example

```
path.posix.relative('a/b/c', '../../x');

// 'from' will be '/fakepath/a/b/c'
// 'to' will be '/fakepath/../../x', then will be normalized to '/x'
// Returns: '../../../../x'
```

If one of `from` and `to` is relative path, `path.posix.relative` will use the
other absolute path as the current working path to generate the result.

For example

```
path.posix.relative('/a/b/c', '../../x');

// 'from' will be '/a/b/c'
// 'to' will be '/a/b/c/../../x', then will be normalized to '/a/x'
// Returns: '../../x'
```

## path.relative(from, to)
<!-- YAML
Expand Down Expand Up @@ -555,9 +584,38 @@ added: v0.11.15
The `path.win32` property provides access to Windows-specific implementations
of the `path` methods.

The following functions do not support direct use on *nix.
* path.win32.resolve
* path.win32.relative
*Note*: Be careful when using the following functions directly on POSIX.

### path.win32.resolve([...path])
If after processing all given `path` segments an absolute path has not yet
been generated, `path.win32.resolve` will throw [`UNSUPPORTED_PLATFORM`] error.

### path.win32.relative(from, to)
If `from` and `to` are both relative path, `path.win32.relative` will use the
path `c:\\fakepath\\` as the current working path to generate the result.

For example

```
path.win32.relative('a\\b\\c', '..\\..\\x');

// 'from' will be 'c:\\fakepath\\a\\b\\c'
// 'to' will be 'c:\\fakepath\\..\\..\\x', then will be normalized to 'c:\\x'
// Returns: '..\\..\\..\\..\\x'
```

If one of `from` and `to` is relative path, `path.win32.relative` will use the
other absolute path as the current working path to generate the result.

For example

```
path.win32.relative('c:\\a\\b\\c', '..\\..\\x');

// 'from' will be 'c:\\a\\b\\c'
// 'to' will be 'c:\\a\\b\\c\\..\\..\\x', then will be normalized to 'c:\\a\\x'
// Returns: '..\\..\\x'
```

[`TypeError`]: errors.html#errors_class_typeerror
[`path.parse()`]: #path_path_parse_path
Expand Down