babel.config.js 파일과 .babelrc 차이점
바벨을 설정할 때, babel.config.js 파일과 .babelrc 파일의 차이점이 궁금해서 찾아보았습니다.
바벨 설정 파일 포맷
바벨은 두 가지 설정 파일 포맷을 가집니다. 두 가지 파일 포맷은 단독으로 쓰일 수도 있고, 함께 쓰일 수도 있습니다.
어떻게 구분해서 사용해야할까?
.babelrc
서브셋 디렉토리 또는 파일에서 특정한 플러그인이나, 변형 할 때 유용합니다. 예를 들어, 프로젝트 내에 서드파티 라이브러리가 바벨에 의해 트랜스폼되기 원하지 않을 수 있습니다.
babel.config.json
여러 패키지 디렉토리를 가진 프로젝트에서 하나의 바벨 설정을 가져갈 때 유용합니다. 보다 보편적으로 사용됩니다.
.js vs .json
바벨 설정 파일을 .js와 .json 두 가지 확장자 중 어떤 것을 사용하는 게 나은지 궁금했습니다.
.js를 사용하면 바벨 구성 api가 노출됩니다. (https://babeljs.io/docs/en/config-files#config-function-api)
이 경우 캐싱과 관련하여 복잡성이 증가하므로, 대부분의 케이스에서 .json를 사용하는게 더 낫다고 합니다.
참고
https://babeljs.io/docs/en/config-files#project-wide-configuration
https://stackoverflow.com/questions/60288375/when-to-use-babel-config-js-and-babelrc