नोड.जेएस

नोड.js एक क्रॉस-प्लेटफॉर्म, ओपन-सोर्स सर्वर है। जो माइक्रोसॉफ़्ट विंडोज़, लिनक्स, यूनिक्स, मैक OS, और अन्य पर चल सकता है। Node.js एक बैक-एंड जावास्क्रिप्ट रनटाइम क्लाइमेट है, जो V8 जावास्क्रिप्ट इंजन पर चलता है, और एक वेब ब्राउज़र के बाहर जावास्क्रिप्ट कोड निष्पादित करता है।

Node.js डेवलपर्स को कमांड लाइन टूल लिखने और सर्वर-साइड स्क्रिप्टिंग के लिए जावास्क्रिप्ट का उपयोग करने देता है। सर्वर पर जावास्क्रिप्ट कोड चलाने की क्षमता का उपयोग अक्सर उपयोगकर्ता के वेब ब्राउज़र पर पेज भेजे जाने से पहले गतिशील वेब पेज सामग्री उत्पन्न करने के लिए किया जाता है। नतीजतन, Node.js एक "हर जगह जावास्क्रिप्ट" प्रतिमान का प्रतिनिधित्व करता है, सर्वर बनाम क्लाइंट-साइड प्रोग्रामिंग के लिए विभिन्न भाषाओं का उपयोग करने के विपरीत, एक ही प्रोग्रामिंग भाषा के आसपास वेब-एप्लिकेशन विकास को एकीकृत करता है।

Node.js में एसिंक्रोनस I/O के लिए सक्षम घटना संचालित वास्तुकला है। इन डिज़ाइन विकल्पों का उद्देश्य वेब अनुप्रयोगों में कई इनपुट/आउटपुट संचालन के साथ-साथ रीयल-टाइम वेब अनुप्रयोगों (जैसे, रीयल-टाइम संचार प्रोग्राम और ब्राउज़र खेल) के लिए THROUGHPUT और scalability  को अनुकूलित करना है। Node.js वितरित विकास परियोजना पहले Node.js Foundation द्वारा शासित थी, और अब Open[[JS Foundation]] बनाने के लिए JS Foundation में विलय हो गया है। OpenJS Foundation को Linux Foundation के सहयोगात्मक परियोजना कार्यक्रम द्वारा सुविधा प्रदान की जाती है। Node.js सॉफ़्टवेयर के कॉर्पोरेट उपयोगकर्ताओं में शामिल हैं GoDaddy, Groupon, आईबीएम, Linkedin, माइक्रोसॉफ्ट,  NetFlix , पेपैल,  आपको पता है  वॉल-मार्ट , याहू !, और अमेज़न वेब सेवाएँ।

इतिहास
Node.js को शुरू में रयान डाहल ने 2009 में लिखा था, पहले सर्वर-साइड जावास्क्रिप्ट वातावरण, नेटस्केप | नेटस्केप के लाइववायर प्रो वेब की शुरुआत के लगभग तेरह साल बाद। आरंभिक रिलीज ने केवल लिनक्स और मैक ओएस एक्स का समर्थन किया। इसके विकास और रखरखाव का नेतृत्व डाहल ने किया और बाद में आनंद  द्वारा प्रायोजित किया गया। डाहल ने 2009 में सबसे लोकप्रिय वेब सर्वर, अपाचे HTTP सर्वर  की बहुत सी समवर्ती कनेक्शन (10,000 और अधिक तक) को संभालने की सीमित संभावनाओं की आलोचना की और कोड (अनुक्रमिक प्रोग्रामिंग) बनाने का सबसे आम तरीका, जब कोड या तो अवरुद्ध हो गया एक साथ कनेक्शन के मामले में पूरी प्रक्रिया या निहित कई निष्पादन ढेर। डाहल ने 8 नवंबर, 2009 को उद्घाटन यूरोपीय JSConf में इस परियोजना का प्रदर्शन किया। Node.js ने Google के Chrome V8 JavaScript इंजन, एक  घटना पाश  और एक निम्न-स्तरीय इनपुट/आउटपुट|I/O अप्लिकेशन प्रोग्रामिंग अंतरफलक को संयोजित किया। जनवरी 2010 में, Npm (सॉफ़्टवेयर) नामक Node.js वातावरण के लिए एक पैकेज प्रबंधक  पेश किया गया था। पैकेज प्रबंधक प्रोग्रामरों के लिए Node.js पैकेजों के स्रोत कोड को प्रकाशित और साझा करना आसान बनाता है और इसे पैकेजों की स्थापना, अद्यतन और स्थापना रद्द करने को आसान बनाने के लिए डिज़ाइन किया गया है।

