Files
2nd/01_Archive/2026-04-20/eslint-config-prettier.md

44 lines
4.2 KiB
Markdown

---
id: P-REINFORCE-AUTO-7BFB20
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - eslint-config-prettier"
---
# [[eslint-config-prettier|eslint-config-prettier]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> `eslint-config-prettier`는 코드 스타일을 포맷팅하는 도구인 Prettier와 코드 품질을 검사하는 정적 분석 도구인 ESLint를 함께 사용할 때 발생하는 규칙 충돌을 해결하기 위해 사용하는 npm 패키지입니다 [1, 2]. 이 설정은 ESLint의 규칙 중 Prettier의 포맷팅과 겹치거나 충돌할 수 있는 스타일 관련 규칙들을 모두 꺼주는(off) 역할을 합니다 [1, 3]. 주로 로컬 IDE 및 CI 파이프라인 환경에서 개발 전용(dev-only) 의존성으로 설치되어 사용됩니다 [4, 5].
## 📖 구조화된 지식 (Synthesized Content)
**주요 역할 및 작동 방식**
* ESLint의 규칙은 크게 코드 스타일 규칙과 코드 퀄리티 규칙으로 나뉩니다 [1]. ESLint를 코드 포맷터인 Prettier와 함께 사용할 경우, 이 '코드 스타일 규칙' 부분에서 두 도구 간의 역할이 겹치고 에러가 충돌하는 문제가 발생할 수 있습니다 [1, 6].
* Prettier 측에서는 이러한 충돌을 해결하기 위해 세 가지 통합 방법을 제시하는데, 그중 여러 단점이 있는 다른 도구들을 제치고 `eslint-config-prettier`를 사용하는 방식을 가장 적극적으로 추천하고 있습니다 [7, 8].
* 이 패키지는 ESLint 내에서 Prettier와 충돌하는 규칙들만 선택적으로 비활성화하여, 문법 오류 검출은 ESLint가 전담하고 코드 스타일 정렬은 Prettier가 전담하도록 역할을 명확히 분리해줍니다 [9, 10].
**설정 및 적용 방법**
* 패키지 매니저(npm, yarn 등)를 통해 `devDependencies``eslint-config-prettier`를 설치합니다 [5, 11].
* ESLint 설정 파일(예: `.eslintrc.js` 또는 `.eslintrc.json`)의 `extends` 속성 배열에 `"prettier"`를 추가하여 적용합니다 [5, 12].
* 가장 주의할 점은, `eslint-config-prettier`가 앞서 정의된 ESLint의 스타일 설정들을 덮어쓰고 무효화할 수 있도록 반드시 `extends` 배열의 가장 마지막에 작성해야 한다는 것입니다 [5, 11, 13].
**공급망 공격 보안 이슈 (CVE-2025-54313)**
* 2025년 7월, 해당 패키지 관리자의 npm 토큰이 가짜 npmjs.com 로그인 페이지를 통해 피싱(phishing) 당하면서 대규모 공급망 공격에 노출되었습니다 [4, 14].
* 공격자는 Windows 시스템을 표적으로 삼는 악성 DLL 페이로드(원격 코드 실행, RCE)를 설치 스크립트(`install.js`)에 포함시킨 4개의 악성 버전(8.10.1, 9.1.1, 10.1.6, 10.1.7)을 소스 코드 수정 없이 npm에 직접 게시했습니다 [4, 15].
* 다행히 공격 대상이 Windows 환경에 한정되어 있었고 대다수의 CI 런너가 Linux를 사용하기 때문에 실제 피해 반경은 제한적이었습니다 [16, 17]. 관리자는 즉시 도난당한 토큰을 해지하고 악성 버전을 사용 중단(deprecated) 처리했으며, 안전한 새 버전(8.10.2+, 9.1.2+, 10.1.8+)을 배포하여 문제를 조치했습니다 [16, 18].
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Programming & Language 분야의 자동 자산화 수행.
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[ESLint|ESLint]], [[Prettier|Prettier]], [[공급망 공격 (Supply Chain Attack)|Supply Chain Attack]]
- **Projects/Contexts:** JavaScript Development Environment, CVE-2025-54313
- **Contradictions/Notes:** 소스들에 따르면 `eslint-plugin-prettier``prettier-eslint`와 같은 대안 패키지도 존재하지만, 이들은 속도가 느려지거나 에디터에서 불필요한 빨간 밑줄을 너무 많이 발생시키는 단점이 있어 공식적으로 `eslint-config-prettier`의 단독 사용이 가장 권장됩니다 [7, 19].
---
*Last updated: 2026-04-19*
- Raw Source: 00_Raw/2026-04-20/eslint-config-prettier.md
---