diff --git a/lib/storage.js b/lib/storage.js index 5448846f6..5b5aa0c5b 100644 --- a/lib/storage.js +++ b/lib/storage.js @@ -364,7 +364,7 @@ class Storage { this._sync_package_with_uplinks(name, data, options, function(err, result, uplink_errors) { if (err) return callback(err); - const whitelist = ['_rev', 'name', 'versions', 'dist-tags', 'readme']; + const whitelist = ['_rev', 'name', 'versions', 'dist-tags', 'readme', 'time']; for (let i in result) { if (whitelist.indexOf(i) === -1) { delete result[i]; @@ -541,6 +541,11 @@ class Storage { fetched: Date.now(), }; + // added to fix verdaccio#73 + if ('time' in upLinkResponse) { + packageInfo['time'] = upLinkResponse.time; + } + for (let i in upLinkResponse.versions) { if (Object.prototype.hasOwnProperty.call(upLinkResponse.versions, i)) { // this won't be serialized to json, diff --git a/lib/storage/local/local-storage.js b/lib/storage/local/local-storage.js index 0d1be2d82..ff37db17e 100644 --- a/lib/storage/local/local-storage.js +++ b/lib/storage/local/local-storage.js @@ -218,6 +218,11 @@ class LocalStorage { change = true; } + if ('time' in packageInfo) { + packageLocalJson.time = packageInfo.time; + change = true; + } + if (change) { this.logger.debug('updating package info'); this._writePackage(name, packageLocalJson, function(err) {