feat(branch-reports)!: feat(branch-reports): migrate docs/pages to .pages and update CI for Git\n\n- Remove and replace CI workflow for deploying GitHub Pages: deleted .github/workflows/deploy-gh-pages.yml; added .github/workflows/release-pages.yml to deploy to GitHub Pages and Vercel.\n- Reorganize docs assets: move docs/pages to .pages, renaming index.html, knip.html, and Vite config to .pages, and updating README accordingly.\n- Update Knip configuration to include new .pages path and adjust excludes.\n- Update build tooling and scripts to target the new .pages folder: add pages:dev and pages:build scripts, and adjust scripts/build-pages.sh to output to .pages.\n- Update package.json and TS/Vitest configs: include .pages in tsconfig; adjust vitest coverage settings to output under .vitest; add required reporters.\n- Remove legacy docs/pages ignores and tsconfig pointing at docs/pages; replace with .pages equivalents.\n- Note breaking changes: All generated docs/pages outputs are now under .pages. Existing paths, and GitHub Actions workflows expecting docs/pages are replaced by new .pages structure and the release-pages workflow.\n- New Knip HTML wrapper is now placed at .pages/knip.html.

This commit is contained in:
snomiao
2025-10-14 10:31:38 +00:00
parent e4de597460
commit 46d2fd594e
14 changed files with 270 additions and 241 deletions

View File

@@ -3,34 +3,34 @@ set -Eeuo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
DIST="./docs/pages"
# Build or reuse Storybook
echo "[build-pages] Setting up Storybook"
rm -rf "$DIST/storybook"
rm -rf "./.pages/storybook"
if [ -d "./storybook-static" ] && [ "$(find ./storybook-static -name '*.html' | wc -l)" -gt 0 ]; then
echo "✅ Reusing downloaded Storybook build"
cp -r "./storybook-static" "$DIST/storybook"
elsew
cp -r "./storybook-static" "./.pages/storybook"
else
echo "🔨 Building Storybook from source"
pnpm build-storybook && cp -r "storybook-static" "$DIST/storybook"
pnpm build-storybook && cp -r "storybook-static" "./.pages/storybook"
fi
echo "[build-pages] Generating Nx dependency graph"
rm -rf "$DIST/nx-graph" && mkdir -p "$DIST/nx-graph"
pnpm nx graph --file="$DIST/nx-graph/index.html"
rm -rf "./.pages/nx-graph" && mkdir -p "./.pages/nx-graph"
pnpm nx graph --file="./.pages/nx-graph/index.html"
# Generate or reuse Vitest test reports
echo "[build-pages] Setting up Vitest test reports"
rm -rf "$DIST/vitest-ui" && mkdir -p "$DIST/vitest-ui"
rm -rf "./.pages/vitest-reports" && mkdir -p "./.pages/vitest-reports"
if [ -d "./.gh-pages-cache/vitest-reports" ]; then
echo "✅ Reusing downloaded Vitest reports"
cp -r "./.gh-pages-cache/vitest-reports/"* "$DIST/vitest-ui/" 2>/dev/null || echo "⚠️ No vitest reports to copy"
cp -r "./.gh-pages-cache/vitest-reports/"* "./.pages/vitest-reports/" 2>/dev/null || echo "⚠️ No vitest reports to copy"
else
echo "🔨 Generating Vitest reports from source"
pnpm exec vitest \
--reporter=json --outputFile.json="$DIST/vitest-ui/results.json" \
--reporter=html --outputFile.html="$DIST/vitest-ui/index.html" \
--reporter=json --outputFile.json="./.pages/vitest-reports/results.json" \
--reporter=html --outputFile.html="./.pages/vitest-reports/index.html" \
--run
fi
@@ -38,26 +38,26 @@ fi
echo "[build-pages] Setting up Playwright test reports"
if [ -d "./.gh-pages-cache/playwright-reports" ]; then
echo "✅ Reusing downloaded Playwright reports"
mkdir -p "$DIST/playwright-reports"
cp -r "./.gh-pages-cache/playwright-reports/"* "$DIST/playwright-reports/" 2>/dev/null || echo "⚠️ No playwright reports to copy"
mkdir -p "./.pages/playwright-reports"
cp -r "./.gh-pages-cache/playwright-reports/"* "./.pages/playwright-reports/" 2>/dev/null || echo "⚠️ No playwright reports to copy"
fi
echo "[build-pages] Generating coverage report"
mkdir -p "$DIST/coverage"
if pnpm exec vitest --run --coverage --coverage.reporter=html --coverage.reportsDirectory="$DIST/coverage"; then
mkdir -p "./.pages/coverage"
if pnpm exec vitest --run --coverage --coverage.reporter=html --coverage.reportsDirectory="./.pages/coverage"; then
echo "✅ Coverage report completed"
else
echo "⚠️ Coverage report failed, continuing..."
fi
echo "[build-pages] Generating Knip report"
mkdir -p "$DIST/knip"
rm -f "$DIST/knip/report.md"
if pnpm knip --reporter markdown --no-progress --no-exit-code > "$DIST/knip/report.md" 2>/dev/null && [ -s "$DIST/knip/report.md" ]; then
echo "✅ Knip report generated at $DIST/knip/report.md"
mkdir -p "./.pages/knip"
rm -f "./.pages/knip/report.md"
if pnpm knip --reporter markdown --no-progress --no-exit-code > "./.pages/knip/report.md" 2>/dev/null && [ -s "./.pages/knip/report.md" ]; then
echo "✅ Knip report generated at ./.pages/knip/report.md"
else
echo "⚠️ Knip report failed, creating placeholder..."
cat > "$DIST/knip/report.md" <<'EOF'
cat > "./.pages/knip/report.md" <<'EOF'
# Knip report
> ⚠️ Knip report unavailable.
@@ -66,16 +66,16 @@ else
EOF
fi
if cp "${ROOT_DIR}/docs/pages/knip/index.html" "$DIST/knip/index.html" 2>/dev/null; then
if cp "${ROOT_DIR}/docs/pages/knip/index.html" "./.pages/knip/index.html" 2>/dev/null; then
echo "✅ Knip HTML wrapper completed"
else
echo "⚠️ Knip HTML wrapper missing, continuing..."
fi
echo "[build-pages] Landing page already exists at $DIST/index.html"
echo "[build-pages] Landing page already exists at ./.pages/index.html"
echo "[build-pages] Build artifacts ready in $DIST"
echo "[build-pages] Build artifacts ready in ./.pages"
echo "[build-pages] Note: For local dev, you can develop the docs/pages/index.html using:
pnpm exec vite ${DIST}
pnpm exec vite ./.pages
"