╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

Frontend/Typescript 2

[Typescript] node 환경에서 빌드하기 tsconfig.node.json

이전 프로젝트에서 겪었던 특이사항을 기록하려고 한다. 노드환경에서는 빌드가 안되네?  이전 진행했던 프로젝트에서 Git Action을 통해 CI/CD를 수행했다. Git Action의 workflow를 통해 프로젝트를 빌드를 했는데 도중 에러가 발생했다. workflow 실행 중 스크립트에 적었던 `npm run build`에서 에러가 발생했다. 그래서 해당 에러 로그를 시작으로 빌드를 성공할 때까지 리서치하며 tsconfig.node.json의 속성을 하나 하나 바꿨다. 에러가 꼬리에 꼬리를 무는 형식으로 나와서 이에 관련해서 백지인 상태에서도 잘 따라갈 수 있었다. 최종 tsconfig.node.json은 아래와 같다.{ "compilerOptions": { "tsBuildInfoFile": ..

Frontend/Typescript 2025.03.09

[Typescript] map() 관련 번들 사이즈 줄이기

타입스크립트로 리액트 프로젝트를 하던 중,와 리스트를 간단히 map 돌려서 컴포넌트로 반환하는 로직 여러 군대에서 발견되어혹시 번들링할 때 map 그대로 들어가나? 생각을 했다. 아래와 같은 구조를 통해 중복되는 부분을 추상화 했다. 일단 타입 정의 먼저,export interface ItemProps { id: number | string;}export type IteratingItemProps = { items: T[]; component: ElementType;};export type IteratingLayoutProps = IteratingItemProps & { container: ElementType;};export type ItemsIteratorProps = IteratingLayo..

Frontend/Typescript 2024.07.07