From 475258fc5ccb809251ecb1c01c610490a478d690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E8=B4=A7=E6=9C=BA=E5=99=A8=E4=BA=BA?= Date: Mon, 6 Jan 2025 16:30:52 +0800 Subject: [PATCH] chore: opt check npm versions --- scripts/check-repo.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/scripts/check-repo.ts b/scripts/check-repo.ts index 74edcd1fb0..5cd9e69389 100644 --- a/scripts/check-repo.ts +++ b/scripts/check-repo.ts @@ -17,9 +17,25 @@ function exitProcess(code = 1) { async function checkVersion() { spinner.start('正在检查当前版本是否已经存在'); - const { versions } = await fetch('http://registry.npmjs.org/antd').then((res: Response) => - res.json(), + + const checkUrls = ['https://registry.npmmirror.com/antd', 'http://registry.npmjs.org/antd']; + const promises = checkUrls.map( + (url) => + new Promise>((resolve) => { + fetch(url) + .then((res: Response) => res.json()) + .then(({ versions }) => { + resolve(versions); + }) + .catch(() => { + // Do nothing. + }); + }), ); + + // Any one of the promises resolved, we can continue. + const versions = Promise.race(promises); + if (version in versions) { spinner.fail(chalk.yellow('😈 Current version already exists. Forget update package.json?')); spinner.info(`${chalk.cyan(' => Current:')}: version`);