Skip to content

Latest commit

ย 

History

History
119 lines (81 loc) ยท 4.13 KB

File metadata and controls

119 lines (81 loc) ยท 4.13 KB

Welcome to EasyLogic Studio contributing guide

์ด์ง€๋กœ์ง ์ŠคํŠœ๋””์˜ค ํ”„๋กœ์ ํŠธ์— ์™€์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด์ง€๋กœ์ง ์ŠคํŠœ๋””์˜ค๋Š” ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ฐœ๋ฐœ๋˜๋Š” ์›น๋””์ž์ธ ํˆด์ž…๋‹ˆ๋‹ค.

๊ด€์‹ฌ์žˆ๋Š” ์˜์—ญ์˜ ๊ธฐ๋Šฅ์„ ์–ธ์ œ๋“ ์ง€ ๊ฐ™์ด ๋งŒ๋“ค๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ์—์„œ PR ์ƒ์„ฑ๊ณผ ๋ฆฌ๋ทฐ, ๋จธ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ

๋นŒ๋“œ์‹œ์Šคํ…œ

vite ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋นŒ๋“œ๋˜์–ด์ง‘๋‹ˆ๋‹ค. vite ๋Š” ๋น ๋ฅธ ๋นŒ๋“œ ์†๋„์™€ ์„œ๋ฒ„ ๊ตฌ๋™์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ์„ค๋ช…ํ•˜๊ธฐ

  • src/ - ์—๋””ํ„ฐ์˜ ์†Œ์Šค๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • dist/ - npm ์— ๋ฐฐํฌ๋  ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • public/ - ๋กœ์ปฌ์—์„œ ๊ฐœ๋ฐœ์„œ๋ฒ„๋ฅผ ๋„์šธ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” static ๋ฆฌ์†Œ์Šค๊ฐ€ ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค.
  • docs/ - github pages ๋ฅผ ์œ„ํ•œ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • index.html - vite ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰๋˜๋Š” ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค.

src

  • src/index.jsx - ์—๋””ํ„ฐ์˜ ์‹œ์ž‘์  ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
  • src/editor-layouts - ์—๋””ํ„ฐ์˜ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • src/el - ์—๋””ํ„ฐ๋ฅผ ์ด๋ฃจ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฃŒ๊ตฌ์กฐ, UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(sapa), ๊ฐ์ข… ํŒŒ์„œ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • editor
      • commands - ์—๋””ํ„ฐ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” command ๋ฆฌ์ŠคํŠธ ๋ชจ์Œ
      • icon - ์•„์ด์ฝ˜ ๋ฆฌ์ŠคํŠธ ๋ชจ์Œ
      • items - ๋‚ด๋ถ€ ์•„์ดํ…œ ์ž๋ฃŒํ˜•
      • layout-engine - ๋ ˆ์ด์•„์›ƒ ์—”์ง„ ๋ชจ์Œ,
      • manager - ์—๋””ํ„ฐ์—์„œ ์‚ฌ์šฉ๋  ๊ณต์šฉ Storage ๋ชจ์Œ
      • menus - dropdown toolbar ๋ฉ”๋‰ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
      • model - ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ณธ ๋ชจ๋ธ ๋ชจ์Œ
      • parser - ํŒจ์Šค ๊ด€๋ จ๋œ ํŒŒ์„œ ๋ชจ์Œ
      • preset - box-shadow, clip-path ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์—์…‹ ๋ชจ์Œ
      • property-parser - css ์†์„ฑ ๊ด€๋ จ๋œ ํŒŒ์„œ ๋ชจ์Œ
      • shortcuts - ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ
      • types - ํƒ€์ž… ์ •์˜๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค ๋ชจ์Œ
      • ui - sapa ๋กœ ๋งŒ๋“  ๊ธฐ๋ณธ UI ๋ชจ์Œ
      • unit
      • util - ์—๋””ํ„ฐ ๊ธฐ๋ณธ ํ•จ์ˆ˜๋“ค ๋ชจ์Œ
    • sapa - ๊ธฐ๋ณธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • utils - ์ƒ‰์ƒ, ์ˆ˜ํ•™, ํ–‰๋ ฌ, ์ถฉ๋Œ ๊ด€๋ จ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜ ๋ชจ์Œ
  • src/export-library - npm ์œผ๋กœ ๋ฐฐํฌ ๋  ๋•Œ ์™ธ๋ถ€๋กœ ์˜คํ”ˆํ•  ํด๋ž˜์Šค, ํ•จ์ˆ˜ ๋“ฑ์„ ์ง€์ •ํ•˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.
  • src/plugins - ์—๋””ํ„ฐ์˜ ๊ธฐ๋Šฅ์„ ์ด๋ฃจ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • src/scss - ์—๋””ํ„ฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ style ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰ํ•˜๊ธฐ

