@builder.io/mitosis 0.0.56-106 → 0.0.56-109
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/blocks/onUpdateWithDeps.raw.d.ts +5 -1
- package/dist/src/__tests__/data/blocks/onUpdateWithDeps.raw.jsx +3 -3
- package/dist/src/__tests__/shared.d.ts +6 -2
- package/dist/src/__tests__/shared.js +43 -14
- package/dist/src/generators/angular.d.ts +2 -2
- package/dist/src/generators/angular.js +4 -3
- package/dist/src/generators/builder.d.ts +4 -11
- package/dist/src/generators/builder.js +3 -2
- package/dist/src/generators/helpers/functions.d.ts +2 -0
- package/dist/src/generators/helpers/functions.js +28 -0
- package/dist/src/generators/html.d.ts +3 -3
- package/dist/src/generators/html.js +9 -7
- package/dist/src/generators/liquid.d.ts +2 -2
- package/dist/src/generators/liquid.js +4 -4
- package/dist/src/generators/lit/generate.d.ts +2 -2
- package/dist/src/generators/lit/generate.js +3 -2
- package/dist/src/generators/marko/generate.d.ts +2 -2
- package/dist/src/generators/marko/generate.js +10 -8
- package/dist/src/generators/mitosis.d.ts +3 -4
- package/dist/src/generators/mitosis.js +3 -2
- package/dist/src/generators/qwik/component-generator.d.ts +2 -2
- package/dist/src/generators/qwik/directives.js +6 -5
- package/dist/src/generators/react/generator.d.ts +3 -3
- package/dist/src/generators/react/generator.js +6 -4
- package/dist/src/generators/react-native.d.ts +2 -2
- package/dist/src/generators/solid/index.d.ts +2 -2
- package/dist/src/generators/solid/index.js +3 -2
- package/dist/src/generators/stencil/generate.d.ts +2 -2
- package/dist/src/generators/stencil/generate.js +5 -2
- package/dist/src/generators/svelte.d.ts +6 -7
- package/dist/src/generators/svelte.js +15 -31
- package/dist/src/generators/swift-ui.d.ts +3 -5
- package/dist/src/generators/swift-ui.js +3 -2
- package/dist/src/generators/template.d.ts +2 -2
- package/dist/src/generators/template.js +3 -2
- package/dist/src/generators/vue.d.ts +5 -3
- package/dist/src/generators/vue.js +227 -104
- package/dist/src/helpers/get-bindings.js +3 -5
- package/dist/src/helpers/nodes/for.d.ts +4 -0
- package/dist/src/helpers/nodes/for.js +13 -0
- package/dist/src/helpers/nullable.d.ts +1 -2
- package/dist/src/parsers/angular.js +2 -2
- package/dist/src/parsers/builder.js +6 -6
- package/dist/src/parsers/jsx/component-types.d.ts +1 -1
- package/dist/src/parsers/jsx/component-types.js +15 -2
- package/dist/src/parsers/jsx/element-parser.d.ts +6 -0
- package/dist/src/parsers/jsx/element-parser.js +243 -0
- package/dist/src/parsers/jsx/exports.d.ts +3 -0
- package/dist/src/parsers/jsx/exports.js +78 -0
- package/dist/src/parsers/jsx/function-parser.d.ts +7 -0
- package/dist/src/parsers/jsx/function-parser.js +291 -0
- package/dist/src/parsers/jsx/helpers.d.ts +2 -0
- package/dist/src/parsers/jsx/helpers.js +30 -1
- package/dist/src/parsers/jsx/imports.d.ts +7 -0
- package/dist/src/parsers/jsx/imports.js +65 -0
- package/dist/src/parsers/jsx/jsx.js +29 -515
- package/dist/src/parsers/jsx/state.d.ts +1 -1
- package/dist/src/parsers/jsx/state.js +6 -6
- package/dist/src/targets.d.ts +21 -28
- package/dist/src/targets.js +2 -2
- package/dist/src/types/config.d.ts +11 -1
- package/dist/src/types/mitosis-node.d.ts +14 -5
- package/dist/src/types/mitosis-node.js +3 -0
- package/dist/src/types/transpiler.d.ts +6 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var mitosis_1 = require("@builder.io/mitosis");
|
|
4
|
-
function OnUpdateWithDeps() {
|
|
4
|
+
function OnUpdateWithDeps(props) {
|
|
5
5
|
var state = (0, mitosis_1.useStore)({
|
|
6
6
|
a: 'a',
|
|
7
7
|
b: 'b',
|
|
8
8
|
});
|
|
9
9
|
(0, mitosis_1.onUpdate)(function () {
|
|
10
|
-
console.log('Runs when a or
|
|
11
|
-
}, [state.a, state.b]);
|
|
10
|
+
console.log('Runs when a, b or size changes', state.a, state.b, props.size);
|
|
11
|
+
}, [state.a, state.b, props.size]);
|
|
12
12
|
return <div />;
|
|
13
13
|
}
|
|
14
14
|
exports.default = OnUpdateWithDeps;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TranspilerGenerator } from '../types/transpiler';
|
|
2
2
|
import { Target } from '../types/config';
|
|
3
3
|
export declare const runTestsForJsx: () => void;
|
|
4
|
-
export declare const runTestsForTarget: (target
|
|
4
|
+
export declare const runTestsForTarget: <X>({ target, generator, options, }: {
|
|
5
|
+
target: Target;
|
|
6
|
+
generator: TranspilerGenerator<X, string>;
|
|
7
|
+
options: X;
|
|
8
|
+
}) => void;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
14
|
exports.runTestsForTarget = exports.runTestsForJsx = void 0;
|
|
4
15
|
var jsx_1 = require("../parsers/jsx");
|
|
@@ -60,6 +71,7 @@ var submitButtonBlock = require('./data/blocks/submit-button.raw');
|
|
|
60
71
|
var text = require('./data/blocks/text.raw');
|
|
61
72
|
var textarea = require('./data/blocks/textarea.raw');
|
|
62
73
|
var video = require('./data/blocks/video.raw');
|
|
74
|
+
var builderRenderContent = require('./data/blocks/builder-render-content.raw');
|
|
63
75
|
var path = 'test-path';
|
|
64
76
|
var BASIC_TESTS = {
|
|
65
77
|
Basic: basic,
|
|
@@ -93,6 +105,7 @@ var BASIC_TESTS = {
|
|
|
93
105
|
preserveTyping: preserveTyping,
|
|
94
106
|
typeDependency: typeDependency,
|
|
95
107
|
defaultValsWithTypes: require('./data/types/component-with-default-values-types.raw'),
|
|
108
|
+
'import types': builderRenderContent,
|
|
96
109
|
subComponent: subComponent,
|
|
97
110
|
nestedStyles: nestedStyles,
|
|
98
111
|
propsDestructure: propsDestructure,
|
|
@@ -296,6 +309,12 @@ var TESTS_FOR_TARGET = {
|
|
|
296
309
|
],
|
|
297
310
|
};
|
|
298
311
|
var runTestsForJsx = function () {
|
|
312
|
+
test('Remove Internal mitosis package', function () {
|
|
313
|
+
var component = (0, jsx_1.parseJsx)(basicMitosis, {
|
|
314
|
+
compileAwayPackages: ['@dummy/custom-mitosis'],
|
|
315
|
+
});
|
|
316
|
+
expect(component).toMatchSnapshot();
|
|
317
|
+
});
|
|
299
318
|
JSX_TESTS.forEach(function (tests) {
|
|
300
319
|
Object.keys(tests).forEach(function (key) {
|
|
301
320
|
test(key, function () {
|
|
@@ -306,28 +325,38 @@ var runTestsForJsx = function () {
|
|
|
306
325
|
});
|
|
307
326
|
};
|
|
308
327
|
exports.runTestsForJsx = runTestsForJsx;
|
|
309
|
-
var runTestsForTarget = function (
|
|
328
|
+
var runTestsForTarget = function (_a) {
|
|
329
|
+
var target = _a.target, generator = _a.generator, options = _a.options;
|
|
310
330
|
var testsArray = TESTS_FOR_TARGET[target];
|
|
311
331
|
test('Remove Internal mitosis package', function () {
|
|
312
332
|
var component = (0, jsx_1.parseJsx)(basicMitosis, {
|
|
313
333
|
compileAwayPackages: ['@dummy/custom-mitosis'],
|
|
314
334
|
});
|
|
315
|
-
var output = generator({ component: component, path: path });
|
|
335
|
+
var output = generator(options)({ component: component, path: path });
|
|
316
336
|
expect(output).toMatchSnapshot();
|
|
317
337
|
});
|
|
338
|
+
var configurations = [
|
|
339
|
+
{ options: __assign(__assign({}, options), { typescript: false }), testName: 'Javascript Test' },
|
|
340
|
+
{ options: __assign(__assign({}, options), { typescript: true }), testName: 'Typescript Test' },
|
|
341
|
+
];
|
|
318
342
|
if (testsArray) {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
343
|
+
configurations.forEach(function (_a) {
|
|
344
|
+
var options = _a.options, testName = _a.testName;
|
|
345
|
+
describe(testName, function () {
|
|
346
|
+
testsArray.forEach(function (tests) {
|
|
347
|
+
Object.keys(tests).forEach(function (key) {
|
|
348
|
+
test(key, function () {
|
|
349
|
+
try {
|
|
350
|
+
var component = (0, jsx_1.parseJsx)(tests[key]);
|
|
351
|
+
var output = generator(options)({ component: component, path: path });
|
|
352
|
+
expect(output).toMatchSnapshot();
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
console.log('failed to parse', error);
|
|
356
|
+
throw error;
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
});
|
|
331
360
|
});
|
|
332
361
|
});
|
|
333
362
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MitosisNode } from '../types/mitosis-node';
|
|
2
|
-
import { BaseTranspilerOptions,
|
|
2
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
3
3
|
export interface ToAngularOptions extends BaseTranspilerOptions {
|
|
4
4
|
standalone?: boolean;
|
|
5
5
|
}
|
|
@@ -10,5 +10,5 @@ interface AngularBlockOptions {
|
|
|
10
10
|
domRefs?: string[];
|
|
11
11
|
}
|
|
12
12
|
export declare const blockToAngular: (json: MitosisNode, options?: ToAngularOptions, blockOptions?: AngularBlockOptions) => string;
|
|
13
|
-
export declare const componentToAngular:
|
|
13
|
+
export declare const componentToAngular: TranspilerGenerator<ToAngularOptions>;
|
|
14
14
|
export {};
|
|
@@ -28,6 +28,7 @@ var map_refs_1 = require("../helpers/map-refs");
|
|
|
28
28
|
var render_imports_1 = require("../helpers/render-imports");
|
|
29
29
|
var strip_state_and_props_refs_1 = require("../helpers/strip-state-and-props-refs");
|
|
30
30
|
var jsx_1 = require("../parsers/jsx");
|
|
31
|
+
var mitosis_node_1 = require("../types/mitosis-node");
|
|
31
32
|
var plugins_1 = require("../modules/plugins");
|
|
32
33
|
var is_children_1 = __importDefault(require("../helpers/is-children"));
|
|
33
34
|
var get_props_1 = require("../helpers/get-props");
|
|
@@ -97,9 +98,9 @@ var blockToAngular = function (json, options, blockOptions) {
|
|
|
97
98
|
}
|
|
98
99
|
var str = '';
|
|
99
100
|
var needsToRenderSlots = [];
|
|
100
|
-
if (
|
|
101
|
-
var indexName = json.scope.
|
|
102
|
-
str += "<ng-container *ngFor=\"let ".concat(json.
|
|
101
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
102
|
+
var indexName = json.scope.indexName;
|
|
103
|
+
str += "<ng-container *ngFor=\"let ".concat(json.scope.forName, " of ").concat((0, strip_state_and_props_refs_1.stripStateAndPropsRefs)((_e = json.bindings.each) === null || _e === void 0 ? void 0 : _e.code, {
|
|
103
104
|
contextVars: contextVars,
|
|
104
105
|
outputVars: outputVars,
|
|
105
106
|
domRefs: domRefs,
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { MitosisNode } from '../types/mitosis-node';
|
|
2
|
-
import { BuilderElement } from '@builder.io/sdk';
|
|
3
|
-
import { TranspilerArgs } from '../types/transpiler';
|
|
4
|
-
export interface ToBuilderOptions {
|
|
2
|
+
import { BuilderContent, BuilderElement } from '@builder.io/sdk';
|
|
3
|
+
import { BaseTranspilerOptions, TranspilerArgs } from '../types/transpiler';
|
|
4
|
+
export interface ToBuilderOptions extends BaseTranspilerOptions {
|
|
5
5
|
includeIds?: boolean;
|
|
6
6
|
}
|
|
7
7
|
declare type InternalOptions = {
|
|
8
8
|
skipMapper?: boolean;
|
|
9
9
|
};
|
|
10
10
|
export declare const blockToBuilder: (json: MitosisNode, options?: ToBuilderOptions, _internalOptions?: InternalOptions) => BuilderElement;
|
|
11
|
-
export declare const componentToBuilder: (options?: ToBuilderOptions) => ({ component }: TranspilerArgs) =>
|
|
12
|
-
data: {
|
|
13
|
-
httpRequests: import("../types/json")._JSON;
|
|
14
|
-
jsCode: string;
|
|
15
|
-
tsCode: string;
|
|
16
|
-
blocks: BuilderElement[];
|
|
17
|
-
};
|
|
18
|
-
};
|
|
11
|
+
export declare const componentToBuilder: (options?: ToBuilderOptions) => ({ component }: TranspilerArgs) => BuilderContent;
|
|
19
12
|
export {};
|
|
@@ -81,15 +81,16 @@ var componentMappers = __assign(__assign({}, (!builder_1.symbolBlocksAsChildren
|
|
|
81
81
|
block.component.options.columns = columns;
|
|
82
82
|
block.children = [];
|
|
83
83
|
return block;
|
|
84
|
-
}, For: function (
|
|
84
|
+
}, For: function (_node, options) {
|
|
85
85
|
var _a;
|
|
86
|
+
var node = _node;
|
|
86
87
|
return el({
|
|
87
88
|
component: {
|
|
88
89
|
name: 'Core:Fragment',
|
|
89
90
|
},
|
|
90
91
|
repeat: {
|
|
91
92
|
collection: (_a = node.bindings.each) === null || _a === void 0 ? void 0 : _a.code,
|
|
92
|
-
itemName: node.
|
|
93
|
+
itemName: node.scope.forName,
|
|
93
94
|
},
|
|
94
95
|
children: node.children
|
|
95
96
|
.filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FUNCTION_HACK_PLUGIN = void 0;
|
|
4
|
+
var FUNCTION_HACK_PLUGIN = function () { return ({
|
|
5
|
+
json: {
|
|
6
|
+
pre: function (json) {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
for (var key in json.state) {
|
|
9
|
+
var value = (_a = json.state[key]) === null || _a === void 0 ? void 0 : _a.code;
|
|
10
|
+
var type = (_b = json.state[key]) === null || _b === void 0 ? void 0 : _b.type;
|
|
11
|
+
if (typeof value === 'string' && type === 'method') {
|
|
12
|
+
var newValue = "function ".concat(value);
|
|
13
|
+
json.state[key] = {
|
|
14
|
+
code: newValue,
|
|
15
|
+
type: 'method',
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
else if (typeof value === 'string' && type === 'function') {
|
|
19
|
+
json.state[key] = {
|
|
20
|
+
code: value,
|
|
21
|
+
type: 'method',
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
}); };
|
|
28
|
+
exports.FUNCTION_HACK_PLUGIN = FUNCTION_HACK_PLUGIN;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseTranspilerOptions,
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
2
2
|
export interface ToHtmlOptions extends BaseTranspilerOptions {
|
|
3
3
|
format?: 'class' | 'script';
|
|
4
4
|
prefix?: string;
|
|
5
5
|
}
|
|
6
|
-
export declare const componentToHtml:
|
|
7
|
-
export declare const componentToCustomElement:
|
|
6
|
+
export declare const componentToHtml: TranspilerGenerator<ToHtmlOptions>;
|
|
7
|
+
export declare const componentToCustomElement: TranspilerGenerator<ToHtmlOptions>;
|
|
@@ -47,12 +47,14 @@ var get_props_1 = require("../helpers/get-props");
|
|
|
47
47
|
var get_props_ref_1 = require("../helpers/get-props-ref");
|
|
48
48
|
var get_prop_functions_1 = require("../helpers/get-prop-functions");
|
|
49
49
|
var jsx_1 = require("../parsers/jsx");
|
|
50
|
+
var mitosis_node_1 = require("../types/mitosis-node");
|
|
50
51
|
var strip_state_and_props_refs_1 = require("../helpers/strip-state-and-props-refs");
|
|
51
52
|
var plugins_1 = require("../modules/plugins");
|
|
52
53
|
var is_children_1 = __importDefault(require("../helpers/is-children"));
|
|
53
54
|
var strip_meta_properties_1 = require("../helpers/strip-meta-properties");
|
|
54
55
|
var remove_surrounding_block_1 = require("../helpers/remove-surrounding-block");
|
|
55
56
|
var render_imports_1 = require("../helpers/render-imports");
|
|
57
|
+
var for_1 = require("../helpers/nodes/for");
|
|
56
58
|
var isAttribute = function (key) {
|
|
57
59
|
return /-/.test(key);
|
|
58
60
|
};
|
|
@@ -189,7 +191,7 @@ var addOnChangeJs = function (id, options, code) {
|
|
|
189
191
|
};
|
|
190
192
|
// TODO: spread support
|
|
191
193
|
var blockToHtml = function (json, options, blockOptions) {
|
|
192
|
-
var _a, _b, _c, _d, _e, _f
|
|
194
|
+
var _a, _b, _c, _d, _e, _f;
|
|
193
195
|
if (blockOptions === void 0) { blockOptions = {}; }
|
|
194
196
|
var ComponentName = blockOptions.ComponentName;
|
|
195
197
|
var scopeVars = (blockOptions === null || blockOptions === void 0 ? void 0 : blockOptions.scopeVars) || [];
|
|
@@ -221,14 +223,14 @@ var blockToHtml = function (json, options, blockOptions) {
|
|
|
221
223
|
return "<template data-el=\"".concat(elId, "\"><!-- ").concat((_b = json.bindings._text) === null || _b === void 0 ? void 0 : _b.code, " --></template>");
|
|
222
224
|
}
|
|
223
225
|
var str = '';
|
|
224
|
-
if (
|
|
225
|
-
var forArguments = (
|
|
226
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
227
|
+
var forArguments = (0, for_1.getForArguments)(json);
|
|
226
228
|
var localScopeVars_1 = __spreadArray(__spreadArray([], scopeVars, true), forArguments, true);
|
|
227
229
|
var argsStr = forArguments.map(function (arg) { return "\"".concat(arg, "\""); }).join(',');
|
|
228
230
|
addOnChangeJs(elId, options,
|
|
229
231
|
// TODO: be smarter about rendering, deleting old items and adding new ones by
|
|
230
232
|
// querying dom potentially
|
|
231
|
-
"\n let array = ".concat((
|
|
233
|
+
"\n let array = ".concat((_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code, ";\n ").concat(options.format === 'class' ? 'this.' : '', "renderLoop(el, array, ").concat(argsStr, ");\n "));
|
|
232
234
|
// TODO: decide on how to handle this...
|
|
233
235
|
str += "\n <template data-el=\"".concat(elId, "\">");
|
|
234
236
|
if (json.children) {
|
|
@@ -241,7 +243,7 @@ var blockToHtml = function (json, options, blockOptions) {
|
|
|
241
243
|
str += '</template>';
|
|
242
244
|
}
|
|
243
245
|
else if (json.name === 'Show') {
|
|
244
|
-
var whenCondition = ((
|
|
246
|
+
var whenCondition = ((_d = json.bindings.when) === null || _d === void 0 ? void 0 : _d.code).replace(/;$/, '');
|
|
245
247
|
addOnChangeJs(elId, options, "\n ".concat(addScopeVars(scopeVars, whenCondition, function (scopeVar) {
|
|
246
248
|
return "const ".concat(scopeVar, " = ").concat(options.format === 'class' ? 'this.' : '', "getScope(el, \"").concat(scopeVar, "\");");
|
|
247
249
|
}), "\n const whenCondition = ").concat(whenCondition, ";\n if (whenCondition) {\n ").concat(options.format === 'class' ? 'this.' : '', "showContent(el)\n }\n "));
|
|
@@ -281,8 +283,8 @@ var blockToHtml = function (json, options, blockOptions) {
|
|
|
281
283
|
if (key === '_spread' || key === 'css') {
|
|
282
284
|
continue;
|
|
283
285
|
}
|
|
284
|
-
var value = (
|
|
285
|
-
var cusArg = ((
|
|
286
|
+
var value = (_e = json.bindings[key]) === null || _e === void 0 ? void 0 : _e.code;
|
|
287
|
+
var cusArg = ((_f = json.bindings[key]) === null || _f === void 0 ? void 0 : _f.arguments) || ['event'];
|
|
286
288
|
// TODO: proper babel transform to replace. Util for this
|
|
287
289
|
var useValue = value;
|
|
288
290
|
if (key.startsWith('on')) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseTranspilerOptions,
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
2
2
|
export interface ToLiquidOptions extends BaseTranspilerOptions {
|
|
3
3
|
reactive?: boolean;
|
|
4
4
|
}
|
|
@@ -8,4 +8,4 @@ export interface ToLiquidOptions extends BaseTranspilerOptions {
|
|
|
8
8
|
* Shopify will reject our PUT to update the template
|
|
9
9
|
*/
|
|
10
10
|
export declare const isValidLiquidBinding: (str?: string) => boolean;
|
|
11
|
-
export declare const componentToLiquid:
|
|
11
|
+
export declare const componentToLiquid: TranspilerGenerator<ToLiquidOptions>;
|
|
@@ -6,6 +6,7 @@ var collect_css_1 = require("../helpers/styles/collect-css");
|
|
|
6
6
|
var fast_clone_1 = require("../helpers/fast-clone");
|
|
7
7
|
var strip_state_and_props_refs_1 = require("../helpers/strip-state-and-props-refs");
|
|
8
8
|
var jsx_1 = require("../parsers/jsx");
|
|
9
|
+
var mitosis_node_1 = require("../types/mitosis-node");
|
|
9
10
|
var plugins_1 = require("../modules/plugins");
|
|
10
11
|
var strip_meta_properties_1 = require("../helpers/strip-meta-properties");
|
|
11
12
|
var get_state_object_string_1 = require("../helpers/get-state-object-string");
|
|
@@ -49,12 +50,11 @@ var blockToLiquid = function (json, options) {
|
|
|
49
50
|
return "{{".concat((0, strip_state_and_props_refs_1.stripStateAndPropsRefs)(json.bindings._text.code), "}}");
|
|
50
51
|
}
|
|
51
52
|
var str = '';
|
|
52
|
-
if (
|
|
53
|
-
if (!((0, exports.isValidLiquidBinding)((_b = json.bindings.each) === null || _b === void 0 ? void 0 : _b.code) &&
|
|
54
|
-
(0, exports.isValidLiquidBinding)(json.properties._forName))) {
|
|
53
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
54
|
+
if (!((0, exports.isValidLiquidBinding)((_b = json.bindings.each) === null || _b === void 0 ? void 0 : _b.code) && (0, exports.isValidLiquidBinding)(json.scope.forName))) {
|
|
55
55
|
return str;
|
|
56
56
|
}
|
|
57
|
-
str += "{% for ".concat(json.
|
|
57
|
+
str += "{% for ".concat(json.scope.forName, " in ").concat((0, strip_state_and_props_refs_1.stripStateAndPropsRefs)((_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code), " %}");
|
|
58
58
|
if (json.children) {
|
|
59
59
|
str += json.children.map(function (item) { return blockToLiquid(item, options); }).join('\n');
|
|
60
60
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseTranspilerOptions,
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../../types/transpiler';
|
|
2
2
|
export interface ToLitOptions extends BaseTranspilerOptions {
|
|
3
3
|
useShadowDom?: boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare const componentToLit:
|
|
5
|
+
export declare const componentToLit: TranspilerGenerator<ToLitOptions>;
|
|
@@ -13,6 +13,7 @@ var standalone_1 = require("prettier/standalone");
|
|
|
13
13
|
var get_state_object_string_1 = require("../../helpers/get-state-object-string");
|
|
14
14
|
var render_imports_1 = require("../../helpers/render-imports");
|
|
15
15
|
var jsx_1 = require("../../parsers/jsx");
|
|
16
|
+
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
16
17
|
var plugins_1 = require("../../modules/plugins");
|
|
17
18
|
var fast_clone_1 = require("../../helpers/fast-clone");
|
|
18
19
|
var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
|
|
@@ -48,8 +49,8 @@ var blockToLit = function (json, options) {
|
|
|
48
49
|
if ((_a = json.bindings._text) === null || _a === void 0 ? void 0 : _a.code) {
|
|
49
50
|
return "${".concat(processBinding((_b = json.bindings) === null || _b === void 0 ? void 0 : _b._text.code), "}");
|
|
50
51
|
}
|
|
51
|
-
if (
|
|
52
|
-
return "${".concat(processBinding((_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code), "?.map((").concat(json.
|
|
52
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
53
|
+
return "${".concat(processBinding((_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code), "?.map((").concat(json.scope.forName, ", index) => (\n html`").concat(json.children
|
|
53
54
|
.filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
|
|
54
55
|
.map(function (item) { return blockToLit(item, options); })
|
|
55
56
|
.join('\n'), "`\n ))}");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseTranspilerOptions,
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../../types/transpiler';
|
|
2
2
|
export interface ToMarkoOptions extends BaseTranspilerOptions {
|
|
3
3
|
}
|
|
4
|
-
export declare const componentToMarko:
|
|
4
|
+
export declare const componentToMarko: TranspilerGenerator<ToMarkoOptions>;
|
|
5
5
|
/**
|
|
6
6
|
* Convert marko expressions to valid html
|
|
7
7
|
*
|
|
@@ -24,6 +24,7 @@ var standalone_1 = require("prettier/standalone");
|
|
|
24
24
|
var get_state_object_string_1 = require("../../helpers/get-state-object-string");
|
|
25
25
|
var render_imports_1 = require("../../helpers/render-imports");
|
|
26
26
|
var jsx_1 = require("../../parsers/jsx");
|
|
27
|
+
var mitosis_node_1 = require("../../types/mitosis-node");
|
|
27
28
|
var plugins_1 = require("../../modules/plugins");
|
|
28
29
|
var fast_clone_1 = require("../../helpers/fast-clone");
|
|
29
30
|
var strip_meta_properties_1 = require("../../helpers/strip-meta-properties");
|
|
@@ -37,6 +38,7 @@ var has_props_1 = require("../../helpers/has-props");
|
|
|
37
38
|
var get_refs_1 = require("../../helpers/get-refs");
|
|
38
39
|
var lodash_1 = require("lodash");
|
|
39
40
|
var hash_sum_1 = __importDefault(require("hash-sum"));
|
|
41
|
+
var for_1 = require("../../helpers/nodes/for");
|
|
40
42
|
// Having issues with this, so off for now
|
|
41
43
|
var USE_MARKO_PRETTIER = false;
|
|
42
44
|
/**
|
|
@@ -46,7 +48,7 @@ function getStatePropertyNames(json) {
|
|
|
46
48
|
return Object.keys(json.state).filter(function (key) { var _a; return ((_a = json.state[key]) === null || _a === void 0 ? void 0 : _a.type) === 'property'; });
|
|
47
49
|
}
|
|
48
50
|
var blockToMarko = function (json, options) {
|
|
49
|
-
var _a, _b, _c, _d, _e, _f
|
|
51
|
+
var _a, _b, _c, _d, _e, _f;
|
|
50
52
|
if (json.properties._text) {
|
|
51
53
|
return json.properties._text;
|
|
52
54
|
}
|
|
@@ -56,22 +58,22 @@ var blockToMarko = function (json, options) {
|
|
|
56
58
|
if (json.name === 'Fragment') {
|
|
57
59
|
return json.children.map(function (child) { return blockToMarko(child, options); }).join('\n');
|
|
58
60
|
}
|
|
59
|
-
if (
|
|
60
|
-
var forArguments = (
|
|
61
|
-
return "<for|".concat(forArguments, "| of=(").concat(processBinding(options.component, (
|
|
61
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
62
|
+
var forArguments = (0, for_1.getForArguments)(json).join(',');
|
|
63
|
+
return "<for|".concat(forArguments, "| of=(").concat(processBinding(options.component, (_c = json.bindings.each) === null || _c === void 0 ? void 0 : _c.code), ")>\n ").concat(json.children
|
|
62
64
|
.filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
|
|
63
65
|
.map(function (item) { return blockToMarko(item, options); })
|
|
64
66
|
.join('\n'), "\n </for>");
|
|
65
67
|
}
|
|
66
68
|
else if (json.name === 'Show') {
|
|
67
|
-
return "<if(".concat(processBinding(options.component, (
|
|
69
|
+
return "<if(".concat(processBinding(options.component, (_d = json.bindings.when) === null || _d === void 0 ? void 0 : _d.code), ")>\n ").concat(json.children
|
|
68
70
|
.filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
|
|
69
71
|
.map(function (item) { return blockToMarko(item, options); })
|
|
70
72
|
.join('\n'), "</if>\n ").concat(!json.meta.else ? '' : "<else>".concat(blockToMarko(json.meta.else, options), "</else>"));
|
|
71
73
|
}
|
|
72
74
|
var str = '';
|
|
73
75
|
str += "<".concat(json.name, " ");
|
|
74
|
-
if ((
|
|
76
|
+
if ((_e = json.bindings._spread) === null || _e === void 0 ? void 0 : _e.code) {
|
|
75
77
|
str += " ...(".concat(json.bindings._spread.code, ") ");
|
|
76
78
|
}
|
|
77
79
|
for (var key in json.properties) {
|
|
@@ -79,7 +81,7 @@ var blockToMarko = function (json, options) {
|
|
|
79
81
|
str += " ".concat(key, "=\"").concat(value, "\" ");
|
|
80
82
|
}
|
|
81
83
|
for (var key in json.bindings) {
|
|
82
|
-
var
|
|
84
|
+
var _g = json.bindings[key], code = _g.code, _h = _g.arguments, cusArgs = _h === void 0 ? ['event'] : _h;
|
|
83
85
|
if (key === '_spread' || key === '_forName') {
|
|
84
86
|
continue;
|
|
85
87
|
}
|
|
@@ -98,7 +100,7 @@ var blockToMarko = function (json, options) {
|
|
|
98
100
|
return str + ' />';
|
|
99
101
|
}
|
|
100
102
|
str += '>';
|
|
101
|
-
if ((
|
|
103
|
+
if ((_f = json.bindings.innerHTML) === null || _f === void 0 ? void 0 : _f.code) {
|
|
102
104
|
str += "$!{".concat(processBinding(options.component, json.bindings.innerHTML.code), "}");
|
|
103
105
|
}
|
|
104
106
|
if (json.children) {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
2
2
|
import { MitosisNode } from '../types/mitosis-node';
|
|
3
|
-
export interface ToMitosisOptions {
|
|
4
|
-
prettier?: boolean;
|
|
3
|
+
export interface ToMitosisOptions extends BaseTranspilerOptions {
|
|
5
4
|
format: 'react' | 'legacy';
|
|
6
5
|
}
|
|
7
6
|
export declare const DEFAULT_FORMAT: ToMitosisOptions['format'];
|
|
8
7
|
export declare const blockToMitosis: (json: MitosisNode, toMitosisOptions?: Partial<ToMitosisOptions>) => string;
|
|
9
|
-
export declare const componentToMitosis:
|
|
8
|
+
export declare const componentToMitosis: TranspilerGenerator<Partial<ToMitosisOptions>>;
|
|
@@ -38,6 +38,7 @@ var get_state_object_string_1 = require("../helpers/get-state-object-string");
|
|
|
38
38
|
var map_refs_1 = require("../helpers/map-refs");
|
|
39
39
|
var render_imports_1 = require("../helpers/render-imports");
|
|
40
40
|
var jsx_1 = require("../parsers/jsx");
|
|
41
|
+
var mitosis_node_1 = require("../types/mitosis-node");
|
|
41
42
|
var react_1 = require("./react");
|
|
42
43
|
var state_1 = require("../helpers/state");
|
|
43
44
|
exports.DEFAULT_FORMAT = 'legacy';
|
|
@@ -57,9 +58,9 @@ var blockToMitosis = function (json, toMitosisOptions) {
|
|
|
57
58
|
prettier: options.prettier,
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
|
-
if (
|
|
61
|
+
if ((0, mitosis_node_1.checkIsForNode)(json)) {
|
|
61
62
|
var needsWrapper = json.children.length !== 1;
|
|
62
|
-
return "<For each={".concat((_a = json.bindings.each) === null || _a === void 0 ? void 0 : _a.code, "}>\n {(").concat(json.
|
|
63
|
+
return "<For each={".concat((_a = json.bindings.each) === null || _a === void 0 ? void 0 : _a.code, "}>\n {(").concat(json.scope.forName, ", index) =>\n ").concat(needsWrapper ? '<>' : '', "\n ").concat(json.children.map(function (child) { return (0, exports.blockToMitosis)(child, options); }), "}\n ").concat(needsWrapper ? '</>' : '', "\n </For>");
|
|
63
64
|
}
|
|
64
65
|
if (json.properties._text) {
|
|
65
66
|
return json.properties._text;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseTranspilerOptions,
|
|
1
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../../types/transpiler';
|
|
2
2
|
export interface ToQwikOptions extends BaseTranspilerOptions {
|
|
3
3
|
}
|
|
4
|
-
export declare const componentToQwik:
|
|
4
|
+
export declare const componentToQwik: TranspilerGenerator<ToQwikOptions>;
|
|
@@ -5,6 +5,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.CoreButton = exports.__passThroughProps__ = exports.Image = exports.DIRECTIVES = void 0;
|
|
8
|
+
var for_1 = require("../../helpers/nodes/for");
|
|
8
9
|
var minify_1 = require("../minify");
|
|
9
10
|
var src_generator_1 = require("./src-generator");
|
|
10
11
|
exports.DIRECTIVES = {
|
|
@@ -27,17 +28,17 @@ exports.DIRECTIVES = {
|
|
|
27
28
|
});
|
|
28
29
|
};
|
|
29
30
|
},
|
|
30
|
-
For: function (
|
|
31
|
+
For: function (_node, blockFn) {
|
|
31
32
|
return function () {
|
|
32
33
|
var _this = this;
|
|
33
34
|
var _a;
|
|
35
|
+
var node = _node;
|
|
34
36
|
var expr = (_a = node.bindings.each) === null || _a === void 0 ? void 0 : _a.code;
|
|
35
37
|
this.jsxExpression(function () {
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
+
var forArgs = (0, for_1.getForArguments)(node);
|
|
39
|
+
var forName = forArgs[0];
|
|
38
40
|
_this.emit('(', expr, '||[]).map(');
|
|
39
|
-
_this.isBuilder && _this.emit('(('),
|
|
40
|
-
_this.emit('function(', forName, indexName ? ',' : '', indexName ? indexName : '', '){');
|
|
41
|
+
_this.isBuilder && _this.emit('(('), _this.emit('function(', forArgs, '){');
|
|
41
42
|
if (_this.isBuilder) {
|
|
42
43
|
_this.emit('var state=Object.assign({},this,{', (0, src_generator_1.iteratorProperty)(expr), ':', forName, '==null?{}:', forName, '});');
|
|
43
44
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TranspilerGenerator } from '../../types/transpiler';
|
|
2
2
|
import { MitosisNode } from '../../types/mitosis-node';
|
|
3
3
|
import { ToReactOptions } from './types';
|
|
4
4
|
export declare const blockToReact: (json: MitosisNode, options: ToReactOptions, parentSlots?: any[]) => string;
|
|
5
|
-
export declare const componentToPreact:
|
|
6
|
-
export declare const componentToReact:
|
|
5
|
+
export declare const componentToPreact: TranspilerGenerator<ToReactOptions>;
|
|
6
|
+
export declare const componentToReact: TranspilerGenerator<ToReactOptions>;
|
|
@@ -49,6 +49,7 @@ var state_1 = require("../../helpers/state");
|
|
|
49
49
|
var state_2 = require("./state");
|
|
50
50
|
var helpers_2 = require("./helpers");
|
|
51
51
|
var hash_sum_1 = __importDefault(require("hash-sum"));
|
|
52
|
+
var for_1 = require("../../helpers/nodes/for");
|
|
52
53
|
var openFrag = function (options) { return getFragment('open', options); };
|
|
53
54
|
var closeFrag = function (options) { return getFragment('close', options); };
|
|
54
55
|
function getFragment(type, options) {
|
|
@@ -87,11 +88,12 @@ var NODE_MAPPERS = {
|
|
|
87
88
|
.map(function (item) { return (0, exports.blockToReact)(item, options); })
|
|
88
89
|
.join('\n')).concat(wrap ? getFragment('close', options) : '');
|
|
89
90
|
},
|
|
90
|
-
For: function (
|
|
91
|
-
var _a
|
|
91
|
+
For: function (_json, options) {
|
|
92
|
+
var _a;
|
|
93
|
+
var json = _json;
|
|
92
94
|
var wrap = wrapInFragment(json);
|
|
93
|
-
var forArguments = (
|
|
94
|
-
return "{".concat((0, helpers_2.processBinding)((
|
|
95
|
+
var forArguments = (0, for_1.getForArguments)(json).join(', ');
|
|
96
|
+
return "{".concat((0, helpers_2.processBinding)((_a = json.bindings.each) === null || _a === void 0 ? void 0 : _a.code, options), "?.map((").concat(forArguments, ") => (\n ").concat(wrap ? openFrag(options) : '').concat(json.children
|
|
95
97
|
.filter(filter_empty_text_nodes_1.filterEmptyTextNodes)
|
|
96
98
|
.map(function (item) { return (0, exports.blockToReact)(item, options); })
|
|
97
99
|
.join('\n')).concat(wrap ? closeFrag(options) : '', "\n ))}");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ClassStyleMap } from '../helpers/styles/helpers';
|
|
2
2
|
import { MitosisComponent } from '../types/mitosis-component';
|
|
3
|
-
import { BaseTranspilerOptions,
|
|
3
|
+
import { BaseTranspilerOptions, TranspilerGenerator } from '../types/transpiler';
|
|
4
4
|
export interface ToReactNativeOptions extends BaseTranspilerOptions {
|
|
5
5
|
stylesType?: 'emotion' | 'react-native';
|
|
6
6
|
stateType?: 'useState' | 'mobx' | 'valtio' | 'solid' | 'builder';
|
|
7
7
|
}
|
|
8
8
|
export declare const collectReactNativeStyles: (json: MitosisComponent) => ClassStyleMap;
|
|
9
|
-
export declare const componentToReactNative:
|
|
9
|
+
export declare const componentToReactNative: TranspilerGenerator<ToReactNativeOptions>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TranspilerGenerator } from '../../types/transpiler';
|
|
2
2
|
import { ToSolidOptions } from './types';
|
|
3
|
-
export declare const componentToSolid:
|
|
3
|
+
export declare const componentToSolid: TranspilerGenerator<Partial<ToSolidOptions>>;
|