@builder.io/mitosis 0.0.45 → 0.0.46

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 (206) hide show
  1. package/dist/src/__tests__/builder.test.js +71 -68
  2. package/dist/src/__tests__/context.test.js +13 -10
  3. package/dist/src/__tests__/data/basic.raw.jsx +1 -1
  4. package/dist/src/__tests__/data/blocks/button-with-metadata.raw.jsx +1 -1
  5. package/dist/src/__tests__/data/blocks/columns.raw.jsx +2 -2
  6. package/dist/src/__tests__/data/blocks/custom-code.raw.jsx +3 -3
  7. package/dist/src/__tests__/data/blocks/embed.raw.jsx +3 -3
  8. package/dist/src/__tests__/data/blocks/form.raw.jsx +5 -5
  9. package/dist/src/__tests__/data/blocks/image.raw.jsx +4 -4
  10. package/dist/src/__tests__/data/blocks/stamped-io.raw.jsx +4 -4
  11. package/dist/src/__tests__/data/context/component-with-context.lite.jsx +2 -2
  12. package/dist/src/__tests__/data/context/simple.context.lite.js +1 -1
  13. package/dist/src/__tests__/html.test.js +2 -2
  14. package/dist/src/__tests__/liquid.test.js +34 -34
  15. package/dist/src/__tests__/parse-jsx.test.js +1 -1
  16. package/dist/src/__tests__/qwik.test.js +36 -36
  17. package/dist/src/__tests__/react-native.test.js +35 -35
  18. package/dist/src/__tests__/react.test.js +35 -35
  19. package/dist/src/__tests__/solid.test.js +32 -32
  20. package/dist/src/__tests__/vue.test.js +35 -34
  21. package/dist/src/generators/angular.d.ts +4 -7
  22. package/dist/src/generators/angular.js +77 -81
  23. package/dist/src/generators/builder.d.ts +4 -4
  24. package/dist/src/generators/builder.js +57 -57
  25. package/dist/src/generators/context/react.d.ts +3 -1
  26. package/dist/src/generators/context/react.js +20 -17
  27. package/dist/src/generators/html.d.ts +5 -9
  28. package/dist/src/generators/html.js +205 -199
  29. package/dist/src/generators/liquid.d.ts +5 -9
  30. package/dist/src/generators/liquid.js +62 -59
  31. package/dist/src/generators/mitosis.d.ts +6 -7
  32. package/dist/src/generators/mitosis.js +61 -63
  33. package/dist/src/generators/qwik/component.js +13 -13
  34. package/dist/src/generators/qwik/handlers.js +12 -8
  35. package/dist/src/generators/qwik/jsx.js +13 -9
  36. package/dist/src/generators/qwik/styles.js +11 -7
  37. package/dist/src/generators/react-native.d.ts +4 -7
  38. package/dist/src/generators/react-native.js +25 -22
  39. package/dist/src/generators/react.d.ts +4 -8
  40. package/dist/src/generators/react.js +103 -112
  41. package/dist/src/generators/solid.d.ts +4 -8
  42. package/dist/src/generators/solid.js +55 -54
  43. package/dist/src/generators/svelte.d.ts +4 -7
  44. package/dist/src/generators/svelte.js +120 -123
  45. package/dist/src/generators/swift-ui.d.ts +2 -2
  46. package/dist/src/generators/swift-ui.js +62 -62
  47. package/dist/src/generators/template.d.ts +4 -8
  48. package/dist/src/generators/template.js +48 -45
  49. package/dist/src/generators/vue.d.ts +9 -9
  50. package/dist/src/generators/vue.js +169 -169
  51. package/dist/src/helpers/babel-transform.js +9 -9
  52. package/dist/src/helpers/collect-styles.js +39 -39
  53. package/dist/src/helpers/dash-case.js +1 -1
  54. package/dist/src/helpers/generic-format.test.js +2 -2
  55. package/dist/src/helpers/get-components-used.js +2 -2
  56. package/dist/src/helpers/get-components.js +3 -3
  57. package/dist/src/helpers/get-props.js +1 -1
  58. package/dist/src/helpers/get-refs.js +2 -2
  59. package/dist/src/helpers/get-state-object-string.js +5 -5
  60. package/dist/src/helpers/get-state-used.js +1 -1
  61. package/dist/src/helpers/get-styles.js +1 -1
  62. package/dist/src/helpers/getters-to-functions.js +4 -4
  63. package/dist/src/helpers/handle-missing-state.js +1 -1
  64. package/dist/src/helpers/has-component.js +2 -2
  65. package/dist/src/helpers/has-props.js +1 -1
  66. package/dist/src/helpers/is-children.js +1 -1
  67. package/dist/src/helpers/json.d.ts +1 -0
  68. package/dist/src/helpers/json.js +17 -0
  69. package/dist/src/helpers/map-refs.js +4 -4
  70. package/dist/src/helpers/map-to-attributes.js +4 -4
  71. package/dist/src/helpers/map-to-css.js +2 -2
  72. package/dist/src/helpers/parse-node.js +2 -2
  73. package/dist/src/helpers/parse-reactive-script.js +4 -4
  74. package/dist/src/helpers/process-http-requests.js +1 -1
  75. package/dist/src/helpers/process-tag-references.js +4 -4
  76. package/dist/src/helpers/remove-surrounding-block.test.js +1 -1
  77. package/dist/src/helpers/render-imports.js +7 -7
  78. package/dist/src/helpers/replace-idenifiers.js +1 -1
  79. package/dist/src/helpers/strip-meta-properties.js +2 -2
  80. package/dist/src/helpers/trace-reference-to-module-path.js +1 -1
  81. package/dist/src/helpers/traverse-nodes.js +2 -2
  82. package/dist/src/helpers/try-prettier-format.js +1 -1
  83. package/dist/src/index.d.ts +2 -0
  84. package/dist/src/index.js +2 -0
  85. package/dist/src/modules/plugins.d.ts +2 -10
  86. package/dist/src/parsers/angular.js +13 -13
  87. package/dist/src/parsers/builder.js +54 -58
  88. package/dist/src/parsers/context.js +2 -2
  89. package/dist/src/parsers/jsx.js +59 -87
  90. package/dist/src/parsers/liquid.js +191 -194
  91. package/dist/src/plugins/compile-away-builder-components.js +49 -45
  92. package/dist/src/plugins/compile-away-components.js +3 -3
  93. package/dist/src/plugins/map-styles.js +3 -3
  94. package/dist/src/targets.d.ts +24 -0
  95. package/dist/src/targets.js +30 -0
  96. package/dist/src/types/config.d.ts +31 -0
  97. package/dist/src/types/{jsx-lite-component.js → config.js} +0 -0
  98. package/dist/{test/qwik/Todo/Todo.js/low.js → src/types/generators.d.ts} +0 -0
  99. package/dist/src/types/generators.js +1 -0
  100. package/dist/src/types/plugins.d.ts +11 -0
  101. package/dist/src/types/{jsx-lite-context.js → plugins.js} +0 -0
  102. package/dist/test/qwik/{Todo → todo}/Todo.cjs/high.cjs +0 -0
  103. package/dist/test/qwik/{Todo → todo}/Todo.cjs/low.cjs +0 -0
  104. package/dist/test/qwik/{Todo → todo}/Todo.cjs/med.cjs +0 -0
  105. package/dist/test/qwik/{Todo → todo}/Todo.js/high.js +0 -0
  106. package/dist/test/qwik/{qwik/todo → todo}/Todo.js/low.js +0 -0
  107. package/dist/test/qwik/{Todo → todo}/Todo.js/med.js +0 -0
  108. package/dist/test/qwik/{Todo → todo}/Todo.tsx/high.tsx +0 -0
  109. package/dist/test/qwik/{Todo → todo}/Todo.tsx/low.tsx +0 -0
  110. package/dist/test/qwik/{Todo → todo}/Todo.tsx/med.tsx +0 -0
  111. package/dist/test/qwik/{Todos → todos}/Todo.tsx/high.tsx +0 -0
  112. package/dist/test/qwik/{Todos → todos}/Todo.tsx/low.tsx +0 -0
  113. package/dist/test/qwik/{Todos → todos}/Todo.tsx/med.tsx +0 -0
  114. package/dist/tsconfig.tsbuildinfo +1 -1
  115. package/package.json +2 -2
  116. package/dist/src/__tests__/data/blocks/tabs.raw.d.ts +0 -11
  117. package/dist/src/__tests__/data/blocks/tabs.raw.jsx +0 -24
  118. package/dist/src/__tests__/qoot.test.d.ts +0 -1
  119. package/dist/src/__tests__/qoot.test.js +0 -115
  120. package/dist/src/generators/jsx-lite.d.ts +0 -10
  121. package/dist/src/generators/jsx-lite.js +0 -176
  122. package/dist/src/generators/qoot.d.ts +0 -21
  123. package/dist/src/generators/qoot.js +0 -442
  124. package/dist/src/generators/qwik.d.ts +0 -21
  125. package/dist/src/generators/qwik.js +0 -458
  126. package/dist/src/helpers/create-jsx-lite-component.d.ts +0 -2
  127. package/dist/src/helpers/create-jsx-lite-component.js +0 -16
  128. package/dist/src/helpers/create-jsx-lite-context.d.ts +0 -4
  129. package/dist/src/helpers/create-jsx-lite-context.js +0 -18
  130. package/dist/src/helpers/create-jsx-lite-node.d.ts +0 -2
  131. package/dist/src/helpers/create-jsx-lite-node.js +0 -16
  132. package/dist/src/helpers/is-jsx-lite-node.d.ts +0 -2
  133. package/dist/src/helpers/is-jsx-lite-node.js +0 -7
  134. package/dist/src/types/jsx-lite-component.d.ts +0 -63
  135. package/dist/src/types/jsx-lite-context.d.ts +0 -6
  136. package/dist/src/types/jsx-lite-node.d.ts +0 -13
  137. package/dist/src/types/jsx-lite-node.js +0 -2
  138. package/dist/src/types/jsx-lite-styles.d.ts +0 -1
  139. package/dist/src/types/jsx-lite-styles.js +0 -2
  140. package/dist/test/qoot/Todo/bundle.js +0 -88
  141. package/dist/test/qoot/Todo/component.ts +0 -17
  142. package/dist/test/qoot/Todo/onButtonClick.ts +0 -13
  143. package/dist/test/qoot/Todo/onInput2Blur.ts +0 -11
  144. package/dist/test/qoot/Todo/onInput2KeyUp.ts +0 -10
  145. package/dist/test/qoot/Todo/onInputClick.ts +0 -10
  146. package/dist/test/qoot/Todo/onLabelDblClick.ts +0 -11
  147. package/dist/test/qoot/Todo/public.ts +0 -4
  148. package/dist/test/qoot/Todo/template.tsx +0 -46
  149. package/dist/test/qoot/Todos/component.ts +0 -9
  150. package/dist/test/qoot/Todos/onInputClick.ts +0 -14
  151. package/dist/test/qoot/Todos/public.ts +0 -3
  152. package/dist/test/qoot/Todos/template.tsx +0 -30
  153. package/dist/test/qwik/Todo/bundle.js +0 -46
  154. package/dist/test/qwik/Todo/component.ts +0 -17
  155. package/dist/test/qwik/Todo/onButtonClick.ts +0 -10
  156. package/dist/test/qwik/Todo/onInput2Blur.ts +0 -14
  157. package/dist/test/qwik/Todo/onInput2KeyUp.ts +0 -10
  158. package/dist/test/qwik/Todo/onInputClick.ts +0 -13
  159. package/dist/test/qwik/Todo/onLabelDblClick.ts +0 -11
  160. package/dist/test/qwik/Todo/public.ts +0 -3
  161. package/dist/test/qwik/Todo/template.tsx +0 -46
  162. package/dist/test/qwik/Todo.ts +0 -4
  163. package/dist/test/qwik/Todo_component.ts +0 -17
  164. package/dist/test/qwik/Todo_onButtonClick.ts +0 -13
  165. package/dist/test/qwik/Todo_onInput2Blur.ts +0 -14
  166. package/dist/test/qwik/Todo_onInput2KeyUp.ts +0 -10
  167. package/dist/test/qwik/Todo_onInputClick.ts +0 -13
  168. package/dist/test/qwik/Todo_onLabelDblClick.ts +0 -14
  169. package/dist/test/qwik/Todo_template.tsx +0 -46
  170. package/dist/test/qwik/Todos/component.ts +0 -9
  171. package/dist/test/qwik/Todos/onInputClick.ts +0 -14
  172. package/dist/test/qwik/Todos/public.ts +0 -3
  173. package/dist/test/qwik/Todos/template.tsx +0 -30
  174. package/dist/test/qwik/Todos.ts +0 -3
  175. package/dist/test/qwik/Todos_component.ts +0 -9
  176. package/dist/test/qwik/Todos_onInputClick.ts +0 -14
  177. package/dist/test/qwik/Todos_template.tsx +0 -30
  178. package/dist/test/qwik/qwik/Image/high.js +0 -1
  179. package/dist/test/qwik/qwik/Image/low.js +0 -75
  180. package/dist/test/qwik/qwik/Image/med.js +0 -9
  181. package/dist/test/qwik/qwik/Image.slow/high.js +0 -1
  182. package/dist/test/qwik/qwik/Image.slow/low.js +0 -75
  183. package/dist/test/qwik/qwik/Image.slow/med.js +0 -9
  184. package/dist/test/qwik/qwik/button/high.js +0 -8
  185. package/dist/test/qwik/qwik/button/low.js +0 -34
  186. package/dist/test/qwik/qwik/button/med.js +0 -9
  187. package/dist/test/qwik/qwik/hello_world/stylesheet/high.jsx +0 -1
  188. package/dist/test/qwik/qwik/hello_world/stylesheet/low.jsx +0 -24
  189. package/dist/test/qwik/qwik/hello_world/stylesheet/med.jsx +0 -9
  190. package/dist/test/qwik/qwik/page-with-symbol/high.js +0 -1
  191. package/dist/test/qwik/qwik/page-with-symbol/low.js +0 -49
  192. package/dist/test/qwik/qwik/page-with-symbol/med.js +0 -9
  193. package/dist/test/qwik/qwik/svg/high.js +0 -1
  194. package/dist/test/qwik/qwik/svg/low.js +0 -30
  195. package/dist/test/qwik/qwik/svg/med.js +0 -9
  196. package/dist/test/qwik/qwik/todo/Todo.cjs/high.cjs +0 -31
  197. package/dist/test/qwik/qwik/todo/Todo.cjs/low.cjs +0 -1
  198. package/dist/test/qwik/qwik/todo/Todo.cjs/med.cjs +0 -59
  199. package/dist/test/qwik/qwik/todo/Todo.js/high.js +0 -5
  200. package/dist/test/qwik/qwik/todo/Todo.js/med.js +0 -1
  201. package/dist/test/qwik/qwik/todo/Todo.tsx/high.tsx +0 -30
  202. package/dist/test/qwik/qwik/todo/Todo.tsx/low.tsx +0 -1
  203. package/dist/test/qwik/qwik/todo/Todo.tsx/med.tsx +0 -34
  204. package/dist/test/qwik/qwik/todos/Todo.tsx/high.tsx +0 -12
  205. package/dist/test/qwik/qwik/todos/Todo.tsx/low.tsx +0 -24
  206. package/dist/test/qwik/qwik/todos/Todo.tsx/med.tsx +0 -8
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.parseJsx = exports.METADATA_HOOK_NAME = exports.parseStateObject = exports.createFunctionStringLiteralObjectProperty = exports.createFunctionStringLiteral = exports.selfClosingTags = void 0;
37
37
  var babel = __importStar(require("@babel/core"));