जून 2011 में, Microsoft और Joyent ने Node.js का मूल Microsoft Windows संस्करण लागू किया। विंडोज़ का समर्थन करने वाला पहला Node.js बिल्ड जुलाई 2011 में जारी किया गया था।

जनवरी 2012 में, डाहल ने परियोजना का प्रबंधन करने के लिए सहकर्मी और एनपीएम (सॉफ्टवेयर) निर्माता इसहाक श्लुटर को बढ़ावा देते हुए अलग हट गए। जनवरी 2014 में, श्ल्यूटर ने घोषणा की कि टिमोथी जे. फॉनटेन इस परियोजना का नेतृत्व करेंगे। दिसंबर 2014 में, Fedor Indutny ने io.js, Node.js का एक कांटा (सॉफ्टवेयर विकास)  शुरू किया। जॉयंट के शासन पर आंतरिक संघर्ष के कारण, io.js को एक अलग तकनीकी समिति के साथ एक खुले शासन विकल्प के रूप में बनाया गया था।  Node.js के विपरीत, लेखकों ने Google V8 JavaScript इंजन के नवीनतम रिलीज़ के साथ io.js को अद्यतित रखने की योजना बनाई है। फरवरी 2015 में, एक तटस्थ नोड.जेएस फाउंडेशन बनाने की मंशा की घोषणा की गई थी। जून 2015 तक, Node.js और io.js समुदायों ने Node.js Foundation के तहत एक साथ काम करने के लिए मतदान किया। सितंबर 2015 में, Node.js v0.12 और io.js v3.3 को वापस एक साथ Node v4.0 में मिला दिया गया। यह मर्ज V8 ECMAScript#ES2015 सुविधाओं को Node.js और एक दीर्घकालिक समर्थन रिलीज चक्र में लाया। 2016 तक, io.js वेबसाइट अनुशंसा करती है कि डेवलपर्स वापस Node.js पर स्विच करें और विलय के कारण io.js की कोई और रिलीज की योजना नहीं है। 2019 में, JS Foundation और Node.js Foundation का विलय होकर OpenJS Foundation बन गया।

15 मार्च 2023 को Node.js 19.8.1 जारी किया गया।

सिंहावलोकन
Node.js जावास्क्रिप्ट का उपयोग करके वेब सर्वर और नेटवर्किंग टूल के निर्माण और मॉड्यूल के संग्रह की अनुमति देता है जो विभिन्न मुख्य कार्यात्मकताओं को संभालते हैं।   फाइल सिस्टम I/O, नेटवर्किंग (डोमेन की नामांकन प्रणाली, HTTP,  प्रसारण नियंत्रण प्रोटोकॉल, ट्रांसपोर्ट लेयर सिक्योरिटी|TLS/SSL, या उपयोगकर्ता डेटाग्राम प्रोटोकॉल), बाइनरी फ़ाइल डेटा (बफ़र्स), क्रिप्टोग्राफी फ़ंक्शंस, स्ट्रीम (कंप्यूटिंग) के लिए मॉड्यूल प्रदान किए जाते हैं। , और अन्य मुख्य कार्य।  Node.js के मॉड्यूल सर्वर अनुप्रयोगों को लिखने की जटिलता को कम करने के लिए डिज़ाइन किए गए API का उपयोग करते हैं। जावास्क्रिप्ट एकमात्र भाषा है जो Node.js मूल रूप से समर्थन करती है, लेकिन कई सोर्स-टू-सोर्स कंपाइलर | कंपाइल-टू-जेएस भाषाएं उपलब्ध हैं। परिणामस्वरूप, Node.js अनुप्रयोगों को CoffeeScript में लिखा जा सकता है, डार्ट (प्रोग्रामिंग भाषा), टाइपप्रति, क्लोजरस्क्रिप्ट और अन्य।

