akjfal

Babel preset-typescript 관련 옵션 본문

Babel

Babel preset-typescript 관련 옵션

akjfal 2022. 4. 16. 21:07
[
  "@babel/preset-typescript",
  // babel/cli와 babel/node 할 땐, --extensions ".ts"가 필요하다
  // ex)babel --extensions .ts,.tsx ./src -d ./dist
  {
    "isTSX": false, // jsx 파싱을 강제로 한다. 안그러면 제네릭이 이상하게 들어간다. allExtensions: true 도 같이 실행해줘야한다. 
    "jsxPragma": "React", // JSX expressions 를 변환해준다. 이러면 type import가 아니므로 제거하지 않게된다.
    "jsxPragmaFrag": "React.Fragment", // JSX fragments ~(Pragma 와 동일)
    "allExtesions": false, // TS, TSX로 파싱되어야 한다. (JSX 모호성 없이)
    "allowNamespaces": true, // @babel/plugin-transform-typescript에 의해서 디폴트 값이 결정되는데, ts의 namespace사용 가능 여부를 결정한다.
    "allowDeclareFields": false, // declare로 선언을 허용한다. 이는 컴파일시 제거된다.
    "disallowAmbiguousJSXLike": false, // .mts, .cts에선 true가 디폴트,  
    "onlyRemoveTypeImports": false, // true로 할 시 type만을 import하는 것을 제거하며 >=3.8에서 사용해야 한다.
    "optimizeConstEnums": false // true로 할 시 enum 변수가 아닌 값으로 처리한다. 하지만 export형시으로 사용된 것은 해당이 object로 처리 되기 때문에 필요가 없다.
  }
]

document를 보면서 작성되여져 있는 사항들을 정리한 것입니다.

※ 아직 실제적인 사용을 통해 테스트 해본 사항들이 아닙니다. 하지만 글만 보고 작성한 것이기 때문에 각자에 대한 이해도가 부족한 상황입니다. 추후 개발을 시작하면서 테스트 해보면서 각자에 대한 사용 후기를 추가로 작성할 예정입니다.

'Babel' 카테고리의 다른 글

@babel/polyfill 공식 문서  (0) 2022.04.17
@babel/cli 공식 문서  (0) 2022.04.16
Babel 2021 로드맵  (0) 2022.04.16
Babel preset-react  (0) 2022.04.14
Babel preset-env 관련 설정  (0) 2022.04.14
Comments