සංවර්ධනය
සංවර්ධන මාර්ගෝපදේශය
ඉංග්රීසි පමණක් සංස්කරණය කරන්න; පරිවර්තන පැතිරේ
ලේඛනගත කිරීම website/docs (English) යටතේ පමණක් යාවත්කාලීන කරන්න. 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 ලේඛන (i18nwebsite/i18n/de/...යටතේ)
ස්ථාපනය හා මෙවලම්
- මූල ඩිපෙන්ඩන්සි ස්ථාපනය:
npm ci - ලේඛන (විකල්ප):
cd website && npm ci - ඉලක්ක සොයාගන්න:
make help
සජීව සංවර්ධනය (web‑ext run)
- Firefox Desktop තුළ ඉක්මන් ලූප් එකක් (UI smoke‑tests පමණක්):
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 event පිටු අත්හිටුවේ; කේත වෙනස්කම්කළ පසු ඇඩ්-අොන් එක නැවත පූරණය කරන්න, නැතිනම් 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 ප්රොෆයිලයක් භාවිතා කරන්න.
Make ඉලක්ක (අකාරාදී)
Makefile එක සාමාන්ය සංවර්ධන ප්රවහණ සම්මත කරයි. සෑම ඉලක්කයක් පිළිබඳ එක් පේළි ස ාරාංශයක් දැක්වීමට ඕනෑම වෙලාවක make help ධාවනය කරන්න.
ඉඟිය: ඉලක්කයක් නොදැක්වීමෙන් make ධාවනය කළහොත් ඉලක්කයක් තෝරන්න සරල Whiptail මෙනුවක් විවෘත වේ.
| ඉලක්කය | එක් පේළි විස්තරය |
|---|---|
clean | දේශීය build/preview artifacts ඉවත් කරයි (tmp/, web-local-preview/, website/build/). |
commit | ස්වයංක්රීය ආකෘතිකරණය, පරීක්ෂා (i18n ඇතුළුව) ධාවනය, changelog යාවත්කාලීන, commit සහ push. |
eslint | flat config හරහා ESLint ධාවනය කරයි (npm run -s lint:eslint). |
help | සියලු ඉලක්ක එක් පේළි ලේඛන සමඟ ලැයිස්තුගත කරයි ( පිළිවෙලකට ). |
lint | sources/ මත web‑ext lint (තාවකාලික manifest; ZIPs නොසලකා හැරේ; මාරාන්තික නොවේ). |
menu | ඉලක්කයක් හා අමතර තර්ක තෝරාගැනීමට අන්තර්ක්රියාත්මක මෙනුව. |
pack | ATN සහ LOCAL ZIPs සාදයි (linter ධාවනය කරයි; packer ස්ක්රිප්ට් කැඳවයි). |
prettier | ගබඩාව ස්ථානීයව ආකෘතිකරණය කරයි (වෙනස්කම් ලියයි). |
prettier_check | Prettier check mode (ලියන්නේ නැත); නැවත ආකෘතිකරණය අවශ්ය නම් අසමත් වේ. |
prettier_write | prettier සඳහා නාමාවලිය. |
test | Prettier (write), ESLint, එවිට Vitest (ග්රහණය සකසා ඇත්නම්). |
test_i18n | i18n‑පමණක් පරීක්ෂා: ඇඩ්‑ඔන් placeholders/ගැළපීම + වෙබ් අඩවිය ගැළපීම. |
translate_app | translation_app සඳහා නාමාවලිය. |
translation_app | යෙදුම් UI මූලාශ්ර වචන sources/_locales/en/messages.json වෙතින් පරිවර්තනය කරන්න. |
translate_web_docs_batch | වෙබ්අඩවි ලේඛන OpenAI Batch API හරහා පරිවර්තනය කරන්න (අභිරුචිය). |
translate_web_docs_sync | වෙබ්අඩවි ලේඛන සමකාලීනව පරිවර්තනය කරන්න (පුරුණු, බෑච් නොවේ). |
translate_web_index | translation_web_index සඳහා නාමාවලිය. |
translation_web_index | මුල්පිටුව/නැව්බාර්/පාද UI පරිවර්තනය (website/i18n/en/code.json → .../<lang>/code.json). |
web_build | ලේඛන website/build වෙත build කරයි (--locales / BUILD_LOCALES සහය වේ). |
web_build_linkcheck | අස්ථානගත නොවන (offline‑safe) ලින්ක් තහවුරු කිරීම (දුරස්ථ HTTP[S] මඟ හැරේ). |
web_build_local_preview | දේශීය gh‑pages preview; 8080–8090 මත ස්වයං සේවාව; විකල්ප පරීක්ෂා/ලින්ක්‑තහවුරු කිරීම. |
web_push_github | website/build හි අන්තර්ගතය gh-pages ශාඛාවට push කරයි. |
විකල්ප සින්ටැක්ස්
- විකල්ප හරහා යැවීමට
make <command> OPTS="…"භාවිත කරන්න (උපුටා ලිවීම නිර්දේශිතය). පහත සෑම ඉලක්කයක්ම භාවිතා උදාහරණයක් පෙන්වයි.
--