@builder.io/mitosis-cli 0.0.17-2 → 0.0.17-22

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,61 @@ 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);
281
285
  default:
282
- // TO-DO: throw instead of `never`
283
- return null;
286
+ throw new Error('CLI does not yet support target: ' + target);
284
287
  }
285
288
  };
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';
289
+ /**
290
+ * Output generated component file, before it is minified and transpiled into JS.
291
+ */
292
+ var shouldOutputOriginalGeneratedFile = function (_a) {
293
+ var _b, _c;
294
+ var target = _a.target, options = _a.options;
295
+ var languages = (_c = (_b = options.options[target]) === null || _b === void 0 ? void 0 : _b.transpiler) === null || _c === void 0 ? void 0 : _c.languages;
296
+ if (languages === null || languages === void 0 ? void 0 : languages.includes('ts')) {
297
+ return true;
298
+ }
299
+ else {
300
+ return false;
298
301
  }
299
302
  };
300
303
  var replaceFileExtensionForTarget = function (_a) {
301
304
  var target = _a.target, path = _a.path;
302
- return path.replace(/\.lite\.tsx$/, getFileExtensionForTarget(target));
305
+ return path.replace(/\.lite\.tsx$/, (0, extensions_1.getFileExtensionForTarget)(target));
303
306
  };
304
307
  /**
305
308
  * Transpiles and outputs Mitosis component files.
306
309
  */
