salix-front/eslint.config.js

91 lines
2.9 KiB
JavaScript

import cypress from 'eslint-plugin-cypress';
import eslint from 'eslint-plugin-import';
import globals from 'globals';
import js from '@eslint/js';
import vue from 'eslint-plugin-vue';
export default {
plugins: { vue, eslint, cypress },
languageOptions: {
globals: {
...globals.node,
...globals.browser,
...vue.configs['vue3-strongly-recommended'].globals,
...cypress.environments.globals.globals,
ga: 'readonly',
cordova: 'readonly',
__statics: 'readonly',
__QUASAR_SSR__: 'readonly',
__QUASAR_SSR_SERVER__: 'readonly',
__QUASAR_SSR_CLIENT__: 'readonly',
__QUASAR_SSR_PWA__: 'readonly',
process: 'readonly',
Capacitor: 'readonly',
chrome: 'readonly',
},
ecmaVersion: 2020,
sourceType: 'module',
parserOptions: {
parser: '@babel/eslint-parser',
},
},
rules: {
...js.configs.recommended.rules,
semi: 'off',
'generator-star-spacing': 'off',
'arrow-parens': 'off',
'one-var': 'off',
'no-void': 'off',
'prefer-promise-reject-errors': 'error',
'space-before-function-paren': 'off',
'multiline-ternary': 'off',
'js/first': 'off',
'eslint/first': 'off',
'eslint/dynamic-import-chunkname': 'off',
'eslint/named': 'off',
'eslint/namespace': 'error',
'eslint/default': 'error',
'eslint/export': 'error',
'eslint/extensions': 'off',
'eslint/no-unresolved': 'off',
'eslint/no-extraneous-dependencies': 'off',
'eslint/no-import-module-exports': 'off',
'eslint/no-self-import': 'off',
'no-restricted-imports': 'off',
'no-import-assign': 'off',
'no-duplicate-imports': 'off',
'no-useless-rename': 'off',
'no-named-as-default': 'off',
'no-named-as-default-member': 'off',
'no-unsafe-optional-chaining': 'off',
'no-undef': 'error',
'no-unused-vars': 'warn',
'no-console': 'error',
'no-debugger': 'off',
'no-useless-escape': 'error',
'no-prototype-builtins': 'error',
'no-async-promise-executor': 'error',
'no-irregular-whitespace': 'error',
'no-constant-condition': 'error',
'no-unsafe-finally': 'error',
'no-extend-native': 'error',
'vue/no-unused-components': 'error',
'vue/no-unused-properties': 'error',
'vue/no-multiple-template-root': 'error',
'vue/no-v-html': 'error',
'vue/no-v-model-argument': 'error',
'vue/no-parsing-error': 'error',
'vue/prefer-import-from-vue': 'error',
'vue/no-deprecated-slot-attribute': 'error',
},
ignores: [
'/dist',
'/src-capacitor',
'/src-cordova',
'/.quasar',
'/node_modules',
'.eslintrc.js',
],
};