feat(core): Lazy-load nodes and credentials to reduce baseline memory usage (#4577)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2022-11-23 16:20:28 +01:00
committed by GitHub
parent f63cd3b89e
commit b6c57e19fc
71 changed files with 1102 additions and 1279 deletions

View File

@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/naming-convention */
import {
import type {
ExecutionError,
ICredentialDataDecryptedObject,
ICredentialsDecrypted,
@@ -15,6 +15,7 @@ import {
ITelemetrySettings,
ITelemetryTrackProperties,
IWorkflowBase as IWorkflowBaseWorkflow,
LoadingDetails,
Workflow,
WorkflowActivateMode,
WorkflowExecuteMode,
@@ -22,7 +23,6 @@ import {
import { WorkflowExecute } from 'n8n-core';
// eslint-disable-next-line import/no-extraneous-dependencies
import PCancelable from 'p-cancelable';
import type { FindOperator, Repository } from 'typeorm';
@@ -59,10 +59,7 @@ export interface ICustomRequest extends Request {
}
export interface ICredentialsTypeData {
[key: string]: {
className: string;
sourcePath: string;
};
[key: string]: LoadingDetails;
}
export interface ICredentialsOverwrite {
@@ -451,19 +448,6 @@ export interface IVersionNotificationSettings {
infoUrl: string;
}
export interface IN8nNodePackageJson {
name: string;
version: string;
n8n?: {
credentials?: string[];
nodes?: string[];
};
author?: {
name?: string;
email?: string;
};
}
export interface IN8nUISettings {
endpointWebhook: string;
endpointWebhookTest: string;
@@ -649,7 +633,7 @@ export interface IResponseCallbackData {
responseCode?: number;
}
export interface ITransferNodeTypes {
export interface INodesTypeData {
[key: string]: {
className: string;
sourcePath: string;
@@ -697,10 +681,7 @@ export interface IWorkflowExecutionDataProcess {
}
export interface IWorkflowExecutionDataProcessWithExecution extends IWorkflowExecutionDataProcess {
credentialsOverwrite: ICredentialsOverwrite;
credentialsTypeData: ICredentialsTypeData;
executionId: string;
nodeTypeData: ITransferNodeTypes;
userId: string;
}