# ESLint, JSON 과 마크다운 린팅 공식 지원

> Clean Markdown view of GeekNews topic #17090. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17090](https://news.hada.io/topic?id=17090)
- GeekNews Markdown: [https://news.hada.io/topic/17090.md](https://news.hada.io/topic/17090.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-10-05T10:32:02+09:00
- Updated: 2024-10-05T10:32:02+09:00
- Original source: [eslint.org](https://eslint.org/blog/2024/10/eslint-json-markdown-support/)
- Points: 11
- Comments: 1

## Summary

ESLint가 JSON과 Markdown에 대한 공식 린팅 지원을 시작하여 다양한 파일 형식에 대한 린팅이 가능해졌습니다. 사용자 정의 규칙을 작성할 수 있는 기능과 Code Explorer를 통해 다양한 언어의 AST를 탐색할 수 있어 개발자들에게 유용한 도구가 될 것입니다. ESLint의 장기 목표는 웹 프로젝트에서 사용되는 모든 파일 형식을 린팅할 수 있도록 지원을 확대하는 것이며, 이번 업데이트는 그 목표를 향한 첫 걸음입니다.

## Topic Body

- ESLint는 지난 7월에 앞으로 ESLint를 더 일반적인 용도의 linter로 전환하여 모든 언어에 대한 린팅 기능을 제공할 계획을 발표함  
- 몇 달 동안 JavaScript 특정 부분을 추출하는 작업을 진행하였고, 이 작업의 결과로 ESLint가 이제 JSON과 Markdown 린팅을 지원하게 됨  
  
### `@eslint/json`을 사용한 JSON 린팅  
- `@eslint/json` 플러그인은 공식적으로 지원되는 언어 플러그인  
- 이 플러그인은 JSON, JSONC(주석이 포함된 JSON), JSON5에 대한 파싱을 제공  
- 플러그인을 사용하려면 npm에서 설치하고 구성 파일을 업데이트해야 함  
- 플러그인에는 몇 가지 내장된 규칙이 있으며, 더 많은 제안을 기다리고 있음  
  
### `@eslint/markdown`을 사용한 Markdown 린팅   
- `@eslint/markdown` 플러그인은 `eslint-plugin-markdown`의 차세대 버전으로, 공식적으로 지원되는 언어 플러그인임  
- 이 플러그인은 CommonMark와 GitHub-Flavored Markdown에 대한 파싱과 규칙을 제공  
- 플러그인을 사용하려면 npm에서 설치하고 구성 파일을 업데이트해야 함  
- JSON 플러그인과 마찬가지로 내장된 규칙이 있으며, 더 많은 제안을 기다리고 있음  
  
### 사용자 정의 규칙 작성 및 Code Explorer 사용  
- `@eslint/json`과 `@eslint/markdown`은 JavaScript와 마찬가지로 소스 코드를 AST로 파싱하고 AST를 순회하여 규칙을 실행  
- 따라서 JavaScript와 마찬가지로 JSON과 Markdown에 대한 사용자 정의 규칙을 작성할 수 있음  
- 주요 차이점은 AST 형식인데, JSON은 Momoa AST를 사용하고 Markdown은 mdast를 사용함  
- 다른 AST 형식을 검사하는 데 도움이 되는 리소스가 많지 않기 때문에 Code Explorer를 출시함  
- Code Explorer를 사용하면 사용자 정의 규칙을 만드는데 도움이 되도록 다양한 언어의 AST를 보고 탐색할 수 있음  
  
### 언어 플러그인 작성하기  
- ESLint 언어는 새로운 `languages` 키를 사용하여 모든 플러그인에 포함될 수 있도록 설계됨   
- `@eslint/json`과 `@eslint/markdown` 플러그인은 JSON과 Markdown 린팅을 제공할 뿐만 아니라 언어를 만드는 방법의 예시로 제공됨  
- 언어 문서를 참조하여 자신만의 언어를 만드는 방법을 알아볼 수 있음  
  
### 결론  
- JavaScript 이외의 언어를 린팅하는 것은 ESLint의 로드맵에 있었던 것이어서 이 이정표에 도달하게 된 것이 매우 흥분됨  
- ESLint의 장기적인 목표는 웹 프로젝트에서 사용할 수 있는 모든 종류의 파일을 공식적으로 지원하는 언어 플러그인이나 커뮤니티에서 작성한 플러그인으로 린팅할 수 있도록 하는 것임  
- JavaScript, JSON, Markdown로 이미 그 목표를 향해 잘 나아가고 있음

## Comments



### Comment 29773

- Author: laeyoung
- Created: 2024-10-07T10:18:00+09:00
- Points: 1

마크다운 좋네요
