diff options
Diffstat (limited to 'deps/npm/node_modules/pacote/lib/fetchers/git.js')
-rw-r--r-- | deps/npm/node_modules/pacote/lib/fetchers/git.js | 15 |
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) } } |