mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-02-03 02:23:38 +08:00
perf: 优化CI脚本,基于corepack锁定pnpm版本
This commit is contained in:
38
scripts/ci
38
scripts/ci
@@ -5,37 +5,13 @@
|
||||
## ./scripts/ci
|
||||
##
|
||||
|
||||
# 期望的 pnpm 大版本号
|
||||
majorVersionRequired=$(grep -o '"pnpm": *"[^"]*"' package.json | awk -F'"' '{print $4}')
|
||||
echo "期望的 pnpm 大版本号:$majorVersionRequired"
|
||||
NPM_REGISTRY="https://mirrors.tencent.com/npm/"
|
||||
|
||||
# 检测 pnpm 是否已安装并且大版本号符合要求
|
||||
checkPNPMVersion() {
|
||||
# 获取已安装的 pnpm 版本
|
||||
local pnpmVersionInstalled=$(pnpm --version 2>/dev/null)
|
||||
if [[ $pnpmVersionInstalled =~ ^$majorVersionRequired ]]; then
|
||||
echo "已安装的 pnpm 版本:$pnpmVersionInstalled"
|
||||
echo "已安装的 pnpm 大版本号符合要求."
|
||||
return 0
|
||||
else
|
||||
echo "未安装 pnpm 或 pnpm 大版本号不符合要求."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
## 获取所有参数
|
||||
echo "运行命令: export COREPACK_NPM_REGISTRY=$NPM_REGISTRY && corepack enable pnpm && pnpm i --registry $NPM_REGISTRY --frozen-lockfile $*"
|
||||
|
||||
# 安装pnpm
|
||||
installRequiredPNPM(){
|
||||
npm i pnpm@$majorVersionRequired -g
|
||||
}
|
||||
# 导出corepack环境变量,安装pnpm版本
|
||||
export COREPACK_NPM_REGISTRY=$NPM_REGISTRY && corepack enable pnpm
|
||||
|
||||
|
||||
## 判断是PNPM安装且版本符合要求
|
||||
if command -v pnpm &> /dev/null && checkPNPMVersion; then
|
||||
echo "无需安装 pnpm@@$majorVersionRequired"
|
||||
else
|
||||
echo "安装 pnpm@$majorVersionRequired..."
|
||||
installRequiredPNPM;
|
||||
fi
|
||||
|
||||
# 安装项目依赖
|
||||
pnpm i --frozen-lockfile --registry https://registry.npmmirror.com
|
||||
# 安装项目依赖 -w -F @142vip/fairy-cli
|
||||
pnpm i --registry $NPM_REGISTRY --frozen-lockfile "$@"
|
||||
|
||||
Reference in New Issue
Block a user