๊ฐœ๋ฐœ์„œ๋ฒ„, ๋นŒ๋“œ๋Š” vite ๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

git clone https://github.com/easylogic/editor 
cd editor 
npm install && npm run dev 

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์‹คํ–‰

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” vitest ๋ฅผ ํ†ตํ•ด์„œ ์ˆ˜ํ–‰๋˜์–ด ์ง‘๋‹ˆ๋‹ค.

npm test 

Issues

์ด์Šˆ ์ƒ์„ฑ

๋””์ž์ธํˆด์—์„œ ๊ด€์‹ฌ์žˆ๋Š” ์ฃผ์ œ๋‚˜ ๊ตฌํ˜„ํ•ด๋ณด๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ, ์‚ฌ์šฉํ•˜์‹œ๋‹ค๊ฐ€ ์ด์ƒํ•œ ์ ์ด ์žˆ์œผ์‹œ๋ฉด ์ด์Šˆ๋กœ ์˜ฌ๋ ค์ฃผ์„ธ์š”.

์ด์Šˆ ํ•ด๊ฒฐ

๊ด€์‹ฌ ์žˆ๋Š” ์ด์Šˆ์— assign ์„ ํ• ๋‹นํ•˜๊ณ  PR ์„ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”.

Pull Request ๋งŒ๋“ค๊ธฐ

  • ๊ด€์‹ฌ์žˆ๋Š” ์ด์Šˆ๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ํ•„์š”ํ•œ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ๋ฅผ fork ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค์Œ
  • ํ•ด๋‹น ์‚ฌํ•ญ์„ ๊ณ ์น˜๊ณ  PR์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • PR ์„ ๋ณด๋‚ผ ๋•Œ๋Š” develop ๋ธŒ๋žœ์น˜๋กœ ๋ณด๋‚ด์ฃผ์„ธ์š”.

Pull Request ์— ์žˆ์œผ๋ฉด ์ข‹์€ ๋‚ด์šฉ

PR ์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์ด ์ ํ˜€ ์žˆ์œผ๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฌธ์ œ ์„ค๋ช…
  • ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ ์„ค๋ช…
  • ์‚ญ์ œ๋œ ๊ธฐ๋Šฅ ์„ค๋ช…
  • ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

Pull Request ๋ณ‘ํ•ฉ

์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ ์ง„์ž ์ปจํŠธ๋ฆฌ๋ทฐํ„ฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  • ๋ณด๋‚ด์ฃผ์‹  PR์€ ๋ช‡๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์นœํ›„ ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค.
  • PR ์ด ๋ณ‘ํ•ฉ์ด ๋˜๋ฉด contributor ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๊ธฐํƒ€

  • ๋‚ด๋ถ€์ ์œผ๋กœ k-opensource ์‚ฌ์šฉํ•˜๊ธฐ ์šด๋™์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ดœ์ฐฎ์€ k-opensource ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฐ™์ด ํฌํ•จํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • @entityjs/entityjs
    • array-organizer
    • open-color
    • yorkie-js-sdk
    • adorable-css

๊ถ๊ธˆํ•˜์‹  ์‚ฌํ•ญ์€ ์–ธ์ œ๋“  ์ด์Šˆ๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.