index.tsx 865 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { CaptureConsole } from '@sentry/integrations'
  2. import * as Sentry from '@sentry/react'
  3. import React from 'react'
  4. import ReactDOM from 'react-dom'
  5. import { Logger } from '@/utils/logger'
  6. import { App } from './App'
  7. import { BUILD_ENV, TARGET_DEV_ENV } from './config/envs'
  8. import { SENTRY_DSN } from './config/urls'
  9. const initApp = async () => {
  10. if (BUILD_ENV !== 'production' && TARGET_DEV_ENV === 'mocking') {
  11. try {
  12. const { worker } = await import('./mocking/browser')
  13. await worker.start()
  14. } catch (e) {
  15. Logger.error('Failed to load mocking server', e)
  16. }
  17. }
  18. if (BUILD_ENV === 'production') {
  19. Sentry.init({
  20. dsn: SENTRY_DSN,
  21. integrations: [
  22. new CaptureConsole({
  23. levels: ['error'],
  24. }),
  25. ],
  26. })
  27. }
  28. ReactDOM.render(<App />, document.getElementById('root'))
  29. }
  30. initApp()