From 4b5cbe7750c0886f261cee594279f21357272d5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Fri, 19 May 2023 13:31:16 +0000 Subject: [PATCH] ci(editor): Enfore stricter linting rules from `eslint-plugin-vue` (no-changelog) (#6242) --- package.json | 3 +- packages/@n8n_io/eslint-config/frontend.js | 8 +- packages/@n8n_io/eslint-config/package.json | 5 +- packages/editor-ui/.eslintrc.js | 2 - .../editor-ui/src/components/AboutModal.vue | 4 +- .../src/components/ActivationModal.vue | 4 +- .../editor-ui/src/components/AskAiModal.vue | 2 +- .../src/components/BreakpointsObserver.vue | 2 +- .../src/components/ChangePasswordModal.vue | 2 +- .../CodeNodeEditor/CodeNodeEditor.vue | 2 - .../src/components/CollectionsCarousel.vue | 2 +- .../CommunityPackageInstallModal.vue | 6 +- .../CommunityPackageManageConfirmModal.vue | 2 +- .../src/components/ContactPromptModal.vue | 2 +- .../src/components/CredentialsSelectModal.vue | 2 +- .../src/components/DeleteUserModal.vue | 2 +- .../components/DuplicateWorkflowDialog.vue | 2 +- .../src/components/ExecutionsList.vue | 2 - .../src/components/ExecutionsModal.vue | 2 +- .../ExpandableInput/ExpandableInputEdit.vue | 2 +- .../src/components/ImportCurlModal.vue | 2 +- .../src/components/InlineTextEdit.vue | 2 +- .../src/components/InviteUsersModal.vue | 2 +- .../components/MainHeader/WorkflowDetails.vue | 2 +- packages/editor-ui/src/components/Modal.vue | 4 +- .../editor-ui/src/components/ModalDrawer.vue | 2 +- .../Node/NodeCreator/ItemTypes/NodeItem.vue | 2 +- .../src/components/NodeDetailsView.vue | 7 +- .../src/components/NodeExecuteButton.vue | 4 +- .../editor-ui/src/components/NodeSettings.vue | 4 +- .../components/OnboardingCallSignupModal.vue | 2 +- .../src/components/ParameterInput.vue | 10 +- .../src/components/PersonalizationModal.vue | 2 +- .../ResourceLocator/ResourceLocator.vue | 2 - packages/editor-ui/src/components/RunData.vue | 2 - .../EventDestinationCard.ee.vue | 2 +- .../EventDestinationSettingsModal.ee.vue | 4 +- .../editor-ui/src/components/TagsDropdown.vue | 2 +- .../components/TagsManager/TagsManager.vue | 2 +- .../components/UserActivationSurveyModal.vue | 2 +- .../editor-ui/src/components/ValueSurvey.vue | 2 +- .../src/components/WorkflowSettings.vue | 2 +- .../src/components/WorkflowShareModal.ee.vue | 8 +- .../layouts/ResourcesListLayout.vue | 8 +- .../src/event-bus/code-node-editor.ts | 2 +- .../editor-ui/src/event-bus/data-pinning.ts | 2 +- .../editor-ui/src/event-bus/html-editor.ts | 2 +- packages/editor-ui/src/event-bus/index.ts | 1 - packages/editor-ui/src/event-bus/node-view.ts | 2 +- packages/editor-ui/src/models/history.ts | 2 +- .../editor-ui/src/views/SettingsLdapView.vue | 2 +- .../src/views/SettingsLogStreamingView.vue | 4 +- .../src/views/SettingsPersonalView.vue | 2 +- .../editor-ui/src/views/SettingsUsersView.vue | 4 - ...escript-eslint__eslint-plugin@5.59.0.patch | 13 - pnpm-lock.yaml | 242 ++++++++++++------ 56 files changed, 239 insertions(+), 178 deletions(-) delete mode 100644 patches/@typescript-eslint__eslint-plugin@5.59.0.patch diff --git a/package.json b/package.json index 6acfa1f9f0..86c7c4926a 100644 --- a/package.json +++ b/package.json @@ -94,8 +94,7 @@ "patchedDependencies": { "element-ui@2.15.12": "patches/element-ui@2.15.12.patch", "typedi@0.10.0": "patches/typedi@0.10.0.patch", - "@sentry/cli@2.17.0": "patches/@sentry__cli@2.17.0.patch", - "@typescript-eslint/eslint-plugin@5.59.0": "patches/@typescript-eslint__eslint-plugin@5.59.0.patch" + "@sentry/cli@2.17.0": "patches/@sentry__cli@2.17.0.patch" } } } diff --git a/packages/@n8n_io/eslint-config/frontend.js b/packages/@n8n_io/eslint-config/frontend.js index c2ad35031a..9184438438 100644 --- a/packages/@n8n_io/eslint-config/frontend.js +++ b/packages/@n8n_io/eslint-config/frontend.js @@ -25,11 +25,13 @@ module.exports = { 'vue/no-deprecated-slot-scope-attribute': 'error', 'vue/no-multiple-template-root': 'error', 'vue/v-slot-style': 'error', + 'vue/no-unused-components': 'error', + 'vue/multi-word-component-names': 'off', // TODO: remove these - 'vue/no-unused-components': 'warn', - 'vue/return-in-computed-property': 'warn', 'vue/no-mutating-props': 'warn', - '@typescript-eslint/no-floating-promises': 'warn', + 'vue/no-side-effects-in-computed-properties': 'warn', + 'vue/no-v-text-v-html-on-component': 'warn', + 'vue/return-in-computed-property': 'warn', }, }; diff --git a/packages/@n8n_io/eslint-config/package.json b/packages/@n8n_io/eslint-config/package.json index 34e0abc03a..dfc131cd35 100644 --- a/packages/@n8n_io/eslint-config/package.json +++ b/packages/@n8n_io/eslint-config/package.json @@ -6,7 +6,7 @@ "@types/eslint": "~8.37", "@typescript-eslint/eslint-plugin": "~5.59", "@typescript-eslint/parser": "~5.59", - "@vue/eslint-config-typescript": "~8.0", + "@vue/eslint-config-typescript": "^11.0.3", "eslint": "~8.39", "eslint-config-airbnb-typescript": "~17.0", "eslint-config-prettier": "~8.8", @@ -17,7 +17,8 @@ "eslint-plugin-prettier": "~4.2", "eslint-plugin-unicorn": "~46.0", "eslint-plugin-unused-imports": "~2.0", - "eslint-plugin-vue": "~7.17" + "eslint-plugin-vue": "^9.12.0", + "vue-eslint-parser": "^9.3.0" }, "scripts": { "clean": "rimraf .turbo", diff --git a/packages/editor-ui/.eslintrc.js b/packages/editor-ui/.eslintrc.js index 4ac9eccb42..0a86924fc5 100644 --- a/packages/editor-ui/.eslintrc.js +++ b/packages/editor-ui/.eslintrc.js @@ -8,8 +8,6 @@ module.exports = { ...sharedOptions(__dirname, 'frontend'), - ignorePatterns: ['*.d.cts'], - rules: { // TODO: Remove these 'id-denylist': 'off', diff --git a/packages/editor-ui/src/components/AboutModal.vue b/packages/editor-ui/src/components/AboutModal.vue index ffc192e81b..23ee51b71e 100644 --- a/packages/editor-ui/src/components/AboutModal.vue +++ b/packages/editor-ui/src/components/AboutModal.vue @@ -55,12 +55,12 @@