diff options
Diffstat (limited to 'lib/cache.js')
-rw-r--r-- | lib/cache.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/cache.js b/lib/cache.js index 13e25adb2..008397eea 100644 --- a/lib/cache.js +++ b/lib/cache.js @@ -45,6 +45,7 @@ function read (name, ver, cb) { var jsonFile = path.join(npm.cache, name, ver, "package.json") function c (er, data) { if (!er) cacheSeen[data._id] = data + deprCheck(data) return cb(er, data) } if (name+"@"+ver in cacheSeen) { @@ -52,6 +53,7 @@ function read (name, ver, cb) { } readJson(jsonFile, function (er, data) { if (er) return addNameVersion(name, ver, c) + deprCheck(data) c(er, data) }) } @@ -100,7 +102,6 @@ function clean (args, cb) { rm(clean, cb) } - // npm cache add <tarball-url> // npm cache add <pkg> <ver> // npm cache add <tarball> @@ -137,6 +138,7 @@ function addRemoteTarball (url, cb) { function addNameVersion (name, ver, cb) { registry.get(name, ver, function (er, data, json) { if (er) return cb(er) + deprCheck(data) var folder = path.join(npm.cache, data.name, data.version) , tgz = path.join(folder, "package.tgz") mkdir(folder, function (er) { @@ -192,6 +194,7 @@ function addPlacedTarball (p, cb) { if (er) return cb(er) readJson(path.join(folder, "package.json"), function (er, data) { if (er) return cb(er) + deprCheck(data) fs.writeFile(json, JSON.stringify(data), function (er) { if (er) return log.er(cb, "Could not write to "+json)(er) cb(null, data) @@ -207,6 +210,7 @@ function addLocalDirectory (p, cb) { "Adding a cache directory to the cache will make the world implode.")) readJson(path.join(p, "package.json"), function (er, data) { if (er) return cb(er) + deprCheck(data) var tgz = path.join(npm.cache, data.name, data.version, "package.tgz") packTar(tgz, p, function (er) { if (er) return cb(er) @@ -284,3 +288,13 @@ function packTar (targetTarball, folder, cb) { }) }) } +var deprecated = {} + , deprWarned = {} +function deprCheck (data) { + if (deprecated[data._id]) data.deprecated = deprecated[data._id] + if (data.deprecated) deprecated[data._id] = data.deprecated + if (!deprWarned[data._id]) { + deprWarned[data._id] = true + log.warn(data._id+": "+data.deprecated, "deprecated") + } +} |