@builder.io/sdk-react-native 5.0.1 → 5.1.1

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.
Files changed (126) hide show
  1. package/lib/browser/commonjs/components/block/components/block-wrapper.js +8 -1
  2. package/lib/browser/commonjs/components/block/components/block-wrapper.js.map +1 -1
  3. package/lib/browser/commonjs/components/block/components/interactive-element.js +8 -1
  4. package/lib/browser/commonjs/components/block/components/interactive-element.js.map +1 -1
  5. package/lib/browser/commonjs/constants/sdk-version.js +1 -1
  6. package/lib/browser/commonjs/functions/evaluate/evaluate.js +3 -2
  7. package/lib/browser/commonjs/functions/evaluate/evaluate.js.map +1 -1
  8. package/lib/browser/commonjs/functions/evaluate/helpers.js +21 -2
  9. package/lib/browser/commonjs/functions/evaluate/helpers.js.map +1 -1
  10. package/lib/browser/commonjs/functions/evaluate/node-runtime/node-runtime.js +72 -68
  11. package/lib/browser/commonjs/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
  12. package/lib/browser/commonjs/functions/get-block-actions-handler.js +2 -1
  13. package/lib/browser/commonjs/functions/get-block-actions-handler.js.map +1 -1
  14. package/lib/browser/commonjs/functions/get-block-actions.js.map +1 -1
  15. package/lib/browser/module/components/block/components/block-wrapper.js +8 -1
  16. package/lib/browser/module/components/block/components/block-wrapper.js.map +1 -1
  17. package/lib/browser/module/components/block/components/interactive-element.js +8 -1
  18. package/lib/browser/module/components/block/components/interactive-element.js.map +1 -1
  19. package/lib/browser/module/constants/sdk-version.js +1 -1
  20. package/lib/browser/module/functions/evaluate/evaluate.js +3 -2
  21. package/lib/browser/module/functions/evaluate/evaluate.js.map +1 -1
  22. package/lib/browser/module/functions/evaluate/helpers.js +21 -2
  23. package/lib/browser/module/functions/evaluate/helpers.js.map +1 -1
  24. package/lib/browser/module/functions/evaluate/node-runtime/node-runtime.js +72 -68
  25. package/lib/browser/module/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
  26. package/lib/browser/module/functions/get-block-actions-handler.js +2 -1
  27. package/lib/browser/module/functions/get-block-actions-handler.js.map +1 -1
  28. package/lib/browser/module/functions/get-block-actions.js.map +1 -1
  29. package/lib/browser/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
  30. package/lib/browser/typescript/components/block/components/interactive-element.d.ts.map +1 -1
  31. package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
  32. package/lib/browser/typescript/functions/evaluate/evaluate.d.ts +1 -1
  33. package/lib/browser/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
  34. package/lib/browser/typescript/functions/evaluate/helpers.d.ts +9 -1
  35. package/lib/browser/typescript/functions/evaluate/helpers.d.ts.map +1 -1
  36. package/lib/browser/typescript/functions/get-block-actions-handler.d.ts +2 -0
  37. package/lib/browser/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
  38. package/lib/browser/typescript/functions/get-block-actions.d.ts +2 -0
  39. package/lib/browser/typescript/functions/get-block-actions.d.ts.map +1 -1
  40. package/lib/edge/commonjs/components/block/components/block-wrapper.js +8 -1
  41. package/lib/edge/commonjs/components/block/components/block-wrapper.js.map +1 -1
  42. package/lib/edge/commonjs/components/block/components/interactive-element.js +8 -1
  43. package/lib/edge/commonjs/components/block/components/interactive-element.js.map +1 -1
  44. package/lib/edge/commonjs/constants/sdk-version.js +1 -1
  45. package/lib/edge/commonjs/functions/evaluate/evaluate.js +3 -2
  46. package/lib/edge/commonjs/functions/evaluate/evaluate.js.map +1 -1
  47. package/lib/edge/commonjs/functions/evaluate/helpers.js +21 -2
  48. package/lib/edge/commonjs/functions/evaluate/helpers.js.map +1 -1
  49. package/lib/edge/commonjs/functions/evaluate/node-runtime/node-runtime.js +72 -68
  50. package/lib/edge/commonjs/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
  51. package/lib/edge/commonjs/functions/get-block-actions-handler.js +2 -1
  52. package/lib/edge/commonjs/functions/get-block-actions-handler.js.map +1 -1
  53. package/lib/edge/commonjs/functions/get-block-actions.js.map +1 -1
  54. package/lib/edge/module/components/block/components/block-wrapper.js +8 -1
  55. package/lib/edge/module/components/block/components/block-wrapper.js.map +1 -1
  56. package/lib/edge/module/components/block/components/interactive-element.js +8 -1
  57. package/lib/edge/module/components/block/components/interactive-element.js.map +1 -1
  58. package/lib/edge/module/constants/sdk-version.js +1 -1
  59. package/lib/edge/module/functions/evaluate/evaluate.js +3 -2
  60. package/lib/edge/module/functions/evaluate/evaluate.js.map +1 -1
  61. package/lib/edge/module/functions/evaluate/helpers.js +21 -2
  62. package/lib/edge/module/functions/evaluate/helpers.js.map +1 -1
  63. package/lib/edge/module/functions/evaluate/node-runtime/node-runtime.js +72 -68
  64. package/lib/edge/module/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
  65. package/lib/edge/module/functions/get-block-actions-handler.js +2 -1
  66. package/lib/edge/module/functions/get-block-actions-handler.js.map +1 -1
  67. package/lib/edge/module/functions/get-block-actions.js.map +1 -1
  68. package/lib/edge/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
  69. package/lib/edge/typescript/components/block/components/interactive-element.d.ts.map +1 -1
  70. package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
  71. package/lib/edge/typescript/functions/evaluate/evaluate.d.ts +1 -1
  72. package/lib/edge/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
  73. package/lib/edge/typescript/functions/evaluate/helpers.d.ts +9 -1
  74. package/lib/edge/typescript/functions/evaluate/helpers.d.ts.map +1 -1
  75. package/lib/edge/typescript/functions/get-block-actions-handler.d.ts +2 -0
  76. package/lib/edge/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
  77. package/lib/edge/typescript/functions/get-block-actions.d.ts +2 -0
  78. package/lib/edge/typescript/functions/get-block-actions.d.ts.map +1 -1
  79. package/lib/node/commonjs/components/block/components/block-wrapper.js +8 -1
  80. package/lib/node/commonjs/components/block/components/block-wrapper.js.map +1 -1
  81. package/lib/node/commonjs/components/block/components/interactive-element.js +8 -1
  82. package/lib/node/commonjs/components/block/components/interactive-element.js.map +1 -1
  83. package/lib/node/commonjs/constants/sdk-version.js +1 -1
  84. package/lib/node/commonjs/functions/evaluate/evaluate.js +3 -2
  85. package/lib/node/commonjs/functions/evaluate/evaluate.js.map +1 -1
  86. package/lib/node/commonjs/functions/evaluate/helpers.js +21 -2
  87. package/lib/node/commonjs/functions/evaluate/helpers.js.map +1 -1
  88. package/lib/node/commonjs/functions/evaluate/node-runtime/node-runtime.js +72 -68
  89. package/lib/node/commonjs/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
  90. package/lib/node/commonjs/functions/get-block-actions-handler.js +2 -1
  91. package/lib/node/commonjs/functions/get-block-actions-handler.js.map +1 -1
  92. package/lib/node/commonjs/functions/get-block-actions.js.map +1 -1
  93. package/lib/node/module/components/block/components/block-wrapper.js +8 -1
  94. package/lib/node/module/components/block/components/block-wrapper.js.map +1 -1
  95. package/lib/node/module/components/block/components/interactive-element.js +8 -1
  96. package/lib/node/module/components/block/components/interactive-element.js.map +1 -1
  97. package/lib/node/module/constants/sdk-version.js +1 -1
  98. package/lib/node/module/functions/evaluate/evaluate.js +3 -2
  99. package/lib/node/module/functions/evaluate/evaluate.js.map +1 -1
  100. package/lib/node/module/functions/evaluate/helpers.js +21 -2
  101. package/lib/node/module/functions/evaluate/helpers.js.map +1 -1
  102. package/lib/node/module/functions/evaluate/node-runtime/node-runtime.js +72 -68
  103. package/lib/node/module/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
  104. package/lib/node/module/functions/get-block-actions-handler.js +2 -1
  105. package/lib/node/module/functions/get-block-actions-handler.js.map +1 -1
  106. package/lib/node/module/functions/get-block-actions.js.map +1 -1
  107. package/lib/node/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
  108. package/lib/node/typescript/components/block/components/interactive-element.d.ts.map +1 -1
  109. package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
  110. package/lib/node/typescript/functions/evaluate/evaluate.d.ts +1 -1
  111. package/lib/node/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
  112. package/lib/node/typescript/functions/evaluate/helpers.d.ts +9 -1
  113. package/lib/node/typescript/functions/evaluate/helpers.d.ts.map +1 -1
  114. package/lib/node/typescript/functions/get-block-actions-handler.d.ts +2 -0
  115. package/lib/node/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
  116. package/lib/node/typescript/functions/get-block-actions.d.ts +2 -0
  117. package/lib/node/typescript/functions/get-block-actions.d.ts.map +1 -1
  118. package/package.json +1 -1
  119. package/src/components/block/components/block-wrapper.tsx +6 -0
  120. package/src/components/block/components/interactive-element.tsx +6 -0
  121. package/src/constants/sdk-version.ts +1 -1
  122. package/src/functions/evaluate/evaluate.ts +3 -2
  123. package/src/functions/evaluate/helpers.ts +29 -2
  124. package/src/functions/evaluate/node-runtime/node-runtime.ts +73 -69
  125. package/src/functions/get-block-actions-handler.ts +4 -1
  126. package/src/functions/get-block-actions.ts +2 -0
