Skip to content

Commit 9efb5c5

Browse files
committed
path: remove repetitive if statements in posix.resolve
1 parent 8882a21 commit 9efb5c5

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

lib/path.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,8 +1163,8 @@ const posix = {
11631163
let resolvedPath = '';
11641164
let resolvedAbsolute = false;
11651165

1166-
for (let i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {
1167-
const path = i >= 0 ? args[i] : posixCwd();
1166+
for (let i = args.length - 1; i >= 0 && !resolvedAbsolute; i--) {
1167+
const path = args[i];
11681168
validateString(path, `paths[${i}]`);
11691169

11701170
// Skip empty entries
@@ -1177,6 +1177,13 @@ const posix = {
11771177
StringPrototypeCharCodeAt(path, 0) === CHAR_FORWARD_SLASH;
11781178
}
11791179

1180+
if (!resolvedAbsolute) {
1181+
const cwd = posixCwd();
1182+
resolvedPath = `${cwd}/${resolvedPath}`;
1183+
resolvedAbsolute =
1184+
StringPrototypeCharCodeAt(cwd, 0) === CHAR_FORWARD_SLASH;
1185+
}
1186+
11801187
// At this point the path should be resolved to a full absolute path, but
11811188
// handle relative paths to be safe (might happen when process.cwd() fails)
11821189

0 commit comments

Comments
 (0)