mirror of
https://github.com/codeaashu/claude-code.git
synced 2026-04-08 14:18:50 +03:00
50 lines
1.6 KiB
Bash
50 lines
1.6 KiB
Bash
#!/bin/bash
|
|
# ─────────────────────────────────────────────────────────────
|
|
# ci-build.sh — CI/CD build pipeline
|
|
# ─────────────────────────────────────────────────────────────
|
|
# Runs the full build pipeline: install, typecheck, lint, build,
|
|
# and verify the output. Intended for CI environments.
|
|
#
|
|
# Usage:
|
|
# ./scripts/ci-build.sh
|
|
# ─────────────────────────────────────────────────────────────
|
|
set -euo pipefail
|
|
|
|
echo "=== Installing dependencies ==="
|
|
bun install
|
|
|
|
echo "=== Type checking ==="
|
|
bun run typecheck
|
|
|
|
echo "=== Linting ==="
|
|
bun run lint
|
|
|
|
echo "=== Building production bundle ==="
|
|
bun run build:prod
|
|
|
|
echo "=== Verifying build output ==="
|
|
|
|
# Check that the bundle was produced
|
|
if [ ! -f dist/cli.mjs ]; then
|
|
echo "ERROR: dist/cli.mjs not found"
|
|
exit 1
|
|
fi
|
|
|
|
# Print bundle size
|
|
SIZE=$(ls -lh dist/cli.mjs | awk '{print $5}')
|
|
echo " Bundle size: $SIZE"
|
|
|
|
# Verify the bundle runs with Node.js
|
|
if command -v node &>/dev/null; then
|
|
VERSION=$(node dist/cli.mjs --version 2>&1 || true)
|
|
echo " node dist/cli.mjs --version → $VERSION"
|
|
fi
|
|
|
|
# Verify the bundle runs with Bun
|
|
if command -v bun &>/dev/null; then
|
|
VERSION=$(bun dist/cli.mjs --version 2>&1 || true)
|
|
echo " bun dist/cli.mjs --version → $VERSION"
|
|
fi
|
|
|
|
echo "=== Done ==="
|