इस प्रोजेक्ट के बारे में

eslint-plugin-react, ESLint के लिए React-विशिष्ट लिंटिंग नियमों का एक संग्रह है। यह डेवलपर्स को React सर्वोत्तम प्रथाओं को लागू करने, सामान्य गलतियों को पकड़ने और React प्रोजेक्ट्स में सुसंगत कोड शैली बना रखने में मदद करता है। इंस्टॉलेशन npm के माध्यम से सीधा है: npm install eslint eslint-plugin-react --save-dev। यह प्लगइन पुराने .eslintrc कॉन्फ़िरेशन सिस्टम और ESLint v8.21.0 में पेश किए गए नए eslint.config.js फ्लैट कॉन्फ़िग सिस्टम दोनों के साथ काम करता है। यह प्लगइन कई साझा करने योग्य कॉन्फ़िगरेशन निर्यात करता है: recommended (React की अच्छी प्रथाओं को लागू करता है), all (सभी उपलब्ध नियमों को शामिल करता है), और jsx-runtime (React 17+ के नए JSX ट्रांसफ़ॉर्म के लिए)। फ्लैट कॉन्फ़ि वेरिएंट भी flat.recommended, flat.all, और flat['jsx-runtime'] के रूप में उपलब्ध हैं। ये कॉन्फ़िरेशन पार्सर विकल्पों में JSX को स्वचालित रूप से सक्षम कर देते हैं। कॉन्फ़िगरेशन react.pragma, react.fragment, react.version, react.createClass, propWrapperFunctions, componentWrapperFunctions, formComponents, और linkComponents के लिए साझा सेटिंग्स का समर्थन करता है। ये सेटिंग्स MobX observer, styled-components, कस्टम फ़ॉर्म कंपोनेंट्स, या कस्टम लिंक कंपोनेंट्स का उपयोग करने वाले प्रोजेक्ट्स के लिए अनुकूलन की अनुमति देती हैं। इस प्लगइन में बड़ी संख्या में नियम शामिल हैं जो JSX फ़ॉर्मेटिंग (jsx-indent, jsx-curly-spacing, jsx-props-no-multi-spaces), कंपोनेंट परिभाषाए (display-name, function-component-definition), props सत्यापन (jsx-no-duplicate-props, default-props-match-prop-types), hooks (hook-use-state, forward-ref-uses-ref), एक्सेसिबिलिटी (button-has-type, iframe-missing-sandbox), सुरक्षा (jsx-no-target-blank, jsx-no-script-url), और कई अन्य को कवर करते हैं। कई नियम --fix CLI विकल्प के माध्यम से स्वचालित रूप से ीक किए जा सकते हैं, और कुछ एडिटर इंटीग्रेशन के माध्यम से मैन्युअल फ़िक्स सुझाव प्रदान करते हैं। नियमों की सूची में क्रॉस चिह्न के साथ चिह्नित अप्रचलित नियम शामिल हैं, और यह प्लगइन ESLint v8 और v9 दोनों के सा संगतता बनाए रखता है।