@somosyampi/eslint-config
Version:
Pacote de padronização de código padrão para os projetos Yampi usando Node.js
77 lines (75 loc) • 2.22 kB
JavaScript
module.exports = {
extends: [
'./js.js',
'plugin:vue/vue3-recommended',
],
plugins: [
'vue',
],
rules: {
'vue/singleline-html-element-content-newline': 0,
'vue/html-indent': [
'error',
4,
{
attribute: 1,
baseIndent: 1,
closeBracket: 0,
alignAttributesVertically: true,
ignores: [],
},
],
'vue/component-name-in-template-casing': [
'error',
'PascalCase',
{
registeredComponentsOnly: false,
ignores: [],
},
],
'import/order': [
'error',
{
groups: [
'builtin',
'external',
'internal',
],
pathGroups: [
{
pattern: '~/**/*.vue',
group: 'internal',
position: 'after',
},
],
'newlines-between': 'never',
},
],
'vue/block-lang': ['error',
{
script: {
lang: 'js',
},
},
],
'vue/block-order': 'error',
'vue/block-tag-newline': 'error',
'vue/component-api-style': 'error',
'vue/component-options-name-casing': 'error',
'vue/html-button-has-type': 'error',
'vue/html-comment-content-spacing': 'error',
'vue/html-comment-indent': 'error',
'vue/match-component-file-name': ['error', {
extensions: ['vue, jsx'],
shouldMatchCase: true,
}],
'vue/no-empty-component-block': 'error',
'vue/no-ref-object-reactivity-loss': 'error',
'vue/no-static-inline-styles': 'error',
'vue/no-use-v-else-with-v-for': 'error',
'vue/prefer-define-options': 'warn',
'vue/prefer-separate-static-class': 'error',
'vue/prefer-true-attribute-shorthand': 'error',
'vue/require-explicit-slots': 'error',
},
};