Node.js का उपयोग मुख्य रूप से वेब सर्वर जैसे नेटवर्क प्रोग्राम बनाने के लिए किया जाता है। Node.js और PHP के बीच सबसे महत्वपूर्ण अंतर यह है कि PHP एसिंक्रोनस I/O में अधिकांश फ़ंक्शन पूरा होने तक (कमांड केवल पिछले कमांड के समाप्त होने के बाद ही निष्पादित होते हैं), जबकि Node.js फ़ंक्शंस एसिंक्रोनस I/O|नॉन-ब्लॉकिंग हैं (कमांड समवर्ती निष्पादित करते हैं) कंप्यूटिंग या समवर्ती कंप्यूटिंग में भी, और कॉलबैक (कंप्यूटर प्रोग्रामिंग) का उपयोग पूरा होने या विफलता का संकेत देने के लिए)।

Node.js आधिकारिक तौर पर Linux पर समर्थित है, macOS और Microsoft Windows 8.1 और सर्वर 2012 (और बाद में), SmartOS और IBM AIX के लिए टियर 2 समर्थन और FreeBSD के लिए प्रायोगिक समर्थन के साथ। OpenBSD भी काम करता है, और IBM i (AS/400) के लिए LTS संस्करण उपलब्ध है। प्रदान किया गया स्रोत कोड भी इसी तरह के ऑपरेटिंग सिस्टम पर बनाया जा सकता है जो आधिकारिक रूप से समर्थित हैं या तीसरे पक्ष द्वारा संशोधित किए जा सकते हैं जैसे कि नॉनस्टॉप ओएस और यूनिक्स सर्वर।

प्लेटफार्म आर्किटेक्चर
Node.js वेब सर्वर पर घटना-संचालित प्रोग्रामिंग लाता है, जिससे जावास्क्रिप्ट में तेज वेब सर्वर का विकास संभव हो जाता है। डेवलपर्स इवेंट-संचालित प्रोग्रामिंग के एक सरलीकृत मॉडल का उपयोग करके थ्रेड (कंप्यूटिंग) का उपयोग किए बिना स्केलेबल सर्वर बना सकते हैं जो किसी कार्य को पूरा करने के संकेत के लिए कॉलबैक का उपयोग करता है। Node.js स्क्रिप्टिंग भाषा (जावास्क्रिप्ट) की आसानी को यूनिक्स नेटवर्क प्रोग्रामिंग की शक्ति से जोड़ता है।

Node.js को Google के V8 JavaScript इंजन के शीर्ष पर बनाया गया था क्योंकि यह BSD लाइसेंस के तहत ओपन-सोर्स था। यह एचटीटीपी, डीएनएस और ट्रांसमिशन कंट्रोल प्रोटोकॉल जैसे इंटरनेट फंडामेंटल में कुशल है। JavaScript भी एक प्रसिद्ध भाषा थी, जो Node.js को वेब डेवलपर के लिए सुलभ बनाती थी।

उद्योग समर्थन
Node.js के लिए हजारों ओपन-सोर्स लाइब्रेरी हैं, उनमें से ज्यादातर Npm (सॉफ्टवेयर) वेबसाइट पर होस्ट की गई हैं। कई डेवलपर सम्मेलन और कार्यक्रम हैं जो Node.js समुदाय का समर्थन करते हैं, जिसमें NodeConf, Node Interactive और Node शिखर सम्मेलन के साथ-साथ कई क्षेत्रीय कार्यक्रम शामिल हैं।

