From 5221294f78b8c42b276c2af30e400aa8bdb37225 Mon Sep 17 00:00:00 2001 From: "Haytham A. Salama" Date: Sun, 30 Jul 2023 16:56:01 +0300 Subject: [PATCH] chore: add eslint rules for spacing (#464) Co-authored-by: Benjamin Canac --- .eslintrc.cjs | 39 ++++++++++++++++--- .../examples/AccordionExampleDefaultSlot.vue | 2 +- .../examples/CommandPaletteExampleGroups.vue | 20 +++++----- .../examples/SelectMenuExampleObjects.vue | 9 ++--- src/runtime/components/elements/Alert.vue | 2 +- src/runtime/components/forms/Toggle.vue | 6 +-- src/runtime/components/layout/Card.vue | 2 +- .../navigation/CommandPaletteGroup.vue | 2 +- .../components/overlays/Notification.vue | 2 +- src/runtime/types/avatar.d.ts | 2 +- 10 files changed, 55 insertions(+), 31 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index b2030aed..b9874762 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -2,15 +2,42 @@ module.exports = { root: true, extends: ['@nuxt/eslint-config'], rules: { - 'semi': ['error', 'never'], - 'quotes': ['error', 'single'], + // General + semi: ['error', 'never'], + quotes: ['error', 'single'], 'comma-dangle': ['error', 'never'], + 'comma-spacing': ['error', { before: false, after: true }], + 'keyword-spacing': ['error', { before: true, after: true }], 'space-before-function-paren': ['error', 'always'], + 'object-curly-spacing': ['error', 'always'], + 'arrow-spacing': ['error', { before: true, after: true }], + 'key-spacing': ['error', { beforeColon: false, afterColon: true, mode: 'strict' }], + 'space-before-blocks': ['error', 'always'], + 'space-infix-ops': ['error', { int32Hint: false }], + + // Typescript + '@typescript-eslint/type-annotation-spacing': 'error', + + // Vuejs 'vue/multi-word-component-names': 0, - 'vue/max-attributes-per-line': ['error', { - singleline: { - max: 5 + 'vue/html-indent': ['error', 2], + 'vue/script-indent': ['error', 2, { baseIndent: 0 }], + 'vue/keyword-spacing': ['error', { before: true, after: true }], + 'vue/object-curly-spacing': ['error', 'always'], + 'vue/key-spacing': ['error', { beforeColon: false, afterColon: true, mode: 'strict' }], + 'vue/arrow-spacing': ['error', { before: true, after: true }], + 'vue/array-bracket-spacing': ['error', 'never'], + 'vue/block-spacing': ['error', 'always'], + 'vue/brace-style': ['error', 'stroustrup', { allowSingleLine: true }], + 'vue/space-infix-ops': ['error', { int32Hint: false }], + 'vue/max-attributes-per-line': [ + 'error', + { + singleline: { + max: 5 + } } - }] + ], + 'vue/padding-line-between-blocks': ['error', 'always'] } } diff --git a/docs/components/content/examples/AccordionExampleDefaultSlot.vue b/docs/components/content/examples/AccordionExampleDefaultSlot.vue index f1d70ff1..1b3dd4b0 100644 --- a/docs/components/content/examples/AccordionExampleDefaultSlot.vue +++ b/docs/components/content/examples/AccordionExampleDefaultSlot.vue @@ -30,7 +30,7 @@ const items = [{