91 lines
2.9 KiB
JavaScript
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',
|
|
],
|
|
};
|