mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-11-14 07:06:17 +00:00
23 lines
621 B
JavaScript
23 lines
621 B
JavaScript
|
'use strict'
|
||
|
var npa = require('npm-package-arg')
|
||
|
const isRegistry = require('../utils/is-registry.js')
|
||
|
|
||
|
module.exports = function (name, sw, where) {
|
||
|
try {
|
||
|
if (sw.version && sw.integrity) {
|
||
|
return npa.resolve(name, sw.version, where)
|
||
|
} else if (sw.from) {
|
||
|
const spec = npa(sw.from, where)
|
||
|
if (isRegistry(spec) && sw.version) {
|
||
|
return npa.resolve(name, sw.version, where)
|
||
|
} else if (!sw.resolved) {
|
||
|
return spec
|
||
|
}
|
||
|
}
|
||
|
if (sw.resolved) {
|
||
|
return npa.resolve(name, sw.resolved, where)
|
||
|
}
|
||
|
} catch (_) { }
|
||
|
return npa.resolve(name, sw.version, where)
|
||
|
}
|