openhab-webui/bundles/org.openhab.ui/web/.eslintrc.js

103 lines
2.9 KiB
JavaScript

module.exports = {
root: true,
parserOptions: {
parser: '@babel/eslint-parser',
requireConfigFile: false,
sourceType: 'module'
},
env: {
browser: true,
node: true,
es6: true
},
extends: [
'eslint:recommended',
'@vue/standard',
'plugin:cypress/recommended',
'plugin:vue/recommended'
],
plugins: [
'@babel',
'import',
'cypress',
'vue'
],
globals: {
'ga': true, // Google Analytics
'cordova': true,
'__statics': true,
'process': true
},
// add your custom rules here
rules: {
'arrow-parens': 'off',
'comma-dangle': 'error',
'comma-spacing': 'error',
'dot-notation': 'off',
'eol-last': 'error',
'generator-star-spacing': 'off',
'import/default': 'error',
'import/export': 'error',
'import/extensions': 'off',
'import/first': 'off',
'import/named': 'error',
'import/namespace': 'error',
'import/no-extraneous-dependencies': 'off',
'import/no-unresolved': 'off',
'indent': ['error', 2, { 'SwitchCase': 1 }],
'jsx-quotes': 'error',
'linebreak-style': 'off',
'multiline-ternary': 'off',
'no-case-declarations': 'off',
'no-console': 'off',
'no-debugger': 'off',
'no-trailing-spaces': 'error',
'no-unsafe-optional-chaining': 'error',
'no-whitespace-before-property': 'error',
'one-var': 'off',
'prefer-promise-reject-errors': 'off',
'quote-props': 'off',
'quotes': ['error', 'single'],
'space-in-parens': 'error',
'vue/attribute-hyphenation': 'off',
'vue/attributes-order': 'off',
'vue/component-definition-name-casing': 'off',
'vue/html-closing-bracket-newline': ['error', { 'singleline': 'never', 'multiline': 'never' }],
'vue/html-closing-bracket-spacing': 'error',
'vue/html-indent': 'error',
'vue/html-quotes': 'error',
'vue/html-self-closing': 'error',
'vue/max-attributes-per-line': 'off',
'vue/multiline-html-element-content-newline': 'error',
'vue/mustache-interpolation-spacing': 'error',
'vue/no-multi-spaces': 'error',
'vue/no-v-html': 'off',
'vue/singleline-html-element-content-newline': 'error',
'vue/v-on-style': 'error',
'vue/v-slot-style': 'error',
// The following rules should be activated successively. Due to the large amount
// of required changes, the activations should be clustered in several pull requests.
'camelcase': 'off',
'no-empty': ['off', { 'allowEmptyCatch': true }],
'no-unused-vars': 'off',
'no-useless-catch': 'off',
'prefer-const': 'off',
'vue/component-tags-order': ['off', { 'order': ['template', 'script', 'style'] }],
'vue/no-mutating-props': 'off',
'vue/no-parsing-error': 'off',
'vue/no-template-shadow': 'off',
'vue/order-in-components': 'off',
'vue/require-default-prop': 'off',
'vue/require-prop-types': 'off',
'vue/this-in-template': 'off',
'vue/valid-v-slot': 'off'
}
}