@builder.io/mitosis-cli 0.0.17-0 → 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 +241 -261
  2. package/dist/build/helpers/context.js +85 -0
  3. package/dist/build/helpers/extensions.js +33 -0
  4. package/dist/build/helpers/transpile-solid-file.js +18 -24
  5. package/dist/build/helpers/transpile.js +32 -27
  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 +2 -0
  15. package/dist/types/build/helpers/transpile.d.ts +7 -4
  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,15 +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"));
98
- var get_simple_id_1 = require("./helpers/get-simple-id");
69
+ var fast_clone_1 = require("../helpers/fast-clone");
70
+ var context_1 = require("./helpers/context");
71
+ var extensions_1 = require("./helpers/extensions");
99
72
  var transpile_1 = require("./helpers/transpile");
100
- var transpile_optional_chaining_1 = require("./helpers/transpile-optional-chaining");
101
73
  var transpile_solid_file_1 = require("./helpers/transpile-solid-file");
102
74
  var cwd = process.cwd();
103
75
  var DEFAULT_CONFIG = {
@@ -106,144 +78,172 @@ var DEFAULT_CONFIG = {
106
78
  files: 'src/*',
107
79
  overridesDir: 'overrides',
108
80
  };
109
- var DEFAULT_OPTIONS = {
110
- vue: {
111
- cssNamespace: function () { return (0, get_simple_id_1.getSimpleId)(); },
112
- namePrefix: function (path) { return (path.includes('/blocks/') ? 'builder' : undefined); },
113
- builderRegister: true,
114
- },
115
- };
116
- function build(config) {
117
- 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) {
118
83
  return __awaiter(this, void 0, void 0, function () {
119
- var options, tsLiteFiles, _b, _c, _d;
84
+ var files;
120
85
  var _this = this;
121
- return __generator(this, function (_e) {
122
- switch (_e.label) {
123
- case 0:
124
- 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) }) });
125
- 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))];
126
89
  case 1:
127
- _e.sent();
128
- _c = (_b = Promise).all;
129
- _d = micromatch_1.default;
130
- return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
131
- 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 () {
132
- var parsed, _a, err_1;
133
- return __generator(this, function (_b) {
134
- switch (_b.label) {
135
- case 0:
136
- _b.trys.push([0, 2, , 3]);
137
- _a = mitosis_1.parseJsx;
138
- return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
139
- case 1:
140
- parsed = _a.apply(void 0, [_b.sent(), {
141
- jsonHookNames: ['registerComponent'],
142
- }]);
143
- return [2 /*return*/, {
144
- path: path,
145
- mitosisJson: parsed,
146
- }];
147
- case 2:
148
- err_1 = _b.sent();
149
- console.error('Could not parse file:', path);
150
- throw err_1;
151
- case 3: return [2 /*return*/];
152
- }
153
- });
154
- }); })])];
155
- case 3:
156
- tsLiteFiles = _e.sent();
157
- return [4 /*yield*/, Promise.all(options.targets.map(function (target) { return __awaiter(_this, void 0, void 0, function () {
158
- var jsFiles;
90
+ files = _a.sent();
91
+ return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
159
92
  return __generator(this, function (_a) {
160
93
  switch (_a.label) {
161
- case 0: return [4 /*yield*/, buildTsFiles({ target: target, options: options })];
94
+ case 0: return [4 /*yield*/, (0, fs_extra_1.remove)(file)];
162
95
  case 1:
163
- jsFiles = _a.sent();
164
- return [4 /*yield*/, Promise.all([
165
- outputTsFiles(target, jsFiles, options),
166
- outputTsxLiteFiles(target, tsLiteFiles, options),
167
- ])];
168
- case 2:
169
- _a.sent();
170
- return [4 /*yield*/, outputOverrides(target, options)];
171
- case 3:
172
96
  _a.sent();
173
97
  return [2 /*return*/];
174
98
  }
175
99
  });
176
100
  }); }))];
177
- case 4:
178
- _e.sent();
179
- console.info('Done!');
101
+ case 2:
102
+ _a.sent();
180
103
  return [2 /*return*/];
