Eslint Rules

Rules eslint yang akan kita setting untuk mengstandarisasi project

Berikut rules eslint

rules: {
    semi: 'off', // Aturan untuk titik koma diakhiri pernyataan
    'no-console': 'warn', // Aturan untuk menghindari penggunaan console.log()
    'max-len': ['error', { 'code': 80 }], // Aturan untuk panjang maksimum baris kode
    indent: ['error', 2,], // Mengatur indentasi dengan 2 spasi
    quotes: ['error', 'single',], // Menggunakan tanda kutip tunggal untuk string
    'comma-dangle': ['error', 'always',], // Selalu menggunakan koma di akhir properti objek atau elemen array terakhir
    'arrow-spacing': 'error', // Memeriksa spasi sebelum dan sesudah panah pada fungsi arrow
    'no-unused-vars': 'warn', // Memberikan peringatan jika terdapat variabel yang tidak digunakan
    'no-eval': 'error', // Mencegah penggunaan fungsi eval()
    'no-alert': 'error', // Melarang penggunaan fungsi alert()
    'no-undef': 'error', // Memeriksa penggunaan variabel yang tidak dideklarasikan
    'prefer-const': 'error', // Mendorong penggunaan const daripada let ketika variabel tidak direassign
    'arrow-parens': ['error', 'always',], // Selalu menggunakan tanda kurung pada parameter fungsi arrow
    'no-var': 'error', // Mendorong penggunaan let atau const daripada var dalam deklarasi variabel
  },

berikut rules eslint next.js

module.exports = {
	"env": {
		"browser": true,
		"es2021": true
	},
	"extends": [
		"eslint:recommended",
		"plugin:react/recommended",
		"next",
		"next/core-web-vitals"
	],
	"overrides": [
		{
			"env": {
				"node": true
			},
			"files": [
				".eslintrc.{js,cjs}"
			],
			"parserOptions": {
				"sourceType": "script"
			}
		}
	],
	"parserOptions": {
		"ecmaVersion": "latest",
		"sourceType": "module"
	},
	"plugins": [
		"react"
	],
	"rules": {
		"indent": [
			"error",
			"tab"
		],
		"linebreak-style": [
			"error",
			"windows"
		],
		"quotes": [
			"error",
			"double"
		],
		"semi": [
			"error",
			"always"
		],
		"react/no-unescaped-entities": "off",
		"@next/next/no-page-custom-font": "off"
	}
};

Last updated