307
- function outputTsxLiteFiles(target, files, options) {
310
+ function buildAndOutputComponentFiles(_a) {
311
+ var target = _a.target, files = _a.files, options = _a.options, generator = _a.generator, outputPath = _a.outputPath;
308
312
  return __awaiter(this, void 0, void 0, function () {
309
- var kebabTarget, debugTarget, transpiler, output;
313
+ var debugTarget, output;
310
314
  var _this = this;
311
- return __generator(this, function (_a) {
312
- switch (_a.label) {
315
+ return __generator(this, function (_b) {
316
+ switch (_b.label) {
313
317
  case 0:
314
- kebabTarget = (0, lodash_1.kebabCase)(target);
315
318
  debugTarget = (0, debug_1.default)("mitosis:".concat(target));
316
- transpiler = getTranspilerForTarget({ options: options, target: target });
317
319
  output = files.map(function (_a) {
318
320
  var path = _a.path, mitosisJson = _a.mitosisJson;
319
321
  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) {
322
+ var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, outputDir;
323
+ return __generator(this, function (_d) {
324
+ switch (_d.label) {
323
325
  case 0:
324
- outputFilePath = replaceFileExtensionForTarget({
325
- target: target,
326
- path: path,
327
- });
328
- overrideFilePath = "".concat(options.overridesDir, "/").concat(kebabTarget, "/").concat(outputFilePath);
326
+ outputFilePath = replaceFileExtensionForTarget({ target: target, path: path });
327
+ overrideFilePath = "".concat(options.overridesDir, "/").concat(outputPath, "/").concat(outputFilePath);
329
328
  return [4 /*yield*/, (0, fs_extra_1.pathExists)(overrideFilePath)];
330
329
  case 1:
331
- if (!(_e.sent())) return [3 /*break*/, 3];
330
+ if (!(_d.sent())) return [3 /*break*/, 3];
332
331
  return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFilePath, 'utf8')];
333
332
  case 2:
334
- _b = _e.sent();
333
+ _b = _d.sent();
335
334
  return [3 /*break*/, 4];
336
335
  case 3:
337
336
  _b = null;
338
- _e.label = 4;
337
+ _d.label = 4;
339
338
  case 4:
340
339
  overrideFile = _b;
341
340
  debugTarget("transpiling ".concat(path, "..."));
@@ -344,13 +343,13 @@ function outputTsxLiteFiles(target, files, options) {
344
343
  debugTarget("override exists for ".concat(path, ": ").concat(!!overrideFile));
345
344
  }
346
345
  try {
347
- transpiled = overrideFile !== null && overrideFile !== void 0 ? overrideFile : transpiler({ path: path, component: mitosisJson });
346
+ transpiled = overrideFile !== null && overrideFile !== void 0 ? overrideFile : generator({ path: path, component: mitosisJson });
348
347
  debugTarget("Success: transpiled ".concat(path, ". Output length: ").concat(transpiled.length));
349
348
  }
350
349
  catch (error) {
351
350
  debugTarget("Failure: transpiled ".concat(path, "."));
352
351
  debugTarget(error);
353
- return [2 /*return*/];
352
+ throw error;
354
353
  }
355
354
  original = transpiled;
356
355
  _c = target;
@@ -359,6 +358,8 @@ function outputTsxLiteFiles(target, files, options) {
359
358
  case 'reactNative': return [3 /*break*/, 7];
360
359
  case 'react': return [3 /*break*/, 7];
361
360
  case 'vue': return [3 /*break*/, 9];
361
+ case 'vue2': return [3 /*break*/, 9];
362
+ case 'vue3': return [3 /*break*/, 9];
362
363
  }
363
364
  return [3 /*break*/, 10];
364
365
  case 5: return [4 /*yield*/, (0, transpile_solid_file_1.transpileSolidFile)({
@@ -367,7 +368,7 @@ function outputTsxLiteFiles(target, files, options) {
367
368
  mitosisComponent: mitosisJson,
368
369
  })];
369
370
  case 6:
370
- transpiled = _e.sent();
371
+ transpiled = _d.sent();
371
372
  return [3 /*break*/, 10];
372
373
  case 7: return [4 /*yield*/, (0, transpile_1.transpile)({
373
374
  path: path,
@@ -376,135 +377,77 @@ function outputTsxLiteFiles(target, files, options) {
376
377
  options: options,
377
378
  })];
378
379
  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
- }
380
+ transpiled = _d.sent();
384
381
  return [3 /*break*/, 10];
385
382
  case 9:
386
383
  // TODO: transform to CJS (?)
387
384
  transpiled = (0, transpile_optional_chaining_1.transpileOptionalChaining)(transpiled).replace(/\.lite(['"];)/g, '$1');
388
- _e.label = 10;
385
+ _d.label = 10;
389
386
  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*/];
387
+ outputDir = "".concat(options.dest, "/").concat(outputPath);
388
+ return [4 /*yield*/, Promise.all(__spreadArray([
389
+ // this is the default output
390
+ (0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(outputFilePath), transpiled)
391
+ ], (shouldOutputOriginalGeneratedFile({ target: target, options: options })
392
+ ? [(0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(path), original)]
393
+ : []), true))];
394
+ case 11:
395
+ _d.sent();
396
+ return [2 /*return*/];
413
397
  }
414
398
  });
415
399
  });
416
400
  });
417
401
  return [4 /*yield*/, Promise.all(output)];
418
402
  case 1:
419
- _a.sent();
403
+ _b.sent();
420
404
  return [2 /*return*/];
421
405
  }
422
406
  });
423
407
  });
424
408
  }
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
- }
409
+ var getTargetPath = function (_a) {
410
+ var target = _a.target;
411
+ switch (target) {
412
+ case 'vue2':
413
+ return 'vue/vue2';
414
+ case 'vue':
415
+ case 'vue3':
416
+ return 'vue/vue3';
417
+ default:
418
+ return (0, lodash_1.kebabCase)(target);
419
+ }
420
+ };
430
421
  /**
431
422
  * Outputs non-component files to the destination directory, without modifying them.
432
423
  */
433
- function outputTsFiles(target, files, options) {
424
+ function outputNonComponentFiles(_a) {
425
+ var files = _a.files, options = _a.options, outputPath = _a.outputPath;
434
426
  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)];
427
+ return __generator(this, function (_b) {
428
+ switch (_b.label) {
429
+ case 0: return [4 /*yield*/, Promise.all(files.map(function (_a) {
430
+ var path = _a.path, output = _a.output;
431
+ return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(outputPath, "/").concat(path.replace(/\.tsx?$/, '.js')), output);
432
+ }))];
452
433
  case 1:
453
- _a.sent();
434
+ _b.sent();
454
435
  return [2 /*return*/];
455
436
  }
456
437
  });
457
438
  });
458
439
  }
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
440
  /**
496
441
  * Transpiles all non-component files, including Context files.
497
442
  */
