Menggunakan ESLint di Geany
Lupakan sejenak mengenai kaul one day one article.
Kini saya lebih tertarik menulis bot Telegram menggunakan javascript. Membuat bot Telegram bukanlah hal yang baru bagi saya, bisa dilihat di https://github.com/rizaumami yang isinya mayoritas repo bot Telegram. Namun, ada beberapa hal baru dari bot kali ini yang cukup membuat menarik:
Javascript
, yang jarang atau sepertinya tidak pernah saya sentuh sebelumnya.- Ada beberapa layanan yang bisa digunakan untuk deploy bot
javascript
secara gratis - Bot API. Agak aneh, walau saya sering berkutat dengan bot Telegram, namun jarang menyentuh bot API. IMHO, keunggulan bot API hanyalah keyboard dan inline mode, di luar itu
telegram-cli
lebih unggul.
Tidak diragukan lagi, alasan kedua lah yang paling penting 😅
Namun bukan itu yang akan dijadikan bahasan artikel kali ini. Dalam artikel yang lalu, saya pernah menulis artikel mengenai shellcheck
yang berguna membantu menulis skrip bash
yang baik. Kali ini, tulisannya bertema bagaimana memasang linter eslint
di penyunting teks geany
.
Hmmm…. Apa dan mengapa itu eslint
dan geany
?
Saya bukanlah seorang coder. Menulis kode hanyalah sekedar hobby. Namun demikian, bukan berarti dalam menulis hanya asal skripnya jalan. Saya selalu berusaha membuat skrip yang baik, selain untuk memudahkan diri memahami cara kerja skrip tersebut, juga agar tidak menjadi cemoohan orang.
Di sinilah gunanya linter, untuk memeriksa skrip yang telah ditulis apakah telah memenuhi kaidah yang baik sesuai yang ditentukan. Sekilas mencari, didapati tiga linter yang banyak dipakai untuk memeriksa javascript
; (1) JSLint
, (2) JSHint
, dan (3) ESLint
.
Meski JSHint
paling populer, saya lebih memilih ESLint
. Tidak ada alasan teknis, hanya saja JSHint
terasa kaku dan strict, tidak luwes.
Menggunakan ESLint
bisa melalui baris perintah di terminal, atau memasangnya sebagai linter addons di penyunting teks. Namun sayangnya, geany
tidak ada dalam daftar penyunting teks yang didukung ESLint
.
But, worry not, kita dapat menggunakan fitur Set Build Commands dari geany
sebagai solusi. Here is how….
Pasang
ESLint
. Dicontohkan secara global.sudo npm install -g eslint
Pindah ke direktori proyek yang menggunakan
javascript
, misal$HOME/jshitbot
.cd ~/jshitbot
Buat berkas pengaturan.
eslint --init
Sampai langkah ini, kita telah dapat menggunakan ESLint
melalui terminal.
Dan langkah di bawah ini akan menyatukan ESLint
ke dalam geany
.
- Jalankan
geany
, kemudian buka menu Build ➜ Set Build Commands. Dalam jendela Set Build Commands isi kolom:
- Label. Bebas, misal dalam contoh gambar labelnya adalah ESLint.
Command. Isikan baris perintah berikut:
eslint -f compact "%f"
- Working directory. Isikan dengan string
%d
. Isi baris Error regular expression dengan baris berikut agar ketika baris error diklik, kita diarahkan menuju baris bersangkutan:
([^:]+): line ([0-9]+), col ([0-9]+)
- Pengaturan selesai. Tekan tombol OK.
Untuk menggunakannya, buka berkas javascript
kemudian tekan tombol F8
, atau melalui menu Build ➜ ESLint (misal ESLint adalah label yang kita pakai). Keluaran linter akan muncul pada Message Window geany
. Klik pada baris error, kita pun akan diarahkan menuju baris bersangkutan dalam berkas javascript
untuk melakukan perbaikan sesuai petunjuk error.
Code hard, code well….
Sumber: