[
"@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로 처리 되기 때문에 필요가 없다.
}
]
JavaScript
복사
document를 보면서 작성되여져 있는 사항들을 정리한 것입니다.
※ 아직 실제적인 사용을 통해 테스트 해본 사항들이 아닙니다. 하지만 글만 보고 작성한 것이기 때문에 각자에 대한 이해도가 부족한 상황입니다. 추후 개발을 시작하면서 테스트 해보면서 각자에 대한 사용 후기를 추가로 작성할 예정입니다.