@vercel/microfrontends 0.14.0 → 0.16.0
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/dist/bin/cli.cjs +392 -1620
- package/dist/config.cjs +478 -1001
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.ts +4 -25
- package/dist/config.js +474 -980
- package/dist/config.js.map +1 -1
- package/dist/{v2/microfrontends → microfrontends}/server.cjs +91 -150
- package/dist/microfrontends/server.cjs.map +1 -0
- package/dist/{v2/microfrontends → microfrontends}/server.d.ts +4 -4
- package/dist/{v2/microfrontends → microfrontends}/server.js +91 -150
- package/dist/microfrontends/server.js.map +1 -0
- package/dist/{v2/microfrontends.cjs → microfrontends.cjs} +49 -28
- package/dist/microfrontends.cjs.map +1 -0
- package/dist/{v2/microfrontends.d.ts → microfrontends.d.ts} +4 -4
- package/dist/{v2/microfrontends.js → microfrontends.js} +48 -27
- package/dist/microfrontends.js.map +1 -0
- package/dist/next/client.cjs +1 -1
- package/dist/next/client.cjs.map +1 -1
- package/dist/next/client.js +1 -1
- package/dist/next/client.js.map +1 -1
- package/dist/next/config.cjs +1344 -1024
- package/dist/next/config.cjs.map +1 -1
- package/dist/next/config.d.ts +1 -1
- package/dist/next/config.js +1343 -1023
- package/dist/next/config.js.map +1 -1
- package/dist/next/endpoints.cjs +77 -18
- package/dist/next/endpoints.cjs.map +1 -1
- package/dist/next/endpoints.d.ts +13 -2
- package/dist/next/endpoints.js +77 -18
- package/dist/next/endpoints.js.map +1 -1
- package/dist/next/middleware.cjs +765 -395
- package/dist/next/middleware.cjs.map +1 -1
- package/dist/next/middleware.d.ts +10 -5
- package/dist/next/middleware.js +765 -395
- package/dist/next/middleware.js.map +1 -1
- package/dist/next/testing.cjs +615 -1031
- package/dist/next/testing.cjs.map +1 -1
- package/dist/next/testing.d.ts +14 -12
- package/dist/next/testing.js +609 -1015
- package/dist/next/testing.js.map +1 -1
- package/dist/overrides.cjs +40 -108
- package/dist/overrides.cjs.map +1 -1
- package/dist/overrides.d.ts +24 -2
- package/dist/overrides.js +36 -106
- package/dist/overrides.js.map +1 -1
- package/dist/{v2/routing.cjs → routing.cjs} +3 -3
- package/dist/routing.cjs.map +1 -0
- package/dist/{v2/schema.cjs → schema.cjs} +1 -1
- package/dist/schema.cjs.map +1 -0
- package/dist/schema.d.ts +1 -0
- package/dist/utils/mfe-port.cjs +237 -1338
- package/dist/utils/mfe-port.cjs.map +1 -1
- package/dist/utils/mfe-port.js +230 -1331
- package/dist/utils/mfe-port.js.map +1 -1
- package/dist/validation.cjs +31 -361
- package/dist/validation.cjs.map +1 -1
- package/dist/validation.d.ts +3 -146
- package/dist/validation.js +30 -359
- package/dist/validation.js.map +1 -1
- package/package.json +29 -92
- package/schema/schema.json +174 -244
- package/dist/config/client.cjs +0 -54
- package/dist/config/client.cjs.map +0 -1
- package/dist/config/client.d.ts +0 -23
- package/dist/config/client.js +0 -28
- package/dist/config/client.js.map +0 -1
- package/dist/config/edge.cjs +0 -508
- package/dist/config/edge.cjs.map +0 -1
- package/dist/config/edge.d.ts +0 -20
- package/dist/config/edge.js +0 -481
- package/dist/config/edge.js.map +0 -1
- package/dist/microfrontend-config-983a5139.d.ts +0 -154
- package/dist/schema-2922d49e.d.ts +0 -182
- package/dist/v2/config.cjs +0 -709
- package/dist/v2/config.cjs.map +0 -1
- package/dist/v2/config.d.ts +0 -4
- package/dist/v2/config.js +0 -684
- package/dist/v2/config.js.map +0 -1
- package/dist/v2/microfrontends/server.cjs.map +0 -1
- package/dist/v2/microfrontends/server.js.map +0 -1
- package/dist/v2/microfrontends.cjs.map +0 -1
- package/dist/v2/microfrontends.js.map +0 -1
- package/dist/v2/next/client.cjs +0 -3
- package/dist/v2/next/client.cjs.map +0 -1
- package/dist/v2/next/client.d.ts +0 -45
- package/dist/v2/next/client.js +0 -3
- package/dist/v2/next/client.js.map +0 -1
- package/dist/v2/next/config.cjs +0 -2178
- package/dist/v2/next/config.cjs.map +0 -1
- package/dist/v2/next/config.d.ts +0 -22
- package/dist/v2/next/config.js +0 -2143
- package/dist/v2/next/config.js.map +0 -1
- package/dist/v2/next/endpoints.cjs +0 -141
- package/dist/v2/next/endpoints.cjs.map +0 -1
- package/dist/v2/next/endpoints.d.ts +0 -26
- package/dist/v2/next/endpoints.js +0 -116
- package/dist/v2/next/endpoints.js.map +0 -1
- package/dist/v2/next/middleware.cjs +0 -1099
- package/dist/v2/next/middleware.cjs.map +0 -1
- package/dist/v2/next/middleware.d.ts +0 -34
- package/dist/v2/next/middleware.js +0 -1071
- package/dist/v2/next/middleware.js.map +0 -1
- package/dist/v2/next/testing.cjs +0 -992
- package/dist/v2/next/testing.cjs.map +0 -1
- package/dist/v2/next/testing.d.ts +0 -55
- package/dist/v2/next/testing.js +0 -961
- package/dist/v2/next/testing.js.map +0 -1
- package/dist/v2/overrides.cjs +0 -75
- package/dist/v2/overrides.cjs.map +0 -1
- package/dist/v2/overrides.d.ts +0 -24
- package/dist/v2/overrides.js +0 -45
- package/dist/v2/overrides.js.map +0 -1
- package/dist/v2/routing.cjs.map +0 -1
- package/dist/v2/schema.cjs.map +0 -1
- package/dist/v2/schema.d.ts +0 -1
- package/schema/schema-v2.json +0 -266
- /package/dist/{v2/routing.d.ts → routing.d.ts} +0 -0
- /package/dist/{v2/routing.js → routing.js} +0 -0
- /package/dist/{v2/routing.js.map → routing.js.map} +0 -0
- /package/dist/{v2/schema.js → schema.js} +0 -0
- /package/dist/{v2/schema.js.map → schema.js.map} +0 -0
|
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/config
|
|
30
|
+
// src/config/microfrontends/server/index.ts
|
|
31
31
|
var server_exports = {};
|
|
32
32
|
__export(server_exports, {
|
|
33
33
|
MicrofrontendsServer: () => MicrofrontendsServer
|
|
@@ -36,17 +36,17 @@ module.exports = __toCommonJS(server_exports);
|
|
|
36
36
|
var import_node_fs7 = __toESM(require("fs"), 1);
|
|
37
37
|
var import_node_path8 = require("path");
|
|
38
38
|
|
|
39
|
-
// src/config
|
|
39
|
+
// src/config/overrides/constants.ts
|
|
40
40
|
var OVERRIDES_COOKIE_PREFIX = "vercel-micro-frontends-override";
|
|
41
41
|
var OVERRIDES_ENV_COOKIE_PREFIX = `${OVERRIDES_COOKIE_PREFIX}:env:`;
|
|
42
42
|
|
|
43
|
-
// src/config
|
|
43
|
+
// src/config/overrides/is-override-cookie.ts
|
|
44
44
|
function isOverrideCookie(cookie) {
|
|
45
45
|
var _a;
|
|
46
46
|
return Boolean((_a = cookie.name) == null ? void 0 : _a.startsWith(OVERRIDES_COOKIE_PREFIX));
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
// src/config
|
|
49
|
+
// src/config/overrides/get-override-from-cookie.ts
|
|
50
50
|
function getOverrideFromCookie(cookie) {
|
|
51
51
|
if (!isOverrideCookie(cookie) || !cookie.value)
|
|
52
52
|
return;
|
|
@@ -56,7 +56,7 @@ function getOverrideFromCookie(cookie) {
|
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
// src/config
|
|
59
|
+
// src/config/overrides/parse-overrides.ts
|
|
60
60
|
function parseOverrides(cookies) {
|
|
61
61
|
const overridesConfig = { applications: {} };
|
|
62
62
|
cookies.forEach((cookie) => {
|
|
@@ -70,7 +70,7 @@ function parseOverrides(cookies) {
|
|
|
70
70
|
return overridesConfig;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
// src/config
|
|
73
|
+
// src/config/errors.ts
|
|
74
74
|
var MicrofrontendError = class extends Error {
|
|
75
75
|
constructor(message, opts) {
|
|
76
76
|
super(message);
|
|
@@ -162,7 +162,7 @@ var MicrofrontendError = class extends Error {
|
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
164
|
|
|
165
|
-
// src/config
|
|
165
|
+
// src/config/microfrontends-config/utils/get-config-from-env.ts
|
|
166
166
|
function getConfigStringFromEnv() {
|
|
167
167
|
const config = process.env.MFE_CONFIG;
|
|
168
168
|
if (!config) {
|
|
@@ -174,20 +174,20 @@ function getConfigStringFromEnv() {
|
|
|
174
174
|
return config;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
// src/config
|
|
177
|
+
// src/config/microfrontends-config/isomorphic/index.ts
|
|
178
178
|
var import_jsonc_parser = require("jsonc-parser");
|
|
179
179
|
|
|
180
|
-
// src/config
|
|
180
|
+
// src/config/schema/utils/is-main-config.ts
|
|
181
181
|
function isMainConfig(c) {
|
|
182
182
|
return !("partOf" in c);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
// src/config
|
|
185
|
+
// src/config/schema/utils/is-default-app.ts
|
|
186
186
|
function isDefaultApp(a) {
|
|
187
187
|
return !("routing" in a);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
// src/config
|
|
190
|
+
// src/config/microfrontends-config/client/index.ts
|
|
191
191
|
var import_path_to_regexp = require("path-to-regexp");
|
|
192
192
|
var MicrofrontendConfigClient = class {
|
|
193
193
|
constructor(config, opts) {
|
|
@@ -253,7 +253,7 @@ var MicrofrontendConfigClient = class {
|
|
|
253
253
|
}
|
|
254
254
|
};
|
|
255
255
|
|
|
256
|
-
// src/config
|
|
256
|
+
// src/config/microfrontends-config/isomorphic/validation.ts
|
|
257
257
|
var import_path_to_regexp2 = require("path-to-regexp");
|
|
258
258
|
var SUPPORTED_VERSIONS = ["2"];
|
|
259
259
|
var validateConfigVersion = (version) => {
|
|
@@ -278,13 +278,9 @@ var validateConfigPaths = (applicationConfigsById) => {
|
|
|
278
278
|
}
|
|
279
279
|
for (const pathMatch of app.routing) {
|
|
280
280
|
for (const path5 of pathMatch.paths) {
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
errors.push(
|
|
285
|
-
`Path ${path5} may only have a :wildcard in the last path component`
|
|
286
|
-
);
|
|
287
|
-
}
|
|
281
|
+
const maybeError = validatePathExpression(path5);
|
|
282
|
+
if (maybeError) {
|
|
283
|
+
errors.push(maybeError);
|
|
288
284
|
}
|
|
289
285
|
const existing = pathsByApplicationId.get(path5);
|
|
290
286
|
if (existing) {
|
|
@@ -334,6 +330,31 @@ var validateConfigPaths = (applicationConfigsById) => {
|
|
|
334
330
|
});
|
|
335
331
|
}
|
|
336
332
|
};
|
|
333
|
+
var PATH_DEFAULT_PATTERN = "[^\\/#\\?]+?";
|
|
334
|
+
function validatePathExpression(path5) {
|
|
335
|
+
const tokens = (0, import_path_to_regexp2.parse)(path5);
|
|
336
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
337
|
+
const token = tokens[i];
|
|
338
|
+
if (token === void 0) {
|
|
339
|
+
return `token ${i} in ${path5} is undefined, this shouldn't happen`;
|
|
340
|
+
}
|
|
341
|
+
if (typeof token !== "string") {
|
|
342
|
+
if (token.pattern !== PATH_DEFAULT_PATTERN) {
|
|
343
|
+
return `Path ${path5} cannot use a regular expression wildcard`;
|
|
344
|
+
}
|
|
345
|
+
if (token.prefix !== "/") {
|
|
346
|
+
return `Wildcard :${token.name} must be immediately after a / in ${path5}`;
|
|
347
|
+
}
|
|
348
|
+
if (token.suffix) {
|
|
349
|
+
return `Wildcard suffix on :${token.name} is not allowed. Suffixes are not supported`;
|
|
350
|
+
}
|
|
351
|
+
if (token.modifier && i !== tokens.length - 1) {
|
|
352
|
+
return `Modifier ${token.modifier} is not allowed on wildcard :${token.name} in ${path5}. Modifiers are only allowed in the last path component`;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
return void 0;
|
|
357
|
+
}
|
|
337
358
|
var validateAppPaths = (name, app) => {
|
|
338
359
|
for (const group of app.routing) {
|
|
339
360
|
for (const p of group.paths) {
|
|
@@ -382,7 +403,7 @@ var validateConfigDefaultApplication = (applicationConfigsById) => {
|
|
|
382
403
|
}
|
|
383
404
|
};
|
|
384
405
|
|
|
385
|
-
// src/config
|
|
406
|
+
// src/config/microfrontends-config/isomorphic/utils/generate-asset-prefix.ts
|
|
386
407
|
var PREFIX = "vc-ap";
|
|
387
408
|
function generateAssetPrefixFromName({
|
|
388
409
|
name
|
|
@@ -393,7 +414,7 @@ function generateAssetPrefixFromName({
|
|
|
393
414
|
return `${PREFIX}-${name}`;
|
|
394
415
|
}
|
|
395
416
|
|
|
396
|
-
// src/config
|
|
417
|
+
// src/config/microfrontends-config/isomorphic/utils/generate-port.ts
|
|
397
418
|
function generatePortFromName({
|
|
398
419
|
name,
|
|
399
420
|
minPort = 3e3,
|
|
@@ -413,7 +434,7 @@ function generatePortFromName({
|
|
|
413
434
|
return port;
|
|
414
435
|
}
|
|
415
436
|
|
|
416
|
-
// src/config
|
|
437
|
+
// src/config/microfrontends-config/isomorphic/host.ts
|
|
417
438
|
var Host = class {
|
|
418
439
|
constructor(hostConfig, options) {
|
|
419
440
|
const { protocol = "https", host, port } = hostConfig;
|
|
@@ -462,7 +483,7 @@ var LocalHost = class extends Host {
|
|
|
462
483
|
}
|
|
463
484
|
};
|
|
464
485
|
|
|
465
|
-
// src/config
|
|
486
|
+
// src/config/microfrontends-config/isomorphic/application.ts
|
|
466
487
|
var Application = class {
|
|
467
488
|
constructor(name, {
|
|
468
489
|
app,
|
|
@@ -532,10 +553,10 @@ var ChildApplication = class extends Application {
|
|
|
532
553
|
}
|
|
533
554
|
};
|
|
534
555
|
|
|
535
|
-
// src/config
|
|
556
|
+
// src/config/microfrontends-config/isomorphic/constants.ts
|
|
536
557
|
var DEFAULT_LOCAL_PROXY_PORT = 3024;
|
|
537
558
|
|
|
538
|
-
// src/config
|
|
559
|
+
// src/config/microfrontends-config/isomorphic/index.ts
|
|
539
560
|
var MicrofrontendConfigIsomorphic = class {
|
|
540
561
|
constructor({
|
|
541
562
|
config,
|
|
@@ -717,7 +738,7 @@ var MicrofrontendConfigIsomorphic = class {
|
|
|
717
738
|
}
|
|
718
739
|
};
|
|
719
740
|
|
|
720
|
-
// src/config
|
|
741
|
+
// src/config/microfrontends-config/isomorphic/child.ts
|
|
721
742
|
var MicrofrontendChildConfig = class extends MicrofrontendConfigIsomorphic {
|
|
722
743
|
constructor({
|
|
723
744
|
config,
|
|
@@ -730,7 +751,7 @@ var MicrofrontendChildConfig = class extends MicrofrontendConfigIsomorphic {
|
|
|
730
751
|
}
|
|
731
752
|
};
|
|
732
753
|
|
|
733
|
-
// src/config
|
|
754
|
+
// src/config/microfrontends-config/isomorphic/main.ts
|
|
734
755
|
var MicrofrontendMainConfig = class extends MicrofrontendConfigIsomorphic {
|
|
735
756
|
constructor({
|
|
736
757
|
config,
|
|
@@ -769,7 +790,7 @@ var MicrofrontendMainConfig = class extends MicrofrontendConfigIsomorphic {
|
|
|
769
790
|
}
|
|
770
791
|
};
|
|
771
792
|
|
|
772
|
-
// src/config
|
|
793
|
+
// src/config/microfrontends/isomorphic/index.ts
|
|
773
794
|
var Microfrontends = class {
|
|
774
795
|
constructor({
|
|
775
796
|
config,
|
|
@@ -797,7 +818,7 @@ var Microfrontends = class {
|
|
|
797
818
|
}
|
|
798
819
|
};
|
|
799
820
|
|
|
800
|
-
// src/config
|
|
821
|
+
// src/config/microfrontends/utils/find-repository-root.ts
|
|
801
822
|
var import_node_fs = __toESM(require("fs"), 1);
|
|
802
823
|
var import_node_path = __toESM(require("path"), 1);
|
|
803
824
|
var GIT_DIRECTORY = ".git";
|
|
@@ -815,7 +836,7 @@ function findRepositoryRoot(startDir) {
|
|
|
815
836
|
);
|
|
816
837
|
}
|
|
817
838
|
|
|
818
|
-
// src/config
|
|
839
|
+
// src/config/microfrontends/utils/find-package-path.ts
|
|
819
840
|
var import_node_path2 = require("path");
|
|
820
841
|
var import_node_fs2 = require("fs");
|
|
821
842
|
var import_fast_glob = __toESM(require("fast-glob"), 1);
|
|
@@ -871,19 +892,19 @@ function findPackagePath(opts) {
|
|
|
871
892
|
return result;
|
|
872
893
|
}
|
|
873
894
|
|
|
874
|
-
// src/config
|
|
895
|
+
// src/config/microfrontends/utils/find-default-package.ts
|
|
875
896
|
var import_node_path3 = require("path");
|
|
876
897
|
var import_node_fs3 = require("fs");
|
|
877
898
|
var import_jsonc_parser2 = require("jsonc-parser");
|
|
878
899
|
var import_fast_glob2 = __toESM(require("fast-glob"), 1);
|
|
879
900
|
|
|
880
|
-
// src/config
|
|
901
|
+
// src/config/constants.ts
|
|
881
902
|
var CONFIGURATION_FILENAMES = [
|
|
882
903
|
"microfrontends.jsonc",
|
|
883
904
|
"microfrontends.json"
|
|
884
905
|
];
|
|
885
906
|
|
|
886
|
-
// src/config
|
|
907
|
+
// src/config/microfrontends/utils/find-default-package.ts
|
|
887
908
|
var configCache2 = {};
|
|
888
909
|
function findDefaultMicrofrontendsPackages({
|
|
889
910
|
repositoryRoot,
|
|
@@ -943,7 +964,7 @@ function findDefaultMicrofrontendsPackage(opts) {
|
|
|
943
964
|
return result;
|
|
944
965
|
}
|
|
945
966
|
|
|
946
|
-
// src/config
|
|
967
|
+
// src/config/microfrontends/utils/is-monorepo.ts
|
|
947
968
|
var import_node_fs4 = __toESM(require("fs"), 1);
|
|
948
969
|
var import_node_path4 = __toESM(require("path"), 1);
|
|
949
970
|
function isMonorepo({
|
|
@@ -970,7 +991,7 @@ function isMonorepo({
|
|
|
970
991
|
}
|
|
971
992
|
}
|
|
972
993
|
|
|
973
|
-
// src/config
|
|
994
|
+
// src/config/microfrontends/utils/find-package-root.ts
|
|
974
995
|
var import_node_fs5 = __toESM(require("fs"), 1);
|
|
975
996
|
var import_node_path5 = __toESM(require("path"), 1);
|
|
976
997
|
var PACKAGE_JSON = "package.json";
|
|
@@ -988,7 +1009,7 @@ function findPackageRoot(startDir) {
|
|
|
988
1009
|
);
|
|
989
1010
|
}
|
|
990
1011
|
|
|
991
|
-
// src/config
|
|
1012
|
+
// src/config/microfrontends/utils/find-config.ts
|
|
992
1013
|
var import_node_fs6 = __toESM(require("fs"), 1);
|
|
993
1014
|
var import_node_path6 = require("path");
|
|
994
1015
|
function findConfig({ dir }) {
|
|
@@ -1001,10 +1022,10 @@ function findConfig({ dir }) {
|
|
|
1001
1022
|
return null;
|
|
1002
1023
|
}
|
|
1003
1024
|
|
|
1004
|
-
// src/config
|
|
1025
|
+
// src/config/microfrontends/server/utils/get-output-file-path.ts
|
|
1005
1026
|
var import_node_path7 = __toESM(require("path"), 1);
|
|
1006
1027
|
|
|
1007
|
-
// src/config
|
|
1028
|
+
// src/config/microfrontends/server/constants.ts
|
|
1008
1029
|
var MFE_CONFIG_DEFAULT_FILE_PATH = "microfrontends";
|
|
1009
1030
|
var MFE_CONFIG_DEFAULT_FILE_NAME = "microfrontends.json";
|
|
1010
1031
|
|
|
@@ -1013,7 +1034,7 @@ function isVercel() {
|
|
|
1013
1034
|
return process.env.VERCEL === "1";
|
|
1014
1035
|
}
|
|
1015
1036
|
|
|
1016
|
-
// src/config
|
|
1037
|
+
// src/config/microfrontends/server/utils/get-output-file-path.ts
|
|
1017
1038
|
function getOutputFilePath() {
|
|
1018
1039
|
if (isVercel()) {
|
|
1019
1040
|
return import_node_path7.default.join(
|
|
@@ -1025,104 +1046,12 @@ function getOutputFilePath() {
|
|
|
1025
1046
|
return import_node_path7.default.join(MFE_CONFIG_DEFAULT_FILE_PATH, MFE_CONFIG_DEFAULT_FILE_NAME);
|
|
1026
1047
|
}
|
|
1027
1048
|
|
|
1028
|
-
// src/config
|
|
1049
|
+
// src/config/microfrontends/server/validation.ts
|
|
1029
1050
|
var import_jsonc_parser3 = require("jsonc-parser");
|
|
1030
1051
|
var import_ajv = require("ajv");
|
|
1031
1052
|
|
|
1032
|
-
//
|
|
1033
|
-
var
|
|
1034
|
-
constructor(message, opts) {
|
|
1035
|
-
super(message);
|
|
1036
|
-
this.name = "MicrofrontendsError";
|
|
1037
|
-
this.source = (opts == null ? void 0 : opts.source) ?? "@vercel/microfrontends";
|
|
1038
|
-
this.type = (opts == null ? void 0 : opts.type) ?? "unknown";
|
|
1039
|
-
this.subtype = opts == null ? void 0 : opts.subtype;
|
|
1040
|
-
Error.captureStackTrace(this, MicrofrontendError2);
|
|
1041
|
-
}
|
|
1042
|
-
isKnown() {
|
|
1043
|
-
return this.type !== "unknown";
|
|
1044
|
-
}
|
|
1045
|
-
isUnknown() {
|
|
1046
|
-
return !this.isKnown();
|
|
1047
|
-
}
|
|
1048
|
-
/**
|
|
1049
|
-
* Converts an error to a MicrofrontendsError.
|
|
1050
|
-
* @param original - The original error to convert.
|
|
1051
|
-
* @returns The converted MicrofrontendsError.
|
|
1052
|
-
*/
|
|
1053
|
-
static convert(original, opts) {
|
|
1054
|
-
if (opts == null ? void 0 : opts.fileName) {
|
|
1055
|
-
const err = MicrofrontendError2.convertFSError(original, opts.fileName);
|
|
1056
|
-
if (err) {
|
|
1057
|
-
return err;
|
|
1058
|
-
}
|
|
1059
|
-
}
|
|
1060
|
-
if (original.message.includes(
|
|
1061
|
-
"Code generation from strings disallowed for this context"
|
|
1062
|
-
)) {
|
|
1063
|
-
return new MicrofrontendError2(original.message, {
|
|
1064
|
-
type: "config",
|
|
1065
|
-
subtype: "unsupported_validation_env",
|
|
1066
|
-
source: "ajv"
|
|
1067
|
-
});
|
|
1068
|
-
}
|
|
1069
|
-
return new MicrofrontendError2(original.message);
|
|
1070
|
-
}
|
|
1071
|
-
static convertFSError(original, fileName) {
|
|
1072
|
-
if (original instanceof Error && "code" in original) {
|
|
1073
|
-
if (original.code === "ENOENT") {
|
|
1074
|
-
return new MicrofrontendError2(`Could not find "${fileName}"`, {
|
|
1075
|
-
type: "config",
|
|
1076
|
-
subtype: "unable_to_read_file",
|
|
1077
|
-
source: "fs"
|
|
1078
|
-
});
|
|
1079
|
-
}
|
|
1080
|
-
if (original.code === "EACCES") {
|
|
1081
|
-
return new MicrofrontendError2(
|
|
1082
|
-
`Permission denied while accessing "${fileName}"`,
|
|
1083
|
-
{
|
|
1084
|
-
type: "config",
|
|
1085
|
-
subtype: "invalid_permissions",
|
|
1086
|
-
source: "fs"
|
|
1087
|
-
}
|
|
1088
|
-
);
|
|
1089
|
-
}
|
|
1090
|
-
}
|
|
1091
|
-
if (original instanceof SyntaxError) {
|
|
1092
|
-
return new MicrofrontendError2(
|
|
1093
|
-
`Failed to parse "${fileName}": Invalid JSON format.`,
|
|
1094
|
-
{
|
|
1095
|
-
type: "config",
|
|
1096
|
-
subtype: "invalid_syntax",
|
|
1097
|
-
source: "fs"
|
|
1098
|
-
}
|
|
1099
|
-
);
|
|
1100
|
-
}
|
|
1101
|
-
return null;
|
|
1102
|
-
}
|
|
1103
|
-
/**
|
|
1104
|
-
* Handles an unknown error and returns a MicrofrontendsError instance.
|
|
1105
|
-
* @param err - The error to handle.
|
|
1106
|
-
* @returns A MicrofrontendsError instance.
|
|
1107
|
-
*/
|
|
1108
|
-
static handle(err, opts) {
|
|
1109
|
-
if (err instanceof MicrofrontendError2) {
|
|
1110
|
-
return err;
|
|
1111
|
-
}
|
|
1112
|
-
if (err instanceof Error) {
|
|
1113
|
-
return MicrofrontendError2.convert(err, opts);
|
|
1114
|
-
}
|
|
1115
|
-
if (typeof err === "object" && err !== null) {
|
|
1116
|
-
if ("message" in err && typeof err.message === "string") {
|
|
1117
|
-
return MicrofrontendError2.convert(new Error(err.message), opts);
|
|
1118
|
-
}
|
|
1119
|
-
}
|
|
1120
|
-
return new MicrofrontendError2("An unknown error occurred");
|
|
1121
|
-
}
|
|
1122
|
-
};
|
|
1123
|
-
|
|
1124
|
-
// schema/schema-v2.json
|
|
1125
|
-
var schema_v2_default = {
|
|
1053
|
+
// schema/schema.json
|
|
1054
|
+
var schema_default = {
|
|
1126
1055
|
$schema: "http://json-schema.org/draft-07/schema#",
|
|
1127
1056
|
$ref: "#/definitions/Config",
|
|
1128
1057
|
definitions: {
|
|
@@ -1161,7 +1090,8 @@ var schema_v2_default = {
|
|
|
1161
1090
|
description: "Mapping of application names to the routes that they host. Only needs to be defined in the application that owns the primary microfrontend domain"
|
|
1162
1091
|
}
|
|
1163
1092
|
},
|
|
1164
|
-
required: ["applications", "version"]
|
|
1093
|
+
required: ["applications", "version"],
|
|
1094
|
+
additionalProperties: false
|
|
1165
1095
|
},
|
|
1166
1096
|
Options: {
|
|
1167
1097
|
type: "object",
|
|
@@ -1174,7 +1104,8 @@ var schema_v2_default = {
|
|
|
1174
1104
|
$ref: "#/definitions/LocalProxyOptions",
|
|
1175
1105
|
description: "Options for local proxy."
|
|
1176
1106
|
}
|
|
1177
|
-
}
|
|
1107
|
+
},
|
|
1108
|
+
additionalProperties: false
|
|
1178
1109
|
},
|
|
1179
1110
|
VercelOptions: {
|
|
1180
1111
|
type: "object",
|
|
@@ -1187,7 +1118,8 @@ var schema_v2_default = {
|
|
|
1187
1118
|
type: "boolean",
|
|
1188
1119
|
description: "If you want to disable the overrides for the site. For example, if you are managing rewrites between applications externally, you may wish to disable the overrides on the toolbar as they will have no effect."
|
|
1189
1120
|
}
|
|
1190
|
-
}
|
|
1121
|
+
},
|
|
1122
|
+
additionalProperties: false
|
|
1191
1123
|
},
|
|
1192
1124
|
LocalProxyOptions: {
|
|
1193
1125
|
type: "object",
|
|
@@ -1196,7 +1128,8 @@ var schema_v2_default = {
|
|
|
1196
1128
|
type: "number",
|
|
1197
1129
|
description: "The port number used by the local proxy server.\n\nThe default is `3024`."
|
|
1198
1130
|
}
|
|
1199
|
-
}
|
|
1131
|
+
},
|
|
1132
|
+
additionalProperties: false
|
|
1200
1133
|
},
|
|
1201
1134
|
Application: {
|
|
1202
1135
|
anyOf: [
|
|
@@ -1221,7 +1154,8 @@ var schema_v2_default = {
|
|
|
1221
1154
|
$ref: "#/definitions/HostConfig"
|
|
1222
1155
|
}
|
|
1223
1156
|
},
|
|
1224
|
-
required: ["production"]
|
|
1157
|
+
required: ["production"],
|
|
1158
|
+
additionalProperties: false
|
|
1225
1159
|
},
|
|
1226
1160
|
Vercel: {
|
|
1227
1161
|
type: "object",
|
|
@@ -1231,7 +1165,8 @@ var schema_v2_default = {
|
|
|
1231
1165
|
description: "Vercel project ID"
|
|
1232
1166
|
}
|
|
1233
1167
|
},
|
|
1234
|
-
required: ["projectId"]
|
|
1168
|
+
required: ["projectId"],
|
|
1169
|
+
additionalProperties: false
|
|
1235
1170
|
},
|
|
1236
1171
|
Development: {
|
|
1237
1172
|
type: "object",
|
|
@@ -1247,10 +1182,12 @@ var schema_v2_default = {
|
|
|
1247
1182
|
type: "string",
|
|
1248
1183
|
description: "Optional task to run when starting the development server. Should reference a script in the package.json of the application."
|
|
1249
1184
|
}
|
|
1250
|
-
}
|
|
1185
|
+
},
|
|
1186
|
+
additionalProperties: false
|
|
1251
1187
|
},
|
|
1252
1188
|
LocalHostConfig: {
|
|
1253
1189
|
type: "object",
|
|
1190
|
+
additionalProperties: false,
|
|
1254
1191
|
properties: {
|
|
1255
1192
|
host: {
|
|
1256
1193
|
type: "string",
|
|
@@ -1284,7 +1221,8 @@ var schema_v2_default = {
|
|
|
1284
1221
|
description: "The port number to be used for the connection. Common values include `80` for HTTP and `443` for HTTPS."
|
|
1285
1222
|
}
|
|
1286
1223
|
},
|
|
1287
|
-
required: ["host"]
|
|
1224
|
+
required: ["host"],
|
|
1225
|
+
additionalProperties: false
|
|
1288
1226
|
},
|
|
1289
1227
|
ChildApplication: {
|
|
1290
1228
|
type: "object",
|
|
@@ -1303,7 +1241,8 @@ var schema_v2_default = {
|
|
|
1303
1241
|
$ref: "#/definitions/HostConfig"
|
|
1304
1242
|
}
|
|
1305
1243
|
},
|
|
1306
|
-
required: ["routing"]
|
|
1244
|
+
required: ["routing"],
|
|
1245
|
+
additionalProperties: false
|
|
1307
1246
|
},
|
|
1308
1247
|
Routing: {
|
|
1309
1248
|
type: "array",
|
|
@@ -1329,7 +1268,8 @@ var schema_v2_default = {
|
|
|
1329
1268
|
}
|
|
1330
1269
|
}
|
|
1331
1270
|
},
|
|
1332
|
-
required: ["paths"]
|
|
1271
|
+
required: ["paths"],
|
|
1272
|
+
additionalProperties: false
|
|
1333
1273
|
},
|
|
1334
1274
|
ApplicationRouting: {
|
|
1335
1275
|
type: "object",
|
|
@@ -1362,22 +1302,23 @@ var schema_v2_default = {
|
|
|
1362
1302
|
description: "Applications that only serve a subset of the microfrontend routes only need to reference the name of the primary application that owns the full microfrontends configuration."
|
|
1363
1303
|
}
|
|
1364
1304
|
},
|
|
1365
|
-
required: ["partOf", "version"]
|
|
1305
|
+
required: ["partOf", "version"],
|
|
1306
|
+
additionalProperties: false
|
|
1366
1307
|
}
|
|
1367
1308
|
}
|
|
1368
1309
|
};
|
|
1369
1310
|
|
|
1370
|
-
// src/config
|
|
1371
|
-
var SCHEMA =
|
|
1311
|
+
// src/config/schema/utils/load.ts
|
|
1312
|
+
var SCHEMA = schema_default;
|
|
1372
1313
|
|
|
1373
|
-
// src/config
|
|
1314
|
+
// src/config/microfrontends/server/validation.ts
|
|
1374
1315
|
function validateSchema(configString) {
|
|
1375
1316
|
const parsedConfig = (0, import_jsonc_parser3.parse)(configString);
|
|
1376
1317
|
const ajv = new import_ajv.Ajv();
|
|
1377
1318
|
const validate = ajv.compile(SCHEMA);
|
|
1378
1319
|
const isValid = validate(parsedConfig);
|
|
1379
1320
|
if (!isValid) {
|
|
1380
|
-
throw new
|
|
1321
|
+
throw new MicrofrontendError(
|
|
1381
1322
|
`Invalid config: ${ajv.errorsText(validate.errors)}`,
|
|
1382
1323
|
{ type: "config", subtype: "does_not_match_schema" }
|
|
1383
1324
|
);
|
|
@@ -1385,7 +1326,7 @@ function validateSchema(configString) {
|
|
|
1385
1326
|
return parsedConfig;
|
|
1386
1327
|
}
|
|
1387
1328
|
|
|
1388
|
-
// src/config
|
|
1329
|
+
// src/config/microfrontends/server/index.ts
|
|
1389
1330
|
var MicrofrontendsServer = class extends Microfrontends {
|
|
1390
1331
|
/**
|
|
1391
1332
|
* Writes the configuration to a file.
|