@builder.io/mitosis 0.0.50-6 → 0.0.50
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__/angular.test.js +6 -0
- package/dist/src/__tests__/builder.test.js +5 -1
- package/dist/src/__tests__/data/blocks/multiple-onUpdate.raw.d.ts +1 -0
- package/dist/src/__tests__/data/blocks/multiple-onUpdate.raw.jsx +13 -0
- package/dist/src/__tests__/data/blocks/multiple-onUpdateWithDeps.raw.d.ts +1 -0
- package/dist/src/__tests__/data/blocks/multiple-onUpdateWithDeps.raw.jsx +19 -0
- package/dist/src/__tests__/data/blocks/onUpdateWithDeps.raw.jsx +6 -3
- package/dist/src/__tests__/data/blocks/self-referencing-component-with-children.raw.d.ts +1 -0
- package/dist/src/__tests__/data/blocks/self-referencing-component-with-children.raw.jsx +15 -0
- package/dist/src/__tests__/data/blocks/self-referencing-component.raw.d.ts +1 -0
- package/dist/src/__tests__/data/blocks/self-referencing-component.raw.jsx +12 -0
- package/dist/src/__tests__/data/blocks/shadow-dom.raw.d.ts +6 -0
- package/dist/src/__tests__/data/blocks/shadow-dom.raw.jsx +54 -0
- package/dist/src/__tests__/data/blocks/slot.raw.d.ts +5 -0
- package/dist/src/__tests__/data/blocks/slot.raw.jsx +6 -0
- package/dist/src/__tests__/data/blocks/stamped-io.raw.jsx +8 -0
- package/dist/src/__tests__/data/blocks/styles.raw.d.ts +1 -0
- package/dist/src/__tests__/data/blocks/styles.raw.jsx +10 -0
- package/dist/src/__tests__/data/context/simple.context.lite.d.ts +8 -1
- package/dist/src/__tests__/html.test.js +6 -0
- package/dist/src/__tests__/qwik.directive.test.d.ts +1 -0
- package/dist/src/__tests__/qwik.directive.test.js +107 -0
- package/dist/src/__tests__/qwik.test.js +256 -128
- package/dist/src/__tests__/react-native.test.js +12 -0
- package/dist/src/__tests__/react.test.js +12 -0
- package/dist/src/__tests__/svelte.test.js +24 -0
- package/dist/src/__tests__/vue.test.js +12 -0
- package/dist/src/__tests__/webcomponent.test.d.ts +1 -0
- package/dist/src/__tests__/webcomponent.test.js +12 -0
- package/dist/src/constants/html_tags.d.ts +1 -0
- package/dist/src/constants/html_tags.js +119 -0
- package/dist/src/generators/angular.js +7 -4
- package/dist/src/generators/context/react copy.d.ts +8 -0
- package/dist/src/generators/context/react copy.js +28 -0
- package/dist/src/generators/context/solid.d.ts +8 -0
- package/dist/src/generators/context/solid.js +28 -0
- package/dist/src/generators/context/svelte.d.ts +8 -0
- package/dist/src/generators/context/svelte.js +28 -0
- package/dist/src/generators/helpers/context.d.ts +2 -0
- package/dist/src/generators/helpers/context.js +8 -0
- package/dist/src/generators/html.js +20 -14
- package/dist/src/generators/mitosis.js +4 -3
- package/dist/src/generators/qwik/component.js +26 -5
- package/dist/src/generators/qwik/directives.d.ts +14 -5
- package/dist/src/generators/qwik/directives.js +32 -25
- package/dist/src/generators/qwik/handlers.js +3 -4
- package/dist/src/generators/qwik/jsx.js +17 -5
- package/dist/src/generators/qwik/src-generator.d.ts +0 -9
- package/dist/src/generators/qwik/src-generator.js +93 -101
- package/dist/src/generators/qwik/styles.js +8 -11
- package/dist/src/generators/react.js +9 -8
- package/dist/src/generators/solid.js +82 -8
- package/dist/src/generators/stencil/generate.js +5 -3
- package/dist/src/generators/stencil/index.js +5 -1
- package/dist/src/generators/svelte.d.ts +9 -1
- package/dist/src/generators/svelte.js +175 -76
- package/dist/src/generators/vue.d.ts +1 -1
- package/dist/src/generators/vue.js +86 -10
- package/dist/src/helpers/babel-transform copy.d.ts +8 -0
- package/dist/src/helpers/babel-transform copy.js +138 -0
- package/dist/src/helpers/babel-transform.d.ts +4 -7
- package/dist/src/helpers/babel-transform.js +18 -2
- package/dist/src/helpers/babel-transform.test.d.ts +1 -0
- package/dist/src/helpers/babel-transform.test.js +7 -0
- package/dist/src/helpers/create-mitosis-component.js +1 -1
- package/dist/src/helpers/get-state-object-string.js +2 -1
- package/dist/src/helpers/map-refs.js +22 -9
- package/dist/src/helpers/parsers.d.ts +8 -0
- package/dist/src/helpers/parsers.js +66 -0
- package/dist/src/helpers/render-imports.d.ts +2 -4
- package/dist/src/helpers/render-imports.js +32 -14
- package/dist/src/index.d.ts +10 -5
- package/dist/src/index.js +11 -5
- package/dist/src/parsers/builder.d.ts +16 -50
- package/dist/src/parsers/builder.js +22 -40
- package/dist/src/parsers/context.js +5 -1
- package/dist/src/parsers/jsx.d.ts +7 -0
- package/dist/src/parsers/jsx.js +27 -5
- package/dist/src/parsers/liquid.js +5 -1
- package/dist/src/plugins/compile-away-builder-components.js +5 -1
- package/dist/src/symbols/symbol-processor.js +3 -3
- package/dist/src/targets.d.ts +1 -1
- package/dist/src/types/mitosis-component.d.ts +8 -3
- package/dist/test/qwik/Accordion/high.jsx +0 -1
- package/dist/test/qwik/Accordion/low.jsx +171 -65
- package/dist/test/qwik/Accordion/med.jsx +9 -10
- package/dist/test/qwik/For/high.jsx +0 -1
- package/dist/test/qwik/For/low.jsx +25 -58
- package/dist/test/qwik/For/med.jsx +9 -10
- package/dist/test/qwik/Image/high.js +9 -1
- package/dist/test/qwik/Image/low.js +0 -42
- package/dist/test/qwik/Image/med.js +149 -12
- package/dist/test/qwik/Image.slow/high.js +9 -1
- package/dist/test/qwik/Image.slow/low.js +0 -42
- package/dist/test/qwik/Image.slow/med.js +149 -12
- package/dist/{src/types/generators.d.ts → test/qwik/bindings/high.cjs} +0 -0
- package/dist/test/qwik/bindings/low.cjs +33 -0
- package/dist/test/qwik/bindings/med.cjs +12 -0
- package/dist/test/qwik/button/high.js +1 -13
- package/dist/test/qwik/button/low.js +8 -40
- package/dist/test/qwik/button/med.js +36 -11
- package/dist/test/qwik/component/bindings/high.jsx +0 -1
- package/dist/test/qwik/component/bindings/low.jsx +26 -71
- package/dist/test/qwik/component/bindings/med.jsx +48 -39
- package/dist/test/qwik/component/component/inputs/high.cjsx +9 -0
- package/dist/test/qwik/component/component/inputs/low.cjsx +0 -0
- package/dist/test/qwik/component/component/inputs/med.cjsx +65 -0
- package/dist/test/qwik/hello_world/stylesheet/high.jsx +0 -1
- package/dist/test/qwik/hello_world/stylesheet/low.jsx +6 -27
- package/dist/test/qwik/hello_world/stylesheet/med.jsx +9 -10
- package/dist/test/qwik/page-with-symbol/high.js +0 -1
- package/dist/test/qwik/page-with-symbol/low.js +15 -52
- package/dist/test/qwik/page-with-symbol/med.js +9 -10
- package/dist/test/qwik/show-hide/high.jsx +9 -0
- package/dist/test/qwik/show-hide/low.jsx +0 -0
- package/dist/test/qwik/show-hide/med.jsx +174 -0
- package/dist/test/qwik/svg/high.js +0 -1
- package/dist/test/qwik/svg/low.js +9 -35
- package/dist/test/qwik/svg/med.js +9 -10
- package/dist/test/qwik/todo/Todo.cjs/high.cjs +4 -39
- package/dist/test/qwik/todo/Todo.cjs/low.cjs +0 -1
- package/dist/test/qwik/todo/Todo.cjs/med.cjs +38 -61
- package/dist/test/qwik/todo/Todo.js/high.js +22 -5
- package/dist/test/qwik/todo/Todo.js/med.js +45 -1
- package/dist/test/qwik/todo/Todo.tsx/high.tsx +4 -39
- package/dist/test/qwik/todo/Todo.tsx/low.tsx +0 -1
- package/dist/test/qwik/todo/Todo.tsx/med.tsx +31 -34
- package/dist/test/qwik/todos/Todo.tsx/high.tsx +0 -12
- package/dist/test/qwik/todos/Todo.tsx/low.tsx +18 -25
- package/dist/test/qwik/todos/Todo.tsx/med.tsx +8 -10
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +22 -22
- package/dist/src/__tests__/data/blocks/onMount-onUnMount.d.ts +0 -1
- package/dist/src/__tests__/data/blocks/onMount-onUnMount.jsx +0 -13
- package/dist/src/__tests__/data/blocks/onMount.d.ts +0 -1
- package/dist/src/__tests__/data/blocks/onMount.jsx +0 -13
- package/dist/src/types/generators.js +0 -1
|
@@ -3,6 +3,37 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
3
3
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
4
|
return cooked;
|
|
5
5
|
};
|
|
6
|
+
var __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
18
|
+
var t = {};
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
20
|
+
t[p] = s[p];
|
|
21
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
22
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
24
|
+
t[p[i]] = s[p[i]];
|
|
25
|
+
}
|
|
26
|
+
return t;
|
|
27
|
+
};
|
|
28
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
29
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
|
+
if (ar || !(i in from)) {
|
|
31
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
32
|
+
ar[i] = from[i];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
|
+
};
|
|
6
37
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
38
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
39
|
};
|
|
@@ -31,9 +62,12 @@ var filter_empty_text_nodes_1 = require("../helpers/filter-empty-text-nodes");
|
|
|
31
62
|
var json5_1 = __importDefault(require("json5"));
|
|
32
63
|
var process_http_requests_1 = require("../helpers/process-http-requests");
|
|
33
64
|
var patterns_1 = require("../helpers/patterns");
|
|
65
|
+
var method_literal_prefix_1 = require("../constants/method-literal-prefix");
|
|
34
66
|
function getContextNames(json) {
|
|
35
67
|
return Object.keys(json.context.get);
|
|
36
68
|
}
|
|
69
|
+
var ON_UPDATE_HOOK_NAME = 'onUpdateHook';
|
|
70
|
+
var getOnUpdateHookName = function (index) { return ON_UPDATE_HOOK_NAME + "".concat(index); };
|
|
37
71
|
// TODO: migrate all stripStateAndPropsRefs to use this here
|
|
38
72
|
// to properly replace context refs
|
|
39
73
|
function processBinding(code, _options, json) {
|
|
@@ -218,13 +252,45 @@ function getContextProvideString(component, options) {
|
|
|
218
252
|
str += '}';
|
|
219
253
|
return str;
|
|
220
254
|
}
|
|
221
|
-
|
|
222
|
-
|
|
255
|
+
/**
|
|
256
|
+
* This plugin handle `onUpdate` code that watches depdendencies.
|
|
257
|
+
* We need to apply this workaround to be able to watch specific dependencies in Vue 2: https://stackoverflow.com/a/45853349
|
|
258
|
+
*
|
|
259
|
+
* We add a `computed` property for the dependencies, and a matching `watch` function for the `onUpdate` code
|
|
260
|
+
*/
|
|
261
|
+
var onUpdatePlugin = function (options) { return ({
|
|
262
|
+
json: {
|
|
263
|
+
post: function (component) {
|
|
264
|
+
if (component.hooks.onUpdate) {
|
|
265
|
+
component.hooks.onUpdate
|
|
266
|
+
.filter(function (hook) { var _a; return (_a = hook.deps) === null || _a === void 0 ? void 0 : _a.length; })
|
|
267
|
+
.forEach(function (hook, index) {
|
|
268
|
+
var _a;
|
|
269
|
+
component.state[getOnUpdateHookName(index)] = "".concat(method_literal_prefix_1.methodLiteralPrefix, "get ").concat(getOnUpdateHookName(index), " () {\n return {\n ").concat((_a = hook.deps) === null || _a === void 0 ? void 0 : _a.slice(1, -1).split(',').map(function (dep, k) {
|
|
270
|
+
var val = dep.trim();
|
|
271
|
+
return "".concat(k, ": ").concat(val);
|
|
272
|
+
}).join(','), "\n }\n }");
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
},
|
|
277
|
+
}); };
|
|
278
|
+
var BASE_OPTIONS = {
|
|
279
|
+
plugins: [onUpdatePlugin],
|
|
280
|
+
};
|
|
281
|
+
var mergeOptions = function (_a, _b) {
|
|
282
|
+
var _c = _a.plugins, pluginsA = _c === void 0 ? [] : _c, a = __rest(_a, ["plugins"]);
|
|
283
|
+
var _d = _b.plugins, pluginsB = _d === void 0 ? [] : _d, b = __rest(_b, ["plugins"]);
|
|
284
|
+
return (__assign(__assign(__assign({}, a), b), { plugins: __spreadArray(__spreadArray([], pluginsA, true), pluginsB, true) }));
|
|
285
|
+
};
|
|
286
|
+
var componentToVue = function (userOptions) {
|
|
287
|
+
if (userOptions === void 0) { userOptions = {}; }
|
|
223
288
|
// hack while we migrate all other transpilers to receive/handle path
|
|
224
289
|
// TO-DO: use `Transpiler` once possible
|
|
225
290
|
return function (_a) {
|
|
226
|
-
var _b, _c, _d, _e, _f, _g;
|
|
291
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
227
292
|
var component = _a.component, path = _a.path;
|
|
293
|
+
var options = mergeOptions(BASE_OPTIONS, userOptions);
|
|
228
294
|
// Make a copy we can safely mutate, similar to babel's toolchain can be used
|
|
229
295
|
component = (0, fast_clone_1.fastClone)(component);
|
|
230
296
|
(0, process_http_requests_1.processHttpRequests)(component);
|
|
@@ -287,12 +353,14 @@ var componentToVue = function (options) {
|
|
|
287
353
|
functionsString = functionsString.replace(/}\s*$/, "_classStringToObject(str) {\n const obj = {};\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 } }");
|
|
288
354
|
}
|
|
289
355
|
var builderRegister = Boolean(options.builderRegister && component.meta.registerComponent);
|
|
290
|
-
var
|
|
291
|
-
|
|
356
|
+
var onUpdateWithDeps = ((_d = component.hooks.onUpdate) === null || _d === void 0 ? void 0 : _d.filter(function (hook) { var _a; return (_a = hook.deps) === null || _a === void 0 ? void 0 : _a.length; })) || [];
|
|
357
|
+
var onUpdateWithoutDeps = ((_e = component.hooks.onUpdate) === null || _e === void 0 ? void 0 : _e.filter(function (hook) { var _a; return !((_a = hook.deps) === null || _a === void 0 ? void 0 : _a.length); })) || [];
|
|
358
|
+
var str = (0, dedent_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n <template>\n ", "\n </template>\n <script>\n ", "\n ", "\n\n export default ", "{\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n }", "\n </script>\n ", "\n "], ["\n <template>\n ", "\n </template>\n <script>\n ", "\n ", "\n\n export default ", "{\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n }", "\n </script>\n ", "\n "])), template, (0, render_imports_1.renderPreComponent)(component), component.meta.registerComponent
|
|
359
|
+
? (_f = options.registerComponentPrepend) !== null && _f !== void 0 ? _f : ''
|
|
292
360
|
: '', !builderRegister ? '' : 'registerComponent(', !component.name
|
|
293
361
|
? ''
|
|
294
|
-
: "name: '".concat(((
|
|
295
|
-
? ((
|
|
362
|
+
: "name: '".concat(((_g = options.namePrefix) === null || _g === void 0 ? void 0 : _g.call(options, path))
|
|
363
|
+
? ((_h = options.namePrefix) === null || _h === void 0 ? void 0 : _h.call(options, path)) + '-'
|
|
296
364
|
: '').concat((0, lodash_1.kebabCase)(component.name), "',"), !componentsUsed.length
|
|
297
365
|
? ''
|
|
298
366
|
: "components: { ".concat(componentsUsed
|
|
@@ -307,10 +375,18 @@ var componentToVue = function (options) {
|
|
|
307
375
|
? "provide() {\n const _this = this;\n return ".concat(getContextProvideString(component, options), "\n },")
|
|
308
376
|
: '', (0, lodash_1.size)(component.context.get)
|
|
309
377
|
? "inject: ".concat(getContextInjectString(component, options), ",")
|
|
310
|
-
: '', ((
|
|
378
|
+
: '', ((_j = component.hooks.onMount) === null || _j === void 0 ? void 0 : _j.code)
|
|
311
379
|
? "mounted() {\n ".concat(processBinding(component.hooks.onMount.code, options, component), "\n },")
|
|
312
|
-
: '',
|
|
313
|
-
? "updated() {\n
|
|
380
|
+
: '', onUpdateWithoutDeps.length
|
|
381
|
+
? "updated() {\n ".concat(onUpdateWithoutDeps
|
|
382
|
+
.map(function (hook) { return processBinding(hook.code, options, component); })
|
|
383
|
+
.join('\n'), "\n },")
|
|
384
|
+
: '', onUpdateWithDeps.length
|
|
385
|
+
? "watch: {\n ".concat(onUpdateWithDeps
|
|
386
|
+
.map(function (hook, index) {
|
|
387
|
+
return "".concat(getOnUpdateHookName(index), "() {\n ").concat(processBinding(hook.code, options, component), "\n }\n ");
|
|
388
|
+
})
|
|
389
|
+
.join(','), "\n },")
|
|
314
390
|
: '', component.hooks.onUnMount
|
|
315
391
|
? "unmounted() {\n ".concat(processBinding(component.hooks.onUnMount.code, options, component), "\n },")
|
|
316
392
|
: '', getterString.length < 4
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as babel from '@babel/core';
|
|
2
|
+
declare type Visitor<ContextType = any> = {
|
|
3
|
+
[key: string]: (path: any, context: ContextType) => void;
|
|
4
|
+
};
|
|
5
|
+
export declare const babelTransform: <VisitorContextType = any>(code: string, visitor?: Visitor<VisitorContextType> | undefined) => babel.BabelFileResult | null;
|
|
6
|
+
export declare const babelTransformCode: <VisitorContextType = any>(code: string, visitor?: Visitor<VisitorContextType> | undefined) => string;
|
|
7
|
+
export declare const babelTransformExpression: <VisitorContextType = any>(code: string, visitor: Visitor<VisitorContextType>, type?: 'expression' | 'unknown' | 'block' | 'functionBody') => string;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.babelTransformExpression = exports.babelTransformCode = exports.babelTransform = void 0;
|
|
36
|
+
var babel = __importStar(require("@babel/core"));
|
|
37
|
+
var lodash_1 = require("lodash");
|
|
38
|
+
var jsxPlugin = require('@babel/plugin-syntax-jsx');
|
|
39
|
+
var tsPreset = require('@babel/preset-typescript');
|
|
40
|
+
var decorators = require('@babel/plugin-syntax-decorators');
|
|
41
|
+
var babelTransform = function (code, visitor) {
|
|
42
|
+
return babel.transform(code, {
|
|
43
|
+
sourceFileName: 'file.tsx',
|
|
44
|
+
configFile: false,
|
|
45
|
+
babelrc: false,
|
|
46
|
+
presets: [[tsPreset, { isTSX: true, allExtensions: true }]],
|
|
47
|
+
plugins: __spreadArray([
|
|
48
|
+
[decorators, { legacy: true }],
|
|
49
|
+
jsxPlugin
|
|
50
|
+
], (visitor ? [function () { return ({ visitor: visitor }); }] : []), true),
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
exports.babelTransform = babelTransform;
|
|
54
|
+
var babelTransformCode = function (code, visitor) {
|
|
55
|
+
var _a;
|
|
56
|
+
return ((_a = (0, exports.babelTransform)(code, visitor)) === null || _a === void 0 ? void 0 : _a.code) || '';
|
|
57
|
+
};
|
|
58
|
+
exports.babelTransformCode = babelTransformCode;
|
|
59
|
+
var babelTransformExpression = function (code, visitor, type) {
|
|
60
|
+
var _a;
|
|
61
|
+
if (type === void 0) { type = 'unknown'; }
|
|
62
|
+
if (!code) {
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
// match for object literal like { foo: ... }
|
|
66
|
+
if (type === 'unknown' && code.trim().match(/^\s*{\s*[a-z0-9]+:/i)) {
|
|
67
|
+
type = 'expression';
|
|
68
|
+
}
|
|
69
|
+
// For Builder content
|
|
70
|
+
if (type === 'unknown' &&
|
|
71
|
+
(code.includes('return _virtual_index') ||
|
|
72
|
+
code.trim().startsWith('return ')) &&
|
|
73
|
+
!code.trim().startsWith('function')) {
|
|
74
|
+
type = 'functionBody';
|
|
75
|
+
}
|
|
76
|
+
var useCode = code;
|
|
77
|
+
if (type === 'functionBody') {
|
|
78
|
+
useCode = "function(){".concat(useCode, "}");
|
|
79
|
+
}
|
|
80
|
+
var result = type === 'expression'
|
|
81
|
+
? null
|
|
82
|
+
: (0, lodash_1.attempt)(function () {
|
|
83
|
+
var _a;
|
|
84
|
+
var result = ((_a = (0, exports.babelTransform)(useCode, visitor)) === null || _a === void 0 ? void 0 : _a.code) || '';
|
|
85
|
+
if (type === 'functionBody') {
|
|
86
|
+
return result.replace(/^function\(\)\{/, '').replace(/\};$/, '');
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// Babel addes trailing semicolons, but for expressions we need those gone
|
|
90
|
+
// TODO: maybe detect if the original code ended with one, and keep it if so, for the case
|
|
91
|
+
// of appending several fragements
|
|
92
|
+
return result.replace(/;$/, '');
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
if ((0, lodash_1.isError)(result) || type === 'expression') {
|
|
96
|
+
try {
|
|
97
|
+
// If it can't, e.g. this is an expression or code fragment, modify the code below and try again
|
|
98
|
+
// Detect method fragments. These get passed sometimes and otherwise
|
|
99
|
+
// generate compile errors. They are of the form `foo() { ... }`
|
|
100
|
+
var isMethod = Boolean(!code.startsWith('function') &&
|
|
101
|
+
code.match(/^[a-z0-9]+\s*\([^\)]*\)\s*[\{:]/i));
|
|
102
|
+
if (isMethod) {
|
|
103
|
+
useCode = "function ".concat(useCode);
|
|
104
|
+
}
|
|
105
|
+
// Parse the code as an expression (instead of the default, a block) by giving it a fake variable assignment
|
|
106
|
+
// e.g. if the code parsed is { ... } babel will treat that as a block by deafult, unless processed as an expression
|
|
107
|
+
// that is an object
|
|
108
|
+
useCode = "let _ = ".concat(useCode);
|
|
109
|
+
result = (((_a = (0, exports.babelTransform)(useCode, visitor)) === null || _a === void 0 ? void 0 : _a.code) || '')
|
|
110
|
+
// Babel addes trailing semicolons, but for expressions we need those gone
|
|
111
|
+
.replace(/;$/, '')
|
|
112
|
+
// Remove our fake variable assignment
|
|
113
|
+
.replace(/let _ =\s/, '');
|
|
114
|
+
if (isMethod) {
|
|
115
|
+
result = result.replace('function', '');
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
console.error('Error parsing code:\n', code, '\n', result);
|
|
120
|
+
try {
|
|
121
|
+
return (0, exports.babelTransformExpression)(code, visitor, 'functionBody');
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
throw err;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (type === 'functionBody') {
|
|
129
|
+
return result.replace(/^function\s*\(\)\s*\{/, '').replace(/\};?$/, '');
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// Babel addes trailing semicolons, but for expressions we need those gone
|
|
133
|
+
// TODO: maybe detect if the original code ended with one, and keep it if so, for the case
|
|
134
|
+
// of appending several fragements
|
|
135
|
+
return result.replace(/;$/, '');
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
exports.babelTransformExpression = babelTransformExpression;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import * as babel from '@babel/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const babelTransformCode: <VisitorContextType = any>(code: string, visitor: Visitor<VisitorContextType>) => string;
|
|
7
|
-
export declare const babelTransformExpression: <VisitorContextType = any>(code: string, visitor: Visitor<VisitorContextType>, type?: 'expression' | 'unknown' | 'block' | 'functionBody') => string;
|
|
8
|
-
export {};
|
|
2
|
+
import type { Visitor } from '@babel/traverse';
|
|
3
|
+
export declare const babelTransform: <VisitorContextType = any>(code: string, visitor?: babel.Visitor<VisitorContextType> | undefined) => babel.BabelFileResult | null;
|
|
4
|
+
export declare const babelTransformCode: <VisitorContextType = any>(code: string, visitor?: babel.Visitor<VisitorContextType> | undefined) => string;
|
|
5
|
+
export declare const babelTransformExpression: <VisitorContextType = any>(code: string, visitor: babel.Visitor<VisitorContextType>, type?: 'expression' | 'unknown' | 'block' | 'functionBody') => string;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -18,6 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
22
|
__setModuleDefault(result, mod);
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
25
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
21
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
35
|
exports.babelTransformExpression = exports.babelTransformCode = exports.babelTransform = void 0;
|
|
23
36
|
var babel = __importStar(require("@babel/core"));
|
|
@@ -31,7 +44,10 @@ var babelTransform = function (code, visitor) {
|
|
|
31
44
|
configFile: false,
|
|
32
45
|
babelrc: false,
|
|
33
46
|
presets: [[tsPreset, { isTSX: true, allExtensions: true }]],
|
|
34
|
-
plugins: [
|
|
47
|
+
plugins: __spreadArray([
|
|
48
|
+
[decorators, { legacy: true }],
|
|
49
|
+
jsxPlugin
|
|
50
|
+
], (visitor ? [function () { return ({ visitor: visitor }); }] : []), true),
|
|
35
51
|
});
|
|
36
52
|
};
|
|
37
53
|
exports.babelTransform = babelTransform;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var babel_transform_1 = require("./babel-transform");
|
|
4
|
+
test('babelTransform', function () {
|
|
5
|
+
var code = "\nconst symbol = symbol;\n\nif (symbol) {\n getContent({\n apiKey: builderContext.apiKey!,\n }).then(response => {\n content = response;\n });\n}\n";
|
|
6
|
+
expect((0, babel_transform_1.babelTransformCode)(code)).toMatchSnapshot();
|
|
7
|
+
});
|
|
@@ -12,5 +12,5 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.createMitosisComponent = void 0;
|
|
15
|
-
var createMitosisComponent = function (options) { return (__assign({ '@type': '@builder.io/mitosis/component', imports: [], meta: {}, state: {}, children: [], hooks: {}, context: { get: {}, set: {} }, name: (options === null || options === void 0 ? void 0 : options.name) || 'MyComponent', subComponents: [] }, options)); };
|
|
15
|
+
var createMitosisComponent = function (options) { return (__assign({ '@type': '@builder.io/mitosis/component', imports: [], inputs: [], meta: {}, state: {}, children: [], hooks: {}, context: { get: {}, set: {} }, name: (options === null || options === void 0 ? void 0 : options.name) || 'MyComponent', subComponents: [] }, options)); };
|
|
16
16
|
exports.createMitosisComponent = createMitosisComponent;
|
|
@@ -71,6 +71,7 @@ var getMemberObjectString = function (object, options) {
|
|
|
71
71
|
exports.getMemberObjectString = getMemberObjectString;
|
|
72
72
|
var getStateObjectStringFromComponent = function (component, options) {
|
|
73
73
|
if (options === void 0) { options = {}; }
|
|
74
|
-
|
|
74
|
+
var stateObjectStr = (0, exports.getMemberObjectString)(component.state, options);
|
|
75
|
+
return stateObjectStr;
|
|
75
76
|
};
|
|
76
77
|
exports.getStateObjectStringFromComponent = getStateObjectStringFromComponent;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -44,10 +48,9 @@ var replaceRefsInString = function (code, refs, mapper) {
|
|
|
44
48
|
});
|
|
45
49
|
};
|
|
46
50
|
var mapRefs = function (component, mapper) {
|
|
47
|
-
var _a;
|
|
48
51
|
var refs = Array.from((0, get_refs_1.getRefs)(component));
|
|
49
|
-
for (var _i = 0,
|
|
50
|
-
var key =
|
|
52
|
+
for (var _i = 0, _a = Object.keys(component.state); _i < _a.length; _i++) {
|
|
53
|
+
var key = _a[_i];
|
|
51
54
|
var value = component.state[key];
|
|
52
55
|
if (typeof value === 'string') {
|
|
53
56
|
if (value.startsWith(method_literal_prefix_1.methodLiteralPrefix)) {
|
|
@@ -76,11 +79,21 @@ var mapRefs = function (component, mapper) {
|
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
});
|
|
79
|
-
for (var
|
|
80
|
-
var key =
|
|
81
|
-
var
|
|
82
|
-
if (
|
|
83
|
-
|
|
82
|
+
for (var _b = 0, _c = Object.keys(component.hooks); _b < _c.length; _b++) {
|
|
83
|
+
var key = _c[_b];
|
|
84
|
+
var hooks = component.hooks[key];
|
|
85
|
+
if (Array.isArray(hooks)) {
|
|
86
|
+
hooks.forEach(function (hook) {
|
|
87
|
+
if (hook.code) {
|
|
88
|
+
hook.code = replaceRefsInString(hook.code, refs, mapper);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
var hookCode = hooks === null || hooks === void 0 ? void 0 : hooks.code;
|
|
94
|
+
if (hookCode) {
|
|
95
|
+
hooks.code = replaceRefsInString(hookCode, refs, mapper);
|
|
96
|
+
}
|
|
84
97
|
}
|
|
85
98
|
}
|
|
86
99
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as babel from '@babel/core';
|
|
2
|
+
export declare function parseCode(code: string): babel.types.Statement[];
|
|
3
|
+
export declare const isCodeBodyExpression: (body: babel.types.Statement[]) => boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Returns `true` if the `code` is a valid expression. (vs a statement)
|
|
6
|
+
*/
|
|
7
|
+
export declare function isExpression(code: string): boolean;
|
|
8
|
+
export declare const isCodeBodyIdentifier: (body: babel.types.Statement[]) => boolean;
|
|
@@ -0,0 +1,66 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.isCodeBodyIdentifier = exports.isExpression = exports.isCodeBodyExpression = exports.parseCode = void 0;
|
|
27
|
+
var babel = __importStar(require("@babel/core"));
|
|
28
|
+
var jsxPlugin = require('@babel/plugin-syntax-jsx');
|
|
29
|
+
var tsPreset = require('@babel/preset-typescript');
|
|
30
|
+
var decorators = require('@babel/plugin-syntax-decorators');
|
|
31
|
+
function parseCode(code) {
|
|
32
|
+
var ast = babel.parse(code, {
|
|
33
|
+
presets: [[tsPreset, { isTSX: true, allExtensions: true }]],
|
|
34
|
+
plugins: [[decorators, { legacy: true }], jsxPlugin],
|
|
35
|
+
});
|
|
36
|
+
var body = babel.types.isFile(ast)
|
|
37
|
+
? ast.program.body
|
|
38
|
+
: babel.types.isProgram(ast)
|
|
39
|
+
? ast.body
|
|
40
|
+
: [];
|
|
41
|
+
return body;
|
|
42
|
+
}
|
|
43
|
+
exports.parseCode = parseCode;
|
|
44
|
+
var isCodeBodyExpression = function (body) {
|
|
45
|
+
return body.length == 1 &&
|
|
46
|
+
(babel.types.isExpression(body[0]) ||
|
|
47
|
+
babel.types.isExpressionStatement(body[0]));
|
|
48
|
+
};
|
|
49
|
+
exports.isCodeBodyExpression = isCodeBodyExpression;
|
|
50
|
+
/**
|
|
51
|
+
* Returns `true` if the `code` is a valid expression. (vs a statement)
|
|
52
|
+
*/
|
|
53
|
+
function isExpression(code) {
|
|
54
|
+
try {
|
|
55
|
+
var body = parseCode(code);
|
|
56
|
+
return (0, exports.isCodeBodyExpression)(body);
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.isExpression = isExpression;
|
|
63
|
+
var isCodeBodyIdentifier = function (body) {
|
|
64
|
+
return body.length == 1 && babel.types.isIdentifier(body[0]);
|
|
65
|
+
};
|
|
66
|
+
exports.isCodeBodyIdentifier = isCodeBodyIdentifier;
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import { MitosisComponent
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const renderImports: (imports: MitosisImport[]) => string;
|
|
4
|
-
export declare const renderPreComponent: (component: MitosisComponent) => string;
|
|
1
|
+
import { MitosisComponent } from '../types/mitosis-component';
|
|
2
|
+
export declare const renderPreComponent: (component: MitosisComponent, target?: "angular" | "builder" | "customElement" | "html" | "mitosis" | "liquid" | "react" | "reactNative" | "solid" | "svelte" | "swift" | "template" | "webcomponent" | "vue" | undefined) => string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderPreComponent =
|
|
4
|
-
var getStarImport = function (
|
|
3
|
+
exports.renderPreComponent = void 0;
|
|
4
|
+
var getStarImport = function (_a) {
|
|
5
|
+
var theImport = _a.theImport;
|
|
5
6
|
for (var key in theImport.imports) {
|
|
6
7
|
var value = theImport.imports[key];
|
|
7
8
|
if (value === '*') {
|
|
@@ -10,7 +11,8 @@ var getStarImport = function (theImport) {
|
|
|
10
11
|
}
|
|
11
12
|
return null;
|
|
12
13
|
};
|
|
13
|
-
var getDefaultImport = function (
|
|
14
|
+
var getDefaultImport = function (_a) {
|
|
15
|
+
var theImport = _a.theImport;
|
|
14
16
|
for (var key in theImport.imports) {
|
|
15
17
|
var value = theImport.imports[key];
|
|
16
18
|
if (value === 'default') {
|
|
@@ -19,14 +21,32 @@ var getDefaultImport = function (theImport) {
|
|
|
19
21
|
}
|
|
20
22
|
return null;
|
|
21
23
|
};
|
|
22
|
-
var
|
|
24
|
+
var transformImportPath = function (theImport, target) {
|
|
25
|
+
// We need to drop the `.lite` from context files, because the context generator does so as well.
|
|
26
|
+
if (theImport.path.endsWith('.context.lite')) {
|
|
27
|
+
return theImport.path.replace('.lite', '');
|
|
28
|
+
}
|
|
29
|
+
switch (target) {
|
|
30
|
+
case 'svelte':
|
|
31
|
+
if (theImport.path.endsWith('.lite'))
|
|
32
|
+
// all svelte components have `.svelte` extension
|
|
33
|
+
return theImport.path.replace('.lite', '.svelte');
|
|
34
|
+
else {
|
|
35
|
+
return theImport.path;
|
|
36
|
+
}
|
|
37
|
+
default:
|
|
38
|
+
return theImport.path;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var renderImport = function (_a) {
|
|
42
|
+
var theImport = _a.theImport, target = _a.target;
|
|
23
43
|
var importString = 'import ';
|
|
24
|
-
var starImport = getStarImport(theImport);
|
|
44
|
+
var starImport = getStarImport({ theImport: theImport });
|
|
25
45
|
if (starImport) {
|
|
26
46
|
importString += " * as ".concat(starImport, " ");
|
|
27
47
|
}
|
|
28
48
|
else {
|
|
29
|
-
var defaultImport = getDefaultImport(theImport);
|
|
49
|
+
var defaultImport = getDefaultImport({ theImport: theImport });
|
|
30
50
|
if (defaultImport) {
|
|
31
51
|
importString += " ".concat(defaultImport, ", ");
|
|
32
52
|
}
|
|
@@ -50,11 +70,12 @@ var renderImport = function (theImport) {
|
|
|
50
70
|
}
|
|
51
71
|
importString += ' } ';
|
|
52
72
|
}
|
|
53
|
-
|
|
73
|
+
var path = transformImportPath(theImport, target);
|
|
74
|
+
importString += " from '".concat(path, "';");
|
|
54
75
|
return importString;
|
|
55
76
|
};
|
|
56
|
-
|
|
57
|
-
var
|
|
77
|
+
var renderImports = function (_a) {
|
|
78
|
+
var imports = _a.imports, target = _a.target;
|
|
58
79
|
var importString = '';
|
|
59
80
|
for (var _i = 0, imports_1 = imports; _i < imports_1.length; _i++) {
|
|
60
81
|
var theImport = imports_1[_i];
|
|
@@ -66,12 +87,9 @@ var renderImports = function (imports) {
|
|
|
66
87
|
if (theImport.path.startsWith('@builder.io/mitosis')) {
|
|
67
88
|
continue;
|
|
68
89
|
}
|
|
69
|
-
importString += (
|
|
90
|
+
importString += renderImport({ theImport: theImport, target: target }) + '\n';
|
|
70
91
|
}
|
|
71
92
|
return importString;
|
|
72
93
|
};
|
|
73
|
-
|
|
74
|
-
var renderPreComponent = function (component) {
|
|
75
|
-
return "\n ".concat((0, exports.renderImports)(component.imports), "\n ").concat(component.hooks.preComponent || '', "\n ");
|
|
76
|
-
};
|
|
94
|
+
var renderPreComponent = function (component, target) { return "\n ".concat(renderImports({ imports: component.imports, target: target }), "\n ").concat(component.hooks.preComponent || '', "\n "); };
|
|
77
95
|
exports.renderPreComponent = renderPreComponent;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
export * from './flow';
|
|
2
|
+
export declare type Context<T> = {};
|
|
2
3
|
export declare const useState: <T>(obj: T) => T;
|
|
3
4
|
export declare const useRef: () => any;
|
|
4
|
-
export declare const useContext:
|
|
5
|
-
export declare const createContext: (value: {
|
|
5
|
+
export declare const useContext: <T = {
|
|
6
6
|
[key: string]: any;
|
|
7
|
-
}) =>
|
|
8
|
-
export declare const
|
|
7
|
+
}>(key: Context<T>) => T;
|
|
8
|
+
export declare const createContext: <T = {
|
|
9
9
|
[key: string]: any;
|
|
10
|
-
}) =>
|
|
10
|
+
}>(value: T) => Context<T>;
|
|
11
|
+
export declare const setContext: <T = {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}>(key: Context<T>, value: Partial<T>) => void;
|
|
11
14
|
export declare const onMount: (fn: () => any) => any;
|
|
12
15
|
export declare const onUpdate: (fn: () => any, deps?: any[] | undefined) => any;
|
|
13
16
|
export declare const onCreate: (fn: () => any) => any;
|
|
@@ -24,7 +27,9 @@ export * from './parsers/context';
|
|
|
24
27
|
export * from './generators/vue';
|
|
25
28
|
export * from './generators/angular';
|
|
26
29
|
export * from './generators/context/react';
|
|
30
|
+
export * from './generators/context/solid';
|
|
27
31
|
export * from './generators/context/vue';
|
|
32
|
+
export * from './generators/context/svelte';
|
|
28
33
|
export * from './generators/react';
|
|
29
34
|
export * from './generators/solid';
|
|
30
35
|
export * from './generators/liquid';
|