@builder.io/mitosis 0.4.0 → 0.4.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.
Files changed (196) hide show
  1. package/dist/src/constants/media-sizes.js +4 -5
  2. package/dist/src/generators/alpine/generate.js +114 -132
  3. package/dist/src/generators/alpine/render-mount-hook.js +8 -5
  4. package/dist/src/generators/alpine/render-update-hooks.js +13 -13
  5. package/dist/src/generators/angular/helpers.js +19 -9
  6. package/dist/src/generators/angular/index.js +599 -584
  7. package/dist/src/generators/builder.js +200 -165
  8. package/dist/src/generators/context/angular.js +32 -26
  9. package/dist/src/generators/context/helpers/context-with-symbol-key.js +25 -21
  10. package/dist/src/generators/context/qwik.js +21 -21
  11. package/dist/src/generators/context/react.js +22 -22
  12. package/dist/src/generators/context/rsc.js +20 -22
  13. package/dist/src/generators/context/solid.js +22 -22
  14. package/dist/src/generators/context/svelte.js +33 -28
  15. package/dist/src/generators/context/vue.js +1 -1
  16. package/dist/src/generators/helpers/context.js +6 -13
  17. package/dist/src/generators/helpers/functions.js +8 -8
  18. package/dist/src/generators/helpers/on-mount.js +9 -5
  19. package/dist/src/generators/helpers/rsc.js +7 -9
  20. package/dist/src/generators/html.js +995 -534
  21. package/dist/src/generators/liquid.js +81 -79
  22. package/dist/src/generators/lit/collect-class-string.js +10 -12
  23. package/dist/src/generators/lit/generate.js +204 -159
  24. package/dist/src/generators/marko/generate.js +193 -183
  25. package/dist/src/generators/minify.js +5 -9
  26. package/dist/src/generators/mitosis.js +135 -134
  27. package/dist/src/generators/qwik/component-generator.js +159 -154
  28. package/dist/src/generators/qwik/component.js +51 -81
  29. package/dist/src/generators/qwik/directives.js +68 -84
  30. package/dist/src/generators/qwik/helpers/add-prevent-default.js +6 -7
  31. package/dist/src/generators/qwik/helpers/convert-method-to-function.js +38 -38
  32. package/dist/src/generators/qwik/helpers/handlers.js +16 -25
  33. package/dist/src/generators/qwik/helpers/stable-inject.js +7 -8
  34. package/dist/src/generators/qwik/helpers/stable-serialize.js +7 -8
  35. package/dist/src/generators/qwik/helpers/state.js +36 -43
  36. package/dist/src/generators/qwik/helpers/styles.js +19 -40
  37. package/dist/src/generators/qwik/jsx.js +63 -75
  38. package/dist/src/generators/qwik/src-generator.js +134 -167
  39. package/dist/src/generators/react/blocks.js +122 -127
  40. package/dist/src/generators/react/generator.js +314 -259
  41. package/dist/src/generators/react/helpers.js +23 -28
  42. package/dist/src/generators/react/state.js +34 -51
  43. package/dist/src/generators/react-native/index.js +72 -84
  44. package/dist/src/generators/react-native/sanitize-react-native-block-styles.js +14 -26
  45. package/dist/src/generators/rsc.js +30 -36
  46. package/dist/src/generators/solid/blocks.js +46 -43
  47. package/dist/src/generators/solid/helpers/styles.js +11 -11
  48. package/dist/src/generators/solid/index.js +199 -190
  49. package/dist/src/generators/solid/state/helpers.js +76 -90
  50. package/dist/src/generators/solid/state/signals.js +30 -37
  51. package/dist/src/generators/solid/state/state.js +35 -48
  52. package/dist/src/generators/solid/state/store.js +40 -46
  53. package/dist/src/generators/stencil/collect-class-string.js +10 -12
  54. package/dist/src/generators/stencil/generate.js +158 -145
  55. package/dist/src/generators/svelte/blocks.js +146 -144
  56. package/dist/src/generators/svelte/helpers.js +10 -17
  57. package/dist/src/generators/svelte/svelte.js +321 -287
  58. package/dist/src/generators/swift-ui.js +162 -101
  59. package/dist/src/generators/taro.js +32 -36
  60. package/dist/src/generators/template.js +71 -74
  61. package/dist/src/generators/vue/blocks.js +116 -107
  62. package/dist/src/generators/vue/compositionApi.js +67 -50
  63. package/dist/src/generators/vue/helpers.js +71 -96
  64. package/dist/src/generators/vue/optionsApi.js +134 -105
  65. package/dist/src/generators/vue/vue.js +210 -207
  66. package/dist/src/helpers/babel-transform.js +40 -63
  67. package/dist/src/helpers/bindings.js +4 -12
  68. package/dist/src/helpers/camel-case.js +4 -5
  69. package/dist/src/helpers/capitalize.js +1 -1
  70. package/dist/src/helpers/component-file-extensions.js +23 -35
  71. package/dist/src/helpers/create-mitosis-component.js +22 -26
  72. package/dist/src/helpers/create-mitosis-context.js +5 -12
  73. package/dist/src/helpers/create-mitosis-node.js +10 -12
  74. package/dist/src/helpers/dash-case.js +2 -2
  75. package/dist/src/helpers/dedent.js +18 -22
  76. package/dist/src/helpers/event-handlers.js +1 -1
  77. package/dist/src/helpers/fast-clone.js +1 -1
  78. package/dist/src/helpers/filter-empty-text-nodes.js +2 -2
  79. package/dist/src/helpers/generic-format.js +7 -8
  80. package/dist/src/helpers/get-bindings.js +4 -4
  81. package/dist/src/helpers/get-components-used.js +3 -3
  82. package/dist/src/helpers/get-components.js +4 -4
  83. package/dist/src/helpers/get-custom-imports.js +10 -12
  84. package/dist/src/helpers/get-prop-functions.js +7 -8
  85. package/dist/src/helpers/get-props-ref.js +8 -8
  86. package/dist/src/helpers/get-props.js +12 -13
  87. package/dist/src/helpers/get-refs.js +4 -4
  88. package/dist/src/helpers/get-state-object-string.js +42 -61
  89. package/dist/src/helpers/get-state-used.js +7 -8
  90. package/dist/src/helpers/get-styles.js +6 -6
  91. package/dist/src/helpers/getters-to-functions.js +8 -12
  92. package/dist/src/helpers/handle-missing-state.js +3 -3
  93. package/dist/src/helpers/has-bindings-text.js +6 -6
  94. package/dist/src/helpers/has-component.js +4 -4
  95. package/dist/src/helpers/has-props.js +3 -3
  96. package/dist/src/helpers/has-stateful-dom.js +4 -4
  97. package/dist/src/helpers/has.js +3 -3
  98. package/dist/src/helpers/indent.js +2 -3
  99. package/dist/src/helpers/is-children.js +4 -5
  100. package/dist/src/helpers/is-component.js +1 -1
  101. package/dist/src/helpers/is-html-attribute.js +2 -11
  102. package/dist/src/helpers/is-mitosis-node.js +1 -1
  103. package/dist/src/helpers/is-root-text-node.js +1 -1
  104. package/dist/src/helpers/is-upper-case.js +1 -1
  105. package/dist/src/helpers/is-valid-attribute-name.js +1 -1
  106. package/dist/src/helpers/json.js +2 -2
  107. package/dist/src/helpers/map-refs.js +29 -40
  108. package/dist/src/helpers/merge-options.js +20 -31
  109. package/dist/src/helpers/mitosis-imports.js +5 -6
  110. package/dist/src/helpers/nodes/for.js +2 -3
  111. package/dist/src/helpers/nullable.js +1 -3
  112. package/dist/src/helpers/on-event.js +32 -36
  113. package/dist/src/helpers/output.js +4 -5
  114. package/dist/src/helpers/parse-node.js +13 -5
  115. package/dist/src/helpers/parsers.js +10 -14
  116. package/dist/src/helpers/patterns.js +6 -8
  117. package/dist/src/helpers/plugins/process-code/index.js +114 -120
  118. package/dist/src/helpers/plugins/process-signals.js +114 -125
  119. package/dist/src/helpers/plugins/process-target-blocks.js +18 -20
  120. package/dist/src/helpers/process-http-requests.js +8 -4
  121. package/dist/src/helpers/remove-surrounding-block.js +2 -2
  122. package/dist/src/helpers/render-imports.js +99 -111
  123. package/dist/src/helpers/replace-identifiers.js +40 -49
  124. package/dist/src/helpers/replace-new-lines-in-strings.js +3 -3
  125. package/dist/src/helpers/signals/signals.js +27 -35
  126. package/dist/src/helpers/slots.js +11 -20
  127. package/dist/src/helpers/state.js +1 -3
  128. package/dist/src/helpers/strip-meta-properties.js +6 -6
  129. package/dist/src/helpers/strip-state-and-props-refs.js +21 -32
  130. package/dist/src/helpers/styles/collect-css.js +39 -44
  131. package/dist/src/helpers/styles/collect-styled-components.js +30 -28
  132. package/dist/src/helpers/styles/helpers.js +23 -29
  133. package/dist/src/helpers/trace-reference-to-module-path.js +3 -4
  134. package/dist/src/helpers/transform-state-setters.js +16 -19
  135. package/dist/src/helpers/traverse-nodes.js +2 -2
  136. package/dist/src/helpers/try-prettier-format.js +3 -3
  137. package/dist/src/helpers/typescript-project.js +25 -25
  138. package/dist/src/helpers/typescript.js +1 -3
  139. package/dist/src/modules/plugins.js +20 -28
  140. package/dist/src/parsers/angular.js +49 -57
  141. package/dist/src/parsers/builder/builder.js +448 -343
  142. package/dist/src/parsers/builder/helpers.js +10 -10
  143. package/dist/src/parsers/context.js +15 -17
  144. package/dist/src/parsers/jsx/ast.js +11 -11
  145. package/dist/src/parsers/jsx/component-types.js +22 -32
  146. package/dist/src/parsers/jsx/context.js +12 -12
  147. package/dist/src/parsers/jsx/element-parser.js +43 -54
  148. package/dist/src/parsers/jsx/exports.js +12 -14
  149. package/dist/src/parsers/jsx/function-parser.js +108 -119
  150. package/dist/src/parsers/jsx/helpers.js +11 -13
  151. package/dist/src/parsers/jsx/hooks/helpers.js +14 -16
  152. package/dist/src/parsers/jsx/hooks/index.js +34 -44
  153. package/dist/src/parsers/jsx/hooks/use-target.js +27 -27
  154. package/dist/src/parsers/jsx/imports.js +7 -17
  155. package/dist/src/parsers/jsx/jsx.js +92 -91
  156. package/dist/src/parsers/jsx/props-types.js +8 -10
  157. package/dist/src/parsers/jsx/props.js +15 -23
  158. package/dist/src/parsers/jsx/signals.js +28 -29
  159. package/dist/src/parsers/jsx/state.d.ts +2 -4
  160. package/dist/src/parsers/jsx/state.js +59 -93
  161. package/dist/src/parsers/svelte/css/index.js +1 -1
  162. package/dist/src/parsers/svelte/helpers/bindings.js +18 -19
  163. package/dist/src/parsers/svelte/helpers/children.js +5 -6
  164. package/dist/src/parsers/svelte/helpers/expressions.js +7 -9
  165. package/dist/src/parsers/svelte/helpers/hooks.js +2 -2
  166. package/dist/src/parsers/svelte/helpers/post-process.js +49 -70
  167. package/dist/src/parsers/svelte/helpers/string.js +5 -5
  168. package/dist/src/parsers/svelte/html/actions.js +17 -10
  169. package/dist/src/parsers/svelte/html/each.js +11 -16
  170. package/dist/src/parsers/svelte/html/element.js +68 -78
  171. package/dist/src/parsers/svelte/html/fragment.js +3 -3
  172. package/dist/src/parsers/svelte/html/if-else.js +11 -18
  173. package/dist/src/parsers/svelte/html/index.js +14 -14
  174. package/dist/src/parsers/svelte/html/mustache-tag.js +5 -5
  175. package/dist/src/parsers/svelte/html/slot.js +5 -5
  176. package/dist/src/parsers/svelte/html/text.js +7 -14
  177. package/dist/src/parsers/svelte/index.js +23 -72
  178. package/dist/src/parsers/svelte/instance/context.js +17 -17
  179. package/dist/src/parsers/svelte/instance/expressions.js +2 -2
  180. package/dist/src/parsers/svelte/instance/functions.js +35 -30
  181. package/dist/src/parsers/svelte/instance/hooks.js +4 -5
  182. package/dist/src/parsers/svelte/instance/imports.js +11 -21
  183. package/dist/src/parsers/svelte/instance/index.js +22 -22
  184. package/dist/src/parsers/svelte/instance/properties.js +11 -23
  185. package/dist/src/parsers/svelte/instance/reactive.js +11 -11
  186. package/dist/src/parsers/svelte/instance/references.js +13 -13
  187. package/dist/src/parsers/svelte/instance/statements.js +3 -3
  188. package/dist/src/parsers/svelte/module/index.js +14 -26
  189. package/dist/src/parsers/svelte/typescript/index.js +27 -36
  190. package/dist/src/plugins/compile-away-builder-components.js +223 -156
  191. package/dist/src/plugins/compile-away-components.js +13 -21
  192. package/dist/src/plugins/map-styles.js +7 -7
  193. package/dist/src/symbols/symbol-processor.js +44 -62
  194. package/dist/src/targets.js +19 -19
  195. package/dist/src/types/mitosis-node.js +1 -1
  196. package/package.json +1 -1
