Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,26 @@
# Dependencies
node_modules

# Build outputs
.next
out
build
dist

# Generated files
*.min.js
*.min.css
next-env.d.ts

# Cache
.cache
.turbo

# Coverage
coverage

# Vercel
.vercel

# Documentation
클로드.md
6 changes: 3 additions & 3 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ module.exports = {
es2021: true,
node: true,
},
plugins: ["@typescript-eslint"],
plugins: ["@typescript-eslint", "prettier"],
extends: [
// Next.js 기본 설정
"next",
// Next.js TypeScript 설정 (plugin:@typescript-eslint/recommended 기반)
"next/typescript",
// TypeScript ESLint 권장 규칙
"plugin:@typescript-eslint/recommended",
// Prettier와 충돌하는 규칙 비활성화 (항상 마지막에 위치해야 함)
"prettier",
// Prettier를 ESLint 규칙으로 실행
"plugin:prettier/recommended",
Comment on lines +31 to +32
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check for Prettier configuration files and ESLint setup

echo "=== .eslintrc.js 파일 확인 ==="
if [ -f ".eslintrc.js" ]; then
  echo "✓ .eslintrc.js 파일 존재"
  wc -l .eslintrc.js
else
  echo "✗ .eslintrc.js 파일 없음"
fi

echo -e "\n=== Prettier 설정 파일 검색 ==="
fd -t f '\.prettierrc.*' --max-depth 2
fd -t f 'prettier\.config\..*' --max-depth 2

echo -e "\n=== package.json의 prettier 설정 확인 ==="
if [ -f "package.json" ]; then
  echo "✓ package.json 파일 존재"
  jq '.prettier // "prettier 설정 없음"' package.json 2>/dev/null || echo "✗ jq 처리 실패"
else
  echo "✗ package.json 파일 없음"
fi

echo -e "\n=== eslint 및 prettier 관련 의존성 확인 ==="
if [ -f "package.json" ]; then
  echo "devDependencies 중 eslint/prettier 관련:"
  jq '.devDependencies | with_entries(select(.key | contains("eslint") or contains("prettier")))' package.json 2>/dev/null || echo "✗ jq 처리 실패"
fi

Repository: solid-connection/solid-connect-web

Length of output: 682


🏁 Script executed:

#!/bin/bash
# Read .eslintrc.js to see the extends configuration
cat -n .eslintrc.js | head -50

Repository: solid-connection/solid-connect-web

Length of output: 1568


ESLint의 Prettier 통합 설정은 올바르며, 하나의 추가 구성이 필요합니다.

현재 ESLint 설정이 완벽하게 구성되어 있습니다만, 다음을 확인해주세요:

  1. ESLint 설정은 정상plugin:prettier/recommended가 올바르게 extends 배열의 끝에 위치하여 충돌하는 규칙을 제대로 덮어씁니다.

  2. 필수 패키지도 갖춰짐eslint-plugin-prettier, eslint-config-prettier 및 각종 플러그인이 devDependencies에 모두 설정되어 있습니다.

  3. Prettier 설정 파일이 없음.prettierrc 파일이나 package.json의 prettier 필드가 없어서 Prettier가 기본값으로만 동작합니다. 프로젝트의 포맷팅 규칙을 커스터마이징하려면 다음 중 하나를 추가하세요:

    • .prettierrc 파일 생성 (또는 .prettierrc.json, .prettierrc.yaml 등)
    • package.json에 prettier 필드 추가
🤖 Prompt for AI Agents
In @.eslintrc.js around lines 31 - 32, ESLint is configured to use
"plugin:prettier/recommended" but there is no Prettier config file, so add a
project Prettier configuration to control formatting: create a .prettierrc (or
.prettierrc.json/.prettierrc.yaml) with your desired rules or add a "prettier"
field to package.json; ensure the chosen settings align with the ESLint extends
"plugin:prettier/recommended" so ESLint+Prettier conflict resolution works as
intended.

],
overrides: [
{
Expand Down
23 changes: 9 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ on:
branches: [main, develop]

jobs:
lint:
name: Lint & Type Check
quality-check:
name: Code Quality Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
Expand All @@ -23,20 +23,15 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Run ESLint
run: npm run lint

- name: Check Prettier formatting
run: npm run format:check

- name: TypeScript type check
run: npm run typecheck
- name: Run ESLint (includes Prettier) & TypeScript
run: npm run ci:check

build:
name: Build
name: Build Verification
runs-on: ubuntu-latest
needs: quality-check
steps:
- name: Checkout code
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
Expand All @@ -48,7 +43,7 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Build
- name: Build Next.js application
run: npm run build
env:
NODE_ENV: production
81 changes: 81 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 4 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,10 @@
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"lint:fix": "next lint --fix",
"format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"",
"format:check": "prettier --check \"**/*.{ts,tsx,js,jsx,json,md,yml,yaml}\"",
"lint": "next lint --dir src",
"lint:fix": "next lint --dir src --fix",
"typecheck": "tsc --noEmit",
"lint:all": "npm run lint && npm run format:check && npm run typecheck",
"fix:all": "npm run lint:fix && npm run format",
"ci:check": "npm run lint && npm run typecheck",
"prepare": "husky"
},
"dependencies": {
Expand Down Expand Up @@ -64,6 +61,7 @@
"eslint-config-airbnb": "^19.0.4",
"eslint-config-next": "^14.2.13",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.5.4",
"husky": "^9.1.7",
"postcss": "^8.4.45",
"prettier-plugin-tailwindcss": "^0.6.6",
Expand Down