import {Fragment} from 'react'; import ExternalLink from 'sentry/components/links/externalLink'; import List from 'sentry/components/list/'; import ListItem from 'sentry/components/list/listItem'; import {Layout, LayoutProps} from 'sentry/components/onboarding/gettingStartedDoc/layout'; import {ModuleProps} from 'sentry/components/onboarding/gettingStartedDoc/sdkDocumentation'; import {StepType} from 'sentry/components/onboarding/gettingStartedDoc/step'; import {t, tct} from 'sentry/locale'; export const steps = (): LayoutProps['steps'] => [ { type: StepType.INSTALL, description: (

{tct('Configure your app automatically with the [wizardLink:Sentry wizard].', { wizardLink: ( ), })}

), configurations: [ { language: 'bash', code: `npx @sentry/wizard@latest -i nextjs`, }, ], }, { type: StepType.CONFIGURE, description: ( {t( 'The Sentry wizard will automatically patch your application to configure the Sentry SDK:' )} {tct( 'Create [clientCode:sentry.client.config.js] and [serverCode:sentry.server.config.js] with the default [sentryInitCode:Sentry.init].', { clientCode: , serverCode: , sentryInitCode: , } )} {tct( 'Create or update your Next.js config [nextConfig:next.confg.js] with the default Sentry configuration', { nextConfig: , } )} {tct( 'Create [sentryClircCode:.sentryclirc] and [sentryPropertiesCode:sentry.properties] files with configuration for sentry-cli (which is used when automatically uploading source maps).', { sentryClircCode: , sentryPropertiesCode: , } )} {tct('add an example page to your app to verify your Sentry setup', { sentryClircCode: , })}

{tct('Alternatively, you can also [manualSetupLink:set up the SDK manually].', { manualSetupLink: ( ), })}

), }, ]; // Configuration End export function GettingStartedWithNextJs({...props}: ModuleProps) { return ; } export default GettingStartedWithNextJs;