更新功能实现
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
import color from "picocolors";
|
||||
import { createRequire } from "module";
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
@ -6,17 +5,17 @@ const pkg = require("../package.json");
|
||||
|
||||
export async function checkUpdate() {
|
||||
try {
|
||||
const res = await fetch(`https://registry.npmmirror.com/${pkg.name}/latest`, {
|
||||
const res = await fetch(`https://registry.npmjs.org/${pkg.name}/latest`, {
|
||||
signal: AbortSignal.timeout(3000)
|
||||
});
|
||||
if (!res.ok) return;
|
||||
if (!res.ok) return null;
|
||||
const data = await res.json();
|
||||
const latest = data.version;
|
||||
if (latest && latest !== pkg.version && isNewer(latest, pkg.version)) {
|
||||
console.log(color.yellow(`\n📦 发现新版本: ${color.red(pkg.version)} → ${color.green(latest)}`));
|
||||
console.log(color.cyan(` 运行 ${color.bold("yinx upgrade")} 进行更新\n`));
|
||||
return { current: pkg.version, latest };
|
||||
}
|
||||
} catch {}
|
||||
return null;
|
||||
}
|
||||
|
||||
function isNewer(latest, current) {
|
||||
|
||||
Reference in New Issue
Block a user