@builder.io/sdk-qwik 0.5.3-0 → 0.5.3-2

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.
@@ -68,8 +68,17 @@ function isNonNodeServer() {
68
68
  return !isBrowser() && !hasNode();
69
69
  }
70
70
  let runInNonNode;
71
- if (isNonNodeServer())
72
- Promise.resolve().then(() => require("./non-node-runtime.ed178051.cjs")).then((theModule) => runInNonNode = theModule.runInNonNode);
71
+ (async () => {
72
+ if (!isBrowser()) {
73
+ console.log("importing edge runtime");
74
+ Promise.resolve().then(() => require("./non-node-runtime.f3d84167.cjs")).then((x) => {
75
+ console.log("success edge runtime");
76
+ runInNonNode = x.runInNonNode;
77
+ }).catch((e) => {
78
+ console.error("error importing edge runtime", e);
79
+ });
80
+ }
81
+ })();
73
82
  function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression = true }) {
74
83
  if (code === "") {
75
84
  logger.warn("Skipping evaluation of empty code block.");
@@ -95,7 +104,7 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
95
104
  return runInBrowser(args);
96
105
  if (isNonNodeServer())
97
106
  return runInNonNode(args);
98
- return runInNode(args);
107
+ return runInNonNode(args);
99
108
  }
100
109
  const runInBrowser = ({ useCode, builder, context, event, localState, rootSetState, rootState }) => {
101
110
  const state = flattenState(rootState, localState, rootSetState);
@@ -105,9 +114,6 @@ const runInBrowser = ({ useCode, builder, context, event, localState, rootSetSta
105
114
  logger.warn("Builder custom code error: \n While Evaluating: \n ", useCode, "\n", e);
106
115
  }
107
116
  };
108
- const runInNode = (args) => {
109
- return runInBrowser(args);
110
- };
111
117
  function flattenState(rootState, localState, rootSetState) {
112
118
  if (rootState === localState)
113
119
  throw new Error("rootState === localState");
@@ -3036,7 +3042,7 @@ const getInteractionPropertiesForEvent = (event) => {
3036
3042
  }
3037
3043
  };
3038
3044
  };
3039
- const SDK_VERSION = "0.5.3-0";
3045
+ const SDK_VERSION = "0.5.3-2";
3040
3046
  const registry = {};
3041
3047
  function register(type, info) {
3042
3048
  let typeList = registry[type];
@@ -67,8 +67,17 @@ function isNonNodeServer() {
67
67
  return !isBrowser() && !hasNode();
68
68
  }
69
69
  let runInNonNode;
70
- if (isNonNodeServer())
71
- import("./non-node-runtime.7fe0dbe2.js").then((theModule) => runInNonNode = theModule.runInNonNode);
70
+ (async () => {
71
+ if (!isBrowser()) {
72
+ console.log("importing edge runtime");
73
+ import("./non-node-runtime.18086743.js").then((x) => {
74
+ console.log("success edge runtime");
75
+ runInNonNode = x.runInNonNode;
76
+ }).catch((e) => {
77
+ console.error("error importing edge runtime", e);
78
+ });
79
+ }
80
+ })();
72
81
  function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression = true }) {
73
82
  if (code === "") {
74
83
  logger.warn("Skipping evaluation of empty code block.");
@@ -94,7 +103,7 @@ function evaluate({ code, context, localState, rootState, rootSetState, event, i
94
103
  return runInBrowser(args);
95
104
  if (isNonNodeServer())
96
105
  return runInNonNode(args);
97
- return runInNode(args);
106
+ return runInNonNode(args);
98
107
  }
99
108
  const runInBrowser = ({ useCode, builder, context, event, localState, rootSetState, rootState }) => {
100
109
  const state = flattenState(rootState, localState, rootSetState);
@@ -104,9 +113,6 @@ const runInBrowser = ({ useCode, builder, context, event, localState, rootSetSta
104
113
  logger.warn("Builder custom code error: \n While Evaluating: \n ", useCode, "\n", e);
105
114
  }
106
115
  };
107
- const runInNode = (args) => {
108
- return runInBrowser(args);
109
- };
110
116
  function flattenState(rootState, localState, rootSetState) {
111
117
  if (rootState === localState)
112
118
  throw new Error("rootState === localState");
@@ -3035,7 +3041,7 @@ const getInteractionPropertiesForEvent = (event) => {
3035
3041
  }
3036
3042
  };
3037
3043
  };
3038
- const SDK_VERSION = "0.5.3-0";
3044
+ const SDK_VERSION = "0.5.3-2";
3039
3045
  const registry = {};
3040
3046
  function register(type, info) {
3041
3047
  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.129b21c1.cjs");
3
+ const index = require("./index.0e292b5d.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.d5e2f313.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.b9537b42.js";
2
2
  import "@builder.io/qwik";
3
3
  import "@builder.io/qwik/jsx-runtime";
4
4
  export {
@@ -0,0 +1,76 @@
1
+ import { l as logger, s as set } from "./index.b9537b42.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
+ console.log("running code");
63
+ const myInterpreter = new Interpreter(transformed, initFunc);
64
+ myInterpreter.run();
65
+ const output = myInterpreter.pseudoToNative(myInterpreter.value);
66
+ return output;
67
+ } catch (e) {
68
+ logger.warn("Custom code error in non-node runtime. SDK can only execute ES5 JavaScript.", {
69
+ e
70
+ });
71
+ return;
72
+ }
73
+ };
74
+ export {
75
+ runInNonNode
76
+ };
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("./index.0e292b5d.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
+ console.log("running code");
67
+ const myInterpreter = new Interpreter__default.default(transformed, initFunc);
68
+ myInterpreter.run();
69
+ const output = myInterpreter.pseudoToNative(myInterpreter.value);
70
+ return output;
71
+ } catch (e) {
72
+ index.logger.warn("Custom code error in non-node runtime. SDK can only execute ES5 JavaScript.", {
73
+ e
74
+ });
75
+ return;
76
+ }
77
+ };
78
+ 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-0",
3
+ "version": "0.5.3-2",
4
4
  "description": "Builder.io Qwik SDK",
5
5
  "type": "module",
6
6
  "main": "./lib/index.qwik.cjs",
@@ -31,6 +31,7 @@
31
31
  "vite": "^3.0.4"
32
32
  },
33
33
  "peerDependencies": {
34
- "@builder.io/qwik": ">=1.0.0"
34
+ "@builder.io/qwik": ">=1.0.0",
35
+ "js-interpreter": "^4.0.0"
35
36
  }
36
37
  }
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.5.3-0";
1
+ export declare const SDK_VERSION = "0.5.3-2";