@builder.io/mitosis 0.7.5 → 0.8.0

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 (38) hide show
  1. package/dist/src/generators/alpine/index.d.ts +1 -0
  2. package/dist/src/generators/alpine/index.js +1 -0
  3. package/dist/src/generators/angular/index.d.ts +1 -0
  4. package/dist/src/generators/angular/index.js +4 -0
  5. package/dist/src/generators/builder/index.d.ts +1 -0
  6. package/dist/src/generators/builder/index.js +1 -0
  7. package/dist/src/generators/html/index.d.ts +1 -0
  8. package/dist/src/generators/html/index.js +1 -0
  9. package/dist/src/generators/liquid/index.d.ts +1 -0
  10. package/dist/src/generators/liquid/index.js +1 -0
  11. package/dist/src/generators/lit/index.d.ts +1 -0
  12. package/dist/src/generators/lit/index.js +1 -0
  13. package/dist/src/generators/marko/index.d.ts +1 -0
  14. package/dist/src/generators/marko/index.js +1 -0
  15. package/dist/src/generators/mitosis/index.d.ts +1 -0
  16. package/dist/src/generators/mitosis/index.js +1 -0
  17. package/dist/src/generators/qwik/index.d.ts +1 -0
  18. package/dist/src/generators/qwik/index.js +15 -0
  19. package/dist/src/generators/react-native/index.d.ts +1 -0
  20. package/dist/src/generators/react-native/index.js +15 -0
  21. package/dist/src/generators/rsc/index.d.ts +1 -0
  22. package/dist/src/generators/rsc/index.js +1 -0
  23. package/dist/src/generators/solid/index.d.ts +1 -0
  24. package/dist/src/generators/solid/index.js +4 -0
  25. package/dist/src/generators/stencil/index.d.ts +1 -0
  26. package/dist/src/generators/stencil/index.js +1 -0
  27. package/dist/src/generators/svelte/index.d.ts +1 -0
  28. package/dist/src/generators/svelte/index.js +15 -0
  29. package/dist/src/generators/swift/index.d.ts +1 -0
  30. package/dist/src/generators/swift/index.js +1 -0
  31. package/dist/src/generators/taro/index.d.ts +1 -0
  32. package/dist/src/generators/taro/index.js +1 -0
  33. package/dist/src/generators/template/index.d.ts +1 -0
  34. package/dist/src/generators/template/index.js +1 -0
  35. package/dist/src/parsers/builder/builder.d.ts +6 -0
  36. package/dist/src/parsers/builder/builder.js +25 -3
  37. package/dist/src/targets.d.ts +17 -17
  38. package/package.json +1 -1
@@ -1 +1,2 @@
1
1
  export * from './generate';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generate"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1,3 +1,4 @@
1
1
  import { TranspilerGenerator } from '../../types/transpiler';
2
2
  import { ToAngularOptions } from './types';
3
3
  export declare const componentToAngular: TranspilerGenerator<ToAngularOptions>;
4
+ export * from './types';
@@ -22,6 +22,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
25
28
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
30
  };
@@ -703,3 +706,4 @@ const tryFormat = (str, parser) => {
703
706
  }
704
707
  return str;
705
708
  };
709
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generate';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generate"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generate';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generate"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -2,3 +2,4 @@ export { addCommonStyles, addComponent, createFileSet } from './component';
2
2
  export type { FileSet, QwikOptions } from './component';
3
3
  export { componentToQwik } from './component-generator';
4
4
  export { File } from './src-generator';
5
+ export * from './types';
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.File = exports.componentToQwik = exports.createFileSet = exports.addComponent = exports.addCommonStyles = void 0;
4
18
  var component_1 = require("./component");
@@ -9,3 +23,4 @@ var component_generator_1 = require("./component-generator");
9
23
  Object.defineProperty(exports, "componentToQwik", { enumerable: true, get: function () { return component_generator_1.componentToQwik; } });
10
24
  var src_generator_1 = require("./src-generator");
11
25
  Object.defineProperty(exports, "File", { enumerable: true, get: function () { return src_generator_1.File; } });
26
+ __exportStar(require("./types"), exports);
@@ -5,3 +5,4 @@ import { TranspilerGenerator } from '../../types/transpiler';
5
5
  import { ToReactOptions } from '../react';
6
6
  export declare const collectReactNativeStyles: (json: MitosisComponent, options: ToReactOptions) => ClassStyleMap;
7
7
  export declare const componentToReactNative: TranspilerGenerator<Partial<ToReactNativeOptions>>;
8
+ export * from './types';
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
@@ -269,3 +283,4 @@ const componentToReactNative = (_options = {}) => ({ component, path }) => {
269
283
  return (0, react_1.componentToReact)({ ...options, type: 'native' })({ component: json, path });
270
284
  };
271
285
  exports.componentToReactNative = componentToReactNative;
