@builder.io/mitosis-cli 0.0.17-7 → 0.0.17-70

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,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"));
98
- var get_simple_id_1 = require("./helpers/get-simple-id");
69
+ var fast_clone_1 = require("../helpers/fast-clone");
70
+ var context_1 = require("./helpers/context");
71
+ var extensions_1 = require("./helpers/extensions");
99
72
  var transpile_1 = require("./helpers/transpile");
100
73
  var transpile_optional_chaining_1 = require("./helpers/transpile-optional-chaining");
101
74
  var transpile_solid_file_1 = require("./helpers/transpile-solid-file");
@@ -106,144 +79,169 @@ var DEFAULT_CONFIG = {
106
79
  files: 'src/*',
107
80
  overridesDir: 'overrides',
108
81
  };
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;
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) {
118
84
  return __awaiter(this, void 0, void 0, function () {
119
- var options, tsLiteFiles, _b, _c, _d;
85
+ var files;
120
86
  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)];
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))];
126
90
  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;
91
+ files = _a.sent();
92
+ return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
159
93
  return __generator(this, function (_a) {
160
94
  switch (_a.label) {
161
- case 0: return [4 /*yield*/, buildTsFiles({ target: target, options: options })];
95
+ case 0: return [4 /*yield*/, (0, fs_extra_1.remove)(file)];
162
96
  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
97
  _a.sent();
173
98
  return [2 /*return*/];
174
99
  }
175
100
  });
176
101
  }); }))];
177
- case 4:
178
- _e.sent();
179
- console.info('Done!');
102
+ case 2:
103
+ _a.sent();
180
104
  return [2 /*return*/];
181
105
  }
182
106
  });
183
107
  });
184
108
  }
185
- exports.build = build;
186
- 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) {
187
164
  return __awaiter(this, void 0, void 0, function () {
188
- var files;
165
+ var options, mitosisComponents, targetContexts;
189
166
  var _this = this;
190
167
  return __generator(this, function (_a) {
191
168
  switch (_a.label) {
192
- 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)];
193
173
  case 1:
194
- files = _a.sent();
195
- 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;
196
182
  return __generator(this, function (_a) {
197
183
  switch (_a.label) {
198
- 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
+ ])];
199
191
  case 1:
192
+ _a.sent();
193
+ return [4 /*yield*/, outputOverrides(targetContextWithConfig)];
194
+ case 2:
200
195
  _a.sent();
201
196
  return [2 /*return*/];
202
197
  }
203
198
  });
204
199
  }); }))];
205
- case 2:
200
+ case 3:
206
201
  _a.sent();
202
+ console.info('Done!');
207
203
  return [2 /*return*/];
208
204
  }
209
205
  });
210
206
  });
211
207
  }
212
- function outputOverrides(target, options) {
208
+ exports.build = build;
209
+ function outputOverrides(_a) {
210
+ var target = _a.target, options = _a.options, outputPath = _a.outputPath;
213
211
  return __awaiter(this, void 0, void 0, function () {
214
- var kebabTarget, outputDirPath, files;
212
+ var targetOverrides, overrideFileNames;
215
213
  var _this = this;
216
- return __generator(this, function (_a) {
217
- switch (_a.label) {
214
+ return __generator(this, function (_b) {
215
+ switch (_b.label) {
218
216
  case 0:
219
- kebabTarget = (0, lodash_1.kebabCase)(target);
220
- outputDirPath = "".concat(options.overridesDir, "/").concat(kebabTarget);
217
+ targetOverrides = "".concat(options.overridesDir, "/").concat(outputPath);
221
218
  return [4 /*yield*/, (0, fast_glob_1.default)([
222
- "".concat(outputDirPath, "/**/*"),
223
- "!".concat(outputDirPath, "/node_modules/**/*"),
219
+ "".concat(targetOverrides, "/**/*"),
220
+ "!".concat(targetOverrides, "/node_modules/**/*"),
224
221
  ])];
225
222
  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;
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;
229
226
  return __generator(this, function (_a) {
230
227
  switch (_a.label) {
231
- 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')];
232
229
  case 1:
233
230
  contents = _a.sent();
234
- esbuildTranspile = file.match(/\.tsx?$/);
231
+ esbuildTranspile = overrideFileName.match(/\.tsx?$/);
235
232
  if (!esbuildTranspile) return [3 /*break*/, 3];
236
- 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 })];
237
234
  case 2:
238
235
  contents = _a.sent();
239
236
  _a.label = 3;
240
237
  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
- }))];
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)];
247
245
  case 4:
248
246
  _a.sent();
249
247
  return [2 /*return*/];
@@ -251,13 +249,13 @@ function outputOverrides(target, options) {
251
249
  });
252
250
  }); }))];