498
- function buildTsFiles(_a) {
443
+ function buildNonComponentFiles(_a) {
499
444
  var target = _a.target, options = _a.options;
500
445
  return __awaiter(this, void 0, void 0, function () {
501
446
  var tsFiles;
502
447
  var _this = this;
503
448
  return __generator(this, function (_b) {
504
449
  switch (_b.label) {
505
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", {
506
- cwd: cwd,
507
- })];
450
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", { cwd: cwd })];
508
451
  case 1:
509
452
  tsFiles = _b.sent();
510
453
  return [4 /*yield*/, Promise.all(tsFiles.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
@@ -513,7 +456,7 @@ function buildTsFiles(_a) {
513
456
  switch (_a.label) {
514
457
  case 0:
515
458
  if (!path.endsWith('.context.lite.ts')) return [3 /*break*/, 2];
516
- return [4 /*yield*/, buildContextFile({ path: path, options: options, target: target })];
459
+ return [4 /*yield*/, (0, context_1.buildContextFile)({ path: path, options: options, target: target })];
517
460
  case 1:
518
461
  output = _a.sent();
519
462
  // we remove the `.lite` extension from the path for Context files.
@@ -542,5 +485,4 @@ function buildTsFiles(_a) {
542
485
  if (require.main === module) {
543
486
  build().catch(console.error);
544
487
  }
545
- var templateObject_1;
546
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FtQjZCO0FBQzdCLGdEQUEwQjtBQUMxQixrREFBNEI7QUFDNUIsd0RBQTZCO0FBQzdCLHFDQUFvRTtBQUNwRSwyQ0FBK0I7QUFDL0IsaUNBQWdFO0FBQ2hFLDBEQUFvQztBQUNwQyx5REFBc0Q7QUFDdEQsaURBQWdEO0FBQ2hELHFGQUFrRjtBQUNsRix1RUFBb0U7QUFFcEUsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRTFCLElBQU0sY0FBYyxHQUEyQjtJQUM3QyxPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxZQUFZLEVBQUUsV0FBVztDQUMxQixDQUFDO0FBRUYsSUFBTSxlQUFlLEdBQTZCO0lBQ2hELEdBQUcsRUFBRTtRQUNILFlBQVksRUFBRSxjQUFNLE9BQUEsSUFBQSwyQkFBVyxHQUFFLEVBQWIsQ0FBYTtRQUNqQyxVQUFVLEVBQUUsVUFBQyxJQUFJLElBQUssT0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQW5ELENBQW1EO1FBQ3pFLGVBQWUsRUFBRSxJQUFJO0tBQ3RCO0NBQ0YsQ0FBQztBQUVGLFNBQXNCLEtBQUssQ0FBQyxNQUFzQjs7Ozs7Ozs7b0JBQzFDLE9BQU8sa0NBQ1IsY0FBYyxHQUNkLE1BQU0sS0FDVCxPQUFPLGlDQUNGLGVBQWUsR0FDZixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUNs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
488
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FpQjZCO0FBQzdCLGdEQUEwQjtBQUMxQix3REFBNkI7QUFDN0IscUNBQW9FO0FBQ3BFLGlDQUFtQztBQUNuQywwREFBb0M7QUFDcEMsNkNBQXFEO0FBQ3JELG1EQUFpRTtBQUNqRSxpREFBZ0Q7QUFDaEQscUZBQWtGO0FBQ2xGLHVFQUFvRTtBQUVwRSxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUIsSUFBTSxjQUFjLEdBQTJCO0lBQzdDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFlBQVksRUFBRSxXQUFXO0NBQzFCLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRyxVQUFDLE1BQXNCLElBQW9CLE9BQUEsZ0NBQ3pELGNBQWMsR0FDZCxNQUFNLEtBQ1QsT0FBTyx3QkFDRixjQUFjLENBQUMsT0FBTyxHQUN0QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUVwQixFQVA0RCxDQU81RCxDQUFDO0FBRUgsU0FBZSxLQUFLLENBQUMsT0FBc0I7Ozs7Ozt3QkFDM0IscUJBQU0sSUFBQSxtQkFBSSxFQUFDLFVBQUcsT0FBTyxDQUFDLElBQUksbUJBQVMsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFDLEVBQUE7O29CQUEzRCxLQUFLLEdBQUcsU0FBbUQ7b0JBQ2pFLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFPLElBQUk7Ozs0Q0FDbkIscUJBQU0sSUFBQSxpQkFBTSxFQUFDLElBQUksQ0FBQyxFQUFBOzt3Q0FBbEIsU0FBa0IsQ0FB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