@modern-js/app-tools 2.48.6 → 2.49.1-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/dist/cjs/builder/builder-webpack/index.js +1 -1
  2. package/dist/cjs/commands/build.js +3 -0
  3. package/dist/cjs/commands/dev.js +16 -16
  4. package/dist/cjs/commands/serve.js +14 -22
  5. package/dist/cjs/index.js +3 -1
  6. package/dist/cjs/plugins/deploy/dependencies.js +257 -0
  7. package/dist/cjs/plugins/deploy/entrys/netlify.js +95 -0
  8. package/dist/cjs/plugins/deploy/entrys/node.js +88 -0
  9. package/dist/cjs/plugins/deploy/entrys/vercel.js +95 -0
  10. package/dist/cjs/plugins/deploy/index.js +140 -0
  11. package/dist/cjs/plugins/deploy/utils.js +150 -0
  12. package/dist/cjs/utils/createServer.js +5 -27
  13. package/dist/cjs/utils/env.js +2 -2
  14. package/dist/cjs/utils/register.js +103 -0
  15. package/dist/esm/builder/builder-webpack/index.js +1 -1
  16. package/dist/esm/commands/build.js +16 -9
  17. package/dist/esm/commands/dev.js +34 -38
  18. package/dist/esm/commands/serve.js +28 -32
  19. package/dist/esm/index.js +3 -1
  20. package/dist/esm/plugins/deploy/dependencies.js +726 -0
  21. package/dist/esm/plugins/deploy/entrys/netlify.js +41 -0
  22. package/dist/esm/plugins/deploy/entrys/node.js +39 -0
  23. package/dist/esm/plugins/deploy/entrys/vercel.js +41 -0
  24. package/dist/esm/plugins/deploy/index.js +219 -0
  25. package/dist/esm/plugins/deploy/utils.js +244 -0
  26. package/dist/esm/utils/createServer.js +14 -50
  27. package/dist/esm/utils/env.js +1 -1
  28. package/dist/esm/utils/register.js +129 -0
  29. package/dist/esm-node/builder/builder-webpack/index.js +1 -1
  30. package/dist/esm-node/commands/build.js +3 -0
  31. package/dist/esm-node/commands/dev.js +17 -17
  32. package/dist/esm-node/commands/serve.js +14 -12
  33. package/dist/esm-node/index.js +3 -1
  34. package/dist/esm-node/plugins/deploy/dependencies.js +223 -0
  35. package/dist/esm-node/plugins/deploy/entrys/netlify.js +71 -0
  36. package/dist/esm-node/plugins/deploy/entrys/node.js +64 -0
  37. package/dist/esm-node/plugins/deploy/entrys/vercel.js +71 -0
  38. package/dist/esm-node/plugins/deploy/index.js +110 -0
  39. package/dist/esm-node/plugins/deploy/utils.js +109 -0
  40. package/dist/esm-node/utils/createServer.js +6 -17
  41. package/dist/esm-node/utils/env.js +1 -1
  42. package/dist/esm-node/utils/register.js +69 -0
  43. package/dist/types/plugins/deploy/dependencies.d.ts +1 -0
  44. package/dist/types/plugins/deploy/entrys/netlify.d.ts +5 -0
  45. package/dist/types/plugins/deploy/entrys/node.d.ts +5 -0
  46. package/dist/types/plugins/deploy/entrys/vercel.d.ts +5 -0
  47. package/dist/types/plugins/deploy/index.d.ts +4 -0
  48. package/dist/types/plugins/deploy/utils.d.ts +27 -0
  49. package/dist/types/types/config/tools.d.ts +1 -1
  50. package/dist/types/utils/createServer.d.ts +4 -9
  51. package/dist/types/utils/register.d.ts +3 -0
  52. package/package.json +28 -22
