@builder.io/sdk-qwik 0.5.3-1 → 0.5.3-3

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.
@@ -69,7 +69,12 @@ function isNonNodeServer() {
69
69
  let runInNonNode;
70
70
  (async () => {
71
71
  if (isNonNodeServer())
72
- runInNonNode = (await import("./non-node-runtime.b19012f1.js")).runInNonNode;
72
+ try {
73
+ runInNonNode = (await import("./non-node-runtime.7d08068c.js")).runInNonNode;
74
+ } catch (err) {
75
+ logger.error(`Error importing JS interpreter for non-node runtimes. Make sure you have js-interpreter installed.
76
+ Read more here: https://github.com/BuilderIO/builder/tree/main/packages/sdks/README.md#non-nodejs-runtimes-edge-serverless`, err);
77
+ }
73
78
  })();
74
79
  function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression = true }) {
75
80
  if (code === "") {
@@ -96,7 +101,7 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
96
101
  return runInBrowser(args);
97
102
  if (isNonNodeServer())
98
103
  return runInNonNode(args);
99
- return runInNode(args);
104
+ return runInNonNode(args);
100
105
  }
101
106
  const runInBrowser = ({ useCode, builder, context, event, localState, rootSetState, rootState }) => {
102
107
  const state = flattenState(rootState, localState, rootSetState);
@@ -106,9 +111,6 @@ const runInBrowser = ({ useCode, builder, context, event, localState, rootSetSta
106
111
  logger.warn("Builder custom code error: \n While Evaluating: \n ", useCode, "\n", e);
107
112
  }
108
113
  };
109
- const runInNode = (args) => {
110
- return runInBrowser(args);
111
- };
112
114
  function flattenState(rootState, localState, rootSetState) {
113
115
  if (rootState === localState)
114
116
  throw new Error("rootState === localState");
@@ -3037,7 +3039,7 @@ const getInteractionPropertiesForEvent = (event) => {
3037
3039
  }
3038
3040
  };
3039
3041
  };
3040
- const SDK_VERSION = "0.5.3-1";
3042
+ const SDK_VERSION = "0.5.3-3";
3041
3043
  const registry = {};
3042
3044
  function register(type, info) {
3043
3045
  let typeList = registry[type];
@@ -70,7 +70,12 @@ function isNonNodeServer() {
70
70
  let runInNonNode;
71
71
  (async () => {
72
72
  if (isNonNodeServer())
73
- runInNonNode = (await Promise.resolve().then(() => require("./non-node-runtime.d245232e.cjs"))).runInNonNode;
73
+ try {
74
+ runInNonNode = (await Promise.resolve().then(() => require("./non-node-runtime.f85e51c6.cjs"))).runInNonNode;
75
+ } catch (err) {
76
+ logger.error(`Error importing JS interpreter for non-node runtimes. Make sure you have js-interpreter installed.
77
+ Read more here: https://github.com/BuilderIO/builder/tree/main/packages/sdks/README.md#non-nodejs-runtimes-edge-serverless`, err);
78
+ }
74
79
  })();
75
80
  function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression = true }) {
76
81
  if (code === "") {
@@ -97,7 +102,7 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
97
102
  return runInBrowser(args);
98
103
  if (isNonNodeServer())
99
104
  return runInNonNode(args);
100
- return runInNode(args);
105
+ return runInNonNode(args);
101
106
  }
102
107
  const runInBrowser = ({ useCode, builder, context, event, localState, rootSetState, rootState }) => {
103
108
  const state = flattenState(rootState, localState, rootSetState);
@@ -107,9 +112,6 @@ const runInBrowser = ({ useCode, builder, context, event, localState, rootSetSta
107
112
  logger.warn("Builder custom code error: \n While Evaluating: \n ", useCode, "\n", e);
108
113
  }
109
114
  };
110
- const runInNode = (args) => {
111
- return runInBrowser(args);
112
- };
113
115
  function flattenState(rootState, localState, rootSetState) {
114
116
  if (rootState === localState)
115
117
  throw new Error("rootState === localState");
@@ -3038,7 +3040,7 @@ const getInteractionPropertiesForEvent = (event) => {
3038
3040
  }
3039
3041
  };
3040
3042
  };
3041
- const SDK_VERSION = "0.5.3-1";
3043
+ const SDK_VERSION = "0.5.3-3";
3042
3044
  const registry = {};
3043
3045
  function register(type, info) {
3044
3046
  let typeList = registry[type];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const index = require("./index.fd04034c.cjs");
3
+ const index = require("./index.fd3df238.cjs");
4
4
  require("@builder.io/qwik");
5
5
  require("@builder.io/qwik/jsx-runtime");
6
6
  exports.Button = index.Button;
@@ -1,4 +1,4 @@
1
- import { B, C, F, I, f, j, S, h, T, V, c, g, e, d, i, a, p, r, b, t } from "./index.ea33d1d0.js";
1
+ import { B, C, F, I, f, j, S, h, T, V, c, g, e, d, i, a, p, r, b, t } from "./index.70b4317c.js";
2
2
  import "@builder.io/qwik";
3
3
  import "@builder.io/qwik/jsx-runtime";
4
4
  export {
@@ -0,0 +1,75 @@
1
+ import { l as logger, s as set } from "./index.70b4317c.js";
2
+ import Interpreter from "js-interpreter";
3
+ import "@builder.io/qwik";
4
+ import "@builder.io/qwik/jsx-runtime";
5
+ const processCode = (code) => {
6
+ return code.split("\n").map((line) => {
7
+ const trimmed = line.trim();
8
+ if (line.includes("__awaiter"))
9
+ return void 0;
10
+ const isStateSetter = trimmed.startsWith("state.");
11
+ if (!isStateSetter)
12
+ return line;
13
+ const [lhs, rhs] = trimmed.split("=");
14
+ const setStr = lhs.replace("state.", "").trim();
15
+ const setExpr = `setRootState('${setStr}', ${rhs.trim()})`;
16
+ return `
17
+ ${line}
18
+ ${setExpr}
19
+ `;
20
+ }).filter(Boolean).join("\n");
21
+ };
22
+ const getJSONValName = (val) => val + "JSON";
23
+ const runInNonNode = ({ builder, context, event, rootState, localState, rootSetState, useCode }) => {
24
+ const state = {
25
+ ...rootState,
26
+ ...localState
27
+ };
28
+ const properties = {
29
+ state,
30
+ Builder: builder,
31
+ builder,
32
+ context,
33
+ event
34
+ };
35
+ const prependedCode = Object.keys(properties).map((key) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join("\n");
36
+ const cleanedCode = processCode(useCode);
37
+ if (cleanedCode === "") {
38
+ logger.warn("Skipping evaluation of empty code block.");
39
+ return;
40
+ }
41
+ const transformed = `
42
+ function theFunction() {
43
+ ${prependedCode}
44
+
45
+ ${cleanedCode}
46
+ }
47
+ theFunction();
48
+ `;
49
+ const setRootState = (prop, value) => {
50
+ const newState = set(state, prop, value);
51
+ rootSetState?.(newState);
52
+ };
53
+ const initFunc = function(interpreter, globalObject) {
54
+ Object.keys(properties).forEach((key) => {
55
+ const val = properties[key] || {};
56
+ const jsonVal = JSON.stringify(val);
57
+ interpreter.setProperty(globalObject, getJSONValName(key), jsonVal);
58
+ });
59
+ interpreter.setProperty(globalObject, "setRootState", interpreter.createNativeFunction(setRootState));
60
+ };
61
+ try {
62
+ const myInterpreter = new Interpreter(transformed, initFunc);
63
+ myInterpreter.run();
64
+ const output = myInterpreter.pseudoToNative(myInterpreter.value);
65
+ return output;
66
+ } catch (e) {
67
+ logger.warn("Custom code error in non-node runtime. SDK can only execute ES5 JavaScript.", {
68
+ e
69
+ });
70
+ return;
71
+ }
72
+ };
73
+ export {
74
+ runInNonNode
75
+ };
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("./index.fd3df238.cjs");
4
+ const Interpreter = require("js-interpreter");
5
+ require("@builder.io/qwik");
6
+ require("@builder.io/qwik/jsx-runtime");
7
+ const _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
8
+ const Interpreter__default = /* @__PURE__ */ _interopDefaultLegacy(Interpreter);
9
+ const processCode = (code) => {
10
+ return code.split("\n").map((line) => {
11
+ const trimmed = line.trim();
12
+ if (line.includes("__awaiter"))
13
+ return void 0;
14
+ const isStateSetter = trimmed.startsWith("state.");
15
+ if (!isStateSetter)
16
+ return line;
17
+ const [lhs, rhs] = trimmed.split("=");
18
+ const setStr = lhs.replace("state.", "").trim();
19
+ const setExpr = `setRootState('${setStr}', ${rhs.trim()})`;
20
+ return `
21
+ ${line}
22
+ ${setExpr}
23
+ `;
24
+ }).filter(Boolean).join("\n");
25
+ };
26
+ const getJSONValName = (val) => val + "JSON";
27
+ const runInNonNode = ({ builder, context, event, rootState, localState, rootSetState, useCode }) => {
28
+ const state = {
29
+ ...rootState,
30
+ ...localState
31
+ };
32
+ const properties = {
33
+ state,
34
+ Builder: builder,
35
+ builder,
36
+ context,
37
+ event
38
+ };
39
+ const prependedCode = Object.keys(properties).map((key) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join("\n");
40
+ const cleanedCode = processCode(useCode);
41
+ if (cleanedCode === "") {
42
+ index.logger.warn("Skipping evaluation of empty code block.");
43
+ return;
44
+ }
45
+ const transformed = `
46
+ function theFunction() {
47
+ ${prependedCode}
48
+
49
+ ${cleanedCode}
50
+ }
51
+ theFunction();
52
+ `;
53
+ const setRootState = (prop, value) => {
54
+ const newState = index.set(state, prop, value);
55
+ rootSetState?.(newState);
56
+ };
57
+ const initFunc = function(interpreter, globalObject) {
58
+ Object.keys(properties).forEach((key) => {
59
+ const val = properties[key] || {};
60
+ const jsonVal = JSON.stringify(val);
61
+ interpreter.setProperty(globalObject, getJSONValName(key), jsonVal);
62
+ });
63
+ interpreter.setProperty(globalObject, "setRootState", interpreter.createNativeFunction(setRootState));
64
+ };
65
+ try {
66
+ const myInterpreter = new Interpreter__default.default(transformed, initFunc);
67
+ myInterpreter.run();
68
+ const output = myInterpreter.pseudoToNative(myInterpreter.value);
69
+ return output;
70
+ } catch (e) {
71
+ index.logger.warn("Custom code error in non-node runtime. SDK can only execute ES5 JavaScript.", {
72
+ e
73
+ });
74
+ return;
75
+ }
76
+ };
77
+ exports.runInNonNode = runInNonNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/sdk-qwik",
3
- "version": "0.5.3-1",
3
+ "version": "0.5.3-3",
4
4
  "description": "Builder.io Qwik SDK",
5
5
  "type": "module",
6
6
  "main": "./lib/index.qwik.cjs",
@@ -31,9 +31,7 @@
31
31
  "vite": "^3.0.4"
32
32
  },
33
33
  "peerDependencies": {
34
- "@builder.io/qwik": ">=1.0.0"
35
- },
36
- "dependencies": {
34
+ "@builder.io/qwik": ">=1.0.0",
37
35
  "js-interpreter": "^4.0.0"
38
36
  }
39
37
  }
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.5.3-1";
1
+ export declare const SDK_VERSION = "0.5.3-3";