38
38
  var generator_1 = __importDefault(require("@babel/generator"));
39
- var JSON5 = __importStar(require("json5"));
40
39
  var trace_reference_to_module_path_1 = require("../helpers/trace-reference-to-module-path");
41
40
  var traverse_1 = __importDefault(require("traverse"));
42
41
  var function_literal_prefix_1 = require("../constants/function-literal-prefix");
@@ -48,6 +47,7 @@ var create_mitosis_node_1 = require("../helpers/create-mitosis-node");
48
47
  var is_mitosis_node_1 = require("../helpers/is-mitosis-node");
49
48
  var replace_idenifiers_1 = require("../helpers/replace-idenifiers");
50
49
  var replace_new_lines_in_strings_1 = require("../helpers/replace-new-lines-in-strings");
50
+ var json_1 = require("../helpers/json");
51
51
  var jsxPlugin = require('@babel/plugin-syntax-jsx');
52
52
  var tsPreset = require('@babel/preset-typescript');
53
53
  exports.selfClosingTags = new Set([
@@ -114,11 +114,11 @@ var jsonObjectToAst = function (json) {
114
114
  return newNode;
115
115
  };
116
116
  var createFunctionStringLiteral = function (node) {
117
- return types.stringLiteral("" + function_literal_prefix_1.functionLiteralPrefix + generator_1.default(node).code);
117
+ return types.stringLiteral("".concat(function_literal_prefix_1.functionLiteralPrefix).concat((0, generator_1.default)(node).code));
118
118
  };
119
119
  exports.createFunctionStringLiteral = createFunctionStringLiteral;
120
120
  var createFunctionStringLiteralObjectProperty = function (key, node) {
121
- return types.objectProperty(key, exports.createFunctionStringLiteral(node));
121
+ return types.objectProperty(key, (0, exports.createFunctionStringLiteral)(node));
122
122
  };
123
123
  exports.createFunctionStringLiteralObjectProperty = createFunctionStringLiteralObjectProperty;
124
124
  var uncapitalize = function (str) {
@@ -133,11 +133,11 @@ var parseStateObject = function (object) {
133
133
  if (types.isObjectProperty(item)) {
134
134
  if (types.isFunctionExpression(item.value) ||
135
135
  types.isArrowFunctionExpression(item.value)) {
136
- return exports.createFunctionStringLiteralObjectProperty(item.key, item.value);
136
+ return (0, exports.createFunctionStringLiteralObjectProperty)(item.key, item.value);
137
137
  }
138
138
  }
139
139
  if (types.isObjectMethod(item)) {
140
- return types.objectProperty(item.key, types.stringLiteral("" + method_literal_prefix_1.methodLiteralPrefix + generator_1.default(__assign(__assign({}, item), { returnType: null })).code));
140
+ return types.objectProperty(item.key, types.stringLiteral("".concat(method_literal_prefix_1.methodLiteralPrefix).concat((0, generator_1.default)(__assign(__assign({}, item), { returnType: null })).code)));
141
141
  }
142
142
  // Remove typescript types, e.g. from
143
143
  // { foo: ('string' as SomeType) }
@@ -151,29 +151,13 @@ var parseStateObject = function (object) {
151
151
  return item;
152
152
  });
153
153
  var newObject = types.objectExpression(useProperties);
154
- var code;
155
- var obj;
156
- try {
157
- code = generator_1.default(newObject).code;
158
- obj = JSON5.parse(code);
159
- }
160
- catch (err) {
161
- console.error('Could not JSON5 parse object:\n', code);
162
- throw err;
163
- }
154
+ var obj = parseCodeJson(newObject);
164
155
  return obj;
165
156
  };
166
157
  exports.parseStateObject = parseStateObject;
167
- var parseJson = function (node) {
168
- var code;
169
- try {
170
- code = generator_1.default(node).code;
171
- return JSON5.parse(code);
172
- }
173
- catch (err) {
174
- console.error('Could not JSON5 parse object:\n', code);
175
- throw err;
176
- }
158
+ var parseCodeJson = function (node) {
159
+ var code = (0, generator_1.default)(node).code;
160
+ return (0, json_1.tryParseJson)(code);
177
161
  };
178
162
  var componentFunctionToJson = function (node, context) {
179
163
  var _a;
@@ -192,12 +176,12 @@ var componentFunctionToJson = function (node, context) {
192
176
  var keyNode = expression.arguments[0];
193
177
  if (types.isIdentifier(keyNode)) {
194
178
  var key = keyNode.name;
195
- var keyPath = trace_reference_to_module_path_1.traceReferenceToModulePath(context.builder.component.imports, key);
179
+ var keyPath = (0, trace_reference_to_module_path_1.traceReferenceToModulePath)(context.builder.component.imports, key);
196
180
  var valueNode = expression.arguments[1];
197
181
  setContext[keyPath] = {
198
182
  name: keyNode.name,
199
183
  value: valueNode && types.isObjectExpression(valueNode)
200
- ? exports.parseStateObject(valueNode)
184
+ ? (0, exports.parseStateObject)(valueNode)
201
185
  : undefined,
202
186
  };
203
187
  }
@@ -207,7 +191,7 @@ var componentFunctionToJson = function (node, context) {
207
191
  var firstArg = expression.arguments[0];
208
192
  if (types.isFunctionExpression(firstArg) ||
209
193
  types.isArrowFunctionExpression(firstArg)) {
210
- hooks.onMount = generator_1.default(firstArg.body)
194
+ hooks.onMount = (0, generator_1.default)(firstArg.body)
211
195
  .code.trim()
212
196
  // Remove abtrary block wrapping if any
213
197
  // AKA
@@ -221,7 +205,7 @@ var componentFunctionToJson = function (node, context) {
221
205
  }
222
206
  if (types.isFunctionDeclaration(item)) {
223
207
  if (types.isIdentifier(item.id)) {
224
- state[item.id.name] = "" + function_literal_prefix_1.functionLiteralPrefix + generator_1.default(item).code;
208
+ state[item.id.name] = "".concat(function_literal_prefix_1.functionLiteralPrefix).concat((0, generator_1.default)(item).code);
225
209
  }
226
210
  }
227
211
  if (types.isVariableDeclaration(item)) {
@@ -238,12 +222,12 @@ var componentFunctionToJson = function (node, context) {
238
222
  // Function as init, like:
239
223
  // useState(() => true)
240
224
  if (types.isArrowFunctionExpression(value)) {
241
- state[varName] = parseJson(value.body);
225
+ state[varName] = parseCodeJson(value.body);
242
226
  }
243
227
  else {
244
228
  // Value as init, like:
245
229
  // useState(true)
246
- state[varName] = parseJson(value);
230
+ state[varName] = parseCodeJson(value);
247
231
  }
248
232
  }
249
233
  }
@@ -253,7 +237,7 @@ var componentFunctionToJson = function (node, context) {
253
237
  if (init.callee.name === 'useState') {
254
238
  var firstArg = init.arguments[0];
255
239
  if (types.isObjectExpression(firstArg)) {
256
- state = exports.parseStateObject(firstArg);
240
+ state = (0, exports.parseStateObject)(firstArg);
257
241
  }
258
242
  }
259
243
  else if (init.callee.name === 'useContext') {
@@ -265,7 +249,7 @@ var componentFunctionToJson = function (node, context) {
265
249
  var name_1 = firstArg.name;
266
250
  accessedContext[varName] = {
267
251
  name: name_1,
268
- path: trace_reference_to_module_path_1.traceReferenceToModulePath(context.builder.component.imports, name_1),
252
+ path: (0, trace_reference_to_module_path_1.traceReferenceToModulePath)(context.builder.component.imports, name_1),
269
253
  };
270
254
  }
271
255
  }
@@ -284,16 +268,14 @@ var componentFunctionToJson = function (node, context) {
284
268
  children.push(jsxElementToJson(value));
285
269
  }
286
270
  }
287
- return create_mitosis_component_1.createMitosisComponent(__assign(__assign({}, context.builder.component), { name: (_a = node.id) === null || _a === void 0 ? void 0 : _a.name, state: state,
288
- children: children,
289
- hooks: hooks, context: {
271
+ return (0, create_mitosis_component_1.createMitosisComponent)(__assign(__assign({}, context.builder.component), { name: (_a = node.id) === null || _a === void 0 ? void 0 : _a.name, state: state, children: children, hooks: hooks, context: {
290
272
  get: accessedContext,
291
273
  set: setContext,
292
274
  } }));
293
275
  };
294
276
  var jsxElementToJson = function (node) {
295
277
  if (types.isJSXText(node)) {
296
- return create_mitosis_node_1.createMitosisNode({
278
+ return (0, create_mitosis_node_1.createMitosisNode)({
297
279
  properties: {
298
280
  _text: node.value,
299
281
  },
@@ -310,10 +292,10 @@ var jsxElementToJson = function (node) {
310
292
  if (types.isArrowFunctionExpression(callback)) {
311
293
  if (types.isIdentifier(callback.params[0])) {
312
294
  var forName = callback.params[0].name;
313
- return create_mitosis_node_1.createMitosisNode({
295
+ return (0, create_mitosis_node_1.createMitosisNode)({
314
296
  name: 'For',
315
297
  bindings: {
316
- each: generator_1.default(node.expression.callee)
298
+ each: (0, generator_1.default)(node.expression.callee)
317
299
  .code // Remove .map or potentially ?.map
318
300
  .replace(/\??\.map$/, ''),
319
301
  },
@@ -328,10 +310,10 @@ var jsxElementToJson = function (node) {
328
310
  // {foo && <div />} -> <Show when={foo}>...</Show>
329
311
  if (types.isLogicalExpression(node.expression)) {
330
312
  if (node.expression.operator === '&&') {
331
- return create_mitosis_node_1.createMitosisNode({
313
+ return (0, create_mitosis_node_1.createMitosisNode)({
332
314
  name: 'Show',
333
315
  bindings: {
334
- when: generator_1.default(node.expression.left).code,
316
+ when: (0, generator_1.default)(node.expression.left).code,
335
317
  },
336
318
  children: [jsxElementToJson(node.expression.right)],
337
319
  });
@@ -342,43 +324,43 @@ var jsxElementToJson = function (node) {
342
324
  }
343
325
  // {foo ? <div /> : <span />} -> <Show when={foo} else={<span />}>...</Show>
344
326
  if (types.isConditionalExpression(node.expression)) {
345
- return create_mitosis_node_1.createMitosisNode({
327
+ return (0, create_mitosis_node_1.createMitosisNode)({
346
328
  name: 'Show',
347
329
  meta: {
348
330
  else: jsxElementToJson(node.expression.alternate),
349
331
  },
350
332
  bindings: {
351
- when: generator_1.default(node.expression.test).code,
333
+ when: (0, generator_1.default)(node.expression.test).code,
352
334
  },
353
335
  children: [jsxElementToJson(node.expression.consequent)],
354
336
  });
355
337
  }
356
338
  // TODO: support {foo ? bar : baz}
357
- return create_mitosis_node_1.createMitosisNode({
339
+ return (0, create_mitosis_node_1.createMitosisNode)({
358
340
  bindings: {
359
- _text: generator_1.default(node.expression).code,
341
+ _text: (0, generator_1.default)(node.expression).code,
360
342
  },
361
343
  });
362
344
  }
363
345
  if (types.isJSXFragment(node)) {
364
- return create_mitosis_node_1.createMitosisNode({
346
+ return (0, create_mitosis_node_1.createMitosisNode)({
365
347
  name: 'Fragment',
366
348
  children: node.children
367
349
  .map(function (item) { return jsxElementToJson(item); })
368
350
  .filter(Boolean),
369
351
  });
370
352
  }
371
- var nodeName = generator_1.default(node.openingElement.name).code;
353
+ var nodeName = (0, generator_1.default)(node.openingElement.name).code;
372
354
  if (nodeName === 'Show') {
373
355
  var whenAttr = node.openingElement.attributes.find(function (item) { return types.isJSXAttribute(item) && item.name.name === 'when'; });
374
356
  var elseAttr = node.openingElement.attributes.find(function (item) { return types.isJSXAttribute(item) && item.name.name === 'else'; });
375
357
  var whenValue = whenAttr &&
376
358
  types.isJSXExpressionContainer(whenAttr.value) &&
377
- generator_1.default(whenAttr.value.expression).code;
359
+ (0, generator_1.default)(whenAttr.value.expression).code;
378
360
  var elseValue = elseAttr &&
379
361
  types.isJSXExpressionContainer(elseAttr.value) &&
380
362
  jsxElementToJson(elseAttr.value.expression);
381
- return create_mitosis_node_1.createMitosisNode({
363
+ return (0, create_mitosis_node_1.createMitosisNode)({
382
364
  name: 'Show',
383
365
  meta: {
384
366
  else: elseValue || undefined,
@@ -401,10 +383,10 @@ var jsxElementToJson = function (node) {
401
383
  if (types.isArrowFunctionExpression(childExpression)) {
402
384
  var argName = childExpression.params[0]
403
385
  .name;
404
- return create_mitosis_node_1.createMitosisNode({
386
+ return (0, create_mitosis_node_1.createMitosisNode)({
405
387
  name: 'For',
406
388
  bindings: {
407
- each: generator_1.default(node.openingElement.attributes[0]
389
+ each: (0, generator_1.default)(node.openingElement.attributes[0]
408
390
  .value.expression).code,
409
391
  },
410
392
  properties: {
@@ -415,7 +397,7 @@ var jsxElementToJson = function (node) {
415
397
  }
416
398
  }
417
399
  }
418
- return create_mitosis_node_1.createMitosisNode({
400
+ return (0, create_mitosis_node_1.createMitosisNode)({
419
401
  name: nodeName,
420
402
  properties: node.openingElement.attributes.reduce(function (memo, item) {
421
403
  if (types.isJSXAttribute(item)) {
@@ -435,10 +417,10 @@ var jsxElementToJson = function (node) {
435
417
  if (types.isJSXExpressionContainer(value)) {
436
418
  var expression = value.expression;
437
419
  if (types.isArrowFunctionExpression(expression)) {
438
- memo[key] = generator_1.default(expression.body).code;
420
+ memo[key] = (0, generator_1.default)(expression.body).code;
439
421
  }
440
422
  else {
441
- memo[key] = generator_1.default(expression).code;
423
+ memo[key] = (0, generator_1.default)(expression).code;
442
424
  }
443
425
  return memo;
444
426
  }
@@ -447,7 +429,7 @@ var jsxElementToJson = function (node) {
447
429
  // TODO: potentially like Vue store bindings and properties as array of key value pairs
448
430
  // too so can do this accurately when order matters. Also tempting to not support spread,
449
431
  // as some frameworks do not support it (e.g. Angular) tho Angular may be the only one
450
- memo._spread = types.stringLiteral(generator_1.default(item.argument).code);
432
+ memo._spread = types.stringLiteral((0, generator_1.default)(item.argument).code);
451
433
  }
452
434
  return memo;
453
435
  }, {}),
@@ -484,13 +466,12 @@ var collectMetadata = function (nodes, component, options) {
484
466
  return true;
485
467
  }
486
468
  if (types.isIdentifier(hook.callee) && hookNames.has(hook.callee.name)) {
487
- var code = generator_1.default(hook.arguments[0]).code;
488
469
  try {
489
- component.meta[hook.callee.name] = JSON5.parse(code);
470
+ component.meta[hook.callee.name] = parseCodeJson(hook.arguments[0]);
490
471
  return false;
491
472
  }
492
473
  catch (e) {
493
- console.error("Error parsing metadata hook " + hook.callee.name, code);
474
+ console.error("Error parsing metadata hook ".concat(hook.callee.name));
494
475
  throw e;
495
476
  }
496
477
  }
@@ -498,17 +479,17 @@ var collectMetadata = function (nodes, component, options) {
498
479
  });
499
480
  };
500
481
  function mapReactIdentifiersInExpression(expression, stateProperties) {
501
- var setExpressions = stateProperties.map(function (propertyName) { return "set" + capitalize_1.capitalize(propertyName); });
502
- return babel_transform_1.babelTransformExpression(
482
+ var setExpressions = stateProperties.map(function (propertyName) { return "set".concat((0, capitalize_1.capitalize)(propertyName)); });
483
+ return (0, babel_transform_1.babelTransformExpression)(
503
484
  // foo -> state.foo
504
- replace_idenifiers_1.replaceIdentifiers(expression, stateProperties, function (name) { return "state." + name; }), {
485
+ (0, replace_idenifiers_1.replaceIdentifiers)(expression, stateProperties, function (name) { return "state.".concat(name); }), {
505
486
  CallExpression: function (path) {
506
487
  if (types.isIdentifier(path.node.callee)) {
507
488
  if (setExpressions.includes(path.node.callee.name)) {
508
489
  // setFoo -> foo
509
490
  var statePropertyName = uncapitalize(path.node.callee.name.slice(3));
510
491
  // setFoo(...) -> state.foo = ...
511
- path.replaceWith(types.assignmentExpression('=', types.identifier("state." + statePropertyName), path.node.arguments[0]));
492
+ path.replaceWith(types.assignmentExpression('=', types.identifier("state.".concat(statePropertyName)), path.node.arguments[0]));
512
493
  }
513
494
  }
514
495
  },
@@ -530,8 +511,8 @@ function mapReactIdentifiers(json) {
530
511
  mapReactIdentifiersInExpression(value.replace(function_literal_prefix_1.functionLiteralPrefix, ''), stateProperties);
531
512
  }
532
513
  }
533
- traverse_1.default(json).forEach(function (item) {
534
- if (is_mitosis_node_1.isMitosisNode(item)) {
514
+ (0, traverse_1.default)(json).forEach(function (item) {
515
+ if ((0, is_mitosis_node_1.isMitosisNode)(item)) {
535
516
  for (var key in item.bindings) {
536
517
  var value = item.bindings[key];
537
518
  if (value) {
@@ -554,7 +535,7 @@ function mapReactIdentifiers(json) {
554
535
  });
555
536
  }
556
537
  var expressionToNode = function (str) {
557
- var code = "export default " + str;
538
+ var code = "export default ".concat(str);
558
539
  return babel.parse(code).program
559
540
  .body[0].declaration;
560
541
  };
@@ -563,19 +544,19 @@ var expressionToNode = function (str) {
563
544
  * MitosisComponent tree
564
545
  */
565
546
  function extractContextComponents(json) {
566
- traverse_1.default(json).forEach(function (item) {
567
- if (is_mitosis_node_1.isMitosisNode(item)) {
547
+ (0, traverse_1.default)(json).forEach(function (item) {
548
+ if ((0, is_mitosis_node_1.isMitosisNode)(item)) {
568
549
  if (item.name.endsWith('.Provider')) {
569
550
  var value = item.bindings.value;
570
551
  var name_2 = item.name.split('.')[0];
571
- var refPath = trace_reference_to_module_path_1.traceReferenceToModulePath(json.imports, name_2);
552
+ var refPath = (0, trace_reference_to_module_path_1.traceReferenceToModulePath)(json.imports, name_2);
572
553
  json.context.set[refPath] = {
573
554
  name: name_2,
574
555
  value: value
575
- ? exports.parseStateObject(expressionToNode(value))
556
+ ? (0, exports.parseStateObject)(expressionToNode(value))
576
557
  : undefined,
577
558
  };
578
- this.update(create_mitosis_node_1.createMitosisNode({
559
+ this.update((0, create_mitosis_node_1.createMitosisNode)({
579
560
  name: 'Fragment',
580
561
  children: item.children,
581
562
  }));
@@ -585,6 +566,9 @@ function extractContextComponents(json) {
585
566
  }
586
567
  });
587
568
  }
569
+ var isImportOrDefaultExport = function (node) {
570
+ return types.isExportDefaultDeclaration(node) || types.isImportDeclaration(node);
571
+ };
588
572
  function parseJsx(jsx, options) {
589
573
  if (options === void 0) { options = {}; }
590
574
  var useOptions = __assign({ format: 'react' }, options);
@@ -607,11 +591,7 @@ function parseJsx(jsx, options) {
607
591
  return;
608
592
  }
609
593
  context.builder = {
610
- component: create_mitosis_component_1.createMitosisComponent(),
611
- };
612
- var isImportOrDefaultExport = function (node) {
613
- return types.isExportDefaultDeclaration(node) ||
614
- types.isImportDeclaration(node);
594
+ component: (0, create_mitosis_component_1.createMitosisComponent)(),
615
595
  };
616
596
  var keepStatements = path.node.body.filter(function (statement) {
617
597
  return isImportOrDefaultExport(statement);
@@ -622,10 +602,10 @@ function parseJsx(jsx, options) {
622
602
  return !types.isExportDefaultDeclaration(node) &&
623
603
  types.isFunctionDeclaration(node);
624
604
  })
625
- .map(function (node) { return "export default " + generator_1.default(node).code; });
605
+ .map(function (node) { return "export default ".concat((0, generator_1.default)(node).code); });
626
606
  cutStatements = collectMetadata(cutStatements, context.builder.component, useOptions);
627
607
  // TODO: support multiple? e.g. for others to add imports?
628
- context.builder.component.hooks.preComponent = generator_1.default(types.program(cutStatements)).code;
608
+ context.builder.component.hooks.preComponent = (0, generator_1.default)(types.program(cutStatements)).code;
629
609
  path.replaceWith(types.program(keepStatements));
630
610
  },
631
611
  FunctionDeclaration: function (path, context) {
@@ -673,7 +653,7 @@ function parseJsx(jsx, options) {
673
653
  }); },
674
654
  ],
675
655
  });
676
- var toParse = replace_new_lines_in_strings_1.stripNewlinesInStrings(output
656
+ var toParse = (0, replace_new_lines_in_strings_1.stripNewlinesInStrings)(output
677
657
  .code.trim()
678
658
  // Occasional issues where comments get kicked to the top. Full fix should strip these sooner
679
659
  .replace(/^\/\*[\s\S]*?\*\/\s*/, '')
@@ -682,15 +662,7 @@ function parseJsx(jsx, options) {
682
662
  .replace(/\n"/g, '"')
683
663
  .replace(/^\({/, '{')
684
664
  .replace(/}\);$/, '}'));
685
- var parsed;
686
- try {
687
- parsed = JSON5.parse(toParse);
688
- }
689
- catch (err) {
690
- debugger;
691
- console.error('Could not parse code', toParse);
692
- throw err;
693
- }
665
+ var parsed = (0, json_1.tryParseJson)(toParse);
694
666
  mapReactIdentifiers(parsed);
695
667
  extractContextComponents(parsed);
696
668
  parsed.subComponents = subComponentFunctions.map(function (item) {