Closed sungik-choi closed 2 years ago
Merging #787 (2515056) into next-v1 (de760e5) will not change coverage. The diff coverage is
n/a
.:exclamation: Current head 2515056 differs from pull request most recent head 60324af. Consider uploading reports for the commit 60324af to get more accurate results
@@ Coverage Diff @@
## next-v1 #787 +/- ##
========================================
Coverage 66.51% 66.51%
========================================
Files 191 191
Lines 2804 2804
Branches 772 772
========================================
Hits 1865 1865
Misses 820 820
Partials 119 119
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 238e8ef...60324af. Read the comment docs.
lint, test는 개별 패키지로 가져가면 좋을 것 같습니다. yarn 에서는 workspaces 의 foreach를 지원하는데 터보레포에서도 유사한게 있을 듯 하네요?
lint, test는 개별 패키지로 가져가면 좋을 것 같습니다. yarn 에서는 workspaces 의 foreach를 지원하는데 터보레포에서도 유사한게 있을 듯 하네요?
네 그렇게 해야할 거 같아요. turbo run lint
같은 방식으로 스크립트를 실행하면 workspace를 순회하면서 같은 이름의 스크립트를 모두 실행할 수 있어요.
터보 레포 칭찬해
며칠간 고민해보니 bezier-react 패키지 내부를 다시 패키지로 분리하는 건 득보다 실이 많을 거 같아 이 PR은 Close하려고 합니다. 리뷰해주신 @carlos-channel-io @inhibitor1217 정말 감사드립니다 🙏
간단하게 느낀 점을 정리해보자면 아래와 같습니다.
(PR description of https://github.com/channel-io/bezier-react/pull/781) ~~1. packages/ 하위에 bezier-react 컴포넌트, 훅 등을 추가 : 컴포넌트, 훅 등을 개별 내부 패키지로 분리해서 관심사의 분리/순환 참조 방지/캐싱의 장점을 누릴 수 있을거라 기대하고 있습니다.~~
- 아이콘 컴포넌트 apps/ 하위의 별도의 패키지로 분리 (@channel.io/bezier-icons) : bezier-icons는 순수한 아이콘만 책임지는 라이브러리로 분리하고, as prop을 통해 아이콘을 그리는 Icon 컴포넌트를 bezier-react에서 구현하도록 변경할 예정입니다. (이전에 만들었던 Tree-shakable한 Icon은 deprecated)
이번 시도로 1번은 기각하고, 이어서 2번을 시도해보려고 합니다. https://github.com/Shopify/polaris 레포지토리 같은 구조로 만들어보려고 합니다.
현재 규모의 디자인 시스템에서 mono-repo가 필요할까? 에 대한 고민이 있긴 했습니다. 현재 bezier는 프로젝트의 구조 말고 더 시급하고 중요한 과제들이 있다는 생각이었어요.
잘 정리 안돼서 아쉽긴 하지만, 필요한 경험이긴 했을거에요.
데스크에서 좀더 잘 정리해서 다음 번 시도엔 편하게 오실 수 있게 준비 해보겠습니다..
현재 규모의 디자인 시스템에서 mono-repo가 필요할까? 에 대한 고민이 있긴 했습니다.
현재 bezier는 프로젝트의 구조 말고 더 시급하고 중요한 과제들이 있다는 생각이었어요.
잘 정리 안돼서 아쉽긴 하지만, 필요한 경험이긴 했을거에요.
데스크에서 좀더 잘 정리해서 다음 번 시도엔 편하게 오실 수 있게 준비 해보겠습니다..
감사합니다 😭 여기서 끝내진 않고, next-v1 브랜치 기준으로 아이콘 패키지는 분리해볼예정이에요.
중요한 과제들이 많지만 대부분이 디자이너의 많은 리소스도 함께 필요한 과제들이라고 생각해요. 디자인 리소스가 부족한 상황에서, 엔지니어의 리소스만 가지고 할 수 있는 일이 뭐가 있을지 고민하다가 추후에 생길 패키지들에 대비해서 모노레포 구조를 미리 적용해두면 좋겠다는 생각이었어요.
Summary
foundation
,system
(기존의src/types
만 포함했습니다. 추후styled
를 여기로 옮기려고 합니다)Text
만 분리했습니다.코드 duplicate, package-lock 변경이 대부분이라 변경사항은 많지 않습니다. 많은 의견 주시면 감사하겠습니다 🙏
Details
build
스크립트만 구현했습니다.번들러 변경
번들러로 위 예제에서 사용한 tsup 라이브러리를 적용했습니다. rollup을 공통 설정으로 분리하는 작업을 진행해보았지만 잘 동작하지 않았고, 이전 설정에 대한 히스토리도 자세히 남아있지 않아 새로운 번들러를 적용해보는 방식으로 진행했습니다.
고민되는 점
babel-plugin-styled-components
플러그인을 제외했습니다. 추후 추가해야합니다.Browser Compatibility
OS / Engine 호환성을 반드시 확인해주세요.
Windows
macOS
References