summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/pacote/lib/fetchers/git.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/pacote/lib/fetchers/git.js')
-rw-r--r--deps/npm/node_modules/pacote/lib/fetchers/git.js15
1 files changed, 9 insertions, 6 deletions
diff --git a/deps/npm/node_modules/pacote/lib/fetchers/git.js b/deps/npm/node_modules/pacote/lib/fetchers/git.js
index a5f51cd6c0..11b5695255 100644
--- a/deps/npm/node_modules/pacote/lib/fetchers/git.js
+++ b/deps/npm/node_modules/pacote/lib/fetchers/git.js
@@ -111,19 +111,21 @@ function plainManifest (repo, spec, opts) {
_spec: spec,
_ref: ref,
_rawRef: spec.gitCommittish || spec.gitRange,
- _uniqueResolved: resolved
+ _uniqueResolved: resolved,
+ _integrity: false
}
} else {
// We're SOL and need a full clone :(
//
// If we're confident enough that `rawRef` is a commit SHA,
// then we can at least get `finalize-manifest` to cache its result.
- const resolved = spec.saveSpec.replace(/(?:#.*)?$/, `#${rawRef}`)
+ const resolved = spec.saveSpec.replace(/(?:#.*)?$/, rawRef ? `#${rawRef}` : '')
return {
_repo: repo,
_rawRef: rawRef,
- _resolved: rawRef.match(/^[a-f0-9]{40}$/) && resolved,
- _uniqueResolved: rawRef.match(/^[a-f0-9]{40}$/) && resolved
+ _resolved: rawRef && rawRef.match(/^[a-f0-9]{40}$/) && resolved,
+ _uniqueResolved: rawRef && rawRef.match(/^[a-f0-9]{40}$/) && resolved,
+ _integrity: false
}
}
})
@@ -161,9 +163,10 @@ function withTmp (opts, cb) {
// Only certain whitelisted hosted gits support shadow cloning
const SHALLOW_HOSTS = new Set(['github', 'gist', 'gitlab', 'bitbucket'])
function cloneRepo (spec, repo, resolvedRef, rawRef, tmp, opts) {
+ const ref = resolvedRef ? resolvedRef.ref : rawRef
if (resolvedRef && spec.hosted && SHALLOW_HOSTS.has(spec.hosted.type)) {
- return git.shallow(repo, resolvedRef.ref, tmp, opts)
+ return git.shallow(repo, ref, tmp, opts)
} else {
- return git.clone(repo, rawRef, tmp, opts)
+ return git.clone(repo, ref, tmp, opts)
}
}