T-Ruby WASMμ κΈ°μ¬ν΄ μ£Όμ μ κ°μ¬ν©λλ€! μ΄ λ¬Έμλ κΈ°μ¬μλ₯Ό μν κ°μ΄λλΌμΈκ³Ό μ 보λ₯Ό μ 곡ν©λλ€.
λͺ¨λ μνΈμμ©μμ μ‘΄μ€κ³Ό 건μ€μ μΈ νλλ₯Ό μ μ§ν΄ μ£ΌμΈμ. λͺ¨λ λ°°κ²½κ³Ό κ²½ν μμ€μ κΈ°μ¬μλ₯Ό νμν©λλ€.
- μ μ₯μλ₯Ό ν¬ν¬νμΈμ
- ν¬ν¬ν μ μ₯μλ₯Ό ν΄λ‘ νμΈμ:
git clone https://github.com/YOUR_USERNAME/t-ruby-wasm.git cd t-ruby-wasm - μμ‘΄μ±μ μ€μΉνμΈμ:
npm install
- λ³κ²½μ¬νμ μν λΈλμΉλ₯Ό μμ±νμΈμ:
git checkout -b feature/your-feature-name
- λͺ¨λ μμ€ νμΌμ TypeScript μ¬μ©
- κΈ°μ‘΄ μ½λ μ€νμΌ μ€μ
- κ° νμΌμ νλμ exportλ§ κ°μ ΈμΌ ν¨
- νμΌμ 100μ€ λ―Έλ§μΌλ‘ μ μ§ (μ£Όμ ν¬ν¨)
- μ’ ν©μ μΈ JSDoc μ£Όμ μμ±
SOLID μμΉμ λ°λ¦ λλ€:
- Single Responsibility: κ° ν΄λμ€/λͺ¨λμ νλμ μ± μλ§
- Open/Closed: νμ₯μ μ΄λ €μκ³ μμ μ λ«νμμ
- Liskov Substitution: μλΈνμ μ λ체 κ°λ₯ν΄μΌ ν¨
- Interface Segregation: μΈν°νμ΄μ€λ₯Ό μκ³ μ§μ€μ μΌλ‘ μ μ§
- Dependency Inversion: μΆμνμ μμ‘΄
κ°μ μ½λλ₯Ό λ°λ³΅νμ§ λ§μΈμ. κ³΅ν΅ λ‘μ§μ μ¬μ¬μ© κ°λ₯ν μ νΈλ¦¬ν°λ‘ μΆμΆνμΈμ.
TDD λ°©λ²λ‘ μ μ¬μ©ν©λλ€:
- λ¨Όμ μ€ν¨νλ ν μ€νΈ μμ±
- ν μ€νΈλ₯Ό ν΅κ³Όνλ μ΅μνμ μ½λ μμ±
- ν μ€νΈλ₯Ό ν΅κ³Ό μνλ‘ μ μ§νλ©΄μ 리ν©ν λ§
# ν
μ€νΈ μ€ν
npm test
# κ°μ λͺ¨λλ‘ ν
μ€νΈ μ€ν
npm run test:watch
# 컀λ²λ¦¬μ§μ ν¨κ» ν
μ€νΈ μ€ν
npm run test:coverage- λͺ¨λ ν μ€νΈκ° ν΅κ³Όνλμ§ νμΈ
- νμν κ²½μ° λ¬Έμ μ λ°μ΄νΈ
- μ κΈ°λ₯μ λν ν μ€νΈ μΆκ°
- 컀λ°μ μμμ μ΄κ³ μ€λͺ μ΄ μ λμ΄μΌ ν¨
- κ΄λ ¨ μ΄μ μ°Έμ‘°
type: μ§§μ μ€λͺ
νμν κ²½μ° λ κΈ΄ μ€λͺ
.
Fixes #123
νμ
: feat, fix, docs, style, refactor, test, chore
t-ruby-wasm/
βββ src/
β βββ types/ # νμ
μ μ (νμΌλΉ νλ)
β βββ vm/ # Ruby VM κ΄λ ¨ μ½λ
β βββ utils/ # μ νΈλ¦¬ν° ν¨μ
β βββ TRuby.ts # λ©μΈ TRuby ν΄λμ€
β βββ createTRuby.ts # ν©ν 리 ν¨μ
β βββ VirtualFileSystem.ts
β βββ index.ts # κ³΅κ° exports
βββ tests/ # ν
μ€νΈ νμΌ
βββ scripts/ # λΉλ μ€ν¬λ¦½νΈ
βββ dist/ # λΉλ μΆλ ₯
μ§λ¬Έμ΄λ λ Όμλ₯Ό μν΄ μ΄μλ₯Ό μ΄μ΄μ£ΌμΈμ.