From aec08275aa0e7d9f9d0c5fc787743a0ca7476386 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: Thu, 24 Nov 2022 17:36:57 +0100 Subject: [PATCH] fix: Fix Windows development environments (no-changelog) (#4720) --- packages/core/bin/generate-known | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/core/bin/generate-known b/packages/core/bin/generate-known index a274d55239..288c2c25fb 100755 --- a/packages/core/bin/generate-known +++ b/packages/core/bin/generate-known @@ -2,25 +2,23 @@ const path = require('path'); const glob = require('fast-glob'); -const { createContext, Script } = require('vm'); const { LoggerProxy } = require('n8n-workflow'); const { packageDir, writeJSON } = require('./common'); +const { loadClassInIsolation } = require('../dist/ClassLoader'); LoggerProxy.init({ log: console.log.bind(console), warn: console.warn.bind(console), }); -const context = Object.freeze(createContext({ require })); const loadClass = (sourcePath) => { try { const [className] = path.parse(sourcePath).name.split('.'); - const absolutePath = path.resolve(packageDir, sourcePath); - const script = new Script(`new (require('${absolutePath}').${className})()`); - const instance = script.runInContext(context); + const filePath = path.resolve(packageDir, sourcePath); + const instance = loadClassInIsolation(filePath, className); return { instance, sourcePath, className }; } catch (e) { - LoggerProxy.warn('Failed to load %s: %s', sourcePath, e.message); + LoggerProxy.warn(`Failed to load ${sourcePath}: ${e.message}`); } };