npm run lint 를 실행했는데 아래와 같은 에러가 발생하였습니다.
Error [ERR_REQUIRE_ESM]: require() of ES Module
Instead rename .eslintrc.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs"
1/package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).
에러가 발생한 이유는 여러가지입니다. 저의 경우 제 프로젝트의 `package.json`에서 `"type" : "module"` 로 설정해놓았는 데 제가 사용하는 특정 라이브러리에서는 `commonjs`를 사용하기 때문에 발생했습니다. (요즘에는 commonjs와 ESM을 모두 지원하도록 설정되어있는 라이브러리도 많습니다.)
해결방법
1. 해당 라이브러리를 사용하는 파일 확장명을 .cjs로 바꾸기
2. 해당 라이브러리를 `commonjs` 와 `ESM`을 모두 지원하도록 변경
첫 번째 방법을 추천드립니다. 두 번째 방법은 본인이 운영하는 라이브러리가 아니라면 `ESM`도 지원하도록 설정 추가 요구를 한다고 해도 해당 라이브러리를 운영하는 개발자의 상황과 계획에따라 지원을 해줄수도 안 해줄 수도 있습니다.
현재 `commonjs`와 `ESM`에 대한 글을 작성중에 있습니다. 곧 링크를 추가하도록 하겠습니다.