#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" MAX_LINES="${FRONTEND_MAX_LINES:-1800}" failed=0 while IFS= read -r -d '' file; do lines="$(wc -l < "${file}")" if ((lines > MAX_LINES)); then printf '[frontend-size] %s %s 行,超过上限 %s\n' "${file#${ROOT_DIR}/}" "${lines}" "${MAX_LINES}" >&2 failed=1 fi done < <(find "${ROOT_DIR}/frontend/src" -name '*.vue' -not -path '*/features/admin/*' -print0) if ((failed != 0)); then exit 1 fi printf '[frontend-size] 所有用户端 Vue 页面均不超过 %s 行\n' "${MAX_LINES}"