253
251
  case 2:
254
- _a.sent();
252
+ _b.sent();
255
253
  return [2 /*return*/];
256
254
  }
257
255
  });
258
256
  });
259
257
  }
260
- var getTranspilerForTarget = function (_a) {
258
+ var getGeneratorForTarget = function (_a) {
261
259
  var target = _a.target, options = _a.options;
262
260
  switch (target) {
263
261
  case 'customElement':
@@ -266,8 +264,14 @@ var getTranspilerForTarget = function (_a) {
266
264
  return (0, mitosis_1.componentToHtml)(options.options.html);
267
265
  case 'reactNative':
268
266
  return (0, mitosis_1.componentToReactNative)({ stateType: 'useState' });
267
+ case 'vue2':
268
+ return (0, mitosis_1.componentToVue2)(options.options.vue2);
269
269
  case 'vue':
270
- 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);
273
+ case 'angular':
274
+ return (0, mitosis_1.componentToAngular)(options.options.angular);
271
275
  case 'react':
272
276
  return (0, mitosis_1.componentToReact)(options.options.react);
273
277
  case 'swift':
@@ -278,64 +282,67 @@ var getTranspilerForTarget = function (_a) {
278
282
  return (0, mitosis_1.componentToCustomElement)(options.options.webcomponent);
279
283
  case 'svelte':
280
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);
281
293
  default:
282
- // TO-DO: throw instead of `never`
283
- return null;
294
+ throw new Error('CLI does not yet support target: ' + target);
284
295
  }
285
296
  };
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';
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;
298
309
  }
299
310
  };
300
311
  var replaceFileExtensionForTarget = function (_a) {
301
312
  var target = _a.target, path = _a.path;
302
- return path.replace(/\.lite\.tsx$/, getFileExtensionForTarget(target));
313
+ return path.replace(/\.lite\.tsx$/, (0, extensions_1.getFileExtensionForTarget)(target));
303
314
  };
304
315
  /**
305
316
  * Transpiles and outputs Mitosis component files.
306
317
  */
307
- 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;
308
320
  return __awaiter(this, void 0, void 0, function () {
309
- var kebabTarget, debugTarget, transpiler, output;
321
+ var debugTarget, output;
310
322
  var _this = this;
311
- return __generator(this, function (_a) {
312
- switch (_a.label) {
323
+ return __generator(this, function (_b) {
324
+ switch (_b.label) {
313
325
  case 0:
314
- kebabTarget = (0, lodash_1.kebabCase)(target);
315
326
  debugTarget = (0, debug_1.default)("mitosis:".concat(target));
316
- transpiler = getTranspilerForTarget({ options: options, target: target });
317
327
  output = files.map(function (_a) {
318
328
  var path = _a.path, mitosisJson = _a.mitosisJson;
319
329
  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) {
330
+ var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, outputDir;
331
+ return __generator(this, function (_d) {
332
+ switch (_d.label) {
323
333
  case 0:
324
- outputFilePath = replaceFileExtensionForTarget({
325
- target: target,
326
- path: path,
327
- });
328
- overrideFilePath = "".concat(options.overridesDir, "/").concat(kebabTarget, "/").concat(outputFilePath);
334
+ outputFilePath = replaceFileExtensionForTarget({ target: target, path: path });
335
+ overrideFilePath = "".concat(options.overridesDir, "/").concat(outputPath, "/").concat(outputFilePath);
329
336
  return [4 /*yield*/, (0, fs_extra_1.pathExists)(overrideFilePath)];
330
337
  case 1:
331
- if (!(_e.sent())) return [3 /*break*/, 3];
338
+ if (!(_d.sent())) return [3 /*break*/, 3];
332
339
  return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFilePath, 'utf8')];
333
340
  case 2:
334
- _b = _e.sent();
341
+ _b = _d.sent();
335
342
  return [3 /*break*/, 4];
336
343
  case 3:
337
344
  _b = null;
338
- _e.label = 4;
345
+ _d.label = 4;
339
346
  case 4:
340
347
  overrideFile = _b;
341
348
  debugTarget("transpiling ".concat(path, "..."));
@@ -344,7 +351,7 @@ function outputTsxLiteFiles(target, files, options) {
344
351
  debugTarget("override exists for ".concat(path, ": ").concat(!!overrideFile));
345
352
  }
346
353
  try {
347
- 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 });
348
355
  debugTarget("Success: transpiled ".concat(path, ". Output length: ").concat(transpiled.length));
349
356
  }
350
357
  catch (error) {
@@ -357,8 +364,11 @@ function outputTsxLiteFiles(target, files, options) {
357
364
  switch (_c) {
358
365
  case 'solid': return [3 /*break*/, 5];
359
366
  case 'reactNative': return [3 /*break*/, 7];
367
+ case 'preact': return [3 /*break*/, 7];
360
368
  case 'react': return [3 /*break*/, 7];
361
369
  case 'vue': return [3 /*break*/, 9];
370
+ case 'vue2': return [3 /*break*/, 9];
371
+ case 'vue3': return [3 /*break*/, 9];
362
372
  }
363
373
  return [3 /*break*/, 10];
364
374
  case 5: return [4 /*yield*/, (0, transpile_solid_file_1.transpileSolidFile)({
@@ -367,7 +377,7 @@ function outputTsxLiteFiles(target, files, options) {
367
377
  mitosisComponent: mitosisJson,
368
378
  })];
369
379
  case 6:
370
- transpiled = _e.sent();
380
+ transpiled = _d.sent();
371
381
  return [3 /*break*/, 10];
372
382
  case 7: return [4 /*yield*/, (0, transpile_1.transpile)({
373
383
  path: path,
@@ -376,135 +386,77 @@ function outputTsxLiteFiles(target, files, options) {
376
386
  options: options,
377
387
  })];
378
388
  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
- }
389
+ transpiled = _d.sent();
384
390
  return [3 /*break*/, 10];
385
391
  case 9:
386
392
  // TODO: transform to CJS (?)
387
393
  transpiled = (0, transpile_optional_chaining_1.transpileOptionalChaining)(transpiled).replace(/\.lite(['"];)/g, '$1');
388
- _e.label = 10;
394
+ _d.label = 10;
389
395
  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*/];
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*/];
413
406
  }
414
407
  });
415
408
  });
416
409
  });
417
410
  return [4 /*yield*/, Promise.all(output)];
418
411
  case 1:
419
- _a.sent();
412
+ _b.sent();
420
413
  return [2 /*return*/];
421
414
  }
422
415
  });
423
416
  });
424
417
  }
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
- }
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
+ };
430
430
  /**
431
431
  * Outputs non-component files to the destination directory, without modifying them.
432
432
  */
433
- function outputTsFiles(target, files, options) {
433
+ function outputNonComponentFiles(_a) {
434
+ var files = _a.files, options = _a.options, outputPath = _a.outputPath;
434
435
  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)];
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
+ }))];
452
442
  case 1:
453
- _a.sent();
443
+ _b.sent();
454
444
  return [2 /*return*/];
455
445
  }
456
446
  });
457
447
  });
458
448
  }
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
449
  /**
496
450
  * Transpiles all non-component files, including Context files.
497
451
  */