ओपन-सोर्स समुदाय ने अनुप्रयोगों के विकास में तेजी लाने के उल्का (वेब ​​फ्रेमवर्क) विकसित किया है। इस तरह वेब ढांचा में कनेक्ट, एक्सप्रेस.जेएस, सॉकेट.आईओ, पंख.जेएस, कोआ.जेएस, हैपी.जेएस, सेल.जेएस, उल्का (वेब ​​​​फ्रेमवर्क), डर्बी और कई अन्य शामिल हैं। अन्य भाषाओं या रनटाइम वातावरण जैसे Microsoft .NET के साथ इंटरफेस करने के लिए कई पैकेज भी बनाए गए हैं। आधुनिक डेस्कटॉप एकीकृत विकास वातावरण विशेष रूप से Node.js अनुप्रयोगों के लिए संपादन और डिबगिंग सुविधाएँ प्रदान करता है। इस तरह के IDE में एटम (टेक्स्ट एडिटर), ब्रैकेट्स (टेक्स्ट एडिटर), JetBrains MPS WebStorm, शामिल हैं। माइक्रोसॉफ्ट विजुअल स्टूडियो (विजुअल स्टूडियो के लिए Node.js टूल्स के साथ, या टाइपस्क्रिप्ट नोड परिभाषाओं के साथ,    ) NetBeans, Node.js स्टूडियो वह है जो वह है ( ग्रहण (सॉफ्टवेयर) -आधारित), और विजुअल स्टूडियो कोड कुछ ऑनलाइन वेब-आधारित IDEs भी Node.js को सपोर्ट करते हैं, जैसे Codeanywhere, Codenvy, Cloud9 IDE, Koding, और Node-RED में विजुअल फ्लो एडिटर।

Node.js Jelastic, Google Cloud Platform, AWS Elastic Beanstalk, Joyent और अन्य जैसे कई क्लाउड-होस्टिंग प्लेटफ़ॉर्म पर समर्थित है।

विमोचन
Node.js के नए प्रमुख रिलीज हर छह महीने में GitHub मुख्य शाखा से काटे जाते हैं। सम-संख्या वाले संस्करण अप्रैल में काटे जाते हैं और विषम-संख्या वाले संस्करण अक्टूबर में काटे जाते हैं। जब एक नया अजीब संस्करण जारी किया जाता है, तो पिछला सम संस्करण दीर्घकालिक समर्थन (एलटीएस) में संक्रमण से गुजरता है, जो उस संस्करण को एलटीएस नामित तिथि से 18 महीने का सक्रिय समर्थन देता है। इन 18 महीनों के समाप्त होने के बाद, एक एलटीएस रिलीज़ को अतिरिक्त 12 महीनों का रखरखाव समर्थन प्राप्त होता है। वर्तमान रिलीज़ में आने के कुछ सप्ताह बाद एक सक्रिय संस्करण परिवर्तनों के नॉन-ब्रेकिंग बैकपोर्ट प्राप्त करता है। एक रखरखाव रिलीज़ केवल महत्वपूर्ण सुधार और प्रलेखन अद्यतन प्राप्त करता है। एलटीएस वर्किंग ग्रुप नोड.जेएस फाउंडेशन की तकनीकी संचालन समिति के सहयोग से रणनीति और नीति का प्रबंधन करता है।

तकनीकी विवरण
Node.js एक जावास्क्रिप्ट रनटाइम वातावरण है जो आने वाले अनुरोधों को एक लूप में संसाधित करता है, जिसे इवेंट लूप कहा जाता है।

