summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-package-arg/npa.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/npm-package-arg/npa.js')
-rw-r--r--deps/npm/node_modules/npm-package-arg/npa.js15
1 files changed, 11 insertions, 4 deletions
diff --git a/deps/npm/node_modules/npm-package-arg/npa.js b/deps/npm/node_modules/npm-package-arg/npa.js
index a61c057429..dc885b1ff1 100644
--- a/deps/npm/node_modules/npm-package-arg/npa.js
+++ b/deps/npm/node_modules/npm-package-arg/npa.js
@@ -18,6 +18,15 @@ const isFilename = /[.](?:tgz|tar.gz|tar)$/i
function npa (arg, where) {
let name
let spec
+ if (typeof arg === 'object') {
+ if (arg instanceof Result && (!where || where === arg.where)) {
+ return arg
+ } else if (arg.name && arg.rawSpec) {
+ return npa.resolve(arg.name, arg.rawSpec, where || arg.where)
+ } else {
+ return npa(arg.raw, where || arg.where)
+ }
+ }
const nameEndsAt = arg[0] === '@' ? arg.slice(1).indexOf('@') + 1 : arg.indexOf('@')
const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg
if (isURL.test(arg)) {
@@ -131,10 +140,8 @@ function setGitCommittish (res, committish) {
if (committish != null && committish.length >= 7 && committish.slice(0, 7) === 'semver:') {
res.gitRange = decodeURIComponent(committish.slice(7))
res.gitCommittish = null
- } else if (committish == null || committish === '') {
- res.gitCommittish = 'master'
} else {
- res.gitCommittish = committish
+ res.gitCommittish = committish === '' ? null : committish
}
return res
}
@@ -204,7 +211,7 @@ function matchGitScp (spec) {
const matched = spec.match(/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/i)
return matched && !matched[1].match(/:[0-9]+\/?.*$/i) && {
fetchSpec: matched[1],
- gitCommittish: matched[2] || 'master'
+ gitCommittish: matched[2] == null ? null : matched[2]
}
}