
npq v3.24.0
npm पैकेजों को pre-install चरण में ऑडिट करके सुरक्षित रूप से इंस्टॉल करें
NPQ दस्तावेज़ीकरण
इस निर्देशिका में NPQ (Node Package Quality) सुरक्षा ऑडिटिंग टूल के लिए व्यापक दस्तावेज़ीकरण शामिल है।
मुख्य दस्तावेज़ीकरण
optional-features.md
वैकल्पिक सुरक्षा सुविधाओं का कॉन्फ़िगरेशन और उपयोग, जिसमें हालिया सुधार और बग फिक्स शामिल हैं।
age.marshall.md
Age Marshall सुरक्षा घटक का विस्तृत दस्तावेज़ीकरण जो पैकेज की आयु और परिपक्वता को मान्य करता है।
फीचर दस्तावेज़ीकरण
feature/ निर्देशिका में विशिष्ट सुविधाओं और कार्यान्वयनों के लिए विस्तृत दस्तावेज़ीकरण शामिल है:
हालिया विकास
test-coverage-improvements.md- व्यापक टेस्ट कवरेज सुधार जिसने समग्र कवरेज को 84.4% से बढ़ाकर 93.39% कर दियाsignature-verification-fix.md- वर्जन रेंज (जैसे,@angular/common@^20.2.4) के साथ हस्ताक्षर सत्यापन के लिए महत्वपूर्ण बग फिक्स
मौजूदा सुविधाएँ
auto-continue.md- ऑटो-कंटिन्यू सुविधा का दस्तावेज़ीकरण जो पैकेज इंस्टॉलेशन वर्कफ़्लो को सुव्यवस्थित करता हैexit-codes.md-npqऔरnpq-heroप्रोसेस एग्ज़िट व्यवहार के लिए संदर्भjson-output.md- CI और स्वचालन के लिए वर्जन-आधारित, मशीन-पठनीय केवल-ऑडिट आउटपुटmalicious-package.md- Snyk/OSV डेटा के माध्यम से ज्ञात-दुर्भावनापूर्ण पैकेज पहचान का दस्तावेज़ीकरणpacote-dependency-reduction.md- वैकल्पिक pacote निर्भरता कमी के लिए कार्यान्वयन सारांश
दस्तावेज़ीकरण मानक
संरचना
- प्रत्येक सुविधा को
feature/में अपनी स्वयं की मार्कडाउन फ़ाइल मिलती है - मुख्य कार्यक्षमता रूट डॉक्स स्तर पर दस्तावेज़ित की जाती है
- कोड उदाहरणों के साथ तकनीकी कार्यान्वयन विवरण शामिल किए जाते हैं
- उपयोग उदाहरणों के साथ उपयोगकर्ता-सामना वाला कॉन्फ़िगरेशन दस्तावेज़ित किया जाता है
सामग्री दिशानिर्देश
- अवलोकन: फीचर/घटक का संक्षिप्त विवरण
- तकनीकी डिज़ाइन: आर्किटेक्चर और कार्यान्वयन विवरण
- उपयोग उदाहरण: कोड स्निपेट के साथ व्यावहारिक उदाहरण
- परीक्षण: कवरेज और सत्यापन जानकारी
- भविष्य के विचार: रखरखाव और विकास नोट्स
Marshall दस्तावेज़ीकरण
Marshall घटक NPQ में मुख्य सुरक्षा सत्यापन मॉड्यूल हैं। प्रत्येक marshall एक विशिष्ट सुरक्षा चिंता पर केंद्रित है:
- Age Marshall (
age.marshall.md) - पैकेज आयु और परिपक्वता सत्यापन - Signature Marshall - NPM रजिस्ट्री हस्ताक्षर सत्यापन (
signature-verification-fix.mdदेखें) - Provenance Marshall - पैकेज बिल्ड प्रमाणीकरण सत्यापन
- Snyk Marshall - भेद्यता डेटाबेस एकीकरण
- Typosquatting Marshall - पैकेज नाम समानता पहचान
दस्तावेज़ीकरण में योगदान
नई सुविधाएँ जोड़ते समय या महत्वपूर्ण परिवर्तन करते समय:
- फीचर दस्तावेज़ीकरण:
feature/निर्देशिका में एक नई फ़ाइल बनाएँ - इंडेक्स अपडेट करें: इस README में प्रविष्टि जोड़ें
- क्रॉस-रेफरेंस: संबंधित दस्तावेज़ीकरण फ़ाइलें अपडेट करें
- उदाहरण: व्यावहारिक उपयोग उदाहरण शामिल करें
- परीक्षण: टेस्ट कवरेज और सत्यापन दस्तावेज़ित करें
त्वरित संदर्भ
| विषय | फ़ाइल | उद्देश्य |
|---|---|---|
| वैकल्पिक सुविधाएँ | optional-features.md | फीचर कॉन्फ़िगरेशन और हालिया सुधार |
| आयु सत्यापन | age.marshall.md | पैकेज आयु और परिपक्वता सुरक्षा जाँच |
| टेस्ट कवरेज | feature/test-coverage-improvements.md | हालिया टेस्ट सूट संवर्द्धन |
| हस्ताक्षर सत्यापन | feature/signature-verification-fix.md | वर्जन रेंज बग फिक्स और सत्यापन |
| ऑटो-कंटिन्यू | feature/auto-continue.md | स्वचालित इंस्टॉलेशन वर्कफ़्लो |
| JSON ऑडिट आउटपुट | feature/json-output.md | CI के लिए वर्जन-आधारित मशीन-पठनीय ऑडिट परिणाम |
| एग्ज़िट कोड | feature/exit-codes.md | CLI और पैकेज-मैनेजर पासथ्रू एग्ज़िट व्यवहार |
| दुर्भावनापूर्ण पैकेज | feature/malicious-package.md | ज्ञात-दुर्भावनापूर्ण पैकेज पहचान और रिपोर्टिंग |
| निर्भरता कमी | feature/pacote-dependency-reduction.md | वैकल्पिक निर्भरता प्रबंधन |
प्रोजेक्ट संदर्भ
- विकास - स्थानीय सेटअप, वर्कफ़्लो और उपयोगी कमांड।
- परीक्षण - टेस्ट कमांड, टेस्ट संगठन और सत्यापन अपेक्षाएँ।
- आर्किटेक्चर - रिपॉजिटरी संरचना, पैकेज सीमाएँ और महत्वपूर्ण फ़्लो।
- परंपराएँ - कोडिंग, दस्तावेज़ीकरण और रखरखाव परंपराएँ।
डिज़ाइन विनिर्देश
-
गैर-इंटरैक्टिव इंस्टॉल सुरक्षा - स्पष्ट स्वचालन और कोडिंग-एजेंट ऑप्ट-इन के साथ फेल-क्लोज़्ड गैर-TTY इंस्टॉल के लिए स्वीकृत डिज़ाइन।
-
गैर-इंटरैक्टिव इंस्टॉल सुरक्षा - फेल-क्लोज़्ड गैर-TTY इंस्टॉल रूटिंग और कोडिंग-एजेंट पासथ्रू के लिए टेस्ट-फर्स्ट योजना।
-
शेल-मुक्त पैकेज मैनेजर लॉन्चिंग - शेल कमांड पुनर्निर्माण के बिना पैकेज-मैनेजर तर्क अग्रेषित करने के लिए स्वीकृत डिज़ाइन।
-
कस्टम रजिस्ट्री समर्थन - npm-संगत Artifactory और निजी रजिस्ट्री समर्थन के लिए स्वीकृत डिज़ाइन।
-
कोडिंग-एजेंट JSON पहचान - कोडिंग-एजेंट वातावरण में स्वचालित रूप से JSON ऑडिट मोड चुनने के लिए स्वीकृत डिज़ाइन।
-
JSON ऑडिट आउटपुट - वर्जन-आधारित, गैर-इंटरैक्टिव मशीन-पठनीय ऑडिट परिणामों के लिए स्वीकृत डिज़ाइन।
-
समाप्त-डोमेन मेंटेनर पहचान चेतावनियाँ - विशेषता-योग्य समाप्त-डोमेन चेतावनियों के लिए स्वीकृत डिज़ाइन।
-
समाप्त-डोमेन हल किया गया वर्जन - समाप्त-डोमेन जाँचों के लिए सटीक निर्भरता वर्जन हल करने का डिज़ाइन।
कार्यान्वयन योजनाएँ
- गैर-इंटरैक्टिव इंस्टॉल सुरक्षा - फेल-क्लोज़्ड गैर-TTY इंस्टॉल रूटिंग और कोडिंग-एजेंट पासथ्रू के लिए टेस्ट-फर्स्ट योजना।
- शेल-मुक्त पैकेज मैनेजर लॉन्चिंग - शेल कमांड पुनर्निर्माण के बिना पैकेज मैनेजर लॉन्च करने के लिए टेस्ट-फर्स्ट योजना।
- कस्टम रजिस्ट्री समर्थन - मुद्दा #429 के लिए कार्य-दर-कार्य कार्यान्वयन योजना।
- कोडिंग-एजेंट JSON पहचान -
npqऔरnpq-heroदोनों में मुद्दा #426 के लिए टेस्ट-फर्स्ट कार्यान्वयन योजना। - JSON ऑडिट आउटपुट - वर्जन-आधारित, केवल-ऑडिट JSON CLI आउटपुट के लिए कार्य-दर-कार्य योजना।
- समाप्त-डोमेन हल किया गया वर्जन - समाप्त-डोमेन जाँचों में सटीक निर्भरता-वर्जन समाधान के लिए कार्यान्वयन योजना।
- समाप्त-डोमेन मेंटेनर पहचान चेतावनियाँ - विशेषता-योग्य समाप्त-डोमेन चेतावनियों के लिए टेस्ट-फर्स्ट कार्यान्वयन योजना।