@builder.io/mitosis-cli 0.0.17-8 → 0.0.17-82

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