181
104
  }
182
105
  });
183
106
  });
184
107
  }
185
- exports.build = build;
186
- 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) {
187
166
  return __awaiter(this, void 0, void 0, function () {
188
- var files;
167
+ var options, mitosisComponents, targetContexts;
189
168
  var _this = this;
190
169
  return __generator(this, function (_a) {
191
170
  switch (_a.label) {
192
- 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)];
193
175
  case 1:
194
- files = _a.sent();
195
- 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;
196
184
  return __generator(this, function (_a) {
197
185
  switch (_a.label) {
198
- 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
+ ])];
199
193
  case 1:
194
+ _a.sent();
195
+ return [4 /*yield*/, outputOverrides(targetContextWithConfig)];
196
+ case 2:
200
197
  _a.sent();
201
198
  return [2 /*return*/];
202
199
  }
203
200
  });
204
201
  }); }))];
205
- case 2:
202
+ case 3:
206
203
  _a.sent();
204
+ console.info('Done!');
207
205
  return [2 /*return*/];
208
206
  }
209
207
  });
210
208
  });
211
209
  }
212
- function outputOverrides(target, options) {
210
+ exports.build = build;
211
+ function outputOverrides(_a) {
212
+ var target = _a.target, options = _a.options, outputPath = _a.outputPath;
213
213
  return __awaiter(this, void 0, void 0, function () {
214
- var kebabTarget, outputDirPath, files;
214
+ var targetOverrides, overrideFileNames;
215
215
  var _this = this;
216
- return __generator(this, function (_a) {
217
- switch (_a.label) {
216
+ return __generator(this, function (_b) {
217
+ switch (_b.label) {
218
218
  case 0:
219
- kebabTarget = (0, lodash_1.kebabCase)(target);
220
- outputDirPath = "".concat(options.overridesDir, "/").concat(kebabTarget);
219
+ targetOverrides = "".concat(options.overridesDir, "/").concat(outputPath);
221
220
  return [4 /*yield*/, (0, fast_glob_1.default)([
222
- "".concat(outputDirPath, "/**/*"),
223
- "!".concat(outputDirPath, "/node_modules/**/*"),
221
+ "".concat(targetOverrides, "/**/*"),
222
+ "!".concat(targetOverrides, "/node_modules/**/*"),
224
223
  ])];
225
224
  case 1:
226
- files = _a.sent();
227
- return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
228
- 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;
229
228
  return __generator(this, function (_a) {
230
229
  switch (_a.label) {
231
- 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')];
232
231
  case 1:
233
232
  contents = _a.sent();
234
- esbuildTranspile = file.match(/\.tsx?$/);
233
+ esbuildTranspile = overrideFileName.match(/\.tsx?$/);
235
234
  if (!esbuildTranspile) return [3 /*break*/, 3];
236
- return [4 /*yield*/, (0, transpile_1.transpile)({ path: file, target: target })];
235
+ return [4 /*yield*/, (0, transpile_1.transpile)({ path: overrideFileName, target: target, options: options })];
237
236
  case 2:
238
237
  contents = _a.sent();
239
238
  _a.label = 3;
240
239
  case 3:
241
- targetPaths = getTargetPaths(target);
242
- return [4 /*yield*/, Promise.all(targetPaths.map(function (targetPath) {
243
- return (0, fs_extra_1.outputFile)(file
244
- .replace("".concat(outputDirPath), "".concat(options.dest, "/").concat(targetPath))
245
- .replace(/\.tsx?$/, '.js'), contents);
246
- }))];
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)];
247
247
  case 4:
248
248
  _a.sent();
249
249
  return [2 /*return*/];
@@ -251,13 +251,13 @@ function outputOverrides(target, options) {
251
251
  });
252
252
  }); }))];
253
253
  case 2:
254
- _a.sent();
254
+ _b.sent();
255
255
  return [2 /*return*/];
256
256
  }
257
257
  });
258
258
  });
259
259
  }
