Refactor Baselime monitoring provider for optional API key

The code was adjusted to not require an API key for the Baselime monitoring provider. Now, a warning will be logged if no key is provided. Dependencies in pnpm-lock.yaml and error message in baselime-server-monitoring.service.ts were also updated accordingly to reflect this change, primarily to utilize the variable 'NEXT_PUBLIC_BASELIME_KEY' instead of 'BASELIME_API_KEY'.
This commit is contained in:
giancarlo
2024-04-25 13:32:22 +07:00
parent 03d06b64ba
commit 3b3f50a714
3 changed files with 18 additions and 8 deletions

View File

@@ -12,13 +12,24 @@ export function BaselimeProvider({
enableWebVitals,
ErrorPage,
}: React.PropsWithChildren<{
apiKey: string;
apiKey?: string;
enableWebVitals?: boolean;
ErrorPage?: React.ReactElement;
}>) {
const key = apiKey ?? process.env.NEXT_PUBLIC_BASELIME_KEY ?? '';
if (!key) {
console.warn(
'You configured Baselime as monitoring provider but did not provide a key. ' +
'Please provide a key to enable monitoring with Baselime using the variable NEXT_PUBLIC_BASELIME_KEY.',
);
return children;
}
return (
<BaselimeRum
apiKey={apiKey}
apiKey={key}
enableWebVitals={enableWebVitals}
fallback={ErrorPage ?? null}
>

View File

@@ -5,9 +5,9 @@ import { MonitoringService } from '@kit/monitoring-core';
const apiKey = z
.string({
required_error: 'BASELIME_API_KEY is required',
required_error: 'NEXT_PUBLIC_BASELIME_KEY is required',
})
.parse(process.env.BASELIME_API_KEY);
.parse(process.env.NEXT_PUBLIC_BASELIME_KEY);
export class BaselimeServerMonitoringService implements MonitoringService {
userId: string | null = null;