498
- function buildTsFiles(_a) {
452
+ function buildNonComponentFiles(_a) {
499
453
  var target = _a.target, options = _a.options;
500
454
  return __awaiter(this, void 0, void 0, function () {
501
455
  var tsFiles;
502
456
  var _this = this;
503
457
  return __generator(this, function (_b) {
504
458
  switch (_b.label) {
505
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", {
506
- cwd: cwd,
507
- })];
459
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", { cwd: cwd })];
508
460
  case 1:
509
461
  tsFiles = _b.sent();
510
462
  return [4 /*yield*/, Promise.all(tsFiles.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
@@ -513,7 +465,7 @@ function buildTsFiles(_a) {
513
465
  switch (_a.label) {
514
466
  case 0:
515
467
  if (!path.endsWith('.context.lite.ts')) return [3 /*break*/, 2];
516
- return [4 /*yield*/, buildContextFile({ path: path, options: options, target: target })];
468
+ return [4 /*yield*/, (0, context_1.buildContextFile)({ path: path, options: options, target: target })];
517
469
  case 1:
518
470
  output = _a.sent();
519
471
  // we remove the `.lite` extension from the path for Context files.
@@ -542,5 +494,4 @@ function buildTsFiles(_a) {
542
494
  if (require.main === module) {
543
495
  build().catch(console.error);
544
496
  }
545
- var templateObject_1;
546
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FtQjZCO0FBQzdCLGdEQUEwQjtBQUMxQixrREFBNEI7QUFDNUIsd0RBQTZCO0FBQzdCLHFDQUFvRTtBQUNwRSwyQ0FBK0I7QUFDL0IsaUNBQWdFO0FBQ2hFLDBEQUFvQztBQUNwQyx5REFBc0Q7QUFDdEQsaURBQWdEO0FBQ2hELHFGQUFrRjtBQUNsRix1RUFBb0U7QUFFcEUsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRTFCLElBQU0sY0FBYyxHQUEyQjtJQUM3QyxPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxZQUFZLEVBQUUsV0FBVztDQUMxQixDQUFDO0FBRUYsSUFBTSxlQUFlLEdBQTZCO0lBQ2hELEdBQUcsRUFBRTtRQUNILFlBQVksRUFBRSxjQUFNLE9BQUEsSUFBQSwyQkFBVyxHQUFFLEVBQWIsQ0FBYTtRQUNqQyxVQUFVLEVBQUUsVUFBQyxJQUFJLElBQUssT0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQW5ELENBQW1EO1FBQ3pFLGVBQWUsRUFBRSxJQUFJO0tBQ3RCO0NBQ0YsQ0FBQztBQUVGLFNBQXNCLEtBQUssQ0FBQyxNQUFzQjs7Ozs7Ozs7b0JBQzFDLE9BQU8sa0NBQ1IsY0FBYyxHQUNkLE1BQU0sS0FDVCxPQUFPLGlDQUNGLGVBQWUsR0FDZixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUNs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
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FvQjZCO0FBQzdCLGdEQUEwQjtBQUMxQix3REFBNkI7QUFDN0IscUNBQW9FO0FBQ3BFLGlDQUFtQztBQUNuQywwREFBb0M7QUFDcEMsb0RBQWtEO0FBQ2xELDZDQUFxRDtBQUNyRCxtREFBaUU7QUFDakUsaURBQWdEO0FBQ2hELHFGQUFrRjtBQUNsRix1RUFBb0U7QUFFcEUsSUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBRTFCLElBQU0sY0FBYyxHQUEyQjtJQUM3QyxPQUFPLEVBQUUsRUFBRTtJQUNYLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxZQUFZLEVBQUUsV0FBVztDQUMxQixDQUFDO0FBRUYsSUFBTSxVQUFVLEdBQUcsVUFBQyxNQUFzQixJQUFvQixPQUFBLGdDQUN6RCxjQUFjLEdBQ2QsTUFBTSxLQUNULE9BQU8sd0JBQ0YsY0FBYyxDQUFDLE9BQU8sR0FDdEIsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE9BQU8sS0FFcEIsRUFQNEQsQ0FPNUQsQ0FBQztBQUVILFNBQWUsS0FBSyxDQUFDLE9BQXNCOzs7Ozs7d0JBQzNCLHFCQUFNLElBQUEsbUJBQUksRUFBQyxVQUFHLE9BQU8sQ0FBQyxJQUFJLG1CQUFTLE9BQU8sQ0FBQyxLQUFLLENBQUUsQ0FBQyxFQUFBOztvQkFBM0QsS0FBSyxHQUFHLFNBQW1EO29CQUNqRSxxQkFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBTyxJQUFJOzs7NENBQ25CLHFCQUFNLElBQUEsaUJBQU0sRUFBQyxJQUFJLENBQUMsRUFBQTs7d0NB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