ldc-legaulois/eslint.config.js
2026-09-23 15:11:49 +02:00

63 lines
1.3 KiB
JavaScript

// .eslintrc.cjs
module.exports = {
env: {
browser: true,
es2021: true,
},
extends: [
"eslint:recommended",
"plugin:vue/vue3-strongly-recommended",
"@vue/eslint-config-typescript",
],
overrides: [
{
files: ["*.ts", "*.vue"],
rules: {
"no-undef": "off",
},
},
{
files: ["*.vue"],
rules: {
indent: "off",
},
},
],
parser: "vue-eslint-parser",
parserOptions: {
parser: "@typescript-eslint/parser",
ecmaVersion: "latest",
sourceType: "module",
},
plugins: ["vue", "@typescript-eslint"],
ignorePatterns: [
"webpack.mix.js",
"**/*.php",
"**/*.svg",
"**/vendor/*.js",
"**/vendor/**/*.js",
"**/vendor/**/*.scss",
],
rules: {
indent: ["error", 4, { SwitchCase: 1 }],
"linebreak-style": ["error", "unix"],
quotes: ["error", "double"],
semi: ["error", "always"],
"vue/script-indent": ["error", 2, { baseIndent: 0, switchCase: 1 }],
"vue/one-component-per-file": "off",
},
settings: {
"import/resolver": {
node: {
extensions: [".js", ".vue", ".ts", ".d.ts"],
},
alias: {
extensions: [".vue", ".js", ".ts", ".scss", ".d.ts"],
map: [
["~", "./resources/assets"],
["@", "./node_modules"],
],
},
},
},
};