Skip to content
This repository was archived by the owner on Aug 11, 2022. It is now read-only.

Commit 9c1eb94

Browse files
committed
inflate-shrinkwrap: For git changelings use version as resolved
Credit: @iarna PR-URL: #20390 Reviewed-By: @zkat
1 parent 2facb35 commit 9c1eb94

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

lib/install/inflate-shrinkwrap.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const path = require('path')
1616
const isRegistry = require('../utils/is-registry.js')
1717
const hasModernMeta = require('./has-modern-meta.js')
1818
const ssri = require('ssri')
19+
const npa = require('npm-package-arg')
1920

2021
module.exports = function (tree, sw, opts, finishInflating) {
2122
if (!fetchPackageMetadata) {
@@ -108,13 +109,18 @@ function inflatableChild (onDiskChild, name, topPath, tree, sw, requested, opts)
108109
}
109110
}
110111

112+
function isGit (sw) {
113+
const version = npa.resolve(sw.name, sw.version)
114+
return (version && version.type === 'git')
115+
}
116+
111117
function makeFakeChild (name, topPath, tree, sw, requested) {
112118
const from = sw.from || requested.raw
113119
const pkg = {
114120
name: name,
115121
version: sw.version,
116122
_id: name + '@' + sw.version,
117-
_resolved: sw.resolved,
123+
_resolved: sw.resolved || (isGit(sw) && sw.version),
118124
_requested: requested,
119125
_optional: sw.optional,
120126
_development: sw.dev,

0 commit comments

Comments
 (0)