@builder.io/mitosis-cli 0.0.17-10 → 0.0.17-100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/build/build.js +225 -255
  2. package/dist/build/helpers/context.js +85 -0
  3. package/dist/build/helpers/extensions.js +20 -6
  4. package/dist/build/helpers/transpile-solid-file.js +18 -24
  5. package/dist/build/helpers/transpile.js +13 -24
  6. package/dist/commands/compile.js +1 -1
  7. package/dist/commands/new.js +1 -1
  8. package/dist/helpers/fast-clone.js +6 -0
  9. package/dist/templates/component.lite.tsx.ejs +2 -2
  10. package/dist/templates/library-simple/src/components/my-component.lite.jsx +2 -4
  11. package/dist/templates/library-simple/src/components/my-component.lite.tsx +2 -4
  12. package/dist/templates/library-simple/src/global.d.ts +2 -0
  13. package/dist/types/build/helpers/context.d.ts +6 -0
  14. package/dist/types/build/helpers/extensions.d.ts +1 -1
  15. package/dist/types/build/helpers/transpile.d.ts +3 -0
  16. package/dist/types/helpers/fast-clone.d.ts +1 -0
  17. package/dist/types/templates/library-simple/src/components/my-component.lite.d.ts +1 -2
  18. package/package.json +6 -6
  19. package/readme.md +0 -14
  20. package/dist/build/helpers/compile-vue-file.js +0 -250
  21. package/dist/build/helpers/compile-vue-v2-file.js +0 -255
  22. package/dist/build/helpers/transpile-optional-chaining.js +0 -20
  23. package/dist/build/helpers/transpile-vue-binding-expression.js +0 -42
  24. package/dist/types/build/helpers/compile-vue-file.d.ts +0 -18
  25. package/dist/types/build/helpers/compile-vue-v2-file.d.ts +0 -9
  26. package/dist/types/build/helpers/transpile-optional-chaining.d.ts +0 -1
  27. package/dist/types/build/helpers/transpile-vue-binding-expression.d.ts +0 -1
@@ -1,8 +1,4 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
2
  var __assign = (this && this.__assign) || function () {
7
3
  __assign = Object.assign || function(t) {
8
4
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -14,29 +10,6 @@ var __assign = (this && this.__assign) || function () {
14
10
  };
15
11
  return __assign.apply(this, arguments);
16
12
  };
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -89,16 +62,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
89
62
  exports.build = void 0;
90
63
  var mitosis_1 = require("@builder.io/mitosis");
91
64
  var debug_1 = __importDefault(require("debug"));
92
- var dedent_1 = __importDefault(require("dedent"));
93
65
  var fast_glob_1 = __importDefault(require("fast-glob"));
94
66
  var fs_extra_1 = require("fs-extra");
95
- var json5 = __importStar(require("json5"));
96
67
  var lodash_1 = require("lodash");
97
68
  var micromatch_1 = __importDefault(require("micromatch"));
69
+ var fast_clone_1 = require("../helpers/fast-clone");
70
+ var context_1 = require("./helpers/context");
98
71
  var extensions_1 = require("./helpers/extensions");
99
- var get_simple_id_1 = require("./helpers/get-simple-id");
100
72
  var transpile_1 = require("./helpers/transpile");
101
- var transpile_optional_chaining_1 = require("./helpers/transpile-optional-chaining");
102
73
  var transpile_solid_file_1 = require("./helpers/transpile-solid-file");
103
74
  var cwd = process.cwd();
104
75
  var DEFAULT_CONFIG = {
@@ -107,144 +78,172 @@ var DEFAULT_CONFIG = {
107
78
  files: 'src/*',
108
79
  overridesDir: 'overrides',
109
80
  };
110
- var DEFAULT_OPTIONS = {
111
- vue: {
112
- cssNamespace: function () { return (0, get_simple_id_1.getSimpleId)(); },
113
- namePrefix: function (path) { return (path.includes('/blocks/') ? 'builder' : undefined); },
114
- builderRegister: true,
115
- },
116
- };
117
- function build(config) {
118
- var _a;
81
+ var getOptions = function (config) { return (__assign(__assign(__assign({}, DEFAULT_CONFIG), config), { options: __assign(__assign({}, DEFAULT_CONFIG.options), config === null || config === void 0 ? void 0 : config.options) })); };
82
+ function clean(options) {
119
83
  return __awaiter(this, void 0, void 0, function () {
120
- var options, tsLiteFiles, _b, _c, _d;
84
+ var files;
121
85
  var _this = this;
122
- return __generator(this, function (_e) {
123
- switch (_e.label) {
124
- case 0:
125
- options = __assign(__assign(__assign({}, DEFAULT_CONFIG), config), { options: __assign(__assign(__assign({}, DEFAULT_OPTIONS), config === null || config === void 0 ? void 0 : config.options), { vue: __assign(__assign({}, DEFAULT_OPTIONS.vue), (_a = config === null || config === void 0 ? void 0 : config.options) === null || _a === void 0 ? void 0 : _a.vue) }) });
126
- return [4 /*yield*/, clean(options)];
86
+ return __generator(this, function (_a) {
87
+ switch (_a.label) {
88
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)("".concat(options.dest, "/**/*/").concat(options.files))];
127
89
  case 1:
128
- _e.sent();
129
- _c = (_b = Promise).all;
130
- _d = micromatch_1.default;
131
- return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
132
- case 2: return [4 /*yield*/, _c.apply(_b, [_d.apply(void 0, [_e.sent(), "**/*.lite.tsx"]).map(function (path) { return __awaiter(_this, void 0, void 0, function () {
133
- var parsed, _a, err_1;
134
- return __generator(this, function (_b) {
135
- switch (_b.label) {
136
- case 0:
137
- _b.trys.push([0, 2, , 3]);
138
- _a = mitosis_1.parseJsx;
139
- return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
140
- case 1:
141
- parsed = _a.apply(void 0, [_b.sent(), {
142
- jsonHookNames: ['registerComponent'],
143
- }]);
144
- return [2 /*return*/, {
145
- path: path,
146
- mitosisJson: parsed,
147
- }];
148
- case 2:
149
- err_1 = _b.sent();
150
- console.error('Could not parse file:', path);
151
- throw err_1;
152
- case 3: return [2 /*return*/];
153
- }
154
- });
155
- }); })])];
156
- case 3:
157
- tsLiteFiles = _e.sent();
158
- return [4 /*yield*/, Promise.all(options.targets.map(function (target) { return __awaiter(_this, void 0, void 0, function () {
159
- var jsFiles;
90
+ files = _a.sent();
91
+ return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
160
92
  return __generator(this, function (_a) {
161
93
  switch (_a.label) {
162
- case 0: return [4 /*yield*/, buildTsFiles({ target: target, options: options })];
94
+ case 0: return [4 /*yield*/, (0, fs_extra_1.remove)(file)];
163
95
  case 1:
164
- jsFiles = _a.sent();
165
- return [4 /*yield*/, Promise.all([
166
- outputTsFiles(target, jsFiles, options),
167
- outputTsxLiteFiles(target, tsLiteFiles, options),
168
- ])];
169
- case 2:
170
- _a.sent();
171
- return [4 /*yield*/, outputOverrides(target, options)];
172
- case 3:
173
96
  _a.sent();
174
97
  return [2 /*return*/];
175
98
  }
176
99
  });
177
100
  }); }))];
178
- case 4:
179
- _e.sent();
180
- console.info('Done!');
101
+ case 2:
102
+ _a.sent();
181
103
  return [2 /*return*/];
182
104
  }
183
105
  });
184
106
  });
185
107
  }
186
- exports.build = build;
187
- function clean(options) {
108
+ var getMitosisComponentJSONs = function (options) { return __awaiter(void 0, void 0, void 0, function () {
109
+ var _a, _b, _c;
110
+ var _d;
111
+ return __generator(this, function (_e) {
112
+ switch (_e.label) {
113
+ case 0:
114
+ _b = (_a = Promise).all;
115
+ _c = micromatch_1.default;
116
+ return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
117
+ case 1: return [2 /*return*/, _b.apply(_a, [_c.apply(void 0, [_e.sent(), "**/*.".concat((_d = options.extension) !== null && _d !== void 0 ? _d : 'lite.tsx')]).map(function (path) { return __awaiter(void 0, void 0, void 0, function () {
118
+ var file, parsed, err_1;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0:
122
+ _a.trys.push([0, 3, , 4]);
123
+ return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
124
+ case 1:
125
+ file = _a.sent();
126
+ return [4 /*yield*/, (options.parser ? options.parser(file) : (0, mitosis_1.parseJsx)(file))];
127
+ case 2:
128
+ parsed = _a.sent();
129
+ return [2 /*return*/, {
130
+ path: path,
131
+ mitosisJson: parsed,
132
+ }];
133
+ case 3:
134
+ err_1 = _a.sent();
135
+ console.error('Could not parse file:', path);
136
+ throw err_1;
137
+ case 4: return [2 /*return*/];
138
+ }
139
+ });
140
+ }); })])];
141
+ }
142
+ });
143
+ }); };
144
+ var getTargetContexts = function (options) {
145
+ return options.targets.map(function (target) { return ({
146
+ target: target,
147
+ generator: getGeneratorForTarget({ target: target, options: options }),
148
+ outputPath: getTargetPath({ target: target }),
149
+ }); });
150
+ };
151
+ var buildAndOutputNonComponentFiles = function (targetContext) { return __awaiter(void 0, void 0, void 0, function () {
152
+ var jsFiles;
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0: return [4 /*yield*/, buildNonComponentFiles(targetContext)];
156
+ case 1:
157
+ jsFiles = _a.sent();
158
+ return [4 /*yield*/, outputNonComponentFiles(__assign(__assign({}, targetContext), { files: jsFiles }))];
159
+ case 2:
160
+ _a.sent();
161
+ return [2 /*return*/];
162
+ }
163
+ });
164
+ }); };
165
+ function build(config) {
188
166
  return __awaiter(this, void 0, void 0, function () {
189
- var files;
167
+ var options, mitosisComponents, targetContexts;
190
168
  var _this = this;
191
169
  return __generator(this, function (_a) {
192
170
  switch (_a.label) {
193
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("".concat(options.dest, "/**/*/").concat(options.files))];
171
+ case 0:
172
+ options = getOptions(config);
173
+ // clean output directory
174
+ return [4 /*yield*/, clean(options)];
194
175
  case 1:
195
- files = _a.sent();
196
- return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
176
+ // clean output directory
177
+ _a.sent();
178
+ return [4 /*yield*/, getMitosisComponentJSONs(options)];
179
+ case 2:
180
+ mitosisComponents = _a.sent();
181
+ targetContexts = getTargetContexts(options);
182
+ return [4 /*yield*/, Promise.all(targetContexts.map(function (targetContext) { return __awaiter(_this, void 0, void 0, function () {
183
+ var files, targetContextWithConfig;
197
184
  return __generator(this, function (_a) {
198
185
  switch (_a.label) {
199
- case 0: return [4 /*yield*/, (0, fs_extra_1.remove)(file)];
186
+ case 0:
187
+ files = (0, fast_clone_1.fastClone)(mitosisComponents);
188
+ targetContextWithConfig = __assign(__assign({}, targetContext), { options: options });
189
+ return [4 /*yield*/, Promise.all([
190
+ buildAndOutputNonComponentFiles(targetContextWithConfig),
191
+ buildAndOutputComponentFiles(__assign(__assign({}, targetContextWithConfig), { files: files })),
192
+ ])];
200
193
  case 1:
194
+ _a.sent();
195
+ return [4 /*yield*/, outputOverrides(targetContextWithConfig)];
196
+ case 2:
201
197
  _a.sent();
202
198
  return [2 /*return*/];
203
199
  }
204
200
  });
205
201
  }); }))];
206
- case 2:
202
+ case 3:
207
203
  _a.sent();
204
+ console.info('Done!');
208
205
  return [2 /*return*/];
209
206
  }
210
207
  });
211
208
  });
