@builder.io/mitosis 0.0.74 → 0.0.76
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.
- package/dist/src/generators/angular.d.ts +2 -0
- package/dist/src/generators/angular.js +16 -5
- package/dist/src/generators/lit/generate.js +0 -3
- package/dist/src/generators/marko/generate.js +0 -3
- package/dist/src/generators/qwik/component-generator.js +9 -8
- package/dist/src/generators/qwik/directives.js +4 -0
- package/dist/src/generators/qwik/jsx.d.ts +1 -1
- package/dist/src/generators/qwik/jsx.js +5 -9
- package/dist/src/generators/react/generator.js +15 -11
- package/dist/src/generators/solid/index.js +24 -26
- package/dist/src/generators/stencil/generate.js +0 -3
- package/dist/src/generators/svelte/blocks.d.ts +10 -0
- package/dist/src/generators/svelte/blocks.js +188 -0
- package/dist/src/generators/svelte/helpers.d.ts +2 -0
- package/dist/src/generators/svelte/helpers.js +11 -0
- package/dist/src/generators/svelte/index.d.ts +1 -0
- package/dist/src/generators/svelte/index.js +5 -0
- package/dist/src/generators/svelte/svelte.d.ts +3 -0
- package/dist/src/generators/svelte/svelte.js +250 -0
- package/dist/src/generators/svelte/types.d.ts +4 -0
- package/dist/src/generators/svelte/types.js +2 -0
- package/dist/src/generators/vue/blocks.js +13 -23
- package/dist/src/generators/vue/compositionApi.js +23 -83
- package/dist/src/generators/vue/helpers.d.ts +10 -4
- package/dist/src/generators/vue/helpers.js +100 -18
- package/dist/src/generators/vue/optionsApi.js +6 -28
- package/dist/src/generators/vue/types.d.ts +5 -2
- package/dist/src/generators/vue/vue.d.ts +1 -4
- package/dist/src/generators/vue/vue.js +70 -49
- package/dist/src/helpers/is-children.js +3 -2
- package/dist/src/helpers/merge-options.d.ts +7 -0
- package/dist/src/helpers/merge-options.js +31 -0
- package/dist/src/helpers/plugins/process-code.d.ts +8 -0
- package/dist/src/helpers/plugins/process-code.js +69 -0
- package/dist/src/helpers/render-imports.d.ts +11 -3
- package/dist/src/helpers/render-imports.js +18 -4
- package/dist/src/helpers/replace-identifiers.js +18 -8
- package/dist/src/helpers/typescript.d.ts +1 -1
- package/dist/src/parsers/angular.js +4 -3
- package/dist/src/parsers/builder.d.ts +2 -2
- package/dist/src/parsers/jsx/ast.d.ts +2 -0
- package/dist/src/parsers/jsx/component-types.d.ts +2 -0
- package/dist/src/parsers/jsx/element-parser.d.ts +3 -1
- package/dist/src/parsers/jsx/exports.d.ts +4 -2
- package/dist/src/parsers/jsx/function-parser.d.ts +2 -0
- package/dist/src/parsers/jsx/helpers.d.ts +2 -0
- package/dist/src/parsers/jsx/imports.d.ts +2 -0
- package/dist/src/parsers/jsx/metadata.d.ts +2 -0
- package/dist/src/parsers/jsx/state.d.ts +2 -0
- package/dist/src/targets.d.ts +1 -1
- package/dist/src/types/mitosis-component.d.ts +8 -7
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/generators/svelte.d.ts +0 -14
- package/dist/src/generators/svelte.js +0 -455
|
@@ -95,7 +95,7 @@ var getImportValue = function (_a) {
|
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
var renderImport = function (_a) {
|
|
98
|
-
var theImport = _a.theImport, target = _a.target, asyncComponentImports = _a.asyncComponentImports, _b = _a.preserveFileExtensions, preserveFileExtensions = _b === void 0 ? false : _b;
|
|
98
|
+
var theImport = _a.theImport, target = _a.target, asyncComponentImports = _a.asyncComponentImports, _b = _a.preserveFileExtensions, preserveFileExtensions = _b === void 0 ? false : _b, _c = _a.component, component = _c === void 0 ? undefined : _c, _d = _a.componentsUsed, componentsUsed = _d === void 0 ? [] : _d, importMapper = _a.importMapper;
|
|
99
99
|
var importedValues = getImportedValues({ theImport: theImport });
|
|
100
100
|
var path = transformImportPath(theImport, target, preserveFileExtensions);
|
|
101
101
|
var importValue = getImportValue(importedValues);
|
|
@@ -115,11 +115,14 @@ var renderImport = function (_a) {
|
|
|
115
115
|
return "const ".concat(importValue, " = () => import('").concat(path, "')\n .then(x => x.default)\n .catch(err => { \n console.error('Error while attempting to dynamically import component ").concat(importValue, " at ").concat(path, "', err);\n throw err;\n });");
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
+
if (importMapper) {
|
|
119
|
+
return importMapper(component, theImport, importedValues, componentsUsed);
|
|
120
|
+
}
|
|
118
121
|
return importValue ? "import ".concat(importValue, " from '").concat(path, "';") : "import '".concat(path, "';");
|
|
119
122
|
};
|
|
120
123
|
exports.renderImport = renderImport;
|
|
121
124
|
var renderImports = function (_a) {
|
|
122
|
-
var imports = _a.imports, target = _a.target, asyncComponentImports = _a.asyncComponentImports, excludeMitosisComponents = _a.excludeMitosisComponents, _b = _a.preserveFileExtensions, preserveFileExtensions = _b === void 0 ? false : _b;
|
|
125
|
+
var imports = _a.imports, target = _a.target, asyncComponentImports = _a.asyncComponentImports, excludeMitosisComponents = _a.excludeMitosisComponents, _b = _a.preserveFileExtensions, preserveFileExtensions = _b === void 0 ? false : _b, component = _a.component, componentsUsed = _a.componentsUsed, importMapper = _a.importMapper;
|
|
123
126
|
return imports
|
|
124
127
|
.filter(function (theImport) {
|
|
125
128
|
if (
|
|
@@ -137,20 +140,31 @@ var renderImports = function (_a) {
|
|
|
137
140
|
}
|
|
138
141
|
})
|
|
139
142
|
.map(function (theImport) {
|
|
140
|
-
return (0, exports.renderImport)({
|
|
143
|
+
return (0, exports.renderImport)({
|
|
144
|
+
theImport: theImport,
|
|
145
|
+
target: target,
|
|
146
|
+
asyncComponentImports: asyncComponentImports,
|
|
147
|
+
preserveFileExtensions: preserveFileExtensions,
|
|
148
|
+
component: component,
|
|
149
|
+
componentsUsed: componentsUsed,
|
|
150
|
+
importMapper: importMapper,
|
|
151
|
+
});
|
|
141
152
|
})
|
|
142
153
|
.join('\n');
|
|
143
154
|
};
|
|
144
155
|
exports.renderImports = renderImports;
|
|
145
156
|
var renderPreComponent = function (_a) {
|
|
146
157
|
var _b;
|
|
147
|
-
var component = _a.component, target = _a.target, excludeMitosisComponents = _a.excludeMitosisComponents, _c = _a.asyncComponentImports, asyncComponentImports = _c === void 0 ? false : _c, _d = _a.preserveFileExtensions, preserveFileExtensions = _d === void 0 ? false : _d;
|
|
158
|
+
var component = _a.component, target = _a.target, excludeMitosisComponents = _a.excludeMitosisComponents, _c = _a.asyncComponentImports, asyncComponentImports = _c === void 0 ? false : _c, _d = _a.preserveFileExtensions, preserveFileExtensions = _d === void 0 ? false : _d, _e = _a.componentsUsed, componentsUsed = _e === void 0 ? [] : _e, importMapper = _a.importMapper;
|
|
148
159
|
return "\n ".concat((0, exports.renderImports)({
|
|
149
160
|
imports: component.imports,
|
|
150
161
|
target: target,
|
|
151
162
|
asyncComponentImports: asyncComponentImports,
|
|
152
163
|
excludeMitosisComponents: excludeMitosisComponents,
|
|
153
164
|
preserveFileExtensions: preserveFileExtensions,
|
|
165
|
+
component: component,
|
|
166
|
+
componentsUsed: componentsUsed,
|
|
167
|
+
importMapper: importMapper,
|
|
154
168
|
}), "\n ").concat((0, exports.renderExportAndLocal)(component), "\n ").concat(((_b = component.hooks.preComponent) === null || _b === void 0 ? void 0 : _b.code) || '', "\n ");
|
|
155
169
|
};
|
|
156
170
|
exports.renderPreComponent = renderPreComponent;
|
|
@@ -3,18 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.replaceIdentifiers = void 0;
|
|
4
4
|
var core_1 = require("@babel/core");
|
|
5
5
|
var babel_transform_1 = require("./babel-transform");
|
|
6
|
+
var checkShouldReplaceIdentifier = function (path) {
|
|
7
|
+
// Identifier should not be an (optional) property access - like `foo` in `this.foo` or `this?.foo`
|
|
8
|
+
var isPropertyAccess = (core_1.types.isMemberExpression(path.parent) || core_1.types.isOptionalMemberExpression(path.parent)) &&
|
|
9
|
+
path.parent.property === path.node;
|
|
10
|
+
if (isPropertyAccess) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
// Identifier should not be a function name - like `foo` in `function foo() {}`
|
|
14
|
+
var isFunctionName = core_1.types.isFunctionDeclaration(path.parent) && path.parent.id === path.node;
|
|
15
|
+
if (isFunctionName) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
6
20
|
var replaceIdentifiers = function (_a) {
|
|
7
21
|
var code = _a.code, from = _a.from, to = _a.to;
|
|
8
22
|
return (0, babel_transform_1.babelTransformExpression)(code, {
|
|
9
23
|
Identifier: function (path) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
path.parent.property === path.node) &&
|
|
15
|
-
// This is no the function name - like `foo` in `function foo() {}`
|
|
16
|
-
!(core_1.types.isFunctionDeclaration(path.parent) && path.parent.id === path.node) &&
|
|
17
|
-
(Array.isArray(from) ? from.includes(path.node.name) : path.node.name === from)) {
|
|
24
|
+
var matchesFrom = Array.isArray(from)
|
|
25
|
+
? from.includes(path.node.name)
|
|
26
|
+
: path.node.name === from;
|
|
27
|
+
if (checkShouldReplaceIdentifier(path) && matchesFrom) {
|
|
18
28
|
path.replaceWith(core_1.types.identifier(typeof to === 'string' ? to : to(path.node.name)));
|
|
19
29
|
}
|
|
20
30
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
|
|
2
|
-
export declare type OmitObj<T, U> =
|
|
2
|
+
export declare type OmitObj<T, U> = T extends U ? Omit<T, keyof U> : never;
|
|
3
3
|
export declare type Dictionary<T> = {
|
|
4
4
|
[key: string]: T;
|
|
5
5
|
};
|
|
@@ -126,9 +126,10 @@ var parseTypescript = function (code, options) {
|
|
|
126
126
|
for (var _i = 0, _a = ast.statements; _i < _a.length; _i++) {
|
|
127
127
|
var statement = _a[_i];
|
|
128
128
|
if (typescript_1.default.isClassDeclaration(statement)) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
var decorators = typescript_1.default.canHaveDecorators(statement) ? typescript_1.default.getDecorators(statement) : undefined;
|
|
130
|
+
if (decorators) {
|
|
131
|
+
for (var _b = 0, decorators_1 = decorators; _b < decorators_1.length; _b++) {
|
|
132
|
+
var decorator = decorators_1[_b];
|
|
132
133
|
// TODO: proper reference tracing
|
|
133
134
|
if (typescript_1.default.isCallExpression(decorator.expression))
|
|
134
135
|
if (typescript_1.default.isIdentifier(decorator.expression.expression) &&
|
|
@@ -35,7 +35,7 @@ export declare const builderContentToMitosisComponent: (builderContent: BuilderC
|
|
|
35
35
|
name: string;
|
|
36
36
|
'@type': "@builder.io/mitosis/component";
|
|
37
37
|
imports: import("..").MitosisImport[];
|
|
38
|
-
exports?: import("..").
|
|
38
|
+
exports?: import("..").MitosisExports | undefined;
|
|
39
39
|
meta: JSONObject & {
|
|
40
40
|
useMetadata?: JSONObject | undefined;
|
|
41
41
|
};
|
|
@@ -70,7 +70,7 @@ export declare const builderContentToMitosisComponent: (builderContent: BuilderC
|
|
|
70
70
|
'@type': "@builder.io/mitosis/component";
|
|
71
71
|
name: string;
|
|
72
72
|
imports: import("..").MitosisImport[];
|
|
73
|
-
exports?: import("..").
|
|
73
|
+
exports?: import("..").MitosisExports | undefined;
|
|
74
74
|
meta: JSONObject & {
|
|
75
75
|
useMetadata?: JSONObject | undefined;
|
|
76
76
|
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import { Context } from './types';
|
|
3
|
+
declare const types: typeof babel.types;
|
|
3
4
|
export declare const getPropsTypeRef: (node: babel.types.FunctionDeclaration, context: Context) => string | undefined;
|
|
4
5
|
export declare const isTypeOrInterface: (node: babel.Node) => boolean;
|
|
5
6
|
export declare const collectTypes: (node: babel.Node, context: Context) => void;
|
|
6
7
|
export declare function handleTypeImports(path: babel.NodePath<babel.types.Program>, context: Context): void;
|
|
8
|
+
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import { MitosisNode } from '../../types/mitosis-node';
|
|
3
|
+
declare const types: typeof babel.types;
|
|
3
4
|
/**
|
|
4
5
|
* Parses a JSX element into a MitosisNode.
|
|
5
6
|
*/
|
|
6
|
-
export declare const jsxElementToJson: (node: babel.types.JSXElement | babel.types.
|
|
7
|
+
export declare const jsxElementToJson: (node: babel.types.JSXElement | babel.types.JSXText | babel.types.JSXFragment | babel.types.JSXExpressionContainer | babel.types.JSXSpreadChild) => MitosisNode | null;
|
|
8
|
+
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { MitosisExports } from '../../types/mitosis-component';
|
|
3
|
+
declare const types: typeof babel.types;
|
|
4
|
+
export declare const generateExports: (path: babel.NodePath<babel.types.Program>) => MitosisExports;
|
|
5
|
+
export {};
|
|
@@ -2,9 +2,11 @@ import * as babel from '@babel/core';
|
|
|
2
2
|
import { JSONOrNode } from '../../types/json';
|
|
3
3
|
import { MitosisComponent } from '../../types/mitosis-component';
|
|
4
4
|
import { Context } from './types';
|
|
5
|
+
declare const types: typeof babel.types;
|
|
5
6
|
export declare function generateUseStyleCode(expression: babel.types.CallExpression): string;
|
|
6
7
|
export declare function parseDefaultPropsHook(component: MitosisComponent, expression: babel.types.CallExpression): void;
|
|
7
8
|
/**
|
|
8
9
|
* Parses function declarations within the Mitosis copmonent's body to JSON
|
|
9
10
|
*/
|
|
10
11
|
export declare const componentFunctionToJson: (node: babel.types.FunctionDeclaration, context: Context) => JSONOrNode;
|
|
12
|
+
export {};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
|
+
declare const types: typeof babel.types;
|
|
2
3
|
export declare const selfClosingTags: Set<string>;
|
|
3
4
|
export declare const uncapitalize: (str: string) => string;
|
|
4
5
|
export declare const parseCodeJson: (node: babel.types.Node) => any;
|
|
5
6
|
export declare const isImportOrDefaultExport: (node: babel.Node) => boolean;
|
|
7
|
+
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import { Context, ParseMitosisOptions } from './types';
|
|
3
|
+
declare const types: typeof babel.types;
|
|
3
4
|
export declare const handleImportDeclaration: ({ options, path, context, }: {
|
|
4
5
|
options: Partial<ParseMitosisOptions>;
|
|
5
6
|
path: babel.NodePath<babel.types.ImportDeclaration>;
|
|
6
7
|
context: Context;
|
|
7
8
|
}) => void;
|
|
9
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import { MitosisComponent } from '../../types/mitosis-component';
|
|
3
3
|
import { ParseMitosisOptions } from './types';
|
|
4
|
+
declare const types: typeof babel.types;
|
|
4
5
|
export declare const METADATA_HOOK_NAME = "useMetadata";
|
|
5
6
|
/**
|
|
6
7
|
* Transform useMetadata({...}) onto the component JSON as
|
|
@@ -10,3 +11,4 @@ export declare const METADATA_HOOK_NAME = "useMetadata";
|
|
|
10
11
|
* the returned nodes array
|
|
11
12
|
*/
|
|
12
13
|
export declare const collectMetadata: (nodes: babel.types.Statement[], component: MitosisComponent, options: ParseMitosisOptions) => babel.types.Statement[];
|
|
14
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import { MitosisComponent } from '../../types/mitosis-component';
|
|
3
3
|
import { JSONObject } from '../../types/json';
|
|
4
|
+
declare const types: typeof babel.types;
|
|
4
5
|
/**
|
|
5
6
|
* Convert state identifiers from React hooks format to the state.* format Mitosis needs
|
|
6
7
|
* e.g.
|
|
@@ -10,3 +11,4 @@ import { JSONObject } from '../../types/json';
|
|
|
10
11
|
export declare function mapStateIdentifiers(json: MitosisComponent): void;
|
|
11
12
|
export declare const parseStateObject: (object: babel.types.ObjectExpression) => JSONObject;
|
|
12
13
|
export declare const parseStateObjectToMitosisState: (object: babel.types.ObjectExpression) => import("../../types/mitosis-component").MitosisState;
|
|
14
|
+
export {};
|
package/dist/src/targets.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare const targets: {
|
|
|
8
8
|
readonly react: import(".").TranspilerGenerator<import("./generators/react").ToReactOptions, string>;
|
|
9
9
|
readonly reactNative: import(".").TranspilerGenerator<import("./generators/react-native").ToReactNativeOptions, string>;
|
|
10
10
|
readonly solid: import(".").TranspilerGenerator<Partial<import("./generators/solid/types").ToSolidOptions>, string>;
|
|
11
|
-
readonly svelte: import(".").TranspilerGenerator<import("./generators/svelte").ToSvelteOptions, string>;
|
|
11
|
+
readonly svelte: import(".").TranspilerGenerator<import("./generators/svelte/types").ToSvelteOptions, string>;
|
|
12
12
|
readonly swift: import(".").TranspilerGenerator<import(".").BaseTranspilerOptions, string>;
|
|
13
13
|
readonly template: import(".").TranspilerGenerator<import("./generators/template").ToTemplateOptions, string>;
|
|
14
14
|
readonly webcomponent: import(".").TranspilerGenerator<import("./generators/html").ToHtmlOptions, string>;
|
|
@@ -51,13 +51,14 @@ export declare type MitosisComponentInput = {
|
|
|
51
51
|
name: string;
|
|
52
52
|
defaultValue: any;
|
|
53
53
|
};
|
|
54
|
-
export declare type
|
|
55
|
-
[name: string]:
|
|
56
|
-
code: string;
|
|
57
|
-
usedInLocal?: boolean;
|
|
58
|
-
isFunction?: boolean;
|
|
59
|
-
};
|
|
54
|
+
export declare type MitosisExports = {
|
|
55
|
+
[name: string]: MitosisExport;
|
|
60
56
|
};
|
|
57
|
+
export interface MitosisExport {
|
|
58
|
+
code: string;
|
|
59
|
+
usedInLocal?: boolean;
|
|
60
|
+
isFunction?: boolean;
|
|
61
|
+
}
|
|
61
62
|
export declare type StateValueType = 'function' | 'getter' | 'method' | 'property';
|
|
62
63
|
export declare type StateCode = _JSON;
|
|
63
64
|
declare type CodeValue = {
|
|
@@ -74,7 +75,7 @@ export declare type MitosisComponent = {
|
|
|
74
75
|
'@type': '@builder.io/mitosis/component';
|
|
75
76
|
name: string;
|
|
76
77
|
imports: MitosisImport[];
|
|
77
|
-
exports?:
|
|
78
|
+
exports?: MitosisExports;
|
|
78
79
|
meta: JSONObject & {
|
|
79
80
|
useMetadata?: JSONObject;
|
|
80
81
|
};
|