@builder.io/sdk-solid 0.12.4 → 0.12.6
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/lib/browser/dev.js +54 -16
- package/lib/browser/dev.jsx +54 -22
- package/lib/browser/index.js +54 -16
- package/lib/browser/index.jsx +54 -22
- package/lib/edge/dev.js +54 -16
- package/lib/edge/dev.jsx +54 -22
- package/lib/edge/index.js +54 -16
- package/lib/edge/index.jsx +54 -22
- package/lib/node/dev.js +54 -16
- package/lib/node/dev.jsx +54 -22
- package/lib/node/index.js +54 -16
- package/lib/node/index.jsx +54 -22
- package/package.json +1 -1
package/lib/node/index.js
CHANGED
|
@@ -243,27 +243,43 @@ var runInBrowser = ({
|
|
|
243
243
|
builder,
|
|
244
244
|
context,
|
|
245
245
|
event,
|
|
246
|
-
state: flattenState(
|
|
246
|
+
state: flattenState({
|
|
247
|
+
rootState,
|
|
248
|
+
localState,
|
|
249
|
+
rootSetState
|
|
250
|
+
})
|
|
247
251
|
});
|
|
248
252
|
return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
|
|
249
253
|
};
|
|
250
|
-
function flattenState(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
+
function flattenState({
|
|
255
|
+
rootState,
|
|
256
|
+
localState,
|
|
257
|
+
rootSetState
|
|
258
|
+
}) {
|
|
254
259
|
return new Proxy(rootState, {
|
|
255
|
-
get: (
|
|
260
|
+
get: (target, prop) => {
|
|
256
261
|
if (localState && prop in localState) {
|
|
257
262
|
return localState[prop];
|
|
258
263
|
}
|
|
259
|
-
|
|
264
|
+
const val = target[prop];
|
|
265
|
+
if (typeof val === "object") {
|
|
266
|
+
return flattenState({
|
|
267
|
+
rootState: val,
|
|
268
|
+
localState: void 0,
|
|
269
|
+
rootSetState: rootSetState ? (subState) => {
|
|
270
|
+
target[prop] = subState;
|
|
271
|
+
rootSetState(target);
|
|
272
|
+
} : void 0
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
return val;
|
|
260
276
|
},
|
|
261
|
-
set: (
|
|
277
|
+
set: (target, prop, value) => {
|
|
262
278
|
if (localState && prop in localState) {
|
|
263
279
|
throw new Error("Writing to local state is not allowed as it is read-only.");
|
|
264
280
|
}
|
|
265
|
-
|
|
266
|
-
rootSetState?.(
|
|
281
|
+
target[prop] = value;
|
|
282
|
+
rootSetState?.(target);
|
|
267
283
|
return true;
|
|
268
284
|
}
|
|
269
285
|
});
|
|
@@ -404,8 +420,33 @@ var runInNode = ({
|
|
|
404
420
|
}
|
|
405
421
|
};
|
|
406
422
|
|
|
423
|
+
// src/helpers/nullable.ts
|
|
424
|
+
var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
|
|
425
|
+
|
|
426
|
+
// src/functions/is-node-runtime.ts
|
|
427
|
+
function isNodeRuntime() {
|
|
428
|
+
return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
// src/functions/evaluate/should-force-browser-runtime-in-node.ts
|
|
432
|
+
var shouldForceBrowserRuntimeInNode = () => {
|
|
433
|
+
if (!isNodeRuntime())
|
|
434
|
+
return false;
|
|
435
|
+
const isArm64 = process.arch === "arm64";
|
|
436
|
+
const isNode20 = process.version.startsWith("v20");
|
|
437
|
+
const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
|
|
438
|
+
if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
|
|
439
|
+
logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
|
|
440
|
+
If you would like to use the \`isolated-vm\` package on this machine, please provide the \`NODE_OPTIONS=--no-node-snapshot\` config to your Node process.
|
|
441
|
+
See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
|
|
442
|
+
`);
|
|
443
|
+
return true;
|
|
444
|
+
}
|
|
445
|
+
return false;
|
|
446
|
+
};
|
|
447
|
+
|
|
407
448
|
// src/functions/evaluate/choose-eval.ts
|
|
408
|
-
var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
|
|
449
|
+
var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
|
|
409
450
|
|
|
410
451
|
// src/functions/evaluate/evaluate.ts
|
|
411
452
|
function evaluate({
|
|
@@ -618,9 +659,6 @@ var getSizesForBreakpoints = ({
|
|
|
618
659
|
// src/functions/camel-to-kebab-case.ts
|
|
619
660
|
var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
620
661
|
|
|
621
|
-
// src/helpers/nullable.ts
|
|
622
|
-
var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
|
|
623
|
-
|
|
624
662
|
// src/helpers/css.ts
|
|
625
663
|
var convertStyleMapToCSSArray = (style) => {
|
|
626
664
|
const cssProps = Object.entries(style).map(([key, value]) => {
|
|
@@ -3481,7 +3519,7 @@ var getInteractionPropertiesForEvent = (event) => {
|
|
|
3481
3519
|
};
|
|
3482
3520
|
|
|
3483
3521
|
// src/constants/sdk-version.ts
|
|
3484
|
-
var SDK_VERSION = "0.12.
|
|
3522
|
+
var SDK_VERSION = "0.12.6";
|
|
3485
3523
|
|
|
3486
3524
|
// src/functions/register.ts
|
|
3487
3525
|
var registry = {};
|
|
@@ -3856,7 +3894,7 @@ function EnableEditor(props) {
|
|
|
3856
3894
|
function onUpdateFn_2() {
|
|
3857
3895
|
evaluateJsCode();
|
|
3858
3896
|
}
|
|
3859
|
-
createEffect(on(() => [props.builderContextSignal.content?.data?.jsCode
|
|
3897
|
+
createEffect(on(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2));
|
|
3860
3898
|
function onUpdateFn_3() {
|
|
3861
3899
|
runHttpRequests();
|
|
3862
3900
|
}
|
package/lib/node/index.jsx
CHANGED
|
@@ -229,27 +229,43 @@ var runInBrowser = ({
|
|
|
229
229
|
builder,
|
|
230
230
|
context,
|
|
231
231
|
event,
|
|
232
|
-
state: flattenState(
|
|
232
|
+
state: flattenState({
|
|
233
|
+
rootState,
|
|
234
|
+
localState,
|
|
235
|
+
rootSetState
|
|
236
|
+
})
|
|
233
237
|
});
|
|
234
238
|
return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
|
|
235
239
|
};
|
|
236
|
-
function flattenState(
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
+
function flattenState({
|
|
241
|
+
rootState,
|
|
242
|
+
localState,
|
|
243
|
+
rootSetState
|
|
244
|
+
}) {
|
|
240
245
|
return new Proxy(rootState, {
|
|
241
|
-
get: (
|
|
246
|
+
get: (target, prop) => {
|
|
242
247
|
if (localState && prop in localState) {
|
|
243
248
|
return localState[prop];
|
|
244
249
|
}
|
|
245
|
-
|
|
250
|
+
const val = target[prop];
|
|
251
|
+
if (typeof val === "object") {
|
|
252
|
+
return flattenState({
|
|
253
|
+
rootState: val,
|
|
254
|
+
localState: void 0,
|
|
255
|
+
rootSetState: rootSetState ? (subState) => {
|
|
256
|
+
target[prop] = subState;
|
|
257
|
+
rootSetState(target);
|
|
258
|
+
} : void 0
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
return val;
|
|
246
262
|
},
|
|
247
|
-
set: (
|
|
263
|
+
set: (target, prop, value) => {
|
|
248
264
|
if (localState && prop in localState) {
|
|
249
265
|
throw new Error("Writing to local state is not allowed as it is read-only.");
|
|
250
266
|
}
|
|
251
|
-
|
|
252
|
-
rootSetState?.(
|
|
267
|
+
target[prop] = value;
|
|
268
|
+
rootSetState?.(target);
|
|
253
269
|
return true;
|
|
254
270
|
}
|
|
255
271
|
});
|
|
@@ -393,8 +409,33 @@ var runInNode = ({
|
|
|
393
409
|
}
|
|
394
410
|
};
|
|
395
411
|
|
|
412
|
+
// src/helpers/nullable.ts
|
|
413
|
+
var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
|
|
414
|
+
|
|
415
|
+
// src/functions/is-node-runtime.ts
|
|
416
|
+
function isNodeRuntime() {
|
|
417
|
+
return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// src/functions/evaluate/should-force-browser-runtime-in-node.ts
|
|
421
|
+
var shouldForceBrowserRuntimeInNode = () => {
|
|
422
|
+
if (!isNodeRuntime())
|
|
423
|
+
return false;
|
|
424
|
+
const isArm64 = process.arch === "arm64";
|
|
425
|
+
const isNode20 = process.version.startsWith("v20");
|
|
426
|
+
const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
|
|
427
|
+
if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
|
|
428
|
+
logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
|
|
429
|
+
If you would like to use the \`isolated-vm\` package on this machine, please provide the \`NODE_OPTIONS=--no-node-snapshot\` config to your Node process.
|
|
430
|
+
See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
|
|
431
|
+
`);
|
|
432
|
+
return true;
|
|
433
|
+
}
|
|
434
|
+
return false;
|
|
435
|
+
};
|
|
436
|
+
|
|
396
437
|
// src/functions/evaluate/choose-eval.ts
|
|
397
|
-
var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
|
|
438
|
+
var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
|
|
398
439
|
|
|
399
440
|
// src/functions/evaluate/evaluate.ts
|
|
400
441
|
function evaluate({
|
|
@@ -610,9 +651,6 @@ var getSizesForBreakpoints = ({
|
|
|
610
651
|
// src/functions/camel-to-kebab-case.ts
|
|
611
652
|
var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
612
653
|
|
|
613
|
-
// src/helpers/nullable.ts
|
|
614
|
-
var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
|
|
615
|
-
|
|
616
654
|
// src/helpers/css.ts
|
|
617
655
|
var convertStyleMapToCSSArray = (style) => {
|
|
618
656
|
const cssProps = Object.entries(style).map(([key, value]) => {
|
|
@@ -3155,7 +3193,7 @@ var getInteractionPropertiesForEvent = (event) => {
|
|
|
3155
3193
|
};
|
|
3156
3194
|
|
|
3157
3195
|
// src/constants/sdk-version.ts
|
|
3158
|
-
var SDK_VERSION = "0.12.
|
|
3196
|
+
var SDK_VERSION = "0.12.6";
|
|
3159
3197
|
|
|
3160
3198
|
// src/functions/register.ts
|
|
3161
3199
|
var registry = {};
|
|
@@ -3542,13 +3580,7 @@ function EnableEditor(props) {
|
|
|
3542
3580
|
evaluateJsCode();
|
|
3543
3581
|
}
|
|
3544
3582
|
createEffect2(
|
|
3545
|
-
on2(
|
|
3546
|
-
() => [
|
|
3547
|
-
props.builderContextSignal.content?.data?.jsCode,
|
|
3548
|
-
props.builderContextSignal.rootState
|
|
3549
|
-
],
|
|
3550
|
-
onUpdateFn_2
|
|
3551
|
-
)
|
|
3583
|
+
on2(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2)
|
|
3552
3584
|
);
|
|
3553
3585
|
function onUpdateFn_3() {
|
|
3554
3586
|
runHttpRequests();
|