-
-
Notifications
You must be signed in to change notification settings - Fork 3
Contributing
์ด ํ๋ก์ ํธ์ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๊ธฐ์ฌ๋ ์ธ์ ๋ ํ์์ ๋๋ค! ๐
๋ณธ ํ๋ก์ ํธ๋ GitHub์ ํ ๋ฆฌํ์คํธ(PR) ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ์ฌ๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค.
๋จผ์ ํ๋ก์ ํธ๋ฅผ ํฌํฌํ๊ณ PR์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
- Bun ์ค์นํ๊ธฐ
-
ํ๋ก์ ํธ๋ฅผ ํฌํฌํ๊ณ PR์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํด์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ ์ ๊ณ์ ์ ํฌํฌํ๊ณ , ํด๋ก ํฉ๋๋ค.
- ์ด ๋ ํด๋ก ํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ์คํธ๋ฆผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋๊ธฐํํ๋ ์ค์ ์ ํจ๊ป ์ ์ฉํ๋ฉด ๊ธฐ์ฌ์ ์ฉ์ดํฉ๋๋ค.
- ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค:
cd path/to/daleui # ์์กด์ฑ ์ค์น bun install # Storybook ์คํ (๋์์ธ ์์คํ ๊ธฐ์ฌ ์) bun run sb # or bun run storybook # ๋ง์ผํ ์น์ฌ์ดํธ ์คํ (๋ง์ผํ ์น์ฌ์ดํธ ๊ธฐ์ฌ ์) bun run dev
- Figma: ๋์์ธ, ํ๊ณ
- React: UI renderer
- Panda: Styling engine
- Ark UI: Headless UI components
- Storybook: ์ปดํฌ๋ํธ ์์ฐ, ๋ฌธ์ํ
- Chromatic: UI Preview/Tests/Reviews
- Vite: Bundler
- Vitest: Test Runner, Test Matcher
- TestingLibrary: UI Testing
- HappyDom: Testing DOM
- ESLint: Linter
- Prettier: Formatter
- GitHub Actions: CI/CD
- Bun: JS Runtime
- ํญ์ ์์กด์ฑ์ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด์ Dependabot์ ์ฝ๋ ์ ์ฅ์์ ์ค์ ํด๋์์ต๋๋ค.
- Dependabot์ด ์ฌ๋ฆฐ PR์ ๋ฆ์ง ์๊ฒ ๊ฒํ ๋ฐ ๋ณํฉํ๊ณ ์๋ก์ด ๋ฒ์ ์ด ์ผ์ผํค๋ breaking changes๋ฅผ ๋์ํ๋ ์์ ์ ํ ๊ฐ๋ฐ์ ๋ชจ๋์ ๊ณต๋ ์ฑ ์์ ๋๋ค.
- Dependabot์ด ์ฌ๋ฆฐ PR์ ๋ฐ๋์ PR ์ฝ๋ฉํธ๋ฅผ ํตํด์ Dependabot์๊ฒ ์ํ์๋ ์์ ์ ์์ผ์ฃผ์ธ์. ์ง์ ์์ ํ์๋ฉด Dependabot์ ํด๋น PR์ ๋ ์ด์ ์๋์ผ๋ก ๊ด๋ฆฌํด์ฃผ์ง ์์ต๋๋ค.
main ๋ธ๋์น์ ํ์ง ๊ธฐ์ค์ ๋ฏธ๋ฌํ๋ ์ฝ๋๊ฐ ์ ์ ์ด ๋์ง ์๋๋ก PR์ ์ฌ๋ฆฌ์๋ฉด ์๋์ผ๋ก ํ์ง ๊ฒ์ฌ๊ฐ ์งํ๋๊ณ ์คํจํ ๊ฒฝ์ฐ ๋ณํฉ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ ํ์ง ๊ฒ์ฌ๋ ๊ฐ๋ฐ์๊ฐ ๋ก์ปฌ ํ๊ฒฝ์์ ์ง์ ์งํํ์ค ์๋ ์์ต๋๋ค.
Prettier๋ฅผ ํตํด์ ์ผ๊ด์ ์ธ ์ฝ๋ ํฌ๋ฉงํ ์ ์ ์งํ๊ณ ์์ต๋๋ค. VSCode ์ฌ์ฉ์ ๋ถ๋ค์ Prettier ์ต์คํ ์ ์ ์ฐ์๋ฉด ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ์๋์ผ๋ก ์ฝ๋๋ฅผ ํฌ๋ฉงํ ํ ์ ์์ด์ ํธํ๋ ์ถ์ฒ๋๋ฆฝ๋๋ค.
Prettier options ๋ ๊ธฐ๋ณธ ์ค์ ๊ฐ์ผ๋ก ํด์ฃผ์๊ธธ ๋ฐ๋๋๋ค.
ESLint๋ฅผ ํตํด์ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๊ณ ์์ต๋๋ค. ๋ฆฐํ ๊ท์น์ ์๋ฐํ๊ณ ์๋ ์ฝ๋๊ฐ ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$ bun run lint
TypeScirpt๋ฅผ ํตํด์ ์ ์ ํ์ ๊ฒ์ฌ๋ฅผ ํ๊ณ ์์ต๋๋ค. ํ์ ์ค๋ฅ๊ฐ ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$ bunx tsc
flowchart TD
MAIN[main ๋ธ๋์น]
RELEASE_PR["๋ฒ์ bump &<br/>Release PR ์์ฑ<br/>(GitHub Action)"]
TAG["ํ๊ทธ ์์ฑ &<br/>GitHub Release Draft ์์ฑ<br/>(GitHub Action)"]
PUBLISH["npm publish ์คํ<br/>(GitHub Action)"]
MAIN -->|"GitHub UI์์<br/>Release PR ์คํ<br/>(๊ฐ๋ฐ์)"| RELEASE_PR
RELEASE_PR -->|"Release PR ๋ฆฌ๋ทฐ & ๋จธ์ง<br/>(๊ฐ๋ฐ์)"| TAG
TAG -->|"GitHub Release ๋ฐํ<br/>(๊ฐ๋ฐ์)"| PUBLISH