TypeScript
TSLint - कोड गुणवत्ता और स्थिरता का आश्वासन
खोज…
परिचय
TSLint कोड का स्थैतिक विश्लेषण करता है और कोड में त्रुटियों और संभावित समस्याओं का पता लगाता है।
मूल tslint.json सेटअप
यह एक बुनियादी tslint.json
सेटअप है जो
-
any
उपयोग को रोकता है - घुंघराले ब्रेसिज़ की आवश्यकता के लिए
if
/else
/for
/do
/while
बयान - तार के लिए दोहरे उद्धरण चिह्नों (
"
) का उपयोग करने की आवश्यकता होती है
{
"rules": {
"no-any": true,
"curly": true,
"quotemark": [true, "double"]
}
}
कम प्रोग्रामिंग त्रुटियों के लिए कॉन्फ़िगरेशन
इस tslint.json उदाहरण में अधिक टंकणों को लागू करने, सामान्य त्रुटियों को पकड़ने या अन्यथा भ्रामक निर्माणों को पकड़ने के लिए कॉन्फ़िगरेशन का एक सेट होता है जो कि बग का उत्पादन करने के लिए प्रवृत्त होते हैं और टाइपस्क्रिप्ट योगदानकर्ताओं के लिए कोडिंग दिशानिर्देशों का पालन करते हैं ।
इस नियम को लागू करने के लिए, अपनी निर्माण प्रक्रिया में tslint शामिल करें और tsc के साथ संकलन करने से पहले अपने कोड की जाँच करें।
{
"rules": {
// TypeScript Specific
"member-access": true, // Requires explicit visibility declarations for class members.
"no-any": true, // Diallows usages of any as a type declaration.
// Functionality
"label-position": true, // Only allows labels in sensible locations.
"no-bitwise": true, // Disallows bitwise operators.
"no-eval": true, // Disallows eval function invocations.
"no-null-keyword": true, // Disallows use of the null keyword literal.
"no-unsafe-finally": true, // Disallows control flow statements, such as return, continue, break and throws in finally blocks.
"no-var-keyword": true, // Disallows usage of the var keyword.
"radix": true, // Requires the radix parameter to be specified when calling parseInt.
"triple-equals": true, // Requires === and !== in place of == and !=.
"use-isnan": true, // Enforces use of the isNaN() function to check for NaN references instead of a comparison to the NaN constant.
// Style
"class-name": true, // Enforces PascalCased class and interface names.
"interface-name": [ true, "never-prefix" ], // Requires interface names to begin with a capital ‘I’
"no-angle-bracket-type-assertion": true, // Requires the use of as Type for type assertions instead of <Type>.
"one-variable-per-declaration": true, // Disallows multiple variable definitions in the same declaration statement.
"quotemark": [ true, "double", "avoid-escape" ], // Requires double quotes for string literals.
"semicolon": [ true, "always" ], // Enforces consistent semicolon usage at the end of every statement.
"variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"] // Checks variable names for various errors. Disallows the use of certain TypeScript keywords (any, Number, number, String, string, Boolean, boolean, undefined) as variable or parameter. Allows only camelCased or UPPER_CASED variable names. Allows underscores at the beginning (only has an effect if “check-format” specified).
}
}
डिफ़ॉल्ट के रूप में पूर्वनिर्धारित नियम का उपयोग करना
tslint
एक मौजूदा नियम सेट का विस्तार कर सकता है और इसे डिफ़ॉल्ट tslint:recommended
साथ शिप किया tslint:recommended
और tslint:latest
।
tslint:recommended
एक स्थिर, कुछ हद तकtslint:recommended
सेट है जिसे हम सामान्य टाइपस्क्रिप्ट प्रोग्रामिंग के लिए प्रोत्साहित करते हैं। यह कॉन्फ़िगरेशन सेवर का अनुसरण करता है, इसलिए इसमें छोटे या पैच रिलीज़ में परिवर्तन नहीं होंगे।
tslint:latest
फैली tslint: अनुशंसित है और हर TSLint रिलीज में नवीनतम नियमों के लिए कॉन्फ़िगरेशन को शामिल करने के लिए लगातार अपडेट किया जाता है। इस कॉन्फिगरेशन के इस्तेमाल से छोटे रिलीज में बदलाव हो सकते हैं क्योंकि नए नियम सक्षम हैं जो आपके कोड में लिंट फेलियर का कारण बनते हैं। जब TSLint एक प्रमुख संस्करण टक्कर में पहुंचता है, तो tslint: अनुशंसित को tslint के समान होने के लिए अपडेट किया जाएगा: नवीनतम।
डॉक्स और पूर्वनिर्धारित नियमों का स्रोत कोड
तो एक बस का उपयोग कर सकते हैं:
{
"extends": "tslint:recommended"
}
एक समझदार शुरुआती विन्यास है।
फिर नियमों के माध्यम से उस पूर्व निर्धारित से नियमों को अधिलेखित किया जा सकता rules
, उदाहरण के लिए नोड डेवलपर्स के लिए यह false
करने के लिए no-console
सेट करने के लिए समझ में आता है:
{
"extends": "tslint:recommended",
"rules": {
"no-console": false
}
}
स्थापना और सेटअप
Tslint रन कमांड स्थापित करने के लिए
npm install -g tslint
Tslint फ़ाइल tslint.json
माध्यम से कॉन्फ़िगर किया गया है। डिफ़ॉल्ट कॉन्फ़िगरेशन को प्रारंभ करने के लिए कमांड चलाएँ
tslint --init
फ़ाइल रन कमांड में संभावित त्रुटियों के लिए फ़ाइल की जांच करने के लिए
tslint filename.ts
TSLint नियमों के समूह
येमन जीनियरेटर इन सभी प्रीसेट का समर्थन करता है और इसका विस्तार भी किया जा सकता है: