@builder.io/mitosis 0.0.56-63 → 0.0.56-67
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/__tests__/data/types/foo-type.d.ts +1 -0
- package/dist/src/__tests__/data/types/foo-type.js +2 -0
- package/dist/src/__tests__/data/types/type-dependency.raw.d.ts +7 -0
- package/dist/src/__tests__/data/types/type-dependency.raw.jsx +6 -0
- package/dist/src/__tests__/data/types/type-export.lite.d.ts +3 -0
- package/dist/src/__tests__/data/types/type-export.lite.jsx +6 -0
- package/dist/src/__tests__/shared.js +4 -0
- package/dist/src/parsers/jsx/component-types.d.ts +1 -0
- package/dist/src/parsers/jsx/component-types.js +9 -1
- package/dist/src/parsers/jsx/jsx.js +11 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type Foo = null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Foo } from './foo-type';
|
|
2
|
+
import type { Foo as Foo2 } from './type-export.lite';
|
|
3
|
+
export declare type TypeDependencyProps = {
|
|
4
|
+
foo: Foo;
|
|
5
|
+
foo2: Foo2;
|
|
6
|
+
};
|
|
7
|
+
export default function TypeDependency(props: TypeDependencyProps): import("@builder.io/mitosis/jsx-runtime").JSX.Element;
|
|
@@ -7,6 +7,7 @@ var basicOnMountUpdate = require('./data/basic-onMount-update.raw');
|
|
|
7
7
|
var basicContext = require('./data/basic-context.raw');
|
|
8
8
|
var basicOutputsMeta = require('./data/basic-outputs-meta.raw');
|
|
9
9
|
var basicOutputs = require('./data/basic-outputs.raw');
|
|
10
|
+
var subComponent = require('./data/sub-component.lite.jsx');
|
|
10
11
|
var basic = require('./data/basic.raw');
|
|
11
12
|
var basicMitosis = require('./data/basic-custom-mitosis-package.raw');
|
|
12
13
|
var basicChildComponent = require('./data/basic-child-component.raw');
|
|
@@ -21,6 +22,7 @@ var preserveExportOrLocalStatement = require('./data/basic-preserve-export-or-lo
|
|
|
21
22
|
var propsType = require('./data/types/component-props-type.raw');
|
|
22
23
|
var propsInterface = require('./data/types/component-props-interface.raw');
|
|
23
24
|
var preserveTyping = require('./data/types/preserve-typing.raw');
|
|
25
|
+
var typeDependency = require('./data/types/type-dependency.raw');
|
|
24
26
|
var classRaw = require('./data/styles/class.raw');
|
|
25
27
|
var className = require('./data/styles/className.raw');
|
|
26
28
|
var classAndClassName = require('./data/styles/class-and-className.raw');
|
|
@@ -86,6 +88,8 @@ var BASIC_TESTS = {
|
|
|
86
88
|
propsType: propsType,
|
|
87
89
|
propsInterface: propsInterface,
|
|
88
90
|
preserveTyping: preserveTyping,
|
|
91
|
+
typeDependency: typeDependency,
|
|
92
|
+
subComponent: subComponent,
|
|
89
93
|
propsDestructure: propsDestructure,
|
|
90
94
|
'onInit & onMount': onInitonMount,
|
|
91
95
|
'Basic Context': basicContext,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
2
|
import { Context } from './types';
|
|
3
3
|
export declare const getPropsTypeRef: (node: babel.types.FunctionDeclaration) => string | undefined;
|
|
4
|
+
export declare const isTypeImport: (node: babel.Node) => boolean;
|
|
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 const collectInterfaces: (node: babel.Node, context: Context) => void;
|
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.collectInterfaces = exports.collectTypes = exports.isTypeOrInterface = exports.getPropsTypeRef = void 0;
|
|
29
|
+
exports.collectInterfaces = exports.collectTypes = exports.isTypeOrInterface = exports.isTypeImport = exports.getPropsTypeRef = void 0;
|
|
30
30
|
var babel = __importStar(require("@babel/core"));
|
|
31
31
|
var generator_1 = __importDefault(require("@babel/generator"));
|
|
32
32
|
var types = babel.types;
|
|
@@ -46,6 +46,14 @@ var getPropsTypeRef = function (node) {
|
|
|
46
46
|
return undefined;
|
|
47
47
|
};
|
|
48
48
|
exports.getPropsTypeRef = getPropsTypeRef;
|
|
49
|
+
var isTypeImport = function (node) {
|
|
50
|
+
var _a;
|
|
51
|
+
return types.isImportDeclaration(node) &&
|
|
52
|
+
node.importKind === 'type' &&
|
|
53
|
+
// Babel adds an implicit JSX type import that we don't want
|
|
54
|
+
((_a = node.specifiers[0]) === null || _a === void 0 ? void 0 : _a.local.name) !== 'JSX';
|
|
55
|
+
};
|
|
56
|
+
exports.isTypeImport = isTypeImport;
|
|
49
57
|
var isTypeOrInterface = function (node) {
|
|
50
58
|
return types.isTSTypeAliasDeclaration(node) ||
|
|
51
59
|
types.isTSInterfaceDeclaration(node) ||
|
|
@@ -506,6 +506,17 @@ function parseJsx(jsx, options) {
|
|
|
506
506
|
component: (0, create_mitosis_component_1.createMitosisComponent)(),
|
|
507
507
|
};
|
|
508
508
|
var keepStatements = path.node.body.filter(function (statement) { return isImportOrDefaultExport(statement) || (0, component_types_1.isTypeOrInterface)(statement); });
|
|
509
|
+
for (var _i = 0, _a = path.node.body; _i < _a.length; _i++) {
|
|
510
|
+
var statement = _a[_i];
|
|
511
|
+
if ((0, component_types_1.isTypeImport)(statement)) {
|
|
512
|
+
var importDeclaration = statement;
|
|
513
|
+
// Remove .lite from path if exists, as that will be stripped
|
|
514
|
+
if (importDeclaration.source.value.endsWith('.lite')) {
|
|
515
|
+
importDeclaration.source.value = importDeclaration.source.value.replace(/\.lite$/, '');
|
|
516
|
+
}
|
|
517
|
+
(0, component_types_1.collectTypes)(statement, context);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
509
520
|
var exportsOrLocalVariables = path.node.body.filter(function (statement) {
|
|
510
521
|
return !isImportOrDefaultExport(statement) &&
|
|
511
522
|
!(0, component_types_1.isTypeOrInterface)(statement) &&
|