"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > टाइपस्क्रिप्ट और सिमेंटिक वर्जनिंग के साथ एक एनपीएम लाइब्रेरी बनाएं और प्रकाशित करें

टाइपस्क्रिप्ट और सिमेंटिक वर्जनिंग के साथ एक एनपीएम लाइब्रेरी बनाएं और प्रकाशित करें

2024-11-07 को प्रकाशित
ब्राउज़ करें:452

? न्यूनतम कोड लिखें और प्रकाशित करें

एनपीएम पर एक लाइब्रेरी प्रकाशित करने के लिए, आपको इसकी आवश्यकता होगी:

  1. एनपीएम खाता; आप यहां साइनइन कर सकते हो।

  2. प्रोजेक्ट के रूप में आपका कोड; यानी, आपकी कोड निर्देशिका में एक package.json है, जिसमें नाम और संस्करण निर्दिष्ट है। ध्यान दें कि आप इस फ़ाइल को इसके माध्यम से जनरेट कर सकते हैं:

npm init
  1. आपके प्रोजेक्ट में एक index.js। याद रखें, उपयोगकर्ताओं को इसे आयात करने की अनुमति देने के लिए आपको अपना फ़ंक्शन निर्यात करना होगा।

नोट: यदि आपकी स्क्रिप्ट का नाम Index.js नहीं है और उसे प्रोजेक्ट रूट में रखा गया है, तो आपको package.json में "मुख्य" प्रॉपर्टी निर्दिष्ट करनी होगी। अधिक जानकारी के लिए यह उत्तर देखें।

और यदि नाम एनपीएम पर लिया गया है, तो आप @name-or-org/your-lib जैसे उपसर्ग जोड़ सकते हैं; आजकल अधिकांश अन्य पुस्तकालय यही करते हैं।

आप संदर्भ के लिए मेरा न्यूनतम उदाहरण देख सकते हैं, लेकिन मेरा मानना ​​है कि आप इससे बेहतर कुछ लिख सकते हैं।

Create and publish an npm library, with TypeScript and Semantic Versioning

अंत में, इसे सीएलआई कमांड के साथ प्रकाशित करें:

npm publish

Create and publish an npm library, with TypeScript and Semantic Versioning

पैकेज नाम को उपसर्ग के साथ सेट करने वाले लोगों के लिए ध्यान दें: यह जरूर आपका एनपीएम उपयोगकर्ता नाम या संगठन का नाम होना चाहिए जिसे आपने एनपीएम पर पंजीकृत किया है। उदाहरण के लिए, मैं अपने उपसर्ग के रूप में @remi_guan का उपयोग कर सकता हूं, लेकिन अन्य का नहीं।

इसके अलावा, आपको npm पब्लिश --एक्सेस पब्लिक चलाने की आवश्यकता है, क्योंकि npm को लगता है कि आप एक निजी पैकेज प्रकाशित करना चाहते हैं, जो एक सशुल्क सुविधा है।

इस आउटपुट का मतलब है कि यह सफल रहा है। हालाँकि, यदि आप किसी परेशानी में पड़ गए हैं, तो आप समस्या निवारण के लिए Google पर खोज सकते हैं। और यहां बताया गया है कि आप अपनी लाइब्रेरी का उपयोग कैसे कर सकते हैं:

Create and publish an npm library, with TypeScript and Semantic Versioning

यदि आप इस गाइड का अनुसरण कर रहे हैं, तो कृपया इसके बजाय अपनी स्वयं की लाइब्रेरी आज़माएं।

अगर आप और अधिक जानना चाहते हैं तो मुझे @backendbro के पास इससे कहीं अधिक विस्तृत मार्गदर्शिका भी मिली है।

अपना कोड प्रकाशित करने के बाद, जब आप कोड को अपडेट करना चाहें, तो एनपीएम पब्लिश दोबारा चला सकते हैं। हालाँकि, प्रकाशित करने से पहले आपको package.json की संस्करण संपत्ति को अपडेट करना चाहिए, और कृपया सिमेंटिक वर्जनिंग का अनुपालन करना चाहिए।

