npm: Upgrade to 1.3.19
[platform/upstream/nodejs.git] / deps / npm / node_modules / npm-registry-client / lib / deprecate.js
1
2 module.exports = deprecate
3
4 var semver = require("semver")
5
6 function deprecate (name, ver, message, cb) {
7   if (!this.conf.get('username')) {
8     return cb(new Error("Must be logged in to deprecate a package"))
9   }
10
11   if (semver.validRange(ver) === null) {
12     return cb(new Error("invalid version range: "+ver))
13   }
14
15   var users = {}
16
17   this.get(name, function (er, data) {
18     if (er) return cb(er)
19     // filter all the versions that match
20     Object.keys(data.versions).filter(function (v) {
21       return semver.satisfies(v, ver)
22     }).forEach(function (v) {
23       data.versions[v].deprecated = message
24     })
25     // now update the doc on the registry
26     this.request('PUT', data._id, data, cb)
27   }.bind(this))
28 }