-
-
Notifications
You must be signed in to change notification settings - Fork 3
Conventions
μ½λ 리뷰λ₯Ό νλ©΄μ νμ κ°μ ν©μν κ°λ° κ΄μ΅μ λ¬Έμνν©λλ€. νμ μ΅μ μ μνλ₯Ό μ μ§νκΈ° μν΄μ νμ λͺ¨λ λ Έλ ₯ν΄μ£Όμ ¨μΌλ©΄ μ’κ² μ΅λλ€.
- Bun μ€μΉνκΈ°
- 리ν¬μ§ν 리 κ΄λ¦¬μμκ² μ΄λλ₯Ό μμ²νκ³ κΆνμ νλν μ΄ν, 리ν¬μ§ν 리λ₯Ό ν΄λ‘ ν©λλ€.
- ν°λ―Έλμμ μλ λͺ λ Ήμ΄λ₯Ό μ€νν©λλ€:
cd path/to/clone-repo
# μμ‘΄μ± μ€μΉ
bun install
# Storybook μ€ν (λμμΈ μμ€ν
κΈ°μ¬ μ)
bun run sb # or bun run storybook
# λ§μΌν
μΉμ¬μ΄νΈ μ€ν (λ§μΌν
μΉμ¬μ΄νΈ κΈ°μ¬ μ)
bun run dev-
νλ‘μ νΈ λ³΄λμμ
To Doμνμ ν°μΌμ μ ννκ³ λ³ΈμΈμκ² ν λΉν©λλ€. -
νλ‘μ νΈ μ€μ
- λ¨Όμ νλ‘μ νΈ μ€μ κ°μ΄λλ₯Ό μλ£ν©λλ€.
-
λΈλμΉ μμ±
-
mainλΈλμΉμμ μλ‘μ΄ feature λΈλμΉλ₯Ό μμ±ν©λλ€. - λΈλμΉ μ΄λ¦μλ
-,_μΈμ νΉμλ¬Έμ μ¬μ©μ μ νλ©λλ€.
μ°Έκ³ μ΄μ
-
-
κΈ°λ₯ ꡬν λ° μ»€λ°
- λΈλμΉ λ΄μμ μμ€ μ½λλ₯Ό μμ νκ³ μ»€λ°ν©λλ€.
- λ³κ²½μ΄ λͺ¨λ μλ£λλ©΄ ν¬ν¬λ°μ 리ν¬μ§ν 리μ λΈλμΉλ₯Ό νΈμν©λλ€.
-
ν μ€νΈ μμ±
- κΈ°μ¬ν μ½λκ° μ μμ μΌλ‘ λμνλμ§ νμΈν μ μλ ν μ€νΈ μ½λλ₯Ό μμ±ν©λλ€.
-
PR μμ±
-
Pull Requests νμ΄μ§μμ μλ‘μ΄ PRμ μμ±ν©λλ€.
-
PRμ΄ λ±λ‘λ μ΄μμ μ°κ΄λμ΄ μλ€λ©΄, PR μμ± ν μ€λ₯Έμͺ½ μ¬μ΄λλ°μ
Developmentνλͺ©μμ ν΄λΉ μ΄μλ₯Ό μ νν΄ μ°κ²°ν΄μ£ΌμΈμ.
-
-
PR 리뷰 λ° λ³ν©
- μ΅μ ν λͺ μ΄μμ κ΄λ¦¬μκ° PRμ κ²ν νκ³ μ½λ©νΈλ₯Ό λ¨κΉλλ€.
- λ³κ²½ μμ²μ΄ μμ κ²½μ°, μμ μ λ°μν ν λ€μ νΈμνκ³ λ¦¬λ·°λ₯Ό μμ²ν©λλ€.
-
μ΅μ 1κ°μ μΉμΈμ λ°μ ν
mainλΈλμΉμ λ³ν©λ©λλ€. - μ΄ν 릴리μ¦λ₯Ό ν΅ν΄ κΈ°μ¬ν λ΄μ©μ΄ λ°°ν¬λ©λλ€.
main λΈλμΉμ νμ§ κΈ°μ€μ λ―Έλ¬νλ μ½λκ° μ μ μ΄ λμ§ μλλ‘ PRμ μ¬λ¦¬μλ©΄ μλμΌλ‘ νμ§ κ²μ¬κ° μ§νλκ³ μ€ν¨ν κ²½μ° λ³ν©μ΄ λΆκ°λ₯ν©λλ€. κ° νμ§ κ²μ¬λ κ°λ°μκ° λ‘컬 νκ²½μμ μ§μ μ§ννμ€ μλ μμ΅λλ€.
Prettierλ₯Ό ν΅ν΄μ μΌκ΄μ μΈ μ½λ ν¬λ©§ν μ μ μ§νκ³ μμ΅λλ€. VSCode μ¬μ©μ λΆλ€μ Prettier μ΅μ€ν μ μ μ°μλ©΄ μ½λλ₯Ό μμ±νλ©΄μ μλμΌλ‘ μ½λλ₯Ό ν¬λ©§ν ν μ μμ΄μ νΈνλ μΆμ²λ립λλ€.
Prettier options λ κΈ°λ³Έ μ€μ κ°μΌλ‘ ν΄μ£ΌμκΈΈ λ°λλλ€.
ESLintλ₯Ό ν΅ν΄μ μ μ¬μ μΈ λ¬Έμ λ₯Ό λ°κ²¬νκ³ λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄κ³ μμ΅λλ€. λ¦°ν κ·μΉμ μλ°νκ³ μλ μ½λκ° μλμ§ νμΈνλ €λ©΄ λ€μ λͺ λ Ήμ΄λ₯Ό μ€νν©λλ€.
$ bun run lintTypeScirptλ₯Ό ν΅ν΄μ μ μ νμ κ²μ¬λ₯Ό νκ³ μμ΅λλ€. νμ μ€λ₯κ° μλμ§ νμΈνλ €λ©΄ λ€μ λͺ λ Ήμ΄λ₯Ό μ€νν©λλ€.
$ bunx tsc-
src/componentsμλμ ν΄λλ₯Ό λ§λ€κ³ , κ·Έ μμ μ»΄ν¬λνΈ νμΌ, μ€ν 리 νμΌ, ν μ€νΈ νμΌμ μμΉμν΅λλ€. - ν΄λ μ΄λ¦, νμΌ μ΄λ¦, μ»΄ν¬λνΈ μ΄λ¦μ λͺ¨λ PascalCaseλ‘ letter caseλ₯Ό ν΅μΌν©λλ€.
- λ³μ μ΄λ¦, ν¨μ μ΄λ¦, prop μ΄λ¦μ λͺ¨λ camelCaseλ‘ letter caseλ₯Ό ν΅μΌν©λλ€.
-
index.tsxνμΌμ ν΅ν΄μ re-exportνμ§ μμ΅λλ€.
βββ src
β βββ components
β β βββ Checkbox
β β β βββ Checkbox.stories.tsx
β β β βββ Checkbox.test.tsx
β β β βββ Checkbox.tsx
- μ»΄ν¬λνΈ μ€κ³μ ꡬνμ ꡬλΆν΄μ Pull Requestλ₯Ό μ μΆν©λλ€. λ°λμ§ν μ»΄ν¬λνΈ APIμ λν μ¬μ ν©μλ₯Ό μ§νν¨μΌλ‘μ¨ μλ±ν ꡬνμ λ°©μ§νκΈ° μν¨μ λλ€.
- PR λ³ν©μ νκΈ° μν΄μλ μ΅μ 1λͺ μ λλ£ κ°λ°μλ‘λΆν° μΉμΈμ λ°μμΌ νμ§λ§, νμ§ ν₯μμ μν΄μ κΈ΄κΈ κ±΄μ΄ μλλΌλ©΄ 2κ°μ μΉμΈμ λ°λ κ²μ΄ κΆμ₯λ©λλ€.
- [Proposed] "Resolve conversation" λ²νΌμ μ½λ κ²ν μκ° νΌλλ°±μ΄ λ³ΈμΈμ΄ μλν λλ‘ μ‘°μΉλμλμ§ νμΈνλ μ°¨μμμ λλ¦ λλ€. μ½λ μμ±μκ° μμλ‘ Resolved νμν μ λΆνμν μ€ν΄κ° μκΈΈ μ μμ΅λλ€.
- ν¨μ μ»΄ν¬λνΈ μμ±ν λλ
functionν€μλλ‘ μ μΈν΄μ£ΌμΈμ. - μ΄λ²€νΈ νΈλ€λ¬λ₯Ό μμ±ν λλ νμ΄ν ν¨μλ₯Ό μ μΈ νμ λ³μμ ν λΉν΄μ£ΌμΈμ.
- μ€ν 리 μ λͺ©μ΄ μ»΄ν¬λνΈ κ²½λ‘λ₯Ό ν΅ν΄μ μλμΌλ‘ μ μΆλ μ μλλ‘
titleμμ±μ κ°μ μλ΅ν΄μ£ΌμΈμ. λ¬Έμμ΄λ‘ μ§μ λͺ μνλ©΄ νμ μμ νμ§ μκ³ , μ»΄ν¬λνΈ μ΄λ¦μ λ°κΏ λ μ±ν¬κ° κΉ¨μ§κΈ° μ½μ΅λλ€. - μ¬λ¬ μ€ν 리μ κ±Έμ³μ νμν argsλ μ€ν 리 μμ€μμ μ€λ³΅νμ§ λ§μκ³ μ»΄ν¬λνΈ μμ€μμ μ§μ ν΄μ£ΌμΈμ.
- ν μ€νΈ νμΌμ λ³λμ λλ ν 리μ μ€μν νμ§ μκ³ μ ν리μΌμ΄μ νμΌ λ°λ‘ μμ λ‘λλ€.
- λ¨μν ν
μ€νΈ ꡬ쑰λ₯Ό μν΄μ ν
μ€νΈ λμ λͺ¨λμ κ΅¬μ‘°κ° λ³΅μ‘νμ§ μλ€λ©΄
describe()-it()λμ μtest()λ₯Ό μλλ€. - μ΄λ²€νΈλ₯Ό λ°μμν¬ λλ
fireEventλμ μ@testing-library/user-eventν¨ν€μ§λ₯Ό μ¬μ©ν΄ μ£ΌμΈμ. λΈλΌμ°μ μ μ₯μ΄ μλ μ¬μ©μ μ μ₯μμ ν μ€νΈλ₯Ό μμ±νκΈ° μν¨μ λλ€. - ν μ€νΈ μ λͺ©μ νκ΅μ΄ μ¬μ©μκ° μ½κ² λͺ μΈλ₯Ό νμ νκΈ° μ½λλ‘ νκΈλ‘ μμ±ν΄μ£ΌμΈμ.
- νμ μμ‘΄μ±μ μ΅μ μνλ‘ μ μ§νκΈ° μν΄μ Dependabotμ μ½λ μ μ₯μμ μ€μ ν΄λμμ΅λλ€.
- Dependabotμ΄ μ¬λ¦° PRμ λ¦μ§ μκ² κ²ν λ° λ³ν©νκ³ μλ‘μ΄ λ²μ μ΄ μΌμΌν€λ breaking changesλ₯Ό λμνλ μμ μ ν κ°λ°μ λͺ¨λμ 곡λ μ± μμ λλ€.
- Dependabotμ΄ μ¬λ¦° PRμ λ°λμ PR μ½λ©νΈλ₯Ό ν΅ν΄μ Dependabotμκ² μνμλ μμ μ μμΌμ£ΌμΈμ. μ§μ μμ νμλ©΄ Dependabotμ ν΄λΉ PRμ λ μ΄μ μλμΌλ‘ κ΄λ¦¬ν΄μ£Όμ§ μμ΅λλ€.