From 447641c222347f3bffc6736ada2c8ecc187d0113 Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 7 Feb 2024 12:18:19 +0100 Subject: [PATCH] chore: apply lint fixes --- .eslintrc.cjs | 3 +- cypress.config.ts => cypress.config.js | 0 eslint.config_bac.js | 122 ----- package.json | 2 +- src/App.vue | 26 +- src/components/base/BaseButton.story.vue | 10 +- src/components/base/BaseButton.vue | 19 +- src/components/base/BaseCheckbox.vue | 23 +- src/components/base/Expandable.vue | 49 +- src/components/date/datemathHelp.story.vue | 10 +- src/components/date/datemathHelp.vue | 147 +++--- src/components/date/datepickerWithRange.vue | 65 ++- src/components/home/AddToHomeScreen.vue | 12 +- src/components/home/DemoMode.vue | 7 +- src/components/home/Logo.vue | 13 +- src/components/home/MenuButton.vue | 6 +- src/components/home/PoweredByLink.vue | 10 +- src/components/home/ProjectsNavigation.vue | 6 +- .../home/ProjectsNavigationItem.vue | 35 +- src/components/home/TheNavigation.vue | 106 ++-- src/components/home/UpdateNotification.vue | 13 +- src/components/home/contentAuth.vue | 28 +- src/components/home/contentLinkShare.vue | 12 +- src/components/home/navigation.vue | 62 ++- src/components/input/Button.story.vue | 15 +- src/components/input/ColorPicker.vue | 69 ++- src/components/input/SelectProject.vue | 2 +- src/components/input/SelectUser.vue | 2 +- src/components/input/SimpleButton.vue | 2 +- src/components/input/button.vue | 7 +- src/components/input/datepicker.vue | 21 +- src/components/input/datepickerInline.vue | 14 +- src/components/input/editor/CommandsList.vue | 14 +- src/components/input/editor/EditorToolbar.vue | 201 ++++---- src/components/input/editor/TipTap.vue | 138 ++--- src/components/input/fancycheckbox.story.vue | 28 +- src/components/input/fancycheckbox.vue | 9 +- src/components/input/multiselect.vue | 78 +-- src/components/input/password.vue | 18 +- src/components/misc/ButtonLink.vue | 4 +- src/components/misc/Done.vue | 2 +- src/components/misc/OpenQuickActions.vue | 4 +- src/components/misc/ProgressBar.story.vue | 10 +- src/components/misc/api-config.vue | 52 +- src/components/misc/card.vue | 23 +- src/components/misc/colorBubble.vue | 2 +- src/components/misc/create-edit.vue | 12 +- src/components/misc/dropdown-item.vue | 4 +- src/components/misc/dropdown.vue | 29 +- src/components/misc/error.vue | 17 +- src/components/misc/flatpickr/Flatpickr.vue | 6 +- .../misc/keyboard-shortcuts/index.vue | 31 +- src/components/misc/legal.vue | 14 +- src/components/misc/loading.vue | 5 +- src/components/misc/message.vue | 23 +- src/components/misc/modal.vue | 29 +- src/components/misc/no-auth-wrapper.vue | 39 +- src/components/misc/nothing.vue | 2 +- src/components/misc/notification.vue | 29 +- src/components/misc/pagination.vue | 40 +- src/components/misc/popup.vue | 16 +- src/components/misc/ready.vue | 44 +- src/components/misc/shortcut.vue | 10 +- src/components/misc/subscription.vue | 14 +- src/components/misc/user.vue | 9 +- .../notifications/notifications.vue | 63 ++- src/components/project/ProjectWrapper.vue | 14 +- .../project/partials/ProjectCard.vue | 17 +- .../project/partials/ProjectCardGrid.vue | 18 +- .../project/partials/filter-popup.vue | 8 +- src/components/project/partials/filters.vue | 137 ++--- .../project/project-settings-dropdown.vue | 65 +-- .../quick-actions/quick-actions.vue | 46 +- src/components/sharing/linkSharing.vue | 206 ++++---- src/components/sharing/userTeam.vue | 169 ++++--- src/components/tasks/GanttChart.vue | 14 +- src/components/tasks/TaskForm.vue | 20 +- src/components/tasks/add-task.vue | 22 +- .../tasks/partials/assigneeList.vue | 13 +- src/components/tasks/partials/attachments.vue | 55 +- .../tasks/partials/checklist-summary.vue | 30 +- src/components/tasks/partials/comments.vue | 74 +-- .../tasks/partials/createdUpdated.vue | 34 +- src/components/tasks/partials/defer-task.vue | 8 +- src/components/tasks/partials/description.vue | 22 +- .../tasks/partials/editAssignees.vue | 18 +- src/components/tasks/partials/editLabels.vue | 23 +- src/components/tasks/partials/heading.vue | 22 +- src/components/tasks/partials/kanban-card.vue | 61 ++- src/components/tasks/partials/labels.vue | 2 +- .../tasks/partials/percentDoneSelect.vue | 44 +- .../tasks/partials/priorityLabel.vue | 17 +- .../tasks/partials/prioritySelect.vue | 26 +- .../tasks/partials/projectSearch.vue | 7 +- .../tasks/partials/quick-add-magic.vue | 21 +- .../tasks/partials/relatedTasks.vue | 99 ++-- .../tasks/partials/reminder-detail.vue | 19 +- .../tasks/partials/reminder-period.vue | 35 +- .../tasks/partials/reminders.story.vue | 8 +- src/components/tasks/partials/reminders.vue | 10 +- src/components/tasks/partials/repeatAfter.vue | 72 ++- .../tasks/partials/singleTaskInProject.vue | 127 +++-- .../partials/singleTaskInlineReadonly.vue | 46 +- src/components/tasks/partials/sort.vue | 16 +- src/composables/useRouteWithModal.ts | 3 +- src/histoire.setup.ts | 6 +- src/main.ts | 8 +- src/views/About.vue | 4 +- src/views/Home.vue | 31 +- src/views/filters/FilterEdit.vue | 44 +- src/views/filters/FilterNew.vue | 131 ++--- src/views/labels/ListLabels.vue | 63 ++- src/views/labels/NewLabel.vue | 26 +- src/views/migrate/Migration.vue | 2 +- src/views/migrate/MigrationHandler.vue | 55 +- src/views/project/ListProjects.vue | 24 +- src/views/project/NewProject.vue | 43 +- src/views/project/ProjectGantt.vue | 55 +- src/views/project/ProjectInfo.vue | 11 +- src/views/project/ProjectKanban.vue | 472 ++++++++++-------- src/views/project/ProjectList.vue | 218 ++++---- src/views/project/ProjectTable.vue | 343 ++++++++----- src/views/project/settings/archive.vue | 6 +- src/views/project/settings/background.vue | 42 +- src/views/project/settings/delete.vue | 15 +- src/views/project/settings/duplicate.vue | 8 +- src/views/project/settings/edit.vue | 48 +- src/views/project/settings/share.vue | 20 +- src/views/project/settings/webhooks.vue | 119 +++-- src/views/sharing/LinkSharingAuth.vue | 26 +- src/views/tasks/ShowTasks.vue | 78 ++- src/views/tasks/TaskDetailView.vue | 366 +++++++++----- src/views/teams/EditTeam.vue | 188 ++++--- src/views/teams/ListTeams.vue | 24 +- src/views/teams/NewTeam.vue | 24 +- src/views/user/DataExportDownload.vue | 21 +- src/views/user/Login.vue | 94 +++- src/views/user/OpenIdAuth.vue | 19 +- src/views/user/PasswordReset.vue | 37 +- src/views/user/Register.vue | 68 ++- src/views/user/RequestPasswordReset.vue | 44 +- src/views/user/Settings.vue | 12 +- src/views/user/settings/ApiTokens.vue | 139 ++++-- src/views/user/settings/Avatar.vue | 28 +- src/views/user/settings/Caldav.vue | 61 ++- src/views/user/settings/DataExport.vue | 23 +- src/views/user/settings/Deletion.vue | 54 +- src/views/user/settings/EmailUpdate.vue | 34 +- src/views/user/settings/General.vue | 115 +++-- src/views/user/settings/PasswordUpdate.vue | 63 ++- src/views/user/settings/TOTP.vue | 69 ++- 151 files changed, 4336 insertions(+), 2630 deletions(-) rename cypress.config.ts => cypress.config.js (100%) delete mode 100644 eslint.config_bac.js diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 4b4d703ea..f8c9d46f6 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -19,7 +19,7 @@ module.exports = { 'semi': ['error', 'never'], 'vue/v-on-event-hyphenation': ['warn', 'never', { 'autofix': true }], - 'vue/multi-word-component-names': 'warn', + 'vue/multi-word-component-names': 'off', // uncategorized rules: 'vue/component-api-style': ['error', ['script-setup']], @@ -43,6 +43,7 @@ module.exports = { 'vue/no-required-prop-with-default': ['error', { 'autofix': true }], 'vue/no-duplicate-attr-inheritance': 'error', 'vue/no-empty-component-block': 'error', + 'vue/html-indent': ['error', 'tab'], // vue3 'vue/no-ref-object-destructure': 'error', diff --git a/cypress.config.ts b/cypress.config.js similarity index 100% rename from cypress.config.ts rename to cypress.config.js diff --git a/eslint.config_bac.js b/eslint.config_bac.js deleted file mode 100644 index 2dc445c5a..000000000 --- a/eslint.config_bac.js +++ /dev/null @@ -1,122 +0,0 @@ -// import originalEslintPluginVue from 'eslint-plugin-vue' -import vueTsRecommended from '@vue/eslint-config-typescript/recommended.js' -// import vueParser from 'vue-eslint-parser' -import tsParser from "@typescript-eslint/parser" - -const vue3Recommended = vue.configs['vue3-recommended'] - -import {default as originalVuePlugin} from "eslint-plugin-vue"; - -// see https://github.com/eslint/eslint/issues/16875#issuecomment-1426594123 -const eslintPluginVue = { - ...originalVuePlugin, - parsers: { - 'parser': { - parseForESLint: originalVuePlugin.parseForESLint - } - } -} - -// export default [{ -// files: ["**/*.json", "**/*.jsonc", "**/*.json5"], -// plugins: { -// vue: { ...vue, parsers} -// /* same as -// jsonc: { -// parsers: { -// 'jsonc-eslint-parser': { -// parseForESLint -// } -// } -// } */ -// }, -// languageOptions: { -// parser: 'vue/vue-eslint-parser' -// }, -// rules: {...} -// }]; - -export default [ - // 'eslint:recommended', - { - files: ["**/*.vue"], - plugins: { - vue: eslintPluginVue, - }, - languageOptions: { - parser: 'vue/parser' - }, - }, - // { - // plugins: { - // // vue: vue3Recommended, - // // '@typescript-eslint': vueTsRecommended, - // }, - // languageOptions: { - // // parser: eslintPluginVue, - // // parser: 'vue/vue-eslint-parser', - // parserOptions: { - // parser: '@typescript-eslint/parser', - // // 'ecmaVersion': 2022, - // // 'sourceType': 'module', - // }, - // } - // } - // { - // files: ["./src/**/*.vue"], - // // files: ["./src/**/*.js"], - // // ignores: ["**/*.config.js"], - // rules: { - // semi: "error" - // }, - // plugins: { - // vue: vue3Recommended, - // // '@typescript-eslint': vueTsRecommended, - // }, - // }, - // { - // files: ["src/**/*.vue"], - // // files: [ - // // 'src/**/*.vue', - // // 'src/**/*.js', - // // 'src/**/*.ts', - // // // 'src/**/*.+(vue|js|ts)', - // // ], - // ignores: [ - // '*.test.*', - // 'cypress/*', - // ], - // plugins: { - // vue: vue3Recommended, - // '@typescript-eslint': vueTsRecommended, - // }, - // rules: { - // 'vue/html-quotes': ['error', 'double'], - // 'quotes': ['error', 'single'], - // 'comma-dangle': ['error', 'always-multiline'], - // 'semi': ['error', 'never'], - // 'vue/multi-word-component-names': 0, - // // disabled until we have support for reactivityTransform - // // See https://github.com/vuejs/eslint-plugin-vue/issues/1948 - // // see also setting in `vite.config` - // 'vue/no-setup-props-destructure': 0, - // }, - // // overwrite the following with correct values - // // eslint-plugin-vue/lib/configs/base.js - - // // parser: - // parserOptions: { - // ecmaVersion: 2022, - - - // 'parser': '@typescript-eslint/parser', - // 'sourceType': 'module', - // }, - // globals: { - // 'browser': true, - // 'es2022': true, - // 'node': true, - // 'vue/setup-compiler-macros': true, - // } - // }, -] \ No newline at end of file diff --git a/package.json b/package.json index 5c743af7b..21cb98b6a 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "build:modern-only": "BUILD_MODERN_ONLY=true vite build && workbox copyLibraries dist/", "build:dev": "vite build --mode development --outDir dist-dev/", "lint": "eslint 'src/**/*.{js,ts,vue}'", - "lint:fix": "eslint --fix 'src/**/*.{js,ts,vue}' ", + "lint:fix": "pnpm run lint --fix", "test:e2e": "start-server-and-test preview http://127.0.0.1:4173 'cypress run --e2e --browser chrome'", "test:e2e-record": "start-server-and-test preview http://127.0.0.1:4173 'cypress run --e2e --browser chrome --record'", "test:e2e-dev-dev": "start-server-and-test preview:dev http://127.0.0.1:4173 'cypress open --e2e'", diff --git a/src/App.vue b/src/App.vue index 77d3dacf4..0c0c4093c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,23 +1,23 @@ diff --git a/src/components/home/Logo.vue b/src/components/home/Logo.vue index 10a1753a2..9e383b846 100644 --- a/src/components/home/Logo.vue +++ b/src/components/home/Logo.vue @@ -15,8 +15,17 @@ const CustomLogo = computed(() => window.CUSTOM_LOGO_URL) diff --git a/src/components/home/MenuButton.vue b/src/components/home/MenuButton.vue index b221ec5b8..23019cfdf 100644 --- a/src/components/home/MenuButton.vue +++ b/src/components/home/MenuButton.vue @@ -1,11 +1,11 @@ diff --git a/src/components/home/PoweredByLink.vue b/src/components/home/PoweredByLink.vue index d8793f40b..3376c2f04 100644 --- a/src/components/home/PoweredByLink.vue +++ b/src/components/home/PoweredByLink.vue @@ -1,7 +1,11 @@ diff --git a/src/components/misc/api-config.vue b/src/components/misc/api-config.vue index cf3ad9383..b8fea5539 100644 --- a/src/components/misc/api-config.vue +++ b/src/components/misc/api-config.vue @@ -1,38 +1,62 @@ @@ -57,7 +81,7 @@ const props = defineProps({ const emit = defineEmits(['foundApi']) const apiUrl = ref(window.API_URL) -const configureApi = ref(apiUrl.value === '') +const configureApi = ref(window.API_URL === '') // Because we're only using this to parse the hostname, it should be fine to just prefix with http:// // regardless of whether the url is actually reachable under http. diff --git a/src/components/misc/card.vue b/src/components/misc/card.vue index 49a6a6c63..2d0edbae1 100644 --- a/src/components/misc/card.vue +++ b/src/components/misc/card.vue @@ -1,18 +1,24 @@ diff --git a/src/components/misc/colorBubble.vue b/src/components/misc/colorBubble.vue index 3b7a8ba31..a6c563796 100644 --- a/src/components/misc/colorBubble.vue +++ b/src/components/misc/colorBubble.vue @@ -2,7 +2,7 @@ + /> diff --git a/src/components/misc/modal.vue b/src/components/misc/modal.vue index 2bbd063b6..c5ddc1e05 100644 --- a/src/components/misc/modal.vue +++ b/src/components/misc/modal.vue @@ -1,56 +1,59 @@