diff --git a/lib/config.js b/lib/config.js index e0e10cba0..9efca141e 100644 --- a/lib/config.js +++ b/lib/config.js @@ -109,8 +109,7 @@ function Config(config) { this.server_id = crypto.pseudoRandomBytes(6).toString('hex') } - // default for sinopia 0.7.x, may be changed in the future - if (this.ignore_latest_tag == null) this.ignore_latest_tag = true + if (this.ignore_latest_tag == null) this.ignore_latest_tag = false return this } diff --git a/lib/config_def.yaml b/lib/config_def.yaml index f74cdbc32..125c9a517 100644 --- a/lib/config_def.yaml +++ b/lib/config_def.yaml @@ -85,5 +85,5 @@ logs: # Workaround for countless npm bugs. Must have for npm <1.14.x, but expect # it to be turned off in future versions. If `true`, latest tag is ignored, # and the highest semver is placed instead. -#ignore_latest_tag: true +#ignore_latest_tag: false diff --git a/lib/storage.js b/lib/storage.js index a1f7596c3..93e0695b2 100644 --- a/lib/storage.js +++ b/lib/storage.js @@ -301,9 +301,9 @@ Storage.prototype.get_package = function(name, options, callback) { if (whitelist.indexOf(i) === -1) delete result[i] } - // ensure that latest tag is always present, - // this can be overridden with dist-tags - result['dist-tags'].latest = utils.semver_sort(Object.keys(result.versions)) + if (self.config.ignore_latest_tag) { + result['dist-tags'].latest = utils.semver_sort(Object.keys(result.versions)) + } for (var i in result['dist-tags']) { if (Array.isArray(result['dist-tags'][i])) { diff --git a/test/functional/tags.js b/test/functional/tags.js index 53d93dbfc..cf2a4e3d9 100644 --- a/test/functional/tags.js +++ b/test/functional/tags.js @@ -31,7 +31,8 @@ module.exports = function() { assert.equal(res.statusCode, 200) assert.equal(typeof(body.versions['1.1']), 'object') assert.equal(body['dist-tags'].something, '0.1.1alpha') - assert.equal(body['dist-tags'].latest, '0.1.3alpha') + // note: 5.4.3 is invalid tag, 0.1.3alpha is highest semver + assert.equal(body['dist-tags'].latest, '5.4.3') assert.equal(body['dist-tags'].bad, null) cb() })