You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.9 KiB

"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 _pTimeout() {
const data = _interopRequireDefault(require("p-timeout"));
_pTimeout = function () {
return data;
};
return data;
}
function _packageJson() {
const data = _interopRequireDefault(require("package-json"));
_packageJson = function () {
return data;
};
return data;
}
function _semver() {
const data = _interopRequireDefault(require("semver"));
_semver = function () {
return data;
};
return data;
}
function _internal() {
const data = require("../internal");
_internal = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @deprecated just use the update-check npm package */
function createModuleVersionChecker(name, currentVersion) {
const UpdateCacher = new (_internal().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}-${currentVersion}-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=ModuleVersion.js.map