@vercel/microfrontends 0.12.0 → 0.13.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.
Files changed (39) hide show
  1. package/dist/bin/cli.cjs +159 -67
  2. package/dist/{index-35038aec.d.ts → index-83133f2d.d.ts} +1 -0
  3. package/dist/next/config.cjs +2 -2
  4. package/dist/next/config.cjs.map +1 -1
  5. package/dist/next/config.js +2 -2
  6. package/dist/next/config.js.map +1 -1
  7. package/dist/next/middleware.cjs +5 -3
  8. package/dist/next/middleware.cjs.map +1 -1
  9. package/dist/next/middleware.js +5 -3
  10. package/dist/next/middleware.js.map +1 -1
  11. package/dist/utils/mfe-port.cjs +2690 -0
  12. package/dist/utils/mfe-port.cjs.map +1 -0
  13. package/dist/utils/mfe-port.d.ts +8 -0
  14. package/dist/utils/mfe-port.js +2655 -0
  15. package/dist/utils/mfe-port.js.map +1 -0
  16. package/dist/v2/config.cjs +3 -0
  17. package/dist/v2/config.cjs.map +1 -1
  18. package/dist/v2/config.d.ts +1 -1
  19. package/dist/v2/config.js +3 -0
  20. package/dist/v2/config.js.map +1 -1
  21. package/dist/v2/microfrontends/server.cjs +3 -0
  22. package/dist/v2/microfrontends/server.cjs.map +1 -1
  23. package/dist/v2/microfrontends/server.d.ts +1 -1
  24. package/dist/v2/microfrontends/server.js +3 -0
  25. package/dist/v2/microfrontends/server.js.map +1 -1
  26. package/dist/v2/microfrontends.cjs +3 -0
  27. package/dist/v2/microfrontends.cjs.map +1 -1
  28. package/dist/v2/microfrontends.d.ts +1 -1
  29. package/dist/v2/microfrontends.js +3 -0
  30. package/dist/v2/microfrontends.js.map +1 -1
  31. package/dist/v2/next/config.cjs +20 -9
  32. package/dist/v2/next/config.cjs.map +1 -1
  33. package/dist/v2/next/config.js +20 -9
  34. package/dist/v2/next/config.js.map +1 -1
  35. package/dist/v2/next/middleware.cjs +24 -10
  36. package/dist/v2/next/middleware.cjs.map +1 -1
  37. package/dist/v2/next/middleware.js +24 -10
  38. package/dist/v2/next/middleware.js.map +1 -1
  39. package/package.json +12 -5
@@ -491,6 +491,9 @@ var DefaultApplication = class extends Application {
491
491
  this.default = true;
492
492
  this.production = new Host(app.production);
493
493
  }
494
+ getAssetPrefix() {
495
+ return "";
496
+ }
494
497
  };
495
498
  var ChildApplication = class extends Application {
496
499
  constructor(name, {
@@ -1671,26 +1674,34 @@ function getDomainFromEnvironment({
1671
1674
  app,
1672
1675
  target
1673
1676
  }) {
1674
- var _a, _b;
1677
+ var _a;
1675
1678
  const mfeProjects = JSON.parse(
1676
- process.env.VERCEL_MICROFRONTENDS_PROJECTS ?? "{}"
1679
+ process.env.VERCEL_MICROFRONTENDS_PROJECTS ?? "[]"
1677
1680
  );
1678
- if (Object.keys(mfeProjects).length === 0) {
1681
+ if (mfeProjects.length === 0) {
1679
1682
  throw new Error("Missing related microfrontends project information");
1680
1683
  }
1681
1684
  if (!((_a = app.vercel) == null ? void 0 : _a.projectId)) {
1682
1685
  throw new Error(`Missing applications[${app.name}].vercel.projectId`);
1683
1686
  }
1684
- const vercelProject = (_b = mfeProjects.applications) == null ? void 0 : _b[app.vercel.projectId];
1687
+ const vercelProject = mfeProjects.find(
1688
+ (p) => {
1689
+ var _a2;
1690
+ return p.project.id === ((_a2 = app.vercel) == null ? void 0 : _a2.projectId);
1691
+ }
1692
+ );
1685
1693
  if (!vercelProject) {
1686
1694
  throw new Error(
1687
1695
  `Missing related microfrontends project information for application "${app.name}"`
1688
1696
  );
1689
1697
  }
1690
- if (target === "preview" && vercelProject.deploymentAlias) {
1691
- return vercelProject.deploymentAlias;
1698
+ const domain = target === "preview" && vercelProject.preview.branch ? vercelProject.preview.branch : vercelProject.production.alias ?? vercelProject.production.url;
1699
+ if (!domain) {
1700
+ throw new Error(
1701
+ `Missing domain for target "${target}" in application "${app.name}"`
1702
+ );
1692
1703
  }
1693
- return vercelProject.productionHost;
1704
+ return domain.startsWith("https://") ? domain : `https://${domain}`;
1694
1705
  }
1695
1706
 
1696
1707
  // src/routing-v2/get-domain-for-current-environment.ts
@@ -1719,10 +1730,10 @@ function getCurrentEnvironment() {
1719
1730
  }
1720
1731
  return { group: "custom", name: process.env.VERCEL_ENV };
1721
1732
  }
1722
- function getDomainForCurrentEnvironment(config, appName) {
1733
+ function getDomainForCurrentEnvironment(config, appName, opts = {}) {
1723
1734
  var _a;
1724
1735
  const app = config.getApplication(appName);
1725
- if ((_a = app.overrides) == null ? void 0 : _a.environment) {
1736
+ if (!opts.ignoreOverride && ((_a = app.overrides) == null ? void 0 : _a.environment)) {
1726
1737
  return app.overrides.environment.toString();
1727
1738
  }
1728
1739
  const { group } = getCurrentEnvironment();