refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2025-01-06 10:21:24 +01:00
committed by GitHub
parent 8053a4a176
commit 39d5e0ff87
413 changed files with 979 additions and 452 deletions

View File

@@ -1,8 +1,8 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { Logger } from 'n8n-core';
import { NodeApiError, Workflow } from 'n8n-workflow';
import type { IWebhookData, WorkflowActivateMode } from 'n8n-workflow';
import { Container } from 'typedi';
import { ActiveExecutions } from '@/active-executions';
import { ActiveWorkflowManager } from '@/active-workflow-manager';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import { randomUUID } from 'crypto';
import { mock } from 'jest-mock-extended';
import { Container } from 'typedi';
import { FREE_AI_CREDITS_CREDENTIAL_NAME, OPEN_AI_API_CREDENTIAL_TYPE } from '@/constants';
import type { Project } from '@/databases/entities/project';

View File

@@ -1,5 +1,5 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import type { ApiKey } from '@/databases/entities/api-key';
import type { User } from '@/databases/entities/user';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import validator from 'validator';
import config from '@/config';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import type {
WorkflowClosedMessage,

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { EntityNotFoundError } from '@n8n/typeorm';
import { Container } from 'typedi';
import { v4 as uuid } from 'uuid';
import { Reset } from '@/commands/ldap/reset';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import { ClearLicenseCommand } from '@/commands/license/clear';
import { SETTINGS_LICENSE_CERT_KEY } from '@/constants';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import { Reset } from '@/commands/user-management/reset';
import { CredentialsEntity } from '@/databases/entities/credentials-entity';

View File

@@ -1,8 +1,8 @@
process.argv[2] = 'worker';
import { TaskRunnersConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { BinaryDataService } from 'n8n-core';
import Container from 'typedi';
import { Worker } from '@/commands/worker';
import config from '@/config';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { Not } from '@n8n/typeorm';
import Container from 'typedi';
import type { User } from '@/databases/entities/user';
import { ProjectRelationRepository } from '@/databases/repositories/project-relation.repository';

View File

@@ -1,7 +1,7 @@
import { Container } from '@n8n/di';
import { response as Response } from 'express';
import nock from 'nock';
import { parse as parseQs } from 'querystring';
import { Container } from 'typedi';
import { OAuth2CredentialController } from '@/controllers/oauth/oauth2-credential.controller';
import { CredentialsHelper } from '@/credentials-helper';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { CredentialsHelper } from '@/credentials-helper';
import type { User } from '@/databases/entities/user';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { In } from '@n8n/typeorm';
import { Container } from 'typedi';
import config from '@/config';
import type { Project } from '@/databases/entities/project';

View File

@@ -1,8 +1,8 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import type { Scope } from '@sentry/node';
import { Credentials } from 'n8n-core';
import { randomString } from 'n8n-workflow';
import { Container } from 'typedi';
import type { Project } from '@/databases/entities/project';
import type { User } from '@/databases/entities/user';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { CredentialsService } from '@/credentials/credentials.service';
import type { CredentialsEntity } from '@/databases/entities/credentials-entity';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import type { User } from '@/databases/entities/user';
import { StatisticsNames } from '@/databases/entities/workflow-statistics';

View File

@@ -1,5 +1,5 @@
import { GlobalConfig } from '@n8n/config';
import Container from 'typedi';
import { Container } from '@n8n/di';
import { ExecutionDataRepository } from '@/databases/repositories/execution-data.repository';
import { ExecutionRepository } from '@/databases/repositories/execution.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { EntityNotFoundError } from '@n8n/typeorm';
import Container from 'typedi';
import { AuthIdentity } from '@/databases/entities/auth-identity';
import { ProjectRepository } from '@/databases/repositories/project.repository';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { InstanceSettings } from 'n8n-core';
import Container from 'typedi';
import { ActiveWorkflowManager } from '@/active-workflow-manager';
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';

View File

@@ -1,10 +1,10 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { Cipher } from 'n8n-core';
import type { InstanceSettings } from 'n8n-core';
import * as utils from 'n8n-workflow';
import { nanoid } from 'nanoid';
import fsp from 'node:fs/promises';
import Container from 'typedi';
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';
import { ProjectRepository } from '@/databases/repositories/project.repository';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import config from '@/config';
import type { User } from '@/databases/entities/user';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import type { TestDefinition } from '@/databases/entities/test-definition.ee';
import type { User } from '@/databases/entities/user';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mockInstance } from 'n8n-core/test/utils';
import { Container } from 'typedi';
import type { AnnotationTagEntity } from '@/databases/entities/annotation-tag-entity.ee';
import type { User } from '@/databases/entities/user';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import type { TestDefinition } from '@/databases/entities/test-definition.ee';
import type { User } from '@/databases/entities/user';

View File

@@ -1,3 +1,4 @@
import { Container } from '@n8n/di';
import axios from 'axios';
import type {
MessageEventBusDestinationSentryOptions,
@@ -10,7 +11,6 @@ import {
defaultMessageEventBusDestinationWebhookOptions,
} from 'n8n-workflow';
import syslog from 'syslog-client';
import { Container } from 'typedi';
import { v4 as uuid } from 'uuid';
import type { User } from '@/databases/entities/user';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { ExecutionMetadataRepository } from '@/databases/repositories/execution-metadata.repository';
import { ExecutionRepository } from '@/databases/repositories/execution.repository';

View File

@@ -1,7 +1,7 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { Cipher } from 'n8n-core';
import { jsonParse, type IDataObject } from 'n8n-workflow';
import { Container } from 'typedi';
import config from '@/config';
import { CREDENTIAL_BLANKING_VALUE } from '@/constants';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import type { INode } from 'n8n-workflow';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import type { Project } from '@/databases/entities/project';

View File

@@ -1,7 +1,7 @@
import { Container } from '@n8n/di';
import { Not } from '@n8n/typeorm';
import type { Entry as LdapUser } from 'ldapts';
import { Cipher } from 'n8n-core';
import { Container } from 'typedi';
import config from '@/config';
import type { User } from '@/databases/entities/user';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { StatisticsNames } from '@/databases/entities/workflow-statistics';
import { LicenseMetricsRepository } from '@/databases/repositories/license-metrics.repository';

View File

@@ -1,6 +1,6 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import type { IPersonalizationSurveyAnswersV4 } from 'n8n-workflow';
import { Container } from 'typedi';
import validator from 'validator';
import type { User } from '@/databases/entities/user';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { randomString } from 'n8n-workflow';
import Container from 'typedi';
import { AuthService } from '@/auth/auth.service';
import config from '@/config';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import validator from 'validator';
import config from '@/config';

View File

@@ -1,7 +1,7 @@
import { Container } from '@n8n/di';
import { compare } from 'bcryptjs';
import { mock } from 'jest-mock-extended';
import { randomString } from 'n8n-workflow';
import { Container } from 'typedi';
import { v4 as uuid } from 'uuid';
import { AuthService } from '@/auth/auth.service';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import type { INode } from 'n8n-workflow';
import { randomInt } from 'n8n-workflow';
import { Container } from 'typedi';
import { v4 as uuid } from 'uuid';
import type { Project } from '@/databases/entities/project';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import type { Scope } from '@n8n/permissions';
import { EntityNotFoundError } from '@n8n/typeorm';
import Container from 'typedi';
import { ActiveWorkflowManager } from '@/active-workflow-manager';
import type { Project } from '@/databases/entities/project';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
import { ProjectService } from '@/services/project.service.ee';

View File

@@ -1,7 +1,7 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { parse as semverParse } from 'semver';
import request, { type Response } from 'supertest';
import { Container } from 'typedi';
import config from '@/config';
import { N8N_VERSION } from '@/constants';

View File

@@ -1,8 +1,8 @@
import { ExecutionsConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { BinaryDataService, InstanceSettings } from 'n8n-core';
import type { ExecutionStatus } from 'n8n-workflow';
import Container from 'typedi';
import { Time } from '@/constants';
import type { ExecutionEntity } from '@/databases/entities/execution-entity';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { randomString } from 'n8n-workflow';
import { Container } from 'typedi';
import type { User } from '@/databases/entities/user';
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import type { User } from '@/databases/entities/user';
import { TagRepository } from '@/databases/repositories/tag.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import type { INode } from 'n8n-workflow';
import { Container } from 'typedi';
import { ActiveWorkflowManager } from '@/active-workflow-manager';
import config from '@/config';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import type { Scope } from '@n8n/permissions';
import { Container } from 'typedi';
import type { ProjectRole } from '@/databases/entities/project-relation';
import type { CredentialSharingRole } from '@/databases/entities/shared-credentials';

View File

@@ -1,6 +1,6 @@
import { TaskRunnersConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { MissingAuthTokenError } from '@/task-runners/errors/missing-auth-token.error';
import { TaskRunnerModule } from '@/task-runners/task-runner-module';

View File

@@ -1,5 +1,5 @@
import { TaskRunnersConfig } from '@n8n/config';
import Container from 'typedi';
import { Container } from '@n8n/di';
import { TaskRunnerModule } from '@/task-runners/task-runner-module';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { TaskBroker } from '@/task-runners/task-broker.service';
import { TaskRunnerProcess } from '@/task-runners/task-runner-process';

View File

@@ -1,6 +1,6 @@
import type { SecurityConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';

View File

@@ -1,7 +1,7 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { NodeConnectionType } from 'n8n-workflow';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { Container } from 'typedi';
import { v4 as uuid } from 'uuid';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';

View File

@@ -1,6 +1,6 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import nock from 'nock';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import * as constants from '@/constants';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { ExecutionMetadataRepository } from '@/databases/repositories/execution-metadata.repository';
import { ExecutionMetadataService } from '@/services/execution-metadata.service';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import type { Scope } from '@n8n/permissions';
import Container from 'typedi';
import type { ProjectRole } from '@/databases/entities/project-relation';
import { ProjectRelationRepository } from '@/databases/repositories/project-relation.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { Workflow } from 'n8n-workflow';
import Container from 'typedi';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
import { NodeTypes } from '@/node-types';

View File

@@ -1,5 +1,5 @@
import { GlobalConfig } from '@n8n/config';
import Container from 'typedi';
import { Container } from '@n8n/di';
export const REST_PATH_SEGMENT = Container.get(GlobalConfig).endpoints.rest;

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import { CredentialsEntity } from '@/databases/entities/credentials-entity';
import type { Project } from '@/databases/entities/project';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import type { AnnotationVote } from 'n8n-workflow';
import Container from 'typedi';
import type { ExecutionData } from '@/databases/entities/execution-data';
import type { ExecutionEntity } from '@/databases/entities/execution-entity';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import type { Project } from '@/databases/entities/project';
import type { ProjectRelation, ProjectRole } from '@/databases/entities/project-relation';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import type { TagEntity } from '@/databases/entities/tag-entity';
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { hash } from 'bcryptjs';
import Container from 'typedi';
import { AuthIdentity } from '@/databases/entities/auth-identity';
import { type GlobalRole, type User } from '@/databases/entities/user';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { randomString } from 'n8n-workflow';
import Container from 'typedi';
import { VariablesRepository } from '@/databases/repositories/variables.repository';
import { generateNanoId } from '@/databases/utils/generators';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { v4 as uuid } from 'uuid';
import type { WorkflowHistory } from '@/databases/entities/workflow-history';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import type { Workflow } from 'n8n-workflow';
import Container from 'typedi';
import { StatisticsNames, type WorkflowStatistics } from '@/databases/entities/workflow-statistics';
import { WorkflowStatisticsRepository } from '@/databases/repositories/workflow-statistics.repository';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import type { DeepPartial } from '@n8n/typeorm';
import { NodeConnectionType } from 'n8n-workflow';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { Project } from '@/databases/entities/project';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { jsonParse } from 'n8n-workflow';
import Container from 'typedi';
import { SettingsRepository } from '@/databases/repositories/settings.repository';
import { LDAP_DEFAULT_CONFIGURATION, LDAP_FEATURE_NAME } from '@/ldap.ee/constants';

View File

@@ -1,10 +1,10 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import type { DataSourceOptions, Repository } from '@n8n/typeorm';
import { DataSource as Connection } from '@n8n/typeorm';
import { kebabCase } from 'lodash';
import type { Class } from 'n8n-core';
import { randomString } from 'n8n-workflow';
import { Container } from 'typedi';
import { getOptionOverrides } from '@/databases/config';
import * as Db from '@/db';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { NODE_PACKAGE_PREFIX } from '@/constants';
import { InstalledPackages } from '@/databases/entities/installed-packages';

View File

@@ -1,3 +1,4 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import {
BinaryDataService,
@@ -13,7 +14,6 @@ import { Set } from 'n8n-nodes-base/nodes/Set/Set.node';
import { Start } from 'n8n-nodes-base/nodes/Start/Start.node';
import type { INodeTypeData, INode } from 'n8n-workflow';
import type request from 'supertest';
import { Container } from 'typedi';
import { v4 as uuid } from 'uuid';
import config from '@/config';

View File

@@ -1,7 +1,7 @@
import { TaskRunnersConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import request from 'supertest';
import type TestAgent from 'supertest/lib/agent';
import Container from 'typedi';
import { TaskRunnerServer } from '@/task-runners/task-runner-server';

View File

@@ -1,9 +1,9 @@
import { Container } from '@n8n/di';
import cookieParser from 'cookie-parser';
import express from 'express';
import { Logger } from 'n8n-core';
import type superagent from 'superagent';
import request from 'supertest';
import { Container } from 'typedi';
import { URL } from 'url';
import { AuthService } from '@/auth/auth.service';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import { TagRepository } from '@/databases/repositories/tag.repository';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { ProjectRelationRepository } from '@/databases/repositories/project-relation.repository';
import { UserRepository } from '@/databases/repositories/user.repository';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { v4 as uuid } from 'uuid';
import { RESPONSE_ERROR_MESSAGES } from '@/constants';

View File

@@ -1,4 +1,4 @@
import { Container } from 'typedi';
import { Container } from '@n8n/di';
import type { Variables } from '@/databases/entities/variables';
import { VariablesRepository } from '@/databases/repositories/variables.repository';

View File

@@ -1,8 +1,8 @@
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import { agent as testAgent } from 'supertest';
import type SuperAgentTest from 'supertest/lib/agent';
import Container from 'typedi';
import { ExternalHooks } from '@/external-hooks';
import { LiveWebhooks } from '@/webhooks/live-webhooks';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import { In } from '@n8n/typeorm';
import { DateTime } from 'luxon';
import Container from 'typedi';
import config from '@/config';
import { WorkflowHistoryRepository } from '@/databases/repositories/workflow-history.repository';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import { TagRepository } from '@/databases/repositories/tag.repository';
import { WorkflowTagMappingRepository } from '@/databases/repositories/workflow-tag-mapping.repository';

View File

@@ -1,4 +1,4 @@
import Container from 'typedi';
import { Container } from '@n8n/di';
import type { User } from '@/databases/entities/user';
import { License } from '@/license';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { CredentialsEntity } from '@/databases/entities/credentials-entity';
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import Container from 'typedi';
import { ActiveWorkflowManager } from '@/active-workflow-manager';
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';

View File

@@ -1,5 +1,5 @@
import { Container } from '@n8n/di';
import { ApplicationError, WorkflowActivationError, type INode } from 'n8n-workflow';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { ActiveWorkflowManager } from '@/active-workflow-manager';

View File

@@ -1,6 +1,6 @@
import { Container } from '@n8n/di';
import type { Scope } from '@n8n/permissions';
import type { INode, IPinData } from 'n8n-workflow';
import Container from 'typedi';
import { v4 as uuid } from 'uuid';
import { ActiveWorkflowManager } from '@/active-workflow-manager';

View File

@@ -1,9 +1,9 @@
import { Container } from '@n8n/di';
import { DataSource, EntityManager, type EntityMetadata } from '@n8n/typeorm';
import { mock } from 'jest-mock-extended';
import type { Class } from 'n8n-core';
import type { Logger } from 'n8n-core';
import type { DeepPartial } from 'ts-essentials';
import { Container } from 'typedi';
export const mockInstance = <T>(
serviceClass: Class<T>,

View File

@@ -1,7 +1,7 @@
import 'tsconfig-paths/register';
import { GlobalConfig } from '@n8n/config';
import { Container } from '@n8n/di';
import { DataSource as Connection } from '@n8n/typeorm';
import { Container } from 'typedi';
import { getBootstrapDBOptions, testDbPrefix } from './integration/shared/test-db';