Kontribusi di Alurkerja-UI
Menjalankan Project
- Pastikan memiliki akses di repo ini Repo Alurkerja-UI. jika belum minta ke maintener nya
- Clone repository nya dengan perintah
git clone https://gitlab.javan.co.id/alurkerja/alurkerja-ui.git - Install depedencies nya dengan perintah
yarn - Untuk development jalankan perintah
yarn storybook
File Structure
| Folder Name | Description |
|---|---|
__test__ | Folder yang menyimpan file unit testing. didalamnya dibagi lagi menjadi 2 folder yaitu components dan utils |
| api | Folder yang menyimpan file untuk fetching API |
| assets | Folder yang menyimpan file styling (scss) dan file gambar/icon |
| components | Folder untuk menyimpan component2 |
| configs | Folder untuk menyimpan file-file config |
| features | Folder untuk menyimpan komponen yang memilik build-in feature seperti TableLowcode, AlurkerjaForm yang memiliki fitur CRUD |
| hooks | Folder untuk menyimpan custom hooks dengan prefix use |
| stories | Folder untuk menyimpan stories atau dokumentasi komponen yang dibuat menggunakan storybook |
| utils | Folder function atau konstanta yang reusable. 1 function 1 file |
How to Create New component
- Di folder
componentsbuat folder baru dengan nama component yang ingin dibuat. didalamnya buatlah 2 file[namaComponent].tsxdanindex.tsuntuk mengexport komponen - Setelah component jadi untuk testing nya buatlah folder baru dengan nama komponen terkait didalam folder
stories > componentsdidalamnya buatlah file[namaComponent].stories.{tsx, ts}. gunakan .ts apabila tidak terdapat JSX.Element, dan gunakan .tsx jika terdapat JSX.Elemen - Buat stories nya
- Jalankan perintah
yarn storybookmaka halaman dokumentasi untuk komponent tersebut akan di generate sesuai configurasi stories nya - Jika components sudah oke, untuk versioning bisa lakukan MR ke branch
developdan mention maintener alurkerja-ui - Maintener akan segera mengupdate version nya
Modify an Existing file
- Untuk saat ini unit test belum diterapkan untuk semua components dan function
- namun apabila function yang di edit sudah memiliki unit test nya seperti
objToQueryParam()maka ketika mengedit file tersebut pastikan unit test nya lolos dengan menjalankan perintahyarn test
How to Contribute by Solving an Issue on Gitlab
- Pada halaman issue nya click icon
vpada buttonCreate merge requestuntuk membuat branch dan MR baru
- kerjakan di branch tersebut dan apabila sudah selesai maka push ke branch tersebut
- lalu mention maintener alurkerja-ui untuk merge MR tersebut dan melakukan versioning
Note
- Pada TableLowcode sudah menggunakan
React.Contextuntuk state management nya, jadi hindariProps Drilling - hindari penggunaan type
any