Extension.js परिचय
- Extension.js एक प्लग-एंड-प्ले शैली का क्रॉस-ब्राउज़र एक्सटेंशन डेवलपमेंट टूल है, जिसमें किसी सेटअप की ज़रूरत नहीं होती।
- यह TypeScript, WebAssembly, React और आधुनिक JavaScript को डिफ़ॉल्ट रूप से सपोर्ट करता है, इसलिए आप क्रॉस-ब्राउज़र एक्सटेंशन बना सकते हैं।
नया एक्सटेंशन बनाना
Chrome Extension Samples का उपयोग करना
Microsoft Edge में Chrome Extension Samples का उपयोग
Edge पर Mozilla ऐड-ऑन चलाना
मौजूदा एक्सटेंशन में Extension.js का उपयोग
- अगर मौजूदा एक्सटेंशन पहले से पैकेज मैनेजर उपयोग कर रहा है, तो Extension.js इंस्टॉल करने के बाद स्क्रिप्ट बनाकर रन किया जा सकता है
devDependency के रूप में extension इंस्टॉल करें
npm install extension --save-dev
- npm scripts को Extension.js कमांड से लिंक करें
{
"scripts": {
"build": "extension build",
"dev": "extension dev",
"start": "extension start"
},
"devDependencies": {
"extension": "latest"
}
}
- डेवलपमेंट के लिए
npm run dev, प्रोडक्शन रन के लिए npm run start, और प्रोडक्शन बिल्ड के लिए npm run build इस्तेमाल करें
डेवलपमेंट के लिए खास ब्राउज़र चुनना
- डेस्कटॉप ब्राउज़र सपोर्ट स्थिति
| Brave |
Chrome |
Edge |
Firefox |
Opera |
Safari |
Vivaldi |
| ☑️ |
✅ |
✅ |
⛔️ |
☑️ |
⛔️ |
☑️ |
- ☑️ = काम करने की अच्छी संभावना, लेकिन ब्राउज़र रनर उपलब्ध नहीं
- मोबाइल ब्राउज़र सपोर्ट स्थिति
| Firefox Android |
iOS Safari |
| ⛔️ |
⛔️ |
- किसी खास ब्राउज़र को टार्गेट करने के लिए
dev/start कमांड में --browser फ्लैग पास करें
- उदाहरण:
npx extension dev path/to/extension --browser=edge
- टिप:
--browser="all" पास करने पर उपलब्ध सभी ब्राउज़र एक साथ लोड होते हैं
GN⁺ की राय
- Extension.js क्रॉस-ब्राउज़र एक्सटेंशन डेवलपमेंट के लिए एक मजबूत टूल दिखता है। खासकर यह बिना किसी सेटअप के तुरंत काम करता है और कई ब्राउज़र को आसान तरीके से सपोर्ट कर सकता है, इसलिए डेवलपमेंट टाइम काफी घट सकता है।
- Chrome Extension Samples या MDN WebExtensions Examples जैसे मौजूदा सैंपलों का उपयोग करना भी बड़ा प्लस पॉइंट है। लगता है कि शुरुआत नए डेवलपर्स के लिए भी आसान हो जाएगी।
- हालांकि Firefox या Safari जैसी कुछ ब्राउज़र अभी पूरी तरह सपोर्टेड नहीं लगतीं, इसलिए सावधानी की ज़रूरत है। अगर आप सिर्फ किसी खास ब्राउज़र को टार्गेट कर रहे हैं, तो उसके लिए अलग नेटीव डेवलपमेंट टूल पर भी विचार करना ठीक होगा।
- existing Plasmo, WebExtensions API जैसे समान टूल्स से तुलना में इसके pros/cons क्या हैं, यह जानने की जिज्ञासा है। खासकर Manifest V3 जैसी लेटेस्ट स्पेक्स के साथ इसकी कम्पैटिबिलिटी परखना ज़रूरी लगता है।
1 टिप्पणियां
Hacker News टिप्पणी
Plasmoजैसे समान फ्रेमवर्क के साथ तुलना पर सवाल पूछा गयाsafari-web-extension-converterCLI टूल से काफ़ी आसान हो सकता है, ऐसा कहा गया