ESLint Resmi Mendukung Linting JSON dan Markdown
(eslint.org)- Pada Juli lalu, ESLint mengumumkan rencana untuk mengubah ESLint menjadi linter yang lebih umum dan menyediakan kemampuan linting untuk semua bahasa
- Selama beberapa bulan, mereka mengerjakan pemisahan bagian-bagian yang spesifik untuk JavaScript, dan sebagai hasilnya ESLint kini mendukung linting JSON dan Markdown
Linting JSON dengan @eslint/json
- Plugin
@eslint/jsonadalah plugin bahasa yang didukung secara resmi - Plugin ini menyediakan parsing untuk JSON, JSONC (JSON dengan komentar), dan JSON5
- Untuk menggunakan plugin ini, Anda perlu menginstalnya dari npm dan memperbarui file konfigurasi
- Plugin ini memiliki beberapa aturan bawaan, dan mereka menantikan lebih banyak usulan
Linting Markdown dengan @eslint/markdown
- Plugin
@eslint/markdownadalah versi generasi berikutnya darieslint-plugin-markdowndan merupakan plugin bahasa yang didukung secara resmi - Plugin ini menyediakan parsing dan aturan untuk CommonMark dan GitHub-Flavored Markdown
- Untuk menggunakan plugin ini, Anda perlu menginstalnya dari npm dan memperbarui file konfigurasi
- Seperti plugin JSON, plugin ini juga memiliki aturan bawaan dan menantikan lebih banyak usulan
Menulis aturan kustom dan menggunakan Code Explorer
@eslint/jsondan@eslint/markdown, seperti halnya JavaScript, mem-parsing source code menjadi AST dan menjalankan aturan dengan menelusuri AST- Karena itu, seperti pada JavaScript, Anda juga dapat menulis aturan kustom untuk JSON dan Markdown
- Perbedaan utamanya ada pada format AST: JSON menggunakan Momoa AST dan Markdown menggunakan mdast
- Karena tidak banyak sumber daya yang membantu memeriksa format AST lain, mereka merilis Code Explorer
- Dengan Code Explorer, Anda dapat melihat dan menjelajahi AST dari berbagai bahasa untuk membantu membuat aturan kustom
Menulis plugin bahasa
- Bahasa di ESLint dirancang agar dapat disertakan dalam semua plugin menggunakan kunci
languagesyang baru - Plugin
@eslint/jsondan@eslint/markdowntidak hanya menyediakan linting untuk JSON dan Markdown, tetapi juga disajikan sebagai contoh cara membuat bahasa - Anda dapat mempelajari cara membuat bahasa Anda sendiri dengan merujuk ke dokumentasi bahasa
Kesimpulan
- Linting bahasa selain JavaScript telah lama ada dalam roadmap ESLint, jadi mereka sangat antusias bisa mencapai tonggak ini
- Tujuan jangka panjang ESLint adalah memungkinkan linting untuk semua jenis file yang dapat digunakan dalam proyek web, baik melalui plugin bahasa yang didukung resmi maupun plugin buatan komunitas
- Dengan JavaScript, JSON, dan Markdown, mereka sudah melangkah mantap menuju tujuan tersebut
1 komentar
Markdown bagus ya