- ESLint ने पिछले जुलाई में घोषणा की थी कि वह आगे चलकर ESLint को एक अधिक सामान्य उपयोग वाले linter में बदलने और सभी भाषाओं के लिए linting उपलब्ध कराने की योजना बना रहा है
- पिछले कुछ महीनों में JavaScript-विशिष्ट हिस्सों को अलग निकालने का काम किया गया, और इसी काम के परिणामस्वरूप अब ESLint JSON और Markdown linting को सपोर्ट करता है
@eslint/json के साथ JSON linting
@eslint/json प्लगइन आधिकारिक रूप से समर्थित language plugin है
- यह प्लगइन JSON, JSONC (comments वाला JSON) और JSON5 के लिए parsing उपलब्ध कराता है
- प्लगइन का उपयोग करने के लिए इसे npm से install करना होगा और config file को update करना होगा
- प्लगइन में कुछ built-in rules शामिल हैं, और अधिक सुझावों की प्रतीक्षा है
@eslint/markdown के साथ Markdown linting
@eslint/markdown प्लगइन eslint-plugin-markdown का next-generation version है और आधिकारिक रूप से समर्थित language plugin है
- यह प्लगइन CommonMark और GitHub-Flavored Markdown के लिए parsing और rules प्रदान करता है
- प्लगइन का उपयोग करने के लिए इसे npm से install करना होगा और config file को update करना होगा
- JSON प्लगइन की तरह इसमें भी built-in rules हैं, और अधिक सुझावों की प्रतीक्षा है
custom rules लिखना और Code Explorer का उपयोग
@eslint/json और @eslint/markdown, JavaScript की तरह, source code को AST में parse करते हैं और AST को traverse करके rules चलाते हैं
- इसलिए JavaScript की तरह ही JSON और Markdown के लिए custom rules लिखे जा सकते हैं
- मुख्य अंतर AST format का है; JSON, Momoa AST का उपयोग करता है और Markdown, mdast का उपयोग करता है
- अलग-अलग AST formats की जांच में मदद करने वाले resources बहुत अधिक नहीं हैं, इसलिए Code Explorer लॉन्च किया गया है
- Code Explorer की मदद से custom rules बनाने में सहूलियत के लिए विभिन्न भाषाओं के AST को देखा और explore किया जा सकता है
language plugin लिखना
- ESLint language को इस तरह डिज़ाइन किया गया है कि नई
languages key का उपयोग करके उसे हर plugin में शामिल किया जा सके
@eslint/json और @eslint/markdown प्लगइन सिर्फ JSON और Markdown linting ही नहीं देते, बल्कि language बनाने के तरीके के उदाहरण के रूप में भी दिए गए हैं
- language documentation देखकर आप अपनी खुद की language बनाना सीख सकते हैं
निष्कर्ष
- JavaScript के अलावा दूसरी भाषाओं को lint करना ESLint के roadmap का हिस्सा रहा है, इसलिए इस milestone तक पहुंचना बेहद उत्साहजनक है
- ESLint का दीर्घकालिक लक्ष्य यह है कि web projects में उपयोग होने वाली हर तरह की files को आधिकारिक रूप से समर्थित language plugins या community द्वारा लिखे गए plugins के माध्यम से lint किया जा सके
- JavaScript, JSON और Markdown के साथ यह लक्ष्य पहले ही अच्छी तरह आगे बढ़ चुका है
1 टिप्पणियां
मार्कडाउन अच्छा है