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:

  1. Javascript, yang jarang atau sepertinya tidak pernah saya sentuh sebelumnya.
  2. Ada beberapa layanan yang bisa digunakan untuk deploy bot javascript secara gratis
  3. 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:

    Set Build Commands di geany

    • 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: