@builder.io/sdk-solid 0.12.4 → 0.12.5

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.
@@ -270,8 +270,33 @@ function flattenState(rootState, localState, rootSetState) {
270
270
  });
271
271
  }
272
272
 
273
+ // src/helpers/nullable.ts
274
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
275
+
276
+ // src/functions/is-node-runtime.ts
277
+ function isNodeRuntime() {
278
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
279
+ }
280
+
281
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
282
+ var shouldForceBrowserRuntimeInNode = () => {
283
+ if (!isNodeRuntime())
284
+ return false;
285
+ const isArm64 = process.arch === "arm64";
286
+ const isNode20 = process.version.startsWith("v20");
287
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
288
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
289
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
290
+ 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.
291
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
292
+ `);
293
+ return true;
294
+ }
295
+ return false;
296
+ };
297
+
273
298
  // src/functions/evaluate/choose-eval.ts
274
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInBrowser(args);
299
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInBrowser(args);
275
300
 
276
301
  // src/functions/evaluate/evaluate.ts
277
302
  function evaluate({
@@ -500,9 +525,6 @@ var getSizesForBreakpoints = ({
500
525
  // src/functions/camel-to-kebab-case.ts
501
526
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
502
527
 
503
- // src/helpers/nullable.ts
504
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
505
-
506
528
  // src/helpers/css.ts
507
529
  var convertStyleMapToCSSArray = (style) => {
508
530
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3372,7 +3394,7 @@ var getInteractionPropertiesForEvent = (event) => {
3372
3394
  };
3373
3395
 
3374
3396
  // src/constants/sdk-version.ts
3375
- var SDK_VERSION = "0.12.4";
3397
+ var SDK_VERSION = "0.12.5";
3376
3398
 
3377
3399
  // src/functions/register.ts
3378
3400
  var registry = {};
@@ -257,8 +257,33 @@ function flattenState(rootState, localState, rootSetState) {
257
257
  });
258
258
  }
259
259
 
260
+ // src/helpers/nullable.ts
261
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
262
+
263
+ // src/functions/is-node-runtime.ts
264
+ function isNodeRuntime() {
265
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
266
+ }
267
+
268
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
269
+ var shouldForceBrowserRuntimeInNode = () => {
270
+ if (!isNodeRuntime())
271
+ return false;
272
+ const isArm64 = process.arch === "arm64";
273
+ const isNode20 = process.version.startsWith("v20");
274
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
275
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
276
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
277
+ 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.
278
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
279
+ `);
280
+ return true;
281
+ }
282
+ return false;
283
+ };
284
+
260
285
  // src/functions/evaluate/choose-eval.ts
261
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInBrowser(args);
286
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInBrowser(args);
262
287
 
263
288
  // src/functions/evaluate/evaluate.ts
264
289
  function evaluate({
@@ -490,9 +515,6 @@ var getSizesForBreakpoints = ({
490
515
  // src/functions/camel-to-kebab-case.ts
491
516
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
492
517
 
493
- // src/helpers/nullable.ts
494
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
495
-
496
518
  // src/helpers/css.ts
497
519
  var convertStyleMapToCSSArray = (style) => {
498
520
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3044,7 +3066,7 @@ var getInteractionPropertiesForEvent = (event) => {
3044
3066
  };
3045
3067
 
3046
3068
  // src/constants/sdk-version.ts
3047
- var SDK_VERSION = "0.12.4";
3069
+ var SDK_VERSION = "0.12.5";
3048
3070
 
3049
3071
  // src/functions/register.ts
3050
3072
  var registry = {};
@@ -268,8 +268,33 @@ function flattenState(rootState, localState, rootSetState) {
268
268
  });
269
269
  }
270
270
 
271
+ // src/helpers/nullable.ts
272
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
273
+
274
+ // src/functions/is-node-runtime.ts
275
+ function isNodeRuntime() {
276
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
277
+ }
278
+
279
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
280
+ var shouldForceBrowserRuntimeInNode = () => {
281
+ if (!isNodeRuntime())
282
+ return false;
283
+ const isArm64 = process.arch === "arm64";
284
+ const isNode20 = process.version.startsWith("v20");
285
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
286
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
287
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
288
+ 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.
289
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
290
+ `);
291
+ return true;
292
+ }
293
+ return false;
294
+ };
295
+
271
296
  // src/functions/evaluate/choose-eval.ts
272
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInBrowser(args);
297
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInBrowser(args);
273
298
 
274
299
  // src/functions/evaluate/evaluate.ts
275
300
  function evaluate({
@@ -495,9 +520,6 @@ var getSizesForBreakpoints = ({
495
520
  // src/functions/camel-to-kebab-case.ts
496
521
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
497
522
 
498
- // src/helpers/nullable.ts
499
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
500
-
501
523
  // src/helpers/css.ts
502
524
  var convertStyleMapToCSSArray = (style) => {
503
525
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3358,7 +3380,7 @@ var getInteractionPropertiesForEvent = (event) => {
3358
3380
  };
3359
3381
 
3360
3382
  // src/constants/sdk-version.ts
3361
- var SDK_VERSION = "0.12.4";
3383
+ var SDK_VERSION = "0.12.5";
3362
3384
 
3363
3385
  // src/functions/register.ts
3364
3386
  var registry = {};
@@ -255,8 +255,33 @@ function flattenState(rootState, localState, rootSetState) {
255
255
  });
256
256
  }
257
257
 
258
+ // src/helpers/nullable.ts
259
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
260
+
261
+ // src/functions/is-node-runtime.ts
262
+ function isNodeRuntime() {
263
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
264
+ }
265
+
266
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
267
+ var shouldForceBrowserRuntimeInNode = () => {
268
+ if (!isNodeRuntime())
269
+ return false;
270
+ const isArm64 = process.arch === "arm64";
271
+ const isNode20 = process.version.startsWith("v20");
272
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
273
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
274
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
275
+ 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.
276
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
277
+ `);
278
+ return true;
279
+ }
280
+ return false;
281
+ };
282
+
258
283
  // src/functions/evaluate/choose-eval.ts
259
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInBrowser(args);
284
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInBrowser(args);
260
285
 
261
286
  // src/functions/evaluate/evaluate.ts
262
287
  function evaluate({
@@ -485,9 +510,6 @@ var getSizesForBreakpoints = ({
485
510
  // src/functions/camel-to-kebab-case.ts
486
511
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
487
512
 
488
- // src/helpers/nullable.ts
489
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
490
-
491
513
  // src/helpers/css.ts
492
514
  var convertStyleMapToCSSArray = (style) => {
493
515
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3030,7 +3052,7 @@ var getInteractionPropertiesForEvent = (event) => {
3030
3052
  };
3031
3053
 
3032
3054
  // src/constants/sdk-version.ts
3033
- var SDK_VERSION = "0.12.4";
3055
+ var SDK_VERSION = "0.12.5";
3034
3056
 
3035
3057
  // src/functions/register.ts
3036
3058
  var registry = {};
package/lib/edge/dev.js CHANGED
@@ -3433,8 +3433,33 @@ theFunction();
3433
3433
  }
3434
3434
  };
3435
3435
 
3436
+ // src/helpers/nullable.ts
3437
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3438
+
3439
+ // src/functions/is-node-runtime.ts
3440
+ function isNodeRuntime() {
3441
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3442
+ }
3443
+
3444
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3445
+ var shouldForceBrowserRuntimeInNode = () => {
3446
+ if (!isNodeRuntime())
3447
+ return false;
3448
+ const isArm64 = process.arch === "arm64";
3449
+ const isNode20 = process.version.startsWith("v20");
3450
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3451
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3452
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3453
+ 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.
3454
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3455
+ `);
3456
+ return true;
3457
+ }
3458
+ return false;
3459
+ };
3460
+
3436
3461
  // src/functions/evaluate/choose-eval.ts
3437
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3462
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3438
3463
 
3439
3464
  // src/functions/evaluate/evaluate.ts
3440
3465
  function evaluate({
@@ -3653,9 +3678,6 @@ var getSizesForBreakpoints = ({
3653
3678
  // src/functions/camel-to-kebab-case.ts
3654
3679
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3655
3680
 
3656
- // src/helpers/nullable.ts
3657
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3658
-
3659
3681
  // src/helpers/css.ts
3660
3682
  var convertStyleMapToCSSArray = (style) => {
3661
3683
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6525,7 +6547,7 @@ var getInteractionPropertiesForEvent = (event) => {
6525
6547
  };
6526
6548
 
6527
6549
  // src/constants/sdk-version.ts
6528
- var SDK_VERSION = "0.12.4";
6550
+ var SDK_VERSION = "0.12.5";
6529
6551
 
6530
6552
  // src/functions/register.ts
6531
6553
  var registry = {};
package/lib/edge/dev.jsx CHANGED
@@ -3422,8 +3422,33 @@ theFunction();
3422
3422
  }
3423
3423
  };
3424
3424
 
3425
+ // src/helpers/nullable.ts
3426
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3427
+
3428
+ // src/functions/is-node-runtime.ts
3429
+ function isNodeRuntime() {
3430
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3431
+ }
3432
+
3433
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3434
+ var shouldForceBrowserRuntimeInNode = () => {
3435
+ if (!isNodeRuntime())
3436
+ return false;
3437
+ const isArm64 = process.arch === "arm64";
3438
+ const isNode20 = process.version.startsWith("v20");
3439
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3440
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3441
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3442
+ 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.
3443
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3444
+ `);
3445
+ return true;
3446
+ }
3447
+ return false;
3448
+ };
3449
+
3425
3450
  // src/functions/evaluate/choose-eval.ts
3426
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3451
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3427
3452
 
3428
3453
  // src/functions/evaluate/evaluate.ts
3429
3454
  function evaluate({
@@ -3645,9 +3670,6 @@ var getSizesForBreakpoints = ({
3645
3670
  // src/functions/camel-to-kebab-case.ts
3646
3671
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3647
3672
 
3648
- // src/helpers/nullable.ts
3649
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3650
-
3651
3673
  // src/helpers/css.ts
3652
3674
  var convertStyleMapToCSSArray = (style) => {
3653
3675
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6199,7 +6221,7 @@ var getInteractionPropertiesForEvent = (event) => {
6199
6221
  };
6200
6222
 
6201
6223
  // src/constants/sdk-version.ts
6202
- var SDK_VERSION = "0.12.4";
6224
+ var SDK_VERSION = "0.12.5";
6203
6225
 
6204
6226
  // src/functions/register.ts
6205
6227
  var registry = {};
package/lib/edge/index.js CHANGED
@@ -3431,8 +3431,33 @@ theFunction();
3431
3431
  }
3432
3432
  };
3433
3433
 
3434
+ // src/helpers/nullable.ts
3435
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3436
+
3437
+ // src/functions/is-node-runtime.ts
3438
+ function isNodeRuntime() {
3439
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3440
+ }
3441
+
3442
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3443
+ var shouldForceBrowserRuntimeInNode = () => {
3444
+ if (!isNodeRuntime())
3445
+ return false;
3446
+ const isArm64 = process.arch === "arm64";
3447
+ const isNode20 = process.version.startsWith("v20");
3448
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3449
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3450
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3451
+ 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.
3452
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3453
+ `);
3454
+ return true;
3455
+ }
3456
+ return false;
3457
+ };
3458
+
3434
3459
  // src/functions/evaluate/choose-eval.ts
3435
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3460
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3436
3461
 
3437
3462
  // src/functions/evaluate/evaluate.ts
3438
3463
  function evaluate({
@@ -3648,9 +3673,6 @@ var getSizesForBreakpoints = ({
3648
3673
  // src/functions/camel-to-kebab-case.ts
3649
3674
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3650
3675
 
3651
- // src/helpers/nullable.ts
3652
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3653
-
3654
3676
  // src/helpers/css.ts
3655
3677
  var convertStyleMapToCSSArray = (style) => {
3656
3678
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6511,7 +6533,7 @@ var getInteractionPropertiesForEvent = (event) => {
6511
6533
  };
6512
6534
 
6513
6535
  // src/constants/sdk-version.ts
6514
- var SDK_VERSION = "0.12.4";
6536
+ var SDK_VERSION = "0.12.5";
6515
6537
 
6516
6538
  // src/functions/register.ts
6517
6539
  var registry = {};
@@ -3420,8 +3420,33 @@ theFunction();
3420
3420
  }
3421
3421
  };
3422
3422
 
3423
+ // src/helpers/nullable.ts
3424
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3425
+
3426
+ // src/functions/is-node-runtime.ts
3427
+ function isNodeRuntime() {
3428
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
3429
+ }
3430
+
3431
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
3432
+ var shouldForceBrowserRuntimeInNode = () => {
3433
+ if (!isNodeRuntime())
3434
+ return false;
3435
+ const isArm64 = process.arch === "arm64";
3436
+ const isNode20 = process.version.startsWith("v20");
3437
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
3438
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
3439
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
3440
+ 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.
3441
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
3442
+ `);
3443
+ return true;
3444
+ }
3445
+ return false;
3446
+ };
3447
+
3423
3448
  // src/functions/evaluate/choose-eval.ts
3424
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInEdge(args);
3449
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInEdge(args);
3425
3450
 
3426
3451
  // src/functions/evaluate/evaluate.ts
3427
3452
  function evaluate({
@@ -3640,9 +3665,6 @@ var getSizesForBreakpoints = ({
3640
3665
  // src/functions/camel-to-kebab-case.ts
3641
3666
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
3642
3667
 
3643
- // src/helpers/nullable.ts
3644
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
3645
-
3646
3668
  // src/helpers/css.ts
3647
3669
  var convertStyleMapToCSSArray = (style) => {
3648
3670
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -6185,7 +6207,7 @@ var getInteractionPropertiesForEvent = (event) => {
6185
6207
  };
6186
6208
 
6187
6209
  // src/constants/sdk-version.ts
6188
- var SDK_VERSION = "0.12.4";
6210
+ var SDK_VERSION = "0.12.5";
6189
6211
 
6190
6212
  // src/functions/register.ts
6191
6213
  var registry = {};
package/lib/node/dev.js CHANGED
@@ -407,8 +407,33 @@ var runInNode = ({
407
407
  }
408
408
  };
409
409
 
410
+ // src/helpers/nullable.ts
411
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
412
+
413
+ // src/functions/is-node-runtime.ts
414
+ function isNodeRuntime() {
415
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
416
+ }
417
+
418
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
419
+ var shouldForceBrowserRuntimeInNode = () => {
420
+ if (!isNodeRuntime())
421
+ return false;
422
+ const isArm64 = process.arch === "arm64";
423
+ const isNode20 = process.version.startsWith("v20");
424
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
425
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
426
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
427
+ 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.
428
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
429
+ `);
430
+ return true;
431
+ }
432
+ return false;
433
+ };
434
+
410
435
  // src/functions/evaluate/choose-eval.ts
411
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
436
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
412
437
 
413
438
  // src/functions/evaluate/evaluate.ts
414
439
  function evaluate({
@@ -624,9 +649,6 @@ var getSizesForBreakpoints = ({
624
649
  // src/functions/camel-to-kebab-case.ts
625
650
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
626
651
 
627
- // src/helpers/nullable.ts
628
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
629
-
630
652
  // src/helpers/css.ts
631
653
  var convertStyleMapToCSSArray = (style) => {
632
654
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3496,7 +3518,7 @@ var getInteractionPropertiesForEvent = (event) => {
3496
3518
  };
3497
3519
 
3498
3520
  // src/constants/sdk-version.ts
3499
- var SDK_VERSION = "0.12.4";
3521
+ var SDK_VERSION = "0.12.5";
3500
3522
 
3501
3523
  // src/functions/register.ts
3502
3524
  var registry = {};
package/lib/node/dev.jsx CHANGED
@@ -396,8 +396,33 @@ var runInNode = ({
396
396
  }
397
397
  };
398
398
 
399
+ // src/helpers/nullable.ts
400
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
401
+
402
+ // src/functions/is-node-runtime.ts
403
+ function isNodeRuntime() {
404
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
405
+ }
406
+
407
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
408
+ var shouldForceBrowserRuntimeInNode = () => {
409
+ if (!isNodeRuntime())
410
+ return false;
411
+ const isArm64 = process.arch === "arm64";
412
+ const isNode20 = process.version.startsWith("v20");
413
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
414
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
415
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
416
+ 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.
417
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
418
+ `);
419
+ return true;
420
+ }
421
+ return false;
422
+ };
423
+
399
424
  // src/functions/evaluate/choose-eval.ts
400
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
425
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
401
426
 
402
427
  // src/functions/evaluate/evaluate.ts
403
428
  function evaluate({
@@ -616,9 +641,6 @@ var getSizesForBreakpoints = ({
616
641
  // src/functions/camel-to-kebab-case.ts
617
642
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
618
643
 
619
- // src/helpers/nullable.ts
620
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
621
-
622
644
  // src/helpers/css.ts
623
645
  var convertStyleMapToCSSArray = (style) => {
624
646
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3170,7 +3192,7 @@ var getInteractionPropertiesForEvent = (event) => {
3170
3192
  };
3171
3193
 
3172
3194
  // src/constants/sdk-version.ts
3173
- var SDK_VERSION = "0.12.4";
3195
+ var SDK_VERSION = "0.12.5";
3174
3196
 
3175
3197
  // src/functions/register.ts
3176
3198
  var registry = {};
package/lib/node/index.js CHANGED
@@ -404,8 +404,33 @@ var runInNode = ({
404
404
  }
405
405
  };
406
406
 
407
+ // src/helpers/nullable.ts
408
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
409
+
410
+ // src/functions/is-node-runtime.ts
411
+ function isNodeRuntime() {
412
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
413
+ }
414
+
415
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
416
+ var shouldForceBrowserRuntimeInNode = () => {
417
+ if (!isNodeRuntime())
418
+ return false;
419
+ const isArm64 = process.arch === "arm64";
420
+ const isNode20 = process.version.startsWith("v20");
421
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
422
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
423
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
424
+ 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.
425
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
426
+ `);
427
+ return true;
428
+ }
429
+ return false;
430
+ };
431
+
407
432
  // src/functions/evaluate/choose-eval.ts
408
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
433
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
409
434
 
410
435
  // src/functions/evaluate/evaluate.ts
411
436
  function evaluate({
@@ -618,9 +643,6 @@ var getSizesForBreakpoints = ({
618
643
  // src/functions/camel-to-kebab-case.ts
619
644
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
620
645
 
621
- // src/helpers/nullable.ts
622
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
623
-
624
646
  // src/helpers/css.ts
625
647
  var convertStyleMapToCSSArray = (style) => {
626
648
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3481,7 +3503,7 @@ var getInteractionPropertiesForEvent = (event) => {
3481
3503
  };
3482
3504
 
3483
3505
  // src/constants/sdk-version.ts
3484
- var SDK_VERSION = "0.12.4";
3506
+ var SDK_VERSION = "0.12.5";
3485
3507
 
3486
3508
  // src/functions/register.ts
3487
3509
  var registry = {};
@@ -393,8 +393,33 @@ var runInNode = ({
393
393
  }
394
394
  };
395
395
 
396
+ // src/helpers/nullable.ts
397
+ var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
398
+
399
+ // src/functions/is-node-runtime.ts
400
+ function isNodeRuntime() {
401
+ return typeof process !== "undefined" && checkIsDefined(process?.versions?.node);
402
+ }
403
+
404
+ // src/functions/evaluate/should-force-browser-runtime-in-node.ts
405
+ var shouldForceBrowserRuntimeInNode = () => {
406
+ if (!isNodeRuntime())
407
+ return false;
408
+ const isArm64 = process.arch === "arm64";
409
+ const isNode20 = process.version.startsWith("v20");
410
+ const hasNoNodeSnapshotNodeOption = process.env.NODE_OPTIONS?.includes("--no-node-snapshot");
411
+ if (isArm64 && isNode20 && !hasNoNodeSnapshotNodeOption) {
412
+ logger.log(`Skipping usage of \`isolated-vm\` to avoid crashes in Node v20 on an arm64 machine.
413
+ 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.
414
+ See https://github.com/BuilderIO/builder/blob/main/packages/sdks/README.md#node-v20--m1-macs-apple-silicon-support for more information.
415
+ `);
416
+ return true;
417
+ }
418
+ return false;
419
+ };
420
+
396
421
  // src/functions/evaluate/choose-eval.ts
397
- var chooseBrowserOrServerEval = (args) => isBrowser() ? runInBrowser(args) : runInNode(args);
422
+ var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
398
423
 
399
424
  // src/functions/evaluate/evaluate.ts
400
425
  function evaluate({
@@ -610,9 +635,6 @@ var getSizesForBreakpoints = ({
610
635
  // src/functions/camel-to-kebab-case.ts
611
636
  var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
612
637
 
613
- // src/helpers/nullable.ts
614
- var checkIsDefined = (maybeT) => maybeT !== null && maybeT !== void 0;
615
-
616
638
  // src/helpers/css.ts
617
639
  var convertStyleMapToCSSArray = (style) => {
618
640
  const cssProps = Object.entries(style).map(([key, value]) => {
@@ -3155,7 +3177,7 @@ var getInteractionPropertiesForEvent = (event) => {
3155
3177
  };
3156
3178
 
3157
3179
  // src/constants/sdk-version.ts
3158
- var SDK_VERSION = "0.12.4";
3180
+ var SDK_VERSION = "0.12.5";
3159
3181
 
3160
3182
  // src/functions/register.ts
3161
3183
  var registry = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-solid",
3
- "version": "0.12.4",
3
+ "version": "0.12.5",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist",