Skip to content

Commit

Permalink
path: remove repetitive if statements in posix.resolve
Browse files Browse the repository at this point in the history
  • Loading branch information
HBSPS committed Sep 7, 2024
1 parent 8882a21 commit 9efb5c5
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions lib/path.js
Original file line number Diff line number Diff line change
Expand Up @@ -1163,8 +1163,8 @@ const posix = {
let resolvedPath = '';
let resolvedAbsolute = false;

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

// Skip empty entries
Expand All @@ -1177,6 +1177,13 @@ const posix = {
StringPrototypeCharCodeAt(path, 0) === CHAR_FORWARD_SLASH;
}

if (!resolvedAbsolute) {
const cwd = posixCwd();
resolvedPath = `${cwd}/${resolvedPath}`;
resolvedAbsolute =
StringPrototypeCharCodeAt(cwd, 0) === CHAR_FORWARD_SLASH;
}

// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)

Expand Down

0 comments on commit 9efb5c5

Please sign in to comment.