OOZOU
Hubungi Kami
Kembali ke TIL
ruby on rails

Mengabaikan Bundled Gems untuk Rubocop dan ESLint di GitHub Actions

19 Januari 2022

Proyek Rails sering menginstal gem ke direktori vendor di GitHub Actions agar gem tersebut dapat di-cache untuk eksekusi berikutnya.

Jika Anda menggunakan code linter di dalam action, Anda perlu mengecualikan vendor/bundle/\* untuk mencegah false positive

Untuk ESLint, hal ini dapat dikonfigurasi melalui ignorePatterns

// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}

Untuk Rubocop, Anda dapat mengecualikannya melalui konfigurasi AllCops

# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'

Pentingnya Mengabaikan Bundled Gems pada Code Linter

Dalam pengembangan perangkat lunak, menjaga kualitas kode yang tinggi sangatlah penting. Code linter adalah alat yang membantu mencapainya dengan melakukan analisis kode statis, yang dapat mendeteksi potensi error dan menerapkan gaya penulisan kode yang konsisten. Namun, saat menggunakan linter di lingkungan continuous integration seperti GitHub Actions, Anda wajib mengonfigurasinya dengan benar untuk menghindari false positive.

Bundled gems, yang biasanya disimpan di direktori vendor, adalah dependensi kode eksternal yang dapat ditandai oleh code linter jika tidak dikecualikan dengan benar. Dengan mengabaikan direktori ini, Anda memastikan linter berfokus pada kode sumber Anda, bukan pada library eksternal, sehingga integritas analisis kode Anda tetap terjaga.

Mengonfigurasi Linter untuk Mengecualikan Bundled Gems

Untuk proyek JavaScript yang menggunakan ESLint, Anda dapat mengonfigurasi linter agar mengabaikan direktori vendor/bundle/* melalui pengaturan ignorePatterns di file .eslintrc.json. Dengan begitu, hanya kode Anda yang diperiksa, sehingga kualitas kode meningkat tanpa gangguan yang tidak perlu.

// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}

Demikian pula, untuk proyek Ruby yang menggunakan Rubocop, Anda dapat mengecualikan direktori vendor dengan menambahkan aturan Exclude di bawah AllCops pada file konfigurasi .rubocop.yml. Ini membantu analisis kode statis tetap berfokus pada kode sumber Anda yang sebenarnya.

# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'

Dengan mengonfigurasi code linter agar mengecualikan bundled gems, Anda dapat menjaga standar kualitas kode yang tinggi sekaligus menghindari false positive dalam analisis kode statis.

#RUBY-ON-RAILS

Lainnya tentang ruby on rails

ruby on rails10 Februari 2022

Menggunakan Pundit Policy untuk Mengelola Permitted Parameter, Default dan Per Action

Untuk mengelola permitted params, Anda dapat menambahkan permitted\attributes dan permitted\attributes\for\#{action} di policy Anda, misalnya:

ruby on rails31 Januari 2022

Menggunakan `requestSubmit` untuk Submit Form dengan Turbo

Turbo mendengarkan event submit pada form. Oleh karena itu, selalu gunakan requestSubmit untuk men-submit form menggunakan JS.

ruby on rails18 April 2021

Rails 6, Ruby 3, Bootstrap 5, dan Hotwire

Melengkapi blogpost dari Bootrails dengan Hotwire: Semua hal baru yang keren (saat TIL ini ditulis):

Punya proyek yang ingin diwujudkan?

Kami ingin mendengar apa yang sedang Anda bangun.

Mulai Percakapanhello@oozou.com
OOZOU Logo

Bangkok · Singapura · Hong Kong

X
Facebook
Instagram
LinkedIn
OOZOU Co., Ltd.
548 One City Centre
Ploenchit Road
Bangkok 10330
Thailand
+66 2544 0000
hello@oozou.com

Layanan

  • Pengembangan Web
  • Agen AI & Generative AI
  • Pengembangan Aplikasi Mobile
  • Analitik Data & Data Engineering
  • Desain UI/UX & Produk
  • Transformasi Digital

Perusahaan

  • Tentang Kami
  • Karier
  • Blog
  • Studi Kasus
  • Demo Langsung
  • Today I Learned
  • Hubungi Kami

Lainnya

  • Industri
  • Jaringan Mitra
© 2026 OOZOU. Hak cipta dilindungi undang-undang.
Kebijakan PrivasiKode EtikKebijakan ABAC