Modification de la config de eslint avec la suppression de tout ce qui concerne …
…prettier, suppression du module @nuxt/eslint, contenant le module eslint/recommanded, et remplacemant par le module @antfu/eslint-config, plus complet et simple .
Showing
7 changed files
with
86 additions
and
74 deletions
| 1 | module.exports = { | 1 | module.exports = { |
| 2 | // https://dev.to/tao/adding-eslint-and-prettier-to-nuxt-3-2023-5bg | 2 | // https://dev.to/tao/adding-eslint-and-prettier-to-nuxt-3-2023-5bg |
| 3 | root: true, | 3 | root: true, |
| 4 | - extends: ["@nuxtjs/eslint-config", "plugin:prettier/recommended"], | 4 | + extends: ["@nuxtjs/eslint-config"], |
| 5 | env: { | 5 | env: { |
| 6 | browser: true, | 6 | browser: true, |
| 7 | node: true, | 7 | node: true, |
.prettierignore
deleted
100644 → 0
.prettierrc
deleted
100644 → 0
| 1 | -// @ts-check | 1 | +import antfu from "@antfu/eslint-config"; |
| 2 | -import withNuxt from "./.nuxt/eslint.config.mjs"; | ||
| 3 | -import js from "@eslint/js"; | ||
| 4 | -import eslintPluginVue from "eslint-plugin-vue"; | ||
| 5 | -import ts from "typescript-eslint"; | ||
| 6 | 2 | ||
| 7 | -const TsConfigRecommended = ts.configs.recommended; | 3 | +export default antfu({ |
| 4 | +// Type of the project. 'lib' for libraries, the default is 'app' | ||
| 5 | + type: "app", | ||
| 8 | 6 | ||
| 9 | -export default withNuxt( | 7 | + // Enable stylistic formatting rules |
| 10 | - // Your custom configs here | 8 | + // stylistic: true, |
| 11 | - js.configs.recommended, | 9 | + |
| 12 | - // eslint-disable-next-line @typescript-eslint/ban-ts-comment | 10 | + // Or customize the stylistic rules |
| 13 | - // @ts-expect-error | 11 | + stylistic: { |
| 14 | - ...TsConfigRecommended, | 12 | + indent: 2, // 4, or 'tab' |
| 15 | - ...eslintPluginVue.configs["flat/recommended"], | 13 | + semi: true, |
| 16 | - { | 14 | + stylistic: true, |
| 17 | - files: ["*.vue", "**/*.vue"], | 15 | + quotes: "double", // 'single' or 'double' |
| 18 | - languageOptions: { | ||
| 19 | - parserOptions: { | ||
| 20 | - parser: "@typescript-eslint/parser", | ||
| 21 | - }, | ||
| 22 | - }, | ||
| 23 | - rules: { | ||
| 24 | - "vue/multi-word-component-names": "off", | ||
| 25 | - }, | ||
| 26 | }, | 16 | }, |
| 27 | - // your custom flat configs go here, for example: | 17 | + |
| 28 | - // { | 18 | + // TypeScript and Vue are autodetected, you can also explicitly enable them: |
| 29 | - // files: ['**/*.ts', '**/*.tsx'], | 19 | + typescript: true, |
| 30 | - // rules: { | 20 | + vue: true, |
| 31 | - // 'no-console': 'off' // allow console.log in TypeScript files | 21 | + |
| 32 | - // } | 22 | + // Disable jsonc and yaml support |
| 33 | - // }, | 23 | + jsonc: false, |
| 34 | - // { | 24 | + markdown: false, |
| 35 | - // ... | 25 | + yaml: false, |
| 36 | - // } | 26 | + |
| 37 | -); | 27 | + // `.eslintignore` is no longer supported in Flat config, use `ignores` instead |
| 28 | + ignores: [ | ||
| 29 | + "**/fixtures", | ||
| 30 | + "**/.cache", | ||
| 31 | + "**/.data", | ||
| 32 | + "**/.gitignore", | ||
| 33 | + "**/.env", | ||
| 34 | + "**/.env.dist", | ||
| 35 | + "**/.output", | ||
| 36 | + "**/.nitro", | ||
| 37 | + "**/.nuxt", | ||
| 38 | + "**/assets", | ||
| 39 | + "**/dist", | ||
| 40 | + "**/logs", | ||
| 41 | + "**/node_modules", | ||
| 42 | + "**/public", | ||
| 43 | + "**/server", | ||
| 44 | + ], | ||
| 45 | +}); | ||
| 46 | + | ||
| 47 | +// Ancienne config eslint. | ||
| 48 | +// import withNuxt from "./.nuxt/eslint.config.mjs"; | ||
| 49 | +// import js from "@eslint/js"; | ||
| 50 | +// import eslintPluginVue from "eslint-plugin-vue"; | ||
| 51 | +// import ts from "typescript-eslint"; | ||
| 52 | +// | ||
| 53 | +// const TsConfigRecommended = ts.configs.recommended; | ||
| 54 | +// | ||
| 55 | +// export default withNuxt( | ||
| 56 | +// // Your custom configs here | ||
| 57 | +// js.configs.recommended, | ||
| 58 | +// // eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
| 59 | +// // @ts-expect-error | ||
| 60 | +// ...TsConfigRecommended, | ||
| 61 | +// ...eslintPluginVue.configs["flat/recommended"], | ||
| 62 | +// { | ||
| 63 | +// files: ["*.vue", "**/*.vue"], | ||
| 64 | +// languageOptions: { | ||
| 65 | +// parserOptions: { | ||
| 66 | +// parser: "@typescript-eslint/parser", | ||
| 67 | +// }, | ||
| 68 | +// }, | ||
| 69 | +// rules: { | ||
| 70 | +// "vue/multi-word-component-names": "off", | ||
| 71 | +// }, | ||
| 72 | +// }, | ||
| 73 | +// // your custom flat configs go here, for example: | ||
| 74 | +// // { | ||
| 75 | +// // files: ['**/*.ts', '**/*.tsx'], | ||
| 76 | +// // rules: { | ||
| 77 | +// // 'no-console': 'off' // allow console.log in TypeScript files | ||
| 78 | +// // } | ||
| 79 | +// // }, | ||
| 80 | +// // { | ||
| 81 | +// // ... | ||
| 82 | +// // } | ||
| 83 | +// ); |
| 1 | +import process from "node:process"; | ||
| 2 | + | ||
| 1 | // https://nuxt.com/docs/api/configuration/nuxt-config | 3 | // https://nuxt.com/docs/api/configuration/nuxt-config |
| 2 | export default defineNuxtConfig({ | 4 | export default defineNuxtConfig({ |
| 3 | compatibilityDate: "2024-11-01", | 5 | compatibilityDate: "2024-11-01", |
| @@ -28,7 +30,6 @@ export default defineNuxtConfig({ | @@ -28,7 +30,6 @@ export default defineNuxtConfig({ | ||
| 28 | }, | 30 | }, |
| 29 | 31 | ||
| 30 | modules: [ | 32 | modules: [ |
| 31 | - "@nuxt/eslint", | ||
| 32 | "@nuxt/icon", | 33 | "@nuxt/icon", |
| 33 | "@nuxt/image", | 34 | "@nuxt/image", |
| 34 | "@nuxt/test-utils/module", | 35 | "@nuxt/test-utils/module", |
This diff could not be displayed because it is too large.
| @@ -10,14 +10,11 @@ | @@ -10,14 +10,11 @@ | ||
| 10 | "preview": "nuxt preview", | 10 | "preview": "nuxt preview", |
| 11 | "postinstall": "nuxt prepare", | 11 | "postinstall": "nuxt prepare", |
| 12 | "lint:js": "eslint --ext \".ts,.vue\" . --fix", | 12 | "lint:js": "eslint --ext \".ts,.vue\" . --fix", |
| 13 | - "lint:prettier": "prettier --write \"{components,pages,plugins,middleware,layouts,composables,assets}/**/*.{js,jsx,ts,tsx,vue,html,css,scss,json,md}\" .", | 13 | + "lint": "npm run lint:js", |
| 14 | - "lint": "npm run lint:js && npm run lint:prettier", | 14 | + "lintfix": "eslint . --fix", |
| 15 | - "format": "prettier --write \"{components,pages,plugins,middleware,layouts,composables,assets}/**/*.{js,jsx,ts,tsx,vue,html,css,scss,json,md}\" --list-different .", | ||
| 16 | - "lintfix": "npm run format && npm run lint:js", | ||
| 17 | "test": "vitest" | 15 | "test": "vitest" |
| 18 | }, | 16 | }, |
| 19 | "dependencies": { | 17 | "dependencies": { |
| 20 | - "@nuxt/eslint": "^1.3.0", | ||
| 21 | "@nuxt/icon": "^1.12.0", | 18 | "@nuxt/icon": "^1.12.0", |
| 22 | "@nuxt/image": "^1.10.0", | 19 | "@nuxt/image": "^1.10.0", |
| 23 | "@nuxt/scripts": "^0.11.6", | 20 | "@nuxt/scripts": "^0.11.6", |
| @@ -42,16 +39,14 @@ | @@ -42,16 +39,14 @@ | ||
| 42 | "vuetify-nuxt-module": "^0.18.6" | 39 | "vuetify-nuxt-module": "^0.18.6" |
| 43 | }, | 40 | }, |
| 44 | "devDependencies": { | 41 | "devDependencies": { |
| 42 | + "@antfu/eslint-config": "^4.13.0", | ||
| 45 | "@nuxt/test-utils": "^3.17.2", | 43 | "@nuxt/test-utils": "^3.17.2", |
| 46 | "@nuxtjs/tailwindcss": "^6.13.2", | 44 | "@nuxtjs/tailwindcss": "^6.13.2", |
| 47 | "@typescript-eslint/parser": "^8.32.1", | 45 | "@typescript-eslint/parser": "^8.32.1", |
| 48 | "@vue/test-utils": "^2.4.6", | 46 | "@vue/test-utils": "^2.4.6", |
| 49 | - "eslint-config-prettier": "^10.1.2", | ||
| 50 | - "eslint-plugin-prettier": "^5.2.6", | ||
| 51 | "happy-dom": "^17.4.4", | 47 | "happy-dom": "^17.4.4", |
| 52 | "jsdom": "^26.1.0", | 48 | "jsdom": "^26.1.0", |
| 53 | "playwright-core": "^1.52.0", | 49 | "playwright-core": "^1.52.0", |
| 54 | - "prettier": "^3.5.3", | ||
| 55 | "typescript-eslint": "^8.32.1", | 50 | "typescript-eslint": "^8.32.1", |
| 56 | "vitest": "^3.1.2", | 51 | "vitest": "^3.1.2", |
| 57 | "vue-eslint-parser": "^10.1.3" | 52 | "vue-eslint-parser": "^10.1.3" |
-
Please register or login to post a comment