@softarc/native-federation-orchestrator 4.9.0 → 4.10.1
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.
- package/README.md +12 -12
- package/fesm2022/@softarc/native-federation-orchestrator.mjs +490 -123
- package/fesm2022/@softarc/native-federation-orchestrator.mjs.map +4 -4
- package/fesm2022/module-federation.mjs.map +2 -2
- package/fesm2022/node.mjs +495 -123
- package/fesm2022/node.mjs.map +4 -4
- package/fesm2022/options.mjs +25 -2
- package/fesm2022/options.mjs.map +3 -3
- package/fesm2022/registry.mjs.map +2 -2
- package/package.json +3 -3
- package/quickstart.mjs +15 -13
- package/types/lib/core/1.domain/externals/basis.d.ts +2 -2
- package/types/lib/core/1.domain/externals/version.contract.d.ts +3 -0
- package/types/lib/core/1.domain/import-map/eager-preloads.d.ts +10 -0
- package/types/lib/core/1.domain/pooling/builds.d.ts +7 -1
- package/types/lib/core/1.domain/remote/remote-module.contract.d.ts +1 -0
- package/types/lib/core/1.domain/remote-entry/remote-entry.contract.d.ts +2 -2
- package/types/lib/core/2.app/config/import-map.contract.d.ts +4 -7
- package/types/lib/core/2.app/config/index.d.ts +2 -2
- package/types/lib/core/2.app/config/mode.contract.d.ts +1 -0
- package/types/lib/core/2.app/driver-ports/init/flow.contract.d.ts +2 -4
- package/types/lib/core/2.app/driver-ports/init/for-exposing-module-loader.port.d.ts +6 -2
- package/types/lib/core/2.app/driving-ports/for-browser-tasks.d.ts +1 -0
- package/types/lib/core/2.app/driving-ports/for-remote-info-storage.port.d.ts +1 -0
- package/types/lib/core/2.app/steps/collect-eager-preloads.d.ts +4 -0
- package/types/lib/core/2.app/steps/preload-hint.d.ts +4 -0
- package/types/lib/core/2.app/steps/store-remote-entry.d.ts +0 -14
- package/types/lib/core/4.config/import-map/index.d.ts +2 -0
- package/types/lib/core/4.config/import-map/no-preload.d.ts +2 -0
- package/types/lib/core/4.config/import-map/preload-in-dom.d.ts +2 -0
- package/types/lib/core/5.di/federation-result.factory.d.ts +3 -2
- package/types/lib/core/init-federation.contract.d.ts +2 -0
- package/types/lib/index.d.ts +1 -1
- package/types/lib/node/init-federation.node.d.ts +2 -7
- package/types/lib/node.index.d.ts +1 -1
- package/types/lib/registry/event-registry.contract.d.ts +1 -0
- package/types/lib/registry/event.contract.d.ts +6 -0
- package/types/lib/registry/for-managing-events.port.d.ts +1 -0
- package/types/lib/registry/registry.contract.d.ts +2 -0
- package/types/lib/registry/setup-registry.d.ts +1 -0
- package/types/scripts/announce-init-ready.d.ts +2 -0
- package/types/scripts/init-registry.d.ts +1 -0
|
@@ -28,9 +28,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
mod
|
|
29
29
|
));
|
|
30
30
|
|
|
31
|
-
// node_modules/.pnpm/semver@7.8.
|
|
31
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/debug.js
|
|
32
32
|
var require_debug = __commonJS({
|
|
33
|
-
"node_modules/.pnpm/semver@7.8.
|
|
33
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/debug.js"(exports, module) {
|
|
34
34
|
"use strict";
|
|
35
35
|
var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
|
|
36
36
|
};
|
|
@@ -38,9 +38,9 @@ var require_debug = __commonJS({
|
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
|
|
41
|
-
// node_modules/.pnpm/semver@7.8.
|
|
41
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/constants.js
|
|
42
42
|
var require_constants = __commonJS({
|
|
43
|
-
"node_modules/.pnpm/semver@7.8.
|
|
43
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/constants.js"(exports, module) {
|
|
44
44
|
"use strict";
|
|
45
45
|
var SEMVER_SPEC_VERSION = "2.0.0";
|
|
46
46
|
var MAX_LENGTH = 256;
|
|
@@ -48,6 +48,33 @@ var require_constants = __commonJS({
|
|
|
48
48
|
9007199254740991;
|
|
49
49
|
var MAX_SAFE_COMPONENT_LENGTH = 16;
|
|
50
50
|
var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
|
|
51
|
+
var WHITESPACE_CHARACTERS = [
|
|
52
|
+
" ",
|
|
53
|
+
"\n",
|
|
54
|
+
"\v",
|
|
55
|
+
"\f",
|
|
56
|
+
"\r",
|
|
57
|
+
" ",
|
|
58
|
+
"\xA0",
|
|
59
|
+
"\u1680",
|
|
60
|
+
"\u2000",
|
|
61
|
+
"\u2001",
|
|
62
|
+
"\u2002",
|
|
63
|
+
"\u2003",
|
|
64
|
+
"\u2004",
|
|
65
|
+
"\u2005",
|
|
66
|
+
"\u2006",
|
|
67
|
+
"\u2007",
|
|
68
|
+
"\u2008",
|
|
69
|
+
"\u2009",
|
|
70
|
+
"\u200A",
|
|
71
|
+
"\u2028",
|
|
72
|
+
"\u2029",
|
|
73
|
+
"\u202F",
|
|
74
|
+
"\u205F",
|
|
75
|
+
"\u3000",
|
|
76
|
+
"\uFEFF"
|
|
77
|
+
];
|
|
51
78
|
var RELEASE_TYPES = [
|
|
52
79
|
"major",
|
|
53
80
|
"premajor",
|
|
@@ -62,6 +89,7 @@ var require_constants = __commonJS({
|
|
|
62
89
|
MAX_SAFE_COMPONENT_LENGTH,
|
|
63
90
|
MAX_SAFE_BUILD_LENGTH,
|
|
64
91
|
MAX_SAFE_INTEGER,
|
|
92
|
+
WHITESPACE_CHARACTERS,
|
|
65
93
|
RELEASE_TYPES,
|
|
66
94
|
SEMVER_SPEC_VERSION,
|
|
67
95
|
FLAG_INCLUDE_PRERELEASE: 1,
|
|
@@ -70,9 +98,9 @@ var require_constants = __commonJS({
|
|
|
70
98
|
}
|
|
71
99
|
});
|
|
72
100
|
|
|
73
|
-
// node_modules/.pnpm/semver@7.8.
|
|
101
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/re.js
|
|
74
102
|
var require_re = __commonJS({
|
|
75
|
-
"node_modules/.pnpm/semver@7.8.
|
|
103
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/re.js"(exports, module) {
|
|
76
104
|
"use strict";
|
|
77
105
|
var {
|
|
78
106
|
MAX_SAFE_COMPONENT_LENGTH,
|
|
@@ -158,9 +186,9 @@ var require_re = __commonJS({
|
|
|
158
186
|
}
|
|
159
187
|
});
|
|
160
188
|
|
|
161
|
-
// node_modules/.pnpm/semver@7.8.
|
|
189
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/parse-options.js
|
|
162
190
|
var require_parse_options = __commonJS({
|
|
163
|
-
"node_modules/.pnpm/semver@7.8.
|
|
191
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/parse-options.js"(exports, module) {
|
|
164
192
|
"use strict";
|
|
165
193
|
var looseOption = Object.freeze({ loose: true });
|
|
166
194
|
var emptyOpts = Object.freeze({});
|
|
@@ -177,9 +205,9 @@ var require_parse_options = __commonJS({
|
|
|
177
205
|
}
|
|
178
206
|
});
|
|
179
207
|
|
|
180
|
-
// node_modules/.pnpm/semver@7.8.
|
|
208
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/identifiers.js
|
|
181
209
|
var require_identifiers = __commonJS({
|
|
182
|
-
"node_modules/.pnpm/semver@7.8.
|
|
210
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/identifiers.js"(exports, module) {
|
|
183
211
|
"use strict";
|
|
184
212
|
var numeric = /^[0-9]+$/;
|
|
185
213
|
var compareIdentifiers = (a, b) => {
|
|
@@ -202,9 +230,9 @@ var require_identifiers = __commonJS({
|
|
|
202
230
|
}
|
|
203
231
|
});
|
|
204
232
|
|
|
205
|
-
// node_modules/.pnpm/semver@7.8.
|
|
233
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/classes/semver.js
|
|
206
234
|
var require_semver = __commonJS({
|
|
207
|
-
"node_modules/.pnpm/semver@7.8.
|
|
235
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/classes/semver.js"(exports, module) {
|
|
208
236
|
"use strict";
|
|
209
237
|
var debug = require_debug();
|
|
210
238
|
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
|
|
@@ -494,9 +522,9 @@ var require_semver = __commonJS({
|
|
|
494
522
|
}
|
|
495
523
|
});
|
|
496
524
|
|
|
497
|
-
// node_modules/.pnpm/semver@7.8.
|
|
525
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/parse.js
|
|
498
526
|
var require_parse = __commonJS({
|
|
499
|
-
"node_modules/.pnpm/semver@7.8.
|
|
527
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/parse.js"(exports, module) {
|
|
500
528
|
"use strict";
|
|
501
529
|
var SemVer2 = require_semver();
|
|
502
530
|
var parse = (version, options, throwErrors = false) => {
|
|
@@ -516,9 +544,9 @@ var require_parse = __commonJS({
|
|
|
516
544
|
}
|
|
517
545
|
});
|
|
518
546
|
|
|
519
|
-
// node_modules/.pnpm/semver@7.8.
|
|
547
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/valid.js
|
|
520
548
|
var require_valid = __commonJS({
|
|
521
|
-
"node_modules/.pnpm/semver@7.8.
|
|
549
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/valid.js"(exports, module) {
|
|
522
550
|
"use strict";
|
|
523
551
|
var parse = require_parse();
|
|
524
552
|
var valid = (version, options) => {
|
|
@@ -529,9 +557,9 @@ var require_valid = __commonJS({
|
|
|
529
557
|
}
|
|
530
558
|
});
|
|
531
559
|
|
|
532
|
-
// node_modules/.pnpm/semver@7.8.
|
|
560
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/lrucache.js
|
|
533
561
|
var require_lrucache = __commonJS({
|
|
534
|
-
"node_modules/.pnpm/semver@7.8.
|
|
562
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/lrucache.js"(exports, module) {
|
|
535
563
|
"use strict";
|
|
536
564
|
var LRUCache = class {
|
|
537
565
|
constructor() {
|
|
@@ -567,9 +595,9 @@ var require_lrucache = __commonJS({
|
|
|
567
595
|
}
|
|
568
596
|
});
|
|
569
597
|
|
|
570
|
-
// node_modules/.pnpm/semver@7.8.
|
|
598
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/compare.js
|
|
571
599
|
var require_compare = __commonJS({
|
|
572
|
-
"node_modules/.pnpm/semver@7.8.
|
|
600
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/compare.js"(exports, module) {
|
|
573
601
|
"use strict";
|
|
574
602
|
var SemVer2 = require_semver();
|
|
575
603
|
var compare = (a, b, loose) => new SemVer2(a, loose).compare(new SemVer2(b, loose));
|
|
@@ -577,9 +605,9 @@ var require_compare = __commonJS({
|
|
|
577
605
|
}
|
|
578
606
|
});
|
|
579
607
|
|
|
580
|
-
// node_modules/.pnpm/semver@7.8.
|
|
608
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/eq.js
|
|
581
609
|
var require_eq = __commonJS({
|
|
582
|
-
"node_modules/.pnpm/semver@7.8.
|
|
610
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/eq.js"(exports, module) {
|
|
583
611
|
"use strict";
|
|
584
612
|
var compare = require_compare();
|
|
585
613
|
var eq = (a, b, loose) => compare(a, b, loose) === 0;
|
|
@@ -587,9 +615,9 @@ var require_eq = __commonJS({
|
|
|
587
615
|
}
|
|
588
616
|
});
|
|
589
617
|
|
|
590
|
-
// node_modules/.pnpm/semver@7.8.
|
|
618
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/neq.js
|
|
591
619
|
var require_neq = __commonJS({
|
|
592
|
-
"node_modules/.pnpm/semver@7.8.
|
|
620
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/neq.js"(exports, module) {
|
|
593
621
|
"use strict";
|
|
594
622
|
var compare = require_compare();
|
|
595
623
|
var neq = (a, b, loose) => compare(a, b, loose) !== 0;
|
|
@@ -597,9 +625,9 @@ var require_neq = __commonJS({
|
|
|
597
625
|
}
|
|
598
626
|
});
|
|
599
627
|
|
|
600
|
-
// node_modules/.pnpm/semver@7.8.
|
|
628
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/gt.js
|
|
601
629
|
var require_gt = __commonJS({
|
|
602
|
-
"node_modules/.pnpm/semver@7.8.
|
|
630
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/gt.js"(exports, module) {
|
|
603
631
|
"use strict";
|
|
604
632
|
var compare = require_compare();
|
|
605
633
|
var gt = (a, b, loose) => compare(a, b, loose) > 0;
|
|
@@ -607,9 +635,9 @@ var require_gt = __commonJS({
|
|
|
607
635
|
}
|
|
608
636
|
});
|
|
609
637
|
|
|
610
|
-
// node_modules/.pnpm/semver@7.8.
|
|
638
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/gte.js
|
|
611
639
|
var require_gte = __commonJS({
|
|
612
|
-
"node_modules/.pnpm/semver@7.8.
|
|
640
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/gte.js"(exports, module) {
|
|
613
641
|
"use strict";
|
|
614
642
|
var compare = require_compare();
|
|
615
643
|
var gte = (a, b, loose) => compare(a, b, loose) >= 0;
|
|
@@ -617,9 +645,9 @@ var require_gte = __commonJS({
|
|
|
617
645
|
}
|
|
618
646
|
});
|
|
619
647
|
|
|
620
|
-
// node_modules/.pnpm/semver@7.8.
|
|
648
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/lt.js
|
|
621
649
|
var require_lt = __commonJS({
|
|
622
|
-
"node_modules/.pnpm/semver@7.8.
|
|
650
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/lt.js"(exports, module) {
|
|
623
651
|
"use strict";
|
|
624
652
|
var compare = require_compare();
|
|
625
653
|
var lt = (a, b, loose) => compare(a, b, loose) < 0;
|
|
@@ -627,9 +655,9 @@ var require_lt = __commonJS({
|
|
|
627
655
|
}
|
|
628
656
|
});
|
|
629
657
|
|
|
630
|
-
// node_modules/.pnpm/semver@7.8.
|
|
658
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/lte.js
|
|
631
659
|
var require_lte = __commonJS({
|
|
632
|
-
"node_modules/.pnpm/semver@7.8.
|
|
660
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/lte.js"(exports, module) {
|
|
633
661
|
"use strict";
|
|
634
662
|
var compare = require_compare();
|
|
635
663
|
var lte = (a, b, loose) => compare(a, b, loose) <= 0;
|
|
@@ -637,9 +665,9 @@ var require_lte = __commonJS({
|
|
|
637
665
|
}
|
|
638
666
|
});
|
|
639
667
|
|
|
640
|
-
// node_modules/.pnpm/semver@7.8.
|
|
668
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/cmp.js
|
|
641
669
|
var require_cmp = __commonJS({
|
|
642
|
-
"node_modules/.pnpm/semver@7.8.
|
|
670
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/cmp.js"(exports, module) {
|
|
643
671
|
"use strict";
|
|
644
672
|
var eq = require_eq();
|
|
645
673
|
var neq = require_neq();
|
|
@@ -687,9 +715,9 @@ var require_cmp = __commonJS({
|
|
|
687
715
|
}
|
|
688
716
|
});
|
|
689
717
|
|
|
690
|
-
// node_modules/.pnpm/semver@7.8.
|
|
718
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/classes/comparator.js
|
|
691
719
|
var require_comparator = __commonJS({
|
|
692
|
-
"node_modules/.pnpm/semver@7.8.
|
|
720
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/classes/comparator.js"(exports, module) {
|
|
693
721
|
"use strict";
|
|
694
722
|
var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
|
|
695
723
|
var Comparator = class _Comparator {
|
|
@@ -800,9 +828,200 @@ var require_comparator = __commonJS({
|
|
|
800
828
|
}
|
|
801
829
|
});
|
|
802
830
|
|
|
803
|
-
// node_modules/.pnpm/semver@7.8.
|
|
831
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/trim-comparator-whitespace.js
|
|
832
|
+
var require_trim_comparator_whitespace = __commonJS({
|
|
833
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/internal/trim-comparator-whitespace.js"(exports, module) {
|
|
834
|
+
"use strict";
|
|
835
|
+
var {
|
|
836
|
+
MAX_LENGTH,
|
|
837
|
+
MAX_SAFE_BUILD_LENGTH,
|
|
838
|
+
WHITESPACE_CHARACTERS
|
|
839
|
+
} = require_constants();
|
|
840
|
+
var whitespace = new Uint8Array(65536);
|
|
841
|
+
for (const char of WHITESPACE_CHARACTERS) {
|
|
842
|
+
whitespace[char.charCodeAt(0)] = 1;
|
|
843
|
+
}
|
|
844
|
+
var isWhitespace = (char) => char !== void 0 && whitespace[char.charCodeAt(0)] === 1;
|
|
845
|
+
var isVersionPrefix = (char) => char === "v" || char === "=" || isWhitespace(char);
|
|
846
|
+
var isDigit = (char) => char !== void 0 && char >= "0" && char <= "9";
|
|
847
|
+
var isLetter = (char) => char !== void 0 && (char >= "a" && char <= "z" || char >= "A" && char <= "Z");
|
|
848
|
+
var isIdentifierCharacter = (char) => isDigit(char) || isLetter(char) || char === "-";
|
|
849
|
+
var isVersionStart = (char) => isDigit(char) || char === "x" || char === "X" || char === "*";
|
|
850
|
+
var findDigitsEndIndex = (range, start, limit, digitRuns) => {
|
|
851
|
+
if (!isDigit(range[start])) {
|
|
852
|
+
return start;
|
|
853
|
+
}
|
|
854
|
+
if (start >= digitRuns.start && start < digitRuns.end) {
|
|
855
|
+
return Math.min(start + limit, digitRuns.end);
|
|
856
|
+
}
|
|
857
|
+
if (start >= digitRuns.previousStart && start < digitRuns.previousEnd) {
|
|
858
|
+
return Math.min(start + limit, digitRuns.previousEnd);
|
|
859
|
+
}
|
|
860
|
+
let end = start + 1;
|
|
861
|
+
while (isDigit(range[end])) {
|
|
862
|
+
end++;
|
|
863
|
+
}
|
|
864
|
+
digitRuns.previousStart = digitRuns.start;
|
|
865
|
+
digitRuns.previousEnd = digitRuns.end;
|
|
866
|
+
digitRuns.start = start;
|
|
867
|
+
digitRuns.end = end;
|
|
868
|
+
return Math.min(start + limit, end);
|
|
869
|
+
};
|
|
870
|
+
var findVersionNumberEndIndex = (range, start, loose, digitRuns) => {
|
|
871
|
+
if (!loose && range[start] === "0") {
|
|
872
|
+
return start + 1;
|
|
873
|
+
}
|
|
874
|
+
return findDigitsEndIndex(range, start, loose ? MAX_LENGTH : MAX_LENGTH + 1, digitRuns);
|
|
875
|
+
};
|
|
876
|
+
var findPrereleaseIdentifierEndIndex = (range, start, loose, digitRuns) => {
|
|
877
|
+
const digitsEnd = findDigitsEndIndex(range, start, MAX_LENGTH, digitRuns);
|
|
878
|
+
if (isLetter(range[digitsEnd]) || range[digitsEnd] === "-") {
|
|
879
|
+
let end = digitsEnd + 1;
|
|
880
|
+
const limit = end + MAX_SAFE_BUILD_LENGTH;
|
|
881
|
+
while (end < limit && isIdentifierCharacter(range[end])) {
|
|
882
|
+
end++;
|
|
883
|
+
}
|
|
884
|
+
return end;
|
|
885
|
+
}
|
|
886
|
+
return findVersionNumberEndIndex(range, start, loose, digitRuns);
|
|
887
|
+
};
|
|
888
|
+
var findPrereleaseEndIndex = (range, start, loose, digitRuns) => {
|
|
889
|
+
const hyphen = range[start] === "-";
|
|
890
|
+
if (!loose && !hyphen) {
|
|
891
|
+
return start;
|
|
892
|
+
}
|
|
893
|
+
const identifierStart = start + (hyphen ? 1 : 0);
|
|
894
|
+
let end = findPrereleaseIdentifierEndIndex(range, identifierStart, loose, digitRuns);
|
|
895
|
+
if (end === identifierStart) {
|
|
896
|
+
if (!loose || !hyphen) {
|
|
897
|
+
return start;
|
|
898
|
+
}
|
|
899
|
+
end = findPrereleaseIdentifierEndIndex(range, start, loose, digitRuns);
|
|
900
|
+
}
|
|
901
|
+
while (range[end] === ".") {
|
|
902
|
+
const next = findPrereleaseIdentifierEndIndex(range, end + 1, loose, digitRuns);
|
|
903
|
+
if (next === end + 1) {
|
|
904
|
+
break;
|
|
905
|
+
}
|
|
906
|
+
end = next;
|
|
907
|
+
}
|
|
908
|
+
return end;
|
|
909
|
+
};
|
|
910
|
+
var findBuildIdentifierEndIndex = (range, start) => {
|
|
911
|
+
let end = start;
|
|
912
|
+
while (end - start < MAX_SAFE_BUILD_LENGTH && isIdentifierCharacter(range[end])) {
|
|
913
|
+
end++;
|
|
914
|
+
}
|
|
915
|
+
return end;
|
|
916
|
+
};
|
|
917
|
+
var findBuildEndIndex = (range, start) => {
|
|
918
|
+
if (range[start] !== "+") {
|
|
919
|
+
return start;
|
|
920
|
+
}
|
|
921
|
+
let end = findBuildIdentifierEndIndex(range, start + 1);
|
|
922
|
+
if (end === start + 1) {
|
|
923
|
+
return start;
|
|
924
|
+
}
|
|
925
|
+
while (range[end] === ".") {
|
|
926
|
+
const next = findBuildIdentifierEndIndex(range, end + 1);
|
|
927
|
+
if (next === end + 1) {
|
|
928
|
+
break;
|
|
929
|
+
}
|
|
930
|
+
end = next;
|
|
931
|
+
}
|
|
932
|
+
return end;
|
|
933
|
+
};
|
|
934
|
+
var findLooseFullVersionEndIndex = (range, start, digitRuns) => {
|
|
935
|
+
let end = start;
|
|
936
|
+
for (let component = 0; component < 3; component++) {
|
|
937
|
+
const next = findVersionNumberEndIndex(range, end, true, digitRuns);
|
|
938
|
+
if (next === end) {
|
|
939
|
+
return start;
|
|
940
|
+
}
|
|
941
|
+
end = next;
|
|
942
|
+
if (component < 2) {
|
|
943
|
+
if (range[end] !== ".") {
|
|
944
|
+
return start;
|
|
945
|
+
}
|
|
946
|
+
end++;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
const prereleaseEnd = findPrereleaseEndIndex(range, end, true, digitRuns);
|
|
950
|
+
return findBuildEndIndex(range, prereleaseEnd);
|
|
951
|
+
};
|
|
952
|
+
var findPartialVersionComponentEndIndex = (range, start, digitRuns) => {
|
|
953
|
+
if (isDigit(range[start])) {
|
|
954
|
+
return findVersionNumberEndIndex(range, start, false, digitRuns);
|
|
955
|
+
}
|
|
956
|
+
return isVersionStart(range[start]) ? start + 1 : start;
|
|
957
|
+
};
|
|
958
|
+
var findPartialVersionEndIndex = (range, start, digitRuns) => {
|
|
959
|
+
let end = findPartialVersionComponentEndIndex(range, start, digitRuns);
|
|
960
|
+
for (let component = 0; component < 2; component++) {
|
|
961
|
+
if (range[end] !== ".") {
|
|
962
|
+
return end;
|
|
963
|
+
}
|
|
964
|
+
const next = findPartialVersionComponentEndIndex(range, end + 1, digitRuns);
|
|
965
|
+
if (next === end + 1) {
|
|
966
|
+
return end;
|
|
967
|
+
}
|
|
968
|
+
end = next;
|
|
969
|
+
}
|
|
970
|
+
const prereleaseEnd = findPrereleaseEndIndex(range, end, false, digitRuns);
|
|
971
|
+
return findBuildEndIndex(range, prereleaseEnd);
|
|
972
|
+
};
|
|
973
|
+
var findVersionEndIndex = (range, start, digitRuns) => {
|
|
974
|
+
const fullVersionEnd = findLooseFullVersionEndIndex(range, start, digitRuns);
|
|
975
|
+
return fullVersionEnd !== start ? fullVersionEnd : findPartialVersionEndIndex(range, start, digitRuns);
|
|
976
|
+
};
|
|
977
|
+
var findRemovableWhitespaceIndex = (range, matchStart) => {
|
|
978
|
+
let position = matchStart;
|
|
979
|
+
if (isWhitespace(range[position])) {
|
|
980
|
+
position++;
|
|
981
|
+
}
|
|
982
|
+
if (range[position] === "<" || range[position] === ">") {
|
|
983
|
+
position++;
|
|
984
|
+
}
|
|
985
|
+
if (range[position] === "=") {
|
|
986
|
+
position++;
|
|
987
|
+
}
|
|
988
|
+
return isWhitespace(range[position]) ? position : -1;
|
|
989
|
+
};
|
|
990
|
+
var trimComparatorWhitespace = (range) => {
|
|
991
|
+
let result = "";
|
|
992
|
+
let copyFrom = 0;
|
|
993
|
+
let cursor = 0;
|
|
994
|
+
const digitRuns = { start: -1, end: -1, previousStart: -1, previousEnd: -1 };
|
|
995
|
+
while (cursor < range.length) {
|
|
996
|
+
const matchStart = cursor;
|
|
997
|
+
if (range[cursor] === "<" || range[cursor] === ">") {
|
|
998
|
+
cursor++;
|
|
999
|
+
} else if (!isVersionPrefix(range[cursor]) && !isVersionStart(range[cursor])) {
|
|
1000
|
+
cursor++;
|
|
1001
|
+
continue;
|
|
1002
|
+
}
|
|
1003
|
+
while (cursor < range.length && isVersionPrefix(range[cursor])) {
|
|
1004
|
+
cursor++;
|
|
1005
|
+
}
|
|
1006
|
+
if (!isVersionStart(range[cursor])) {
|
|
1007
|
+
continue;
|
|
1008
|
+
}
|
|
1009
|
+
const whitespacePosition = findRemovableWhitespaceIndex(range, matchStart);
|
|
1010
|
+
if (whitespacePosition !== -1) {
|
|
1011
|
+
result += range.slice(copyFrom, whitespacePosition);
|
|
1012
|
+
copyFrom = whitespacePosition + 1;
|
|
1013
|
+
}
|
|
1014
|
+
cursor = findVersionEndIndex(range, cursor, digitRuns);
|
|
1015
|
+
}
|
|
1016
|
+
return result + range.slice(copyFrom);
|
|
1017
|
+
};
|
|
1018
|
+
module.exports = trimComparatorWhitespace;
|
|
1019
|
+
}
|
|
1020
|
+
});
|
|
1021
|
+
|
|
1022
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/classes/range.js
|
|
804
1023
|
var require_range = __commonJS({
|
|
805
|
-
"node_modules/.pnpm/semver@7.8.
|
|
1024
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/classes/range.js"(exports, module) {
|
|
806
1025
|
"use strict";
|
|
807
1026
|
var SPACE_CHARACTERS = /\s+/g;
|
|
808
1027
|
var Range = class _Range {
|
|
@@ -881,7 +1100,7 @@ var require_range = __commonJS({
|
|
|
881
1100
|
const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
|
|
882
1101
|
range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
|
|
883
1102
|
debug("hyphen replace", range);
|
|
884
|
-
range = range
|
|
1103
|
+
range = trimComparatorWhitespace(range);
|
|
885
1104
|
debug("comparator trim", range);
|
|
886
1105
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
|
|
887
1106
|
debug("tilde trim", range);
|
|
@@ -951,11 +1170,11 @@ var require_range = __commonJS({
|
|
|
951
1170
|
var Comparator = require_comparator();
|
|
952
1171
|
var debug = require_debug();
|
|
953
1172
|
var SemVer2 = require_semver();
|
|
1173
|
+
var trimComparatorWhitespace = require_trim_comparator_whitespace();
|
|
954
1174
|
var {
|
|
955
1175
|
safeRe: re,
|
|
956
1176
|
src,
|
|
957
1177
|
t,
|
|
958
|
-
comparatorTrimReplace,
|
|
959
1178
|
tildeTrimReplace,
|
|
960
1179
|
caretTrimReplace
|
|
961
1180
|
} = require_re();
|
|
@@ -1185,9 +1404,9 @@ var require_range = __commonJS({
|
|
|
1185
1404
|
}
|
|
1186
1405
|
});
|
|
1187
1406
|
|
|
1188
|
-
// node_modules/.pnpm/semver@7.8.
|
|
1407
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/satisfies.js
|
|
1189
1408
|
var require_satisfies = __commonJS({
|
|
1190
|
-
"node_modules/.pnpm/semver@7.8.
|
|
1409
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/functions/satisfies.js"(exports, module) {
|
|
1191
1410
|
"use strict";
|
|
1192
1411
|
var Range = require_range();
|
|
1193
1412
|
var satisfies = (version, range, options) => {
|
|
@@ -1202,9 +1421,9 @@ var require_satisfies = __commonJS({
|
|
|
1202
1421
|
}
|
|
1203
1422
|
});
|
|
1204
1423
|
|
|
1205
|
-
// node_modules/.pnpm/semver@7.8.
|
|
1424
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/ranges/min-version.js
|
|
1206
1425
|
var require_min_version = __commonJS({
|
|
1207
|
-
"node_modules/.pnpm/semver@7.8.
|
|
1426
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/ranges/min-version.js"(exports, module) {
|
|
1208
1427
|
"use strict";
|
|
1209
1428
|
var SemVer2 = require_semver();
|
|
1210
1429
|
var Range = require_range();
|
|
@@ -1261,9 +1480,9 @@ var require_min_version = __commonJS({
|
|
|
1261
1480
|
}
|
|
1262
1481
|
});
|
|
1263
1482
|
|
|
1264
|
-
// node_modules/.pnpm/semver@7.8.
|
|
1483
|
+
// node_modules/.pnpm/semver@7.8.6/node_modules/semver/ranges/valid.js
|
|
1265
1484
|
var require_valid2 = __commonJS({
|
|
1266
|
-
"node_modules/.pnpm/semver@7.8.
|
|
1485
|
+
"node_modules/.pnpm/semver@7.8.6/node_modules/semver/ranges/valid.js"(exports, module) {
|
|
1267
1486
|
"use strict";
|
|
1268
1487
|
var Range = require_range();
|
|
1269
1488
|
var validRange = (range, options) => {
|
|
@@ -1283,10 +1502,10 @@ var createInitFlow = ({
|
|
|
1283
1502
|
adapters,
|
|
1284
1503
|
config
|
|
1285
1504
|
}) => {
|
|
1286
|
-
return (remotesOrManifestUrl) => flow.getRemoteEntries(remotesOrManifestUrl).then(flow.processRemoteEntries).then(flow.poolSharedExternals).then(flow.determineSharedExternals).then(flow.decideServingBuilds).then(flow.generateImportMap).then((importMap) => flow.commitChanges(importMap, { override: true })).then(flow.exposeModuleLoader).then((
|
|
1505
|
+
return (remotesOrManifestUrl) => flow.getRemoteEntries(remotesOrManifestUrl).then(flow.processRemoteEntries).then(flow.poolSharedExternals).then(flow.determineSharedExternals).then(flow.decideServingBuilds).then(flow.generateImportMap).then((importMap) => flow.commitChanges(importMap, { override: true })).then(flow.exposeModuleLoader).then((access) => ({
|
|
1287
1506
|
config,
|
|
1288
1507
|
adapters,
|
|
1289
|
-
|
|
1508
|
+
...access
|
|
1290
1509
|
}));
|
|
1291
1510
|
};
|
|
1292
1511
|
|
|
@@ -1346,10 +1565,14 @@ function createStoreRemoteEntry(config, ports, logStep) {
|
|
|
1346
1565
|
function addRemoteInfoToStorage({ name, url, exposes, integrity }) {
|
|
1347
1566
|
ports.remoteInfoRepo.addOrUpdate(name, {
|
|
1348
1567
|
scopeUrl: getScope(url),
|
|
1349
|
-
exposes: Object.values(exposes ?? []).map((m) =>
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1568
|
+
exposes: Object.values(exposes ?? []).map((m) => {
|
|
1569
|
+
const chunks = Object.values(m.chunks ?? {}).filter((c) => c.initial).map((c) => c.file);
|
|
1570
|
+
return {
|
|
1571
|
+
moduleName: m.key,
|
|
1572
|
+
file: m.outFileName,
|
|
1573
|
+
...chunks.length ? { chunks } : {}
|
|
1574
|
+
};
|
|
1575
|
+
}),
|
|
1353
1576
|
...integrity ? { integrity } : {}
|
|
1354
1577
|
});
|
|
1355
1578
|
}
|
|
@@ -1380,10 +1603,13 @@ function createStoreRemoteEntry(config, ports, logStep) {
|
|
|
1380
1603
|
});
|
|
1381
1604
|
}
|
|
1382
1605
|
function addScopedExternal(remoteEntry, sharedInfo, tag) {
|
|
1383
|
-
|
|
1606
|
+
const { packageName, entries } = sharedInfo;
|
|
1607
|
+
const key = packageName in entries ? packageName : Object.keys(entries)[0] ?? packageName;
|
|
1608
|
+
ports.scopedExternalsRepo.addExternal(remoteEntry.name, key, {
|
|
1384
1609
|
tag,
|
|
1385
1610
|
bundle: sharedInfo.bundle,
|
|
1386
|
-
entries
|
|
1611
|
+
entries,
|
|
1612
|
+
...sharedInfo.preload ? { preload: true } : {}
|
|
1387
1613
|
});
|
|
1388
1614
|
}
|
|
1389
1615
|
function resolveVersion(remoteEntry, external) {
|
|
@@ -1412,7 +1638,9 @@ function createStoreRemoteEntry(config, ports, logStep) {
|
|
|
1412
1638
|
requiredVersion: scopeType === "strict" ? tag : sharedInfo.requiredVersion || tag,
|
|
1413
1639
|
...sharedInfo.pool?.trim() ? { pool: sharedInfo.pool } : {},
|
|
1414
1640
|
...sharedInfo.dense ? { dense: true } : {},
|
|
1415
|
-
entries: sharedInfo.entries
|
|
1641
|
+
entries: sharedInfo.entries,
|
|
1642
|
+
...sharedInfo.preload ? { preload: true } : {},
|
|
1643
|
+
...sharedInfo.dev ? { dev: true } : {}
|
|
1416
1644
|
};
|
|
1417
1645
|
let stored;
|
|
1418
1646
|
const readRecord = () => stored ??= ports.sharedExternalsRepo.tryGet(sharedInfo.packageName, sharedInfo.shareScope).get() ?? { dirty: false, versions: [] };
|
|
@@ -1436,7 +1664,9 @@ function createStoreRemoteEntry(config, ports, logStep) {
|
|
|
1436
1664
|
sharedInfo.packageName,
|
|
1437
1665
|
{
|
|
1438
1666
|
...readRecord(),
|
|
1439
|
-
versions: readRecord().versions.sort(
|
|
1667
|
+
versions: readRecord().versions.sort(
|
|
1668
|
+
(a, b) => ports.versionCheck.compare(b.tag, a.tag)
|
|
1669
|
+
)
|
|
1440
1670
|
},
|
|
1441
1671
|
sharedInfo.shareScope
|
|
1442
1672
|
);
|
|
@@ -1577,19 +1807,20 @@ function compareStrings(a, b) {
|
|
|
1577
1807
|
|
|
1578
1808
|
// src/lib/core/1.domain/externals/basis.ts
|
|
1579
1809
|
var coverage = (remote) => Object.keys(remote.entries).length;
|
|
1580
|
-
function isBetterBasis(candidate, basis) {
|
|
1810
|
+
function isBetterBasis(candidate, basis, preferDev = false) {
|
|
1811
|
+
if (preferDev && Boolean(basis.dev) !== Boolean(candidate.dev)) return Boolean(candidate.dev);
|
|
1581
1812
|
if (basis.cached !== candidate.cached) return candidate.cached;
|
|
1582
1813
|
const byCoverage = coverage(candidate) - coverage(basis);
|
|
1583
1814
|
return byCoverage === 0 ? compareStrings(candidate.name, basis.name) < 0 : byCoverage > 0;
|
|
1584
1815
|
}
|
|
1585
|
-
function addRemoteToVersion(version, remote, isHost = false) {
|
|
1816
|
+
function addRemoteToVersion(version, remote, isHost = false, preferDev = false) {
|
|
1586
1817
|
if (isHost) {
|
|
1587
1818
|
version.host = true;
|
|
1588
1819
|
version.remotes.unshift(remote);
|
|
1589
1820
|
return;
|
|
1590
1821
|
}
|
|
1591
1822
|
const basis = version.remotes[0];
|
|
1592
|
-
if (basis && !version.host && isBetterBasis(remote, basis)) {
|
|
1823
|
+
if (basis && !version.host && isBetterBasis(remote, basis, preferDev)) {
|
|
1593
1824
|
version.remotes.unshift(remote);
|
|
1594
1825
|
return;
|
|
1595
1826
|
}
|
|
@@ -1747,7 +1978,12 @@ function createProcessRemoteEntries(config, ports) {
|
|
|
1747
1978
|
const matchingVersion = findVersionForTag(cached.versions, tag);
|
|
1748
1979
|
if (matchingVersion) {
|
|
1749
1980
|
assertSameVersionCompatibility(matchingVersion);
|
|
1750
|
-
addRemoteToVersion(
|
|
1981
|
+
addRemoteToVersion(
|
|
1982
|
+
matchingVersion,
|
|
1983
|
+
remote,
|
|
1984
|
+
!matchingVersion.host && !!remoteEntry?.host,
|
|
1985
|
+
config.profile.enableDebugging
|
|
1986
|
+
);
|
|
1751
1987
|
} else {
|
|
1752
1988
|
cached.versions.push({
|
|
1753
1989
|
tag,
|
|
@@ -2015,14 +2251,11 @@ function groupByPackage(items, nameOf, packageOf) {
|
|
|
2015
2251
|
// src/lib/core/1.domain/pooling/builds.ts
|
|
2016
2252
|
function copiesByRemote(members) {
|
|
2017
2253
|
const shipped = /* @__PURE__ */ new Map();
|
|
2018
|
-
for (const member of members)
|
|
2019
|
-
const
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
seen.add(meta.name);
|
|
2024
|
-
let copies = shipped.get(meta.name);
|
|
2025
|
-
if (!copies) shipped.set(meta.name, copies = []);
|
|
2254
|
+
for (const member of members)
|
|
2255
|
+
for (const [remote, records] of recordsByRemote(member)) {
|
|
2256
|
+
let copies = shipped.get(remote);
|
|
2257
|
+
if (!copies) shipped.set(remote, copies = []);
|
|
2258
|
+
for (const { version, meta } of records)
|
|
2026
2259
|
copies.push({
|
|
2027
2260
|
member: member.name,
|
|
2028
2261
|
tag: version.tag,
|
|
@@ -2031,10 +2264,19 @@ function copiesByRemote(members) {
|
|
|
2031
2264
|
host: version.host && meta === version.remotes[0],
|
|
2032
2265
|
specifiers: Object.keys(meta.entries)
|
|
2033
2266
|
});
|
|
2034
|
-
|
|
2035
|
-
}
|
|
2267
|
+
}
|
|
2036
2268
|
return shipped;
|
|
2037
2269
|
}
|
|
2270
|
+
function recordsByRemote(member) {
|
|
2271
|
+
const records = /* @__PURE__ */ new Map();
|
|
2272
|
+
for (const version of member.external.versions)
|
|
2273
|
+
for (const meta of version.remotes) {
|
|
2274
|
+
const mine = records.get(meta.name);
|
|
2275
|
+
if (!mine) records.set(meta.name, [{ version, meta }]);
|
|
2276
|
+
else if (mine[0].version.tag === version.tag) mine.push({ version, meta });
|
|
2277
|
+
}
|
|
2278
|
+
return records;
|
|
2279
|
+
}
|
|
2038
2280
|
var specifierCount = (copies) => copies.reduce((n, copy) => n + copy.specifiers.length, 0);
|
|
2039
2281
|
function buildOf(owner, copies, packageOf) {
|
|
2040
2282
|
const tags = new SpecifierTags(packageOf);
|
|
@@ -2411,7 +2653,7 @@ function memberRecord(member, pool, compare) {
|
|
|
2411
2653
|
const row = { tag, host: false, action, remotes: [meta] };
|
|
2412
2654
|
placed.push(row);
|
|
2413
2655
|
if (meta.name !== pool.winner) return;
|
|
2414
|
-
winnerRow
|
|
2656
|
+
winnerRow ??= row;
|
|
2415
2657
|
row.host = pool.winnerIsHost;
|
|
2416
2658
|
};
|
|
2417
2659
|
for (const version of member.external.versions)
|
|
@@ -2425,9 +2667,9 @@ function memberRecord(member, pool, compare) {
|
|
|
2425
2667
|
place(version.tag, "skip", { ...meta, servedBy: placement.owner });
|
|
2426
2668
|
else place(version.tag, "scope", { ...meta, poolCause: placement.cause });
|
|
2427
2669
|
}
|
|
2670
|
+
const rank2 = (name) => name === pool.winner ? 0 : claimsGlobally(name) ? 1 : 2;
|
|
2428
2671
|
const rows = mergeRows(placed, winnerRow);
|
|
2429
|
-
for (const row of rows)
|
|
2430
|
-
row.remotes.sort((a, b) => Number(!claimsGlobally(a.name)) - Number(!claimsGlobally(b.name)));
|
|
2672
|
+
for (const row of rows) row.remotes.sort((a, b) => rank2(a.name) - rank2(b.name));
|
|
2431
2673
|
const order = { share: 0, skip: 1, scope: 2 };
|
|
2432
2674
|
const newest = byTag(compare);
|
|
2433
2675
|
const versions = rows.sort((a, b) => newest(a, b) || order[a.action] - order[b.action]);
|
|
@@ -2448,14 +2690,16 @@ function moveCopy(external, remote, move, compare) {
|
|
|
2448
2690
|
if ("fromMap" in move) return recordFromMap(external, remote);
|
|
2449
2691
|
const moved = [];
|
|
2450
2692
|
const versions = external.versions.map((v) => {
|
|
2451
|
-
const
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
return { ...v, remotes: v.remotes.
|
|
2693
|
+
const replaced = /* @__PURE__ */ new Map();
|
|
2694
|
+
for (const copy of v.remotes) {
|
|
2695
|
+
if (copy.name !== remote) continue;
|
|
2696
|
+
const { servedBy: _servedBy, ...rest } = copy;
|
|
2697
|
+
replaced.set(copy, { ...rest, cached: true, poolCause: move.cause });
|
|
2698
|
+
}
|
|
2699
|
+
if (replaced.size === 0) return v;
|
|
2700
|
+
if (v.action === "scope") return { ...v, remotes: v.remotes.map((r) => replaced.get(r) ?? r) };
|
|
2701
|
+
for (const meta of replaced.values()) moved.push({ tag: v.tag, meta });
|
|
2702
|
+
return { ...v, remotes: v.remotes.filter((r) => !replaced.has(r)) };
|
|
2459
2703
|
}).filter((v) => v.remotes.length > 0);
|
|
2460
2704
|
for (const { tag, meta } of moved) {
|
|
2461
2705
|
const scoped = rowAt(versions, tag, "scope");
|
|
@@ -2468,10 +2712,10 @@ function recordFromMap(external, remote) {
|
|
|
2468
2712
|
const opened = external.versions.find(
|
|
2469
2713
|
(v) => v.action !== "skip" && v.remotes.some((r) => r.name === remote)
|
|
2470
2714
|
);
|
|
2471
|
-
const meta = { ...opened.remotes.find((r) => r.name === remote), cached: false };
|
|
2472
2715
|
const joined = rowAt(external.versions, opened.tag, "skip");
|
|
2473
2716
|
const into = joined ? { ...joined, remotes: [...joined.remotes] } : { ...opened, action: "skip", remotes: [] };
|
|
2474
|
-
|
|
2717
|
+
for (const copy of opened.remotes)
|
|
2718
|
+
if (copy.name === remote) addRemoteToVersion(into, { ...copy, cached: false });
|
|
2475
2719
|
const versions = external.versions.flatMap((v) => {
|
|
2476
2720
|
if (v === joined) return [into];
|
|
2477
2721
|
if (v !== opened) return [v];
|
|
@@ -2656,11 +2900,12 @@ function cheapestBuild(field, costOf) {
|
|
|
2656
2900
|
}
|
|
2657
2901
|
function shareServingCopies(external, serving) {
|
|
2658
2902
|
for (const row of external.versions) {
|
|
2659
|
-
|
|
2660
|
-
|
|
2903
|
+
if (row.action !== "skip" || rowAt(external.versions, row.tag, "share")) continue;
|
|
2904
|
+
const own = row.remotes.filter((c) => c.name === serving.remote);
|
|
2905
|
+
if (own.length === 0) continue;
|
|
2661
2906
|
row.action = "share";
|
|
2662
|
-
if (row.remotes[0] !==
|
|
2663
|
-
row.remotes = [
|
|
2907
|
+
if (row.remotes[0] !== own[0]) row.host = false;
|
|
2908
|
+
row.remotes = [...own, ...row.remotes.filter((c) => c.name !== serving.remote)];
|
|
2664
2909
|
}
|
|
2665
2910
|
}
|
|
2666
2911
|
function followServingBuild(external, serving, accepts) {
|
|
@@ -2705,20 +2950,20 @@ function shareRows(external) {
|
|
|
2705
2950
|
return external?.versions.filter((v) => v.action === "share") ?? [];
|
|
2706
2951
|
}
|
|
2707
2952
|
function buildsOf(rows, rootRows, consumers) {
|
|
2708
|
-
const
|
|
2953
|
+
const builds = /* @__PURE__ */ new Map();
|
|
2709
2954
|
for (const row of rows)
|
|
2710
2955
|
for (const copy of row.remotes) {
|
|
2711
2956
|
const key = `${row.tag}|${copy.name}`;
|
|
2712
|
-
if (copy.servedBy ||
|
|
2957
|
+
if (copy.servedBy || builds.has(key) || shipsTwoTags(consumers.get(copy.name))) continue;
|
|
2713
2958
|
const basis = copy === row.remotes[0];
|
|
2714
|
-
|
|
2959
|
+
builds.set(key, {
|
|
2715
2960
|
remote: copy.name,
|
|
2716
2961
|
tag: row.tag,
|
|
2717
2962
|
host: basis && row.host,
|
|
2718
2963
|
rootBasis: basis && rootRows.includes(row)
|
|
2719
2964
|
});
|
|
2720
2965
|
}
|
|
2721
|
-
return [...
|
|
2966
|
+
return [...builds.values()];
|
|
2722
2967
|
}
|
|
2723
2968
|
function pooledBuild(externals, rows) {
|
|
2724
2969
|
const winner = externals.find(([, e]) => e.poolWinner !== void 0)?.[1].poolWinner;
|
|
@@ -2727,10 +2972,7 @@ function pooledBuild(externals, rows) {
|
|
|
2727
2972
|
);
|
|
2728
2973
|
const own = shipped.find((c) => c.remote === winner);
|
|
2729
2974
|
if (own) return own;
|
|
2730
|
-
const width = ({ remote, tag }) => externals.
|
|
2731
|
-
const copy = shareRows(e).find((row) => row.tag === tag)?.remotes.find((c) => c.name === remote);
|
|
2732
|
-
return n + Object.keys(copy?.entries ?? {}).length;
|
|
2733
|
-
}, 0);
|
|
2975
|
+
const width = ({ remote, tag }) => externals.flatMap(([, e]) => shareRows(e).find((row) => row.tag === tag)?.remotes ?? []).filter((copy) => copy.name === remote).reduce((n, copy) => n + Object.keys(copy.entries).length, 0);
|
|
2734
2976
|
return shipped.map((c) => ({ c, width: width(c) })).sort((a, b) => b.width - a.width || compareStrings(a.c.remote, b.c.remote))[0]?.c;
|
|
2735
2977
|
}
|
|
2736
2978
|
function consumersOf(externals) {
|
|
@@ -2971,7 +3213,7 @@ function versionClaims(version, servingBuild) {
|
|
|
2971
3213
|
return claims;
|
|
2972
3214
|
}
|
|
2973
3215
|
|
|
2974
|
-
// node_modules/.pnpm/@softarc+native-federation@4.
|
|
3216
|
+
// node_modules/.pnpm/@softarc+native-federation@4.10.0/node_modules/@softarc/native-federation/dist/lib/domain/core/build-notification-options.contract.js
|
|
2975
3217
|
var BuildNotificationType = /* @__PURE__ */ ((BuildNotificationType2) => {
|
|
2976
3218
|
BuildNotificationType2["COMPLETED"] = "federation-rebuild-complete";
|
|
2977
3219
|
BuildNotificationType2["ERROR"] = "federation-rebuild-error";
|
|
@@ -2979,7 +3221,7 @@ var BuildNotificationType = /* @__PURE__ */ ((BuildNotificationType2) => {
|
|
|
2979
3221
|
return BuildNotificationType2;
|
|
2980
3222
|
})(BuildNotificationType || {});
|
|
2981
3223
|
|
|
2982
|
-
// node_modules/.pnpm/@softarc+native-federation@4.
|
|
3224
|
+
// node_modules/.pnpm/@softarc+native-federation@4.10.0/node_modules/@softarc/native-federation/dist/lib/domain/core/chunk.js
|
|
2983
3225
|
var CHUNK_PREFIX = "@nf-internal";
|
|
2984
3226
|
var SCRIPT_EXTENSION = /\.(m|c)?js$/;
|
|
2985
3227
|
function toChunkImport(fileName) {
|
|
@@ -3376,16 +3618,99 @@ function shipsOnly(version, served) {
|
|
|
3376
3618
|
return only;
|
|
3377
3619
|
}
|
|
3378
3620
|
|
|
3621
|
+
// src/lib/core/2.app/steps/preload-hint.ts
|
|
3622
|
+
function createPreloadHint(log, browser, logStep) {
|
|
3623
|
+
const ignore = (error) => log.debug(logStep, "Ignored a failing preload hint.", error);
|
|
3624
|
+
return (collectUrls) => {
|
|
3625
|
+
if (!browser.preloadModules) return;
|
|
3626
|
+
try {
|
|
3627
|
+
const urls = collectUrls();
|
|
3628
|
+
if (urls.length === 0) return;
|
|
3629
|
+
void Promise.resolve(browser.preloadModules(urls)).catch(ignore);
|
|
3630
|
+
} catch (error) {
|
|
3631
|
+
ignore(error);
|
|
3632
|
+
}
|
|
3633
|
+
};
|
|
3634
|
+
}
|
|
3635
|
+
|
|
3636
|
+
// src/lib/core/1.domain/import-map/eager-preloads.ts
|
|
3637
|
+
function eagerPreloadUrls(importMap, candidates) {
|
|
3638
|
+
let mapped;
|
|
3639
|
+
const urls = /* @__PURE__ */ new Set();
|
|
3640
|
+
const bundlesAdded = /* @__PURE__ */ new Set();
|
|
3641
|
+
for (const { scopeUrl, entryFiles, bundle } of candidates) {
|
|
3642
|
+
mapped ??= mappedUrls(importMap);
|
|
3643
|
+
const entryUrls = entryFiles.map((file) => join(scopeUrl, file));
|
|
3644
|
+
const served = entryUrls.length > 0 && entryUrls.every((url) => mapped.has(url));
|
|
3645
|
+
if (!served) continue;
|
|
3646
|
+
entryUrls.forEach((url) => urls.add(url));
|
|
3647
|
+
if (!bundle) continue;
|
|
3648
|
+
const bundleKey = `${scopeUrl}
|
|
3649
|
+
${bundle.name}`;
|
|
3650
|
+
if (bundlesAdded.has(bundleKey)) continue;
|
|
3651
|
+
bundlesAdded.add(bundleKey);
|
|
3652
|
+
bundle.chunkFiles.forEach((file) => urls.add(join(scopeUrl, file)));
|
|
3653
|
+
}
|
|
3654
|
+
return [...urls];
|
|
3655
|
+
}
|
|
3656
|
+
var mappedUrls = (importMap) => /* @__PURE__ */ new Set([
|
|
3657
|
+
...Object.values(importMap.imports),
|
|
3658
|
+
...Object.values(importMap.scopes ?? {}).flatMap((scope) => Object.values(scope))
|
|
3659
|
+
]);
|
|
3660
|
+
|
|
3661
|
+
// src/lib/core/2.app/steps/collect-eager-preloads.ts
|
|
3662
|
+
function createCollectEagerPreloads(ports) {
|
|
3663
|
+
return (importMap) => eagerPreloadUrls(importMap, candidates());
|
|
3664
|
+
function* candidates() {
|
|
3665
|
+
for (const [remoteName, copy] of storedCopies()) {
|
|
3666
|
+
if (!copy.preload) continue;
|
|
3667
|
+
const scopeUrl = ports.remoteInfoRepo.tryGet(remoteName).get()?.scopeUrl;
|
|
3668
|
+
if (!scopeUrl) continue;
|
|
3669
|
+
yield {
|
|
3670
|
+
scopeUrl,
|
|
3671
|
+
entryFiles: Object.values(copy.entries),
|
|
3672
|
+
...copy.bundle && {
|
|
3673
|
+
bundle: {
|
|
3674
|
+
name: copy.bundle,
|
|
3675
|
+
chunkFiles: ports.sharedChunksRepo.tryGet(remoteName, copy.bundle).orElse([])
|
|
3676
|
+
}
|
|
3677
|
+
}
|
|
3678
|
+
};
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3681
|
+
function* storedCopies() {
|
|
3682
|
+
const shared = ports.sharedExternalsRepo;
|
|
3683
|
+
for (const shareScope of shared.getScopes())
|
|
3684
|
+
for (const external of Object.values(shared.getFromScope(shareScope)))
|
|
3685
|
+
for (const version of external.versions)
|
|
3686
|
+
for (const copy of version.remotes) yield [copy.name, copy];
|
|
3687
|
+
for (const [remoteName, externals] of Object.entries(ports.scopedExternalsRepo.getAll()))
|
|
3688
|
+
for (const copy of Object.values(externals)) yield [remoteName, copy];
|
|
3689
|
+
}
|
|
3690
|
+
}
|
|
3691
|
+
|
|
3379
3692
|
// src/lib/core/2.app/steps/commit-changes.ts
|
|
3380
3693
|
function createCommitChanges(config, ports) {
|
|
3381
|
-
|
|
3694
|
+
const preload = createPreloadHint(config.log, ports.browser, 5);
|
|
3695
|
+
const collectEagerPreloads = createCollectEagerPreloads(ports);
|
|
3696
|
+
return (importMap, { markUndecided = false, ...browserOpts } = {}) => Promise.resolve(importMap).then((map) => addToBrowser(map, browserOpts)).then((added) => {
|
|
3382
3697
|
if (markUndecided) markUndecidedScopes();
|
|
3383
3698
|
persistRepositoryChanges();
|
|
3699
|
+
preloadOnceAdded(added, importMap);
|
|
3384
3700
|
});
|
|
3385
3701
|
function addToBrowser(importMap, opts) {
|
|
3386
|
-
ports.browser.setImportMapFn(importMap, opts);
|
|
3702
|
+
const added = ports.browser.setImportMapFn(importMap, opts);
|
|
3387
3703
|
config.log.debug(5, "Added import map to browser.", importMap);
|
|
3388
|
-
return
|
|
3704
|
+
return { added };
|
|
3705
|
+
}
|
|
3706
|
+
function preloadOnceAdded({ added }, importMap) {
|
|
3707
|
+
Promise.resolve(added).then(
|
|
3708
|
+
() => preload(() => collectEagerPreloads(importMap)),
|
|
3709
|
+
(error) => {
|
|
3710
|
+
config.log.error(5, "Could not add the import map.", error);
|
|
3711
|
+
return Promise.reject(error);
|
|
3712
|
+
}
|
|
3713
|
+
);
|
|
3389
3714
|
}
|
|
3390
3715
|
function markUndecidedScopes() {
|
|
3391
3716
|
const repo = ports.sharedExternalsRepo;
|
|
@@ -3426,6 +3751,7 @@ function createRollbackChanges(config, ports) {
|
|
|
3426
3751
|
|
|
3427
3752
|
// src/lib/core/2.app/steps/expose-module-loader.ts
|
|
3428
3753
|
function createExposeModuleLoader(config, ports) {
|
|
3754
|
+
const preload = createPreloadHint(config.log, ports.browser, 6);
|
|
3429
3755
|
const loadRemoteModule = (remoteName, exposedModule) => {
|
|
3430
3756
|
try {
|
|
3431
3757
|
if (!ports.remoteInfoRepo.contains(remoteName)) {
|
|
@@ -3437,6 +3763,7 @@ function createExposeModuleLoader(config, ports) {
|
|
|
3437
3763
|
)
|
|
3438
3764
|
);
|
|
3439
3765
|
config.log.debug(6, `Loading initialized module '${remoteModuleUrl}'`);
|
|
3766
|
+
preload(() => ports.remoteInfoRepo.getModuleChunkUrls(remoteName, exposedModule));
|
|
3440
3767
|
return ports.browser.importModule(remoteModuleUrl);
|
|
3441
3768
|
} catch (error) {
|
|
3442
3769
|
config.log.error(6, `Failed to load module ${join(remoteName, exposedModule)}: `, {
|
|
@@ -3447,7 +3774,15 @@ function createExposeModuleLoader(config, ports) {
|
|
|
3447
3774
|
);
|
|
3448
3775
|
}
|
|
3449
3776
|
};
|
|
3450
|
-
|
|
3777
|
+
const preloadRemoteModule = (remoteName, exposedModule) => preload(() => {
|
|
3778
|
+
const url = ports.remoteInfoRepo.tryGetModule(remoteName, exposedModule);
|
|
3779
|
+
if (!url.isPresent()) {
|
|
3780
|
+
config.log.debug(6, `Nothing to preload for '${remoteName}/${exposedModule}'.`);
|
|
3781
|
+
return [];
|
|
3782
|
+
}
|
|
3783
|
+
return [url.get(), ...ports.remoteInfoRepo.getModuleChunkUrls(remoteName, exposedModule)];
|
|
3784
|
+
});
|
|
3785
|
+
return () => Promise.resolve({ loadRemoteModule, preloadRemoteModule });
|
|
3451
3786
|
}
|
|
3452
3787
|
|
|
3453
3788
|
// src/lib/utils/optional.ts
|
|
@@ -3849,11 +4184,15 @@ function coverFromMap(remote, mine, view, actions, policy) {
|
|
|
3849
4184
|
const files = [];
|
|
3850
4185
|
for (const member of mine) {
|
|
3851
4186
|
const action = actions[member.name];
|
|
3852
|
-
const
|
|
3853
|
-
if (!
|
|
3854
|
-
const
|
|
4187
|
+
const copies = recordsByRemote(member).get(remote);
|
|
4188
|
+
if (!copies) continue;
|
|
4189
|
+
const entries = {};
|
|
4190
|
+
for (const { meta } of copies)
|
|
4191
|
+
for (const [specifier, file] of Object.entries(meta.entries)) entries[specifier] ??= file;
|
|
4192
|
+
const inShareRow = copies.some(({ version }) => version.action === "share");
|
|
4193
|
+
const mapped = mapFiles(entries, view, policy, action);
|
|
3855
4194
|
if ("unmapped" in mapped) return mapped;
|
|
3856
|
-
files.push({ member, action,
|
|
4195
|
+
files.push({ member, action, entries, inShareRow, ...mapped });
|
|
3857
4196
|
}
|
|
3858
4197
|
const reaches = reachesOf(remote, files, view);
|
|
3859
4198
|
const bound = boundByFile(reaches, view);
|
|
@@ -3863,19 +4202,19 @@ function coverFromMap(remote, mine, view, actions, policy) {
|
|
|
3863
4202
|
if (gap !== void 0) return { gap };
|
|
3864
4203
|
return { covers: files.filter(covering).map(coverOf) };
|
|
3865
4204
|
}
|
|
3866
|
-
function gapOf({
|
|
3867
|
-
const entrypoints = Object.keys(
|
|
4205
|
+
function gapOf({ entries, covered }, servedPackages, packageOf) {
|
|
4206
|
+
const entrypoints = Object.keys(entries);
|
|
3868
4207
|
const missing = entrypoints.filter((specifier) => !covered.has(specifier));
|
|
3869
4208
|
if (missing.length < entrypoints.length) return missing[0];
|
|
3870
4209
|
return missing.find((specifier) => servedPackages.has(packageOf(specifier)));
|
|
3871
4210
|
}
|
|
3872
|
-
function covering({ action,
|
|
4211
|
+
function covering({ action, entries, covered }) {
|
|
3873
4212
|
if (action.action === "skip") return true;
|
|
3874
|
-
const entrypoints = Object.keys(
|
|
4213
|
+
const entrypoints = Object.keys(entries);
|
|
3875
4214
|
return entrypoints.length > 0 && entrypoints.every((specifier) => covered.has(specifier));
|
|
3876
4215
|
}
|
|
3877
|
-
function coverOf({ member, action,
|
|
3878
|
-
const toSkip = action.action !== "skip" || covered.size > action.covered.length &&
|
|
4216
|
+
function coverOf({ member, action, inShareRow, covered, override }) {
|
|
4217
|
+
const toSkip = action.action !== "skip" || covered.size > action.covered.length && inShareRow;
|
|
3879
4218
|
return { name: member.name, toSkip, override };
|
|
3880
4219
|
}
|
|
3881
4220
|
function reachesOf(remote, files, view) {
|
|
@@ -3886,7 +4225,7 @@ function reachesOf(remote, files, view) {
|
|
|
3886
4225
|
};
|
|
3887
4226
|
for (const file of files) {
|
|
3888
4227
|
const takesMap = covering(file);
|
|
3889
|
-
for (const [specifier, own] of Object.entries(file.
|
|
4228
|
+
for (const [specifier, own] of Object.entries(file.entries)) {
|
|
3890
4229
|
if (!takesMap || !file.covered.has(specifier)) reaches.set(specifier, { remote, file: own });
|
|
3891
4230
|
else {
|
|
3892
4231
|
const reach = fromMap(specifier);
|
|
@@ -3913,10 +4252,10 @@ function boundByFile(reaches, view) {
|
|
|
3913
4252
|
}
|
|
3914
4253
|
return void 0;
|
|
3915
4254
|
}
|
|
3916
|
-
function mapFiles(
|
|
4255
|
+
function mapFiles(entries, view, policy, action) {
|
|
3917
4256
|
const covered = new Set(action.covered);
|
|
3918
4257
|
const override = { ...action.override };
|
|
3919
|
-
for (const specifier in
|
|
4258
|
+
for (const specifier in entries) {
|
|
3920
4259
|
const source = view.global.get(specifier);
|
|
3921
4260
|
if (!source) continue;
|
|
3922
4261
|
if (policy.shareScope !== GLOBAL_SCOPE) {
|
|
@@ -4239,7 +4578,8 @@ var INIT_FLOW_FACTORY = ({
|
|
|
4239
4578
|
var createBrowser = (config) => {
|
|
4240
4579
|
return {
|
|
4241
4580
|
setImportMapFn: config.setImportMapFn,
|
|
4242
|
-
importModule: config.loadModuleFn
|
|
4581
|
+
importModule: config.loadModuleFn,
|
|
4582
|
+
preloadModules: config.preloadModulesFn
|
|
4243
4583
|
};
|
|
4244
4584
|
};
|
|
4245
4585
|
|
|
@@ -4347,7 +4687,7 @@ function markDense(shared) {
|
|
|
4347
4687
|
return shared.map((entry) => "entries" in entry ? { ...entry, dense: true } : entry);
|
|
4348
4688
|
}
|
|
4349
4689
|
|
|
4350
|
-
// node_modules/.pnpm/@softarc+native-federation@4.
|
|
4690
|
+
// node_modules/.pnpm/@softarc+native-federation@4.10.0/node_modules/@softarc/native-federation/dist/lib/utils/normalize.js
|
|
4351
4691
|
function inferPackageFromSecondary(secondary) {
|
|
4352
4692
|
const parts = secondary.split("/");
|
|
4353
4693
|
if (secondary.startsWith("@") && parts.length >= 2) {
|
|
@@ -4356,7 +4696,7 @@ function inferPackageFromSecondary(secondary) {
|
|
|
4356
4696
|
return parts[0];
|
|
4357
4697
|
}
|
|
4358
4698
|
|
|
4359
|
-
// node_modules/.pnpm/@softarc+native-federation@4.
|
|
4699
|
+
// node_modules/.pnpm/@softarc+native-federation@4.10.0/node_modules/@softarc/native-federation/dist/lib/core/output/densify-externals.js
|
|
4360
4700
|
function isDense(entry) {
|
|
4361
4701
|
return "entries" in entry;
|
|
4362
4702
|
}
|
|
@@ -4480,6 +4820,11 @@ var createRemoteInfoRepository = (config) => {
|
|
|
4480
4820
|
(m) => join(_cache[remoteName].scopeUrl, m.file)
|
|
4481
4821
|
);
|
|
4482
4822
|
},
|
|
4823
|
+
getModuleChunkUrls: function(remoteName, exposedModule) {
|
|
4824
|
+
const remote = _cache[remoteName];
|
|
4825
|
+
const chunks = remote?.exposes.find((m) => m.moduleName === exposedModule)?.chunks ?? [];
|
|
4826
|
+
return chunks.map((file) => join(remote.scopeUrl, file));
|
|
4827
|
+
},
|
|
4483
4828
|
getAll: function() {
|
|
4484
4829
|
return _cache;
|
|
4485
4830
|
},
|
|
@@ -4914,6 +5259,18 @@ var replaceInDOM = (mapType, trustedTypesPolicyName = "nfo") => (importMap, opts
|
|
|
4914
5259
|
return Promise.resolve(importMap);
|
|
4915
5260
|
};
|
|
4916
5261
|
|
|
5262
|
+
// src/lib/core/4.config/import-map/preload-in-dom.ts
|
|
5263
|
+
var preloadInDOM = (rel) => {
|
|
5264
|
+
const preloaded = /* @__PURE__ */ new Set();
|
|
5265
|
+
return (urls) => {
|
|
5266
|
+
for (const href of urls) {
|
|
5267
|
+
if (preloaded.has(href)) continue;
|
|
5268
|
+
preloaded.add(href);
|
|
5269
|
+
document.head.appendChild(Object.assign(document.createElement("link"), { rel, href }));
|
|
5270
|
+
}
|
|
5271
|
+
};
|
|
5272
|
+
};
|
|
5273
|
+
|
|
4917
5274
|
// src/lib/core/4.config/import-map/use-default.ts
|
|
4918
5275
|
var useDefaultImportMap = (trustedTypesPolicyName = "nfo") => ({
|
|
4919
5276
|
loadModuleFn: (url) => {
|
|
@@ -4924,20 +5281,27 @@ var useDefaultImportMap = (trustedTypesPolicyName = "nfo") => ({
|
|
|
4924
5281
|
);
|
|
4925
5282
|
},
|
|
4926
5283
|
setImportMapFn: replaceInDOM("importmap", trustedTypesPolicyName),
|
|
5284
|
+
preloadModulesFn: preloadInDOM("modulepreload"),
|
|
4927
5285
|
reloadBrowserFn: () => {
|
|
4928
5286
|
window.location.reload();
|
|
4929
5287
|
}
|
|
4930
5288
|
});
|
|
4931
5289
|
|
|
5290
|
+
// src/lib/core/4.config/import-map/no-preload.ts
|
|
5291
|
+
var noPreload = () => {
|
|
5292
|
+
};
|
|
5293
|
+
|
|
4932
5294
|
// src/lib/core/4.config/import-map/import-map.config.ts
|
|
4933
5295
|
var createImportMapConfig = (o) => {
|
|
4934
5296
|
const fallback = useDefaultImportMap(o.trustedTypesPolicyName);
|
|
4935
5297
|
return {
|
|
4936
5298
|
setImportMapFn: o.setImportMapFn ?? fallback.setImportMapFn,
|
|
4937
5299
|
loadModuleFn: o.loadModuleFn ?? fallback.loadModuleFn,
|
|
4938
|
-
reloadBrowserFn: o.reloadBrowserFn ?? fallback.reloadBrowserFn
|
|
5300
|
+
reloadBrowserFn: o.reloadBrowserFn ?? fallback.reloadBrowserFn,
|
|
5301
|
+
preloadModulesFn: o.preloadModulesFn ?? defaultPreload(o, fallback)
|
|
4939
5302
|
};
|
|
4940
5303
|
};
|
|
5304
|
+
var defaultPreload = (o, fallback) => o.loadModuleFn ? noPreload : fallback.preloadModulesFn;
|
|
4941
5305
|
|
|
4942
5306
|
// src/lib/core/4.config/host/host.config.ts
|
|
4943
5307
|
var createHostConfig = (override) => {
|
|
@@ -5044,7 +5408,7 @@ globalThisStorageEntry.type = "globalThis";
|
|
|
5044
5408
|
Object.freeze(globalThisStorageEntry);
|
|
5045
5409
|
|
|
5046
5410
|
// src/lib/core/4.config/orchestrator-version.ts
|
|
5047
|
-
var ORCHESTRATOR_VERSION = true ? "4.
|
|
5411
|
+
var ORCHESTRATOR_VERSION = true ? "4.10.1" : "dev";
|
|
5048
5412
|
|
|
5049
5413
|
// src/lib/core/4.config/storage/publish-storage-info.ts
|
|
5050
5414
|
var KEYS = Object.freeze(Object.values(STORAGE_KEYS));
|
|
@@ -5149,7 +5513,8 @@ var defaultProfile = {
|
|
|
5149
5513
|
skipInvalidExternalVersions: false,
|
|
5150
5514
|
overrideCachedRemotes: "init-only",
|
|
5151
5515
|
overrideCachedRemotesIfURLMatches: false,
|
|
5152
|
-
mergeManifests: true
|
|
5516
|
+
mergeManifests: true,
|
|
5517
|
+
enableDebugging: false
|
|
5153
5518
|
};
|
|
5154
5519
|
|
|
5155
5520
|
// src/lib/core/4.config/mode/mode.config.ts
|
|
@@ -5193,6 +5558,9 @@ var createFederationResult = ({
|
|
|
5193
5558
|
config,
|
|
5194
5559
|
adapters,
|
|
5195
5560
|
loadRemoteModule,
|
|
5561
|
+
// A host composing init by hand may not pass it.
|
|
5562
|
+
preloadRemoteModule = () => {
|
|
5563
|
+
},
|
|
5196
5564
|
initRemoteEntryFlow,
|
|
5197
5565
|
afterInitRemoteEntry
|
|
5198
5566
|
}) => {
|
|
@@ -5208,6 +5576,7 @@ var createFederationResult = ({
|
|
|
5208
5576
|
adapters,
|
|
5209
5577
|
loadRemoteModule,
|
|
5210
5578
|
load: loadRemoteModule,
|
|
5579
|
+
preloadRemoteModule,
|
|
5211
5580
|
as: () => ({
|
|
5212
5581
|
loadRemoteModule,
|
|
5213
5582
|
load: loadRemoteModule
|
|
@@ -5223,9 +5592,7 @@ var initFederation = (remotesOrManifestUrl, options = {}) => {
|
|
|
5223
5592
|
const factory = INIT_FLOW_FACTORY({ adapters, config });
|
|
5224
5593
|
const initFlow = createInitFlow(factory);
|
|
5225
5594
|
const initRemoteEntryFlow = createInitRemoteEntryFlow(factory);
|
|
5226
|
-
return initFlow(remotesOrManifestUrl).then(
|
|
5227
|
-
({ loadRemoteModule }) => createFederationResult({ config, adapters, loadRemoteModule, initRemoteEntryFlow })
|
|
5228
|
-
).catch((e) => {
|
|
5595
|
+
return initFlow(remotesOrManifestUrl).then((access) => createFederationResult({ config, adapters, ...access, initRemoteEntryFlow })).catch((e) => {
|
|
5229
5596
|
createStateDump(config, adapters)(`[init] STATE DUMP`);
|
|
5230
5597
|
return Promise.reject(e);
|
|
5231
5598
|
});
|