refactor(core): Lintfix cli package (#17125)

This commit is contained in:
Iván Ovejero
2025-07-08 19:32:02 +02:00
committed by GitHub
parent 32fbb5cf6a
commit f3ef0a713c
179 changed files with 647 additions and 693 deletions

View File

@@ -1,6 +1,5 @@
import { mockLogger } from '@n8n/backend-test-utils';
import type { WorkflowEntity } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import type { WorkflowEntity, WorkflowRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { InstanceSettings } from 'n8n-core';
import type {

View File

@@ -7,7 +7,7 @@ import { z } from 'zod';
import { CommandRegistry } from '../command-registry';
jest.mock('fast-glob');
// eslint-disable-next-line import-x/no-default-export
import glob from 'fast-glob';
describe('CommandRegistry', () => {

View File

@@ -6,9 +6,7 @@ jest.mock('@n8n/backend-common', () => {
});
import type { GlobalConfig } from '@n8n/config';
import { ControllerRegistryMetadata } from '@n8n/decorators';
import { Param } from '@n8n/decorators';
import { Get, Licensed, RestController } from '@n8n/decorators';
import { ControllerRegistryMetadata, Param, Get, Licensed, RestController } from '@n8n/decorators';
import { Container } from '@n8n/di';
import express from 'express';
import { mock } from 'jest-mock-extended';

View File

@@ -100,7 +100,7 @@ describe('CredentialsOverwrites', () => {
expect(firstCall).toEqual(secondCall);
expect(credentialTypes.getByName).toHaveBeenCalledTimes(2);
// eslint-disable-next-line @typescript-eslint/dot-notation
expect(credentialsOverwrites['resolvedTypes']).toEqual(['parent', 'test']);
});

View File

@@ -1,8 +1,11 @@
import type { Logger } from '@n8n/backend-common';
import type { GlobalConfig } from '@n8n/config';
import type { WorkflowRepository } from '@n8n/db';
import type { CredentialsRepository, SettingsRepository } from '@n8n/db';
import type { UserRepository } from '@n8n/db';
import type {
WorkflowRepository,
CredentialsRepository,
SettingsRepository,
UserRepository,
} from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { ErrorReporter } from 'n8n-core';
import type { IWorkflowBase } from 'n8n-workflow';
@@ -72,7 +75,6 @@ describe('ExternalHooks', () => {
await externalHooks.init();
// eslint-disable-next-line @typescript-eslint/dot-notation
expect(externalHooks['registered']['workflow.create']).toHaveLength(1);
await externalHooks.run('workflow.create', [workflowData]);
@@ -88,7 +90,6 @@ describe('ExternalHooks', () => {
});
it('should execute registered hooks', async () => {
// eslint-disable-next-line @typescript-eslint/dot-notation
externalHooks['registered']['workflow.create'] = [hookFn];
await externalHooks.run('workflow.create', [workflowData]);
@@ -108,7 +109,7 @@ describe('ExternalHooks', () => {
it('should report error if hook execution fails', async () => {
const error = new Error('Hook failed');
hookFn.mockRejectedValueOnce(error);
// eslint-disable-next-line @typescript-eslint/dot-notation
externalHooks['registered']['workflow.create'] = [hookFn];
await expect(externalHooks.run('workflow.create', [workflowData])).rejects.toThrow(error);

View File

@@ -292,9 +292,9 @@ describe('LoadNodesAndCredentials', () => {
},
] as unknown as INodeTypeDescription[];
// private field
// eslint-disable-next-line @typescript-eslint/dot-notation
instance['known'].nodes.testNode = { className: 'TestNode', sourcePath: '/path/to/testNode' };
// eslint-disable-next-line @typescript-eslint/dot-notation
instance['known'].credentials['testCredential'] = {
className: 'TestCredential',
sourcePath: '/path/to/testCredential',
@@ -340,7 +340,7 @@ describe('LoadNodesAndCredentials', () => {
expect(instance.types.nodes).toHaveLength(2);
// accesses private property
// eslint-disable-next-line @typescript-eslint/dot-notation
expect(instance['known'].credentials.testCredential.supportedNodes).toEqual([
'testNode',
'testNodeTool',

View File

@@ -1,7 +1,5 @@
import { mockLogger } from '@n8n/backend-test-utils';
import type { Project } from '@n8n/db';
import type { IExecutionResponse } from '@n8n/db';
import type { ExecutionRepository } from '@n8n/db';
import type { Project, IExecutionResponse, ExecutionRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { InstanceSettings } from 'n8n-core';
import type { IRun, IWorkflowBase } from 'n8n-workflow';

View File

@@ -1,13 +1,12 @@
import { mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import type { WorkflowEntity } from '@n8n/db';
import { ExecutionRepository } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import { ExecutionRepository, WorkflowRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { ExternalSecretsProxy } from 'n8n-core';
import type { IWorkflowBase } from 'n8n-workflow';
import type {
IWorkflowBase,
IExecuteWorkflowInfo,
IWorkflowExecuteAdditionalData,
ExecuteWorkflowOptions,

View File

@@ -1,26 +1,24 @@
import { testDb } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import type { User } from '@n8n/db';
import type { ExecutionEntity } from '@n8n/db';
import { testDb, createWorkflow, mockInstance } from '@n8n/backend-test-utils';
import type { User, ExecutionEntity } from '@n8n/db';
import { Container, Service } from '@n8n/di';
import type { Response } from 'express';
import { mock } from 'jest-mock-extended';
import { DirectedGraph, WorkflowExecute } from 'n8n-core';
import * as core from 'n8n-core';
import type {
IExecuteData,
INode,
IRun,
ITaskData,
IWaitingForExecution,
IWaitingForExecutionSource,
IWorkflowBase,
IWorkflowExecutionDataProcess,
StartNodeData,
IWorkflowExecuteAdditionalData,
import {
type IExecuteData,
type INode,
type IRun,
type ITaskData,
type IWaitingForExecution,
type IWaitingForExecutionSource,
type IWorkflowBase,
type IWorkflowExecutionDataProcess,
type StartNodeData,
type IWorkflowExecuteAdditionalData,
Workflow,
ExecutionError,
} from 'n8n-workflow';
import { Workflow, type ExecutionError } from 'n8n-workflow';
import PCancelable from 'p-cancelable';
import { ActiveExecutions } from '@/active-executions';

View File

@@ -467,7 +467,6 @@ export class ActiveWorkflowManager {
this.logger.error(
`Issue on initial workflow activation try of ${formatWorkflow(dbWorkflow)} (startup)`,
{
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
error,
workflowName: dbWorkflow.name,
workflowId: dbWorkflow.id,
@@ -778,7 +777,6 @@ export class ActiveWorkflowManager {
error.message as string
}" | retry in ${Math.floor(lastTimeout / 1000)} seconds`,
{
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
error,
workflowId,
workflowName,

View File

@@ -1,9 +1,11 @@
import type { GlobalConfig } from '@n8n/config';
import { Time } from '@n8n/constants';
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { InvalidAuthTokenRepository } from '@n8n/db';
import type { UserRepository } from '@n8n/db';
import type {
AuthenticatedRequest,
User,
InvalidAuthTokenRepository,
UserRepository,
} from '@n8n/db';
import type { NextFunction, Response } from 'express';
import { mock } from 'jest-mock-extended';
import jwt from 'jsonwebtoken';

View File

@@ -1,6 +1,4 @@
import { type InstalledNodes } from '@n8n/db';
import { type CredentialsEntity } from '@n8n/db';
import { type User } from '@n8n/db';
import { type InstalledNodes, type CredentialsEntity, type User } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { CommunityNode } from '../community-node';

View File

@@ -1,8 +1,7 @@
import { mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import type { User, WorkflowEntity } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import { DbConnection } from '@n8n/db';
import { WorkflowRepository, DbConnection } from '@n8n/db';
import { Container } from '@n8n/di';
import type { SelectQueryBuilder } from '@n8n/typeorm';
import { mock } from 'jest-mock-extended';

View File

@@ -1,8 +1,7 @@
import { mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import type { User, WorkflowEntity } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import { DbConnection } from '@n8n/db';
import { WorkflowRepository, DbConnection } from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import type { IRun } from 'n8n-workflow';

View File

@@ -1,13 +1,13 @@
import { mockInstance } from '@n8n/backend-test-utils';
import { Container } from '@n8n/di';
import { Worker } from '../worker';
import { PubSubRegistry } from '@/scaling/pubsub/pubsub.registry';
import { Subscriber } from '@/scaling/pubsub/subscriber.service';
import { WorkerStatusService } from '@/scaling/worker-status.service.ee';
import { RedisClientService } from '@/services/redis-client.service';
import { Worker } from '../worker';
mockInstance(RedisClientService);
mockInstance(PubSubRegistry);
mockInstance(Subscriber);

View File

@@ -1,8 +1,7 @@
import { Logger } from '@n8n/backend-common';
import { mockInstance } from '@n8n/backend-test-utils';
import type { IrreversibleMigration, ReversibleMigration } from '@n8n/db';
import type { Migration, MigrationExecutor } from '@n8n/typeorm';
import { type DataSource } from '@n8n/typeorm';
import type { Migration, MigrationExecutor, DataSource } from '@n8n/typeorm';
import { mock } from 'jest-mock-extended';
import { main } from '@/commands/db/revert';

View File

@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-loop-func */
import type { User } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import { Command } from '@n8n/decorators';

View File

@@ -34,7 +34,7 @@ import { WorkflowRunner } from '@/workflow-runner';
import { BaseCommand } from './base-command';
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const open = require('open');
const flagsSchema = z.object({

View File

@@ -1,7 +1,6 @@
import { AiWorkflowBuilderService } from '@n8n/ai-workflow-builder';
import { Container } from '@n8n/di';
import { Command } from '@n8n/decorators';
import { Container } from '@n8n/di';
import fs from 'fs';
import { jsonParse, UserError } from 'n8n-workflow';
import { z } from 'zod';

View File

@@ -13,9 +13,9 @@ import { PubSubRegistry } from '@/scaling/pubsub/pubsub.registry';
import { Subscriber } from '@/scaling/pubsub/subscriber.service';
import type { ScalingService } from '@/scaling/scaling.service';
import type { WorkerServerEndpointsConfig } from '@/scaling/worker-server';
import { WorkerStatusService } from '@/scaling/worker-status.service.ee';
import { BaseCommand } from './base-command';
import { WorkerStatusService } from '@/scaling/worker-status.service.ee';
const flagsSchema = z.object({
concurrency: z.number().int().default(10).describe('How many jobs can run in parallel.'),

View File

@@ -50,7 +50,7 @@ type NumericPath = CollectPathsByType<number>;
type BooleanPath = CollectPathsByType<boolean>;
type StringLiteralArrayPath = CollectPathsByType<Readonly<string[]>>;
type StringLiteralArrayPath = CollectPathsByType<readonly string[]>;
type StringPath = CollectPathsByType<string>;

View File

@@ -57,7 +57,7 @@ export class ControllerRegistry {
controller,
handlerName,
) as unknown[];
// eslint-disable-next-line @typescript-eslint/no-loop-func
const handler = async (req: Request, res: Response) => {
const args: unknown[] = [req, res];
for (let index = 0; index < route.args.length; index++) {
@@ -83,7 +83,7 @@ export class ControllerRegistry {
...(inProduction && route.rateLimit
? [this.createRateLimitMiddleware(route.rateLimit)]
: []),
// eslint-disable-next-line @typescript-eslint/unbound-method
...(route.skipAuth
? []
: ([

View File

@@ -1,7 +1,5 @@
import { mockInstance } from '@n8n/backend-test-utils';
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { ApiKey } from '@n8n/db';
import type { AuthenticatedRequest, User, ApiKey } from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';

View File

@@ -1,8 +1,7 @@
import type { LoginRequestDto } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { mockInstance } from '@n8n/backend-test-utils';
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { AuthenticatedRequest, User } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import type { Response } from 'express';

View File

@@ -1,10 +1,7 @@
import { UserUpdateRequestDto } from '@n8n/api-types';
import { mockInstance } from '@n8n/backend-test-utils';
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { PublicUser } from '@n8n/db';
import { InvalidAuthTokenRepository } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import type { AuthenticatedRequest, User, PublicUser } from '@n8n/db';
import { InvalidAuthTokenRepository, UserRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import type { Response } from 'express';
import { mock, anyObject } from 'jest-mock-extended';

View File

@@ -1,9 +1,12 @@
import type { DismissBannerRequestDto, OwnerSetupRequestDto } from '@n8n/api-types';
import type { Logger } from '@n8n/backend-common';
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { PublicUser, SettingsRepository } from '@n8n/db';
import type { UserRepository } from '@n8n/db';
import type {
AuthenticatedRequest,
User,
PublicUser,
SettingsRepository,
UserRepository,
} from '@n8n/db';
import type { Response } from 'express';
import { mock } from 'jest-mock-extended';

View File

@@ -1,6 +1,4 @@
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { UserRepository } from '@n8n/db';
import type { AuthenticatedRequest, User, UserRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { EventService } from '@/events/event.service';

View File

@@ -1,8 +1,7 @@
import { Logger } from '@n8n/backend-common';
import { mockInstance } from '@n8n/backend-test-utils';
import { Time } from '@n8n/constants';
import type { CredentialsEntity } from '@n8n/db';
import type { User } from '@n8n/db';
import type { CredentialsEntity, User } from '@n8n/db';
import { CredentialsRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import Csrf from 'csrf';

View File

@@ -1,8 +1,7 @@
import { Logger } from '@n8n/backend-common';
import { mockInstance } from '@n8n/backend-test-utils';
import { Time } from '@n8n/constants';
import type { CredentialsEntity } from '@n8n/db';
import type { User } from '@n8n/db';
import type { CredentialsEntity, User } from '@n8n/db';
import { CredentialsRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import Csrf from 'csrf';

View File

@@ -1,5 +1,4 @@
import type { AuthenticatedRequest } from '@n8n/db';
import type { SharedCredentialsRepository } from '@n8n/db';
import type { AuthenticatedRequest, SharedCredentialsRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { createRawProjectData } from '@/__tests__/project.test-data';
@@ -29,7 +28,7 @@ describe('CredentialsController', () => {
);
let req: AuthenticatedRequest;
let res = mock<Response>();
const res = mock<Response>();
beforeAll(() => {
req = { user: { id: '123' } } as AuthenticatedRequest;
});

View File

@@ -1,5 +1,4 @@
import type { CredentialsEntity } from '@n8n/db';
import type { CredentialsRepository } from '@n8n/db';
import type { CredentialsEntity, CredentialsRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { CREDENTIAL_ERRORS, CredentialDataError, Credentials, type ErrorReporter } from 'n8n-core';
import { CREDENTIAL_EMPTY_VALUE, type ICredentialType } from 'n8n-workflow';

View File

@@ -1,5 +1,4 @@
import { CredentialsEntity } from '@n8n/db';
import { CredentialsRepository } from '@n8n/db';
import { CredentialsEntity, CredentialsRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';

View File

@@ -2,8 +2,7 @@ import { mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import type { SqliteConfig } from '@n8n/config/src/configs/database.config';
import type { IExecutionResponse } from '@n8n/db';
import { ExecutionEntity } from '@n8n/db';
import { ExecutionRepository } from '@n8n/db';
import { ExecutionEntity, ExecutionRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import type { SelectQueryBuilder } from '@n8n/typeorm';
import { Not, LessThanOrEqual } from '@n8n/typeorm';

View File

@@ -1,9 +1,5 @@
import { getPersonalProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import type { Project } from '@n8n/db';
import type { User } from '@n8n/db';
import type { Folder } from '@n8n/db';
import { getPersonalProject, createWorkflow, testDb } from '@n8n/backend-test-utils';
import type { Project, User, Folder } from '@n8n/db';
import { FolderRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { DateTime } from 'luxon';

View File

@@ -1,7 +1,5 @@
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { StatisticsNames, WorkflowStatistics } from '@n8n/db';
import { WorkflowStatisticsRepository } from '@n8n/db';
import { createWorkflow, testDb } from '@n8n/backend-test-utils';
import { StatisticsNames, WorkflowStatistics, WorkflowStatisticsRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { type InsertResult, QueryFailedError } from '@n8n/typeorm';
import { mock, mockClear } from 'jest-mock-extended';

View File

@@ -1,13 +1,15 @@
import type { SourceControlledFile } from '@n8n/api-types';
import { User } from '@n8n/db';
import type { SharedCredentials } from '@n8n/db';
import type { SharedWorkflow } from '@n8n/db';
import type { FolderRepository } from '@n8n/db';
import type { TagRepository } from '@n8n/db';
import type { WorkflowTagMappingRepository } from '@n8n/db';
import type { SharedCredentialsRepository } from '@n8n/db';
import type { SharedWorkflowRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import type {
SharedCredentials,
SharedWorkflow,
FolderRepository,
TagRepository,
WorkflowTagMappingRepository,
SharedCredentialsRepository,
SharedWorkflowRepository,
WorkflowRepository,
} from '@n8n/db';
import { Container } from '@n8n/di';
import { mock, captor } from 'jest-mock-extended';
import { Cipher, type InstanceSettings } from 'n8n-core';

View File

@@ -1,6 +1,11 @@
import { Project, type ProjectRepository, User, WorkflowEntity } from '@n8n/db';
import type { FolderRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import {
type FolderRepository,
type WorkflowRepository,
Project,
type ProjectRepository,
User,
WorkflowEntity,
} from '@n8n/db';
import * as fastGlob from 'fast-glob';
import { mock } from 'jest-mock-extended';
import { type InstanceSettings } from 'n8n-core';

View File

@@ -1,10 +1,12 @@
import type { SourceControlledFile } from '@n8n/api-types';
import type { Variables } from '@n8n/db';
import type { FolderWithWorkflowAndSubFolderCount } from '@n8n/db';
import type { TagEntity } from '@n8n/db';
import type { User } from '@n8n/db';
import type { FolderRepository } from '@n8n/db';
import type { TagRepository } from '@n8n/db';
import type {
Variables,
FolderWithWorkflowAndSubFolderCount,
TagEntity,
User,
FolderRepository,
TagRepository,
} from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { InstanceSettings } from 'n8n-core';

View File

@@ -1,16 +1,16 @@
import { mockLogger } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import type { TestRun } from '@n8n/db';
import type { TestCaseExecutionRepository } from '@n8n/db';
import type { TestRunRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import { mockLogger, mockInstance } from '@n8n/backend-test-utils';
import type {
TestRun,
TestCaseExecutionRepository,
TestRunRepository,
WorkflowRepository,
} from '@n8n/db';
import { readFileSync } from 'fs';
import type { Mock } from 'jest-mock';
import { mock } from 'jest-mock-extended';
import type { ErrorReporter } from 'n8n-core';
import { EVALUATION_NODE_TYPE, EVALUATION_TRIGGER_NODE_TYPE } from 'n8n-workflow';
import type { IWorkflowBase } from 'n8n-workflow';
import type { IRun, ExecutionError } from 'n8n-workflow';
import type { IWorkflowBase, IRun, ExecutionError } from 'n8n-workflow';
import path from 'path';
import type { ActiveExecutions } from '@/active-executions';

View File

@@ -1,23 +1,31 @@
import type { NodeTypes } from '@/node-types';
import { mockInstance } from '@n8n/backend-test-utils';
import type { GlobalConfig } from '@n8n/config';
import type { CredentialsEntity } from '@n8n/db';
import type { WorkflowEntity } from '@n8n/db';
import type { IWorkflowDb } from '@n8n/db';
import type { CredentialsRepository } from '@n8n/db';
import type { ProjectRelationRepository } from '@n8n/db';
import type { SharedWorkflowRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import type {
CredentialsEntity,
WorkflowEntity,
IWorkflowDb,
CredentialsRepository,
ProjectRelationRepository,
SharedWorkflowRepository,
WorkflowRepository,
} from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { type BinaryDataConfig, InstanceSettings } from 'n8n-core';
import type { INode, INodesGraphResult } from 'n8n-workflow';
import { NodeApiError, TelemetryHelpers, type IRun, type IWorkflowBase } from 'n8n-workflow';
import {
type INode,
type INodesGraphResult,
NodeApiError,
TelemetryHelpers,
type IRun,
type IWorkflowBase,
} from 'n8n-workflow';
import { N8N_VERSION } from '@/constants';
import { EventService } from '@/events/event.service';
import type { RelayEventMap } from '@/events/maps/relay.event-map';
import { TelemetryEventRelay } from '@/events/relays/telemetry.event-relay';
import type { License } from '@/license';
import type { NodeTypes } from '@/node-types';
import type { Telemetry } from '@/telemetry';
const flushPromises = async () => await new Promise((resolve) => setImmediate(resolve));

View File

@@ -127,7 +127,7 @@ export class TelemetryEventRelay extends EventRelay {
this.telemetry.track('Project settings updated', {
user_id: userId,
role,
// eslint-disable-next-line @typescript-eslint/no-shadow
members: members.map(({ userId: user_id, role }) => ({ user_id, role })),
project_id: projectId,
});

View File

@@ -45,7 +45,7 @@ class ModulesHooksRegistry {
runData,
newStaticData,
};
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/return-await
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return await instance[methodName].call(instance, context);
});
break;
@@ -58,7 +58,7 @@ class ModulesHooksRegistry {
nodeName,
taskData,
};
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/return-await
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return await instance[methodName].call(instance, context);
});
break;
@@ -72,7 +72,7 @@ class ModulesHooksRegistry {
taskData,
executionData,
};
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/return-await
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return await instance[methodName].call(instance, context);
});
break;
@@ -85,7 +85,7 @@ class ModulesHooksRegistry {
workflowInstance,
executionData,
};
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/return-await
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return await instance[methodName].call(instance, context);
});
break;

View File

@@ -1,6 +1,4 @@
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { createWorkflow, testDb, mockInstance } from '@n8n/backend-test-utils';
import { ExecutionRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { stringify } from 'flatted';

View File

@@ -1,6 +1,5 @@
import { mockInstance } from '@n8n/backend-test-utils';
import type { IExecutionResponse } from '@n8n/db';
import type { ExecutionRepository } from '@n8n/db';
import type { IExecutionResponse, ExecutionRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { WorkflowOperationError } from 'n8n-workflow';

View File

@@ -1,6 +1,4 @@
import type { Project } from '@n8n/db';
import type { User } from '@n8n/db';
import type { SharedCredentialsRepository } from '@n8n/db';
import type { Project, User, SharedCredentialsRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { INode } from 'n8n-workflow';

View File

@@ -1,8 +1,6 @@
import { mockInstance } from '@n8n/backend-test-utils';
import type { GlobalConfig } from '@n8n/config';
import type { Project } from '@n8n/db';
import type { User } from '@n8n/db';
import type { WorkflowEntity } from '@n8n/db';
import type { Project, User, WorkflowEntity } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { INode, Workflow } from 'n8n-workflow';
import { v4 as uuid } from 'uuid';

View File

@@ -122,7 +122,6 @@ export class ExternalHooks {
for (let hookFilePath of externalHookFiles) {
hookFilePath = hookFilePath.trim();
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const hookFile = require(hookFilePath) as IExternalHooksFileData;
this.loadHooks(hookFile);
} catch (e) {
@@ -162,7 +161,7 @@ export class ExternalHooks {
await hookFunction.apply(context, hookParameters);
} catch (cause) {
this.logger.error(`There was a problem running hook "${hookName}"`);
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const error = new UnexpectedError(`External hook "${hookName}" failed`, { cause });
this.errorReporter.error(error, { level: 'fatal' });

View File

@@ -1,8 +1,5 @@
import { mockInstance } from '@n8n/backend-test-utils';
import { generateNanoId } from '@n8n/db';
import { AuthIdentity } from '@n8n/db';
import { User } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { generateNanoId, AuthIdentity, User, UserRepository } from '@n8n/db';
import * as helpers from '@/ldap.ee/helpers.ee';

View File

@@ -516,7 +516,7 @@ export class LoadNodesAndCredentials {
async setupHotReload() {
const { default: debounce } = await import('lodash/debounce');
// eslint-disable-next-line import-x/no-extraneous-dependencies
const { watch } = await import('chokidar');
const { Push } = await import('@/push');

View File

@@ -1,5 +1,4 @@
import type { LicenseMetricsRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import type { LicenseMetricsRepository, WorkflowRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { LicenseMetricsService } from '@/metrics/license-metrics.service';

View File

@@ -5,12 +5,12 @@ import type express from 'express';
import promBundle from 'express-prom-bundle';
import { mock } from 'jest-mock-extended';
import type { InstanceSettings } from 'n8n-core';
import { EventMessageTypeNames } from 'n8n-workflow';
import promClient from 'prom-client';
import config from '@/config';
import type { MessageEventBus } from '@/eventbus/message-event-bus/message-event-bus';
import type { EventService } from '@/events/event.service';
import { EventMessageTypeNames } from 'n8n-workflow';
import { PrometheusMetricsService } from '../prometheus-metrics.service';

View File

@@ -27,7 +27,6 @@ export class MfaService {
try {
await this.loadMFASettings();
} catch (error) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
this.logger.warn('Failed to load MFA settings', { error });
}
}

View File

@@ -12,7 +12,7 @@ import { sortByQueryMiddleware } from '../sort-by';
describe('List query middleware', () => {
let mockReq: ListQuery.Request;
let mockRes: Response;
let nextFn: NextFunction = jest.fn();
const nextFn: NextFunction = jest.fn();
let args: [ListQuery.Request, Response, NextFunction];
let sendErrorResponse: jest.SpyInstance;

View File

@@ -1,12 +1,11 @@
import { mockLogger } from '@n8n/backend-test-utils';
import { createTeamProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { testModules } from '@n8n/backend-test-utils';
import type { Project } from '@n8n/db';
import type { WorkflowEntity } from '@n8n/db';
import type { IWorkflowDb } from '@n8n/db';
import type { SharedWorkflowRepository } from '@n8n/db';
import {
mockLogger,
createTeamProject,
createWorkflow,
testDb,
testModules,
} from '@n8n/backend-test-utils';
import type { Project, WorkflowEntity, IWorkflowDb, SharedWorkflowRepository } from '@n8n/db';
import type { WorkflowExecuteAfterContext } from '@n8n/decorators';
import { Container } from '@n8n/di';
import { In } from '@n8n/typeorm';

View File

@@ -1,8 +1,10 @@
import { mockLogger } from '@n8n/backend-test-utils';
import { createTeamProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { testModules } from '@n8n/backend-test-utils';
import {
mockLogger,
createTeamProject,
createWorkflow,
testDb,
testModules,
} from '@n8n/backend-test-utils';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { DateTime } from 'luxon';

View File

@@ -1,9 +1,11 @@
import type { LicenseState } from '@n8n/backend-common';
import { mockLogger } from '@n8n/backend-test-utils';
import { createTeamProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { testModules } from '@n8n/backend-test-utils';
import {
mockLogger,
createTeamProject,
createWorkflow,
testDb,
testModules,
} from '@n8n/backend-test-utils';
import { Time } from '@n8n/constants';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';

View File

@@ -1,13 +1,13 @@
import type { InsightsDateRange } from '@n8n/api-types';
import type { LicenseState } from '@n8n/backend-common';
import { mockLogger } from '@n8n/backend-test-utils';
import { createTeamProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { testModules } from '@n8n/backend-test-utils';
import type { Project } from '@n8n/db';
import type { WorkflowEntity } from '@n8n/db';
import type { IWorkflowDb } from '@n8n/db';
import {
mockLogger,
createTeamProject,
createWorkflow,
testDb,
testModules,
} from '@n8n/backend-test-utils';
import type { Project, WorkflowEntity, IWorkflowDb } from '@n8n/db';
import type { WorkflowExecuteAfterContext } from '@n8n/decorators';
import { Container } from '@n8n/di';
import type { MockProxy } from 'jest-mock-extended';

View File

@@ -1,7 +1,4 @@
import { createTeamProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { testModules } from '@n8n/backend-test-utils';
import { createTeamProject, createWorkflow, testDb, testModules } from '@n8n/backend-test-utils';
import { Container } from '@n8n/di';
import { DateTime } from 'luxon';

View File

@@ -1,7 +1,4 @@
import { createTeamProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { testModules } from '@n8n/backend-test-utils';
import { createTeamProject, createWorkflow, testDb, testModules } from '@n8n/backend-test-utils';
import { Container } from '@n8n/di';
import { DateTime } from 'luxon';

View File

@@ -40,7 +40,7 @@ export async function getSharedWorkflowIds(
export async function getSharedWorkflow(
user: User,
workflowId?: string | undefined,
workflowId?: string,
): Promise<SharedWorkflow | null> {
return await Container.get(SharedWorkflowRepository).findOne({
where: {

View File

@@ -94,7 +94,7 @@ export class Push extends TypedEmitter<PushEvents> {
setupPushHandler(restEndpoint: string, app: Application) {
app.use(
`/${restEndpoint}/push`,
// eslint-disable-next-line @typescript-eslint/unbound-method
this.authService.createAuthMiddleware(false),
(req: SSEPushRequest | WebSocketPushRequest, res: PushResponse) =>
this.handleRequest(req, res),

View File

@@ -1,12 +1,17 @@
import type { Logger } from '@n8n/backend-common';
import type { IExecutionResponse } from '@n8n/db';
import type { ExecutionRepository } from '@n8n/db';
import type { IExecutionResponse, ExecutionRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { WorkflowExecute as ActualWorkflowExecute } from 'n8n-core';
import { ExternalSecretsProxy } from 'n8n-core';
import { mockInstance } from 'n8n-core/test/utils';
import type { IPinData, ITaskData, IWorkflowExecuteAdditionalData } from 'n8n-workflow';
import { Workflow, type IRunExecutionData, type WorkflowExecuteMode } from 'n8n-workflow';
import {
type IPinData,
type ITaskData,
type IWorkflowExecuteAdditionalData,
Workflow,
type IRunExecutionData,
type WorkflowExecuteMode,
} from 'n8n-workflow';
import { CredentialsHelper } from '@/credentials-helper';
import { VariablesService } from '@/environments.ee/variables/variables.service.ee';

View File

@@ -1,5 +1,4 @@
import { mockLogger } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { mockLogger, mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import * as BullModule from 'bull';

View File

@@ -415,7 +415,7 @@ export class Server extends AbstractServer {
});
// Route all UI urls to index.html to support history-api
const nonUIRoutes: Readonly<string[]> = [
const nonUIRoutes: readonly string[] = [
'favicon.ico',
'assets',
'static',

View File

@@ -1,7 +1,5 @@
import { WorkflowEntity } from '@n8n/db';
import type { User } from '@n8n/db';
import type { SharedWorkflowRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import type { User, SharedWorkflowRepository, WorkflowRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import type { ActivationErrorsService } from '@/activation-errors.service';

View File

@@ -1,12 +1,13 @@
import type { Logger } from '@n8n/backend-common';
import { randomName } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { randomName, mockInstance } from '@n8n/backend-test-utils';
import type { GlobalConfig } from '@n8n/config';
import { LICENSE_FEATURES } from '@n8n/constants';
import { InstalledNodes } from '@n8n/db';
import { InstalledPackages } from '@n8n/db';
import { InstalledNodesRepository } from '@n8n/db';
import { InstalledPackagesRepository } from '@n8n/db';
import {
InstalledNodes,
InstalledPackages,
InstalledNodesRepository,
InstalledPackagesRepository,
} from '@n8n/db';
import axios from 'axios';
import { exec } from 'child_process';
import { mkdir, readFile, writeFile, rm, access, constants } from 'fs/promises';

View File

@@ -1,6 +1,5 @@
import { SharedCredentials } from '@n8n/db';
import type { CredentialsEntity } from '@n8n/db';
import type { User } from '@n8n/db';
import type { CredentialsEntity, User } from '@n8n/db';
import { Container } from '@n8n/di';
import { In } from '@n8n/typeorm';
import { mock } from 'jest-mock-extended';

View File

@@ -1,8 +1,11 @@
import type { AuthenticatedRequest } from '@n8n/db';
import type { SettingsRepository, User } from '@n8n/db';
import type { CredentialsRepository } from '@n8n/db';
import type { WorkflowRepository } from '@n8n/db';
import type { UserRepository } from '@n8n/db';
import type {
AuthenticatedRequest,
SettingsRepository,
User,
CredentialsRepository,
WorkflowRepository,
UserRepository,
} from '@n8n/db';
import RudderStack from '@rudderstack/rudder-sdk-node';
import type { Response } from 'express';
import { mock } from 'jest-mock-extended';

View File

@@ -1,9 +1,7 @@
import { mockLogger } from '@n8n/backend-test-utils';
import type { GlobalConfig } from '@n8n/config';
import { Time } from '@n8n/constants';
import type { AuthenticatedRequest } from '@n8n/db';
import type { User } from '@n8n/db';
import type { UserRepository } from '@n8n/db';
import type { AuthenticatedRequest, User, UserRepository } from '@n8n/db';
import type { NextFunction, Response } from 'express';
import { mock } from 'jest-mock-extended';
import { DateTime } from 'luxon';

View File

@@ -1,8 +1,6 @@
import { mockInstance } from '@n8n/backend-test-utils';
import type { CredentialsEntity } from '@n8n/db';
import type { WorkflowEntity } from '@n8n/db';
import { CredentialsRepository } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import type { CredentialsEntity, WorkflowEntity } from '@n8n/db';
import { CredentialsRepository, WorkflowRepository } from '@n8n/db';
import { NamingService } from '@/services/naming.service';

View File

@@ -1,9 +1,15 @@
import { mockInstance } from '@n8n/backend-test-utils';
import type { SharedCredentials } from '@n8n/db';
import { Project, SharedWorkflow, User, WorkflowEntity, ProjectRelation } from '@n8n/db';
import { ProjectRelationRepository } from '@n8n/db';
import { SharedWorkflowRepository } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import {
Project,
SharedWorkflow,
User,
WorkflowEntity,
ProjectRelation,
ProjectRelationRepository,
SharedWorkflowRepository,
UserRepository,
} from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { v4 as uuid } from 'uuid';

View File

@@ -1,7 +1,6 @@
import { testDb } from '@n8n/backend-test-utils';
import type { AuthenticatedRequest } from '@n8n/db';
import { ApiKeyRepository } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { ApiKeyRepository, UserRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import { getOwnerOnlyApiKeyScopes, type ApiKeyScope } from '@n8n/permissions';
import type { Response, NextFunction } from 'express';

View File

@@ -1,7 +1,6 @@
import { mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import { User } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { User, UserRepository } from '@n8n/db';
import { mock } from 'jest-mock-extended';
import { v4 as uuid } from 'uuid';

View File

@@ -1,10 +1,6 @@
import { getPersonalProject } from '@n8n/backend-test-utils';
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { getPersonalProject, createWorkflow, testDb, mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import type { IWorkflowDb, Project, WorkflowEntity } from '@n8n/db';
import type { User } from '@n8n/db';
import type { IWorkflowDb, Project, WorkflowEntity, User } from '@n8n/db';
import { WorkflowStatisticsRepository } from '@n8n/db';
import { Container } from '@n8n/di';
import {

View File

@@ -171,7 +171,7 @@ export class OidcService {
} catch (error) {
this.logger.warn(
'Failed to load OIDC configuration from database, falling back to default configuration.',
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
{ error },
);
}

View File

@@ -1,9 +1,6 @@
import { mockInstance } from '@n8n/backend-test-utils';
import type { AuthIdentity } from '@n8n/db';
import { generateNanoId } from '@n8n/db';
import { User } from '@n8n/db';
import { AuthIdentityRepository } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { generateNanoId, User, AuthIdentityRepository, UserRepository } from '@n8n/db';
import * as helpers from '@/sso.ee/saml/saml-helpers';
import type { SamlUserAttributes } from '@/sso.ee/saml/types';

View File

@@ -269,7 +269,7 @@ export class SamlService {
// database.
this.logger.error(
'SAML initialization detected an invalid metadata URL in database. Trying to initialize from metadata in database if available.',
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
{ error },
);
}

View File

@@ -719,7 +719,7 @@ describe('TaskBroker', () => {
describe('task execution timeouts', () => {
let taskBroker: TaskBroker;
let config: TaskRunnersConfig;
let runnerLifecycleEvents = mock<TaskRunnerLifecycleEvents>();
const runnerLifecycleEvents = mock<TaskRunnerLifecycleEvents>();
beforeAll(() => {
jest.useFakeTimers();

View File

@@ -1,7 +1,6 @@
import type { DataRequestResponse, TaskDataRequestParams } from '@n8n/task-runner';
import { mock } from 'jest-mock-extended';
import type { IWorkflowExecuteAdditionalData } from 'n8n-workflow';
import { type INode, type INodeExecutionData } from 'n8n-workflow';
import type { IWorkflowExecuteAdditionalData, INode, INodeExecutionData } from 'n8n-workflow';
import { DataRequestResponseStripper } from '../data-request-response-stripper';

View File

@@ -1,6 +1,6 @@
import { mock } from 'jest-mock-extended';
import type { INode } from 'n8n-workflow';
import { NodeOperationError, type Workflow } from 'n8n-workflow';
import type { INode, Workflow } from 'n8n-workflow';
import { NodeOperationError } from 'n8n-workflow';
import { objectToError } from '../object-to-error';

View File

@@ -1,11 +1,12 @@
import { generateNanoId } from '@n8n/db';
import type * as express from 'express';
import { mock } from 'jest-mock-extended';
import type { ITaskData, IWorkflowBase } from 'n8n-workflow';
import {
type IWebhookData,
type IWorkflowExecuteAdditionalData,
type Workflow,
import type {
ITaskData,
IWorkflowBase,
IWebhookData,
IWorkflowExecuteAdditionalData,
Workflow,
} from 'n8n-workflow';
import { v4 as uuid } from 'uuid';

View File

@@ -1,5 +1,4 @@
import type { IExecutionResponse } from '@n8n/db';
import type { ExecutionRepository } from '@n8n/db';
import type { IExecutionResponse, ExecutionRepository } from '@n8n/db';
import type express from 'express';
import { mock } from 'jest-mock-extended';
import { FORM_NODE_TYPE, WAITING_FORMS_EXECUTION_STATUS, type Workflow } from 'n8n-workflow';

View File

@@ -1,5 +1,4 @@
import type { IExecutionResponse } from '@n8n/db';
import type { ExecutionRepository } from '@n8n/db';
import type { IExecutionResponse, ExecutionRepository } from '@n8n/db';
import type express from 'express';
import { mock } from 'jest-mock-extended';

View File

@@ -13,14 +13,14 @@ import { WebhookService } from '@/webhooks/webhook.service';
import * as WorkflowExecuteAdditionalData from '@/workflow-execute-additional-data';
import { WorkflowStaticDataService } from '@/workflows/workflow-static-data.service';
import { authAllowlistedNodes } from './constants';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
import type {
IWebhookResponseCallbackData,
IWebhookManager,
WebhookAccessControlOptions,
WebhookRequest,
} from './webhook.types';
import { authAllowlistedNodes } from './constants';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
/**
* Service for handling the execution of live webhooks, i.e. webhooks

View File

@@ -25,6 +25,8 @@ import * as WebhookHelpers from '@/webhooks/webhook-helpers';
import * as WorkflowExecuteAdditionalData from '@/workflow-execute-additional-data';
import type { WorkflowRequest } from '@/workflows/workflow.request';
import { authAllowlistedNodes } from './constants';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
import { WebhookService } from './webhook.service';
import type {
IWebhookResponseCallbackData,
@@ -32,8 +34,6 @@ import type {
WebhookAccessControlOptions,
WebhookRequest,
} from './webhook.types';
import { authAllowlistedNodes } from './constants';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
/**
* Service for handling the execution of webhooks of manual executions

View File

@@ -13,8 +13,8 @@ import { ConflictError } from '@/errors/response-errors/conflict.error';
import { NotFoundError } from '@/errors/response-errors/not-found.error';
import { WaitingWebhooks } from '@/webhooks/waiting-webhooks';
import type { IWebhookResponseCallbackData, WaitingWebhookRequest } from './webhook.types';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
import type { IWebhookResponseCallbackData, WaitingWebhookRequest } from './webhook.types';
@Service()
export class WaitingForms extends WaitingWebhooks {

View File

@@ -18,13 +18,13 @@ import { NodeTypes } from '@/node-types';
import * as WebhookHelpers from '@/webhooks/webhook-helpers';
import * as WorkflowExecuteAdditionalData from '@/workflow-execute-additional-data';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
import { WebhookService } from './webhook.service';
import type {
IWebhookResponseCallbackData,
IWebhookManager,
WaitingWebhookRequest,
} from './webhook.types';
import { sanitizeWebhookRequest } from './webhook-request-sanitizer';
/**
* Service for handling the execution of webhooks of Wait nodes that use the

View File

@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/no-unsafe-argument */
/* eslint-disable @typescript-eslint/prefer-optional-chain */
/* eslint-disable @typescript-eslint/no-shadow */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable id-denylist */
/* eslint-disable prefer-spread */

View File

@@ -1,6 +1,7 @@
import { AUTH_COOKIE_NAME } from '@/constants';
import type { Request } from 'express';
import { AUTH_COOKIE_NAME } from '@/constants';
const BROWSER_ID_COOKIE_NAME = 'n8n-browserId';
const DISALLOWED_COOKIES = new Set([AUTH_COOKIE_NAME, BROWSER_ID_COOKIE_NAME]);

View File

@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-unsafe-argument */
/* eslint-disable @typescript-eslint/no-use-before-define */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
import type { PushMessage, PushType } from '@n8n/api-types';

View File

@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/no-unsafe-argument */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable @typescript-eslint/no-shadow */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
import { Logger } from '@n8n/backend-common';
import { ExecutionRepository } from '@n8n/db';
@@ -200,7 +200,7 @@ export class WorkflowRunner {
}
/** Run the workflow in current process */
// eslint-disable-next-line complexity
private async runMainProcess(
executionId: string,
data: IWorkflowExecutionDataProcess,

View File

@@ -1,7 +1,5 @@
import { mockLogger } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { User } from '@n8n/db';
import { WorkflowHistoryRepository } from '@n8n/db';
import { mockLogger, mockInstance } from '@n8n/backend-test-utils';
import { User, WorkflowHistoryRepository } from '@n8n/db';
import { mockClear } from 'jest-mock-extended';
import { WorkflowFinderService } from '@/workflows/workflow-finder.service';

View File

@@ -1,6 +1,4 @@
import { createWorkflow } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { createWorkflow, testDb, mockInstance } from '@n8n/backend-test-utils';
import type { WebhookEntity } from '@n8n/db';
import { WorkflowRepository } from '@n8n/db';
import { Container } from '@n8n/di';

View File

@@ -1,10 +1,11 @@
import { testDb } from '@n8n/backend-test-utils';
import type { Project } from '@n8n/db';
import type { User } from '@n8n/db';
import { CredentialsRepository } from '@n8n/db';
import { ProjectRepository } from '@n8n/db';
import { SharedCredentialsRepository } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import type { Project, User } from '@n8n/db';
import {
CredentialsRepository,
ProjectRepository,
SharedCredentialsRepository,
UserRepository,
} from '@n8n/db';
import { Container } from '@n8n/di';
import { randomUUID } from 'crypto';
import { mock } from 'jest-mock-extended';

View File

@@ -1,7 +1,5 @@
import type { ApiKeyWithRawValue } from '@n8n/api-types';
import { testDb } from '@n8n/backend-test-utils';
import { randomValidPassword } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import { testDb, randomValidPassword, mockInstance } from '@n8n/backend-test-utils';
import { GlobalConfig } from '@n8n/config';
import type { User } from '@n8n/db';
import { ApiKeyRepository } from '@n8n/db';

View File

@@ -1,5 +1,4 @@
import { randomValidPassword } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { randomValidPassword, testDb } from '@n8n/backend-test-utils';
import type { User } from '@n8n/db';
import { UserRepository } from '@n8n/db';
import { Container } from '@n8n/di';

View File

@@ -14,7 +14,7 @@ const throwFileNotFound = () => {
};
const binaryDataService = mockInstance(BinaryDataService);
let testServer = setupTestServer({ endpointGroups: ['binaryData'] });
const testServer = setupTestServer({ endpointGroups: ['binaryData'] });
let authOwnerAgent: SuperAgentTest;
beforeAll(async () => {

View File

@@ -1,6 +1,9 @@
import { createWorkflow, shareWorkflowWithUsers } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { mockInstance } from '@n8n/backend-test-utils';
import {
createWorkflow,
shareWorkflowWithUsers,
testDb,
mockInstance,
} from '@n8n/backend-test-utils';
import type { User } from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';

View File

@@ -1,5 +1,4 @@
import { getPersonalProject, mockInstance } from '@n8n/backend-test-utils';
import { testDb } from '@n8n/backend-test-utils';
import { getPersonalProject, mockInstance, testDb } from '@n8n/backend-test-utils';
import { nanoid } from 'nanoid';
import '@/zod-alias-support';

View File

@@ -1,6 +1,10 @@
import { mockInstance, testDb } from '@n8n/backend-test-utils';
import { getPersonalProject } from '@n8n/backend-test-utils';
import { getAllSharedWorkflows, getAllWorkflows } from '@n8n/backend-test-utils';
import {
mockInstance,
testDb,
getPersonalProject,
getAllSharedWorkflows,
getAllWorkflows,
} from '@n8n/backend-test-utils';
import { nanoid } from 'nanoid';
import '@/zod-alias-support';

Some files were not shown because too many files have changed in this diff Show More