Added linter for json files and fixed newly created linting errors.

This commit is contained in:
Liviu Burcusel 2025-10-25 12:31:38 +02:00
parent 4c847d5e2b
commit a982ae83a9
Signed by: liviu
GPG key ID: 6CDB37A4AD2C610C
6 changed files with 170 additions and 9 deletions

View file

@ -1,6 +1,7 @@
import eslint from "@eslint/js";
import eslintConfigPrettier from "eslint-config-prettier";
import eslintPluginVue from "eslint-plugin-vue";
import jsonc from "eslint-plugin-jsonc";
import globals from "globals";
import typescriptEslint from "typescript-eslint";
@ -26,5 +27,9 @@ export default typescriptEslint.config(
"@typescript-eslint/no-require-imports": "off",
},
},
{
files: ["**/*.json"],
extends: [...jsonc.configs["flat/recommended-with-json"]],
},
eslintConfigPrettier
);

155
package-lock.json generated
View file

@ -23,6 +23,7 @@
"@vue/tsconfig": "^0.7.0",
"eslint": "^9.38.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-jsonc": "^2.21.0",
"eslint-plugin-vue": "^10.5.1",
"globals": "^16.4.0",
"happy-dom": "^20.0.5",
@ -1824,6 +1825,19 @@
"node": ">=14"
}
},
"node_modules/@pkgr/core": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
"integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^12.20.0 || ^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/pkgr"
}
},
"node_modules/@polka/url": {
"version": "1.0.0-next.29",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
@ -3568,6 +3582,16 @@
"node": ">=0.10"
}
},
"node_modules/diff-sequences": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@ -3764,6 +3788,22 @@
}
}
},
"node_modules/eslint-compat-utils": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.5.tgz",
"integrity": "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"semver": "^7.5.4"
},
"engines": {
"node": ">=12"
},
"peerDependencies": {
"eslint": ">=6.0.0"
}
},
"node_modules/eslint-config-prettier": {
"version": "10.1.8",
"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
@ -3780,6 +3820,55 @@
"eslint": ">=7.0.0"
}
},
"node_modules/eslint-json-compat-utils": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/eslint-json-compat-utils/-/eslint-json-compat-utils-0.2.1.tgz",
"integrity": "sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==",
"dev": true,
"license": "MIT",
"dependencies": {
"esquery": "^1.6.0"
},
"engines": {
"node": ">=12"
},
"peerDependencies": {
"eslint": "*",
"jsonc-eslint-parser": "^2.4.0"
},
"peerDependenciesMeta": {
"@eslint/json": {
"optional": true
}
}
},
"node_modules/eslint-plugin-jsonc": {
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsonc/-/eslint-plugin-jsonc-2.21.0.tgz",
"integrity": "sha512-HttlxdNG5ly3YjP1cFMP62R4qKLxJURfBZo2gnMY+yQojZxkLyOpY1H1KRTKBmvQeSG9pIpSGEhDjE17vvYosg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.5.1",
"diff-sequences": "^27.5.1",
"eslint-compat-utils": "^0.6.4",
"eslint-json-compat-utils": "^0.2.1",
"espree": "^9.6.1 || ^10.3.0",
"graphemer": "^1.4.0",
"jsonc-eslint-parser": "^2.4.0",
"natural-compare": "^1.4.0",
"synckit": "^0.6.2 || ^0.7.3 || ^0.11.5"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ota-meshi"
},
"peerDependencies": {
"eslint": ">=6.0.0"
}
},
"node_modules/eslint-plugin-vue": {
"version": "10.5.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.5.1.tgz",
@ -4848,6 +4937,56 @@
"node": ">=6"
}
},
"node_modules/jsonc-eslint-parser": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.1.tgz",
"integrity": "sha512-uuPNLJkKN8NXAlZlQ6kmUF9qO+T6Kyd7oV4+/7yy8Jz6+MZNyhPq8EdLpdfnPVzUC8qSf1b4j1azKaGnFsjmsw==",
"dev": true,
"license": "MIT",
"dependencies": {
"acorn": "^8.5.0",
"eslint-visitor-keys": "^3.0.0",
"espree": "^9.0.0",
"semver": "^7.3.5"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ota-meshi"
}
},
"node_modules/jsonc-eslint-parser/node_modules/eslint-visitor-keys": {
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
"license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/jsonc-eslint-parser/node_modules/espree": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@ -6439,6 +6578,22 @@
"node": ">=16.0.0"
}
},
"node_modules/synckit": {
"version": "0.11.11",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz",
"integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pkgr/core": "^0.2.9"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/synckit"
}
},
"node_modules/test-exclude": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",

View file

@ -15,8 +15,8 @@
"coverage": "vitest run --coverage",
"build-only": "vite build",
"type-check": "vue-tsc --build",
"lint": "eslint \"**/*.{vue,ts}\"",
"lint-files": "eslint --ext .js,.ts,.vue"
"lint": "eslint \"**/*.{js,json,ts,vue}\"",
"lint-files": "eslint --ext .js,.json,.ts,.vue"
},
"dependencies": {
"@mdi/font": "^7.4.47",
@ -34,6 +34,7 @@
"@vue/tsconfig": "^0.7.0",
"eslint": "^9.38.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-jsonc": "^2.21.0",
"eslint-plugin-vue": "^10.5.1",
"globals": "^16.4.0",
"happy-dom": "^20.0.5",

View file

@ -24,7 +24,7 @@
"paths": {
"~/*": ["./src/*"],
"@/*": ["./src/*"],
"@/*": ["./src/*"]
}
},
}
}

View file

@ -14,7 +14,7 @@
"compilerOptions": {
"paths": {
"~/*": ["./src/*"],
"@/*": ["./src/*"],
},
},
"@/*": ["./src/*"]
}
}
}

View file

@ -5,6 +5,6 @@
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo",
"types": ["node", "happy-dom"],
},
"types": ["node", "happy-dom"]
}
}