212
209
  }
213
- function outputOverrides(target, options) {
210
+ exports.build = build;
211
+ function outputOverrides(_a) {
212
+ var target = _a.target, options = _a.options, outputPath = _a.outputPath;
214
213
  return __awaiter(this, void 0, void 0, function () {
215
- var kebabTarget, outputDirPath, files;
214
+ var targetOverrides, overrideFileNames;
216
215
  var _this = this;
217
- return __generator(this, function (_a) {
218
- switch (_a.label) {
216
+ return __generator(this, function (_b) {
217
+ switch (_b.label) {
219
218
  case 0:
220
- kebabTarget = (0, lodash_1.kebabCase)(target);
221
- outputDirPath = "".concat(options.overridesDir, "/").concat(kebabTarget);
219
+ targetOverrides = "".concat(options.overridesDir, "/").concat(outputPath);
222
220
  return [4 /*yield*/, (0, fast_glob_1.default)([
223
- "".concat(outputDirPath, "/**/*"),
224
- "!".concat(outputDirPath, "/node_modules/**/*"),
221
+ "".concat(targetOverrides, "/**/*"),
222
+ "!".concat(targetOverrides, "/node_modules/**/*"),
225
223
  ])];
226
224
  case 1:
227
- files = _a.sent();
228
- return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
229
- var contents, esbuildTranspile, targetPaths;
225
+ overrideFileNames = _b.sent();
226
+ return [4 /*yield*/, Promise.all(overrideFileNames.map(function (overrideFileName) { return __awaiter(_this, void 0, void 0, function () {
227
+ var contents, esbuildTranspile, newFile;
230
228
  return __generator(this, function (_a) {
231
229
  switch (_a.label) {
232
- case 0: return [4 /*yield*/, (0, fs_extra_1.readFile)(file, 'utf8')];
230
+ case 0: return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFileName, 'utf8')];
233
231
  case 1:
234
232
  contents = _a.sent();
235
- esbuildTranspile = file.match(/\.tsx?$/);
233
+ esbuildTranspile = overrideFileName.match(/\.tsx?$/);
236
234
  if (!esbuildTranspile) return [3 /*break*/, 3];
237
- return [4 /*yield*/, (0, transpile_1.transpile)({ path: file, target: target, options: options })];
235
+ return [4 /*yield*/, (0, transpile_1.transpile)({ path: overrideFileName, target: target, options: options })];
238
236
  case 2:
239
237
  contents = _a.sent();
240
238
  _a.label = 3;
241
239
  case 3:
242
- targetPaths = getTargetPaths(target);
243
- return [4 /*yield*/, Promise.all(targetPaths.map(function (targetPath) {
244
- return (0, fs_extra_1.outputFile)(file
245
- .replace("".concat(outputDirPath), "".concat(options.dest, "/").concat(targetPath))
246
- .replace(/\.tsx?$/, '.js'), contents);
247
- }))];
240
+ newFile = overrideFileName
241
+ // replace any reference to the overrides directory with the target directory
242
+ // e.g. `overrides/react/components/Button.tsx` -> `output/react/components/Button.tsx`
243
+ .replace("".concat(targetOverrides), "".concat(options.dest, "/").concat(outputPath))
244
+ // replace `.tsx` references with `.js`
245
+ .replace(/\.tsx?$/, '.js');
246
+ return [4 /*yield*/, (0, fs_extra_1.outputFile)(newFile, contents)];
248
247
  case 4:
249
248
  _a.sent();
250
249
  return [2 /*return*/];
@@ -252,13 +251,13 @@ function outputOverrides(target, options) {
252
251
  });
253
252
  }); }))];
254
253
  case 2:
255
- _a.sent();
254
+ _b.sent();
256
255
  return [2 /*return*/];
257
256
  }
258
257
  });
259
258
  });
260
259
  }
261
- var getTranspilerForTarget = function (_a) {
260
+ var getGeneratorForTarget = function (_a) {
262
261
  var target = _a.target, options = _a.options;
263
262
  switch (target) {
264
263
  case 'customElement':
@@ -267,8 +266,12 @@ var getTranspilerForTarget = function (_a) {
267
266
  return (0, mitosis_1.componentToHtml)(options.options.html);
268
267
  case 'reactNative':
269
268
  return (0, mitosis_1.componentToReactNative)({ stateType: 'useState' });
269
+ case 'vue2':
270
+ return (0, mitosis_1.componentToVue2)(options.options.vue2);
270
271
  case 'vue':
271
- return (0, mitosis_1.componentToVue)(options.options.vue);
272
+ console.log('Targeting Vue: defaulting to vue v3');
273
+ case 'vue3':
274
+ return (0, mitosis_1.componentToVue3)(options.options.vue3);
272
275
  case 'angular':
273
276
  return (0, mitosis_1.componentToAngular)(options.options.angular);
274
277
  case 'react':
@@ -281,11 +284,27 @@ var getTranspilerForTarget = function (_a) {
281
284
  return (0, mitosis_1.componentToCustomElement)(options.options.webcomponent);
282
285
  case 'svelte':
283
286
  return (0, mitosis_1.componentToSvelte)(options.options.svelte);
287
+ case 'qwik':
288
+ return (0, mitosis_1.componentToQwik)(options.options.qwik);
289
+ case 'marko':
290
+ return (0, mitosis_1.componentToMarko)(options.options.marko);
291
+ case 'preact':
292
+ return (0, mitosis_1.componentToPreact)(options.options.preact);
293
+ case 'lit':
294
+ return (0, mitosis_1.componentToLit)(options.options.lit);
284
295
  default:
285
- // TO-DO: throw instead of `never`
286
- return null;
296
+ throw new Error('CLI does not yet support target: ' + target);
287
297
  }
288
298
  };
299
+ /**
300
+ * Output generated component file, before it is minified and transpiled into JS.
301
+ */
302
+ var checkShouldOutputTypeScript = function (_a) {
303
+ var _b;
304
+ var target = _a.target, options = _a.options;
305
+ var isTypescript = (_b = options.options[target]) === null || _b === void 0 ? void 0 : _b.typescript;
306
+ return isTypescript;
307
+ };
289
308
  var replaceFileExtensionForTarget = function (_a) {
290
309
  var target = _a.target, path = _a.path;
291
310
  return path.replace(/\.lite\.tsx$/, (0, extensions_1.getFileExtensionForTarget)(target));
@@ -293,38 +312,34 @@ var replaceFileExtensionForTarget = function (_a) {
293
312
  /**
294
313
  * Transpiles and outputs Mitosis component files.
295
314
  */
296
- function outputTsxLiteFiles(target, files, options) {
315
+ function buildAndOutputComponentFiles(_a) {
316
+ var target = _a.target, files = _a.files, options = _a.options, generator = _a.generator, outputPath = _a.outputPath;
297
317
  return __awaiter(this, void 0, void 0, function () {
298
- var kebabTarget, debugTarget, transpiler, output;
318
+ var debugTarget, output;
299
319
  var _this = this;
300
- return __generator(this, function (_a) {
301
- switch (_a.label) {
320
+ return __generator(this, function (_b) {
321
+ switch (_b.label) {
302
322
  case 0:
303
- kebabTarget = (0, lodash_1.kebabCase)(target);
304
323
  debugTarget = (0, debug_1.default)("mitosis:".concat(target));
305
- transpiler = getTranspilerForTarget({ options: options, target: target });
306
324
  output = files.map(function (_a) {
307
325
  var path = _a.path, mitosisJson = _a.mitosisJson;
308
326
  return __awaiter(_this, void 0, void 0, function () {
309
- var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, registerComponentHook, outputDir, _d;
310
- return __generator(this, function (_e) {
311
- switch (_e.label) {
327
+ var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, outputDir;
328
+ return __generator(this, function (_d) {
329
+ switch (_d.label) {
312
330
  case 0:
313
- outputFilePath = replaceFileExtensionForTarget({
314
- target: target,
315
- path: path,
316
- });
317
- overrideFilePath = "".concat(options.overridesDir, "/").concat(kebabTarget, "/").concat(outputFilePath);
331
+ outputFilePath = replaceFileExtensionForTarget({ target: target, path: path });
332
+ overrideFilePath = "".concat(options.overridesDir, "/").concat(outputPath, "/").concat(outputFilePath);
318
333
  return [4 /*yield*/, (0, fs_extra_1.pathExists)(overrideFilePath)];
319
334
  case 1:
320
- if (!(_e.sent())) return [3 /*break*/, 3];
335
+ if (!(_d.sent())) return [3 /*break*/, 3];
321
336
  return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFilePath, 'utf8')];
322
337
  case 2:
323
- _b = _e.sent();
338
+ _b = _d.sent();
324
339
  return [3 /*break*/, 4];
325
340
  case 3:
326
341
  _b = null;
327
- _e.label = 4;
342
+ _d.label = 4;
328
343
  case 4:
329
344
  overrideFile = _b;
330
345
  debugTarget("transpiling ".concat(path, "..."));
@@ -333,7 +348,7 @@ function outputTsxLiteFiles(target, files, options) {
333
348
  debugTarget("override exists for ".concat(path, ": ").concat(!!overrideFile));
334
349
  }
335
350
  try {
336
- transpiled = overrideFile !== null && overrideFile !== void 0 ? overrideFile : transpiler({ path: path, component: mitosisJson });
351
+ transpiled = overrideFile !== null && overrideFile !== void 0 ? overrideFile : generator({ path: path, component: mitosisJson });
337
352
  debugTarget("Success: transpiled ".concat(path, ". Output length: ").concat(transpiled.length));
338
353
  }
339
354
  catch (error) {
@@ -346,8 +361,11 @@ function outputTsxLiteFiles(target, files, options) {
346
361
  switch (_c) {
347
362
  case 'solid': return [3 /*break*/, 5];
348
363
  case 'reactNative': return [3 /*break*/, 7];
364
+ case 'preact': return [3 /*break*/, 7];
349
365
  case 'react': return [3 /*break*/, 7];
350
366
  case 'vue': return [3 /*break*/, 9];
367
+ case 'vue2': return [3 /*break*/, 9];
368
+ case 'vue3': return [3 /*break*/, 9];
351
369
  }
352
370
  return [3 /*break*/, 10];
353
371
  case 5: return [4 /*yield*/, (0, transpile_solid_file_1.transpileSolidFile)({
@@ -356,7 +374,7 @@ function outputTsxLiteFiles(target, files, options) {
356
374
  mitosisComponent: mitosisJson,
357
375
  })];
358
376
  case 6:
359
- transpiled = _e.sent();
377
+ transpiled = _d.sent();
360
378
  return [3 /*break*/, 10];
361
379
  case 7: return [4 /*yield*/, (0, transpile_1.transpile)({
362
380
  path: path,
@@ -365,117 +383,61 @@ function outputTsxLiteFiles(target, files, options) {
365
383
  options: options,
366
384
  })];
367
385
  case 8:
368
- transpiled = _e.sent();
369
- registerComponentHook = mitosisJson.meta.registerComponent;
370
- if (registerComponentHook) {
371
- transpiled = (0, dedent_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n import { registerComponent } from '../functions/register-component';\n \n ", "\n \n registerComponent(", ", ", ");\n "], ["\n import { registerComponent } from '../functions/register-component';\n \n ", "\n \n registerComponent(", ", ", ");\n "])), transpiled, mitosisJson.name, json5.stringify(registerComponentHook));
372
- }
386
+ transpiled = _d.sent();
373
387
  return [3 /*break*/, 10];
374
- case 9:
375
- // TODO: transform to CJS (?)
376
- transpiled = (0, transpile_optional_chaining_1.transpileOptionalChaining)(transpiled).replace(/\.lite(['"];)/g, '$1');
377
- _e.label = 10;
388
+ case 9: return [3 /*break*/, 10];
378
389
  case 10:
379
- outputDir = "".concat(options.dest, "/").concat(kebabTarget);
380
- _d = target;
381
- switch (_d) {
382
- case 'vue': return [3 /*break*/, 11];
383
- }
384
- return [3 /*break*/, 13];
385
- case 11:
386
- // Nuxt
387
- return [4 /*yield*/, (0, fs_extra_1.outputFile)("".concat(outputDir, "/nuxt2/").concat(outputFilePath), transpiled)];
388
- case 12:
389
- // Nuxt
390
- _e.sent();
391
- return [3 /*break*/, 15];
392
- case 13: return [4 /*yield*/, Promise.all(__spreadArray([
393
- // this is the default output
394
- (0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(outputFilePath), transpiled)
395
- ], (target === 'swift' || target === 'svelte'
396
- ? []
397
- : [(0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(path), original)]), true))];
398
- case 14:
399
- _e.sent();
400
- return [3 /*break*/, 15];
401
- case 15: return [2 /*return*/];
390
+ outputDir = "".concat(options.dest, "/").concat(outputPath);
391
+ return [4 /*yield*/, Promise.all(__spreadArray([
392
+ // this is the default output
393
+ (0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(outputFilePath), transpiled)
394
+ ], (checkShouldOutputTypeScript({ target: target, options: options })
395
+ ? [(0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(path), original)]
396
+ : []), true))];
397
+ case 11:
398
+ _d.sent();
399
+ return [2 /*return*/];
402
400
  }
403
401
  });
404
402
  });
405
403
  });
406
404
  return [4 /*yield*/, Promise.all(output)];
407
405
  case 1:
408
- _a.sent();
406
+ _b.sent();
409
407
  return [2 /*return*/];
410
408
  }
411
409
  });
412
410
  });
413
411
  }
414
- function getTargetPaths(target) {
415
- var kebabTarget = (0, lodash_1.kebabCase)(target);
416
- var targetPaths = target === 'vue' ? ['vue/nuxt2', 'vue/vue2', 'vue/vue3'] : [kebabTarget];
417
- return targetPaths;
418
- }
412
+ var getTargetPath = function (_a) {
413
+ var target = _a.target;
414
+ switch (target) {
415
+ case 'vue2':
416
+ return 'vue/vue2';
417
+ case 'vue':
418
+ case 'vue3':
419
+ return 'vue/vue3';
420
+ default:
421
+ return (0, lodash_1.kebabCase)(target);
422
+ }
423
+ };
419
424
  /**
420
425
  * Outputs non-component files to the destination directory, without modifying them.
421
426
  */
422
- function outputTsFiles(target, files, options) {
423
- return __awaiter(this, void 0, void 0, function () {
424
- var targetPaths, output, _loop_1, _i, targetPaths_1, targetPath;
425
- return __generator(this, function (_a) {
426
- switch (_a.label) {
427
- case 0:
428
- targetPaths = getTargetPaths(target);
429
- output = [];
430
- _loop_1 = function (targetPath) {
431
- output.push.apply(output, files.map(function (_a) {
432
- var path = _a.path, output = _a.output;
433
- return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(targetPath, "/").concat(path.replace(/\.tsx?$/, '.js')), output);
434
- }));
435
- };
436
- for (_i = 0, targetPaths_1 = targetPaths; _i < targetPaths_1.length; _i++) {
437
- targetPath = targetPaths_1[_i];
438
- _loop_1(targetPath);
439
- }
440
- return [4 /*yield*/, Promise.all(output)];
441
- case 1:
442
- _a.sent();
443
- return [2 /*return*/];
444
- }
445
- });
446
- });
447
- }
448
- var buildContextFile = function (_a) {
449
- var path = _a.path, options = _a.options, target = _a.target;
427
+ var outputNonComponentFiles = function (_a) {
428
+ var files = _a.files, options = _a.options, outputPath = _a.outputPath, target = _a.target;
450
429
  return __awaiter(void 0, void 0, void 0, function () {
451
- var name, context, _b;
452
- return __generator(this, function (_c) {
453
- switch (_c.label) {
430
+ var extension;
431
+ return __generator(this, function (_b) {
432
+ switch (_b.label) {
454
433
  case 0:
455
- name = (0, lodash_1.upperFirst)((0, lodash_1.camelCase)((0, lodash_1.last)(path.split('/')).split('.')[0]));
456
- _b = mitosis_1.parseContext;
457
- return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
434
+ extension = checkShouldOutputTypeScript({ target: target, options: options }) ? '.ts' : '.js';
435
+ return [4 /*yield*/, Promise.all(files.map(function (_a) {
436
+ var path = _a.path, output = _a.output;
437
+ return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(outputPath, "/").concat(path.replace(/\.tsx?$/, extension)), output);
438
+ }))];
458
439
  case 1:
459
- context = _b.apply(void 0, [_c.sent(), { name: name }]);
460
- if (!context) {
461
- console.warn('Could not parse context from file', path);
462
- }
463
- else {
464
- switch (target) {
465
- case 'svelte':
466
- return [2 /*return*/, (0, mitosis_1.contextToSvelte)(options.options.svelte)({ context: context })];
467
- case 'vue':
468
- return [2 /*return*/, (0, mitosis_1.contextToVue)(context)];
469
- case 'solid':
470
- return [2 /*return*/, (0, mitosis_1.contextToSolid)()({ context: context })];
471
- case 'react':
472
- case 'reactNative':
473
- return [2 /*return*/, (0, mitosis_1.contextToReact)()({ context: context })];
474
- default:
475
- console.warn('Context files are not supported for this target. Outputting no-op');
476
- return [2 /*return*/, (0, mitosis_1.contextToVue)(context)];
477
- }
478
- }
440
+ _b.sent();
479
441
  return [2 /*return*/];
480
442
  }
481
443
  });
@@ -484,38 +446,47 @@ var buildContextFile = function (_a) {
484
446
  /**
485
447
  * Transpiles all non-component files, including Context files.
486
448
  */
487
- function buildTsFiles(_a) {
449
+ function buildNonComponentFiles(_a) {
488
450
  var target = _a.target, options = _a.options;
489
451
  return __awaiter(this, void 0, void 0, function () {
490
- var tsFiles;
452
+ var nonComponentFiles;
491
453
  var _this = this;
492
454
  return __generator(this, function (_b) {
493
455
  switch (_b.label) {
494
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", {
495
- cwd: cwd,
496
- })];
456
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
497
457
  case 1:
498
- tsFiles = _b.sent();
499
- return [4 /*yield*/, Promise.all(tsFiles.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
500
- var output;
458
+ nonComponentFiles = (_b.sent()).filter(function (file) { return file.endsWith('.ts') || file.endsWith('.js'); });
459
+ return [4 /*yield*/, Promise.all(nonComponentFiles.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
460
+ var output, isContextFile;
501
461
  return __generator(this, function (_a) {
502
462
  switch (_a.label) {
503
463
  case 0:
504
- if (!path.endsWith('.context.lite.ts')) return [3 /*break*/, 2];
505
- return [4 /*yield*/, buildContextFile({ path: path, options: options, target: target })];
464
+ isContextFile = path.endsWith('.context.lite.ts');
465
+ if (!isContextFile) return [3 /*break*/, 2];
466
+ return [4 /*yield*/, (0, context_1.buildContextFile)({ path: path, options: options, target: target })];
506
467
  case 1:
507
468
  output = _a.sent();
508
- // we remove the `.lite` extension from the path for Context files.
509
- path = path.replace('.lite.ts', '.ts');
510
469
  _a.label = 2;
511
- case 2: return [4 /*yield*/, (0, transpile_1.transpile)({
512
- path: path,
513
- target: target,
514
- content: output,
515
- options: options,
516
- })];
470
+ case 2:
471
+ if (!!checkShouldOutputTypeScript({ target: target, options: options })) return [3 /*break*/, 4];
472
+ return [4 /*yield*/, (0, transpile_1.transpile)({
473
+ path: path,
474
+ target: target,
475
+ content: output,
476
+ options: options,
477
+ })];
517
478
  case 3:
518
479
  output = _a.sent();
480
+ return [3 /*break*/, 6];
481
+ case 4: return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
482
+ case 5:
483
+ output = _a.sent();
484
+ _a.label = 6;
485
+ case 6:
486
+ if (isContextFile) {
487
+ // we remove the `.lite` extension from the path for Context files.
488
+ path = path.replace('.lite.ts', '.ts');
489
+ }
519
490
  return [2 /*return*/, {
520
491
  path: path,
521
492
  output: output,
@@ -531,5 +502,4 @@ function buildTsFiles(_a) {
531
502
  if (require.main === module) {
532
503
  build().catch(console.error);
533
504
  }
534
- var templateObject_1;
535
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FvQjZCO0FBQzdCLGdEQUEwQjtBQUMxQixrREFBNEI7QUFDNUIsd0RBQTZCO0FBQzdCLHFDQUFvRTtBQUNwRSwyQ0FBK0I7QUFDL0IsaUNBQWdFO0FBQ2hFLDBEQUFvQztBQUNwQyxtREFBaUU7QUFDakUseURBQXNEO0FBQ3RELGlEQUFnRDtBQUNoRCxxRkFBa0Y7QUFDbEYsdUVBQW9FO0FBRXBFLElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQixJQUFNLGNBQWMsR0FBMkI7SUFDN0MsT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsWUFBWSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQztBQUVGLElBQU0sZUFBZSxHQUE2QjtJQUNoRCxHQUFHLEVBQUU7UUFDSCxZQUFZLEVBQUUsY0FBTSxPQUFBLElBQUEsMkJBQVcsR0FBRSxFQUFiLENBQWE7UUFDakMsVUFBVSxFQUFFLFVBQUMsSUFBSSxJQUFLLE9BQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFuRCxDQUFtRDtRQUN6RSxlQUFlLEVBQUUsSUFBSTtLQUN0QjtDQUNGLENBQUM7QUFFRixTQUFzQixLQUFLLENBQUMsTUFBc0I7Ozs7Ozs7O29CQUMxQyxPQUFPLGtDQUNSLGNBQWMsR0FDZCxNQUFNLEtBQ1QsT0FBTyxpQ0FDRixlQUFlLEdBQ2YsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxD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
505
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FvQjZCO0FBQzdCLGdEQUEwQjtBQUMxQix3REFBNkI7QUFDN0IscUNBQW9FO0FBQ3BFLGlDQUFtQztBQUNuQywwREFBb0M7QUFDcEMsb0RBQWtEO0FBQ2xELDZDQUFxRDtBQUNyRCxtREFBaUU7QUFDakUsaURBQWdEO0FBQ2hELHVFQUFvRTtBQUVwRSxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUIsSUFBTSxjQUFjLEdBQTJCO0lBQzdDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFlBQVksRUFBRSxXQUFXO0NBQzFCLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRyxVQUFDLE1BQXNCLElBQW9CLE9BQUEsZ0NBQ3pELGNBQWMsR0FDZCxNQUFNLEtBQ1QsT0FBTyx3QkFDRixjQUFjLENBQUMsT0FBTyxHQUN0QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUVwQixFQVA0RCxDQU81RCxDQUFDO0FBRUgsU0FBZSxLQUFLLENBQUMsT0FBc0I7Ozs7Ozt3QkFDM0IscUJBQU0sSUFBQSxtQkFBSSxFQUFDLFVBQUcsT0FBTyxDQUFDLElBQUksbUJBQVMsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFDLEVBQUE7O29CQUEzRCxLQUFLLEdBQUcsU0FBbUQ7b0JBQ2pFLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFPLElBQUk7Ozs0Q0FDbkIscUJBQU0sSUFBQSxpQkFBTSxFQUFDLElBQUksQ0FBQyxFQUFBOzt3Q0FBbEIsU0FBa0IsQ0FB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