@builder.io/mitosis-cli 0.0.17-3 → 0.0.17-32

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