2 module.exports = deprecate
4 var semver = require("semver")
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"))
11 if (semver.validRange(ver) === null) {
12 return cb(new Error("invalid version range: "+ver))
17 this.get(name, function (er, data) {
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
25 // now update the doc on the registry
26 this.request('PUT', data._id, data, cb)