आंतरिक
Node.js अतुल्यकालिक घटनाओं को संभालने के लिए हुड के नीचे libuv का उपयोग करता है। लिबव विंडोज और पॉज़िक्स-आधारित सिस्टम जैसे लिनक्स, मैकओएस, ओएसएस ऑन नॉनस्टॉप (सर्वर कंप्यूटर) और यूनिक्स दोनों पर नेटवर्क और फाइल सिस्टम की कार्यक्षमता के लिए एक अमूर्त परत है। HTTP समर्थन के लिए Node.js nghttp2 पर निर्भर करता है। संस्करण 20 के अनुसार, Node.js ada लाइब्रेरी का उपयोग करता है जो अप-टू-डेट WHATWG URL अनुपालन प्रदान करता है। संस्करण 19.5 के अनुसार, तेजी से यूनिकोड सत्यापन और ट्रांसकोडिंग के लिए Node.js simdutf लाइब्रेरी का उपयोग करता है.

थ्रेडिंग
Node.js नॉन-ब्लॉकिंग I/O कॉल का उपयोग करते हुए सिंगल थ्रेडिंग | सिंगल-थ्रेड इवेंट लूप पर काम करता है, जिससे यह थ्रेड संदर्भ स्विचिंग की लागत के बिना हजारों समवर्ती कनेक्शनों का समर्थन करने की अनुमति देता है। पर्यवेक्षक पैटर्न का उपयोग करने वाले सभी अनुरोधों के बीच एक ही थ्रेड साझा करने का डिज़ाइन अत्यधिक समवर्ती अनुप्रयोगों के निर्माण के लिए है, जहां I/O प्रदर्शन करने वाले किसी भी फ़ंक्शन को कॉलबैक (कंप्यूटर प्रोग्रामिंग) का उपयोग करना चाहिए। सिंगल-थ्रेडेड इवेंट लूप को समायोजित करने के लिए, Node.js libuv लाइब्रेरी का उपयोग करता है - जो बदले में, एक निश्चित आकार के थ्रेड पूल का उपयोग करता है जो कुछ गैर-ब्लॉकिंग एसिंक्रोनस I/O संचालन को संभालता है।

एक थ्रेड पूल Node.js में समानांतर कार्यों के निष्पादन को संभालता है। मुख्य थ्रेड फ़ंक्शन कॉल कार्यों को साझा कार्य कतार में पोस्ट करता है, जो थ्रेड पूल में थ्रेड्स को खींचता है और निष्पादित करता है। स्वाभाविक रूप से नॉन-ब्लॉकिंग सिस्टम फ़ंक्शंस जैसे कि नेटवर्किंग कर्नेल-साइड नॉन-ब्लॉकिंग सॉकेट्स में अनुवाद करता है, जबकि अंतर्निहित सिस्टम फ़ंक्शंस जैसे फ़ाइल I / O अपने स्वयं के थ्रेड्स पर ब्लॉकिंग तरीके से चलता है। जब थ्रेड पूल में कोई थ्रेड किसी कार्य को पूरा करता है, तो यह इसके बारे में मुख्य थ्रेड को सूचित करता है, जो बदले में जागता है और पंजीकृत कॉलबैक निष्पादित करता है।

इस एकल-थ्रेडेड दृष्टिकोण का एक नकारात्मक पक्ष यह है कि Node.js किसी अतिरिक्त मॉड्यूल, जैसे क्लस्टर, का उपयोग किए बिना चल रहे मशीन के CPU कोर की संख्या में वृद्धि करके ऊर्ध्वाधर स्केलिंग की अनुमति नहीं देता है, स्ट्रांगलूप प्रोसेस मैनेजर, या दोपहर 2. हालाँकि, डेवलपर libuv थ्रेड पूल में थ्रेड्स की डिफ़ॉल्ट संख्या बढ़ा सकते हैं। सर्वर ऑपरेटिंग सिस्टम | ऑपरेटिंग सिस्टम (OS) इन थ्रेड्स को कई कोर में वितरित करने की संभावना है। एक और समस्या यह है कि लंबे समय तक चलने वाली संगणनाएं और अन्य सीपीयू-बाउंड कार्य पूरा होने तक पूरे ईवेंट-लूप को फ्रीज कर देते हैं।

