@builder.io/sdk-solid 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/lib/browser/dev.js +1 -1
- package/lib/browser/dev.jsx +1 -1
- package/lib/browser/index.js +1 -1
- package/lib/browser/index.jsx +1 -1
- package/lib/edge/dev.js +1 -1
- package/lib/edge/dev.jsx +1 -1
- package/lib/edge/index.js +1 -1
- package/lib/edge/index.jsx +1 -1
- package/lib/node/dev.js +55 -57
- package/lib/node/dev.jsx +55 -57
- package/lib/node/index.js +54 -56
- package/lib/node/index.jsx +54 -56
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -119,7 +119,7 @@ interface Input {
|
|
|
119
119
|
name: string;
|
|
120
120
|
/** A friendlier name to show in the UI if the component prop name is not ideal for end users */
|
|
121
121
|
friendlyName?: string;
|
|
122
|
-
/**
|
|
122
|
+
/** A description to show in the UI to give guidance on how to use this input */
|
|
123
123
|
description?: string;
|
|
124
124
|
/** A default value to use */
|
|
125
125
|
defaultValue?: any;
|
package/lib/browser/dev.js
CHANGED
package/lib/browser/dev.jsx
CHANGED
package/lib/browser/index.js
CHANGED
package/lib/browser/index.jsx
CHANGED
package/lib/edge/dev.js
CHANGED
package/lib/edge/dev.jsx
CHANGED
package/lib/edge/index.js
CHANGED
package/lib/edge/index.jsx
CHANGED
package/lib/node/dev.js
CHANGED
|
@@ -395,7 +395,9 @@ if (typeof output === 'object' && output !== null) {
|
|
|
395
395
|
`;
|
|
396
396
|
};
|
|
397
397
|
var IVM_INSTANCE = null;
|
|
398
|
-
var
|
|
398
|
+
var IVM_OPTIONS = {
|
|
399
|
+
memoryLimit: 128
|
|
400
|
+
};
|
|
399
401
|
var SHOULD_MENTION_INITIALIZE_SCRIPT = SDK_NAME === "@builder.io/sdk-react-nextjs" || SDK_NAME === "@builder.io/sdk-react" || SDK_NAME === "@builder.io/sdk-qwik" || SDK_NAME === "@builder.io/sdk-vue";
|
|
400
402
|
var getIvm = () => {
|
|
401
403
|
try {
|
|
@@ -417,26 +419,6 @@ var getIvm = () => {
|
|
|
417
419
|
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
|
|
418
420
|
throw new Error(ERROR_MESSAGE);
|
|
419
421
|
};
|
|
420
|
-
function setIsolateContext(options = {
|
|
421
|
-
memoryLimit: 128
|
|
422
|
-
}) {
|
|
423
|
-
if (IVM_CONTEXT)
|
|
424
|
-
return IVM_CONTEXT;
|
|
425
|
-
const ivm = getIvm();
|
|
426
|
-
const isolate = new ivm.Isolate(options);
|
|
427
|
-
const context = isolate.createContextSync();
|
|
428
|
-
const jail = context.global;
|
|
429
|
-
jail.setSync("global", jail.derefInto());
|
|
430
|
-
jail.setSync("log", function(...logArgs) {
|
|
431
|
-
console.log(...logArgs);
|
|
432
|
-
});
|
|
433
|
-
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
434
|
-
IVM_CONTEXT = context;
|
|
435
|
-
return context;
|
|
436
|
-
}
|
|
437
|
-
var getIsolateContext = () => {
|
|
438
|
-
return setIsolateContext();
|
|
439
|
-
};
|
|
440
422
|
var runInNode = ({
|
|
441
423
|
code,
|
|
442
424
|
builder,
|
|
@@ -447,42 +429,58 @@ var runInNode = ({
|
|
|
447
429
|
rootState
|
|
448
430
|
}) => {
|
|
449
431
|
const ivm = getIvm();
|
|
450
|
-
|
|
451
|
-
...rootState,
|
|
452
|
-
...localState
|
|
453
|
-
});
|
|
454
|
-
const args = getFunctionArguments({
|
|
455
|
-
builder,
|
|
456
|
-
context,
|
|
457
|
-
event,
|
|
458
|
-
state
|
|
459
|
-
});
|
|
460
|
-
const isolateContext = getIsolateContext();
|
|
461
|
-
const jail = isolateContext.global;
|
|
462
|
-
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
463
|
-
set(rootState, key, value);
|
|
464
|
-
rootSetState?.(rootState);
|
|
465
|
-
});
|
|
466
|
-
args.forEach(([key, arg]) => {
|
|
467
|
-
const val = typeof arg === "object" ? new ivm.Reference(
|
|
468
|
-
// workaround: methods with default values for arguments is not being cloned over
|
|
469
|
-
key === "builder" ? {
|
|
470
|
-
...arg,
|
|
471
|
-
getUserAttributes: () => arg.getUserAttributes()
|
|
472
|
-
} : arg
|
|
473
|
-
) : null;
|
|
474
|
-
jail.setSync(getSyncValName(key), val);
|
|
475
|
-
});
|
|
476
|
-
const evalStr = processCode({
|
|
477
|
-
code,
|
|
478
|
-
args
|
|
479
|
-
});
|
|
480
|
-
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
432
|
+
let isolate;
|
|
481
433
|
try {
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
434
|
+
isolate = new ivm.Isolate(IVM_OPTIONS);
|
|
435
|
+
const isolateContext = isolate.createContextSync();
|
|
436
|
+
const jail = isolateContext.global;
|
|
437
|
+
jail.setSync("global", jail.derefInto());
|
|
438
|
+
jail.setSync("log", function(...logArgs) {
|
|
439
|
+
console.log(...logArgs);
|
|
440
|
+
});
|
|
441
|
+
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
442
|
+
const state = fastClone({
|
|
443
|
+
...rootState,
|
|
444
|
+
...localState
|
|
445
|
+
});
|
|
446
|
+
const args = getFunctionArguments({
|
|
447
|
+
builder,
|
|
448
|
+
context,
|
|
449
|
+
event,
|
|
450
|
+
state
|
|
451
|
+
});
|
|
452
|
+
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
453
|
+
set(rootState, key, value);
|
|
454
|
+
rootSetState?.(rootState);
|
|
455
|
+
});
|
|
456
|
+
args.forEach(([key, arg]) => {
|
|
457
|
+
const val = typeof arg === "object" ? new ivm.Reference(
|
|
458
|
+
// workaround: methods with default values for arguments is not being cloned over
|
|
459
|
+
key === "builder" ? {
|
|
460
|
+
...arg,
|
|
461
|
+
getUserAttributes: () => arg.getUserAttributes()
|
|
462
|
+
} : arg
|
|
463
|
+
) : null;
|
|
464
|
+
jail.setSync(getSyncValName(key), val);
|
|
465
|
+
});
|
|
466
|
+
const evalStr = processCode({
|
|
467
|
+
code,
|
|
468
|
+
args
|
|
469
|
+
});
|
|
470
|
+
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
471
|
+
try {
|
|
472
|
+
const res = JSON.parse(resultStr);
|
|
473
|
+
return res;
|
|
474
|
+
} catch (_error) {
|
|
475
|
+
return resultStr;
|
|
476
|
+
}
|
|
477
|
+
} finally {
|
|
478
|
+
if (isolate) {
|
|
479
|
+
try {
|
|
480
|
+
isolate.dispose();
|
|
481
|
+
} catch (e) {
|
|
482
|
+
}
|
|
483
|
+
}
|
|
486
484
|
}
|
|
487
485
|
};
|
|
488
486
|
|
|
@@ -1326,7 +1324,7 @@ var getBuilderSearchParamsFromWindow = () => {
|
|
|
1326
1324
|
};
|
|
1327
1325
|
|
|
1328
1326
|
// src/constants/sdk-version.ts
|
|
1329
|
-
var SDK_VERSION = "5.
|
|
1327
|
+
var SDK_VERSION = "5.1.0";
|
|
1330
1328
|
|
|
1331
1329
|
// src/helpers/sdk-headers.ts
|
|
1332
1330
|
var getSdkHeaders = () => ({
|
package/lib/node/dev.jsx
CHANGED
|
@@ -390,7 +390,9 @@ if (typeof output === 'object' && output !== null) {
|
|
|
390
390
|
`;
|
|
391
391
|
};
|
|
392
392
|
var IVM_INSTANCE = null;
|
|
393
|
-
var
|
|
393
|
+
var IVM_OPTIONS = {
|
|
394
|
+
memoryLimit: 128
|
|
395
|
+
};
|
|
394
396
|
var SHOULD_MENTION_INITIALIZE_SCRIPT = SDK_NAME === "@builder.io/sdk-react-nextjs" || SDK_NAME === "@builder.io/sdk-react" || SDK_NAME === "@builder.io/sdk-qwik" || SDK_NAME === "@builder.io/sdk-vue";
|
|
395
397
|
var getIvm = () => {
|
|
396
398
|
try {
|
|
@@ -412,26 +414,6 @@ var getIvm = () => {
|
|
|
412
414
|
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
|
|
413
415
|
throw new Error(ERROR_MESSAGE);
|
|
414
416
|
};
|
|
415
|
-
function setIsolateContext(options = {
|
|
416
|
-
memoryLimit: 128
|
|
417
|
-
}) {
|
|
418
|
-
if (IVM_CONTEXT)
|
|
419
|
-
return IVM_CONTEXT;
|
|
420
|
-
const ivm = getIvm();
|
|
421
|
-
const isolate = new ivm.Isolate(options);
|
|
422
|
-
const context = isolate.createContextSync();
|
|
423
|
-
const jail = context.global;
|
|
424
|
-
jail.setSync("global", jail.derefInto());
|
|
425
|
-
jail.setSync("log", function(...logArgs) {
|
|
426
|
-
console.log(...logArgs);
|
|
427
|
-
});
|
|
428
|
-
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
429
|
-
IVM_CONTEXT = context;
|
|
430
|
-
return context;
|
|
431
|
-
}
|
|
432
|
-
var getIsolateContext = () => {
|
|
433
|
-
return setIsolateContext();
|
|
434
|
-
};
|
|
435
417
|
var runInNode = ({
|
|
436
418
|
code,
|
|
437
419
|
builder,
|
|
@@ -442,42 +424,58 @@ var runInNode = ({
|
|
|
442
424
|
rootState
|
|
443
425
|
}) => {
|
|
444
426
|
const ivm = getIvm();
|
|
445
|
-
|
|
446
|
-
...rootState,
|
|
447
|
-
...localState
|
|
448
|
-
});
|
|
449
|
-
const args = getFunctionArguments({
|
|
450
|
-
builder,
|
|
451
|
-
context,
|
|
452
|
-
event,
|
|
453
|
-
state
|
|
454
|
-
});
|
|
455
|
-
const isolateContext = getIsolateContext();
|
|
456
|
-
const jail = isolateContext.global;
|
|
457
|
-
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
458
|
-
set(rootState, key, value);
|
|
459
|
-
rootSetState?.(rootState);
|
|
460
|
-
});
|
|
461
|
-
args.forEach(([key, arg]) => {
|
|
462
|
-
const val = typeof arg === "object" ? new ivm.Reference(
|
|
463
|
-
// workaround: methods with default values for arguments is not being cloned over
|
|
464
|
-
key === "builder" ? {
|
|
465
|
-
...arg,
|
|
466
|
-
getUserAttributes: () => arg.getUserAttributes()
|
|
467
|
-
} : arg
|
|
468
|
-
) : null;
|
|
469
|
-
jail.setSync(getSyncValName(key), val);
|
|
470
|
-
});
|
|
471
|
-
const evalStr = processCode({
|
|
472
|
-
code,
|
|
473
|
-
args
|
|
474
|
-
});
|
|
475
|
-
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
427
|
+
let isolate;
|
|
476
428
|
try {
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
429
|
+
isolate = new ivm.Isolate(IVM_OPTIONS);
|
|
430
|
+
const isolateContext = isolate.createContextSync();
|
|
431
|
+
const jail = isolateContext.global;
|
|
432
|
+
jail.setSync("global", jail.derefInto());
|
|
433
|
+
jail.setSync("log", function(...logArgs) {
|
|
434
|
+
console.log(...logArgs);
|
|
435
|
+
});
|
|
436
|
+
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
437
|
+
const state = fastClone({
|
|
438
|
+
...rootState,
|
|
439
|
+
...localState
|
|
440
|
+
});
|
|
441
|
+
const args = getFunctionArguments({
|
|
442
|
+
builder,
|
|
443
|
+
context,
|
|
444
|
+
event,
|
|
445
|
+
state
|
|
446
|
+
});
|
|
447
|
+
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
448
|
+
set(rootState, key, value);
|
|
449
|
+
rootSetState?.(rootState);
|
|
450
|
+
});
|
|
451
|
+
args.forEach(([key, arg]) => {
|
|
452
|
+
const val = typeof arg === "object" ? new ivm.Reference(
|
|
453
|
+
// workaround: methods with default values for arguments is not being cloned over
|
|
454
|
+
key === "builder" ? {
|
|
455
|
+
...arg,
|
|
456
|
+
getUserAttributes: () => arg.getUserAttributes()
|
|
457
|
+
} : arg
|
|
458
|
+
) : null;
|
|
459
|
+
jail.setSync(getSyncValName(key), val);
|
|
460
|
+
});
|
|
461
|
+
const evalStr = processCode({
|
|
462
|
+
code,
|
|
463
|
+
args
|
|
464
|
+
});
|
|
465
|
+
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
466
|
+
try {
|
|
467
|
+
const res = JSON.parse(resultStr);
|
|
468
|
+
return res;
|
|
469
|
+
} catch (_error) {
|
|
470
|
+
return resultStr;
|
|
471
|
+
}
|
|
472
|
+
} finally {
|
|
473
|
+
if (isolate) {
|
|
474
|
+
try {
|
|
475
|
+
isolate.dispose();
|
|
476
|
+
} catch (e) {
|
|
477
|
+
}
|
|
478
|
+
}
|
|
481
479
|
}
|
|
482
480
|
};
|
|
483
481
|
|
|
@@ -1320,7 +1318,7 @@ var getBuilderSearchParamsFromWindow = () => {
|
|
|
1320
1318
|
};
|
|
1321
1319
|
|
|
1322
1320
|
// src/constants/sdk-version.ts
|
|
1323
|
-
var SDK_VERSION = "5.
|
|
1321
|
+
var SDK_VERSION = "5.1.0";
|
|
1324
1322
|
|
|
1325
1323
|
// src/helpers/sdk-headers.ts
|
|
1326
1324
|
var getSdkHeaders = () => ({
|
package/lib/node/index.js
CHANGED
|
@@ -394,7 +394,9 @@ if (typeof output === 'object' && output !== null) {
|
|
|
394
394
|
`;
|
|
395
395
|
};
|
|
396
396
|
var IVM_INSTANCE = null;
|
|
397
|
-
var
|
|
397
|
+
var IVM_OPTIONS = {
|
|
398
|
+
memoryLimit: 128
|
|
399
|
+
};
|
|
398
400
|
var SHOULD_MENTION_INITIALIZE_SCRIPT = SDK_NAME === "@builder.io/sdk-react-nextjs" || SDK_NAME === "@builder.io/sdk-react" || SDK_NAME === "@builder.io/sdk-qwik" || SDK_NAME === "@builder.io/sdk-vue";
|
|
399
401
|
var getIvm = () => {
|
|
400
402
|
try {
|
|
@@ -416,25 +418,6 @@ var getIvm = () => {
|
|
|
416
418
|
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
|
|
417
419
|
throw new Error(ERROR_MESSAGE);
|
|
418
420
|
};
|
|
419
|
-
function setIsolateContext(options = {
|
|
420
|
-
memoryLimit: 128
|
|
421
|
-
}) {
|
|
422
|
-
if (IVM_CONTEXT)
|
|
423
|
-
return IVM_CONTEXT;
|
|
424
|
-
const ivm = getIvm();
|
|
425
|
-
const isolate = new ivm.Isolate(options);
|
|
426
|
-
const context = isolate.createContextSync();
|
|
427
|
-
const jail = context.global;
|
|
428
|
-
jail.setSync("global", jail.derefInto());
|
|
429
|
-
jail.setSync("log", function(...logArgs) {
|
|
430
|
-
});
|
|
431
|
-
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
432
|
-
IVM_CONTEXT = context;
|
|
433
|
-
return context;
|
|
434
|
-
}
|
|
435
|
-
var getIsolateContext = () => {
|
|
436
|
-
return setIsolateContext();
|
|
437
|
-
};
|
|
438
421
|
var runInNode = ({
|
|
439
422
|
code,
|
|
440
423
|
builder,
|
|
@@ -445,42 +428,57 @@ var runInNode = ({
|
|
|
445
428
|
rootState
|
|
446
429
|
}) => {
|
|
447
430
|
const ivm = getIvm();
|
|
448
|
-
|
|
449
|
-
...rootState,
|
|
450
|
-
...localState
|
|
451
|
-
});
|
|
452
|
-
const args = getFunctionArguments({
|
|
453
|
-
builder,
|
|
454
|
-
context,
|
|
455
|
-
event,
|
|
456
|
-
state
|
|
457
|
-
});
|
|
458
|
-
const isolateContext = getIsolateContext();
|
|
459
|
-
const jail = isolateContext.global;
|
|
460
|
-
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
461
|
-
set(rootState, key, value);
|
|
462
|
-
rootSetState?.(rootState);
|
|
463
|
-
});
|
|
464
|
-
args.forEach(([key, arg]) => {
|
|
465
|
-
const val = typeof arg === "object" ? new ivm.Reference(
|
|
466
|
-
// workaround: methods with default values for arguments is not being cloned over
|
|
467
|
-
key === "builder" ? {
|
|
468
|
-
...arg,
|
|
469
|
-
getUserAttributes: () => arg.getUserAttributes()
|
|
470
|
-
} : arg
|
|
471
|
-
) : null;
|
|
472
|
-
jail.setSync(getSyncValName(key), val);
|
|
473
|
-
});
|
|
474
|
-
const evalStr = processCode({
|
|
475
|
-
code,
|
|
476
|
-
args
|
|
477
|
-
});
|
|
478
|
-
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
431
|
+
let isolate;
|
|
479
432
|
try {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
433
|
+
isolate = new ivm.Isolate(IVM_OPTIONS);
|
|
434
|
+
const isolateContext = isolate.createContextSync();
|
|
435
|
+
const jail = isolateContext.global;
|
|
436
|
+
jail.setSync("global", jail.derefInto());
|
|
437
|
+
jail.setSync("log", function(...logArgs) {
|
|
438
|
+
});
|
|
439
|
+
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
440
|
+
const state = fastClone({
|
|
441
|
+
...rootState,
|
|
442
|
+
...localState
|
|
443
|
+
});
|
|
444
|
+
const args = getFunctionArguments({
|
|
445
|
+
builder,
|
|
446
|
+
context,
|
|
447
|
+
event,
|
|
448
|
+
state
|
|
449
|
+
});
|
|
450
|
+
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
451
|
+
set(rootState, key, value);
|
|
452
|
+
rootSetState?.(rootState);
|
|
453
|
+
});
|
|
454
|
+
args.forEach(([key, arg]) => {
|
|
455
|
+
const val = typeof arg === "object" ? new ivm.Reference(
|
|
456
|
+
// workaround: methods with default values for arguments is not being cloned over
|
|
457
|
+
key === "builder" ? {
|
|
458
|
+
...arg,
|
|
459
|
+
getUserAttributes: () => arg.getUserAttributes()
|
|
460
|
+
} : arg
|
|
461
|
+
) : null;
|
|
462
|
+
jail.setSync(getSyncValName(key), val);
|
|
463
|
+
});
|
|
464
|
+
const evalStr = processCode({
|
|
465
|
+
code,
|
|
466
|
+
args
|
|
467
|
+
});
|
|
468
|
+
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
469
|
+
try {
|
|
470
|
+
const res = JSON.parse(resultStr);
|
|
471
|
+
return res;
|
|
472
|
+
} catch (_error) {
|
|
473
|
+
return resultStr;
|
|
474
|
+
}
|
|
475
|
+
} finally {
|
|
476
|
+
if (isolate) {
|
|
477
|
+
try {
|
|
478
|
+
isolate.dispose();
|
|
479
|
+
} catch (e) {
|
|
480
|
+
}
|
|
481
|
+
}
|
|
484
482
|
}
|
|
485
483
|
};
|
|
486
484
|
|
|
@@ -1316,7 +1314,7 @@ var getBuilderSearchParamsFromWindow = () => {
|
|
|
1316
1314
|
};
|
|
1317
1315
|
|
|
1318
1316
|
// src/constants/sdk-version.ts
|
|
1319
|
-
var SDK_VERSION = "5.
|
|
1317
|
+
var SDK_VERSION = "5.1.0";
|
|
1320
1318
|
|
|
1321
1319
|
// src/helpers/sdk-headers.ts
|
|
1322
1320
|
var getSdkHeaders = () => ({
|
package/lib/node/index.jsx
CHANGED
|
@@ -389,7 +389,9 @@ if (typeof output === 'object' && output !== null) {
|
|
|
389
389
|
`;
|
|
390
390
|
};
|
|
391
391
|
var IVM_INSTANCE = null;
|
|
392
|
-
var
|
|
392
|
+
var IVM_OPTIONS = {
|
|
393
|
+
memoryLimit: 128
|
|
394
|
+
};
|
|
393
395
|
var SHOULD_MENTION_INITIALIZE_SCRIPT = SDK_NAME === "@builder.io/sdk-react-nextjs" || SDK_NAME === "@builder.io/sdk-react" || SDK_NAME === "@builder.io/sdk-qwik" || SDK_NAME === "@builder.io/sdk-vue";
|
|
394
396
|
var getIvm = () => {
|
|
395
397
|
try {
|
|
@@ -411,25 +413,6 @@ var getIvm = () => {
|
|
|
411
413
|
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
|
|
412
414
|
throw new Error(ERROR_MESSAGE);
|
|
413
415
|
};
|
|
414
|
-
function setIsolateContext(options = {
|
|
415
|
-
memoryLimit: 128
|
|
416
|
-
}) {
|
|
417
|
-
if (IVM_CONTEXT)
|
|
418
|
-
return IVM_CONTEXT;
|
|
419
|
-
const ivm = getIvm();
|
|
420
|
-
const isolate = new ivm.Isolate(options);
|
|
421
|
-
const context = isolate.createContextSync();
|
|
422
|
-
const jail = context.global;
|
|
423
|
-
jail.setSync("global", jail.derefInto());
|
|
424
|
-
jail.setSync("log", function(...logArgs) {
|
|
425
|
-
});
|
|
426
|
-
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
427
|
-
IVM_CONTEXT = context;
|
|
428
|
-
return context;
|
|
429
|
-
}
|
|
430
|
-
var getIsolateContext = () => {
|
|
431
|
-
return setIsolateContext();
|
|
432
|
-
};
|
|
433
416
|
var runInNode = ({
|
|
434
417
|
code,
|
|
435
418
|
builder,
|
|
@@ -440,42 +423,57 @@ var runInNode = ({
|
|
|
440
423
|
rootState
|
|
441
424
|
}) => {
|
|
442
425
|
const ivm = getIvm();
|
|
443
|
-
|
|
444
|
-
...rootState,
|
|
445
|
-
...localState
|
|
446
|
-
});
|
|
447
|
-
const args = getFunctionArguments({
|
|
448
|
-
builder,
|
|
449
|
-
context,
|
|
450
|
-
event,
|
|
451
|
-
state
|
|
452
|
-
});
|
|
453
|
-
const isolateContext = getIsolateContext();
|
|
454
|
-
const jail = isolateContext.global;
|
|
455
|
-
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
456
|
-
set(rootState, key, value);
|
|
457
|
-
rootSetState?.(rootState);
|
|
458
|
-
});
|
|
459
|
-
args.forEach(([key, arg]) => {
|
|
460
|
-
const val = typeof arg === "object" ? new ivm.Reference(
|
|
461
|
-
// workaround: methods with default values for arguments is not being cloned over
|
|
462
|
-
key === "builder" ? {
|
|
463
|
-
...arg,
|
|
464
|
-
getUserAttributes: () => arg.getUserAttributes()
|
|
465
|
-
} : arg
|
|
466
|
-
) : null;
|
|
467
|
-
jail.setSync(getSyncValName(key), val);
|
|
468
|
-
});
|
|
469
|
-
const evalStr = processCode({
|
|
470
|
-
code,
|
|
471
|
-
args
|
|
472
|
-
});
|
|
473
|
-
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
426
|
+
let isolate;
|
|
474
427
|
try {
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
428
|
+
isolate = new ivm.Isolate(IVM_OPTIONS);
|
|
429
|
+
const isolateContext = isolate.createContextSync();
|
|
430
|
+
const jail = isolateContext.global;
|
|
431
|
+
jail.setSync("global", jail.derefInto());
|
|
432
|
+
jail.setSync("log", function(...logArgs) {
|
|
433
|
+
});
|
|
434
|
+
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
435
|
+
const state = fastClone({
|
|
436
|
+
...rootState,
|
|
437
|
+
...localState
|
|
438
|
+
});
|
|
439
|
+
const args = getFunctionArguments({
|
|
440
|
+
builder,
|
|
441
|
+
context,
|
|
442
|
+
event,
|
|
443
|
+
state
|
|
444
|
+
});
|
|
445
|
+
jail.setSync(BUILDER_SET_STATE_NAME, function(key, value) {
|
|
446
|
+
set(rootState, key, value);
|
|
447
|
+
rootSetState?.(rootState);
|
|
448
|
+
});
|
|
449
|
+
args.forEach(([key, arg]) => {
|
|
450
|
+
const val = typeof arg === "object" ? new ivm.Reference(
|
|
451
|
+
// workaround: methods with default values for arguments is not being cloned over
|
|
452
|
+
key === "builder" ? {
|
|
453
|
+
...arg,
|
|
454
|
+
getUserAttributes: () => arg.getUserAttributes()
|
|
455
|
+
} : arg
|
|
456
|
+
) : null;
|
|
457
|
+
jail.setSync(getSyncValName(key), val);
|
|
458
|
+
});
|
|
459
|
+
const evalStr = processCode({
|
|
460
|
+
code,
|
|
461
|
+
args
|
|
462
|
+
});
|
|
463
|
+
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
464
|
+
try {
|
|
465
|
+
const res = JSON.parse(resultStr);
|
|
466
|
+
return res;
|
|
467
|
+
} catch (_error) {
|
|
468
|
+
return resultStr;
|
|
469
|
+
}
|
|
470
|
+
} finally {
|
|
471
|
+
if (isolate) {
|
|
472
|
+
try {
|
|
473
|
+
isolate.dispose();
|
|
474
|
+
} catch (e) {
|
|
475
|
+
}
|
|
476
|
+
}
|
|
479
477
|
}
|
|
480
478
|
};
|
|
481
479
|
|
|
@@ -1312,7 +1310,7 @@ var getBuilderSearchParamsFromWindow = () => {
|
|
|
1312
1310
|
};
|
|
1313
1311
|
|
|
1314
1312
|
// src/constants/sdk-version.ts
|
|
1315
|
-
var SDK_VERSION = "5.
|
|
1313
|
+
var SDK_VERSION = "5.1.0";
|
|
1316
1314
|
|
|
1317
1315
|
// src/helpers/sdk-headers.ts
|
|
1318
1316
|
var getSdkHeaders = () => ({
|