mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-16 21:56:25 -05:00
tag_version should return if tag is fresh
This commit is contained in:
parent
92a33acf45
commit
8d1781489b
2 changed files with 58 additions and 1 deletions
|
@ -98,7 +98,7 @@ function can_add_tag(tag, config) {
|
|||
}
|
||||
|
||||
module.exports.tag_version = function(data, version, tag, config) {
|
||||
if (!can_add_tag(tag, config)) return
|
||||
if (!can_add_tag(tag, config)) return false
|
||||
|
||||
switch(typeof(data['dist-tags'][tag])) {
|
||||
case 'string':
|
||||
|
@ -112,7 +112,9 @@ module.exports.tag_version = function(data, version, tag, config) {
|
|||
if (data['dist-tags'][tag].indexOf(version) === -1) {
|
||||
data['dist-tags'][tag].push(version)
|
||||
data['dist-tags'][tag] = module.exports.semver_sort(data['dist-tags'][tag])
|
||||
return data['dist-tags'][tag][data['dist-tags'][tag].length - 1] === version
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// gets version from a package object taking into account semver weirdness
|
||||
|
|
55
test/unit/tag_version.js
Normal file
55
test/unit/tag_version.js
Normal file
|
@ -0,0 +1,55 @@
|
|||
var assert = require('assert')
|
||||
, tag_version = require('../../lib/utils').tag_version
|
||||
|
||||
require('../../lib/logger').setup([])
|
||||
|
||||
describe('tag_version', function() {
|
||||
it('add new one', function() {
|
||||
var x = {
|
||||
versions: {},
|
||||
'dist-tags': {},
|
||||
}
|
||||
assert(tag_version(x, '1.1.1', 'foo', {}))
|
||||
assert.deepEqual(x, {
|
||||
versions: {},
|
||||
'dist-tags': {foo: ['1.1.1']},
|
||||
})
|
||||
})
|
||||
|
||||
it('add (compat)', function() {
|
||||
var x = {
|
||||
versions: {},
|
||||
'dist-tags': {foo: '1.1.0'},
|
||||
}
|
||||
assert(tag_version(x, '1.1.1', 'foo', {}))
|
||||
assert.deepEqual(x, {
|
||||
versions: {},
|
||||
'dist-tags': {foo: ['1.1.0', '1.1.1']},
|
||||
})
|
||||
})
|
||||
|
||||
it('add fresh tag', function() {
|
||||
var x = {
|
||||
versions: {},
|
||||
'dist-tags': {foo: ['1.1.0']},
|
||||
}
|
||||
assert(tag_version(x, '1.1.1', 'foo', {}))
|
||||
assert.deepEqual(x, {
|
||||
versions: {},
|
||||
'dist-tags': {foo: ['1.1.0', '1.1.1']},
|
||||
})
|
||||
})
|
||||
|
||||
it('add stale tag', function() {
|
||||
var x = {
|
||||
versions: {},
|
||||
'dist-tags': {foo: ['1.1.2']},
|
||||
}
|
||||
assert(!tag_version(x, '1.1.1', 'foo', {}))
|
||||
assert.deepEqual(x, {
|
||||
versions: {},
|
||||
'dist-tags': {foo: ['1.1.1', '1.1.2']},
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in a new issue