वी 8
V8 जावास्क्रिप्ट निष्पादन इंजन है जिसे शुरुआत में Google Chrome के लिए बनाया गया था। इसे 2008 में Google द्वारा ओपन-सोर्स किया गया था। C++ में लिखा गया, V8 जावास्क्रिप्ट स्रोत कोड को मूल मशीन कोड में समय-समय पर संकलित करता है। 2016 तक, इसमें इग्निशन, एक बायटेकोड दुभाषिया भी शामिल है।

पैकेज प्रबंधन
npm (सॉफ्टवेयर) Node.js सर्वर प्लेटफॉर्म के लिए पहले से इंस्टॉल पैकेज मैनेजर है। यह npm रजिस्ट्री से Node.js प्रोग्राम स्थापित करता है, तीसरे पक्ष के Node.js प्रोग्राम की स्थापना और प्रबंधन का आयोजन करता है। एनपीएम रजिस्ट्री में पैकेज सरल सहायक पुस्तकालयों जैसे लोदाश से लेकर टास्क रनर जैसे ग्रंट (सॉफ्टवेयर) तक हो सकते हैं।

एकीकृत एपीआई
Node.js को एक साइट के साथ एक ब्राउज़र के साथ जोड़ा जा सकता है, एक डेटाबेस जो JSON डेटा का समर्थन करता है (जैसे कि PostgreSQL, MongoDB, या CouchDB) और JSON एक एकीकृत जावास्क्रिप्ट डेवलपमेंट स्टैक के लिए। मॉडल-व्यू-कंट्रोलर, मॉडल दृश्य प्रस्तुतकर्ता, मॉडल व्यू व्यू मॉडल आदि जैसे अनिवार्य रूप से सर्वर-साइड डेवलपमेंट पैटर्न के अनुकूलन के साथ, Node.js क्लाइंट साइड और सर्वर के बीच समान मॉडल और सर्विस इंटरफेस के कोड के पुन: उपयोग की अनुमति देता है। ओर।

इवेंट लूप
Node.js ऑपरेटिंग सिस्टम के साथ पंजीकृत होता है इसलिए OS इसे कनेक्शन के बारे में सूचित करता है और कॉलबैक जारी करता है। Node.js रनटाइम के भीतर, प्रत्येक कनेक्शन एक छोटा हीप आवंटन है। परंपरागत रूप से, अपेक्षाकृत भारी OS प्रक्रियाओं या थ्रेड्स ने प्रत्येक कनेक्शन को संभाला। प्रक्रियाओं या थ्रेड्स के बजाय, स्केलेबिलिटी के लिए Node.js इवेंट लूप का उपयोग करता है। अन्य ईवेंट-संचालित सर्वरों के विपरीत, Node.js के ईवेंट लूप को स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है। इसके बजाय, कॉलबैक परिभाषित किए गए हैं, और सर्वर स्वचालित रूप से कॉलबैक परिभाषा के अंत में इवेंट लूप में प्रवेश करता है। Node.js ईवेंट लूप से बाहर निकलता है जब आगे कोई कॉलबैक निष्पादित नहीं किया जाता है।

वेबअसेंबली
Node.js WebAssembly को सपोर्ट करता है और Node 14 के पास WebAssembly#WASI, WebAssembly सिस्टम इंटरफेस का प्रायोगिक समर्थन है।