@@ -67,17 +67,23 @@ if (typeof output === 'object' && output !== null) {
67
67
  `;
68
68
  };
69
69
  let IVM_INSTANCE = null;
70
- let IVM_CONTEXT = null;
70
+ // Create fresh isolates per request to prevent memory leaks
71
+ let IVM_OPTIONS = {
72
+ memoryLimit: 128
73
+ };
71
74
 
72
75
  /**
73
76
  * Set the `isolated-vm` instance to be used by the node runtime.
74
77
  * This is useful for environments that are not able to rely on our
75
78
  * `safeDynamicRequire` trick to import the `isolated-vm` package.
76
79
  */
77
- const setIvm = (ivm, options = {}) => {
80
+ const setIvm = (ivm, options) => {
78
81
  if (IVM_INSTANCE) return;
79
82
  IVM_INSTANCE = ivm;
80
- setIsolateContext(options);
83
+ // Store options to be used per-request in runInNode
84
+ if (options) {
85
+ IVM_OPTIONS = options;
86
+ }
81
87
  };
82
88
 
83
89
  // only mention the script for SDKs that have it.
@@ -101,30 +107,6 @@ const getIvm = () => {
101
107
  For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
102
108
  throw new Error(ERROR_MESSAGE);
103
109
  };
104
- function setIsolateContext(options = {
105
- memoryLimit: 128
106
- }) {
107
- if (IVM_CONTEXT) return IVM_CONTEXT;
108
- const ivm = getIvm();
109
- const isolate = new ivm.Isolate(options);
110
- const context = isolate.createContextSync();
111
- const jail = context.global;
112
-
113
- // This makes the global object available in the context as `global`. We use `derefInto()` here
114
- // because otherwise `global` would actually be a Reference{} object in the new isolate.
115
- jail.setSync('global', jail.derefInto());
116
-
117
- // We will create a basic `log` function for the new isolate to use.
118
- jail.setSync('log', function (...logArgs) {
119
- console.log(...logArgs);
120
- });
121
- jail.setSync(INJECTED_IVM_GLOBAL, ivm);
122
- IVM_CONTEXT = context;
123
- return context;
124
- }
125
- const getIsolateContext = () => {
126
- return setIsolateContext();
127
- };
128
110
  const runInNode = ({
129
111
  code,
130
112
  builder,
@@ -135,49 +117,71 @@ const runInNode = ({
135
117
  rootState
136
118
  }) => {
137
119
  const ivm = getIvm();
138
- const state = (0, _fastClone.fastClone)({
139
- ...rootState,
140
- ...localState
141
- });
142
- const args = (0, _helpers.getFunctionArguments)({
143
- builder,
144
- context,
145
- event,
146
- state
147
- });
148
- const isolateContext = getIsolateContext();
149
- const jail = isolateContext.global;
150
120
 
151
- /**
152
- * Propagate state changes back to the reactive root state.
153
- */
154
- jail.setSync(BUILDER_SET_STATE_NAME, function (key, value) {
155
- // mutate the `rootState` object itself. Important for cases where we do not have `rootSetState`
156
- // like Qwik.
157
- (0, _set.set)(rootState, key, value);
158
- // call the `rootSetState` function if it exists
159
- rootSetState === null || rootSetState === void 0 || rootSetState(rootState);
160
- });
161
- args.forEach(([key, arg]) => {
162
- const val = typeof arg === 'object' ? new ivm.Reference(
163
- // workaround: methods with default values for arguments is not being cloned over
164
- key === 'builder' ? {
165
- ...arg,
166
- getUserAttributes: () => arg.getUserAttributes()
167
- } : arg) : null;
168
- jail.setSync(getSyncValName(key), val);
169
- });
170
- const evalStr = processCode({
171
- code,
172
- args
173
- });
174
- const resultStr = isolateContext.evalClosureSync(evalStr);
121
+ // Use stored options from setIvm, or default to { memoryLimit: 128 }
122
+ let isolate;
175
123
  try {
176
- // returning objects throw errors in isolated vm, so we stringify it and parse it back
177
- const res = JSON.parse(resultStr);
178
- return res;
179
- } catch (_error) {
180
- return resultStr;
124
+ isolate = new ivm.Isolate(IVM_OPTIONS);
125
+ const isolateContext = isolate.createContextSync();
126
+ const jail = isolateContext.global;
127
+
128
+ // Setup the isolate
129
+ jail.setSync('global', jail.derefInto());
130
+ jail.setSync('log', function (...logArgs) {
131
+ console.log(...logArgs);
132
+ });
133
+ jail.setSync(INJECTED_IVM_GLOBAL, ivm);
134
+ const state = (0, _fastClone.fastClone)({
135
+ ...rootState,
136
+ ...localState
137
+ });
138
+ const args = (0, _helpers.getFunctionArguments)({
139
+ builder,
140
+ context,
141
+ event,
142
+ state
143
+ });
144
+
145
+ /**
146
+ * Propagate state changes back to the reactive root state.
147
+ */
148
+ jail.setSync(BUILDER_SET_STATE_NAME, function (key, value) {
149
+ // mutate the `rootState` object itself. Important for cases where we do not have `rootSetState`
150
+ // like Qwik.
151
+ (0, _set.set)(rootState, key, value);
152
+ // call the `rootSetState` function if it exists
153
+ rootSetState === null || rootSetState === void 0 || rootSetState(rootState);
154
+ });
155
+ args.forEach(([key, arg]) => {
156
+ const val = typeof arg === 'object' ? new ivm.Reference(
157
+ // workaround: methods with default values for arguments is not being cloned over
158
+ key === 'builder' ? {
159
+ ...arg,
160
+ getUserAttributes: () => arg.getUserAttributes()
161
+ } : arg) : null;
162
+ jail.setSync(getSyncValName(key), val);
163
+ });
164
+ const evalStr = processCode({
165
+ code,
166
+ args
167
+ });
168
+ const resultStr = isolateContext.evalClosureSync(evalStr);
169
+ try {
170
+ // returning objects throw errors in isolated vm, so we stringify it and parse it back
171
+ const res = JSON.parse(resultStr);
172
+ return res;
173
+ } catch (_error) {
174
+ return resultStr;
175
+ }
176
+ } finally {
177
+ // Destroy the entire VM, this frees ALL memory at the C++ level.
178
+ if (isolate) {
179
+ try {
180
+ isolate.dispose();
181
+ } catch (e) {
182
+ // Ignore disposal errors
183
+ }
184
+ }
181
185
  }
182
186
  };
183
187
  exports.runInNode = runInNode;
@@ -1 +1 @@
1
- {"version":3,"names":["_sdkName","require","_logger","_fastClone","_set","_helpers","_safeDynamicRequire","getSyncValName","key","BUILDER_SET_STATE_NAME","INJECTED_IVM_GLOBAL","REF_TO_PROXY_FN","processCode","code","args","fnArgs","map","name","join","IVM_INSTANCE","IVM_CONTEXT","setIvm","ivm","options","setIsolateContext","exports","SHOULD_MENTION_INITIALIZE_SCRIPT","SDK_NAME","getIvm","dynRequiredIvm","safeDynamicRequire","error","logger","ERROR_MESSAGE","MSG_PREFIX","Error","memoryLimit","isolate","Isolate","context","createContextSync","jail","global","setSync","derefInto","logArgs","console","log","getIsolateContext","runInNode","builder","event","localState","rootSetState","rootState","state","fastClone","getFunctionArguments","isolateContext","value","set","forEach","arg","val","Reference","getUserAttributes","evalStr","resultStr","evalClosureSync","res","JSON","parse","_error"],"sourceRoot":"../../../../../../src","sources":["functions/evaluate/node-runtime/node-runtime.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_sdkName","require","_logger","_fastClone","_set","_helpers","_safeDynamicRequire","getSyncValName","key","BUILDER_SET_STATE_NAME","INJECTED_IVM_GLOBAL","REF_TO_PROXY_FN","processCode","code","args","fnArgs","map","name","join","IVM_INSTANCE","IVM_OPTIONS","memoryLimit","setIvm","ivm","options","exports","SHOULD_MENTION_INITIALIZE_SCRIPT","SDK_NAME","getIvm","dynRequiredIvm","safeDynamicRequire","error","logger","ERROR_MESSAGE","MSG_PREFIX","Error","runInNode","builder","context","event","localState","rootSetState","rootState","isolate","Isolate","isolateContext","createContextSync","jail","global","setSync","derefInto","logArgs","console","log","state","fastClone","getFunctionArguments","value","set","forEach","arg","val","Reference","getUserAttributes","evalStr","resultStr","evalClosureSync","res","JSON","parse","_error","dispose","e"],"sourceRoot":"../../../../../../src","sources":["functions/evaluate/node-runtime/node-runtime.ts"],"mappings":"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"}
@@ -12,7 +12,8 @@ const createEventHandler = (value, options) => event => (0, _index.evaluate)({
12
12
  rootState: options.rootState,
13
13
  rootSetState: options.rootSetState,
14
14
  event,
15
- isExpression: false
15
+ isExpression: false,
16
+ trackingContext: options.trackingContext
16
17
  });
17
18
  exports.createEventHandler = createEventHandler;
18
19
  //# sourceMappingURL=get-block-actions-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","createEventHandler","value","options","event","evaluate","code","context","localState","rootState","rootSetState","isExpression","exports"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions-handler.ts"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAKO,MAAMC,kBAAkB,GAAGA,CAACC,KAAa,EAAEC,OAAgB,KAAmBC,KAAK,IAAI,IAAAC,eAAQ,EAAC;EACrGC,IAAI,EAAEJ,KAAK;EACXK,OAAO,EAAEJ,OAAO,CAACI,OAAO;EACxBC,UAAU,EAAEL,OAAO,CAACK,UAAU;EAC9BC,SAAS,EAAEN,OAAO,CAACM,SAAS;EAC5BC,YAAY,EAAEP,OAAO,CAACO,YAAY;EAClCN,KAAK;EACLO,YAAY,EAAE;AAChB,CAAC,CAAC;AAAAC,OAAA,CAAAX,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_index","require","createEventHandler","value","options","event","evaluate","code","context","localState","rootState","rootSetState","isExpression","trackingContext","exports"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions-handler.ts"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAMO,MAAMC,kBAAkB,GAAGA,CAACC,KAAa,EAAEC,OAAgB,KAAmBC,KAAK,IAAI,IAAAC,eAAQ,EAAC;EACrGC,IAAI,EAAEJ,KAAK;EACXK,OAAO,EAAEJ,OAAO,CAACI,OAAO;EACxBC,UAAU,EAAEL,OAAO,CAACK,UAAU;EAC9BC,SAAS,EAAEN,OAAO,CAACM,SAAS;EAC5BC,YAAY,EAAEP,OAAO,CAACO,YAAY;EAClCN,KAAK;EACLO,YAAY,EAAE,KAAK;EACnBC,eAAe,EAAET,OAAO,CAACS;AAC3B,CAAC,CAAC;AAAAC,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["_target","require","_eventHandlerName","_getBlockActionsHandler","getBlockActions","options","obj","optionActions","block","actions","key","hasOwnProperty","value","eventHandlerName","getEventHandlerName","stripPrefix","TARGET","replace","createEventHandler"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAGA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAIO,SAASG,eAAeA,CAACC,OAG0D,EAAW;EACnG,MAAMC,GAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACC,OAAO,IAAI,CAAC,CAAC;EACjD,KAAK,MAAMC,GAAG,IAAIH,aAAa,EAAE;IAC/B;IACA,IAAI,CAACA,aAAa,CAACI,cAAc,CAACD,GAAG,CAAC,EAAE;MACtC;IACF;IACA,MAAME,KAAK,GAAGL,aAAa,CAACG,GAAG,CAAC;IAChC,IAAIG,gBAAgB,GAAG,IAAAC,qCAAmB,EAACJ,GAAG,CAAC;IAC/C,IAAIL,OAAO,CAACU,WAAW,EAAE;MACvB,QAAQC,cAAM;QACZ,KAAK,KAAK;UACRH,gBAAgB,GAAGA,gBAAgB,CAACI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;UACxD;QACF,KAAK,QAAQ;UACXJ,gBAAgB,GAAGA,gBAAgB,CAACI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;UACtD;MACJ;IACF;IACAX,GAAG,CAACO,gBAAgB,CAAC,GAAG,IAAAK,0CAAkB,EAACN,KAAK,EAAEP,OAAO,CAAC;EAC5D;EACA,OAAOC,GAAG;AACZ"}
1
+ {"version":3,"names":["_target","require","_eventHandlerName","_getBlockActionsHandler","getBlockActions","options","obj","optionActions","block","actions","key","hasOwnProperty","value","eventHandlerName","getEventHandlerName","stripPrefix","TARGET","replace","createEventHandler"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAIA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAIO,SAASG,eAAeA,CAACC,OAI0D,EAAW;EACnG,MAAMC,GAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACC,OAAO,IAAI,CAAC,CAAC;EACjD,KAAK,MAAMC,GAAG,IAAIH,aAAa,EAAE;IAC/B;IACA,IAAI,CAACA,aAAa,CAACI,cAAc,CAACD,GAAG,CAAC,EAAE;MACtC;IACF;IACA,MAAME,KAAK,GAAGL,aAAa,CAACG,GAAG,CAAC;IAChC,IAAIG,gBAAgB,GAAG,IAAAC,qCAAmB,EAACJ,GAAG,CAAC;IAC/C,IAAIL,OAAO,CAACU,WAAW,EAAE;MACvB,QAAQC,cAAM;QACZ,KAAK,KAAK;UACRH,gBAAgB,GAAGA,gBAAgB,CAACI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;UACxD;QACF,KAAK,QAAQ;UACXJ,gBAAgB,GAAGA,gBAAgB,CAACI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;UACtD;MACJ;IACF;IACAX,GAAG,CAACO,gBAAgB,CAAC,GAAG,IAAAK,0CAAkB,EAACN,KAAK,EAAEP,OAAO,CAAC;EAC5D;EACA,OAAOC,GAAG;AACZ"}
@@ -7,6 +7,7 @@ import { getBlockActions } from "../../../functions/get-block-actions";
7
7
  import { getBlockProperties } from "../../../functions/get-block-properties";
8
8
  import DynamicRenderer from "../../dynamic-renderer/dynamic-renderer";
9
9
  function BlockWrapper(props) {
10
+ var _props$context$conten, _props$context$conten2;
10
11
  return /*#__PURE__*/React.createElement(DynamicRenderer, {
11
12
  TagName: props.Wrapper,
12
13
  attributes: getBlockProperties({
@@ -19,7 +20,13 @@ function BlockWrapper(props) {
19
20
  rootSetState: props.context.rootSetState,
20
21
  localState: props.context.localState,
21
22
  context: props.context.context,
22
- stripPrefix: true
23
+ stripPrefix: true,
24
+ trackingContext: {
25
+ apiKey: props.context.apiKey,
26
+ canTrack: props.context.canTrack ?? true,
27
+ contentId: (_props$context$conten = props.context.content) === null || _props$context$conten === void 0 ? void 0 : _props$context$conten.id,
28
+ variationId: (_props$context$conten2 = props.context.content) === null || _props$context$conten2 === void 0 ? void 0 : _props$context$conten2.testVariationId
29
+ }
23
30
  })
24
31
  }, props.children);
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","getBlockActions","getBlockProperties","DynamicRenderer","BlockWrapper","props","createElement","TagName","Wrapper","attributes","block","context","actionAttributes","rootState","rootSetState","localState","stripPrefix","children"],"sourceRoot":"../../../../../../src","sources":["components/block/components/block-wrapper.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAU9B;AACA;AACA;;AAGA,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAE3B,OAAOC,eAAe;AAEtB,SAASC,YAAYA,CAACC,KAAwB,EAAE;EAC9C,oBACEL,KAAA,CAAAM,aAAA,CAACH,eAAe;IACdI,OAAO,EAAEF,KAAK,CAACG,OAAQ;IACvBC,UAAU,EAAEP,kBAAkB,CAAC;MAC7BQ,KAAK,EAAEL,KAAK,CAACK,KAAK;MAClBC,OAAO,EAAEN,KAAK,CAACM;IACjB,CAAC,CAAE;IACHC,gBAAgB,EAAEX,eAAe,CAAC;MAChCS,KAAK,EAAEL,KAAK,CAACK,KAAK;MAClBG,SAAS,EAAER,KAAK,CAACM,OAAO,CAACE,SAAS;MAClCC,YAAY,EAAET,KAAK,CAACM,OAAO,CAACG,YAAY;MACxCC,UAAU,EAAEV,KAAK,CAACM,OAAO,CAACI,UAAU;MACpCJ,OAAO,EAAEN,KAAK,CAACM,OAAO,CAACA,OAAO;MAC9BK,WAAW,EAAE;IACf,CAAC;EAAE,GAEFX,KAAK,CAACY,QACQ,CAAC;AAEtB;AAEA,eAAeb,YAAY"}
1
+ {"version":3,"names":["React","getBlockActions","getBlockProperties","DynamicRenderer","BlockWrapper","props","_props$context$conten","_props$context$conten2","createElement","TagName","Wrapper","attributes","block","context","actionAttributes","rootState","rootSetState","localState","stripPrefix","trackingContext","apiKey","canTrack","contentId","content","id","variationId","testVariationId","children"],"sourceRoot":"../../../../../../src","sources":["components/block/components/block-wrapper.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAU9B;AACA;AACA;;AAGA,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAE3B,OAAOC,eAAe;AAEtB,SAASC,YAAYA,CAACC,KAAwB,EAAE;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC9C,oBACEP,KAAA,CAAAQ,aAAA,CAACL,eAAe;IACdM,OAAO,EAAEJ,KAAK,CAACK,OAAQ;IACvBC,UAAU,EAAET,kBAAkB,CAAC;MAC7BU,KAAK,EAAEP,KAAK,CAACO,KAAK;MAClBC,OAAO,EAAER,KAAK,CAACQ;IACjB,CAAC,CAAE;IACHC,gBAAgB,EAAEb,eAAe,CAAC;MAChCW,KAAK,EAAEP,KAAK,CAACO,KAAK;MAClBG,SAAS,EAAEV,KAAK,CAACQ,OAAO,CAACE,SAAS;MAClCC,YAAY,EAAEX,KAAK,CAACQ,OAAO,CAACG,YAAY;MACxCC,UAAU,EAAEZ,KAAK,CAACQ,OAAO,CAACI,UAAU;MACpCJ,OAAO,EAAER,KAAK,CAACQ,OAAO,CAACA,OAAO;MAC9BK,WAAW,EAAE,IAAI;MACjBC,eAAe,EAAE;QACfC,MAAM,EAAEf,KAAK,CAACQ,OAAO,CAACO,MAAM;QAC5BC,QAAQ,EAAEhB,KAAK,CAACQ,OAAO,CAACQ,QAAQ,IAAI,IAAI;QACxCC,SAAS,GAAAhB,qBAAA,GAAED,KAAK,CAACQ,OAAO,CAACU,OAAO,cAAAjB,qBAAA,uBAArBA,qBAAA,CAAuBkB,EAAE;QACpCC,WAAW,GAAAlB,sBAAA,GAAEF,KAAK,CAACQ,OAAO,CAACU,OAAO,cAAAhB,sBAAA,uBAArBA,sBAAA,CAAuBmB;MACtC;IACF,CAAC;EAAE,GAEFrB,KAAK,CAACsB,QACQ,CAAC;AAEtB;AAEA,eAAevB,YAAY"}
@@ -11,6 +11,7 @@ function InteractiveElement(props) {
11
11
  var _props$block;
12
12
  const [forceRenderCount, setForceRenderCount] = useState(() => 0);
13
13
  function attributes() {
14
+ var _props$context$conten, _props$context$conten2;
14
15
  return props.includeBlockProps ? {
15
16
  ...getBlockProperties({
16
17
  block: props.block,
@@ -21,7 +22,13 @@ function InteractiveElement(props) {
21
22
  rootState: props.context.rootState,
22
23
  rootSetState: props.context.rootSetState,
23
24
  localState: props.context.localState,
24
- context: props.context.context
25
+ context: props.context.context,
26
+ trackingContext: {
27
+ apiKey: props.context.apiKey,
28
+ canTrack: props.context.canTrack ?? true,
29
+ contentId: (_props$context$conten = props.context.content) === null || _props$context$conten === void 0 ? void 0 : _props$context$conten.id,
30
+ variationId: (_props$context$conten2 = props.context.content) === null || _props$context$conten2 === void 0 ? void 0 : _props$context$conten2.testVariationId
31
+ }
25
32
  })
26
33
  } : {};
27
34
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","TARGET","getBlockActions","getBlockProperties","isEditing","Awaiter","LiveEdit","InteractiveElement","props","_props$block","forceRenderCount","setForceRenderCount","attributes","includeBlockProps","block","context","rootState","rootSetState","localState","targetWrapperProps","wrapperProps","component","options","createElement","Fragment","Wrapper","load","fallback","children","id","_extends"],"sourceRoot":"../../../../../../src","sources":["components/block/components/interactive-element.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAU3C,SAASC,MAAM;AAEf,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,SAAS;AAGlB,OAAOC,OAAO;AACd,OAAOC,QAAQ;AAEf,SAASC,kBAAkBA,CAACC,KAA8B,EAAE;EAAA,IAAAC,YAAA;EAC1D,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGZ,QAAQ,CAAC,MAAM,CAAC,CAAC;EAEjE,SAASa,UAAUA,CAAA,EAAG;IACpB,OAAOJ,KAAK,CAACK,iBAAiB,GAC1B;MACE,GAAGV,kBAAkB,CAAC;QACpBW,KAAK,EAAEN,KAAK,CAACM,KAAK;QAClBC,OAAO,EAAEP,KAAK,CAACO;MACjB,CAAC,CAAC;MACF,GAAGb,eAAe,CAAC;QACjBY,KAAK,EAAEN,KAAK,CAACM,KAAK;QAClBE,SAAS,EAAER,KAAK,CAACO,OAAO,CAACC,SAAS;QAClCC,YAAY,EAAET,KAAK,CAACO,OAAO,CAACE,YAAY;QACxCC,UAAU,EAAEV,KAAK,CAACO,OAAO,CAACG,UAAU;QACpCH,OAAO,EAAEP,KAAK,CAACO,OAAO,CAACA;MACzB,CAAC;IACH,CAAC,GACD,CAAC,CAAC;EACR;EAEA,SAASI,kBAAkBA,CAAA,EAAG;IAC5B,OAAOX,KAAK,CAACY,YAAY;EAC3B;EAEApB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAACQ,KAAK,CAACY,YAAY,GAAAX,YAAA,GAAED,KAAK,CAACM,KAAK,cAAAL,YAAA,gBAAAA,YAAA,GAAXA,YAAA,CAAaY,SAAS,cAAAZ,YAAA,uBAAtBA,YAAA,CAAwBa,OAAO,CAAC,CAAC;EAE1E,oBACExB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACGhB,KAAK,CAACiB,OAAO,CAACC,IAAI,gBACjB5B,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,qBACE1B,KAAA,CAAAyB,aAAA,CAAClB,OAAO;IACNqB,IAAI,EAAElB,KAAK,CAACiB,OAAO,CAACC,IAAK;IACzBC,QAAQ,EAAEnB,KAAK,CAACiB,OAAO,CAACE,QAAS;IACjCnB,KAAK,EAAEA,KAAK,CAACY,YAAa;IAC1BR,UAAU,EAAEA,UAAU,CAAC;EAAE,GAExBJ,KAAK,CAACoB,QACA,CACT,CAAC,GACD3B,MAAM,KAAK,KAAK,IAAIG,SAAS,CAAC,CAAC,gBACjCN,KAAA,CAAAyB,aAAA,CAACjB,QAAQ;IACPmB,OAAO,EAAEjB,KAAK,CAACiB,OAAQ;IACvBI,EAAE,EAAErB,KAAK,CAACM,KAAK,CAACe,EAAE,IAAI,EAAG;IACzBjB,UAAU,EAAEA,UAAU,CAAC;EAAE,GAExBJ,KAAK,CAACoB,QACC,CAAC,gBAEX9B,KAAA,CAAAyB,aAAA,CAACf,KAAK,CAACiB,OAAO,EAAAK,QAAA,KAAKX,kBAAkB,CAAC,CAAC;IAAEP,UAAU,EAAEA,UAAU,CAAC;EAAE,IAC/DJ,KAAK,CAACoB,QACM,CAEjB,CAAC;AAEP;AAEA,eAAerB,kBAAkB"}
1
+ {"version":3,"names":["React","useState","useEffect","TARGET","getBlockActions","getBlockProperties","isEditing","Awaiter","LiveEdit","InteractiveElement","props","_props$block","forceRenderCount","setForceRenderCount","attributes","_props$context$conten","_props$context$conten2","includeBlockProps","block","context","rootState","rootSetState","localState","trackingContext","apiKey","canTrack","contentId","content","id","variationId","testVariationId","targetWrapperProps","wrapperProps","component","options","createElement","Fragment","Wrapper","load","fallback","children","_extends"],"sourceRoot":"../../../../../../src","sources":["components/block/components/interactive-element.tsx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const SDK_VERSION = "5.0.1";
1
+ export const SDK_VERSION = "5.1.1";
2
2
  //# sourceMappingURL=sdk-version.js.map
@@ -25,7 +25,8 @@ export function evaluate({
25
25
  rootState,
26
26
  rootSetState,
27
27
  event,
28
- isExpression = true
28
+ isExpression = true,
29
+ trackingContext
29
30
  }) {
30
31
  if (code.trim() === '') {
31
32
  return undefined;
@@ -48,7 +49,7 @@ export function evaluate({
48
49
  code: parseCode(code, {
49
50
  isExpression
50
51
  }),
51
- builder: getBuilderGlobals(),
52
+ builder: getBuilderGlobals(trackingContext),
52
53
  context,
53
54
  event,
54
55
  rootSetState,
@@ -1 +1 @@
1
- {"version":3,"names":["logger","get","chooseBrowserOrServerEval","getBuilderGlobals","parseCode","STATE_GETTER_REGEX","VIRTUAL_INDEX_REGEX","getSimpleExpressionGetPath","code","_STATE_GETTER_REGEX$e","_VIRTUAL_INDEX_REGEX$","exec","trim","groups","getPath","slice","evaluate","context","localState","rootState","rootSetState","event","isExpression","undefined","args","builder","newEval","e","error","message"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/evaluate.ts"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,GAAG;AACZ,SAASC,yBAAyB;AAElC,SAASC,iBAAiB,EAAEC,SAAS;AAGrC;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,oDAAoD;;AAE/E;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,2GAA2G;AACvI,OAAO,MAAMC,0BAA0B,GAAIC,IAAY,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC1D,OAAO,EAAAD,qBAAA,GAAAJ,kBAAkB,CAACM,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAH,qBAAA,gBAAAA,qBAAA,GAApCA,qBAAA,CAAsCI,MAAM,cAAAJ,qBAAA,gBAAAA,qBAAA,GAA5CA,qBAAA,CAA8CK,OAAO,cAAAL,qBAAA,uBAArDA,qBAAA,CAAuDM,KAAK,CAAC,CAAC,CAAC,OAAAL,qBAAA,GAAIJ,mBAAmB,CAACK,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAF,qBAAA,gBAAAA,qBAAA,GAArCA,qBAAA,CAAuCG,MAAM,cAAAH,qBAAA,gBAAAA,qBAAA,GAA7CA,qBAAA,CAA+CI,OAAO,cAAAJ,qBAAA,uBAAtDA,qBAAA,CAAwDK,KAAK,CAAC,CAAC,CAAC;AAC5I,CAAC;AACD,OAAO,SAASC,QAAQA,CAAC;EACvBR,IAAI;EACJS,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,YAAY,GAAG;AACF,CAAC,EAAa;EAC3B,IAAId,IAAI,CAACI,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAOW,SAAS;EAClB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMT,OAAO,GAAGP,0BAA0B,CAACC,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC;EACvD,IAAIE,OAAO,EAAE;IACX,OAAOb,GAAG,CAAC;MACT,GAAGkB,SAAS;MACZ,GAAGD;IACL,CAAC,EAAEJ,OAAO,CAAC;EACb;EACA,MAAMU,IAAkB,GAAG;IACzBhB,IAAI,EAAEJ,SAAS,CAACI,IAAI,EAAE;MACpBc;IACF,CAAC,CAAC;IACFG,OAAO,EAAEtB,iBAAiB,CAAC,CAAC;IAC5Bc,OAAO;IACPI,KAAK;IACLD,YAAY;IACZD,SAAS;IACTD;EACF,CAAC;EACD,IAAI;IACF,MAAMQ,OAAO,GAAGxB,yBAAyB,CAACsB,IAAI,CAAC;IAC/C,OAAOE,OAAO;EAChB,CAAC,CAAC,OAAOC,CAAM,EAAE;IACf3B,MAAM,CAAC4B,KAAK,CAAC,0BAA0B,GAAGD,CAAC,CAACE,OAAO,EAAE;MACnDrB;IACF,CAAC,CAAC;IACF,OAAOe,SAAS;EAClB;AACF"}
1
+ {"version":3,"names":["logger","get","chooseBrowserOrServerEval","getBuilderGlobals","parseCode","STATE_GETTER_REGEX","VIRTUAL_INDEX_REGEX","getSimpleExpressionGetPath","code","_STATE_GETTER_REGEX$e","_VIRTUAL_INDEX_REGEX$","exec","trim","groups","getPath","slice","evaluate","context","localState","rootState","rootSetState","event","isExpression","trackingContext","undefined","args","builder","newEval","e","error","message"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/evaluate.ts"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,GAAG;AACZ,SAASC,yBAAyB;AAElC,SAASC,iBAAiB,EAAEC,SAAS;AAGrC;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,oDAAoD;;AAE/E;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,2GAA2G;AACvI,OAAO,MAAMC,0BAA0B,GAAIC,IAAY,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC1D,OAAO,EAAAD,qBAAA,GAAAJ,kBAAkB,CAACM,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAH,qBAAA,gBAAAA,qBAAA,GAApCA,qBAAA,CAAsCI,MAAM,cAAAJ,qBAAA,gBAAAA,qBAAA,GAA5CA,qBAAA,CAA8CK,OAAO,cAAAL,qBAAA,uBAArDA,qBAAA,CAAuDM,KAAK,CAAC,CAAC,CAAC,OAAAL,qBAAA,GAAIJ,mBAAmB,CAACK,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAF,qBAAA,gBAAAA,qBAAA,GAArCA,qBAAA,CAAuCG,MAAM,cAAAH,qBAAA,gBAAAA,qBAAA,GAA7CA,qBAAA,CAA+CI,OAAO,cAAAJ,qBAAA,uBAAtDA,qBAAA,CAAwDK,KAAK,CAAC,CAAC,CAAC;AAC5I,CAAC;AACD,OAAO,SAASC,QAAQA,CAAC;EACvBR,IAAI;EACJS,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,YAAY,GAAG,IAAI;EACnBC;AACa,CAAC,EAAa;EAC3B,IAAIf,IAAI,CAACI,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAOY,SAAS;EAClB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMV,OAAO,GAAGP,0BAA0B,CAACC,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC;EACvD,IAAIE,OAAO,EAAE;IACX,OAAOb,GAAG,CAAC;MACT,GAAGkB,SAAS;MACZ,GAAGD;IACL,CAAC,EAAEJ,OAAO,CAAC;EACb;EACA,MAAMW,IAAkB,GAAG;IACzBjB,IAAI,EAAEJ,SAAS,CAACI,IAAI,EAAE;MACpBc;IACF,CAAC,CAAC;IACFI,OAAO,EAAEvB,iBAAiB,CAACoB,eAAe,CAAC;IAC3CN,OAAO;IACPI,KAAK;IACLD,YAAY;IACZD,SAAS;IACTD;EACF,CAAC;EACD,IAAI;IACF,MAAMS,OAAO,GAAGzB,yBAAyB,CAACuB,IAAI,CAAC;IAC/C,OAAOE,OAAO;EAChB,CAAC,CAAC,OAAOC,CAAM,EAAE;IACf5B,MAAM,CAAC6B,KAAK,CAAC,0BAA0B,GAAGD,CAAC,CAACE,OAAO,EAAE;MACnDtB;IACF,CAAC,CAAC;IACF,OAAOgB,SAAS;EAClB;AACF"}
@@ -1,6 +1,7 @@
1
1
  import { isBrowser } from "../is-browser";
2
2
  import { isEditing } from "../is-editing";
3
3
  import { getUserAttributes } from "../track/helpers";
4
+ import { _track } from "../track/index";
4
5
  export const getFunctionArguments = ({
5
6
  builder,
6
7
  context,
@@ -16,11 +17,29 @@ export const getFunctionArguments = ({
16
17
  event
17
18
  });
18
19
  };
19
- export const getBuilderGlobals = () => ({
20
+ export const getBuilderGlobals = trackingContext => ({
20
21
  isEditing: isEditing(),
21
22
  isBrowser: isBrowser(),
22
23
  isServer: !isBrowser(),
23
- getUserAttributes: () => getUserAttributes()
24
+ getUserAttributes: () => getUserAttributes(),
25
+ trackConversion: (amount, customProperties) => {
26
+ if (!(trackingContext !== null && trackingContext !== void 0 && trackingContext.apiKey) || (trackingContext === null || trackingContext === void 0 ? void 0 : trackingContext.canTrack) === false) {
27
+ return;
28
+ }
29
+ _track({
30
+ type: 'conversion',
31
+ apiKey: trackingContext.apiKey,
32
+ canTrack: trackingContext.canTrack ?? true,
33
+ contentId: trackingContext.contentId,
34
+ variationId: trackingContext.variationId !== trackingContext.contentId ? trackingContext.variationId : undefined,
35
+ metadata: {
36
+ ...(customProperties || {}),
37
+ ...(amount !== undefined ? {
38
+ amount
39
+ } : {})
40
+ }
41
+ });
42
+ }
24
43
  });
25
44
  export const parseCode = (code, {
26
45
  isExpression = true
@@ -1 +1 @@
1
- {"version":3,"names":["isBrowser","isEditing","getUserAttributes","getFunctionArguments","builder","context","event","state","Object","entries","Builder","getBuilderGlobals","isServer","parseCode","code","isExpression","useReturn","includes","trim","startsWith","useCode","flattenState","rootState","localState","rootSetState","Proxy","get","target","prop","val","undefined","subState","set","value","Error"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/helpers.ts"],"mappings":"AACA,SAASA,SAAS;AAClB,SAASC,SAAS;AAClB,SAASC,iBAAiB;AAkB1B,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,OAAO;EACPC,OAAO;EACPC,KAAK;EACLC;AAGF,CAAC,KAAK;EACJ,OAAOC,MAAM,CAACC,OAAO,CAAC;IACpBF,KAAK;IACLG,OAAO,EAAEN,OAAO;IAChB;IACAA,OAAO;IACPC,OAAO;IACPC;EACF,CAAC,CAAC;AACJ,CAAC;AACD,OAAO,MAAMK,iBAAiB,GAAGA,CAAA,MAAuB;EACtDV,SAAS,EAAEA,SAAS,CAAC,CAAC;EACtBD,SAAS,EAAEA,SAAS,CAAC,CAAC;EACtBY,QAAQ,EAAE,CAACZ,SAAS,CAAC,CAAC;EACtBE,iBAAiB,EAAEA,CAAA,KAAMA,iBAAiB,CAAC;AAC7C,CAAC,CAAC;AACF,OAAO,MAAMW,SAAS,GAAGA,CAACC,IAAY,EAAE;EACtCC,YAAY,GAAG;AACoB,CAAC,KAAK;EACzC;EACA;EACA,MAAMC,SAAS;EACf;EACAD,YAAY,IAAI,EAAED,IAAI,CAACG,QAAQ,CAAC,GAAG,CAAC,IAAIH,IAAI,CAACG,QAAQ,CAAC,UAAU,CAAC,IAAIH,IAAI,CAACI,IAAI,CAAC,CAAC,CAACC,UAAU,CAAC,SAAS,CAAC,CAAC;EACvG,MAAMC,OAAO,GAAGJ,SAAS,GAAI,WAAUF,IAAK,IAAG,GAAGA,IAAI;EACtD,OAAOM,OAAO;AAChB,CAAC;AACD,OAAO,SAASC,YAAYA,CAAC;EAC3BC,SAAS;EACTC,UAAU;EACVC;AAKF,CAAC,EAAsB;EACrB,OAAO,IAAIC,KAAK,CAACH,SAAS,EAAE;IAC1BI,GAAG,EAAEA,CAACC,MAAM,EAAEC,IAAI,KAAK;MACrB,IAAIL,UAAU,IAAIK,IAAI,IAAIL,UAAU,EAAE;QACpC,OAAOA,UAAU,CAACK,IAAI,CAAC;MACzB;MACA,MAAMC,GAAG,GAAGF,MAAM,CAACC,IAAI,CAAC;MACxB,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,EAAE;QAC3C,OAAOR,YAAY,CAAC;UAClBC,SAAS,EAAEO,GAAG;UACdN,UAAU,EAAEO,SAAS;UACrBN,YAAY,EAAEA,YAAY,GAAGO,QAAQ,IAAI;YACvCJ,MAAM,CAACC,IAAI,CAAC,GAAGG,QAAQ;YACvBP,YAAY,CAACG,MAAM,CAAC;UACtB,CAAC,GAAGG;QACN,CAAC,CAAC;MACJ;MACA,OAAOD,GAAG;IACZ,CAAC;IACDG,GAAG,EAAEA,CAACL,MAAM,EAAEC,IAAI,EAAEK,KAAK,KAAK;MAC5B,IAAIV,UAAU,IAAIK,IAAI,IAAIL,UAAU,EAAE;QACpC,MAAM,IAAIW,KAAK,CAAC,2DAA2D,CAAC;MAC9E;MACAP,MAAM,CAACC,IAAI,CAAC,GAAGK,KAAK;MACpBT,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAGG,MAAM,CAAC;MACtB,OAAO,IAAI;IACb;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"names":["isBrowser","isEditing","getUserAttributes","_track","getFunctionArguments","builder","context","event","state","Object","entries","Builder","getBuilderGlobals","trackingContext","isServer","trackConversion","amount","customProperties","apiKey","canTrack","type","contentId","variationId","undefined","metadata","parseCode","code","isExpression","useReturn","includes","trim","startsWith","useCode","flattenState","rootState","localState","rootSetState","Proxy","get","target","prop","val","subState","set","value","Error"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/helpers.ts"],"mappings":"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"}
@@ -61,17 +61,23 @@ if (typeof output === 'object' && output !== null) {
61
61
  `;
62
62
  };
