Add part3
This commit is contained in:
40
part3/phonebook/node_modules/simple-update-notifier/src/hasNewVersion.ts
generated
vendored
Normal file
40
part3/phonebook/node_modules/simple-update-notifier/src/hasNewVersion.ts
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
import semver from 'semver';
|
||||
import { createConfigDir, getLastUpdate, saveLastUpdate } from './cache';
|
||||
import getDistVersion from './getDistVersion';
|
||||
import { IUpdate } from './types';
|
||||
|
||||
const hasNewVersion = async ({
|
||||
pkg,
|
||||
updateCheckInterval = 1000 * 60 * 60 * 24,
|
||||
distTag = 'latest',
|
||||
alwaysRun,
|
||||
debug,
|
||||
}: IUpdate) => {
|
||||
createConfigDir();
|
||||
const lastUpdateCheck = getLastUpdate(pkg.name);
|
||||
if (
|
||||
alwaysRun ||
|
||||
!lastUpdateCheck ||
|
||||
lastUpdateCheck < new Date().getTime() - updateCheckInterval
|
||||
) {
|
||||
const latestVersion = await getDistVersion(pkg.name, distTag);
|
||||
saveLastUpdate(pkg.name);
|
||||
if (semver.gt(latestVersion, pkg.version)) {
|
||||
return latestVersion;
|
||||
} else if (debug) {
|
||||
console.error(
|
||||
`Latest version (${latestVersion}) not newer than current version (${pkg.version})`
|
||||
);
|
||||
}
|
||||
} else if (debug) {
|
||||
console.error(
|
||||
`Too recent to check for a new update. simpleUpdateNotifier() interval set to ${updateCheckInterval}ms but only ${
|
||||
new Date().getTime() - lastUpdateCheck
|
||||
}ms since last check.`
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
export default hasNewVersion;
|
||||
Reference in New Issue
Block a user