@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/edge/dev.jsx CHANGED
@@ -239,27 +239,43 @@ var runInBrowser = ({
239
239
  builder,
240
240
  context,
241
241
  event,
242
- state: flattenState(rootState, localState, rootSetState)
242
+ state: flattenState({
243
+ rootState,
244
+ localState,
245
+ rootSetState
246
+ })
243
247
  });
244
248
  return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
245
249
  };
246
- function flattenState(rootState, localState, rootSetState) {
247
- if (rootState === localState) {
248
- throw new Error("rootState === localState");
249
- }
250
+ function flattenState({
251
+ rootState,
252
+ localState,
253
+ rootSetState
254
+ }) {
250
255
  return new Proxy(rootState, {
251
- get: (_, prop) => {
256
+ get: (target, prop) => {
252
257
  if (localState && prop in localState) {
253
258
  return localState[prop];
254
259
  }
255
- return rootState[prop];
260
+ const val = target[prop];
261
+ if (typeof val === "object") {
262
+ return flattenState({
263
+ rootState: val,
264
+ localState: void 0,
265
+ rootSetState: rootSetState ? (subState) => {
266
+ target[prop] = subState;
267
+ rootSetState(target);
268
+ } : void 0
269
+ });
270
+ }
271
+ return val;
256
272
  },
257
- set: (_, prop, value) => {
273
+ set: (target, prop, value) => {
258
274
  if (localState && prop in localState) {
259
275
  throw new Error("Writing to local state is not allowed as it is read-only.");
260
276
  }
261
- rootState[prop] = value;
262
- rootSetState?.(rootState);
277
+ target[prop] = value;
278
+ rootSetState?.(target);
263
279
  return true;
264
280
  }
265
281
  });
@@ -3422,8 +3438,33 @@ theFunction();
3422
3438
  }
3423
3439
  };
3424
3440
 
3441
+ // src/helpers/nullable.ts
3442
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3443
+
3444
+ // src/functions/is-node-runtime.ts
3445
+ function isNodeRuntime() {
3446
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3447
+ }
3448
+
3449
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3450
+ var shouldForceBrowserRuntimeInNode = () => {
3451
+ if (!isNodeRuntime())
3452
+ return false;
3453
+ const isArm64 = process.arch === "arm64";
3454
+ const isNode20 = process.version.startsWith("v20");
3455
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3456
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3457
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3458
+ 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.
3459
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3460
+ `);
3461
+ return true;
3462
+ }
3463
+ return false;
3464
+ };
3465
+
3425
3466
  // src/functions/evaluate/choose-eval.ts
3426
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3467
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3427
3468
 
3428
3469
  // src/functions/evaluate/evaluate.ts
3429
3470
  function evaluate({
@@ -3645,9 +3686,6 @@ var getSizesForBreakpoints = ({
3645
3686
  // src/functions/camel-to-kebab-case.ts
3646
3687
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3647
3688
 
3648
- // src/helpers/nullable.ts
3649
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3650
-
3651
3689
  // src/helpers/css.ts
3652
3690
  var convertStyleMapToCSSArray = (style) => {
3653
3691
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6199,7 +6237,7 @@ var getInteractionPropertiesForEvent = (event) => {
6199
6237
  };
6200
6238
 
6201
6239
  // src/constants/sdk-version.ts
6202
- var SDK_VERSION = "0.12.4";
6240
+ var SDK_VERSION = "0.12.6";
6203
6241
 
6204
6242
  // src/functions/register.ts
6205
6243
  var registry = {};
@@ -6588,13 +6626,7 @@ function EnableEditor(props) {
6588
6626
  evaluateJsCode();
6589
6627
  }
6590
6628
  createEffect2(
6591
- on2(
6592
- () => [
6593
- props.builderContextSignal.content?.data?.jsCode,
6594
- props.builderContextSignal.rootState
6595
- ],
6596
- onUpdateFn_2
6597
- )
6629
+ on2(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2)
6598
6630
  );
6599
6631
  function onUpdateFn_3() {
6600
6632
  runHttpRequests();
package/lib/edge/index.js CHANGED
@@ -248,27 +248,43 @@ var runInBrowser = ({
248
248
  builder,
249
249
  context,
250
250
  event,
251
- state: flattenState(rootState, localState, rootSetState)
251
+ state: flattenState({
252
+ rootState,
253
+ localState,
254
+ rootSetState
255
+ })
252
256
  });
253
257
  return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
254
258
  };
255
- function flattenState(rootState, localState, rootSetState) {
256
- if (rootState === localState) {
257
- throw new Error("rootState === localState");
258
- }
259
+ function flattenState({
260
+ rootState,
261
+ localState,
262
+ rootSetState
263
+ }) {
259
264
  return new Proxy(rootState, {
260
- get: (_, prop) => {
265
+ get: (target, prop) => {
261
266
  if (localState && prop in localState) {
262
267
  return localState[prop];
263
268
  }
264
- return rootState[prop];
269
+ const val = target[prop];
270
+ if (typeof val === "object") {
271
+ return flattenState({
272
+ rootState: val,
273
+ localState: void 0,
274
+ rootSetState: rootSetState ? (subState) => {
275
+ target[prop] = subState;
276
+ rootSetState(target);
277
+ } : void 0
278
+ });
279
+ }
280
+ return val;
265
281
  },
266
- set: (_, prop, value) => {
282
+ set: (target, prop, value) => {
267
283
  if (localState && prop in localState) {
268
284
  throw new Error("Writing to local state is not allowed as it is read-only.");
269
285
  }
270
- rootState[prop] = value;
271
- rootSetState?.(rootState);
286
+ target[prop] = value;
287
+ rootSetState?.(target);
272
288
  return true;
273
289
  }
274
290
  });
@@ -3431,8 +3447,33 @@ theFunction();
3431
3447
  }
3432
3448
  };
3433
3449
 
3450
+ // src/helpers/nullable.ts
3451
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3452
+
3453
+ // src/functions/is-node-runtime.ts
3454
+ function isNodeRuntime() {
3455
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3456
+ }
3457
+
3458
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3459
+ var shouldForceBrowserRuntimeInNode = () => {
3460
+ if (!isNodeRuntime())
3461
+ return false;
3462
+ const isArm64 = process.arch === "arm64";
3463
+ const isNode20 = process.version.startsWith("v20");
3464
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3465
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3466
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3467
+ 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.
3468
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3469
+ `);
3470
+ return true;
3471
+ }
3472
+ return false;
3473
+ };
3474
+
3434
3475
  // src/functions/evaluate/choose-eval.ts