मेरा सुझाव है कि आप इसे आज़माएँ! क्या आप अपनी लाइब्रेरी का v1.0.1 या v1.1.0 प्रकाशित कर सकते हैं, और इसे किसी अन्य प्रोजेक्ट में उपयोग कर सकते हैं जैसे मैंने अभी किया है? क्या आप समझ सकते हैं कि अपनी एनपीएम लाइब्रेरी के संस्करण को कैसे अपडेट करें?

? टाइपस्क्रिप्ट का प्रयोग करें

हमारे द्वारा अब तक बनाई गई यह लाइब्रेरी आधुनिक नहीं है, इसमें प्रकार की घोषणा का अभाव है, इसलिए जो लोग आपकी लाइब्रेरी का उपयोग करते हैं वे टाइपिंग के साथ हाइलाइट नहीं हो पाते हैं। इसके अलावा, लोग आमतौर पर ईसीएमएस्क्रिप्ट सिंटैक्स के साथ टाइपस्क्रिप्ट का उपयोग करते हैं। अंतर के बारे में जानने के लिए: नोड.जेएस मॉड्यूल: कॉमनजेएस बनाम ईसीएमएस्क्रिप्ट साईसथिश द्वारा

लेकिन मैं इस पोस्ट में टाइपस्क्रिप्ट के विस्तृत सेटअप को छोड़ दूंगा। टाइपस्क्रिप्ट प्रोजेक्ट को प्रारंभ करने का तरीका सीखने के लिए कई अच्छे ट्यूटोरियल हैं, जैसे कि inapeace0 द्वारा "टाइपस्क्रिप्ट लाइब्रेरी कैसे विकसित करें"।

इसके अलावा, आप एलेक्सजोवरम/टाइपस्क्रिप्ट-लाइब्रेरी-स्टार्टर जैसे टेम्पलेट टाइपस्क्रिप्ट रिपॉजिटरी का उपयोग कर सकते हैं, जिसमें पहले से ही कई आधुनिक उपकरण, सर्वोत्तम अभ्यास आदि एकीकृत हैं।

यदि आप टाइपस्क्रिप्ट लाइब्रेरी प्रकाशित कर रहे हैं तो मैं बस कुछ महत्वपूर्ण नोट्स का उल्लेख करने जा रहा हूं:

  1. प्रकाशित करने से पहले निर्माण करें। यदि आपको इसे जनता के लिए प्रकाशित करने की आवश्यकता है, तो सबसे सामान्य Node.js वातावरण वाले लोग केवल .js फ़ाइलें निष्पादित कर सकते हैं। इसलिए आपको अपना कोड tsc, रोलअप (या vite, जो रोलअप का उपयोग करता है), या वेबपैक के साथ संकलित करने की आवश्यकता है; कोई भी ठीक है।

आपको package.json में मॉड्यूल, मुख्य, या प्रविष्टि गुणों का उपयोग करके संकलित फ़ाइल को सही ढंग से इंगित करने की आवश्यकता है। टेम्पलेट का उपयोग करना और उन्हें एक-एक करके सीखना एक अच्छा विकल्प है। फिर से, alexjoverm/typescript-library-starter ने उन्हें अच्छी तरह निर्दिष्ट किया।

  1. एक .d.ts फ़ाइल शामिल करें। इसी कारण से, उपयोगकर्ता को प्रकार के हस्ताक्षर तक पहुंच की भी आवश्यकता होती है।

लेकिन अगर आप आश्वस्त हैं कि आपकी लाइब्रेरी डेनो, बन, या टीएस-नोड पर चलेगी, तो आप मेरे उपरोक्त दिशानिर्देशों को अनदेखा कर सकते हैं क्योंकि वे टाइपस्क्रिप्ट कोड को मूल रूप से चलाने का समर्थन करते हैं।

कृपया टाइपस्क्रिप्ट लाइब्रेरी बनाने और इसे एनपीएम पर प्रकाशित करने के लिए एक गाइड का पालन करने का प्रयास करें। यह अभी भी आसान है, पहले उदाहरण की तरह। आपको आयात सिंटैक्स का उपयोग करके किसी अन्य प्रोजेक्ट के साथ इसका परीक्षण करना चाहिए, और आप एक आईडीई के साथ प्रकार के संकेत देख सकते हैं।