@@ -0,0 +1,726 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
+ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
3
+ import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
4
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
5
+ import { _ as _ts_values } from "@swc/helpers/_/_ts_values";
6
+ import path, { isAbsolute } from "node:path";
7
+ import { nodeFileTrace, resolve } from "@vercel/nft";
8
+ import { fs as fse, pkgUp } from "@modern-js/utils";
9
+ import { readPackageJSON } from "pkg-types";
10
+ import { parseNodeModulePath } from "mlly";
11
+ import { linkPackage, writePackage } from "./utils";
12
+ var readDirRecursive = function() {
13
+ var _ref = _async_to_generator(function(dir) {
14
+ var files, filesAndDirs;
15
+ return _ts_generator(this, function(_state) {
16
+ switch (_state.label) {
17
+ case 0:
18
+ return [
19
+ 4,
20
+ fse.readdir(dir, {
21
+ withFileTypes: true
22
+ })
23
+ ];
24
+ case 1:
25
+ files = _state.sent();
26
+ return [
27
+ 4,
28
+ Promise.all(files.map(function() {
29
+ var _ref2 = _async_to_generator(function(file) {
30
+ var resPath;
31
+ return _ts_generator(this, function(_state2) {
32
+ resPath = path.resolve(dir, file.name);
33
+ return [
34
+ 2,
35
+ file.isDirectory() ? readDirRecursive(resPath) : resPath
36
+ ];
37
+ });
38
+ });
39
+ return function(file) {
40
+ return _ref2.apply(this, arguments);
41
+ };
42
+ }()))
43
+ ];
44
+ case 2:
45
+ filesAndDirs = _state.sent();
46
+ return [
47
+ 2,
48
+ filesAndDirs.flat()
49
+ ];
50
+ }
51
+ });
52
+ });
53
+ return function readDirRecursive2(dir) {
54
+ return _ref.apply(this, arguments);
55
+ };
56
+ }();
57
+ function isFile(file) {
58
+ return _isFile.apply(this, arguments);
59
+ }
60
+ function _isFile() {
61
+ _isFile = _async_to_generator(function(file) {
62
+ var stat, error;
63
+ return _ts_generator(this, function(_state) {
64
+ switch (_state.label) {
65
+ case 0:
66
+ _state.trys.push([
67
+ 0,
68
+ 2,
69
+ ,
70
+ 3
71
+ ]);
72
+ return [
73
+ 4,
74
+ fse.stat(file)
75
+ ];
76
+ case 1:
77
+ stat = _state.sent();
78
+ return [
79
+ 2,
80
+ stat.isFile()
81
+ ];
82
+ case 2:
83
+ error = _state.sent();
84
+ if (error.code === "ENOENT") {
85
+ return [
86
+ 2,
87
+ false
88
+ ];
89
+ }
90
+ throw error;
91
+ case 3:
92
+ return [
93
+ 2
94
+ ];
95
+ }
96
+ });
97
+ });
98
+ return _isFile.apply(this, arguments);
99
+ }
100
+ var findEntryFiles = function() {
101
+ var _ref = _async_to_generator(function(rootDir) {
102
+ var files;
103
+ return _ts_generator(this, function(_state) {
104
+ switch (_state.label) {
105
+ case 0:
106
+ return [
107
+ 4,
108
+ readDirRecursive(rootDir)
109
+ ];
110
+ case 1:
111
+ files = _state.sent();
112
+ return [
113
+ 2,
114
+ files
115
+ ];
116
+ }
117
+ });
118
+ });
119
+ return function findEntryFiles2(rootDir) {
120
+ return _ref.apply(this, arguments);
121
+ };
122
+ }();
123
+ var handleDependencies = function() {
124
+ var _ref = _async_to_generator(function(appDir, serverRootDir, include) {
125
+ var base, entryFiles, includeEntries, _fileTrace, currentProjectModules, _resolveTracedPath, tracedFiles, _, tracedPackages, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, tracedFile, pkgName, tracedPackage, pkgJSON, tracedPackageVersion, err, findPackageParents, multiVersionPkgs, singleVersionPackages, _iteratorNormalCompletion1, _didIteratorError1, _iteratorError1, _iterator1, _step1, tracedPackage1, versions, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, version, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _loop, _iterator3, _step3, err, projectPkg, outputPkgPath;
126
+ return _ts_generator(this, function(_state) {
127
+ switch (_state.label) {
128
+ case 0:
129
+ base = "/";
130
+ return [
131
+ 4,
132
+ findEntryFiles(serverRootDir)
133
+ ];
134
+ case 1:
135
+ entryFiles = _state.sent();
136
+ includeEntries = include.map(function(item) {
137
+ if (isAbsolute(item)) {
138
+ return item;
139
+ }
140
+ try {
141
+ return require.resolve(item);
142
+ } catch (error) {
143
+ }
144
+ return item;
145
+ });
146
+ return [
147
+ 4,
148
+ nodeFileTrace(entryFiles.concat(includeEntries), {
149
+ base,
150
+ processCwd: serverRootDir,
151
+ resolve: function() {
152
+ var _ref2 = _async_to_generator(function(id, parent, job, isCjs) {
153
+ return _ts_generator(this, function(_state2) {
154
+ if (id.startsWith("@modern-js/prod-server")) {
155
+ return [
156
+ 2,
157
+ require.resolve(id, {
158
+ paths: [
159
+ require.resolve("@modern-js/app-tools")
160
+ ]
161
+ })
162
+ ];
163
+ } else {
164
+ return [
165
+ 2,
166
+ resolve(id, parent, job, isCjs)
167
+ ];
168
+ }
169
+ return [
170
+ 2
171
+ ];
172
+ });
173
+ });
174
+ return function(id, parent, job, isCjs) {
175
+ return _ref2.apply(this, arguments);
176
+ };
177
+ }()
178
+ })
179
+ ];
180
+ case 2:
181
+ _fileTrace = _state.sent();
182
+ currentProjectModules = path.join(appDir, "node_modules");
183
+ _resolveTracedPath = function(p) {
184
+ return fse.realpath(path.resolve(base, p));
185
+ };
186
+ _ = Object.fromEntries;
187
+ return [
188
+ 4,
189
+ Promise.all(_to_consumable_array(_fileTrace.reasons.entries()).map(function() {
190
+ var _ref2 = _async_to_generator(function(param) {
191
+ var _param, _path, reasons, filePath, baseDir, pkgName2, subpath, pkgPath, parsed, MODERN_UTILS_PATH, MODERN_UTILS_PATH_REGEX, match, packageJsonPath, _tmp, packageJson, parents, tracedFile2;
192
+ return _ts_generator(this, function(_state2) {
193
+ switch (_state2.label) {
194
+ case 0:
195
+ _param = _sliced_to_array(param, 2), _path = _param[0], reasons = _param[1];
196
+ if (reasons.ignored) {
197
+ return [
198
+ 2
199
+ ];
200
+ }
201
+ return [
202
+ 4,
203
+ _resolveTracedPath(_path)
204
+ ];
205
+ case 1:
206
+ filePath = _state2.sent();
207
+ if (filePath.startsWith(serverRootDir) || filePath.startsWith(appDir) && !filePath.startsWith(currentProjectModules)) {
208
+ return [
209
+ 2
210
+ ];
211
+ }
212
+ return [
213
+ 4,
214
+ isFile(filePath)
215
+ ];
216
+ case 2:
217
+ if (!_state2.sent()) {
218
+ return [
219
+ 2
220
+ ];
221
+ }
222
+ if (!filePath.includes("node_modules"))
223
+ return [
224
+ 3,
225
+ 3
226
+ ];
227
+ parsed = parseNodeModulePath(filePath);
228
+ baseDir = parsed.dir;
229
+ pkgName2 = parsed.name;
230
+ subpath = parsed.subpath;
231
+ pkgPath = path.join(baseDir, pkgName2);
232
+ return [
233
+ 3,
234
+ 8
235
+ ];
236
+ case 3:
237
+ MODERN_UTILS_PATH = "packages/toolkit/utils";
238
+ MODERN_UTILS_PATH_REGEX = new RegExp("(.*".concat(MODERN_UTILS_PATH, ")"));
239
+ match = filePath.match(MODERN_UTILS_PATH_REGEX);
240
+ if (!match)
241
+ return [
242
+ 3,
243
+ 4
244
+ ];
245
+ _tmp = path.join(match[0], "package.json");
246
+ return [
247
+ 3,
248
+ 6
249
+ ];
250
+ case 4:
251
+ return [
252
+ 4,
253
+ pkgUp({
254
+ cwd: path.dirname(filePath)
255
+ })
256
+ ];
257
+ case 5:
258
+ _tmp = _state2.sent();
259
+ _state2.label = 6;
260
+ case 6:
261
+ packageJsonPath = _tmp;
262
+ if (!packageJsonPath)
263
+ return [
264
+ 3,
265
+ 8
266
+ ];
267
+ return [
268
+ 4,
269
+ fse.readJSON(packageJsonPath)
270
+ ];
271
+ case 7:
272
+ packageJson = _state2.sent();
273
+ pkgPath = baseDir = path.dirname(packageJsonPath);
274
+ subpath = path.relative(baseDir, filePath);
275
+ pkgName2 = packageJson.name;
276
+ _state2.label = 8;
277
+ case 8:
278
+ if (!baseDir) {
279
+ return [
280
+ 2
281
+ ];
282
+ }
283
+ return [
284
+ 4,
285
+ Promise.all(_to_consumable_array(reasons.parents).map(function(p) {
286
+ return _resolveTracedPath(p);
287
+ }))
288
+ ];
289
+ case 9:
290
+ parents = _state2.sent();
291
+ tracedFile2 = {
292
+ path: filePath,
293
+ parents,
294
+ subpath,
295
+ pkgName: pkgName2,
296
+ pkgPath
297
+ };
298
+ return [
299
+ 2,
300
+ [
301
+ filePath,
302
+ tracedFile2
303
+ ]
304
+ ];
305
+ }
306
+ });
307
+ });
308
+ return function(_2) {
309
+ return _ref2.apply(this, arguments);
310
+ };
311
+ }())).then(function(r) {
312
+ return r.filter(Boolean);
313
+ })
314
+ ];
315
+ case 3:
316
+ tracedFiles = _.apply(Object, [
317
+ _state.sent()
318
+ ]);
319
+ tracedPackages = {};
320
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
321
+ _state.label = 4;
322
+ case 4:
323
+ _state.trys.push([
324
+ 4,
325
+ 9,
326
+ 10,
327
+ 11
328
+ ]);
329
+ _iterator = Object.values(tracedFiles)[Symbol.iterator]();
330
+ _state.label = 5;
331
+ case 5:
332
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done))
333
+ return [
334
+ 3,
335
+ 8
336
+ ];
337
+ tracedFile = _step.value;
338
+ pkgName = tracedFile.pkgName;
339
+ tracedPackage = tracedPackages[pkgName];
340
+ return [
341
+ 4,
342
+ readPackageJSON(tracedFile.pkgPath, {
343
+ cache: true
344
+ }).catch(function() {
345
+ })
346
+ ];
347
+ case 6:
348
+ pkgJSON = _state.sent();
349
+ if (!pkgJSON) {
350
+ pkgJSON = {
351
+ name: pkgName,
352
+ version: "0.0.0"
353
+ };
354
+ }
355
+ if (!tracedPackage) {
356
+ tracedPackage = {
357
+ name: pkgName,
358
+ versions: {}
359
+ };
360
+ tracedPackages[pkgName] = tracedPackage;
361
+ }
362
+ tracedPackageVersion = tracedPackage.versions[pkgJSON.version];
363
+ if (!tracedPackageVersion) {
364
+ tracedPackageVersion = {
365
+ path: tracedFile.pkgPath,
366
+ files: [],
367
+ pkgJSON
368
+ };
369
+ tracedPackage.versions[pkgJSON.version] = tracedPackageVersion;
370
+ }
371
+ tracedFile.path.startsWith(tracedFile.pkgPath) && tracedPackageVersion.path === tracedFile.pkgPath && tracedPackageVersion.files.push(tracedFile.path);
372
+ tracedFile.pkgName = pkgName;
373
+ tracedFile.pkgVersion = pkgJSON.version;
374
+ _state.label = 7;
375
+ case 7:
376
+ _iteratorNormalCompletion = true;
377
+ return [
378
+ 3,
379
+ 5
380
+ ];
381
+ case 8:
382
+ return [
383
+ 3,
384
+ 11
385
+ ];
386
+ case 9:
387
+ err = _state.sent();
388
+ _didIteratorError = true;
389
+ _iteratorError = err;
390
+ return [
391
+ 3,
392
+ 11
393
+ ];
394
+ case 10:
395
+ try {
396
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
397
+ _iterator.return();
398
+ }
399
+ } finally {
400
+ if (_didIteratorError) {
401
+ throw _iteratorError;
402
+ }
403
+ }
404
+ return [
405
+ 7
406
+ ];
407
+ case 11:
408
+ findPackageParents = function(pkg, version2) {
409
+ var versionFiles = pkg.versions[version2].files.map(function(path2) {
410
+ return tracedFiles[path2];
411
+ });
412
+ var parentPkgs = _to_consumable_array(new Set(versionFiles.flatMap(function(file) {
413
+ return file.parents.map(function(parentPath) {
414
+ var parentFile = tracedFiles[parentPath];
415
+ if (parentFile.pkgName === pkg.name) {
416
+ return null;
417
+ }
418
+ return "".concat(parentFile.pkgName, "@").concat(parentFile.pkgVersion);
419
+ }).filter(Boolean);
420
+ })));
421
+ return parentPkgs;
422
+ };
423
+ multiVersionPkgs = {};
424
+ singleVersionPackages = [];
425
+ _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
426
+ try {
427
+ for (_iterator1 = Object.values(tracedPackages)[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
428
+ tracedPackage1 = _step1.value;
429
+ versions = Object.keys(tracedPackage1.versions);
430
+ if (versions.length === 1) {
431
+ singleVersionPackages.push(tracedPackage1.name);
432
+ continue;
433
+ }
434
+ multiVersionPkgs[tracedPackage1.name] = {};
435
+ _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
436
+ try {
437
+ for (_iterator2 = versions[Symbol.iterator](); !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
438
+ version = _step2.value;
439
+ multiVersionPkgs[tracedPackage1.name][version] = findPackageParents(tracedPackage1, version);
440
+ }
441
+ } catch (err2) {
442
+ _didIteratorError2 = true;
443
+ _iteratorError2 = err2;
444
+ } finally {
445
+ try {
446
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
447
+ _iterator2.return();
448
+ }
449
+ } finally {
450
+ if (_didIteratorError2) {
451
+ throw _iteratorError2;
452
+ }
453
+ }
454
+ }
455
+ }
456
+ } catch (err2) {
457
+ _didIteratorError1 = true;
458
+ _iteratorError1 = err2;
459
+ } finally {
460
+ try {
461
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
462
+ _iterator1.return();
463
+ }
464
+ } finally {
465
+ if (_didIteratorError1) {
466
+ throw _iteratorError1;
467
+ }
468
+ }
469
+ }
470
+ return [
471
+ 4,
472
+ Promise.all(singleVersionPackages.map(function(pkgName2) {
473
+ var pkg = tracedPackages[pkgName2];
474
+ var version2 = Object.keys(pkg.versions)[0];
475
+ return writePackage(pkg, version2, serverRootDir);
476
+ }))
477
+ ];
478
+ case 12:
479
+ _state.sent();
480
+ console.log("multiVersionPkgs111111111", multiVersionPkgs);
481
+ _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
482
+ _state.label = 13;
483
+ case 13:
484
+ _state.trys.push([
485
+ 13,
486
+ 18,
487
+ 19,
488
+ 20
489
+ ]);
490
+ _loop = function() {
491
+ var _step_value, pkgName2, pkgVersions, versionEntires, _iteratorNormalCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, _step_value1, version2, parentPkgs, pkg, pkgDestPath, _iteratorNormalCompletion12, _didIteratorError12, _iteratorError12, _iterator12, _step12, parentPkg, parentPkgName, err2, err2;
492
+ return _ts_generator(this, function(_state2) {
493
+ switch (_state2.label) {
494
+ case 0:
495
+ _step_value = _sliced_to_array(_step3.value, 2), pkgName2 = _step_value[0], pkgVersions = _step_value[1];
496
+ versionEntires = Object.entries(pkgVersions).sort(
497
+ // TODO: remove ts-ignore
498
+ // @ts-expect-error
499
+ function(param, param1) {
500
+ var _param = _sliced_to_array(param, 2), v1 = _param[0], p1 = _param[1], _param1 = _sliced_to_array(param1, 2), v2 = _param1[0], p2 = _param1[1];
501
+ if (p1.length === 0) {
502
+ return -1;
503
+ }
504
+ if (p2.length === 0) {
505
+ return 1;
506
+ }
507
+ }
508
+ );
509
+ _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;
510
+ _state2.label = 1;
511
+ case 1:
512
+ _state2.trys.push([
513
+ 1,
514
+ 14,
515
+ 15,
516
+ 16
517
+ ]);
518
+ _iterator4 = versionEntires[Symbol.iterator]();
519
+ _state2.label = 2;
520
+ case 2:
521
+ if (!!(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done))
522
+ return [
523
+ 3,
524
+ 13
525
+ ];
526
+ _step_value1 = _sliced_to_array(_step4.value, 2), version2 = _step_value1[0], parentPkgs = _step_value1[1];
527
+ pkg = tracedPackages[pkgName2];
528
+ pkgDestPath = ".modernjs/".concat(pkgName2, "@").concat(version2, "/node_modules/").concat(pkgName2);
529
+ return [
530
+ 4,
531
+ writePackage(pkg, version2, serverRootDir, pkgDestPath)
532
+ ];
533
+ case 3:
534
+ _state2.sent();
535
+ return [
536
+ 4,
537
+ linkPackage(pkgDestPath, "".concat(pkgName2), serverRootDir)
538
+ ];
539
+ case 4:
540
+ _state2.sent();
541
+ _iteratorNormalCompletion12 = true, _didIteratorError12 = false, _iteratorError12 = void 0;
542
+ _state2.label = 5;
543
+ case 5:
544
+ _state2.trys.push([
545
+ 5,
546
+ 10,
547
+ 11,
548
+ 12
549
+ ]);
550
+ _iterator12 = parentPkgs[Symbol.iterator]();
551
+ _state2.label = 6;
552
+ case 6:
553
+ if (!!(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done))
554
+ return [
555
+ 3,
556
+ 9
557
+ ];
558
+ parentPkg = _step12.value;
559
+ parentPkgName = parentPkg.replace(/@[^@]+$/, "");
560
+ return [
561
+ 4,
562
+ multiVersionPkgs[parentPkgName] ? linkPackage(pkgDestPath, ".modernjs/".concat(parentPkg, "/node_modules/").concat(pkgName2, "@").concat(version2), path.join(serverRootDir, "node_modules")) : linkPackage(pkgDestPath, "".concat(parentPkgName, "/node_modules/").concat(pkgName2, "@").concat(version2), path.join(serverRootDir, "node_modules"))
563
+ ];
564
+ case 7:
565
+ _state2.sent();
566
+ _state2.label = 8;
567
+ case 8:
568
+ _iteratorNormalCompletion12 = true;
569
+ return [
570
+ 3,
571
+ 6
572
+ ];
573
+ case 9:
574
+ return [
575
+ 3,
576
+ 12
577
+ ];
578
+ case 10:
579
+ err2 = _state2.sent();
580
+ _didIteratorError12 = true;
581
+ _iteratorError12 = err2;
582
+ return [
583
+ 3,
584
+ 12
585
+ ];
586
+ case 11:
587
+ try {
588
+ if (!_iteratorNormalCompletion12 && _iterator12.return != null) {
589
+ _iterator12.return();
590
+ }
591
+ } finally {
592
+ if (_didIteratorError12) {
593
+ throw _iteratorError12;
594
+ }
595
+ }
596
+ return [
597
+ 7
598
+ ];
599
+ case 12:
600
+ _iteratorNormalCompletion4 = true;
601
+ return [
602
+ 3,
603
+ 2
604
+ ];
605
+ case 13:
606
+ return [
607
+ 3,
608
+ 16
609
+ ];
610
+ case 14:
611
+ err2 = _state2.sent();
612
+ _didIteratorError4 = true;
613
+ _iteratorError4 = err2;
614
+ return [
615
+ 3,
616
+ 16
617
+ ];
618
+ case 15:
619
+ try {
620
+ if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
621
+ _iterator4.return();
622
+ }
623
+ } finally {
624
+ if (_didIteratorError4) {
625
+ throw _iteratorError4;
626
+ }
627
+ }
628
+ return [
629
+ 7
630
+ ];
631
+ case 16:
632
+ return [
633
+ 2
634
+ ];
635
+ }
636
+ });
637
+ };
638
+ _iterator3 = Object.entries(multiVersionPkgs)[Symbol.iterator]();
639
+ _state.label = 14;
640
+ case 14:
641
+ if (!!(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done))
642
+ return [
643
+ 3,
644
+ 17
645
+ ];
646
+ return [
647
+ 5,
648
+ _ts_values(_loop())
649
+ ];
650
+ case 15:
651
+ _state.sent();
652
+ _state.label = 16;
653
+ case 16:
654
+ _iteratorNormalCompletion3 = true;
655
+ return [
656
+ 3,
657
+ 14
658
+ ];
659
+ case 17:
660
+ return [
661
+ 3,
662
+ 20
663
+ ];
664
+ case 18:
665
+ err = _state.sent();
666
+ _didIteratorError3 = true;
667
+ _iteratorError3 = err;
668
+ return [
669
+ 3,
670
+ 20
671
+ ];
672
+ case 19:
673
+ try {
674
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
675
+ _iterator3.return();
676
+ }
677
+ } finally {
678
+ if (_didIteratorError3) {
679
+ throw _iteratorError3;
680
+ }
681
+ }
682
+ return [
683
+ 7
684
+ ];
685
+ case 20:
686
+ return [
687
+ 4,
688
+ readPackageJSON(serverRootDir).catch(function() {
689
+ return {};
690
+ })
691
+ ];
692
+ case 21:
693
+ projectPkg = _state.sent();
694
+ outputPkgPath = path.join(serverRootDir, "package.json");
695
+ return [
696
+ 4,
697
+ fse.writeJSON(outputPkgPath, {
698
+ name: "".concat(projectPkg.name || "modernjs-project", "-prod"),
699
+ version: projectPkg.version || "0.0.0",
700
+ private: true,
701
+ dependencies: Object.fromEntries(_to_consumable_array(Object.values(tracedPackages).map(function(pkg) {
702
+ return [
703
+ pkg.name,
704
+ Object.keys(pkg.versions)[0]
705
+ ];
706
+ })).sort(function(param, param1) {
707
+ var _param = _sliced_to_array(param, 1), a = _param[0], _param1 = _sliced_to_array(param1, 1), b = _param1[0];
708
+ return a.localeCompare(b);
709
+ }))
710
+ })
711
+ ];
712
+ case 22:
713
+ _state.sent();
714
+ return [
715
+ 2
716
+ ];
717
+ }
718
+ });
719
+ });
720
+ return function handleDependencies2(appDir, serverRootDir, include) {
721
+ return _ref.apply(this, arguments);
722
+ };
723
+ }();
724
+ export {
725
+ handleDependencies
726
+ };