From 301cfcd61bcccf2053f0f6a289c800fe87639faf Mon Sep 17 00:00:00 2001 From: Fedorov Vladimir Date: Mon, 20 Jul 2026 22:36:30 +0700 Subject: [PATCH] linters --- eslint.config.ts | 40 ++++++++- package-lock.json | 28 ++++++ package.json | 2 + src/App.vue | 2 +- src/api/auth_client.ts | 3 +- .../crabs/evening_detective_server/index.ts | 90 +++++++++---------- src/components/HeaderMenu.vue | 29 +++--- src/components/LoginPage.vue | 6 +- src/components/OfficePage.vue | 5 +- src/components/PlaceBlock.vue | 9 +- src/components/ScenariosEditorPage.vue | 19 ++-- src/components/ScenariosPage.vue | 11 +-- src/main.ts | 2 +- src/router/index.ts | 9 +- src/stores/auth.ts | 8 +- src/views/HomeView.vue | 1 + vite.config.ts | 2 +- 17 files changed, 171 insertions(+), 95 deletions(-) diff --git a/eslint.config.ts b/eslint.config.ts index 20475f8..1ff979c 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,7 +1,9 @@ -import { globalIgnores } from 'eslint/config' -import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' -import pluginVue from 'eslint-plugin-vue' import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' +import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript' +import { globalIgnores } from 'eslint/config' +import simpleImportSort from 'eslint-plugin-simple-import-sort'; +import unusedImports from 'eslint-plugin-unused-imports'; +import pluginVue from 'eslint-plugin-vue' // To allow more languages other than `ts` in `.vue` files, uncomment the following lines: // import { configureVueProject } from '@vue/eslint-config-typescript' @@ -19,4 +21,36 @@ export default defineConfigWithVueTs( pluginVue.configs['flat/essential'], vueTsConfigs.recommended, skipFormatting, + { + plugins: { + 'simple-import-sort': simpleImportSort, + }, + rules: { + // Основные правила сортировки + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + }, + }, + { + plugins: { + 'unused-imports': unusedImports, + }, + rules: { + // Отключаем стандартное правило + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'off', + + // Включаем правила плагина + 'unused-imports/no-unused-imports': 'error', // 🔧 автофикс + 'unused-imports/no-unused-vars': [ + 'warn', + { + vars: 'all', + varsIgnorePattern: '^_', + args: 'after-used', + argsIgnorePattern: '^_', + }, + ], + }, + } ) diff --git a/package-lock.json b/package-lock.json index a4ae9ca..e2a702c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,8 @@ "@vue/eslint-config-typescript": "^14.9.0", "@vue/tsconfig": "^0.9.1", "eslint": "^10.6.0", + "eslint-plugin-simple-import-sort": "^14.0.0", + "eslint-plugin-unused-imports": "^4.4.1", "eslint-plugin-vue": "~10.9.2", "jiti": "^2.7.0", "naive-ui": "^2.44.1", @@ -2679,6 +2681,32 @@ } } }, + "node_modules/eslint-plugin-simple-import-sort": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-14.0.0.tgz", + "integrity": "sha512-NUJO0+XFCkk+o5EsAJruTgnfMEpeWrPWeJS15UVF60GgXmqz1BJ9/3hzlvG7lkL8Bubzos5cCLptThbFfPnSMQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-unused-imports": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.4.1.tgz", + "integrity": "sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0", + "eslint": "^10.0.0 || ^9.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, "node_modules/eslint-plugin-vue": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.9.2.tgz", diff --git a/package.json b/package.json index f0d17b4..03ea80c 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,8 @@ "@vue/eslint-config-typescript": "^14.9.0", "@vue/tsconfig": "^0.9.1", "eslint": "^10.6.0", + "eslint-plugin-simple-import-sort": "^14.0.0", + "eslint-plugin-unused-imports": "^4.4.1", "eslint-plugin-vue": "~10.9.2", "jiti": "^2.7.0", "naive-ui": "^2.44.1", diff --git a/src/App.vue b/src/App.vue index 2c33034..b9b95fd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,7 +1,7 @@