Lewati ke konten utama

Lint

Lint rules

install package
- npm install --save-dev @stylistic/eslint-plugin@^1.5.4.
- npm install --save-dev eslint@^8.57.1 @typescript-eslint/eslint-plugin@^6.7.4 @typescript-eslint/parser@^6.7.4.

Create .eslintrc.json/eslint.config.mjs

Tambahkan rules ini pada file .eslintrc.json/eslint.config.mjs

.eslintrc.json/eslint.config.mjs
rules: {
"no-alert": "error",
"no-debugger": "error",
"no-param-reassign": "error",
"no-constant-condition": "error",
"no-duplicate-imports": "error",
"no-self-compare": "error",
"no-template-curly-in-string": "error",
"no-unreachable-loop": "error",
"require-await": "error",
"eqeqeq": ["error", "always", { null: "ignore" }],

"no-eval": "error",
"no-implied-eval": "error",
"no-new-func": "error",
"no-script-url": "error",

"no-unused-expressions": "error",
"no-useless-constructor": "error",
"no-useless-rename": "error",
"object-shorthand": "error",
"prefer-arrow-callback": "error",
"prefer-const": "error",
"prefer-destructuring": ["error", { array: false, object: true }],

"@typescript-eslint/quotes": "off",
"@stylistic/quotes": "off",
"@typescript-eslint/no-explicit-any": "error",
"vue/max-attributes-per-line": ["error", { singleline: 3 }],
"vue/no-multiple-template-root": "off",
"@stylistic/semi": "off",
"@typescript-eslint/semi": "off",
"comma-dangle": "off",
"@stylistic/comma-dangle": "off",
"@typescript-eslint/comma-dangle": "off",
"nuxt/prefer-import-meta": "off",
},

VS Code Setting

Install ESLint di VS Code, lalu buat folder dengan nama .vscode/setting.json

setting.json
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.format.enable": true,
"editor.formatOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[vue]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"eslint.run": "onSave"
}