The-Bingo-Experience/.eslintrc.cjs
2023-11-12 10:14:33 +01:00

192 lines
3.4 KiB
JavaScript

/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution');
module.exports = {
root: true,
extends: [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-typescript',
'./.eslintrc-auto-import.json'
],
plugins: [ '@stylistic' ],
parserOptions: {
ecmaVersion: 'latest'
},
rules: {
'keyword-spacing': 'error',
'@stylistic/array-bracket-newline': [
'error',
{
minItems: 2
}
],
'@stylistic/array-bracket-spacing': [
'error',
'always'
],
'@stylistic/array-element-newline': [
'error',
{
minItems: 2
}
],
'@stylistic/arrow-parens': [
'error',
'as-needed'
],
'@stylistic/arrow-spacing': 'error',
'@stylistic/brace-style': [
'error',
'stroustrup'
],
'@stylistic/comma-dangle': [
'error',
'never'
],
'@stylistic/comma-style': [
'error',
'last'
],
'@stylistic/dot-location': [
'error',
'property'
],
'@stylistic/eol-last': [
'error',
'always'
],
'@stylistic/function-call-argument-newline': [
'error',
'consistent'
],
'@stylistic/function-paren-newline': [
'error',
{
minItems: 5
}
],
'@stylistic/indent': [
'error',
'tab'
],
'@stylistic/linebreak-style': [
'error',
'unix'
],
'@stylistic/lines-around-comment': [
'error',
{
beforeBlockComment: true
}
],
'@stylistic/lines-between-class-members': [
'error',
'always'
],
'@stylistic/no-extra-semi': 'error',
'@stylistic/no-floating-decimal': 'error',
'@stylistic/no-mixed-operators': 'error',
'@stylistic/no-mixed-spaces-and-tabs': 'error',
'@stylistic/no-multi-spaces': [
'error',
{
exceptions: {
VariableDeclarator: true,
ImportDeclaration: true
}
}
],
'@stylistic/no-multiple-empty-lines': 'error',
'@stylistic/no-trailing-spaces': 'error',
'@stylistic/no-whitespace-before-property': 'error',
'@stylistic/nonblock-statement-body-position': [
'error',
'below'
],
'@stylistic/object-curly-newline': [
'error',
'always'
],
'@stylistic/object-curly-spacing': [
'error',
'always'
],
'@stylistic/object-property-newline': [
'error',
{
allowAllPropertiesOnSameLine: false
}
],
'@stylistic/operator-linebreak': [
'error',
'before'
],
'@stylistic/padded-blocks': [
'error',
'never'
],
'@stylistic/padding-line-between-statements': [
'error',
{
blankLine: 'always',
prev: '*',
next: 'return'
}
],
'@stylistic/quote-props': [
'error',
'as-needed'
],
'@stylistic/quotes': [
'error',
'single'
],
'@stylistic/rest-spread-spacing': [
'error',
'never'
],
'@stylistic/semi': 'error',
'@stylistic/semi-spacing': 'error',
'@stylistic/semi-style': [
'error',
'last'
],
'@stylistic/space-before-blocks': [
'error',
'always'
],
'@stylistic/space-before-function-paren': [
'error',
'never'
],
'@stylistic/space-in-parens': [
'error',
'never'
],
'@stylistic/space-infix-ops': 'error',
'@stylistic/spaced-comment': [
'error',
'always'
],
'@stylistic/switch-colon-spacing': 'error',
'@stylistic/template-curly-spacing': [
'error',
'always'
],
'@stylistic/template-tag-spacing': [
'error',
'always'
],
'@stylistic/wrap-regex': 'error',
'vue/comment-directive': 'off',
'vue/html-indent': [
'error',
2
],
'vue/multi-word-component-names': 'off'
}
};