11 poin oleh xguru 2024-10-05 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
laeyoung 2024-10-07

Markdown bagus ya