From 372d5c7d01309fe22fe67311f9ab53347e8af5bb 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: Tue, 26 Mar 2024 14:22:57 +0100 Subject: [PATCH] ci: Upgrade eslint, prettier, typescript, and some other dev tooling (no-changelog) (#8895) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Iván Ovejero --- package.json | 7 +- .../llms/LMChatOpenAi/LmChatOpenAi.node.ts | 2 +- packages/@n8n_io/eslint-config/package.json | 28 +- packages/cli/src/InternalHooks.ts | 4 +- packages/cli/src/LoadNodesAndCredentials.ts | 2 +- packages/cli/src/TestWebhooks.ts | 2 +- packages/cli/src/WebhookHelpers.ts | 2 +- packages/cli/src/config/types.ts | 33 +- .../src/credentials/credentials.controller.ts | 2 +- .../1674509946020-CreateLdapEntities.ts | 8 +- .../installedPackages.repository.ts | 6 +- .../repositories/workflow.repository.ts | 2 +- .../MessageEventBusDestination/Helpers.ee.ts | 2 +- .../services/credentials-tester.service.ts | 4 +- .../worker/handleCommandMessageWorker.ts | 13 +- .../cli/src/workflows/workflow.service.ts | 2 +- .../cli/src/workflows/workflows.controller.ts | 2 +- .../integration/workflowHistory.api.test.ts | 8 +- packages/core/src/NodeExecuteFunctions.ts | 10 +- packages/core/src/WorkflowExecute.ts | 6 +- .../src/components/N8nCheckbox/Checkbox.vue | 2 +- .../components/N8nColorPicker/ColorPicker.vue | 2 +- .../src/components/N8nDatatable/Datatable.vue | 4 +- .../src/components/N8nFormInput/FormInput.vue | 8 +- .../components/N8nFormInputs/FormInputs.vue | 2 +- .../src/components/N8nSticky/Sticky.vue | 2 +- packages/editor-ui/src/__tests__/render.ts | 2 +- .../src/components/ActivationModal.vue | 2 +- .../CodeNodeEditor/CodeNodeEditor.vue | 2 +- .../src/components/CodeNodeEditor/theme.ts | 4 +- .../src/components/CollectionParameter.vue | 4 +- .../CommunityPackageInstallModal.vue | 2 +- .../components/ContextMenu/ContextMenu.vue | 2 +- .../src/components/CredentialCard.vue | 2 +- .../CredentialEdit/AuthTypeSelector.vue | 2 +- .../CredentialEdit/CredentialConfig.vue | 2 +- .../CredentialEdit/CredentialEdit.vue | 8 +- .../CredentialEdit/CredentialSharing.ee.vue | 2 +- .../CredentialPicker/CredentialsDropdown.vue | 2 +- .../src/components/CredentialsSelect.vue | 4 +- .../src/components/CredentialsSelectModal.vue | 2 +- .../src/components/DeleteUserModal.vue | 8 +- .../src/components/ExecutionFilter.vue | 6 +- .../src/components/ExecutionsList.vue | 10 +- .../ExecutionsView/ExecutionPreview.vue | 4 +- .../ExecutionsInfoAccordion.vue | 4 +- .../ExecutionsView/ExecutionsList.vue | 16 +- .../ExecutionsView/ExecutionsSidebar.vue | 8 +- .../src/components/ExpressionEdit.vue | 2 +- .../ExpressionEditorModalOutput.vue | 4 +- .../ExternalSecretsProviderCard.ee.vue | 2 +- ...rnalSecretsProviderConnectionSwitch.ee.vue | 2 +- .../FilterConditions/CombinatorSelect.vue | 7 +- .../components/FilterConditions/Condition.vue | 2 +- .../FilterConditions/FilterConditions.vue | 2 +- .../FilterConditions/OperatorSelect.vue | 2 +- .../components/FixedCollectionParameter.vue | 6 +- .../src/components/ImportCurlModal.vue | 2 +- .../InlineExpressionEditorOutput.vue | 4 +- .../src/components/InlineNameEdit.vue | 2 +- .../src/components/InlineTextEdit.vue | 2 +- .../editor-ui/src/components/InputPanel.vue | 18 +- .../src/components/InviteUsersModal.vue | 2 +- .../src/components/MainHeader/MainHeader.vue | 4 +- .../src/components/MainHeader/TabBar.vue | 2 +- .../editor-ui/src/components/MainSidebar.vue | 2 +- .../src/components/MultipleParameter.vue | 2 +- .../src/components/NDVDraggablePanels.vue | 2 +- .../src/components/Node/NodeCreation.vue | 4 +- .../Node/NodeCreator/Modes/NodesMode.vue | 6 +- .../Node/NodeCreator/NodeCreator.vue | 2 +- .../Node/NodeCreator/Panel/NodesListPanel.vue | 6 +- .../components/Node/NodeCreator/viewsData.ts | 2 +- .../src/components/NodeCredentials.vue | 4 +- .../src/components/NodeDetailsView.vue | 44 +- .../editor-ui/src/components/NodeSettings.vue | 26 +- .../src/components/NodeSettingsTabs.vue | 4 +- .../editor-ui/src/components/OutputPanel.vue | 14 +- .../src/components/ParameterInput.vue | 14 +- .../src/components/ParameterInputExpanded.vue | 4 +- .../src/components/ParameterInputFull.vue | 6 +- .../src/components/ParameterInputList.vue | 14 +- .../src/components/ParameterInputWrapper.vue | 2 +- .../src/components/ParameterOptions.vue | 2 +- .../ResourceLocator/ResourceLocator.vue | 12 +- .../ResourceLocatorDropdown.vue | 2 +- .../ResourceMapper/MappingFields.vue | 4 +- .../ResourceMapper/MappingModeSelect.vue | 2 +- .../ResourceMapper/MatchingColumnsSelect.vue | 4 +- .../ResourceMapper/ResourceMapper.vue | 18 +- packages/editor-ui/src/components/RunData.vue | 22 +- .../editor-ui/src/components/RunDataJson.vue | 2 +- .../src/components/RunDataSearch.vue | 2 +- .../EventDestinationCard.ee.vue | 2 +- .../EventDestinationSettingsModal.ee.vue | 10 +- .../EventSelection.ee.vue | 6 +- .../components/SourceControlPushModal.ee.vue | 4 +- packages/editor-ui/src/components/Sticky.vue | 6 +- .../SuggestedTemplatesSection.vue | 2 +- .../editor-ui/src/components/TagsDropdown.vue | 2 +- .../components/TagsManager/TagsManager.vue | 4 +- .../TagsManager/TagsView/TagsTable.vue | 2 +- .../TagsManager/TagsView/TagsTableHeader.vue | 2 +- .../TagsManager/TagsView/TagsView.vue | 14 +- .../editor-ui/src/components/TemplateList.vue | 2 +- .../editor-ui/src/components/TextEdit.vue | 2 +- .../editor-ui/src/components/ValueSurvey.vue | 2 +- .../src/components/VariableSelector.vue | 2 +- .../src/components/VariableSelectorItem.vue | 2 +- .../src/components/WorkflowActivator.vue | 2 +- .../src/components/WorkflowSettings.vue | 18 +- .../src/components/WorkflowShareModal.ee.vue | 4 +- .../__tests__/PersonalizationModal.spec.ts | 8 +- .../__tests__/WorkflowLMChatModal.test.ts | 4 +- .../forms/ResourceFiltersDropdown.vue | 4 +- .../forms/ResourceOwnershipSelect.ee.vue | 2 +- .../layouts/ResourcesListLayout.vue | 10 +- .../src/composables/useContextMenu.ts | 4 +- .../editor-ui/src/composables/useToast.ts | 2 +- .../completions/dollar.completions.ts | 2 +- .../plugins/connectors/N8nCustomConnector.ts | 8 +- packages/editor-ui/src/stores/canvas.store.ts | 4 +- packages/editor-ui/src/stores/usage.store.ts | 2 +- .../editor-ui/src/stores/workflows.store.ts | 3 +- packages/editor-ui/src/types/externalHooks.ts | 6 +- .../editor-ui/src/utils/pairedItemUtils.ts | 4 +- packages/editor-ui/src/views/AuthView.vue | 2 +- .../editor-ui/src/views/CredentialsView.vue | 2 +- packages/editor-ui/src/views/NodeView.vue | 42 +- .../src/views/SettingsCommunityNodesView.vue | 4 +- .../src/views/SettingsPersonalView.vue | 2 +- .../src/views/SettingsSourceControl.vue | 4 +- .../editor-ui/src/views/SettingsUsersView.vue | 10 +- packages/editor-ui/src/views/SigninView.vue | 4 +- .../src/views/TemplatesCollectionView.vue | 4 +- .../editor-ui/src/views/VariablesView.vue | 2 +- .../editor-ui/src/views/WorkflowsView.vue | 17 +- .../ActiveCampaign/ActiveCampaign.node.ts | 2 +- .../nodes/Airtable/v2/helpers/utils.ts | 2 +- .../nodes/Chargebee/Chargebee.node.ts | 2 +- packages/nodes-base/nodes/Code/Code.node.ts | 7 +- .../nodes/Code/JavaScriptSandbox.ts | 2 +- .../nodes/CrowdDev/GenericFunctions.ts | 2 +- .../nodes/CrowdDev/descriptions/utils.ts | 4 +- .../nodes/Discord/v2/transport/helpers.ts | 2 +- .../actions/moveTo.operation.ts | 5 +- .../ReadWriteFile/actions/read.operation.ts | 2 +- .../ReadWriteFile/actions/write.operation.ts | 5 +- .../nodes/Google/Sheet/v2/transport/index.ts | 2 +- .../nodes/Grist/GenericFunctions.ts | 4 +- packages/nodes-base/nodes/Grist/Grist.node.ts | 4 +- packages/nodes-base/nodes/Html/Html.node.ts | 3 +- packages/nodes-base/nodes/Html/utils.ts | 3 +- .../HttpRequest/V3/HttpRequestV3.node.ts | 2 +- .../nodes/Hubspot/V2/HubspotV2.node.ts | 3 +- .../nodes/ICalendar/createEvent.operation.ts | 2 +- .../nodes-base/nodes/Merge/v1/MergeV1.node.ts | 2 +- .../Teams/test/v2/node/channel/create.test.ts | 6 +- .../Teams/v1/MicrosoftTeamsV1.node.ts | 2 +- .../v2/actions/channel/create.operation.ts | 2 +- .../channel/deleteChannel.operation.ts | 2 +- .../Teams/v2/actions/channel/get.operation.ts | 2 +- .../v2/actions/channel/getAll.operation.ts | 4 +- .../v2/actions/channel/update.operation.ts | 2 +- .../channelMessage/create.operation.ts | 2 +- .../channelMessage/getAll.operation.ts | 4 +- .../actions/chatMessage/create.operation.ts | 2 +- .../v2/actions/chatMessage/get.operation.ts | 2 +- .../actions/chatMessage/getAll.operation.ts | 4 +- .../Teams/v2/actions/task/create.operation.ts | 4 +- .../v2/actions/task/deleteTask.operation.ts | 2 +- .../Teams/v2/actions/task/get.operation.ts | 2 +- .../Teams/v2/actions/task/update.operation.ts | 2 +- .../Microsoft/Teams/v2/transport/index.ts | 2 +- .../nodes/MongoDb/GenericFunctions.ts | 5 +- .../nodes-base/nodes/OpenAi/OpenAi.node.ts | 2 +- .../nodes/Pipedrive/Pipedrive.node.ts | 2 +- .../nodes-base/nodes/Slack/V2/SlackV2.node.ts | 8 +- .../SpreadsheetFile/v2/toFile.operation.ts | 2 +- .../nodes/Switch/V3/SwitchV3.node.ts | 2 +- .../nodes-base/nodes/Webhook/Webhook.node.ts | 2 +- .../nodes/WhatsApp/MessageFunctions.ts | 5 +- .../nodes-base/nodes/Zoho/GenericFunctions.ts | 2 +- packages/nodes-base/utils/binary.ts | 2 +- packages/workflow/src/Expression.ts | 2 +- .../src/Extensions/StringExtensions.ts | 2 +- packages/workflow/src/RoutingNode.ts | 2 +- packages/workflow/src/Workflow.ts | 2 +- packages/workflow/test/Workflow.test.ts | 4 +- pnpm-lock.yaml | 1390 ++++++++--------- 190 files changed, 1142 insertions(+), 1198 deletions(-) diff --git a/package.json b/package.json index f45ea1cb1f..d659e8b65d 100644 --- a/package.json +++ b/package.json @@ -83,12 +83,11 @@ "axios": "1.6.7", "chokidar": "3.5.2", "formidable": "3.5.1", - "ip": "2.0.1", - "prettier": "^3.1.0", + "prettier": "^3.2.5", "semver": "^7.5.4", - "tslib": "^2.6.1", + "tslib": "^2.6.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.3.0" + "typescript": "^5.4.2" }, "patchedDependencies": { "typedi@0.10.0": "patches/typedi@0.10.0.patch", diff --git a/packages/@n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.ts b/packages/@n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.ts index e69f726d40..9d676b91c4 100644 --- a/packages/@n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.ts +++ b/packages/@n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.ts @@ -250,7 +250,7 @@ export class LmChatOpenAi implements INodeType { modelKwargs: options.responseFormat ? { response_format: { type: options.responseFormat }, - } + } : undefined, }); diff --git a/packages/@n8n_io/eslint-config/package.json b/packages/@n8n_io/eslint-config/package.json index 0e93a3fbd5..6f776d0e64 100644 --- a/packages/@n8n_io/eslint-config/package.json +++ b/packages/@n8n_io/eslint-config/package.json @@ -3,23 +3,23 @@ "private": true, "version": "0.0.1", "devDependencies": { - "@types/eslint": "^8.44.7", - "@typescript-eslint/eslint-plugin": "^6.12.0", - "@typescript-eslint/parser": "^6.12.0", - "@vue/eslint-config-prettier": "^8.0.0", - "@vue/eslint-config-typescript": "^12.0.0", - "eslint": "^8.54.0", - "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-prettier": "^9.0.0", + "@types/eslint": "^8.56.5", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", + "@vue/eslint-config-prettier": "^9.0.0", + "@vue/eslint-config-typescript": "^13.0.0", + "eslint": "^8.57.0", + "eslint-config-airbnb-typescript": "^18.0.0", + "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", - "eslint-plugin-import": "^2.29.0", + "eslint-plugin-import": "^2.29.1", "eslint-plugin-lodash": "^7.4.0", "eslint-plugin-n8n-local-rules": "^1.0.0", - "eslint-plugin-prettier": "^5.0.1", - "eslint-plugin-unicorn": "^49.0.0", - "eslint-plugin-unused-imports": "^3.0.0", - "eslint-plugin-vue": "^9.18.1", - "vue-eslint-parser": "^9.3.2" + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-unicorn": "^51.0.1", + "eslint-plugin-unused-imports": "^3.1.0", + "eslint-plugin-vue": "^9.23.0", + "vue-eslint-parser": "^9.4.2" }, "scripts": { "clean": "rimraf .turbo", diff --git a/packages/cli/src/InternalHooks.ts b/packages/cli/src/InternalHooks.ts index e5bc7c21e2..6c5b15dcdc 100644 --- a/packages/cli/src/InternalHooks.ts +++ b/packages/cli/src/InternalHooks.ts @@ -488,7 +488,7 @@ export class InternalHooks { ? this.eventBus.sendWorkflowEvent({ eventName: 'n8n.workflow.success', payload: sharedEventPayload, - }) + }) : this.eventBus.sendWorkflowEvent({ eventName: 'n8n.workflow.failed', payload: { @@ -498,7 +498,7 @@ export class InternalHooks { errorNodeId: telemetryProperties.error_node_id?.toString(), errorMessage: telemetryProperties.error_message?.toString(), }, - }), + }), ); void Promise.all([...promises, this.telemetry.trackWorkflowExecution(telemetryProperties)]); diff --git a/packages/cli/src/LoadNodesAndCredentials.ts b/packages/cli/src/LoadNodesAndCredentials.ts index 5af72e4765..f4d39ed447 100644 --- a/packages/cli/src/LoadNodesAndCredentials.ts +++ b/packages/cli/src/LoadNodesAndCredentials.ts @@ -133,7 +133,7 @@ export class LoadNodesAndCredentials { : [ ...(await glob('n8n-nodes-*', globOptions)), ...(await glob('@*/n8n-nodes-*', { ...globOptions, deep: 2 })), - ]; + ]; for (const packagePath of installedPackagePaths) { try { diff --git a/packages/cli/src/TestWebhooks.ts b/packages/cli/src/TestWebhooks.ts index b51d38deb8..fb7418088c 100644 --- a/packages/cli/src/TestWebhooks.ts +++ b/packages/cli/src/TestWebhooks.ts @@ -108,7 +108,7 @@ export class TestWebhooks implements IWebhookManager { const executionMode = 'manual'; const executionId = await WebhookHelpers.executeWebhook( workflow, - webhook!, + webhook, workflowEntity, workflowStartNode, executionMode, diff --git a/packages/cli/src/WebhookHelpers.ts b/packages/cli/src/WebhookHelpers.ts index bd0e44d85c..e840d3f3d4 100644 --- a/packages/cli/src/WebhookHelpers.ts +++ b/packages/cli/src/WebhookHelpers.ts @@ -828,7 +828,7 @@ export async function executeWebhook( : new ApplicationError('There was a problem executing the workflow', { level: 'warning', cause: e, - }); + }); if (didSendResponse) throw error; responseCallback(error, {}); return; diff --git a/packages/cli/src/config/types.ts b/packages/cli/src/config/types.ts index eb87e2ca21..220f579239 100644 --- a/packages/cli/src/config/types.ts +++ b/packages/cli/src/config/types.ts @@ -19,7 +19,7 @@ type GetPathSegments = Traversable extends Filter ? [] : { [K in ValidKeys]: [K, ...GetPathSegments]; - }[ValidKeys]; + }[ValidKeys]; /** * Transform a union of string arrays (path segments) into a union of strings (dotted paths). @@ -31,12 +31,12 @@ type GetPathSegments = Traversable extends Filter type JoinByDotting = T extends [infer F] ? F : T extends [infer F, ...infer R] - ? F extends string + ? F extends string ? R extends string[] ? `${F}.${JoinByDotting}` : never : never - : string; + : string; type ToDottedPath = JoinByDotting>; @@ -64,14 +64,14 @@ type ConfigOptionPath = type ToReturnType = T extends NumericPath ? number : T extends BooleanPath - ? boolean - : T extends StringLiteralArrayPath - ? StringLiteralMap[T] - : T extends keyof ExceptionPaths - ? ExceptionPaths[T] - : T extends StringPath - ? string - : unknown; + ? boolean + : T extends StringLiteralArrayPath + ? StringLiteralMap[T] + : T extends keyof ExceptionPaths + ? ExceptionPaths[T] + : T extends StringPath + ? string + : unknown; type ExceptionPaths = { 'queue.bull.redis': object; @@ -86,11 +86,12 @@ type ExceptionPaths = { // string literals map // ----------------------------------- -type GetPathSegmentsWithUnions = T extends ReadonlyArray - ? [C] - : { - [K in ValidKeys]: [K, ...GetPathSegmentsWithUnions]; - }[ValidKeys]; +type GetPathSegmentsWithUnions = + T extends ReadonlyArray + ? [C] + : { + [K in ValidKeys]: [K, ...GetPathSegmentsWithUnions]; + }[ValidKeys]; type ToPathUnionPair = T extends [...infer Path, infer Union] ? Path extends string[] diff --git a/packages/cli/src/credentials/credentials.controller.ts b/packages/cli/src/credentials/credentials.controller.ts index 884f8ee56b..f7fae043c8 100644 --- a/packages/cli/src/credentials/credentials.controller.ts +++ b/packages/cli/src/credentials/credentials.controller.ts @@ -358,7 +358,7 @@ export class CredentialsController { ); if (newShareeIds.length) { - await this.enterpriseCredentialsService.share(trx, credential!, newShareeIds); + await this.enterpriseCredentialsService.share(trx, credential, newShareeIds); } }); diff --git a/packages/cli/src/databases/migrations/common/1674509946020-CreateLdapEntities.ts b/packages/cli/src/databases/migrations/common/1674509946020-CreateLdapEntities.ts index a5e6375c72..2115cbeffd 100644 --- a/packages/cli/src/databases/migrations/common/1674509946020-CreateLdapEntities.ts +++ b/packages/cli/src/databases/migrations/common/1674509946020-CreateLdapEntities.ts @@ -29,15 +29,15 @@ export class CreateLdapEntities1674509946020 implements ReversibleMigration { dbType === 'sqlite' ? 'INTEGER PRIMARY KEY AUTOINCREMENT' : dbType === 'postgresdb' - ? 'SERIAL NOT NULL PRIMARY KEY' - : 'INTEGER NOT NULL AUTO_INCREMENT'; + ? 'SERIAL NOT NULL PRIMARY KEY' + : 'INTEGER NOT NULL AUTO_INCREMENT'; const timestampColumn = dbType === 'sqlite' ? 'DATETIME NOT NULL' : dbType === 'postgresdb' - ? 'TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP' - : 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'; + ? 'TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP' + : 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'; await runQuery( `CREATE TABLE IF NOT EXISTS ${escape.tableName('auth_provider_sync_history')} ( diff --git a/packages/cli/src/databases/repositories/installedPackages.repository.ts b/packages/cli/src/databases/repositories/installedPackages.repository.ts index 4dd4baaed5..c7a39cded5 100644 --- a/packages/cli/src/databases/repositories/installedPackages.repository.ts +++ b/packages/cli/src/databases/repositories/installedPackages.repository.ts @@ -31,7 +31,7 @@ export class InstalledPackagesRepository extends Repository { installedPackage.installedNodes = []; - return loadedNodes.map(async (loadedNode) => { + for (const loadedNode of loadedNodes) { const installedNode = this.installedNodesRepository.create({ name: nodeTypes[loadedNode.name].type.description.displayName, type: loadedNode.name, @@ -41,8 +41,8 @@ export class InstalledPackagesRepository extends Repository { installedPackage.installedNodes.push(installedNode); - return await manager.save(installedNode); - }); + await manager.save(installedNode); + } }); return installedPackage!; diff --git a/packages/cli/src/databases/repositories/workflow.repository.ts b/packages/cli/src/databases/repositories/workflow.repository.ts index 3331b92f96..9d0c09ea8a 100644 --- a/packages/cli/src/databases/repositories/workflow.repository.ts +++ b/packages/cli/src/databases/repositories/workflow.repository.ts @@ -136,7 +136,7 @@ export class WorkflowRepository extends Repository { updatedAt: true, versionId: true, shared: { userId: true, role: true }, - }; + }; delete select?.ownedBy; // remove non-entity field, handled after query diff --git a/packages/cli/src/eventbus/MessageEventBusDestination/Helpers.ee.ts b/packages/cli/src/eventbus/MessageEventBusDestination/Helpers.ee.ts index 06870abe03..33a6e54bcc 100644 --- a/packages/cli/src/eventbus/MessageEventBusDestination/Helpers.ee.ts +++ b/packages/cli/src/eventbus/MessageEventBusDestination/Helpers.ee.ts @@ -26,7 +26,7 @@ export function getLabelsForEvent(event: EventMessageTypes): Record - (interfaces ?? [])?.map((net) => ({ - family: net.family, - address: net.address, - internal: net.internal, - })), + interfaces: Object.values(os.networkInterfaces()).flatMap((interfaces) => + (interfaces ?? [])?.map((net) => ({ + family: net.family, + address: net.address, + internal: net.internal, + })), ), version: N8N_VERSION, }, diff --git a/packages/cli/src/workflows/workflow.service.ts b/packages/cli/src/workflows/workflow.service.ts index 5cf6d6974e..1bea71481f 100644 --- a/packages/cli/src/workflows/workflow.service.ts +++ b/packages/cli/src/workflows/workflow.service.ts @@ -51,7 +51,7 @@ export class WorkflowService { ? { workflows: workflows.map((w) => this.ownershipService.addOwnedByAndSharedWith(w)), count, - } + } : { workflows, count }; } diff --git a/packages/cli/src/workflows/workflows.controller.ts b/packages/cli/src/workflows/workflows.controller.ts index d740667db7..10b6a92f0b 100644 --- a/packages/cli/src/workflows/workflows.controller.ts +++ b/packages/cli/src/workflows/workflows.controller.ts @@ -393,7 +393,7 @@ export class WorkflowsController { if (newShareeIds.length) { const users = await this.userRepository.getByIds(trx, newShareeIds); - await this.sharedWorkflowRepository.share(trx, workflow!, users); + await this.sharedWorkflowRepository.share(trx, workflow, users); } }); diff --git a/packages/cli/test/integration/workflowHistory.api.test.ts b/packages/cli/test/integration/workflowHistory.api.test.ts index 1c4d1a9064..b9ccd33b2c 100644 --- a/packages/cli/test/integration/workflowHistory.api.test.ts +++ b/packages/cli/test/integration/workflowHistory.api.test.ts @@ -66,7 +66,7 @@ describe('GET /workflow-history/:workflowId', () => { ), ); - const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0]! as any; + const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0] as any; delete last.nodes; delete last.connections; @@ -95,7 +95,7 @@ describe('GET /workflow-history/:workflowId', () => { new Array(10).fill(undefined).map(async (_) => await createWorkflowHistoryItem(workflow2.id)), ); - const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0]! as any; + const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0] as any; delete last.nodes; delete last.connections; @@ -119,7 +119,7 @@ describe('GET /workflow-history/:workflowId', () => { ), ); - const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0]! as any; + const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0] as any; delete last.nodes; delete last.connections; @@ -143,7 +143,7 @@ describe('GET /workflow-history/:workflowId', () => { ), ); - const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[5]! as any; + const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[5] as any; delete last.nodes; delete last.connections; diff --git a/packages/core/src/NodeExecuteFunctions.ts b/packages/core/src/NodeExecuteFunctions.ts index b41fa23671..cbbbc3e369 100644 --- a/packages/core/src/NodeExecuteFunctions.ts +++ b/packages/core/src/NodeExecuteFunctions.ts @@ -810,7 +810,7 @@ export async function proxyRequestToAxios( statusCode: response.status, statusMessage: response.statusText, request: response.request, - } + } : body; } catch (error) { const { config, response } = error; @@ -1042,7 +1042,7 @@ export function assertBinaryData( propertyName: string, inputIndex: number, ): IBinaryData { - const binaryKeyData = inputData.main[inputIndex]![itemIndex]!.binary; + const binaryKeyData = inputData.main[inputIndex]![itemIndex].binary; if (binaryKeyData === undefined) { throw new NodeOperationError( node, @@ -1079,7 +1079,7 @@ export async function getBinaryDataBuffer( propertyName: string, inputIndex: number, ): Promise { - const binaryData = inputData.main[inputIndex]![itemIndex]!.binary![propertyName]!; + const binaryData = inputData.main[inputIndex]![itemIndex].binary![propertyName]; return await Container.get(BinaryDataService).getAsBuffer(binaryData); } @@ -1940,7 +1940,7 @@ export function getAdditionalKeys( getAll(): Record { return getAllWorkflowExecutionMetadata(runExecutionData); }, - } + } : undefined, }, $vars: additionalData.variables, @@ -3204,7 +3204,7 @@ const getFileSystemHelperFunctions = (node: INode): FileSystemHelperFunctions => ? new NodeOperationError(node, error, { message: `The file "${String(filePath)}" could not be accessed.`, level: 'warning', - }) + }) : error; } if (isFilePathBlocked(filePath as string)) { diff --git a/packages/core/src/WorkflowExecute.ts b/packages/core/src/WorkflowExecute.ts index 4ad89a5d66..8df1f480e4 100644 --- a/packages/core/src/WorkflowExecute.ts +++ b/packages/core/src/WorkflowExecute.ts @@ -1575,9 +1575,9 @@ export class WorkflowExecute { // array as this shows that the parent nodes executed but they did not have any // data to pass on. const inputsWithData = this.runExecutionData - .executionData!.waitingExecution[nodeName][firstRunIndex].main.map((data, index) => - data === null ? null : index, - ) + .executionData!.waitingExecution[ + nodeName + ][firstRunIndex].main.map((data, index) => (data === null ? null : index)) .filter((data) => data !== null); if (requiredInputs !== undefined) { diff --git a/packages/design-system/src/components/N8nCheckbox/Checkbox.vue b/packages/design-system/src/components/N8nCheckbox/Checkbox.vue index 6ac99ada32..ce9c3b8e69 100644 --- a/packages/design-system/src/components/N8nCheckbox/Checkbox.vue +++ b/packages/design-system/src/components/N8nCheckbox/Checkbox.vue @@ -6,7 +6,7 @@ :disabled="disabled" :indeterminate="indeterminate" :model-value="modelValue" - @update:modelValue="onUpdateModelValue" + @update:model-value="onUpdateModelValue" > { :model-value="color" :name="name" type="text" - @update:modelValue="onInput" + @update:model-value="onInput" /> diff --git a/packages/design-system/src/components/N8nDatatable/Datatable.vue b/packages/design-system/src/components/N8nDatatable/Datatable.vue index 242678447f..90afe2a043 100644 --- a/packages/design-system/src/components/N8nDatatable/Datatable.vue +++ b/packages/design-system/src/components/N8nDatatable/Datatable.vue @@ -36,7 +36,7 @@ layout="prev, pager, next" :total="totalRows" :current-page="currentPage" - @update:currentPage="onUpdateCurrentPage" + @update:current-page="onUpdateCurrentPage" />
@@ -44,7 +44,7 @@ size="mini" :model-value="rowsPerPage" teleported - @update:modelValue="onRowsPerPageChange" + @update:model-value="onRowsPerPageChange" > @@ -65,7 +65,7 @@ :maxlength="maxlength" :autocomplete="autocomplete" :disabled="disabled" - @update:modelValue="onUpdateModelValue" + @update:model-value="onUpdateModelValue" @blur="onBlur" @focus="onFocus" /> diff --git a/packages/design-system/src/components/N8nFormInputs/FormInputs.vue b/packages/design-system/src/components/N8nFormInputs/FormInputs.vue index 08f4f43633..3060646dd5 100644 --- a/packages/design-system/src/components/N8nFormInputs/FormInputs.vue +++ b/packages/design-system/src/components/N8nFormInputs/FormInputs.vue @@ -27,7 +27,7 @@ :show-validation-warnings="showValidationWarnings" :teleported="teleported" :tag-size="tagSize" - @update:modelValue="(value) => onUpdateModelValue(input.name, value)" + @update:model-value="(value) => onUpdateModelValue(input.name, value)" @validate="(value) => onValidate(input.name, value)" @enter="onSubmit" /> diff --git a/packages/design-system/src/components/N8nSticky/Sticky.vue b/packages/design-system/src/components/N8nSticky/Sticky.vue index 29c5a031e1..d7d59556d2 100644 --- a/packages/design-system/src/components/N8nSticky/Sticky.vue +++ b/packages/design-system/src/components/N8nSticky/Sticky.vue @@ -44,7 +44,7 @@ type="textarea" :rows="5" @blur="onInputBlur" - @update:modelValue="onUpdateModelValue" + @update:model-value="onUpdateModelValue" @wheel="onInputScroll" />
diff --git a/packages/editor-ui/src/__tests__/render.ts b/packages/editor-ui/src/__tests__/render.ts index dcdf999447..6561dae4bc 100644 --- a/packages/editor-ui/src/__tests__/render.ts +++ b/packages/editor-ui/src/__tests__/render.ts @@ -81,6 +81,6 @@ export function createComponentRenderer( ...defaultOptions.global, ...options.global, }, - }, + }, ); } diff --git a/packages/editor-ui/src/components/ActivationModal.vue b/packages/editor-ui/src/components/ActivationModal.vue index cfed924a45..51d75414d0 100644 --- a/packages/editor-ui/src/components/ActivationModal.vue +++ b/packages/editor-ui/src/components/ActivationModal.vue @@ -25,7 +25,7 @@ @@ -47,7 +47,7 @@ :event-bus="eventBus" input-size="small" @update="valueChanged" - @textInput="onTextInput" + @text-input="onTextInput" @focus="onFocus" @blur="onBlur" @drop="onDrop" @@ -70,7 +70,7 @@ :is-read-only="isReadOnly" :show-options="displayOptions" :show-expression-selector="showExpressionSelector" - @update:modelValue="optionSelected" + @update:model-value="optionSelected" @menu-expanded="onMenuExpanded" /> diff --git a/packages/editor-ui/src/components/ParameterInputList.vue b/packages/editor-ui/src/components/ParameterInputList.vue index 55bd546c3d..46e469b3b4 100644 --- a/packages/editor-ui/src/components/ParameterInputList.vue +++ b/packages/editor-ui/src/components/ParameterInputList.vue @@ -18,14 +18,14 @@ :node-values="nodeValues" :path="getPath(parameter.name)" :is-read-only="isReadOnly" - @valueChanged="valueChanged" + @value-changed="valueChanged" />