3435
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3476
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3436
3477
 
3437
3478
  // src/functions/evaluate/evaluate.ts
3438
3479
  function evaluate({
@@ -3648,9 +3689,6 @@ var getSizesForBreakpoints = ({
3648
3689
  // src/functions/camel-to-kebab-case.ts
3649
3690
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3650
3691
 
3651
- // src/helpers/nullable.ts
3652
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3653
-
3654
3692
  // src/helpers/css.ts
3655
3693
  var convertStyleMapToCSSArray = (style) => {
3656
3694
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6511,7 +6549,7 @@ var getInteractionPropertiesForEvent = (event) => {
6511
6549
  };
6512
6550
 
6513
6551
  // src/constants/sdk-version.ts
6514
- var SDK_VERSION = "0.12.4";
6552
+ var SDK_VERSION = "0.12.6";
6515
6553
 
6516
6554
  // src/functions/register.ts
6517
6555
  var registry = {};
@@ -6886,7 +6924,7 @@ function EnableEditor(props) {
6886
6924
  function onUpdateFn_2() {
6887
6925
  evaluateJsCode();
6888
6926
  }
6889
- createEffect(on(() => [props.builderContextSignal.content?.data?.jsCode, props.builderContextSignal.rootState], onUpdateFn_2));
6927
+ createEffect(on(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2));
6890
6928
  function onUpdateFn_3() {
6891
6929
  runHttpRequests();
6892
6930
  }
@@ -237,27 +237,43 @@ var runInBrowser = ({
237
237
  builder,
238
238
  context,
239
239
  event,
240
- state: flattenState(rootState, localState, rootSetState)
240
+ state: flattenState({
241
+ rootState,
242
+ localState,
243
+ rootSetState
244
+ })
241
245
  });
242
246
  return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
243
247
  };
244
- function flattenState(rootState, localState, rootSetState) {
245
- if (rootState === localState) {
246
- throw new Error("rootState === localState");
247
- }
248
+ function flattenState({
249
+ rootState,
250
+ localState,
251
+ rootSetState
252
+ }) {
248
253
  return new Proxy(rootState, {
249
- get: (_, prop) => {
254
+ get: (target, prop) => {
250
255
  if (localState && prop in localState) {
251
256
  return localState[prop];
252
257
  }
253
- return rootState[prop];
258
+ const val = target[prop];
259
+ if (typeof val === "object") {
260
+ return flattenState({
261
+ rootState: val,
262
+ localState: void 0,
263
+ rootSetState: rootSetState ? (subState) => {
264
+ target[prop] = subState;
265
+ rootSetState(target);
266
+ } : void 0
267
+ });
268
+ }
269
+ return val;
254
270
  },
255
- set: (_, prop, value) => {
271
+ set: (target, prop, value) => {
256
272
  if (localState && prop in localState) {
257
273
  throw new Error("Writing to local state is not allowed as it is read-only.");
258
274
  }
259
- rootState[prop] = value;
260
- rootSetState?.(rootState);
275
+ target[prop] = value;
276
+ rootSetState?.(target);
261
277
  return true;
262
278
  }
263
279
  });
@@ -3420,8 +3436,33 @@ theFunction();
3420
3436
  }
3421
3437
  };
3422
3438
 
3439
+ // src/helpers/nullable.ts
3440
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3441
+
3442
+ // src/functions/is-node-runtime.ts
3443
+ function isNodeRuntime() {
3444
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3445
+ }
3446
+
3447
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3448
+ var shouldForceBrowserRuntimeInNode = () => {
3449
+ if (!isNodeRuntime())
3450
+ return false;
3451
+ const isArm64 = process.arch === "arm64";
3452
+ const isNode20 = process.version.startsWith("v20");
3453
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3454
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3455
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3456
+ 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.
3457
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3458
+ `);
3459
+ return true;
3460
+ }
3461
+ return false;
3462
+ };
3463
+
3423
3464
  // src/functions/evaluate/choose-eval.ts
3424
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3465
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3425
3466
 
3426
3467
  // src/functions/evaluate/evaluate.ts
3427
3468
  function evaluate({
@@ -3640,9 +3681,6 @@ var getSizesForBreakpoints = ({
3640
3681
  // src/functions/camel-to-kebab-case.ts
3641
3682
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3642
3683
 
3643
- // src/helpers/nullable.ts
3644
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3645
-
3646
3684
  // src/helpers/css.ts
3647
3685
  var convertStyleMapToCSSArray = (style) => {
3648
3686
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6185,7 +6223,7 @@ var getInteractionPropertiesForEvent = (event) => {
6185
6223
  };
6186
6224
 
6187
6225
  // src/constants/sdk-version.ts
6188
- var SDK_VERSION = "0.12.4";
6226
+ var SDK_VERSION = "0.12.6";
6189
6227
 
6190
6228
  // src/functions/register.ts
6191
6229
  var registry = {};
@@ -6572,13 +6610,7 @@ function EnableEditor(props) {
6572
6610
  evaluateJsCode();
6573
6611
  }
6574
6612
  createEffect2(
6575
- on2(
6576
- () => [
6577
- props.builderContextSignal.content?.data?.jsCode,
6578
- props.builderContextSignal.rootState
6579
- ],
6580
- onUpdateFn_2
6581
- )
6613
+ on2(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2)
6582
6614
  );
6583
6615
  function onUpdateFn_3() {
6584
6616
  runHttpRequests();
package/lib/node/dev.js CHANGED
@@ -245,27 +245,43 @@ var runInBrowser = ({
245
245
  builder,
246
246
  context,
247
247
  event,
248
- state: flattenState(rootState, localState, rootSetState)
248
+ state: flattenState({
249
+ rootState,
250
+ localState,
251
+ rootSetState
252
+ })
249
253
  });
250
254
  return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
251
255
  };
252
- function flattenState(rootState, localState, rootSetState) {
253
- if (rootState === localState) {
254
- throw new Error("rootState === localState");
255
- }
256
+ function flattenState({
257
+ rootState,
258
+ localState,
259
+ rootSetState
260
+ }) {
256
261
  return new Proxy(rootState, {
257
- get: (_, prop) => {
262
+ get: (target, prop) => {
258
263
  if (localState && prop in localState) {
259
264
  return localState[prop];
260
265
  }
261
- return rootState[prop];
266
+ const val = target[prop];
267
+ if (typeof val === "object") {
268
+ return flattenState({
269
+ rootState: val,
270
+ localState: void 0,
271
+ rootSetState: rootSetState ? (subState) => {
272
+ target[prop] = subState;
273
+ rootSetState(target);
274
+ } : void 0
275
+ });
276
+ }
277
+ return val;
262
278
  },
263
- set: (_, prop, value) => {
279
+ set: (target, prop, value) => {
264
280
  if (localState && prop in localState) {
265
281
  throw new Error("Writing to local state is not allowed as it is read-only.");
266
282
  }
267
- rootState[prop] = value;
268
- rootSetState?.(rootState);
283
+ target[prop] = value;
284
+ rootSetState?.(target);
269
285
  return true;
270
286
  }
271
287
  });
@@ -407,8 +423,33 @@ var runInNode = ({
407
423
  }
408
424
  };
409
425
 
426
+ // src/helpers/nullable.ts
427
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
428
+
429
+ // src/functions/is-node-runtime.ts
430
+ function isNodeRuntime() {
431
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
432
+ }
433
+
434
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
435
+ var shouldForceBrowserRuntimeInNode = () => {
436
+ if (!isNodeRuntime())
437
+ return false;
438
+ const isArm64 = process.arch === "arm64";
439
+ const isNode20 = process.version.startsWith("v20");
440
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
441
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
442
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
443
+ 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.
444
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
445
+ `);
446
+ return true;
447
+ }
448
+ return false;
449
+ };
450
+
410
451
  // src/functions/evaluate/choose-eval.ts
411
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
452
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
412
453
 
413
454
  // src/functions/evaluate/evaluate.ts
414
455
  function evaluate({
@@ -624,9 +665,6 @@ var getSizesForBreakpoints = ({
624
665
  // src/functions/camel-to-kebab-case.ts
625
666
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
626
667
 
627
- // src/helpers/nullable.ts
628
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
629
-
630
668
  // src/helpers/css.ts
631
669
  var convertStyleMapToCSSArray = (style) => {
632
670
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3496,7 +3534,7 @@ var getInteractionPropertiesForEvent = (event) => {
3496
3534
  };
3497
3535
 
3498
3536
  // src/constants/sdk-version.ts
3499
- var SDK_VERSION = "0.12.4";
3537
+ var SDK_VERSION = "0.12.6";
3500
3538
 
3501
3539
  // src/functions/register.ts
3502
3540
  var registry = {};
@@ -3873,7 +3911,7 @@ function EnableEditor(props) {
3873
3911
  function onUpdateFn_2() {
3874
3912
  evaluateJsCode();
3875
3913
  }
3876
- createEffect(on(() => [props.builderContextSignal.content?.data?.jsCode, props.builderContextSignal.rootState], onUpdateFn_2));
3914
+ createEffect(on(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2));
3877
3915
  function onUpdateFn_3() {
3878
3916
  runHttpRequests();
3879
3917
  }
package/lib/node/dev.jsx CHANGED
@@ -231,27 +231,43 @@ var runInBrowser = ({
231
231
  builder,
232
232
  context,
233
233
  event,
234
- state: flattenState(rootState, localState, rootSetState)
234
+ state: flattenState({
235
+ rootState,
236
+ localState,
237
+ rootSetState
238
+ })
235
239
  });
236
240
  return new Function(...functionArgs.map(([name]) => name), code)(...functionArgs.map(([, value]) => value));
237
241
  };
238
- function flattenState(rootState, localState, rootSetState) {
239
- if (rootState === localState) {
240
- throw new Error("rootState === localState");
241
- }
242
+ function flattenState({
243
+ rootState,
244
+ localState,
245
+ rootSetState
246
+ }) {
242
247
  return new Proxy(rootState, {
243
- get: (_, prop) => {
248
+ get: (target, prop) => {
244
249
  if (localState && prop in localState) {
245
250
  return localState[prop];
246
251
  }
247
- return rootState[prop];
252
+ const val = target[prop];
253
+ if (typeof val === "object") {
254
+ return flattenState({
255
+ rootState: val,
256
+ localState: void 0,
257
+ rootSetState: rootSetState ? (subState) => {
258
+ target[prop] = subState;
259
+ rootSetState(target);
260
+ } : void 0
261
+ });
262
+ }
263
+ return val;
248
264
  },
249
- set: (_, prop, value) => {
265
+ set: (target, prop, value) => {
250
266
  if (localState && prop in localState) {
251
267
  throw new Error("Writing to local state is not allowed as it is read-only.");
252
268
  }
253
- rootState[prop] = value;
254
- rootSetState?.(rootState);
269
+ target[prop] = value;
270
+ rootSetState?.(target);
255
271
  return true;
256
272
  }
257
273
  });
@@ -396,8 +412,33 @@ var runInNode = ({
396
412
  }
397
413
  };
398
414
 
415
+ // src/helpers/nullable.ts
416
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
417
+
418
+ // src/functions/is-node-runtime.ts
419
+ function isNodeRuntime() {
420
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
421
+ }
422
+
423
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
424
+ var shouldForceBrowserRuntimeInNode = () => {
425
+ if (!isNodeRuntime())
426
+ return false;
427
+ const isArm64 = process.arch === "arm64";
428
+ const isNode20 = process.version.startsWith("v20");
429
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
430
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
431
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
432
+ 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.
433
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
434
+ `);
435
+ return true;
436
+ }
437
+ return false;
438
+ };
439
+
399
440
  // src/functions/evaluate/choose-eval.ts
400
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
441
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
401
442
 
402
443
  // src/functions/evaluate/evaluate.ts
403
444
  function evaluate({
@@ -616,9 +657,6 @@ var getSizesForBreakpoints = ({
616
657
  // src/functions/camel-to-kebab-case.ts
617
658
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
618
659
 
619
- // src/helpers/nullable.ts
620
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
621
-
622
660
  // src/helpers/css.ts
623
661
  var convertStyleMapToCSSArray = (style) => {
624
662
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3170,7 +3208,7 @@ var getInteractionPropertiesForEvent = (event) => {
3170
3208
  };
3171
3209
 
3172
3210
  // src/constants/sdk-version.ts
3173
- var SDK_VERSION = "0.12.4";
3211
+ var SDK_VERSION = "0.12.6";
3174
3212
 
3175
3213
  // src/functions/register.ts
3176
3214
  var registry = {};
@@ -3559,13 +3597,7 @@ function EnableEditor(props) {
3559
3597
  evaluateJsCode();
3560
3598
  }
3561
3599
  createEffect2(
3562
- on2(
3563
- () => [
3564
- props.builderContextSignal.content?.data?.jsCode,
3565
- props.builderContextSignal.rootState
3566
- ],
3567
- onUpdateFn_2
3568
- )
3600
+ on2(() => [props.builderContextSignal.content?.data?.jsCode], onUpdateFn_2)
3569
3601
  );
3570
3602
  function onUpdateFn_3() {
3571
3603
  runHttpRequests();