260
- var getTranspilerForTarget = function (_a) {
260
+ var getGeneratorForTarget = function (_a) {
261
261
  var target = _a.target, options = _a.options;
262
262
  switch (target) {
263
263
  case 'customElement':
@@ -266,8 +266,14 @@ var getTranspilerForTarget = function (_a) {
266
266
  return (0, mitosis_1.componentToHtml)(options.options.html);
267
267
  case 'reactNative':
268
268
  return (0, mitosis_1.componentToReactNative)({ stateType: 'useState' });
269
+ case 'vue2':
270
+ return (0, mitosis_1.componentToVue2)(options.options.vue2);
269
271
  case 'vue':
270
- 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);
275
+ case 'angular':
276
+ return (0, mitosis_1.componentToAngular)(options.options.angular);
271
277
  case 'react':
272
278
  return (0, mitosis_1.componentToReact)(options.options.react);
273
279
  case 'swift':
@@ -278,64 +284,62 @@ var getTranspilerForTarget = function (_a) {
278
284
  return (0, mitosis_1.componentToCustomElement)(options.options.webcomponent);
279
285
  case 'svelte':
280
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);
281
295
  default:
282
- // TO-DO: throw instead of `never`
283
- return null;
296
+ throw new Error('CLI does not yet support target: ' + target);
284
297
  }
285
298
  };
286
- var getFileExtensionForTarget = function (target) {
287
- switch (target) {
288
- case 'vue':
289
- return '.vue';
290
- case 'swift':
291
- return '.swift';
292
- case 'svelte':
293
- return '.svelte';
294
- case 'solid':
295
- return '.jsx';
296
- default:
297
- return '.js';
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;
299
307
  };
300
308
  var replaceFileExtensionForTarget = function (_a) {
301
309
  var target = _a.target, path = _a.path;
302
- return path.replace(/\.lite\.tsx$/, getFileExtensionForTarget(target));
310
+ return path.replace(/\.lite\.tsx$/, (0, extensions_1.getFileExtensionForTarget)(target));
303
311
  };
304
312
  /**
305
313
  * Transpiles and outputs Mitosis component files.
306
314
  */
307
- 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;
308
317
  return __awaiter(this, void 0, void 0, function () {
309
- var kebabTarget, debugTarget, transpiler, output;
318
+ var debugTarget, output;
310
319
  var _this = this;
311
- return __generator(this, function (_a) {
312
- switch (_a.label) {
320
+ return __generator(this, function (_b) {
321
+ switch (_b.label) {
313
322
  case 0:
314
- kebabTarget = (0, lodash_1.kebabCase)(target);
315
323
  debugTarget = (0, debug_1.default)("mitosis:".concat(target));
316
- transpiler = getTranspilerForTarget({ options: options, target: target });
317
324
  output = files.map(function (_a) {
318
325
  var path = _a.path, mitosisJson = _a.mitosisJson;
319
326
  return __awaiter(_this, void 0, void 0, function () {
320
- var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, registerComponentHook, outputDir, _d;
321
- return __generator(this, function (_e) {
322
- switch (_e.label) {
327
+ var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, outputDir;
328
+ return __generator(this, function (_d) {
329
+ switch (_d.label) {
323
330
  case 0:
324
- outputFilePath = replaceFileExtensionForTarget({
325
- target: target,
326
- path: path,
327
- });
328
- overrideFilePath = "".concat(options.overridesDir, "/").concat(kebabTarget, "/").concat(outputFilePath);
331
+ outputFilePath = replaceFileExtensionForTarget({ target: target, path: path });
332
+ overrideFilePath = "".concat(options.overridesDir, "/").concat(outputPath, "/").concat(outputFilePath);
329
333
  return [4 /*yield*/, (0, fs_extra_1.pathExists)(overrideFilePath)];
330
334
  case 1:
331
- if (!(_e.sent())) return [3 /*break*/, 3];
335
+ if (!(_d.sent())) return [3 /*break*/, 3];
332
336
  return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFilePath, 'utf8')];
333
337
  case 2:
334
- _b = _e.sent();
338
+ _b = _d.sent();
335
339
  return [3 /*break*/, 4];
336
340
  case 3:
337
341
  _b = null;
338
- _e.label = 4;
342
+ _d.label = 4;
339
343
  case 4:
340
344
  overrideFile = _b;
341
345
  debugTarget("transpiling ".concat(path, "..."));
@@ -344,21 +348,24 @@ function outputTsxLiteFiles(target, files, options) {
344
348
  debugTarget("override exists for ".concat(path, ": ").concat(!!overrideFile));
345
349
  }
346
350
  try {
347
- 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 });
348
352
  debugTarget("Success: transpiled ".concat(path, ". Output length: ").concat(transpiled.length));
349
353
  }
350
354
  catch (error) {
351
355
  debugTarget("Failure: transpiled ".concat(path, "."));
352
356
  debugTarget(error);
353
- return [2 /*return*/];
357
+ throw error;
354
358
  }
355
359
  original = transpiled;
356
360
  _c = target;
357
361
  switch (_c) {
358
362
  case 'solid': return [3 /*break*/, 5];
359
363
  case 'reactNative': return [3 /*break*/, 7];
364
+ case 'preact': return [3 /*break*/, 7];
360
365
  case 'react': return [3 /*break*/, 7];
361
366
  case 'vue': return [3 /*break*/, 9];
367
+ case 'vue2': return [3 /*break*/, 9];
368
+ case 'vue3': return [3 /*break*/, 9];
362
369
  }
363
370
  return [3 /*break*/, 10];
364
371
  case 5: return [4 /*yield*/, (0, transpile_solid_file_1.transpileSolidFile)({
@@ -367,145 +374,119 @@ function outputTsxLiteFiles(target, files, options) {
367
374
  mitosisComponent: mitosisJson,
368
375
  })];
369
376
  case 6:
370
- transpiled = _e.sent();
377
+ transpiled = _d.sent();
371
378
  return [3 /*break*/, 10];
372
- case 7: return [4 /*yield*/, (0, transpile_1.transpile)({ path: path, content: transpiled, target: target })];
379
+ case 7: return [4 /*yield*/, (0, transpile_1.transpile)({
380
+ path: path,
381
+ content: transpiled,
382
+ target: target,
383
+ options: options,
384
+ })];
373
385
  case 8:
374
- transpiled = _e.sent();
375
- registerComponentHook = mitosisJson.meta.registerComponent;
376
- if (registerComponentHook) {
377
- 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));
378
- }
386
+ transpiled = _d.sent();
379
387
  return [3 /*break*/, 10];
380
- case 9:
381
- // TODO: transform to CJS (?)
382
- transpiled = (0, transpile_optional_chaining_1.transpileOptionalChaining)(transpiled).replace(/\.lite(['"];)/g, '$1');
383
- _e.label = 10;
388
+ case 9: return [3 /*break*/, 10];
384
389
  case 10:
385
- outputDir = "".concat(options.dest, "/").concat(kebabTarget);
386
- _d = target;
387
- switch (_d) {
388
- case 'vue': return [3 /*break*/, 11];
389
- }
390
- return [3 /*break*/, 13];
391
- case 11:
392
- // Nuxt
393
- return [4 /*yield*/, (0, fs_extra_1.outputFile)("".concat(outputDir, "/nuxt2/").concat(outputFilePath), transpiled)];
394
- case 12:
395
- // Nuxt
396
- _e.sent();
397
- return [3 /*break*/, 15];
398
- case 13: return [4 /*yield*/, Promise.all(__spreadArray([
399
- // this is the default output
400
- (0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(outputFilePath), transpiled)
401
- ], (target === 'swift' || target === 'svelte'
402
- ? []
403
- : [(0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(path), original)]), true))];
404
- case 14:
405
- _e.sent();
406
- return [3 /*break*/, 15];
407
- 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*/];
408
400
  }
409
401
  });
410
402
  });
411
403
  });
412
404
  return [4 /*yield*/, Promise.all(output)];
413
405
  case 1:
414
- _a.sent();
406
+ _b.sent();
415
407
  return [2 /*return*/];
416
408
  }
417
409
  });
418
410
  });
419
411
  }
420
- function getTargetPaths(target) {
421
- var kebabTarget = (0, lodash_1.kebabCase)(target);
422
- var targetPaths = target === 'vue' ? ['vue/nuxt2', 'vue/vue2', 'vue/vue3'] : [kebabTarget];
423
- return targetPaths;
424
- }
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
+ };
425
424
  /**
426
425
  * Outputs non-component files to the destination directory, without modifying them.
427
426
  */
428
- function outputTsFiles(target, files, options) {
429
- return __awaiter(this, void 0, void 0, function () {
430
- var targetPaths, output, _loop_1, _i, targetPaths_1, targetPath;
431
- return __generator(this, function (_a) {
432
- switch (_a.label) {
427
+ var outputNonComponentFiles = function (_a) {
428
+ var files = _a.files, options = _a.options, outputPath = _a.outputPath, target = _a.target;
429
+ return __awaiter(void 0, void 0, void 0, function () {
430
+ var extension;
431
+ return __generator(this, function (_b) {
432
+ switch (_b.label) {
433
433
  case 0:
434
- targetPaths = getTargetPaths(target);
435
- output = [];
436
- _loop_1 = function (targetPath) {
437
- output.push.apply(output, files.map(function (_a) {
434
+ extension = checkShouldOutputTypeScript({ target: target, options: options }) ? '.ts' : '.js';
435
+ return [4 /*yield*/, Promise.all(files.map(function (_a) {
438
436
  var path = _a.path, output = _a.output;
439
- return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(targetPath, "/").concat(path.replace(/\.tsx?$/, '.js')), output);
440
- }));
441
- };
442
- for (_i = 0, targetPaths_1 = targetPaths; _i < targetPaths_1.length; _i++) {
443
- targetPath = targetPaths_1[_i];
444
- _loop_1(targetPath);
445
- }
446
- return [4 /*yield*/, Promise.all(output)];
437
+ return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(outputPath, "/").concat(path.replace(/\.tsx?$/, extension)), output);
438
+ }))];
447
439
  case 1:
448
- _a.sent();
440
+ _b.sent();
449
441
  return [2 /*return*/];
450
442
  }
451
443
  });
452
444
  });
453
- }
445
+ };
454
446
  /**
455
447
  * Transpiles all non-component files, including Context files.
456
448
  */
457
- function buildTsFiles(_a) {
449
+ function buildNonComponentFiles(_a) {
458
450
  var target = _a.target, options = _a.options;
459
451
  return __awaiter(this, void 0, void 0, function () {
460
- var tsFiles;
452
+ var nonComponentFiles;
461
453
  var _this = this;
462
454
  return __generator(this, function (_b) {
463
455
  switch (_b.label) {
464
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", {
465
- cwd: cwd,
466
- })];
456
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
467
457
  case 1:
468
- tsFiles = _b.sent();
469
- return [4 /*yield*/, Promise.all(tsFiles.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
470
- var output, name_1, context, _a;
471
- return __generator(this, function (_b) {
472
- switch (_b.label) {
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;
461
+ return __generator(this, function (_a) {
462
+ switch (_a.label) {
473
463
  case 0:
474
- if (!path.endsWith('.context.lite.ts')) return [3 /*break*/, 2];
475
- name_1 = (0, lodash_1.upperFirst)((0, lodash_1.camelCase)((0, lodash_1.last)(path.split('/')).split('.')[0]));
476
- _a = mitosis_1.parseContext;
477
- return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
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 })];
478
467
  case 1:
479
- context = _a.apply(void 0, [_b.sent(), { name: name_1 }]);
480
- if (!context) {
481
- console.warn('Could not parse context from file', path);
482
- }
483
- else {
484
- switch (target) {
485
- case 'svelte':
486
- output = (0, mitosis_1.contextToSvelte)(options.options.svelte)({ context: context });
487
- break;
488
- case 'vue':
489
- output = (0, mitosis_1.contextToVue)(context);
490
- break;
491
- case 'solid':
492
- output = (0, mitosis_1.contextToSolid)()({ context: context });
493
- break;
494
- case 'react':
495
- case 'reactNative':
496
- output = (0, mitosis_1.contextToReact)()({ context: context });
497
- break;
498
- default:
499
- console.warn('Context files are not supported for this target. Outputting no-op');
500
- (0, mitosis_1.contextToVue)(context);
501
- }
502
- }
503
- // we remove the `.lite` extension from the path for Context files.
504
- path = path.replace('.lite.ts', '.ts');
505
- _b.label = 2;
506
- case 2: return [4 /*yield*/, (0, transpile_1.transpile)({ path: path, target: target, content: output })];
468
+ output = _a.sent();
469
+ _a.label = 2;
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
+ })];
507
478
  case 3:
508
- output = _b.sent();
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
+ }
509
490
  return [2 /*return*/, {
510
491
  path: path,
511
492
  output: output,
@@ -521,5 +502,4 @@ function buildTsFiles(_a) {
521
502
  if (require.main === module) {
522
503
  build().catch(console.error);
523
504
  }
524
- var templateObject_1;
525
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FtQjZCO0FBQzdCLGdEQUEwQjtBQUMxQixrREFBNEI7QUFDNUIsd0RBQTZCO0FBQzdCLHFDQUFvRTtBQUNwRSwyQ0FBK0I7QUFDL0IsaUNBQWdFO0FBQ2hFLDBEQUFvQztBQUNwQyx5REFBc0Q7QUFDdEQsaURBQWdEO0FBQ2hELHFGQUFrRjtBQUNsRix1RUFBb0U7QUFFcEUsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRTFCLElBQU0sY0FBYyxHQUEyQjtJQUM3QyxPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxZQUFZLEVBQUUsV0FBVztDQUMxQixDQUFDO0FBRUYsSUFBTSxlQUFlLEdBQTZCO0lBQ2hELEdBQUcsRUFBRTtRQUNILFlBQVksRUFBRSxjQUFNLE9BQUEsSUFBQSwyQkFBVyxHQUFFLEVBQWIsQ0FBYTtRQUNqQyxVQUFVLEVBQUUsVUFBQyxJQUFJLElBQUssT0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQW5ELENBQW1EO1FBQ3pFLGVBQWUsRUFBRSxJQUFJO0tBQ3RCO0NBQ0YsQ0FBQztBQUVGLFNBQXNCLEtBQUssQ0FBQyxNQUFzQjs7Ozs7Ozs7b0JBQzFDLE9BQU8sa0NBQ1IsY0FBYyxHQUNkLE1BQU0sS0FDVCxPQUFPLGlDQUNGLGVBQWUsR0FDZixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUNs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
505
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FvQjZCO0FBQzdCLGdEQUEwQjtBQUMxQix3REFBNkI7QUFDN0IscUNBQW9FO0FBQ3BFLGlDQUFtQztBQUNuQywwREFBb0M7QUFDcEMsb0RBQWtEO0FBQ2xELDZDQUFxRDtBQUNyRCxtREFBaUU7QUFDakUsaURBQWdEO0FBQ2hELHVFQUFvRTtBQUVwRSxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUIsSUFBTSxjQUFjLEdBQTJCO0lBQzdDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFlBQVksRUFBRSxXQUFXO0NBQzFCLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRyxVQUFDLE1BQXNCLElBQW9CLE9BQUEsZ0NBQ3pELGNBQWMsR0FDZCxNQUFNLEtBQ1QsT0FBTyx3QkFDRixjQUFjLENBQUMsT0FBTyxHQUN0QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUVwQixFQVA0RCxDQU81RCxDQUFDO0FBRUgsU0FBZSxLQUFLLENBQUMsT0FBc0I7Ozs7Ozt3QkFDM0IscUJBQU0sSUFBQSxtQkFBSSxFQUFDLFVBQUcsT0FBTyxDQUFDLElBQUksbUJBQVMsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFDLEVBQUE7O29CQUEzRCxLQUFLLEdBQUcsU0FBbUQ7b0JBQ2pFLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFPLElBQUk7Ozs0Q0FDbkIscUJBQU0sSUFBQSxpQkFBTSxFQUFDLElBQUksQ0FBQyxFQUFBOzt3Q0FBbEIsU0FBa0IsQ0FB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