Tuvix.js में योगदान
योगदान में रुचि दिखाने के लिए धन्यवाद! चाहे बग फिक्स हो, नई सुविधा हो, दस्तावेज़ीकरण में सुधार हो, या अनुवाद - सभी योगदानों का स्वागत है।
योगदान के तरीके
- बग रिपोर्ट - Issue बनाएं
- सुविधा अनुरोध - चर्चा शुरू करें
- कोड - बग ठीक करें, सुविधाएं जोड़ें, परीक्षण सुधारें
- दस्तावेज़ीकरण - टाइपो ठीक करें, उदाहरण जोड़ें, स्पष्टता में सुधार करें
- अनुवाद - अन्य भाषाओं में दस्तावेज़ीकरण जोड़ें या सुधारें
शुरू करना
1. Fork और Clone
git clone https://github.com/YOUR_USERNAME/tuvix.js.git
cd tuvix.js2. Dependencies इंस्टॉल करें
हम pnpm और Node.js ≥ 18 का उपयोग करते हैं।
pnpm install3. सभी पैकेज बिल्ड करें
pnpm build4. परीक्षण चलाएं
pnpm test5. दस्तावेज़ीकरण विकास सर्वर शुरू करें
cd website
pnpm install
pnpm devदस्तावेज़ीकरण का पूर्वावलोकन करने के लिए अपने ब्राउज़र में http://localhost:5173 खोलें।
प्रोजेक्ट संरचना
tuvix.js/
├── packages/
│ ├── core/ @tuvix.js/core
│ ├── router/ @tuvix.js/router
│ ├── event-bus/ @tuvix.js/event-bus
│ ├── loader/ @tuvix.js/loader
│ ├── sandbox/ @tuvix.js/sandbox
│ ├── react/ @tuvix.js/react
│ ├── vue/ @tuvix.js/vue
│ ├── svelte/ @tuvix.js/svelte
│ ├── angular/ @tuvix.js/angular
│ ├── devtools/ @tuvix.js/devtools
│ ├── server/ @tuvix.js/server
│ ├── module-federation/
│ ├── create-tuvix-app/
│ └── tuvix/ tuvix.js umbrella
└── website/
├── .vitepress/ VitePress कॉन्फ़िगरेशन और थीम
├── guide/ अंग्रेज़ी दस्तावेज़ीकरण
├── packages/ पैकेज API दस्तावेज़ीकरण
├── tr/ तुर्की अनुवाद
├── es/ स्पेनिश अनुवाद
└── ... अन्य भाषाएंकोड शैली
- TypeScript - strict मोड, सभी कोड टाइप्ड होना चाहिए
- Prettier - फॉर्मेट करने के लिए
pnpm formatचलाएं - कोई रनटाइम डिपेंडेंसी नहीं - पैकेज में शून्य रनटाइम डिपेंडेंसी होनी चाहिए
- नामित एक्सपोर्ट - डिफ़ॉल्ट एक्सपोर्ट से बचें
- त्रुटि संदेश -
[Tuvix ...]के साथ प्रीफ़िक्स करें
कमिट संदेश
हम Conventional Commits का पालन करते हैं:
feat: add hash mode to router
fix(sandbox): clean up event listeners on unmount
docs: add Angular guide example
chore: bump vitepress to 1.7.0
test(event-bus): add once() edge case testsPull Request प्रक्रिया
masterसे एक ब्रांच बनाएं:bashgit checkout -b feat/my-featureअपने बदलाव करें और परीक्षण जोड़ें
पूर्ण परीक्षण सूट चलाएं:
bashpnpm test pnpm check-types pnpm lintयदि आपका बदलाव किसी प्रकाशित पैकेज को प्रभावित करता है, तो changeset जोड़ें:
bashpnpm changesetPush करें और
masterके विरुद्ध PR खोलेंएक मेंटेनर आपके PR की समीक्षा करेगा। कृपया 7 दिनों के भीतर फीडबैक का जवाब दें।
अनुवाद जोड़ना
सभी दस्तावेज़ीकरण website/ के अंतर्गत Markdown में है। प्रत्येक भाषा की अपनी निर्देशिका है:
website/
├── index.md ← अंग्रेज़ी (मूल)
├── guide/ ← अंग्रेज़ी गाइड
├── tr/ ← तुर्की
│ ├── index.md
│ ├── guide/
│ └── packages/
├── es/ ← स्पेनिश
└── ...अनुवाद जोड़ने या सुधारने के चरण
website/guide/सेwebsite/<lang>/guide/में अंग्रेज़ी फ़ाइलें कॉपी करें- Markdown सामग्री का अनुवाद करें (कोड ब्लॉक अंग्रेज़ी में रखें)
website/.vitepress/config/<lang>.tsमें साइडबार कॉन्फ़िगरेशन अपडेट करें- पूर्वावलोकन के लिए
cd website && pnpm devचलाएं
अनुवाद सुझाव
- सभी कोड उदाहरण अंग्रेज़ी में रखें
- UI लेबल, विवरण और व्याख्यात्मक पाठ का अनुवाद करें
- जहां मानक अनुवाद मौजूद हैं वहां मूल शब्दावली का उपयोग करें
समर्थित भाषाएं
| भाषा | कोड | स्थिति |
|---|---|---|
| अंग्रेज़ी | en | पूर्ण (संदर्भ) |
| तुर्की | tr | प्रगति पर |
| स्पेनिश | es | प्रगति पर |
| जर्मन | de | प्रगति पर |
| फ़्रेंच | fr | प्रगति पर |
| जापानी | ja | प्रगति पर |
| चीनी | zh | प्रगति पर |
| इतालवी | it | प्रगति पर |
| पुर्तगाली | pt | प्रगति पर |
| हिंदी | hi | प्रगति पर |
यदि आप इनमें से किसी भाषा में योगदान देना चाहते हैं, तो खुले अनुवाद Issues देखें या एक नया बनाएं।
आचार संहिता
यह प्रोजेक्ट Contributor Covenant का पालन करता है। सम्मानजनक और रचनात्मक बनें।
लाइसेंस
योगदान करके, आप सहमत हैं कि आपके योगदान MIT लाइसेंस के तहत लाइसेंस किए जाएंगे।