मैं आधुनिक क्लाइंट-साइड जेएस इकोसिस्टम के साथ काम कर रहा हूं और कॉमनजस और एएमडी पर झुकाव कर रहा हूं। अगर मैं एक जावास्क्रिप्ट लाइब्रेरी लिख रहा हूं, तो मैं इसे कैसे संशोधित / पैकेज करूं कि यह सबसे अधिक व्यापक रूप से सुलभ हो (आदर्श रूप से उन उपयोगकर्ताओं द्वारा जो कॉमनजस, एएमडी और विशेष रूप से न तो कसम खाता है)?
JQuery जैसी लोकप्रिय लाइब्रेरी सिर्फ खुद के निर्माण के लिए पुराने स्कूल के फ़ाइल कॉन्सेप्टन का उपयोग करने लगती हैं और गतिशील रूप से यह पता लगाती हैं कि क्या इसे exports
या वैश्विक संदर्भ में लिखना चाहिए । मैं वर्तमान में एक ही काम कर रहा हूं, लेकिन मुख्य नकारात्मक पक्ष यह है कि अगर मैं (jQuery के विपरीत) कुछ पुस्तकालयों पर निर्भर करता हूं, तो उपयोगकर्ताओं को मैन्युअल रूप से पूर्व-संक्रमणीय सेट को शामिल करने के लिए पूछना अच्छा नहीं है। (हालांकि वर्तमान में मेरे पास केवल दो निर्भरताएं हैं।) और निश्चित रूप से वैश्विक नाम स्थान प्रदूषण है।
या शायद यह मेरे संदर्भ के लिए, मेरे पुस्तकालय के कई संस्करणों को उत्पन्न करने के लिए सबसे साफ है?
मैं पैकेजिंग और प्रकाशन के बारे में भी सोच रहा हूं। कई प्रणालियां हैं, लेकिन मेरा मानना है कि प्रमुख एक है बोवर, जो कि सभी के साथ सौदा करना आसान है क्योंकि यह प्राप्त होता है। हालाँकि, मुझे आश्चर्य हो रहा है कि क्या मुझे अन्य पैकेज सिस्टम जैसे घटक (जिसमें कॉमनजेएस की आवश्यकता है) को भी लक्षित किया जाना चाहिए।
क्या अन्य प्रासंगिक पहलू हैं जिनसे मुझे अवगत होना चाहिए? क्या इस सब के लिए कोई अच्छी उदाहरण परियोजनाएं हैं?