"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createModuleVersionChecker = createModuleVersionChecker;
function _latestVersion() {
const data = _interopRequireDefault(require("latest-version"));
_latestVersion = function () {
return data;
};
return data;
}
function _packageJson() {
const data = _interopRequireDefault(require("package-json"));
_packageJson = function () {
return data;
};
return data;
}
function _pTimeout() {
const data = _interopRequireDefault(require("p-timeout"));
_pTimeout = function () {
return data;
};
return data;
}
function _semver() {
const data = _interopRequireDefault(require("semver"));
_semver = function () {
return data;
};
return data;
}
function _FsCache() {
const data = require("./FsCache");
_FsCache = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createModuleVersionChecker(name, currentVersion) {
const UpdateCacher = new (_FsCache().Cacher)(async () => {
const pkgJson = await (0, _pTimeout().default)((0, _packageJson().default)(name, {
version: currentVersion
}), 2000);
return {
latestVersion: await (0, _pTimeout().default)((0, _latestVersion().default)(name), 2000),
deprecated: pkgJson.deprecated
};
}, `${name}-updates.json`, 24 * 60 * 60 * 1000 // one day
);
async function checkAsync() {
const {
latestVersion,
deprecated
} = await UpdateCacher.getAsync();
return {
updateIsAvailable: _semver().default.gt(latestVersion, currentVersion),
latest: latestVersion,
current: currentVersion,
deprecated
};
}
return {
checkAsync
};
}
//# sourceMappingURL=../__sourcemaps__/tools/ModuleVersion.js.map