2023-04-12 20:42:47 +02:00
|
|
|
{
|
|
|
|
"root": true,
|
|
|
|
"env": {
|
|
|
|
"browser": true,
|
2023-06-28 13:26:08 +02:00
|
|
|
"es2022": true,
|
|
|
|
"jest": true,
|
|
|
|
"node": true
|
2023-04-12 20:42:47 +02:00
|
|
|
},
|
|
|
|
"parser": "@typescript-eslint/parser",
|
|
|
|
"parserOptions": {
|
|
|
|
"ecmaFeatures": {
|
|
|
|
"jsx": true
|
|
|
|
},
|
|
|
|
"ecmaVersion": "latest",
|
|
|
|
"sourceType": "module"
|
|
|
|
},
|
|
|
|
"extends": [
|
|
|
|
"eslint:recommended",
|
2023-06-28 13:26:08 +02:00
|
|
|
"plugin:vue/vue3-essential",
|
2023-09-02 15:46:46 +02:00
|
|
|
"plugin:prettier/recommended",
|
|
|
|
"plugin:@typescript-eslint/recommended"
|
2023-04-12 20:42:47 +02:00
|
|
|
],
|
|
|
|
"plugins": [
|
|
|
|
"jest",
|
|
|
|
"cypress",
|
|
|
|
"import",
|
2023-09-02 15:46:46 +02:00
|
|
|
"prettier",
|
|
|
|
"@typescript-eslint"
|
2023-04-12 20:42:47 +02:00
|
|
|
],
|
|
|
|
"overrides": [
|
|
|
|
{
|
|
|
|
"files": ["*.ts", "*.tsx"],
|
|
|
|
"plugins": [
|
|
|
|
"@typescript-eslint"
|
|
|
|
],
|
|
|
|
"rules": {
|
|
|
|
"no-var": "error",
|
|
|
|
"no-dupe-class-members": "off",
|
|
|
|
"no-undef": "off",
|
|
|
|
"no-redeclare": "off",
|
|
|
|
"@typescript-eslint/no-redeclare": ["warn"],
|
|
|
|
"@typescript-eslint/consistent-type-assertions": ["warn"],
|
|
|
|
"no-array-constructor": "off",
|
|
|
|
"@typescript-eslint/no-array-constructor": ["warn"],
|
|
|
|
"no-use-before-define": "off",
|
|
|
|
"@typescript-eslint/no-use-before-define": [
|
|
|
|
"warn",
|
|
|
|
{
|
|
|
|
"functions": false,
|
|
|
|
"classes": false,
|
|
|
|
"variables": false,
|
|
|
|
"typedefs": false
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"no-unused-expressions": "off",
|
|
|
|
"@typescript-eslint/no-unused-expressions": [
|
2023-09-02 15:46:46 +02:00
|
|
|
"warn",
|
2023-04-12 20:42:47 +02:00
|
|
|
{
|
|
|
|
"allowShortCircuit": true,
|
|
|
|
"allowTernary": true,
|
|
|
|
"allowTaggedTemplates": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"no-unused-vars": "off",
|
|
|
|
"@typescript-eslint/no-unused-vars": [
|
|
|
|
"warn",
|
|
|
|
{
|
|
|
|
"args": "none",
|
|
|
|
"ignoreRestSiblings": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"no-useless-constructor": "off",
|
|
|
|
"@typescript-eslint/no-useless-constructor": ["warn"]
|
|
|
|
}
|
|
|
|
},
|
2023-09-02 15:46:46 +02:00
|
|
|
{
|
|
|
|
"files": ["test/**"],
|
|
|
|
"plugins": ["jest"],
|
|
|
|
"extends": ["plugin:jest/recommended", "plugin:jest/style"],
|
|
|
|
"rules": { "jest/prefer-expect-assertions": "off" }
|
|
|
|
},
|
2023-04-12 20:42:47 +02:00
|
|
|
{
|
|
|
|
"files": ["cypress/e2e/**/*.cy.ts"],
|
|
|
|
"extends": ["plugin:cypress/recommended"],
|
|
|
|
"rules": {
|
|
|
|
"@typescript-eslint/no-unused-expressions": "off",
|
|
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
|
|
"spaced-comment": "off",
|
|
|
|
"camelcase": "off"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"rules": {
|
|
|
|
"no-undef-init": "warn",
|
|
|
|
"no-useless-return": "warn",
|
|
|
|
"no-duplicate-imports": "warn",
|
|
|
|
"import/first": "warn",
|
|
|
|
"import/no-anonymous-default-export": [
|
|
|
|
"warn",
|
|
|
|
{
|
|
|
|
"allowArray": true,
|
|
|
|
"allowLiteral": true,
|
|
|
|
"allowObject": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"prefer-const": "warn",
|
|
|
|
"prefer-spread": "warn",
|
|
|
|
"camelcase": "error",
|
|
|
|
"spaced-comment": "error",
|
|
|
|
"dot-notation": "warn",
|
|
|
|
"quotes": ["error", "single"],
|
|
|
|
"prettier/prettier": [
|
2023-09-03 17:17:30 +02:00
|
|
|
"warn",
|
2023-04-12 20:42:47 +02:00
|
|
|
{
|
|
|
|
"printWidth": 120,
|
|
|
|
"tabWidth": 2,
|
|
|
|
"useTabs": false,
|
|
|
|
"semi": true,
|
|
|
|
"singleQuote": true,
|
|
|
|
"endOfLine": "auto",
|
|
|
|
"jsxSingleQuote": false,
|
|
|
|
"bracketSpacing": true,
|
|
|
|
"bracketSameLine": false,
|
2023-09-03 17:17:30 +02:00
|
|
|
"arrowParens": "always",
|
|
|
|
"trailingComma": "es5"
|
2023-04-12 20:42:47 +02:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"settings": {
|
|
|
|
"import/resolver": {
|
|
|
|
"typescript": {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|