@servicetitan/web-components 22.1.0 → 22.2.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/common.d.ts CHANGED
@@ -22,11 +22,17 @@ export interface IWebComponent {
22
22
  provide(entries: Entries): void;
23
23
  }
24
24
  export declare function isCompatible(hostVersion: string, packageVersion: string): boolean;
25
+ export interface GetJsonError {
26
+ status: number;
27
+ body: string;
28
+ json: object;
29
+ }
25
30
  interface GetJsonOptions extends RequestInit {
26
31
  retries?: number;
27
32
  retryDelay?: number;
33
+ onRequestError?(error: GetJsonError): void;
28
34
  }
29
- export declare function getJson<T = any>(url: string, { retries, retryDelay, ...config }?: GetJsonOptions): Promise<{
35
+ export declare function getJson<T = any>(url: string, { retries, retryDelay, onRequestError, ...config }?: GetJsonOptions): Promise<{
30
36
  data: T;
31
37
  headers: Headers;
32
38
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,oBAAY,mBAAmB,GAAG,MAAM,CACpC,MAAM,EACN;IACI,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB,CACJ,CAAC;AAEF,eAAO,MAAM,cAAc,uDAAwC,CAAC;AACpE,eAAO,MAAM,0BAA0B,oEAEtC,CAAC;AACF,eAAO,MAAM,sBAAsB,wDAAiD,CAAC;AACrF,eAAO,MAAM,iBAAiB,2DAA+C,CAAC;AAE9E,MAAM,WAAW,OAAO;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAkCvE;AAED,UAAU,cAAe,SAAQ,WAAW;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,OAAO,CAAC,CAAC,GAAG,GAAG,EACjC,GAAG,EAAE,MAAM,EACX,EAAE,OAAW,EAAE,UAAiB,EAAE,GAAG,MAAM,EAAE,GAAE,cAAmB,GACnE,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAmCrD;AAED,wBAAgB,cAAc,oBAE7B"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,oBAAY,mBAAmB,GAAG,MAAM,CACpC,MAAM,EACN;IACI,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB,CACJ,CAAC;AAEF,eAAO,MAAM,cAAc,uDAAwC,CAAC;AACpE,eAAO,MAAM,0BAA0B,oEAEtC,CAAC;AACF,eAAO,MAAM,sBAAsB,wDAAiD,CAAC;AACrF,eAAO,MAAM,iBAAiB,2DAA+C,CAAC;AAE9E,MAAM,WAAW,OAAO;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAkCvE;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAe,SAAQ,WAAW;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAsB,OAAO,CAAC,CAAC,GAAG,GAAG,EACjC,GAAG,EAAE,MAAM,EACX,EAAE,OAAW,EAAE,UAAiB,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAE,cAAmB,GACnF,OAAO,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CA0CrD;AAED,wBAAgB,cAAc,oBAE7B"}
package/dist/common.js CHANGED
@@ -55,7 +55,7 @@ export function isCompatible(hostVersion, packageVersion) {
55
55
  }
56
56
  export function getJson(url, _a = {}) {
57
57
  var _b;
58
- var { retries = 5, retryDelay = 1000 } = _a, config = __rest(_a, ["retries", "retryDelay"]);
58
+ var { retries = 5, retryDelay = 1000, onRequestError } = _a, config = __rest(_a, ["retries", "retryDelay", "onRequestError"]);
59
59
  return __awaiter(this, void 0, void 0, function* () {
60
60
  let response;
61
61
  try {
@@ -73,15 +73,21 @@ export function getJson(url, _a = {}) {
73
73
  }
74
74
  throw new Error(`Failed to fetch: "${url}".`);
75
75
  }
76
+ const responseJSON = yield response.json().catch(() => ({}));
76
77
  if (!response.ok) {
77
78
  let message = `Requesting "${url}" failed with status code ${response.status}.`;
78
79
  try {
79
80
  message += ` Details: ${yield response.text()}.`;
80
81
  }
81
82
  catch (_d) { } // eslint-disable-line no-empty
83
+ onRequestError === null || onRequestError === void 0 ? void 0 : onRequestError({
84
+ status: response.status,
85
+ json: responseJSON,
86
+ body: yield response.text().catch(() => ''),
87
+ });
82
88
  throw new Error(message);
83
89
  }
84
- return { data: yield response.json(), headers: response.headers, url: (_b = response.url) !== null && _b !== void 0 ? _b : url };
90
+ return { data: responseJSON, headers: response.headers, url: (_b = response.url) !== null && _b !== void 0 ? _b : url };
85
91
  });
86
92
  }
87
93
  export function useCancelation() {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
package/dist/loader.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import { GetJsonError } from './common';
2
3
  import { EventBus } from './event-bus';
3
4
  export declare type LoaderRef = EventBus;
4
5
  export interface LoaderProps {
@@ -9,6 +10,8 @@ export interface LoaderProps {
9
10
  loadingFallback?: NonNullable<ReactNode> | null;
10
11
  errorFallback?: NonNullable<ReactNode> | null;
11
12
  className?: string;
13
+ retries?: number;
14
+ onRequestError?(error: GetJsonError): boolean;
12
15
  }
13
16
  export declare const Loader: import("react").ForwardRefExoticComponent<LoaderProps & import("react").RefAttributes<EventBus>>;
14
17
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EASH,SAAS,EACZ,MAAM,OAAO,CAAC;AAiBf,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AA4GrE,oBAAY,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,kGAqMlB,CAAC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"AAAA,OAAO,EASH,SAAS,EACZ,MAAM,OAAO,CAAC;AAUf,OAAO,EAKH,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,QAAQ,EAAgC,MAAM,aAAa,CAAC;AAkHrE,oBAAY,SAAS,GAAG,QAAQ,CAAC;AAEjC,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;CACjD;AAED,eAAO,MAAM,MAAM,kGAsNlB,CAAC"}
package/dist/loader.js CHANGED
@@ -32,18 +32,21 @@ function getEntrypoints(url, cache, signal) {
32
32
  }
33
33
  });