टाइपस्क्रिप्ट के साथ, मैं अपनी लाइब्रेरी को इस सिंटैक्स में लिख सकता हूं:

Create and publish an npm library, with TypeScript and Semantic Versioning

और प्रकाशन के बाद, मैं इसे इंस्टॉल और आयात कर सकता हूं, और टाइपस्क्रिप्ट के लिए प्रकार के संकेत देख सकता हूं।

Create and publish an npm library, with TypeScript and Semantic Versioning

✨ सिमेंटिक वर्जनिंग

एक सामान्य लेकिन थोड़ी उन्नत समस्या हल होने की प्रतीक्षा में है: हर बार जब हम अपना पैकेज अपडेट करते हैं, तो हमें संस्करण कोड को संपादित करने की आवश्यकता होती है।

यह कष्टप्रद है, खासकर यदि आप अपना कोड बार-बार अपडेट कर रहे हैं।

हालाँकि, आपकी सहायता के लिए उपकरण मौजूद हैं।

  • सिमेंटिक-रिलीज़: पूरी तरह से स्वचालित; आप संस्करण कोड को स्वचालित रूप से अपडेट करने के लिए इसे GitHub CI में एकीकृत कर सकते हैं और हर बार GitHub पर अपना कोड अपडेट करने पर npm पर प्रकाशित कर सकते हैं।
  • रिलीज़-इट: आपको संस्करण को टक्कर देने में भी मदद करता है, लेकिन इसका उपयोग करना आसान है (सीआई ज्ञान की कोई आवश्यकता नहीं); इस बीच, आप इसे पूरी तरह से स्वचालित के रूप में कॉन्फ़िगर नहीं करते हैं।

Create and publish an npm library, with TypeScript and Semantic Versioning

मैंने दो टूल की तुलना करते हुए इस सारांश को तैयार करने के लिए ChatGPT का उपयोग किया। नए कोडर के लिए, मेरा सुझाव है कि आप रिलीज़-इट आज़माएँ, लेकिन सिमेंटिक-रिलीज़ भी सुविधाजनक है यदि आप जानते हैं कि इसे सीआई के साथ कैसे एकीकृत किया जाए।

इस पोस्ट में मैं आपको यह दिखाने जा रहा हूं कि रिलीज़-इट का उपयोग कैसे करें, ठीक है, प्रोजेक्ट में बदलाव करने के बाद, बस इसे अपने प्रोजेक्ट में चलाएं:

npx release-it

और चुनें कि यह छोटा बदलाव है या बड़ा बदलाव, तो आपका काम हो गया!

Create and publish an npm library, with TypeScript and Semantic Versioning


सारांश

इसलिए यह अब आपके पास है! हमने एक सरल एनपीएम लाइब्रेरी प्रकाशित की है, इसे अपडेट किया है, और यहां तक ​​कि इसे और अधिक आधुनिक और मजबूत बनाने के लिए टाइपस्क्रिप्ट का उपयोग भी किया है। याद रखें:

  • अपने कार्यों को ठीक से निर्यात करें ताकि अन्य लोग उनका उपयोग कर सकें।
  • सिमेंटिक वर्जनिंग के बाद अपने वर्जन नंबर अपडेट करें
  • बेहतर प्रकार की सुरक्षा और डेवलपर अनुभव के लिए टाइपस्क्रिप्ट का उपयोग करने पर विचार करें।
  • समय बचाने के लिए रिलीज़-इट या सिमेंटिक-रिलीज़ जैसे टूल के साथ अपनी रिलीज़ को स्वचालित करें

इसे आज़माइए! अपनी खुद की लाइब्रेरी प्रकाशित करें, उसे अपडेट करें और देखें कि एनपीएम पारिस्थितिकी तंत्र में योगदान करना कैसा लगता है। हैप्पी कोडिंग!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/remi-guan/create-and-publish-an-npm-library-with-typescript-and-semantic-versioning-9l?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 .comडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3