feat: allow multiple script context roots

This commit is contained in:
DaPutzy 2023-10-25 23:16:28 +00:00
parent 7f7b3f479a
commit 7fa68731d2
2 changed files with 12 additions and 2 deletions

View File

@ -46,6 +46,11 @@ class ScriptRuntime {
const req = new BrunoRequest(request);
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
const moduleWhitelist = get(scriptingConfig, 'moduleWhitelist', []);
const additionalContextRoots = get(scriptingConfig, 'additionalContextRoots', []);
const additionalContextRootsAbsolute = lodash
.chain(additionalContextRoots)
.map((acr) => (acr.startsWith('/') ? acr : path.join(collectionPath, acr)))
.value();
const whitelistedModules = {};
@ -83,7 +88,7 @@ class ScriptRuntime {
require: {
context: 'sandbox',
external: true,
root: [collectionPath],
root: [collectionPath, ...additionalContextRootsAbsolute],
mock: {
// node libs
path,

View File

@ -48,6 +48,11 @@ class TestRuntime {
const res = new BrunoResponse(response);
const allowScriptFilesystemAccess = get(scriptingConfig, 'filesystemAccess.allow', false);
const moduleWhitelist = get(scriptingConfig, 'moduleWhitelist', []);
const additionalContextRoots = get(scriptingConfig, 'additionalContextRoots', []);
const additionalContextRootsAbsolute = lodash
.chain(additionalContextRoots)
.map((acr) => (acr.startsWith('/') ? acr : path.join(collectionPath, acr)))
.value();
const whitelistedModules = {};
@ -101,7 +106,7 @@ class TestRuntime {
require: {
context: 'sandbox',
external: true,
root: [collectionPath],
root: [collectionPath, ...additionalContextRootsAbsolute],
mock: {
// node libs
path,