From 3c716219cf8d329b9ddf27a761599798cc578d83 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Tue, 5 Mar 2024 18:49:05 +0100 Subject: [PATCH] chore: lint --- .eslintignore | 14 + .eslintrc.cjs | 45 ++ app.config.ts | 2 +- modules/ui/runtime/components/Link.vue | 20 +- nuxt.config.ts | 6 +- package.json | 5 +- pnpm-lock.yaml | 645 ++++++++++++++++++++++++- tailwind.config.ts | 20 +- 8 files changed, 732 insertions(+), 25 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.cjs diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..d8fb6cb6 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,14 @@ +node_modules +dist +.nuxt +coverage +*.log* +.DS_Store +.code +*.iml +package-lock.json +templates/* +sw.js + +# Templates +src/templates diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..69c6549f --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,45 @@ +module.exports = { + root: true, + extends: ['@nuxt/eslint-config'], + rules: { + // 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 }], + 'no-multi-spaces': ['error', { ignoreEOLComments: true }], + + // Typescript + '@typescript-eslint/type-annotation-spacing': 'error', + + // Vuejs + 'vue/multi-word-component-names': 0, + 'vue/html-indent': ['error', 2], + 'vue/comma-spacing': ['error', { before: false, after: true }], + '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/app.config.ts b/app.config.ts index 3196bd09..ece5376c 100644 --- a/app.config.ts +++ b/app.config.ts @@ -4,7 +4,7 @@ export default defineAppConfig({ base: 'font-semibold', variants: { color: { - pink: 'bg-pink-500 text-white', + pink: 'bg-pink-500 text-white' } } } diff --git a/modules/ui/runtime/components/Link.vue b/modules/ui/runtime/components/Link.vue index d5ca27f7..cf2ec221 100644 --- a/modules/ui/runtime/components/Link.vue +++ b/modules/ui/runtime/components/Link.vue @@ -157,11 +157,27 @@ function resolveLinkClass (route: RouteLocation, currentRoute: RouteLocation, {