286
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1,3 +1,4 @@
1
1
  import { TranspilerGenerator } from '../../types/transpiler';
2
2
  import { ToSolidOptions } from './types';
3
3
  export declare const componentToSolid: TranspilerGenerator<Partial<ToSolidOptions>>;
4
+ export * from './types';
@@ -22,6 +22,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
25
28
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
30
  };
@@ -257,3 +260,4 @@ const componentToSolid = (passedOptions) => ({ component }) => {
257
260
  return str;
258
261
  };
259
262
  exports.componentToSolid = componentToSolid;
263
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './component';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./component"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export { componentToSvelte } from './svelte';
2
+ export * from './types';
@@ -1,5 +1,20 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.componentToSvelte = void 0;
4
18
  var svelte_1 = require("./svelte");
5
19
  Object.defineProperty(exports, "componentToSvelte", { enumerable: true, get: function () { return svelte_1.componentToSvelte; } });
20
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -1 +1,2 @@
1
1
  export * from './generator';
2
+ export * from './types';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generator"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -13,6 +13,12 @@ type BuilderToMitosisOptions = {
13
13
  preserveTextBlocks?: boolean;
14
14
  includeSpecialBindings?: boolean;
15
15
  includeMeta?: boolean;
16
+ /**
17
+ * When `true`, invalid bindings will be escaped as strings with special comments.
18
+ * This can then be used to have LLMs such as Claude attempt to repair the broken code.
19
+ * Defaults to `false`.
20
+ */
21
+ escapeInvalidCode?: boolean;
16
22
  };
17
23
  export declare const builderElementToMitosisNode: (block: BuilderElement, options: BuilderToMitosisOptions, _internalOptions?: InternalOptions) => MitosisNode;
18
24
  export declare const getMetaFromBlock: (block: BuilderElement, options: BuilderToMitosisOptions) => {};