@@ -1,75 +1,65 @@
1
1
  "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
6
  exports.generateOptionsApiScript = void 0;
16
- var get_components_used_1 = require("../../helpers/get-components-used");
17
- var get_custom_imports_1 = require("../../helpers/get-custom-imports");
18
- var get_state_object_string_1 = require("../../helpers/get-state-object-string");
19
- var nullable_1 = require("../../helpers/nullable");
20
- var render_imports_1 = require("../../helpers/render-imports");
21
- var json5_1 = __importDefault(require("json5"));
22
- var lodash_1 = require("lodash");
23
- var on_mount_1 = require("../helpers/on-mount");
24
- var helpers_1 = require("./helpers");
25
- var getContextProvideString = function (json, options) {
26
- return "{\n ".concat(Object.values(json.context.set)
27
- .map(function (setVal) {
28
- var key = (0, helpers_1.getContextKey)(setVal);
29
- return "[".concat(key, "]: ").concat((0, helpers_1.getContextValue)(setVal));
7
+ const get_components_used_1 = require("../../helpers/get-components-used");
8
+ const get_custom_imports_1 = require("../../helpers/get-custom-imports");
9
+ const get_state_object_string_1 = require("../../helpers/get-state-object-string");
10
+ const nullable_1 = require("../../helpers/nullable");
11
+ const render_imports_1 = require("../../helpers/render-imports");
12
+ const json5_1 = __importDefault(require("json5"));
13
+ const lodash_1 = require("lodash");
14
+ const on_mount_1 = require("../helpers/on-mount");
15
+ const helpers_1 = require("./helpers");
16
+ const getContextProvideString = (json, options) => {
17
+ return `{
18
+ ${Object.values(json.context.set)
19
+ .map((setVal) => {
20
+ const key = (0, helpers_1.getContextKey)(setVal);
21
+ return `[${key}]: ${(0, helpers_1.getContextValue)(setVal)}`;
30
22
  })
31
- .join(','), "\n }");
23
+ .join(',')}
24
+ }`;
32
25
  };
33
26
  function getContextInjectString(component, options) {
34
- var str = '{';
35
- var contextGetters = component.context.get;
36
- for (var key in contextGetters) {
37
- var context = contextGetters[key];
38
- str += "\n ".concat(key, ": ").concat((0, helpers_1.encodeQuotes)((0, helpers_1.getContextKey)(context)), ",\n ");
27
+ let str = '{';
28
+ const contextGetters = component.context.get;
29
+ for (const key in contextGetters) {
30
+ const context = contextGetters[key];
31
+ str += `
32
+ ${key}: ${(0, helpers_1.encodeQuotes)((0, helpers_1.getContextKey)(context))},
33
+ `;
39
34
  }
40
35
  str += '}';
41
36
  return str;
42
37
  }
43
- var generateComponentImport = function (options) {
44
- return function (componentName) {
45
- if (options.asyncComponentImports) {
46
- return "'".concat(componentName, "': defineAsyncComponent(").concat(componentName, ")");
47
- }
48
- else {
49
- return "'".concat(componentName, "': ").concat(componentName);
50
- }
51
- };
38
+ const generateComponentImport = (options) => (componentName) => {
39
+ if (options.asyncComponentImports) {
40
+ return `'${componentName}': defineAsyncComponent(${componentName})`;
41
+ }
42
+ else {
43
+ return `'${componentName}': ${componentName}`;
44
+ }
52
45
  };
53
- var generateComponents = function (componentsUsed, options) {
46
+ const generateComponents = (componentsUsed, options) => {
54
47
  if (componentsUsed.length === 0) {
55
48
  return '';
56
49
  }
57
50
  else {
58
- return "components: { ".concat(componentsUsed.map(generateComponentImport(options)).join(','), " },");
51
+ return `components: { ${componentsUsed.map(generateComponentImport(options)).join(',')} },`;
59
52
  }
60
53
  };
61
- var appendToDataString = function (_a) {
62
- var dataString = _a.dataString, newContent = _a.newContent;
63
- return dataString.replace(/}$/, "".concat(newContent, "}"));
64
- };
54
+ const appendToDataString = ({ dataString, newContent, }) => dataString.replace(/}$/, `${newContent}}`);
65
55
  function generateOptionsApiScript(component, options, path, template, props, onUpdateWithDeps, onUpdateWithoutDeps) {
66
56
  var _a, _b, _c;
67
- var localExports = component.exports;
68
- var localVarAsData = [];
69
- var localVarAsFunc = [];
70
- var isTs = options.typescript;
57
+ const { exports: localExports } = component;
58
+ const localVarAsData = [];
59
+ const localVarAsFunc = [];
60
+ const isTs = options.typescript;
71
61
  if (localExports) {
72
- Object.keys(localExports).forEach(function (key) {
62
+ Object.keys(localExports).forEach((key) => {
73
63
  if (localExports[key].usedInLocal) {
74
64
  if (localExports[key].isFunction) {
75
65
  localVarAsFunc.push(key);
@@ -80,102 +70,141 @@ function generateOptionsApiScript(component, options, path, template, props, onU
80
70
  }
81
71
  });
82
72
  }
83
- var dataString = (0, get_state_object_string_1.getStateObjectStringFromComponent)(component, {
73
+ let dataString = (0, get_state_object_string_1.getStateObjectStringFromComponent)(component, {
84
74
  data: true,
85
75
  functions: false,
86
76
  getters: false,
87
77
  });
88
78
  // Append refs to data as { foo, bar, etc }
89
79
  dataString = appendToDataString({
90
- dataString: dataString,
80
+ dataString,
91
81
  newContent: (0, get_custom_imports_1.getCustomImports)(component).join(','),
92
82
  });
93
83
  if (localVarAsData.length) {
94
- dataString = appendToDataString({ dataString: dataString, newContent: localVarAsData.join(',') });
84
+ dataString = appendToDataString({ dataString, newContent: localVarAsData.join(',') });
95
85
  }
96
- var getterString = (0, get_state_object_string_1.getStateObjectStringFromComponent)(component, {
86
+ const getterString = (0, get_state_object_string_1.getStateObjectStringFromComponent)(component, {
97
87
  data: false,
98
88
  getters: true,
99
89
  functions: false,
100
90
  });
101
- var functionsString = (0, get_state_object_string_1.getStateObjectStringFromComponent)(component, {
91
+ let functionsString = (0, get_state_object_string_1.getStateObjectStringFromComponent)(component, {
102
92
  data: false,
103
93
  getters: false,
104
94
  functions: true,
105
95
  });
106
- var includeClassMapHelper = template.includes('_classStringToObject');
96
+ const includeClassMapHelper = template.includes('_classStringToObject');
107
97
  if (includeClassMapHelper) {
108
- functionsString = functionsString.replace(/}\s*$/, "_classStringToObject(str".concat(isTs ? ': string' : '', ") {\n const obj").concat(isTs ? ': Record<string, boolean>' : '', " = {};\n if (typeof str !== 'string') { return obj }\n const classNames = str.trim().split(/\\s+/);\n for (const name of classNames) {\n obj[name] = true;\n }\n return obj;\n } }"));
98
+ functionsString = functionsString.replace(/}\s*$/, `_classStringToObject(str${isTs ? ': string' : ''}) {
99
+ const obj${isTs ? ': Record<string, boolean>' : ''} = {};
100
+ if (typeof str !== 'string') { return obj }
101
+ const classNames = str.trim().split(/\\s+/);
102
+ for (const name of classNames) {
103
+ obj[name] = true;
104
+ }
105
+ return obj;
106
+ } }`);
109
107
  }
110
108
  if (localVarAsFunc.length) {
111
- functionsString = functionsString.replace(/}\s*$/, "".concat(localVarAsFunc.join(','), "}"));
109
+ functionsString = functionsString.replace(/}\s*$/, `${localVarAsFunc.join(',')}}`);
112
110
  }
113
111
  // Component references to include in `component: { YourComponent, ... }
114
- var componentsUsedInTemplate = Array.from((0, get_components_used_1.getComponentsUsed)(component))
115
- .filter(function (name) { return name.length && !name.includes('.') && name[0].toUpperCase() === name[0]; })
112
+ const componentsUsedInTemplate = Array.from((0, get_components_used_1.getComponentsUsed)(component))
113
+ .filter((name) => name.length && !name.includes('.') && name[0].toUpperCase() === name[0])
116
114
  // Strip out components that compile away
117
- .filter(function (name) { return !['For', 'Show', 'Fragment', 'Slot', component.name].includes(name); });
115
+ .filter((name) => !['For', 'Show', 'Fragment', 'Slot', component.name].includes(name));
118
116
  // get default imports from component files
119
- var importedComponents = component.imports
117
+ const importedComponents = component.imports
120
118
  .filter(render_imports_1.checkIsComponentImport)
121
- .map(function (imp) { var _a; return (_a = Object.entries(imp.imports).find(function (_a) {
122
- var _ = _a[0], value = _a[1];
123
- return value === 'default';
124
- })) === null || _a === void 0 ? void 0 : _a[0]; })
119
+ .map((imp) => { var _a; return (_a = Object.entries(imp.imports).find(([_, value]) => value === 'default')) === null || _a === void 0 ? void 0 : _a[0]; })
125
120
  .filter(nullable_1.checkIsDefined);
126
- var componentsUsed = (0, lodash_1.uniq)(__spreadArray(__spreadArray([], componentsUsedInTemplate, true), importedComponents, true));
127
- var getPropDefinition = function (_a) {
128
- var component = _a.component, props = _a.props;
129
- var propsDefinition = Array.from(props).filter(function (prop) { return prop !== 'children' && prop !== 'class'; });
130
- var str = 'props: ';
121
+ const componentsUsed = (0, lodash_1.uniq)([...componentsUsedInTemplate, ...importedComponents]);
122
+ const getPropDefinition = ({ component, props, }) => {
123
+ const propsDefinition = Array.from(props).filter((prop) => prop !== 'children' && prop !== 'class');
124
+ let str = 'props: ';
131
125
  if (component.defaultProps) {
132
- var defalutPropsString = propsDefinition
133
- .map(function (prop) {
126
+ const defalutPropsString = propsDefinition
127
+ .map((prop) => {
134
128
  var _a;
135
- var value = component.defaultProps.hasOwnProperty(prop)
129
+ const value = component.defaultProps.hasOwnProperty(prop)
136
130
  ? (_a = component.defaultProps[prop]) === null || _a === void 0 ? void 0 : _a.code
137
131
  : 'undefined';
138
- return "".concat(prop, ": { default: ").concat(value, " }");
132
+ return `${prop}: { default: ${value} }`;
139
133
  })
140
134
  .join(',');
141
- str += "{".concat(defalutPropsString, "}");
135
+ str += `{${defalutPropsString}}`;
142
136
  }
143
137
  else {
144
- str += "".concat(json5_1.default.stringify(propsDefinition));
138
+ str += `${json5_1.default.stringify(propsDefinition)}`;
145
139
  }
146
- return "".concat(str, ",");
140
+ return `${str},`;
147
141
  };
148
- return "\n export default ".concat(options.defineComponent ? 'defineComponent(' : '', " {\n ").concat(!component.name
142
+ return `
143
+ export default ${options.defineComponent ? 'defineComponent(' : ''} {
144
+ ${!component.name
149
145
  ? ''
150
- : "name: '".concat(path && ((_a = options.namePrefix) === null || _a === void 0 ? void 0 : _a.call(options, path)) ? ((_b = options.namePrefix) === null || _b === void 0 ? void 0 : _b.call(options, path)) + '-' : '').concat((0, lodash_1.kebabCase)(component.name), "',"), "\n ").concat(generateComponents(componentsUsed, options), "\n ").concat(props.length ? getPropDefinition({ component: component, props: props }) : '', "\n ").concat(dataString.length < 4
146
+ : `name: '${path && ((_a = options.namePrefix) === null || _a === void 0 ? void 0 : _a.call(options, path)) ? ((_b = options.namePrefix) === null || _b === void 0 ? void 0 : _b.call(options, path)) + '-' : ''}${(0, lodash_1.kebabCase)(component.name)}',`}
147
+ ${generateComponents(componentsUsed, options)}
148
+ ${props.length ? getPropDefinition({ component, props }) : ''}
149
+ ${dataString.length < 4
151
150
  ? ''
152
- : "\n data() {\n return ".concat(dataString, "\n },\n "), "\n\n ").concat((0, lodash_1.size)(component.context.set)
153
- ? "provide() {\n const _this = this;\n return ".concat(getContextProvideString(component, options), "\n },")
154
- : '', "\n ").concat((0, lodash_1.size)(component.context.get)
155
- ? "inject: ".concat(getContextInjectString(component, options), ",")
156
- : '', "\n ").concat(((_c = component.hooks.onInit) === null || _c === void 0 ? void 0 : _c.code)
157
- ? "created() {\n ".concat(component.hooks.onInit.code, "\n },")
158
- : '', "\n ").concat(component.hooks.onMount.length
159
- ? "mounted() {\n ".concat((0, on_mount_1.stringifySingleScopeOnMount)(component), "\n },")
160
- : '', "\n ").concat(onUpdateWithoutDeps.length
161
- ? "updated() {\n ".concat(onUpdateWithoutDeps.map(function (hook) { return hook.code; }).join('\n'), "\n },")
162
- : '', "\n ").concat(onUpdateWithDeps.length
163
- ? "watch: {\n ".concat(onUpdateWithDeps
164
- .map(function (hook, index) {
165
- return "".concat((0, helpers_1.getOnUpdateHookName)(index), ": { handler() { ").concat(hook.code, " }, immediate: true }");
166
- })
167
- .join(','), "\n },")
168
- : '', "\n ").concat(component.hooks.onUnMount
169
- ? "unmounted() {\n ".concat(component.hooks.onUnMount.code, "\n },")
170
- : '', "\n\n ").concat(getterString.length < 4
151
+ : `
152
+ data() {
153
+ return ${dataString}
154
+ },
155
+ `}
156
+
157
+ ${(0, lodash_1.size)(component.context.set)
158
+ ? `provide() {
159
+ const _this = this;
160
+ return ${getContextProvideString(component, options)}
161
+ },`
162
+ : ''}
163
+ ${(0, lodash_1.size)(component.context.get)
164
+ ? `inject: ${getContextInjectString(component, options)},`
165
+ : ''}
166
+ ${((_c = component.hooks.onInit) === null || _c === void 0 ? void 0 : _c.code)
167
+ ? `created() {
168
+ ${component.hooks.onInit.code}
169
+ },`
170
+ : ''}
171
+ ${component.hooks.onMount.length
172
+ ? `mounted() {
173
+ ${(0, on_mount_1.stringifySingleScopeOnMount)(component)}
174
+ },`
175
+ : ''}
176
+ ${onUpdateWithoutDeps.length
177
+ ? `updated() {
178
+ ${onUpdateWithoutDeps.map((hook) => hook.code).join('\n')}
179
+ },`
180
+ : ''}
181
+ ${onUpdateWithDeps.length
182
+ ? `watch: {
183
+ ${onUpdateWithDeps
184
+ .map((hook, index) => `${(0, helpers_1.getOnUpdateHookName)(index)}: { handler() { ${hook.code} }, immediate: true }`)
185
+ .join(',')}
186
+ },`
187
+ : ''}
188
+ ${component.hooks.onUnMount
189
+ ? `unmounted() {
190
+ ${component.hooks.onUnMount.code}
191
+ },`
192
+ : ''}
193
+
194
+ ${getterString.length < 4
171
195
  ? ''
172
- : "\n computed: ".concat(getterString, ",\n "), "\n ").concat(functionsString.length < 4
196
+ : `
197
+ computed: ${getterString},
198
+ `}
199
+ ${functionsString.length < 4
173
200
  ? ''
174
- : "\n methods: ".concat(functionsString, ",\n "), "\n ").concat(Object.entries(component.meta.vueConfig || {})
175
- .map(function (_a) {
176
- var k = _a[0], v = _a[1];
177
- return "".concat(k, ": ").concat(v);
178
- })
179
- .join(','), "\n }\n ").concat(options.defineComponent ? ')' : '');
201
+ : `
202
+ methods: ${functionsString},
203
+ `}
204
+ ${Object.entries(component.meta.vueConfig || {})
205
+ .map(([k, v]) => `${k}: ${v}`)
206
+ .join(',')}
207
+ }
208
+ ${options.defineComponent ? ')' : ''}`;
180
209
  }
181
210
  exports.generateOptionsApiScript = generateOptionsApiScript;