- 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/json adalah 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/markdown adalah versi generasi berikutnya dari eslint-plugin-markdown dan 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/json dan @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
languages yang baru
- Plugin
@eslint/json dan @eslint/markdown tidak 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