मूल बंधन
Node.js C (प्रोग्रामिंग भाषा)-आधारित API के माध्यम से ऐड-ऑन बनाने का एक तरीका प्रदान करता है जिसे N-API कहा जाता है, जिसका उपयोग लोड करने योग्य (आयात करने योग्य) बनाने के लिए किया जा सकता है।  C/C++ में लिखे सोर्स कोड से मॉड्यूल। मॉड्यूल को सीधे मेमोरी में लोड किया जा सकता है और जेएस पर्यावरण के भीतर सरल कॉमनजेएस मॉड्यूल के रूप में निष्पादित किया जा सकता है। N-API का कार्यान्वयन आंतरिक C/C++ Node.js और V8 ऑब्जेक्ट्स पर निर्भर करता है, जिसके लिए उपयोगकर्ताओं को भाषा बाइंडिंग की आवश्यकता होती है (निर्देश शामिल करें|#शामिल हैं) Node.js विशिष्ट उनके मूल स्रोत कोड में निर्देश शामिल करें।

जैसा कि Node.js API बाइनरी स्तर पर ब्रेकिंग परिवर्तनों के अधीन है, ठीक से काम करने के लिए मॉड्यूल को विशिष्ट Node.js संस्करणों के विरुद्ध बनाया और शिप किया जाना है। समस्या का समाधान करने के लिए, तीसरे पक्ष ने एपीआई के शीर्ष पर खुले स्रोत वाले С/С++ रैपर पेश किए हैं जो आंशिक रूप से समस्या को कम करते हैं। वे इंटरफेस को सरल करते हैं, लेकिन एक साइड इफेक्ट के रूप में वे जटिलता भी पेश कर सकते हैं जिससे अनुरक्षकों को निपटना पड़ता है। भले ही Node.js की मुख्य कार्यक्षमता जावास्क्रिप्ट बिल्ट-इन लाइब्रेरी में रहती है, C++ में लिखे गए मॉड्यूल का उपयोग क्षमताओं को बढ़ाने और अनुप्रयोगों के प्रदर्शन को बेहतर बनाने के लिए किया जा सकता है।

इस तरह के मॉड्यूल बनाने के लिए एक उपयुक्त सी ++ कंपाइलर और आवश्यक हेडर (बाद वाले आमतौर पर नोड.जेएस के साथ भेज दिए जाते हैं) की आवश्यकता होती है, उदाहरण के लिए, जीसीसी संकलक, बजना या माइक्रोसॉफ्ट विजुअल सी ++ ++ | एमएसवीसी ++।

एन-एपीआई जावा मूल इंटरफ़ेस  के समान है।

प्रोजेक्ट गवर्नेंस
2015 में, बड़े नोड.जेएस समुदाय की विभिन्न शाखाओं ने वेंडर-न्यूट्रल नोड.जेएस फाउंडेशन के तहत काम करना शुरू किया। संगठन का घोषित उद्देश्य एक खुले शासन मॉडल के माध्यम से नोड.जेएस और अन्य संबंधित मॉड्यूल के विकास में तेजी लाने में मदद करना है जो भागीदारी, तकनीकी योगदान और नोड में निवेशित पारिस्थितिकी तंत्र द्वारा दीर्घकालिक प्रबंधन के लिए एक रूपरेखा को प्रोत्साहित करता है। जेएस की सफलता। Node.js Foundation तकनीकी संचालन समिति (TSC) Node.js Foundation की तकनीकी शासी निकाय है। TSC कोर Node.js रेपो के साथ-साथ निर्भर और आसन्न परियोजनाओं के लिए जिम्मेदार है। आम तौर पर टीएससी इन परियोजनाओं के प्रशासन को कार्यकारी समूहों या समितियों को सौंपता है। LTS समूह जो दीर्घकालिक समर्थित रिलीज़ का प्रबंधन करता है, ऐसा ही एक समूह है। अन्य वर्तमान समूहों में वेबसाइट, स्ट्रीम, बिल्ड, डायग्नोस्टिक्स, i18n, इंजीलवाद, डॉकर, एडऑन एपीआई, बेंचमार्किंग, पोस्ट-मॉर्टम, इंटल, डॉक्यूमेंटेशन और टेस्टिंग शामिल हैं। अगस्त 2017 में, परियोजना की आचार संहिता से संबंधित विवाद के कारण टीएससी के एक तिहाई सदस्यों ने इस्तीफा दे दिया।

यह भी देखें

 * डेनो (सॉफ्टवेयर)—जावास्क्रिप्ट और टाइपस्क्रिप्ट के लिए एक बैक-एंड रनटाइम वातावरण, जिसे रयान डाहल द्वारा भी बनाया गया है।