Skip to content

Commit 898314f

Browse files
committed
optmize getting browserinfo
1 parent e894dfd commit 898314f

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

code/lib/preview/src/utils.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@ import { global } from '@storybook/global';
22
import type { BrowserInfo } from 'browser-dtector';
33
import BrowserDetector from 'browser-dtector';
44

5+
let browserInfo: BrowserInfo | undefined;
6+
7+
function getBrowserInfo() {
8+
if (!browserInfo) {
9+
browserInfo = new BrowserDetector(global.navigator?.userAgent).getBrowserInfo();
10+
}
11+
12+
return browserInfo;
13+
}
14+
515
export function preprocessError(
616
error: Error & {
717
fromStorybook?: boolean;
@@ -13,7 +23,7 @@ export function preprocessError(
1323
}
1424
) {
1525
// eslint-disable-next-line no-param-reassign
16-
error.browserInfo = new BrowserDetector(global.navigator.userAgent).getBrowserInfo();
26+
error.browserInfo = getBrowserInfo();
1727

1828
return error;
1929
}

code/ui/manager/src/utils/preprocessError.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ import { global } from '@storybook/global';
44
import type { BrowserInfo } from 'browser-dtector';
55
import BrowserDetector from 'browser-dtector';
66

7+
let browserInfo: BrowserInfo | undefined;
8+
9+
function getBrowserInfo() {
10+
if (!browserInfo) {
11+
browserInfo = new BrowserDetector(global.navigator?.userAgent).getBrowserInfo();
12+
}
13+
14+
return browserInfo;
15+
}
16+
717
export function preprocessError(
818
originalError: Error & {
919
fromStorybook?: boolean;
@@ -31,7 +41,7 @@ export function preprocessError(
3141
error = new UncaughtManagerError({ error });
3242
}
3343

34-
error.browserInfo = new BrowserDetector(global.navigator.userAgent).getBrowserInfo();
44+
error.browserInfo = getBrowserInfo();
3545

3646
return error;
3747
}

0 commit comments

Comments
 (0)