feat(core): Live reload node/credential descriptions in development (no-changelog) (#4939)
This commit is contained in:
@@ -81,6 +81,7 @@ import {
|
||||
AUTH_COOKIE_NAME,
|
||||
EDITOR_UI_DIST_DIR,
|
||||
GENERATED_STATIC_DIR,
|
||||
inDevelopment,
|
||||
N8N_VERSION,
|
||||
NODES_BASE_DIR,
|
||||
RESPONSE_ERROR_MESSAGES,
|
||||
@@ -138,10 +139,11 @@ import {
|
||||
} from '@/CredentialsHelper';
|
||||
import { CredentialsOverwrites } from '@/CredentialsOverwrites';
|
||||
import { CredentialTypes } from '@/CredentialTypes';
|
||||
import { NodeTypes } from '@/NodeTypes';
|
||||
import * as Push from '@/Push';
|
||||
import { LoadNodesAndCredentials } from '@/LoadNodesAndCredentials';
|
||||
import type { LoadNodesAndCredentialsClass } from '@/LoadNodesAndCredentials';
|
||||
import type { NodeTypesClass } from '@/NodeTypes';
|
||||
import { NodeTypes } from '@/NodeTypes';
|
||||
import * as Push from '@/Push';
|
||||
import * as ResponseHelper from '@/ResponseHelper';
|
||||
import type { WaitTrackerClass } from '@/WaitTracker';
|
||||
import { WaitTracker } from '@/WaitTracker';
|
||||
@@ -177,10 +179,12 @@ class Server extends AbstractServer {
|
||||
|
||||
loadNodesAndCredentials: LoadNodesAndCredentialsClass;
|
||||
|
||||
nodeTypes: INodeTypes;
|
||||
nodeTypes: NodeTypesClass;
|
||||
|
||||
credentialTypes: ICredentialTypes;
|
||||
|
||||
push: Push.Push;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
@@ -198,6 +202,8 @@ class Server extends AbstractServer {
|
||||
this.app.use('/e2e', require('./api/e2e.api').e2eController);
|
||||
}
|
||||
|
||||
this.push = Push.getInstance();
|
||||
|
||||
const urlBaseWebhook = WebhookHelpers.getWebhookBaseUrl();
|
||||
const telemetrySettings: ITelemetrySettings = {
|
||||
enabled: config.getEnv('diagnostics.enabled'),
|
||||
@@ -429,7 +435,6 @@ class Server extends AbstractServer {
|
||||
this.app.use(cookieParser());
|
||||
|
||||
// Get push connections
|
||||
const push = Push.getInstance();
|
||||
this.app.use(`/${this.restEndpoint}/push`, corsMiddleware, async (req, res, next) => {
|
||||
const { sessionId } = req.query;
|
||||
if (sessionId === undefined) {
|
||||
@@ -447,7 +452,7 @@ class Server extends AbstractServer {
|
||||
}
|
||||
}
|
||||
|
||||
push.add(sessionId as string, req, res);
|
||||
this.push.add(sessionId as string, req, res);
|
||||
});
|
||||
|
||||
// Make sure that Vue history mode works properly
|
||||
@@ -1370,6 +1375,11 @@ export async function start(): Promise<void> {
|
||||
// Set up event handling
|
||||
initEvents();
|
||||
|
||||
if (inDevelopment && process.env.N8N_DEV_RELOAD === 'true') {
|
||||
const { reloadNodesAndCredentials } = await import('@/ReloadNodesAndCredentials');
|
||||
await reloadNodesAndCredentials(app.loadNodesAndCredentials, app.nodeTypes, app.push);
|
||||
}
|
||||
|
||||
void Db.collections.Workflow.findOne({
|
||||
select: ['createdAt'],
|
||||
order: { createdAt: 'ASC' },
|
||||
|
||||
Reference in New Issue
Block a user