c80fd0313c
Adds internationalization support in filters and origins pages by importing the useI18n function. Expands ESLint configuration to include new rules and plugins, ensuring improved code quality. Introduces Grafana monitoring plugin to enhance performance tracking capabilities in the application.
88 lines
2.7 KiB
JavaScript
88 lines
2.7 KiB
JavaScript
// @ts-check
|
|
import stylistic from '@stylistic/eslint-plugin'
|
|
import parserVue from 'vue-eslint-parser'
|
|
import simpleImportSort from "eslint-plugin-simple-import-sort"
|
|
import withNuxt from './.nuxt/eslint.config.mjs'
|
|
|
|
export default withNuxt(
|
|
{
|
|
files: ['**/*.vue', '**/*.ts', '**/*.js'],
|
|
plugins: {
|
|
'@stylistic': stylistic,
|
|
"simple-import-sort": simpleImportSort,
|
|
},
|
|
languageOptions: {
|
|
parser: parserVue,
|
|
},
|
|
rules: {
|
|
"simple-import-sort/imports": "error",
|
|
"simple-import-sort/exports": "error",
|
|
'@stylistic/no-multiple-empty-lines': 'error',
|
|
'@stylistic/comma-dangle': ['error', {
|
|
arrays: 'always-multiline',
|
|
objects: 'always-multiline',
|
|
imports: 'always-multiline',
|
|
exports: 'never',
|
|
functions: 'always-multiline',
|
|
}],
|
|
'@stylistic/block-spacing': ['error'],
|
|
'@stylistic/object-curly-spacing': ['error', 'always'],
|
|
'@stylistic/indent': ['error', 2],
|
|
'@stylistic/quotes': ['error', 'single'],
|
|
'@stylistic/semi': ['error', 'never'],
|
|
'@stylistic/member-delimiter-style': [
|
|
'error',
|
|
{
|
|
multiline: {
|
|
delimiter: 'none',
|
|
requireLast: true,
|
|
},
|
|
singleline: {
|
|
delimiter: 'semi',
|
|
requireLast: false,
|
|
},
|
|
multilineDetection: 'brackets',
|
|
},
|
|
],
|
|
'@typescript-eslint/no-unused-vars': [
|
|
'error',
|
|
{
|
|
args: 'all',
|
|
argsIgnorePattern: '^_',
|
|
caughtErrors: 'all',
|
|
caughtErrorsIgnorePattern: '^_',
|
|
destructuredArrayIgnorePattern: '^_',
|
|
varsIgnorePattern: '^_',
|
|
ignoreRestSiblings: true,
|
|
},
|
|
],
|
|
"vue/no-bare-strings-in-template": ["error", {
|
|
"allowlist": [
|
|
"(", ")", ",", ".", "&", "+", "-", "=", "*", "/", "#", "%", "!", "?", ":", "[", "]", "{", "}", "<", ">", "\u00b7", "\u2022", "\u2010", "\u2013", "\u2014", "\u2212", "|"
|
|
],
|
|
"attributes": {
|
|
"/.+/": ["title", "label", "aria-label", "aria-placeholder", "aria-roledescription", "aria-valuetext"],
|
|
"input": ["placeholder"],
|
|
"img": ["alt"],
|
|
"inplace-edit-textfield": ["empty-text"],
|
|
"inplace-edit-textarea": ["empty-text"]
|
|
},
|
|
"directives": ["v-text"]
|
|
}],
|
|
"vue/no-useless-v-bind": ["error", {
|
|
"ignoreIncludesComment": false,
|
|
"ignoreStringEscape": false
|
|
}],
|
|
"vue/no-useless-mustaches": ["error", {
|
|
"ignoreIncludesComment": false,
|
|
"ignoreStringEscape": false
|
|
}],
|
|
"vue/html-closing-bracket-spacing": ["error", {
|
|
"startTag": "never",
|
|
"endTag": "never",
|
|
"selfClosingTag": "always"
|
|
}],
|
|
},
|
|
},
|
|
)
|