63
63
  let IVM_INSTANCE = null;
64
- let IVM_CONTEXT = null;
64
+ // Create fresh isolates per request to prevent memory leaks
65
+ let IVM_OPTIONS = {
66
+ memoryLimit: 128
67
+ };
65
68
 
66
69
  /**
67
70
  * Set the `isolated-vm` instance to be used by the node runtime.
68
71
  * This is useful for environments that are not able to rely on our
69
72
  * `safeDynamicRequire` trick to import the `isolated-vm` package.
70
73
  */
71
- export const setIvm = (ivm, options = {}) => {
74
+ export const setIvm = (ivm, options) => {
72
75
  if (IVM_INSTANCE) return;
73
76
  IVM_INSTANCE = ivm;
74
- setIsolateContext(options);
77
+ // Store options to be used per-request in runInNode
78
+ if (options) {
79
+ IVM_OPTIONS = options;
80
+ }
75
81
  };
76
82
 
77
83
  // only mention the script for SDKs that have it.
@@ -94,30 +100,6 @@ const getIvm = () => {
94
100
  For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
95
101
  throw new Error(ERROR_MESSAGE);
96
102
  };
97
- function setIsolateContext(options = {
98
- memoryLimit: 128
99
- }) {
100
- if (IVM_CONTEXT) return IVM_CONTEXT;
101
- const ivm = getIvm();
102
- const isolate = new ivm.Isolate(options);
103
- const context = isolate.createContextSync();
104
- const jail = context.global;
105
-
106
- // This makes the global object available in the context as `global`. We use `derefInto()` here
107
- // because otherwise `global` would actually be a Reference{} object in the new isolate.
108
- jail.setSync('global', jail.derefInto());
109
-
110
- // We will create a basic `log` function for the new isolate to use.
111
- jail.setSync('log', function (...logArgs) {
112
- console.log(...logArgs);
113
- });
114
- jail.setSync(INJECTED_IVM_GLOBAL, ivm);
115
- IVM_CONTEXT = context;
116
- return context;
117
- }
118
- const getIsolateContext = () => {
119
- return setIsolateContext();
120
- };
121
103
  export const runInNode = ({
122
104
  code,
123
105
  builder,
@@ -128,49 +110,71 @@ export const runInNode = ({
128
110
  rootState
129
111
  }) => {
130
112
  const ivm = getIvm();
131
- const state = fastClone({
132
- ...rootState,
133
- ...localState
134
- });
135
- const args = getFunctionArguments({
136
- builder,
137
- context,
138
- event,
139
- state
140
- });
141
- const isolateContext = getIsolateContext();
142
- const jail = isolateContext.global;
143
113
 
144
- /**
145
- * Propagate state changes back to the reactive root state.
146
- */
147
- jail.setSync(BUILDER_SET_STATE_NAME, function (key, value) {
148
- // mutate the `rootState` object itself. Important for cases where we do not have `rootSetState`
149
- // like Qwik.
150
- set(rootState, key, value);
151
- // call the `rootSetState` function if it exists
152
- rootSetState === null || rootSetState === void 0 || rootSetState(rootState);
153
- });
154
- args.forEach(([key, arg]) => {
155
- const val = typeof arg === 'object' ? new ivm.Reference(
156
- // workaround: methods with default values for arguments is not being cloned over
157
- key === 'builder' ? {
158
- ...arg,
159
- getUserAttributes: () => arg.getUserAttributes()
160
- } : arg) : null;
161
- jail.setSync(getSyncValName(key), val);
162
- });
163
- const evalStr = processCode({
164
- code,
165
- args
166
- });
167
- const resultStr = isolateContext.evalClosureSync(evalStr);
114
+ // Use stored options from setIvm, or default to { memoryLimit: 128 }
115
+ let isolate;
168
116
  try {
169
- // returning objects throw errors in isolated vm, so we stringify it and parse it back
170
- const res = JSON.parse(resultStr);
171
- return res;
172
- } catch (_error) {
173
- return resultStr;
117
+ isolate = new ivm.Isolate(IVM_OPTIONS);
118
+ const isolateContext = isolate.createContextSync();
119
+ const jail = isolateContext.global;
120
+
121
+ // Setup the isolate
122
+ jail.setSync('global', jail.derefInto());
123
+ jail.setSync('log', function (...logArgs) {
124
+ console.log(...logArgs);
125
+ });
126
+ jail.setSync(INJECTED_IVM_GLOBAL, ivm);
127
+ const state = fastClone({
128
+ ...rootState,
129
+ ...localState
130
+ });
131
+ const args = getFunctionArguments({
132
+ builder,
133
+ context,
134
+ event,
135
+ state
136
+ });
137
+
138
+ /**
139
+ * Propagate state changes back to the reactive root state.
140
+ */
141
+ jail.setSync(BUILDER_SET_STATE_NAME, function (key, value) {
142
+ // mutate the `rootState` object itself. Important for cases where we do not have `rootSetState`
143
+ // like Qwik.
144
+ set(rootState, key, value);
145
+ // call the `rootSetState` function if it exists
146
+ rootSetState === null || rootSetState === void 0 || rootSetState(rootState);
147
+ });
148
+ args.forEach(([key, arg]) => {
149
+ const val = typeof arg === 'object' ? new ivm.Reference(
150
+ // workaround: methods with default values for arguments is not being cloned over
151
+ key === 'builder' ? {
152
+ ...arg,
153
+ getUserAttributes: () => arg.getUserAttributes()
154
+ } : arg) : null;
155
+ jail.setSync(getSyncValName(key), val);
156
+ });
157
+ const evalStr = processCode({
158
+ code,
159
+ args
160
+ });
161
+ const resultStr = isolateContext.evalClosureSync(evalStr);
162
+ try {
163
+ // returning objects throw errors in isolated vm, so we stringify it and parse it back
164
+ const res = JSON.parse(resultStr);
165
+ return res;
166
+ } catch (_error) {
167
+ return resultStr;
168
+ }
169
+ } finally {
170
+ // Destroy the entire VM, this frees ALL memory at the C++ level.
171
+ if (isolate) {
172
+ try {
173
+ isolate.dispose();
174
+ } catch (e) {
175
+ // Ignore disposal errors
176
+ }
177
+ }
174
178
  }
175
179
  };
176
180
  //# sourceMappingURL=node-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SDK_NAME","MSG_PREFIX","logger","fastClone","set","getFunctionArguments","safeDynamicRequire","getSyncValName","key","BUILDER_SET_STATE_NAME","INJECTED_IVM_GLOBAL","REF_TO_PROXY_FN","processCode","code","args","fnArgs","map","name","join","IVM_INSTANCE","IVM_CONTEXT","setIvm","ivm","options","setIsolateContext","SHOULD_MENTION_INITIALIZE_SCRIPT","getIvm","dynRequiredIvm","error","ERROR_MESSAGE","Error","memoryLimit","isolate","Isolate","context","createContextSync","jail","global","setSync","derefInto","logArgs","console","log","getIsolateContext","runInNode","builder","event","localState","rootSetState","rootState","state","isolateContext","value","forEach","arg","val","Reference","getUserAttributes","evalStr","resultStr","evalClosureSync","res","JSON","parse","_error"],"sourceRoot":"../../../../../../src","sources":["functions/evaluate/node-runtime/node-runtime.ts"],"mappings":"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"}
1
+ {"version":3,"names":["SDK_NAME","MSG_PREFIX","logger","fastClone","set","getFunctionArguments","safeDynamicRequire","getSyncValName","key","BUILDER_SET_STATE_NAME","INJECTED_IVM_GLOBAL","REF_TO_PROXY_FN","processCode","code","args","fnArgs","map","name","join","IVM_INSTANCE","IVM_OPTIONS","memoryLimit","setIvm","ivm","options","SHOULD_MENTION_INITIALIZE_SCRIPT","getIvm","dynRequiredIvm","error","ERROR_MESSAGE","Error","runInNode","builder","context","event","localState","rootSetState","rootState","isolate","Isolate","isolateContext","createContextSync","jail","global","setSync","derefInto","logArgs","console","log","state","value","forEach","arg","val","Reference","getUserAttributes","evalStr","resultStr","evalClosureSync","res","JSON","parse","_error","dispose","e"],"sourceRoot":"../../../../../../src","sources":["functions/evaluate/node-runtime/node-runtime.ts"],"mappings":"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"}
@@ -6,6 +6,7 @@ export const createEventHandler = (value, options) => event => evaluate({
6
6
  rootState: options.rootState,
7
7
  rootSetState: options.rootSetState,
8
8
  event,
9
- isExpression: false
9
+ isExpression: false,
10
+ trackingContext: options.trackingContext
10
11
  });
11
12
  //# sourceMappingURL=get-block-actions-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["evaluate","createEventHandler","value","options","event","code","context","localState","rootState","rootSetState","isExpression"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions-handler.ts"],"mappings":"AAEA,SAASA,QAAQ;AAKjB,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAa,EAAEC,OAAgB,KAAmBC,KAAK,IAAIJ,QAAQ,CAAC;EACrGK,IAAI,EAAEH,KAAK;EACXI,OAAO,EAAEH,OAAO,CAACG,OAAO;EACxBC,UAAU,EAAEJ,OAAO,CAACI,UAAU;EAC9BC,SAAS,EAAEL,OAAO,CAACK,SAAS;EAC5BC,YAAY,EAAEN,OAAO,CAACM,YAAY;EAClCL,KAAK;EACLM,YAAY,EAAE;AAChB,CAAC,CAAC"}
1
+ {"version":3,"names":["evaluate","createEventHandler","value","options","event","code","context","localState","rootState","rootSetState","isExpression","trackingContext"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions-handler.ts"],"mappings":"AAGA,SAASA,QAAQ;AAMjB,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAa,EAAEC,OAAgB,KAAmBC,KAAK,IAAIJ,QAAQ,CAAC;EACrGK,IAAI,EAAEH,KAAK;EACXI,OAAO,EAAEH,OAAO,CAACG,OAAO;EACxBC,UAAU,EAAEJ,OAAO,CAACI,UAAU;EAC9BC,SAAS,EAAEL,OAAO,CAACK,SAAS;EAC5BC,YAAY,EAAEN,OAAO,CAACM,YAAY;EAClCL,KAAK;EACLM,YAAY,EAAE,KAAK;EACnBC,eAAe,EAAER,OAAO,CAACQ;AAC3B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["TARGET","getEventHandlerName","createEventHandler","getBlockActions","options","obj","optionActions","block","actions","key","hasOwnProperty","value","eventHandlerName","stripPrefix","replace"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions.ts"],"mappings":"AAAA,SAASA,MAAM;AAGf,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAI3B,OAAO,SAASC,eAAeA,CAACC,OAG0D,EAAW;EACnG,MAAMC,GAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACC,OAAO,IAAI,CAAC,CAAC;EACjD,KAAK,MAAMC,GAAG,IAAIH,aAAa,EAAE;IAC/B;IACA,IAAI,CAACA,aAAa,CAACI,cAAc,CAACD,GAAG,CAAC,EAAE;MACtC;IACF;IACA,MAAME,KAAK,GAAGL,aAAa,CAACG,GAAG,CAAC;IAChC,IAAIG,gBAAgB,GAAGX,mBAAmB,CAACQ,GAAG,CAAC;IAC/C,IAAIL,OAAO,CAACS,WAAW,EAAE;MACvB,QAAQb,MAAM;QACZ,KAAK,KAAK;UACRY,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;UACxD;QACF,KAAK,QAAQ;UACXF,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;UACtD;MACJ;IACF;IACAT,GAAG,CAACO,gBAAgB,CAAC,GAAGV,kBAAkB,CAACS,KAAK,EAAEP,OAAO,CAAC;EAC5D;EACA,OAAOC,GAAG;AACZ"}
1
+ {"version":3,"names":["TARGET","getEventHandlerName","createEventHandler","getBlockActions","options","obj","optionActions","block","actions","key","hasOwnProperty","value","eventHandlerName","stripPrefix","replace"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions.ts"],"mappings":"AAAA,SAASA,MAAM;AAIf,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAI3B,OAAO,SAASC,eAAeA,CAACC,OAI0D,EAAW;EACnG,MAAMC,GAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACC,OAAO,IAAI,CAAC,CAAC;EACjD,KAAK,MAAMC,GAAG,IAAIH,aAAa,EAAE;IAC/B;IACA,IAAI,CAACA,aAAa,CAACI,cAAc,CAACD,GAAG,CAAC,EAAE;MACtC;IACF;IACA,MAAME,KAAK,GAAGL,aAAa,CAACG,GAAG,CAAC;IAChC,IAAIG,gBAAgB,GAAGX,mBAAmB,CAACQ,GAAG,CAAC;IAC/C,IAAIL,OAAO,CAACS,WAAW,EAAE;MACvB,QAAQb,MAAM;QACZ,KAAK,KAAK;UACRY,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;UACxD;QACF,KAAK,QAAQ;UACXF,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;UACtD;MACJ;IACF;IACAT,GAAG,CAACO,gBAAgB,CAAC,GAAGV,kBAAkB,CAACS,KAAK,EAAEP,OAAO,CAAC;EAC5D;EACA,OAAOC,GAAG;AACZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"block-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/block-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;GAEG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAoB7C;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"block-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/block-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;GAEG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBA0B7C;AAED,eAAe,YAAY,CAAC"}