नोड.जेएस

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

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

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

Node.js वितरित विकास परियोजना पहले Node.js फाउंडेशन द्वारा शासित थी, और अब ओपन JS फाउंडेशन बनाने के लिए JS फाउंडेशन के साथ विलय कर दिया गया है। ओपन JS फाउंडेशन को लिनक्स फाउंडेशन के सहयोगात्मक परियोजना कार्यक्रम द्वारा सुविधा प्रदान की जाती है।

Node.js सॉफ़्टवेयर के कॉर्पोरेट उपयोगकर्ताओं में गोडैडी, ग्रूपन, IBM, लिंक्डइन, माइक्रोसाफ्ट, नेटफ्लिक्स, पेपैल, SAP  वॉल-मार्ट, याहू !, और अमेज़ॅन वेब सर्विसेज शामिल हैं।

इतिहास
Node.js को शुरुआत में 2009 में रयान डाहल द्वारा लिखा गया था, पहले सर्वर-साइड जावास्क्रिप्ट वातावरण, नेटस्केप के लाइववायर प्रो वेब की शुरुआत के लगभग तेरह साल बाद विकसित किया था। प्रारंभिक रिलीज़ केवल Linux और Mac OS का समर्थन किया था। डाहल ने 2009 में सबसे लोकप्रिय वेब सर्वर, अपाचे HTTP सर्वर की सीमित संभावनाओं की आलोचना की, जिसमें बहुत सारे समवर्ती कनेक्शन (10,000 और अधिक तक) और कोड बनाने का सबसे आम तरीका (अनुक्रमिक प्रोग्रामिंग) को संभालने की क्षमता थी, जब कोड या तो अवरुद्ध हो जाता था। एक साथ कनेक्शन के मामले में संपूर्ण प्रक्रिया या निहित एकाधिक निष्पादन स्टैक है।

डाहल ने 8 नवंबर 2009 को उद्घाटन यूरोपीय जेएसकॉन्फ में इस परियोजना का प्रदर्शन किया। Node.js ने Google के Chrome V8 JavaScript इंजन, एक इवेंट लूप और एक निम्न-स्तरीय I/O अप्लिकेशन प्रोग्रामिंग अंतरफलक को संयोजित किया था।

जनवरी 2010 में, Node.js वातावरण के लिए npm नामक एक पैकेज मैनेजर पेश किया गया था। पैकेज प्रबंधक प्रोग्रामर्स के लिए Node.js पैकेजों के स्रोत कोड को प्रकाशित और साझा करना आसान बनाता है और इसे पैकेजों की स्थापना, अद्यतन और अनइंस्टॉलेशन को सरल बनाने के लिए डिज़ाइन किया गया है।

जून 2011 में, माइक्रोसॉफ्ट और जॉयंट ने Node.js का एक देशी विंडोज़ संस्करण लागू किया।[33] विंडोज़ को सपोर्ट करने वाला पहला Node.js बिल्ड जुलाई 2011 में जारी किया गया था।

जनवरी 2012 में, डाहल ने परियोजना का प्रबंधन करने के लिए सहकर्मी और एनपीएम (सॉफ्टवेयर) निर्माता इसहाक श्लुएटर को बढ़ावा देते हुए पद छोड़ दिया था। जनवरी 2014 में, श्लुएटर ने घोषणा की कि टिमोथी जे. फॉन्टेन इस परियोजना का नेतृत्व करेंगे।

दिसंबर 2014 में, फेडर इंडुटनी ने io.js शुरू किया, जो Node.js का एक हिस्सा है। जॉयंट के शासन पर आंतरिक संघर्ष के कारण, io.js को एक अलग तकनीकी समिति के साथ एक खुले शासन विकल्प के रूप में बनाया गया था। Node.js के विपरीत, लेखकों ने io.js को Google V8 जावास्क्रिप्ट इंजन की नवीनतम रिलीज़ के साथ अद्यतन रखने की योजना बनाई है।

फरवरी 2015 में, एक तटस्थ Node.js फाउंडेशन बनाने के इरादे की घोषणा की गई थी। जून 2015 तक, Node.js और io.js समुदायों ने Node.js फाउंडेशन के तहत एक साथ काम करने के लिए मतदान किया।

सितंबर 2015 में, Node.js v0.12 और io.js v3.3 को वापस Node v4.0 में एक साथ मिला दिया गया। इस विलय से Node.js में V8 ES6 सुविधाएँ और एक दीर्घकालिक समर्थन रिलीज़ चक्र लाया। 2016 तक, io.js वेबसाइट अनुशंसा करती है कि डेवलपर्स Node.js पर वापस चले जाएं और मर्ज के कारण io.js की कोई और रिलीज़ की योजना नहीं बनाई गई है।

2019 में, JS फाउंडेशन और Node.js फाउंडेशन का विलय होकर OpenJS फाउंडेशन बना गया।

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

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

जावास्क्रिप्ट एकमात्र ऐसी भाषा है जिसका Node.js मूल रूप से समर्थन करता है, लेकिन कई कंपाइल-टू-JS लैंगुएजेस उपलब्ध हैं। परिणामस्वरूप, Node.js अनुप्रयोगों को कॉफीस्क्रिप्ट, डार्ट, टाइपस्क्रिप्ट, क्लोजरस्क्रिप्ट और अन्य में लिखा जा सकता है।

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

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

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

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

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

ओपन-सोर्स समुदाय ने अनुप्रयोगों के विकास में तेजी लाने के लिए वेब फ्रेमवर्क विकसित किया है। इस तरह के फ्रेमवर्क में कनेक्ट, एक्सप्रेस.जेएस, सॉकेट.आईओ, फेदर्स.जेएस, कोआ.जेएस, हापी.जेएस, सेल्स.जेएस, मेटियोर, डर्बी और कई अन्य शामिल हैं। अन्य भाषाओं या माइक्रोसॉफ्ट .NET जैसे रनटाइम वातावरण के साथ इंटरफेस करने के लिए विभिन्न पैकेज भी बनाए गए हैं।

आधुनिक डेस्कटॉप आईडीई विशेष रूप से Node.js अनुप्रयोगों के लिए संपादन और डिबगिंग सुविधाएँ प्रदान करते हैं। ऐसे आईडीई में एटम, ब्रैकेट्स, जेटब्रेन्स MPS वेबस्टॉर्म, माइक्रोसॉफ्ट विजुअल स्टूडियो शामिल हैं।    ) नेटबीन्स, नोडेक्लिप्स एनाइड स्टूडियो (एक्लिप्स-आधारित), और विजुअल स्टूडियो कोड  कुछ ऑनलाइन वेब-आधारित IDE भी Node.js का समर्थन करते हैं, जैसे Codeanywhere, Codenvy, Cloud9 IDE, Koding, और Node-RED में विजुअल फ्लो एडिटर है।

Node.js जेलास्टिक, गूगल क्लाउड प्लेटफ़ॉर्म, AWS इलास्टिक बीनस्टॉक, जॉयंट और अन्य जैसे कई क्लाउड-होस्टिंग प्लेटफ़ॉर्म पर समर्थित है।

विमोचन
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 में, परियोजना की आचार संहिता से संबंधित विवाद के कारण टीएससी के एक तिहाई सदस्यों ने इस्तीफा दे दिया।

यह भी देखें

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