fix(ci): @rollup/rollup-darwin-arm64 직접 의존성 제거 (플랫폼 호환)

This commit is contained in:
htlee 2026-03-17 14:48:45 +09:00
부모 6607960df8
커밋 bdf87c1822
9개의 변경된 파일128개의 추가작업 그리고 744개의 파일을 삭제

파일 보기

@ -1,5 +1,8 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"env": {
"CLAUDE_BOT_TOKEN": "ac15488ad66463bd5c4e3be1fa6dd5b2743813c5"
},
"permissions": {
"allow": [
"Bash(npm run *)",

파일 보기

@ -1,7 +1,6 @@
---
name: create-mr
description: 현재 브랜치에서 Gitea MR(Merge Request)을 생성합니다
allowed-tools: "Bash, Read, Grep"
argument-hint: "[target-branch: develop|main] (기본: develop)"
---

파일 보기

@ -1,7 +1,6 @@
---
name: fix-issue
description: Gitea 이슈를 분석하고 수정 브랜치를 생성합니다
allowed-tools: "Bash, Read, Write, Edit, Glob, Grep"
argument-hint: "<issue-number>"
---

파일 보기

@ -2,5 +2,6 @@
"applied_global_version": "1.6.1",
"applied_date": "2026-03-17",
"project_type": "react-ts",
"gitea_url": "https://gitea.gc-si.dev"
"gitea_url": "https://gitea.gc-si.dev",
"custom_pre_commit": true
}

파일 보기

@ -25,8 +25,7 @@ jobs:
env:
VITE_GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
run: |
rm -f package-lock.json
npm install
npm ci
npx vite build
- name: Deploy frontend

파일 보기

@ -5,7 +5,7 @@
#==============================================================================
COMMIT_MSG_FILE="$1"
COMMIT_MSG=$(cat "$COMMIT_MSG_FILE")
COMMIT_MSG=$(head -1 "$COMMIT_MSG_FILE")
# Merge 커밋은 검증 건너뜀
if echo "$COMMIT_MSG" | head -1 | grep -qE "^Merge "; then

파일 보기

@ -1,88 +1,63 @@
#!/bin/bash
#==============================================================================
# pre-commit hook (모노레포: Frontend + Backend)
# Frontend: TypeScript 컴파일 + 린트 검증
# Backend: Maven 컴파일 검증
# 실패 시 커밋 차단
# pre-commit hook (모노레포: frontend/)
# TypeScript 컴파일 + 린트 검증 — 실패 시 커밋 차단
#==============================================================================
FAILED=0
FRONTEND_DIR="frontend"
#------------------------------------------------------------------------------
# Frontend 검증
#------------------------------------------------------------------------------
if [ -d "frontend" ]; then
echo "pre-commit: [Frontend] TypeScript 타입 체크 중..."
if ! command -v npx &>/dev/null; then
echo "경고: npx가 설치되지 않았습니다. Frontend 검증을 건너뜁니다."
elif [ ! -d "frontend/node_modules" ]; then
echo "경고: frontend/node_modules가 없습니다. 'cd frontend && npm install' 실행 후 다시 시도하세요."
FAILED=1
else
(cd frontend && npx tsc --noEmit --pretty 2>&1)
TSC_RESULT=$?
if [ $TSC_RESULT -ne 0 ]; then
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ [Frontend] TypeScript 타입 에러! 커밋이 차단되었습니다.║"
echo "╚══════════════════════════════════════════════════════════╝"
FAILED=1
else
echo "pre-commit: [Frontend] 타입 체크 성공"
fi
# ESLint 검증
if [ -f "frontend/eslint.config.js" ] || [ -f "frontend/eslint.config.mjs" ] || [ -f "frontend/.eslintrc.js" ] || [ -f "frontend/.eslintrc.json" ]; then
echo "pre-commit: [Frontend] ESLint 검증 중..."
(cd frontend && npx eslint src/ --ext .ts,.tsx --quiet 2>&1)
LINT_RESULT=$?
if [ $LINT_RESULT -ne 0 ]; then
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ [Frontend] ESLint 에러! 커밋이 차단되었습니다. ║"
echo "╚══════════════════════════════════════════════════════════╝"
FAILED=1
else
echo "pre-commit: [Frontend] ESLint 통과"
fi
fi
fi
# frontend 디렉토리 없으면 건너뜀
if [ ! -d "$FRONTEND_DIR" ]; then
exit 0
fi
#------------------------------------------------------------------------------
# Backend 검증
#------------------------------------------------------------------------------
if [ -d "backend" ] && [ -f "backend/pom.xml" ]; then
echo "pre-commit: [Backend] Maven 컴파일 검증 중..."
echo "pre-commit: TypeScript 타입 체크 중..."
if ! command -v mvn &>/dev/null; then
echo "경고: mvn이 설치되지 않았습니다. Backend 검증을 건너뜁니다."
else
(cd backend && mvn compile -q 2>&1)
MVN_RESULT=$?
if [ $MVN_RESULT -ne 0 ]; then
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ [Backend] Maven 컴파일 에러! 커밋이 차단되었습니다. ║"
echo "╚══════════════════════════════════════════════════════════╝"
FAILED=1
else
echo "pre-commit: [Backend] 컴파일 성공"
fi
fi
# npm 확인
if ! command -v npx &>/dev/null; then
echo "경고: npx가 설치되지 않았습니다. 검증을 건너뜁니다."
exit 0
fi
#------------------------------------------------------------------------------
# 결과
#------------------------------------------------------------------------------
if [ $FAILED -ne 0 ]; then
echo ""
echo "pre-commit: 검증 실패! 에러를 수정한 후 다시 커밋해주세요."
# node_modules 확인
if [ ! -d "${FRONTEND_DIR}/node_modules" ]; then
echo "경고: ${FRONTEND_DIR}/node_modules가 없습니다. 'cd ${FRONTEND_DIR} && npm install' 실행 후 다시 시도하세요."
exit 1
fi
echo "pre-commit: 모든 검증 통과"
# TypeScript 타입 체크 (frontend 디렉토리에서 실행)
(cd "${FRONTEND_DIR}" && npx tsc --noEmit --pretty 2>&1)
TSC_RESULT=$?
if [ $TSC_RESULT -ne 0 ]; then
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ TypeScript 타입 에러! 커밋이 차단되었습니다. ║"
echo "║ 타입 에러를 수정한 후 다시 커밋해주세요. ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""
exit 1
fi
echo "pre-commit: 타입 체크 성공"
# ESLint 검증 (설정 파일이 있는 경우만)
(cd "${FRONTEND_DIR}" && {
if [ -f "eslint.config.js" ] || [ -f "eslint.config.mjs" ] || [ -f ".eslintrc.js" ] || [ -f ".eslintrc.json" ]; then
echo "pre-commit: ESLint 검증 중..."
npx eslint src/ --ext .ts,.tsx --quiet 2>&1
LINT_RESULT=$?
if [ $LINT_RESULT -ne 0 ]; then
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ ESLint 에러! 커밋이 차단되었습니다. ║"
echo "║ 'npm run lint -- --fix'로 자동 수정을 시도해보세요. ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""
exit 1
fi
echo "pre-commit: ESLint 통과"
fi
})

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다. Load Diff

파일 보기

@ -10,7 +10,6 @@
"preview": "vite preview"
},
"dependencies": {
"@rollup/rollup-darwin-arm64": "^4.59.0",
"@tailwindcss/vite": "^4.2.1",
"@types/leaflet": "^1.9.21",
"date-fns": "^4.1.0",