"添加前端模板和运行代码模块"
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# 这个脚本用于发布后验证:
|
||||
# 1) 核验 plugin 的 next dist-tag 是否指向目标版本
|
||||
# 2) 核验 4 个发布包在 registry 上可见
|
||||
#
|
||||
# 用法:
|
||||
# ./scripts/release-verify-next.sh # 默认读取根 package.json 版本
|
||||
# ./scripts/release-verify-next.sh 1.1.0-beta.5 # 手动指定版本
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
TARGET_VERSION="${1:-}"
|
||||
if [[ -z "$TARGET_VERSION" ]]; then
|
||||
TARGET_VERSION="$(node -p "require('./package.json').version")"
|
||||
fi
|
||||
|
||||
echo "[verify-next] target version: $TARGET_VERSION"
|
||||
|
||||
# npm 注册表在刚 publish 后可能短暂不一致;这里做有限次重试,避免 release:next 误报失败。
|
||||
MAX_TRIES="${VERIFY_NEXT_MAX_TRIES:-18}"
|
||||
SLEEP_SECS="${VERIFY_NEXT_SLEEP_SECS:-2}"
|
||||
|
||||
all_checks_ok() {
|
||||
local current_next
|
||||
current_next="$(npm view @xagi/vite-plugin-design-mode dist-tags.next 2>/dev/null || true)"
|
||||
if [[ "$current_next" != "$TARGET_VERSION" ]]; then
|
||||
return 1
|
||||
fi
|
||||
npm view "@xagi/design-mode-shared@$TARGET_VERSION" version >/dev/null 2>&1 || return 1
|
||||
npm view "@xagi/design-mode-client-react@$TARGET_VERSION" version >/dev/null 2>&1 || return 1
|
||||
npm view "@xagi/design-mode-client-vue@$TARGET_VERSION" version >/dev/null 2>&1 || return 1
|
||||
npm view "@xagi/vite-plugin-design-mode@$TARGET_VERSION" version >/dev/null 2>&1 || return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
try=1
|
||||
while [[ "$try" -le "$MAX_TRIES" ]]; do
|
||||
if all_checks_ok; then
|
||||
echo "[verify-next] checking plugin dist-tags..."
|
||||
npm view @xagi/vite-plugin-design-mode dist-tags
|
||||
echo "[verify-next] checking published versions exist..."
|
||||
npm view "@xagi/design-mode-shared@$TARGET_VERSION" version
|
||||
npm view "@xagi/design-mode-client-react@$TARGET_VERSION" version
|
||||
npm view "@xagi/design-mode-client-vue@$TARGET_VERSION" version
|
||||
npm view "@xagi/vite-plugin-design-mode@$TARGET_VERSION" version
|
||||
echo "[verify-next] all checks passed (attempt $try/$MAX_TRIES)."
|
||||
echo "[verify-next] hint for consumers: pnpm add @xagi/vite-plugin-design-mode@next -D"
|
||||
exit 0
|
||||
fi
|
||||
echo "[verify-next] registry not fully consistent yet (attempt $try/$MAX_TRIES), sleeping ${SLEEP_SECS}s..."
|
||||
sleep "$SLEEP_SECS"
|
||||
try=$((try + 1))
|
||||
done
|
||||
|
||||
echo "[verify-next] error: after $MAX_TRIES attempts, dist-tag next or one of the packages is not visible for $TARGET_VERSION"
|
||||
echo "[verify-next] current dist-tags:"
|
||||
npm view @xagi/vite-plugin-design-mode dist-tags 2>/dev/null || true
|
||||
echo "[verify-next] hint: wait and re-run: ./scripts/release-verify-next.sh $TARGET_VERSION"
|
||||
echo "[verify-next] or: npm dist-tag add @xagi/vite-plugin-design-mode@$TARGET_VERSION next"
|
||||
exit 1
|
||||
Reference in New Issue
Block a user