๐ J Design System์ ์ฌ๋ฌ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํต์ฌ์ ์ธ UI ์ปดํฌ๋ํธ๋ฅผ ๋ด์๋ด๊ณ ์๋ React์์ ์ฌ์ฉํ ์ ์๋ Design System UI Library ์ ๋๋ค. ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ ์ฉํ ์ ์๋ ๋จ์ํ ์ธํฐํ์ด์ค๋ฅผ ์งํฅํ์์ผ๋ฉฐ, ์น ์ ๊ทผ์ฑ์ ์ต๋ํ ์ค์ํ์์ต๋๋ค.
- โก๏ธ Compound Component ๊ตฌ์กฐ์ ์ผ๊ด์ฑ ์๋ ์์ฑ ๊ตฌ์กฐ๋ฅผ ํตํด ๊ฐ๊ฒฐํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์งํ๋๋ก ํ์์ต๋๋ค.
- ๐
as์์ฑ์ ํตํด ์ปดํฌ๋ํธ ๋คํ์ฑ์ ์ง์ํ๋๋ก ๊ตฌํํ์ต๋๋ค. โ ๏ธ ์น ์ ๊ทผ์ฑ์ ๊ณ ๋ คํด ์ ์ ํhtml role์ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ๋ฅผ ๊ตฌ์ฑํ์์ต๋๋ค.- ๐งฉ ๋ค์ํ ์ฌ์ฉ ํ๊ฒฝ์ ๊ณ ๋ คํด
cjs,esm๋ชจ๋์ ์ง์ํ๋๋ก ๋ฒ๋ค๋ง์ ๊ตฌ์ฑํ์์ต๋๋ค. - โจ๏ธ Uncontrolled Component ํน์ฑ์ ํ์ฉํด ์ธํฐ๋์ ์ด ํ์ํ ์ปดํฌ๋ํธ๋ค์ ์ง์ํ์์ต๋๋ค.
- ๐ซ Form ๊ด๋ จ ์ปดํฌ๋ํธ๋ค์ React Hook Form์ ์ง์ํฉ๋๋ค.
- ๐ Storybook Link
- ๐ Yarn Berry: ํจํค์ง ๋งค๋์ ๋ก Yarn Berry๋ฅผ ํ์ฉํ์์ต๋๋ค.
- โก๏ธ Compound Component ํจํด์ ํ์ฉํ์ฌ ์ ์ฐํ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณ๋์์ต๋๋ค.
- ๐ข Monorepo Architecture๋ฅผ ์ฑํํด ์ฝ๋ ๊ณต์ ์ ํ์ ์ ์ฉ์ดํ๊ฒ ๊ตฌ์ฑํ์์ต๋๋ค.
- โจ๏ธ Keyboard Control: ํค๋ณด๋ ์ ์ด ๊ธฐ๋ฅ์ ํฌํจํ์ฌ ์ฌ์ฉ์ ์ํธ์์ฉ๊ณผ ์ ๊ทผ์ฑ์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์์ต๋๋ค.
- โ dependency-cruiser๋ฅผ ์ฌ์ฉํ์ฌ ์์กด์ฑ์ ์ฒดํฌํ์ฌ ํจํค์ง ๊ฐ ์ฐธ์กฐ ๊ด๊ณ๋ฅผ ๊ฒ์ฌํ์์ต๋๋ค.
- ๐ Emotion์ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ ์คํ์ผ๋ง์ ๊ตฌํํ์์ต๋๋ค.
- ๐งช Jest์ React Testing Library๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ๋ฅผ ๊ตฌ์ฑํ์์ต๋๋ค.
- ๐ฆ ๋ชจ๋ ๋ฒ๋ค๋ง์ ์ํด tsup์ ์ฌ์ฉํ์์ต๋๋ค.
- ๐ Changeset๊ณผ ํจ๊ป CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ฌ ์๋ํ๋ ๋น๋ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ์ ๊ตฌ์ฑํ์์ต๋๋ค.
๐
Emotion ํ๊ฒฝ์์ ๋์ํ๊ธฐ ๋๋ฌธ์ emotion dpendency๊ฐ ํ์ํฉ๋๋ค.
React UI Component
npm install --save @jdesignlab/react @emotion/react@^11SVG Icons
npm install --save @jdesignlab/react-icons @emotion/react@^11์๋์ ๊ฐ์ด ํ์ํ UI ์ปดํฌ๋ํธ๋ฅผ importํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฐ ์ปดํฌ๋ํธ์ README๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ์์ธํ ์ธํฐํ์ด์ค์ ์ฌ์ฉ๋ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค. ์๋ ๋งํฌ๋ฅผ ํด๋ฆญํ์๋ฉด ๊ฐ ์ปดํฌ๋ํธ์ README๋ก ์ด๋ํ์ค ์ ์์ต๋๋ค.
import { Text, TextInput, Button, Modal, ... } from '@jdesignlab/react';
import {Mail, Bell, Book, ...} from '@jdesignlab/react-icons'| yondo123 |
yoycode |
|---|---|
Commit Convention
| rule | description |
|---|---|
| โจ Feat | ์๋ก์ด ๊ธฐ๋ฅ์ ์์ฑํฉ๋๋ค. |
| ๐จ Style | ์ฝ๋ ์คํ์ผ ๊ท์น์ ์์ ํฉ๋๋ค. |
| โ Remove | ์ฌ์ฉ๋์ง ์๋ ํ์ผ ๋๋ ์ฝ๋๋ฅผ ์ญ์ ํฉ๋๋ค. |
| ๐๏ธ Structure | ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. |
| ๐ง Modify | ๊ธฐ๋ฅ์ ์ํฅ์ ์ฃผ์ง ์๋ ์ฝ๋๋ฅผ ์์ ํฉ๋๋ค. |
| ๐ Fix | ๊ธฐ๋ฅ์ ๋ฌธ์ ์ฌํญ ๋๋ ์ ๋ฐ์ ์ธ ํ๋ก์ ํธ ๋ด ์ด์๋ฅผ ํด๊ฒฐํฉ๋๋ค. |
| โป๏ธ Refactor | ์ฑ๋ฅ์ด๋ ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํฉ๋๋ค. |
| ๐ Doc | ๋ฌธ์๋ฅผ ์์ฑํ๊ฑฐ๋ ํธ์งํฉ๋๋ค. |
| ๐คก Chore | ์ ํ๋ฆฌ์ผ์ด์ ๋์์ ์ํฅ์ ์ฃผ์ง ์๋ ์ฝ๋๋ค์ ์์ ํฉ๋๋ค. (package version, configure) |
| ๐ Deploy | ํจํค์ง๋ฅผ ๋ฐฐํฌํฉ๋๋ค. |
| ๐งช Test | ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. |
| ๐ Ui | ์คํ์ผ๋ง์ ์ํ ์ฝ๋๋ฅผ ์์ ํ๊ฑฐ๋ ์ถ๊ฐํฉ๋๋ค. |
