video-accessibility-old/frontend/src/main.tsx
2025-10-10 09:19:39 -05:00

48 lines
1.5 KiB
TypeScript

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import * as Sentry from '@sentry/react'
import { PublicClientApplication } from '@azure/msal-browser'
import { MsalProvider } from '@azure/msal-react'
import './styles/index.css'
import App from './App.tsx'
import { msalConfig, validateMsalConfig } from './lib/msalConfig'
// Initialize MSAL (Microsoft Authentication Library)
validateMsalConfig();
const msalInstance = new PublicClientApplication(msalConfig);
// Initialize MSAL instance
await msalInstance.initialize();
// Initialize Sentry
if (import.meta.env.VITE_SENTRY_DSN) {
Sentry.init({
dsn: import.meta.env.VITE_SENTRY_DSN,
environment: import.meta.env.VITE_APP_ENV || 'development',
integrations: [
Sentry.browserTracingIntegration(),
Sentry.replayIntegration({
maskAllText: true,
blockAllMedia: true,
}),
],
tracesSampleRate: import.meta.env.VITE_APP_ENV === 'production' ? 0.1 : 1.0,
replaysSessionSampleRate: import.meta.env.VITE_APP_ENV === 'production' ? 0.1 : 1.0,
replaysOnErrorSampleRate: 1.0,
beforeSend(event) {
// Filter out PII and sensitive data
if (event.request?.headers?.Authorization) {
delete event.request.headers.Authorization;
}
return event;
},
});
}
createRoot(document.getElementById('root')!).render(
<StrictMode>
<MsalProvider instance={msalInstance}>
<App />
</MsalProvider>
</StrictMode>,
)