@backstage/core-app-api 1.4.0 → 1.4.1-next.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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @backstage/core-app-api
2
2
 
3
+ ## 1.4.1-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - dff4d8ddb1: Fixed an issue where an explicit port the frontend base URL could break the app.
8
+ - Updated dependencies
9
+ - @backstage/config@1.0.6
10
+ - @backstage/core-plugin-api@1.3.0
11
+ - @backstage/types@1.0.2
12
+ - @backstage/version-bridge@1.0.3
13
+
3
14
  ## 1.4.0
4
15
 
5
16
  ### Minor Changes
package/dist/index.esm.js CHANGED
@@ -2727,6 +2727,13 @@ var __privateSet = (obj, member, value, setter) => {
2727
2727
  return value;
2728
2728
  };
2729
2729
  var _getProviderCalled;
2730
+ function createLocalBaseUrl(fullUrl) {
2731
+ const url = new URL(fullUrl);
2732
+ url.protocol = document.location.protocol;
2733
+ url.hostname = document.location.hostname;
2734
+ url.port = document.location.port;
2735
+ return url.toString().replace(/\/$/, "");
2736
+ }
2730
2737
  function useConfigLoader(configLoader, components, appThemeApi) {
2731
2738
  var _a;
2732
2739
  const hasConfig = Boolean(configLoader);
@@ -2748,13 +2755,6 @@ function useConfigLoader(configLoader, components, appThemeApi) {
2748
2755
  let configReader;
2749
2756
  if ((_a = config.value) == null ? void 0 : _a.length) {
2750
2757
  const urlConfigReader = ConfigReader.fromConfigs(config.value);
2751
- const getOrigin = (url) => new URL(url).origin;
2752
- const overrideOrigin = (fullUrl) => {
2753
- return new URL(
2754
- fullUrl.replace(getOrigin(fullUrl), ""),
2755
- document.location.origin
2756
- ).href.replace(/\/$/, "");
2757
- };
2758
2758
  const appBaseUrl = urlConfigReader.getOptionalString("app.baseUrl");
2759
2759
  const backendBaseUrl = urlConfigReader.getOptionalString("backend.baseUrl");
2760
2760
  let configs = config.value;
@@ -2763,17 +2763,17 @@ function useConfigLoader(configLoader, components, appThemeApi) {
2763
2763
  context: "relative-resolver"
2764
2764
  };
2765
2765
  if (appBaseUrl && backendBaseUrl) {
2766
- const appOrigin = getOrigin(appBaseUrl);
2767
- const backendOrigin = getOrigin(backendBaseUrl);
2766
+ const appOrigin = new URL(appBaseUrl).origin;
2767
+ const backendOrigin = new URL(backendBaseUrl).origin;
2768
2768
  if (appOrigin === backendOrigin) {
2769
- const newBackendBaseUrl = overrideOrigin(backendBaseUrl);
2769
+ const newBackendBaseUrl = createLocalBaseUrl(backendBaseUrl);
2770
2770
  if (backendBaseUrl !== newBackendBaseUrl) {
2771
2771
  relativeResolverConfig.data.backend = { baseUrl: newBackendBaseUrl };
2772
2772
  }
2773
2773
  }
2774
2774
  }
2775
2775
  if (appBaseUrl) {
2776
- const newAppBaseUrl = overrideOrigin(appBaseUrl);
2776
+ const newAppBaseUrl = createLocalBaseUrl(appBaseUrl);
2777
2777
  if (appBaseUrl !== newAppBaseUrl) {
2778
2778
  relativeResolverConfig.data.app = { baseUrl: newAppBaseUrl };
2779
2779
  }