create-react-app के तहत एक नया प्रोजेक्ट बनाते समय, आपको postcss में पाई गई भेद्यता के बारे में तुरंत चेतावनी मिलती है।

Npm द्वारा रिपोर्ट की गई समस्या: https://www.npmjs.com/advisories/1693

संबंधित खुले मुद्दे यहां देखे जा सकते हैं:

इस मुद्दे को postcss v8.2.10 पर ठीक कर दिया गया है, लेकिन यह अभी भी मौजूद है जब नए प्रोजेक्ट बनाते समय react-scripts ने अभी तक निर्भरता को अपग्रेड नहीं किया है।

तो, यहाँ मेरी समस्या यह है कि मैं अब बिल्ड नहीं चला सकता क्योंकि वे भेद्यता के कारण विफल हो जाते हैं।

चूंकि मैं अपने सामान पर काम करना जारी रखने से पहले इसे पैच करने के लिए इंतजार नहीं कर सकता (वे एक साल पहले से इसके बारे में जानते हैं), क्या इसे हल करने के लिए कुछ कामकाज लागू किया जा सकता है?

मैंने package.json पर एक postcss रिज़ॉल्यूशन जोड़ने का प्रयास किया:

  "resolutions": {
    "postcss": "^8.2.10"
  },

लेकिन वह मुझे बहुत दूर नहीं ले गया।

कोई विचार?

12
ale917k 12 मई 2021, 13:23

4 जवाब

सबसे बढ़िया उत्तर

इस लेख ने मेरी मदद की। https://www.npmjs.com/package/npm-force-resolutions . आपके द्वारा लिखे गए प्रस्तावों का उपयोग करने के लिए आपको इस स्क्रिप्ट को package.json में जोड़कर उन्हें बाध्य करना चाहिए

"scripts": {
  "preinstall": "npx npm-force-resolutions"
}

उसके बाद npm install चलाएं और इसे सभी नेस्टेड निर्भरता को अधिलेखित कर देना चाहिए

वैसे भी यह कई निर्भरताओं के कारण काम नहीं करेगा। अच्छी खबर यह है कि postcss 8 के लिए समर्थन पहले ही मर्ज कर दिया गया है और संभवत: जल्द ही जारी किया जाएगा https: //github.com/facebook/create-react-app/issues/9664

11
Gîrbu Nicolae 12 मई 2021, 16:09

वैकल्पिक रूप से, आप इसे npm के बजाय यार्न ऑडिट का उपयोग करके हल कर सकते हैं।

yarn audit --groups postcss

यह आदेश सुरक्षा जांच से केवल पोस्टसीएसएस पैकेज की उपेक्षा करेगा।

-1
Nayan shah 18 मई 2021, 17:47

मैं यहां अपनी पोस्ट में browserslist पैकेज के कारण ऑडिट के मुद्दों को एक मामूली भेद्यता तक कम करने में कामयाब रहा:

https://stackoverflow.com/a/68046680/1669123

postcss को रिज़ॉल्यूशन में संस्करण 8.x.x में अपडेट करने से मेरे लिए समस्याएँ उत्पन्न होती हैं। मैं एक वेब देव नवागंतुक हूं और प्लगइन के लिए संस्करण 8 तोड़ने वाले परिवर्तनों का अनुमान लगाना अपराधी है। संस्करण 7.0.36 नवीनतम संस्करण 7 postcss है जो मेरे लिए बनाता है और चलता है। चेंजलॉग बताता है कि इस संस्करण में संस्करण 8 से ReDoS फिक्स बैकपोर्ट किया गया है। मैं browserslist पैकेज समस्या को हल नहीं कर सकता, इसके बिना रनटाइम पर 'मॉड्यूल नहीं मिला' त्रुटियां। मैं अनुमान लगा रहा हूँ कि हमें अधिक गहन समाधान के लिए react-scripts को अपडेट करने के लिए CRA टीम की प्रतीक्षा करनी होगी।

0
Darren Evans 19 जून 2021, 18:05

Yarn पर स्विच करने से यह बहुत आसान हो जाता है।

rm -rf ./node_modules 
rm ./package-lock.json

अपना package.json संपादित करें:
npm / yarn audit से अपग्रेड करने के लिए कोई अन्य पैकेज संस्करण यहां भी जोड़ें

  "resolutions": 
  {
    "postcss": "^8.2.10"
  },

yarn install फिर yarn audit को चलाने से जादुई शब्द निकलेंगे:

0 vulnerabilities found - Packages audited: 999
✨  Done in 1.10s.
1
lys 10 जून 2021, 04:00