Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2011-12-15 20:04:15 +0400
committerisaacs <i@izs.me>2011-12-15 20:04:15 +0400
commit0a5b548260f6aade177092c967bf490d65ffd47f (patch)
tree9349af3972a347a4150f6ebbb426dfe6a9818634
parenta7552f6d1f623ea9df3e03f554a6bbc2c99ef3b0 (diff)
Get absolute paths properly for windows
-rw-r--r--lib/utils/relativize.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/utils/relativize.js b/lib/utils/relativize.js
index 74c45c5d3..70f203206 100644
--- a/lib/utils/relativize.js
+++ b/lib/utils/relativize.js
@@ -30,7 +30,18 @@ var split = process.platform === "win32" ? /[\/\\]/ : "/"
function isAbsolute (p) {
if (process.platform !== "win32") return p.charAt(0) === "/"
- return path.resolve(p) === p
+
+
+ // yanked from node/lib/path.js
+ var splitDeviceRe =
+ /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?([\\\/])?([\s\S]*?)$/
+
+ var result = p.match(splitDeviceRe)
+ , device = result[1] || ""
+ , isUnc = device && device.charAt(1) !== ":"
+ , isAbs = !!result[2] || isUnc // UNC always absolute
+
+ return isAbs
}
if (module === require.main) {