34
34
  }
35
- function getBundleInfo(mainPackageUrl, fallbackPackageUrl, exposedDependencies = {}, signal) {
35
+ function getBundleInfo(mainPackageUrl, fallbackPackageUrl, exposedDependencies = {}, signal, retries, onRequestError) {
36
36
  var _a, _b;
37
37
  return __awaiter(this, void 0, void 0, function* () {
38
38
  const { data: metadata, url: packageUrl } = yield getJson(`${mainPackageUrl}/dist/metadata.json`, {
39
39
  cache: isVersionedUrl(mainPackageUrl) ? undefined : 'no-store',
40
- retries: fallbackPackageUrl ? 0 : undefined,
40
+ retries: fallbackPackageUrl ? 0 : retries,
41
+ onRequestError,
41
42
  signal,
42
43
  }).catch(e => {
43
44
  if (!fallbackPackageUrl) {
44
45
  throw e;
45
46
  }
46
47
  return getJson(`${fallbackPackageUrl}/dist/metadata.json`, {
48
+ retries,
49
+ onRequestError,
47
50
  cache: isVersionedUrl(fallbackPackageUrl) ? undefined : 'no-store',
48
51
  signal,
49
52
  });
@@ -56,6 +59,7 @@ function getBundleInfo(mainPackageUrl, fallbackPackageUrl, exposedDependencies =
56
59
  }
57
60
  else {
58
61
  const { data: packageJson } = yield getJson(`${exactPackageUrl}/package.json`, {
62
+ retries,
59
63
  cache,
60
64
  signal,
61
65
  });
@@ -95,7 +99,7 @@ function getBundleInfo(mainPackageUrl, fallbackPackageUrl, exposedDependencies =
95
99
  };
96
100
  });
97
101
  }
98
- export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadingFallback, errorFallback, className }, ref) => {
102
+ export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadingFallback, errorFallback, className, retries, onRequestError, }, ref) => {
99
103
  const [isLoading, setIsLoading] = useState(true);
100
104
  const bus = useEventBus();
101
105
  const [logService, historyManager, exposedDependencies = EXPOSED_DEPENDENCIES, eventBus = bus,] = useOptionalDependencies(Log, HistoryManager, EXPOSED_DEPENDENCIES_TOKEN, EVENT_BUS_TOKEN);
@@ -118,7 +122,7 @@ export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadi
118
122
  const Lazy = useMemo(() => lazy(() => __awaiter(void 0, void 0, void 0, function* () {
119
123
  let bundleInfo;
120
124
  try {
121
- bundleInfo = yield getBundleInfo(src, fallbackSrc, exposedDependencies, cancelation.signal);
125
+ bundleInfo = yield getBundleInfo(src, fallbackSrc, exposedDependencies, cancelation.signal, retries, onRequestError);
122
126
  }
123
127
  catch (e) {
124
128
  if (cancelation.signal.aborted) {
@@ -195,11 +199,13 @@ export const Loader = forwardRef(({ src, fallbackSrc, data = {}, basename, loadi
195
199
  }, [
196
200
  src,
197
201
  fallbackSrc,
198
- className,
202
+ exposedDependencies,
203
+ retries,
204
+ onRequestError,
199
205
  logService,
200
206
  historyManager,
201
- exposedDependencies,
202
207
  basename,
208
+ className,
203
209
  dataAttrs,
204
210
  eventBus,
205
211
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/web-components",
3
- "version": "22.1.0",
3
+ "version": "22.2.0",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,15 +15,15 @@
15
15
  "src"
16
16
  ],
17
17
  "dependencies": {
18
- "@servicetitan/error-boundary": "22.1.0",
18
+ "@servicetitan/error-boundary": "22.2.0",
19
19
  "lodash.get": "~4.4.2",
20
20
  "mitt": "~3.0.0",
21
21
  "semver": "~7.3.8"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@servicetitan/design-system": "~12.6.2",
25
- "@servicetitan/log-service": "22.1.0",
26
- "@servicetitan/react-ioc": "22.1.0",
25
+ "@servicetitan/log-service": "22.2.0",
26
+ "@servicetitan/react-ioc": "22.2.0",
27
27
  "@types/history": "~4.7.10",
28
28
  "@types/lodash.get": "~4.4.6",
29
29
  "@types/react": "~17.0.38",
@@ -35,8 +35,8 @@
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@servicetitan/design-system": "~12.6.2",
38
- "@servicetitan/log-service": "22.1.0",
39
- "@servicetitan/react-ioc": "22.1.0",
38
+ "@servicetitan/log-service": "22.2.0",
39
+ "@servicetitan/react-ioc": "22.2.0",
40
40
  "history": "~4.10.1",
41
41
  "react": "~17.0.2",
42
42
  "react-dom": "~17.0.2"
@@ -47,5 +47,5 @@
47
47
  "cli": {
48
48
  "webpack": false
49
49
  },
50
- "gitHead": "56ffd93619b8fd85a355c00eb2d57e95389a23e8"
50
+ "gitHead": "cbb2dd04f51e14f207ade193ba2a167d6f220f61"
51
51
  }
@@ -0,0 +1,94 @@
1
+ import { getJson } from '../common';
2
+
3
+ describe('getJSON', () => {
4
+ let spySetTimeout = jest.spyOn(global, 'setTimeout');
5
+ let spyFetch = jest.spyOn(global, 'fetch');
6
+
7
+ beforeEach(() => {
8
+ spySetTimeout = jest.spyOn(global, 'setTimeout').mockImplementation(cb => {
9
+ cb();
10
+ return null as any;
11
+ });
12
+ spyFetch = jest.spyOn(global, 'fetch');
13
+ });
14
+
15
+ afterEach(() => {
16
+ jest.resetModules();
17
+ spySetTimeout.mockClear();
18
+ spyFetch.mockClear();
19
+ });
20
+
21
+ describe('retries count', () => {
22
+ test('getJSON success', async () => {
23
+ spyFetch.mockResolvedValue({
24
+ ok: true,
25
+ json: () => Promise.resolve('test'),
26
+ } as any);
27
+
28
+ const result = await getJson('fake://url', { retries: 2 });
29
+
30
+ expect(result).toEqual({
31
+ data: 'test',
32
+ headers: undefined,
33
+ url: 'fake://url',
34
+ });
35
+ expect(spyFetch).toHaveBeenCalledTimes(1);
36
+ });
37
+
38
+ test('getJSON API error', async () => {
39
+ spyFetch.mockResolvedValue({
40
+ ok: false,
41
+ status: 444,
42
+ json: () => Promise.resolve('test'),
43
+ text: () => Promise.resolve('Text'),
44
+ } as any);
45
+
46
+ await expect(getJson('fake://url', { retries: 2 })).rejects.toThrow(
47
+ `Requesting "fake://url" failed with status code 444. Details: Text.`
48
+ );
49
+ expect(spyFetch).toHaveBeenCalledTimes(1);
50
+ });
51
+
52
+ test('getJSON network error', async () => {
53
+ spyFetch.mockRejectedValue({});
54
+
55
+ await expect(getJson('fake://url', { retries: 10 })).rejects.toThrow(
56
+ `Failed to fetch: "fake://url".`
57
+ );
58
+ expect(spyFetch).toHaveBeenCalledTimes(11);
59
+ });
60
+ });
61
+
62
+ describe('onRequestError', () => {
63
+ test('onRequestError is called when server returns error', async () => {
64
+ const onRequestError = jest.fn().mockReturnValue(undefined);
65
+ spyFetch.mockReturnValue({
66
+ ok: false,
67
+ status: 444,
68
+ json: () => Promise.resolve('test'),
69
+ text: () => Promise.resolve('test b'),
70
+ } as any);
71
+
72
+ await getJson('fake://url', { onRequestError }).catch(() => null);
73
+
74
+ expect(onRequestError).toHaveBeenCalledTimes(1);
75
+ expect(onRequestError).toHaveBeenCalledWith({
76
+ status: 444,
77
+ json: 'test',
78
+ body: 'test b',
79
+ });
80
+ });
81
+ test('onRequestError is not called when server returns 200 OK', async () => {
82
+ const onRequestError = jest.fn().mockReturnValue(undefined);
83
+ spyFetch.mockReturnValue({
84
+ ok: true,
85
+ status: 200,
86
+ json: () => Promise.resolve('test'),
87
+ } as any);
88
+
89
+ await getJson('fake://url', { onRequestError }).catch(() => null);
90
+
91
+ expect(onRequestError).toHaveBeenCalledTimes(0);
92
+ });
93
+ });
94
+ });
package/src/common.ts CHANGED
@@ -73,14 +73,21 @@ export function isCompatible(hostVersion: string, packageVersion: string) {
73
73
  return false;
74
74
  }
75
75
 
76
+ export interface GetJsonError {
77
+ status: number;
78
+ body: string;
79
+ json: object;
80
+ }
81
+
76
82
  interface GetJsonOptions extends RequestInit {
77
83
  retries?: number;
78
84
  retryDelay?: number;
85
+ onRequestError?(error: GetJsonError): void;
79
86
  }
80
87
 
81
88
  export async function getJson<T = any>(
82
89
  url: string,
83
- { retries = 5, retryDelay = 1000, ...config }: GetJsonOptions = {}
90
+ { retries = 5, retryDelay = 1000, onRequestError, ...config }: GetJsonOptions = {}
84
91
  ): Promise<{ data: T; headers: Headers; url: string }> {
85
92
  let response: Response;
86
93
  try {
@@ -105,6 +112,8 @@ export async function getJson<T = any>(
105
112
  throw new Error(`Failed to fetch: "${url}".`);
106
113
  }
107
114
 
115
+ const responseJSON = await response.json().catch(() => ({}));
116
+
108
117
  if (!response.ok) {
109
118
  let message = `Requesting "${url}" failed with status code ${response.status}.`;
110
119
 
@@ -112,10 +121,15 @@ export async function getJson<T = any>(
112
121
  message += ` Details: ${await response.text()}.`;
113
122
  } catch {} // eslint-disable-line no-empty
114
123
 
124
+ onRequestError?.({
125
+ status: response.status,
126
+ json: responseJSON,
127
+ body: await response.text().catch(() => ''),
128
+ });
115
129
  throw new Error(message);
116
130
  }
117
131
 
118
- return { data: await response.json(), headers: response.headers, url: response.url ?? url };
132
+ return { data: responseJSON, headers: response.headers, url: response.url ?? url };
119
133
  }
120
134
 
121
135
  export function useCancelation() {
package/src/loader.tsx CHANGED
@@ -23,6 +23,7 @@ import {
23
23
  EXPOSED_DEPENDENCIES_TOKEN,
24
24
  useCancelation,
25
25
  getJson,
26
+ GetJsonError,
26
27
  IWebComponent,
27
28
  } from './common';
28
29
  import { EventBus, EVENT_BUS_TOKEN, useEventBus } from './event-bus';
@@ -56,13 +57,16 @@ async function getBundleInfo(
56
57
  mainPackageUrl: string,
57
58
  fallbackPackageUrl: string | undefined,
58
59
  exposedDependencies: ExposedDependencies = {},
59
- signal?: AbortSignal
60
+ signal?: AbortSignal,
61
+ retries?: number,
62
+ onRequestError?: (error: GetJsonError) => void
60
63
  ) {
61
64
  const { data: metadata, url: packageUrl } = await getJson(
62
65
  `${mainPackageUrl}/dist/metadata.json`,
63
66
  {
64
67
  cache: isVersionedUrl(mainPackageUrl) ? undefined : 'no-store',
65
- retries: fallbackPackageUrl ? 0 : undefined,
68
+ retries: fallbackPackageUrl ? 0 : retries,
69
+ onRequestError,
66
70
  signal,
67
71
  }
68
72
  ).catch(e => {
@@ -71,6 +75,8 @@ async function getBundleInfo(
71
75
  }
72
76
 
73
77
  return getJson(`${fallbackPackageUrl}/dist/metadata.json`, {
78
+ retries,
79
+ onRequestError,
74
80
  cache: isVersionedUrl(fallbackPackageUrl) ? undefined : 'no-store',
75
81
  signal,
76
82
  });
@@ -85,6 +91,7 @@ async function getBundleInfo(
85
91
  dependencies = metadata.dependencies;
86
92
  } else {
87
93
  const { data: packageJson } = await getJson(`${exactPackageUrl}/package.json`, {
94
+ retries,
88
95
  cache,
89
96
  signal,
90
97
  });
@@ -143,10 +150,25 @@ export interface LoaderProps {
143
150
  loadingFallback?: NonNullable<ReactNode> | null;
144
151
  errorFallback?: NonNullable<ReactNode> | null;
145
152
  className?: string;
153
+ retries?: number;
154
+ onRequestError?(error: GetJsonError): boolean;
146
155
  }
147
156
 
148
157
  export const Loader = forwardRef<LoaderRef, LoaderProps>(
149
- ({ src, fallbackSrc, data = {}, basename, loadingFallback, errorFallback, className }, ref) => {
158
+ (
159
+ {
160
+ src,
161
+ fallbackSrc,
162
+ data = {},
163
+ basename,
164
+ loadingFallback,
165
+ errorFallback,
166
+ className,
167
+ retries,
168
+ onRequestError,
169
+ },
170
+ ref
171
+ ) => {
150
172
  const [isLoading, setIsLoading] = useState(true);
151
173
 
152
174
  const bus = useEventBus();
@@ -200,7 +222,9 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
200
222
  src,
201
223
  fallbackSrc,
202
224
  exposedDependencies,
203
- cancelation.signal
225
+ cancelation.signal,
226
+ retries,
227
+ onRequestError
204
228
  );
205
229
  } catch (e) {
206
230
  if (cancelation.signal.aborted) {
@@ -302,11 +326,13 @@ export const Loader = forwardRef<LoaderRef, LoaderProps>(
302
326
  }, [
303
327
  src,
304
328
  fallbackSrc,
305
- className,
329
+ exposedDependencies,
330
+ retries,
331
+ onRequestError,
306
332
  logService,
307
333
  historyManager,
308
- exposedDependencies,
309
334
  basename,
335
+ className,
310
336
  dataAttrs,
311
337
  eventBus,
312
338
  ]);