From 181618f3dc848e830163b80990d109c1f3e7afef Mon Sep 17 00:00:00 2001 From: Meir Roth <12494197+meirroth@users.noreply.github.com> Date: Wed, 8 May 2024 10:44:36 +0300 Subject: [PATCH] add prettier --- .prettierignore | 1 + .prettierrc | 6 ++++++ .vscode/settings.json | 17 +++++++++++++++-- eslint.config.mjs | 26 ++++++++++++++------------ nuxt.config.ts | 4 +--- package.json | 6 +++++- 6 files changed, 42 insertions(+), 18 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..bd5535a --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +pnpm-lock.yaml diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..d96cb68 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": false, + "arrowParens": "always", + "singleQuote": true, + "endOfLine": "lf" +} diff --git a/.vscode/settings.json b/.vscode/settings.json index ba56d32..5f10528 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,16 @@ { - "eslint.experimental.useFlatConfig": true -} \ No newline at end of file + "eslint.experimental.useFlatConfig": true, + "editor.formatOnSave": true, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[vue]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} diff --git a/eslint.config.mjs b/eslint.config.mjs index bea4566..20ee823 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,14 +1,16 @@ +import eslintConfigPrettier from 'eslint-config-prettier' +import eslintPluginPrettier from 'eslint-plugin-prettier' +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended' import withNuxt from './.nuxt/eslint.config.mjs' -export default withNuxt( - // your custom flat configs go here, for example: - // { - // files: ['**/*.ts', '**/*.tsx'], - // rules: { - // 'no-console': 'off' // allow console.log in TypeScript files - // } - // }, - // { - // ... - // } -) +export default withNuxt([ + { + plugins: { + prettier: eslintPluginPrettier, + }, + rules: { + ...eslintConfigPrettier.rules, + ...eslintPluginPrettierRecommended.rules, + }, + }, +]) diff --git a/nuxt.config.ts b/nuxt.config.ts index 8864674..091f5e1 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,7 +1,5 @@ // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ devtools: { enabled: true }, - modules: [ - '@nuxt/eslint' - ], + modules: ['@nuxt/eslint'], }) diff --git a/package.json b/package.json index a0609c6..699897d 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,16 @@ "preview": "nuxt preview", "postinstall": "nuxt prepare", "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint:fix": "eslint . --fix", + "format": "prettier . --write" }, "devDependencies": { "@nuxt/eslint": "^0.3.10", "eslint": "^9.2.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", "nuxt": "^3.11.2", + "prettier": "^3.2.5", "vue": "^3.4.27", "vue-router": "^4.3.2" }