উন্নয়ন
উন্নয়ন নির্দেশিকা
শুধু ইংরেজি সম্পাদনা করুন; অনুবাদগুলো স্বয়ংক্রিয়ভাবে ছড়িয়ে পড়বে
ডকুমেন্টেশন কেবলমাত্র website/docs (ইংরেজি) এর অধীনে আপডেট করুন। website/i18n/<locale>/… এর অধীনে থাকা অনুবাদগুলো জেনারেটেড এবং ম্যানুয়ালি সম্পাদনা করা উচিত নয়। লোকালাইজড কনটেন্ট রিফ্রেশ করতে অনুবাদ টাস্কগুলি ব্যবহার করুন (যেমন, make translate_web_docs_batch)।
পূর্বশর্ত
- Node.js 22+ এবং npm (Node 22 দিয়ে টেস্ট করা)
- Thunderbird 128 ESR বা তার নতুনতর (ম্যানুয়াল টেস্টিংয়ের জন্য)
প্রকল্প কাঠামো (উচ্চ‑স্তর)
- রুট: প্যাকেজিং স্ক্রিপ্ট
distribution_zip_packer.sh, ডকস, স্ক্রিনশট sources/: মূল অ্যাড‑অন কোড (ব্যাকগ্রাউন্ড, অপশন/পপআপ UI, ম্যানিফেস্ট, আইকন)tests/: Vitest সুইটwebsite/: Docusaurus ডকস (i18n রয়েছেwebsite/i18n/de/...এর অধীনে)
ইনস্টল ও টুলিং
- রুট ডিপেন্ডেন্সি ইনস্টল:
npm ci - ডকস (ঐচ্ছিক):
cd website && npm ci - টার্গেটগুলো দেখুন:
make help
লাইভ ডেভ (web‑ext run)
- Firefox Desktop‑এ দ্রুত লুপ (শুধু UI স্মোক‑টেস্ট):
npx web-ext run --source-dir sources --target=firefox-desktop- Thunderbird‑এ চালান (MailExtensions‑এর জন্য অগ্রাধিকারযোগ্য):
npx web-ext run --source-dir sources --start-url about:addons --firefox-binary "$(command -v thunderbird || echo /path/to/thunderbird)"- টিপস:
- Thunderbird‑এর Error Console খোলা রাখুন (Tools → Developer Tools → Error Console)।
- MV3 ইভেন্ট পেজগুলো নিষ্ক্রিয় অবস্থায় সাসপেন্ড থাকে; কোড বদলানোর পর অ্যাড‑অনটি রিলোড করুন, অথবা web‑ext‑কে অটো‑রিলোড করতে দিন।
- কিছু Firefox‑শুধু আচরণ ভিন্ন হতে পারে; API সমতার জন্য সবসময় Thunderbird‑এ যাচাই করুন।
- Thunderbird বাইনারি পাথ (উদাহরণ):
- Linux:
thunderbird(যেমন,/usr/bin/thunderbird) - macOS:
/Applications/Thunderbird.app/Contents/MacOS/thunderbird - Windows:
"C:\\Program Files\\Mozilla Thunderbird\\thunderbird.exe" - প্রোফাইল আলাদা রাখা: আপনার দৈনন্দিন সেটআপে প্রভাব এড়াতে ডেভেলপমেন্টের জন্য আলাদা Thunderbird প্রোফাইল ব্যবহার করুন।