05 December 2025 vuelinter
Setup Linter dan Prettier Untuk Project Vue
Linter adalah tool untuk menganalisis kode, fungsinya untuk menemukan syntax error dan bug. Sehingga kode lebih berkualitas. Linter yang biasa saya gunakan di project Vue adalah ESLint.
Prettier adalah tool untuk memformat kode agar lebih rapi sesuai standar.
Berikut langkah-langkah setup linter dan prettier untuk project Vue.
Setup ESLint
Instal dan setup ESLint secara interaktif dengan menjalankan perintah berikut di terminal project Vue.
npm init @eslint/config@latest
Akan muncul beberapa prompt dengan beberapa opsi, contoh isian:
@eslint/create-config: v1.11.0
✔ What do you want to lint? · javascript
✔ How would you like to use ESLint? · syntax
✔ What type of modules does your project use? · esm
✔ Which framework does your project use? · vue
✔ Does your project use TypeScript? · Yes
✔ Where does your code run? · Browser
Setelah berhasil, akan muncul file eslint.config.js, tempat konfigurasi ESLint, isinya seperti berikut:
import globals from "globals";
import pluginVue from "eslint-plugin-vue";
import { defineConfig } from "eslint/config";
export default defineConfig([
{
files: ["**/*.{js,mjs,cjs,vue}"],
languageOptions: { globals: globals.browser },
},
pluginVue.configs["flat/essential"],
]);
Baca Dokumentasi konfigurasi ESLint.
Setup Prettier
Install Prettier dengan menjalankan perintah berikut:
npm install --save-dev --save-exact prettier
Buat file .prettierrc untuk konfigurasi Prettier. Jalankan perintah berikut:
node --eval "fs.writeFileSync('.prettierrc','{\n\t\"singleQuote\": true\n}\n')"
Baca Dokumentasi konfigurasi Prettier.
Setup Lint-Staged
Lint-Staged adalah tool untuk menjalankan linter pada kode yang berada di fase git staged.
Fase git staged adalah file yang sudah dimasukkan ke perintah git add tapi belum dicommit.
Fungsi Lint-Staged adalah agar linter hanya dijalankan ke file yang sudah diubah dan siap dicommit saja.
Jalankan perintah berikut untuk menginstal Lint-Staged:
npm install --save-dev lint-staged
Kemudian tambahkan konfigurasi lint-staged di package.json.
{
"lint-staged": {
"*.{vue,js,ts,css,md}": "prettier --write",
"*.{vue,js,ts}": "eslint --cache --fix"
}
}
Konfigurasi tersebut untuk menjalankan linter dan prettier pada file vue,js,ts,css,md yang berada di fase staged.
Setup Husky
Husky adalah tool untuk membuat skrip yang otomatis dijalankan pada saat menjalankan perintah git tertentu.
Saya biasanya menggunakan Husky untuk menjalankan Lint-Staged secara otomatis ketika perintah git commit dijalankan, sehingga tidak perlu manual menjalankan linter dan prettier.
Menjalankan Lint-Staged sebelum dicommit juga memastikan bahwa kode yang dicommit sudah dianalisis dan diformat.
Jalankan perintah berikut untuk menginstal Husky:
npm install --save-dev husky
Buat skrip husky dengan menjalankan perintah berikut:
npx husky init
Akan ada file baru di .husky/pre-commit. Buka file tersebut, hapus isinya dan diganti dengan skrip berikut untuk menjalankan Lint-Staged.
lint-staged
Test
Sekarang test apakah konfigurasi linter dan prettier sudah berhasil di project Vue. Edit salah satu file Vue, lalu masukkan ke git add dan lakukan git commit.
Jika berhasil maka akan muncul proses linter dan prettier pada code yang sedang dicommit.
✔ Backed up original state in git stash (c27c125)
✔ Running tasks for staged files...
✔ Applying modifications from tasks...
✔ Cleaning up temporary files...
Jika tidak muncul maka coba ulangi langkah-langkah di atas.