@@ -127,9 +127,20 @@ const getStyleStringFromBlock = (block, options) => {
127
127
  if (!key.includes('.')) {
128
128
  continue;
129
129
  }
130
+ let code = ((_b = (_a = block.code) === null || _a === void 0 ? void 0 : _a.bindings) === null || _b === void 0 ? void 0 : _b[key]) || block.bindings[key];
131
+ const verifyCode = verifyIsValid(code);
132
+ if (!verifyCode.valid) {
133
+ if (options.escapeInvalidCode) {
134
+ code = '`' + code + ' [INVALID CODE]`';
135
+ }
136
+ else {
137
+ console.warn(`Dropping binding "${key}" due to invalid code: ${code}`);
138
+ continue;
139
+ }
140
+ }
130
141
  if (key.includes('style')) {
131
142
  const styleProperty = key.split('.')[1];
132
- styleBindings[styleProperty] = convertExportDefaultToReturn(((_b = (_a = block.code) === null || _a === void 0 ? void 0 : _a.bindings) === null || _b === void 0 ? void 0 : _b[key]) || block.bindings[key]);
143
+ styleBindings[styleProperty] = convertExportDefaultToReturn(code);
133
144
  /**
134
145
  * responsiveStyles that are bound need to be merged into media queries.
135
146
  * Example:
@@ -152,7 +163,7 @@ const getStyleStringFromBlock = (block, options) => {
152
163
  const objKey = `"${mediaKey}"`;
153
164
  responsiveStyles[objKey] = {
154
165
  ...responsiveStyles[objKey],
155
- [prop]: block.bindings[key],
166
+ [prop]: code,
156
167
  };
157
168
  }
158
169
  }
@@ -672,8 +683,19 @@ const builderElementToMitosisNode = (block, options, _internalOptions = {}) => {
672
683
  }
673
684
  const useKey = key.replace(/^(component\.)?options\./, '');
674
685
  if (!useKey.includes('.')) {
686
+ let code = blockBindings[key].code || blockBindings[key];
687
+ const verifyCode = verifyIsValid(code);
688
+ if (!verifyCode.valid) {
689
+ if (options.escapeInvalidCode) {
690
+ code = '`' + code + ' [INVALID CODE]`';
691
+ }
692
+ else {
693
+ console.warn(`Dropping binding "${key}" due to invalid code: ${code}`);
694
+ continue;
695
+ }
696
+ }
675
697
  bindings[useKey] = (0, bindings_1.createSingleBinding)({
676
- code: blockBindings[key].code || blockBindings[key],
698
+ code,
677
699
  });
678
700
  }
679
701
  else if (useKey.includes('style') && useKey.includes('.')) {
@@ -1,24 +1,24 @@
1
- export declare const builder: (options?: import("./generators/builder/types").ToBuilderOptions) => ({ component }: import(".").TranspilerArgs) => import("@builder.io/sdk").BuilderContent;
1
+ export declare const builder: (options?: import("./generators/builder").ToBuilderOptions) => ({ component }: import(".").TranspilerArgs) => import("@builder.io/sdk").BuilderContent;
2
2
  export declare const targets: {
3
- readonly alpine: import(".").TranspilerGenerator<import("./generators/alpine/types").ToAlpineOptions>;
4
- readonly angular: import(".").TranspilerGenerator<import("./generators/angular/types").ToAngularOptions>;
5
- readonly customElement: import(".").TranspilerGenerator<import("./generators/html/types").ToHtmlOptions>;
6
- readonly html: import(".").TranspilerGenerator<import("./generators/html/types").ToHtmlOptions>;
7
- readonly mitosis: import(".").TranspilerGenerator<Partial<import("./generators/mitosis/types").ToMitosisOptions>>;
8
- readonly liquid: import(".").TranspilerGenerator<import("./generators/liquid/types").ToLiquidOptions>;
3
+ readonly alpine: import(".").TranspilerGenerator<import("./generators/alpine").ToAlpineOptions>;
4
+ readonly angular: import(".").TranspilerGenerator<import("./generators/angular").ToAngularOptions>;
5
+ readonly customElement: import(".").TranspilerGenerator<import("./generators/html").ToHtmlOptions>;
6
+ readonly html: import(".").TranspilerGenerator<import("./generators/html").ToHtmlOptions>;
7
+ readonly mitosis: import(".").TranspilerGenerator<Partial<import("./generators/mitosis").ToMitosisOptions>>;
8
+ readonly liquid: import(".").TranspilerGenerator<import("./generators/liquid").ToLiquidOptions>;
9
9
  readonly react: import(".").TranspilerGenerator<Partial<import("./generators/react").ToReactOptions>>;
10
- readonly reactNative: import(".").TranspilerGenerator<Partial<import("./generators/react-native/types").ToReactNativeOptions>>;
11
- readonly solid: import(".").TranspilerGenerator<Partial<import("./generators/solid/types").ToSolidOptions>>;
12
- readonly svelte: import(".").TranspilerGenerator<import("./generators/svelte/types").ToSvelteOptions>;
13
- readonly swift: import(".").TranspilerGenerator<import("./generators/swift/types").ToSwiftOptions>;
14
- readonly template: import(".").TranspilerGenerator<import("./generators/template/types").ToTemplateOptions>;
15
- readonly webcomponent: import(".").TranspilerGenerator<import("./generators/html/types").ToHtmlOptions>;
10
+ readonly reactNative: import(".").TranspilerGenerator<Partial<import("./generators/react-native").ToReactNativeOptions>>;
11
+ readonly solid: import(".").TranspilerGenerator<Partial<import("./generators/solid").ToSolidOptions>>;
12
+ readonly svelte: import(".").TranspilerGenerator<import("./generators/svelte").ToSvelteOptions>;
13
+ readonly swift: import(".").TranspilerGenerator<import("./generators/swift").ToSwiftOptions>;
14
+ readonly template: import(".").TranspilerGenerator<import("./generators/template").ToTemplateOptions>;
15
+ readonly webcomponent: import(".").TranspilerGenerator<import("./generators/html").ToHtmlOptions>;
16
16
  readonly vue: import(".").TranspilerGenerator<Partial<import("./generators/vue").ToVueOptions>>;
17
- readonly stencil: import(".").TranspilerGenerator<import("./generators/stencil/types").ToStencilOptions>;
18
- readonly qwik: import(".").TranspilerGenerator<import("./generators/qwik/types").ToQwikOptions>;
19
- readonly marko: import(".").TranspilerGenerator<import("./generators/marko/types").ToMarkoOptions>;
17
+ readonly stencil: import(".").TranspilerGenerator<import("./generators/stencil").ToStencilOptions>;
18
+ readonly qwik: import(".").TranspilerGenerator<import("./generators/qwik").ToQwikOptions>;
19
+ readonly marko: import(".").TranspilerGenerator<import("./generators/marko").ToMarkoOptions>;
20
20
  readonly preact: import(".").TranspilerGenerator<Partial<import("./generators/react").ToReactOptions>>;
21
- readonly lit: import(".").TranspilerGenerator<import("./generators/lit/types").ToLitOptions>;
21
+ readonly lit: import(".").TranspilerGenerator<import("./generators/lit").ToLitOptions>;
22
22
  readonly rsc: import(".").TranspilerGenerator<Partial<import("./generators/react").ToReactOptions>>;
23
23
  readonly taro: import(".").TranspilerGenerator<Partial<import("./generators/react").ToReactOptions>>;
24
24
  };
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "name": "Builder.io",
23
23
  "url": "https://www.builder.io"
24
24
  },
25
- "version": "0.7.5",
25
+ "version": "0.8.0",
26
26
  "homepage": "https://github.com/BuilderIO/mitosis",
27
27
  "main": "./dist/src/index.js",
28
28
  "exports": {