{tct('In this quick guide you’ll use [strong:npm] or [strong:yarn] to set up:', { strong: , })}
}
),
configurations: getInstallConfig(),
},
],
configure: (params: Params) => [
{
type: StepType.CONFIGURE,
description: t(
"Initialize Sentry as early as possible in your application's lifecycle."
),
configurations: [
{
code: [
{
label: 'JavaScript',
value: 'javascript',
language: 'javascript',
code: getSdkSetupSnippet(params),
},
],
},
...(params.isProfilingSelected
? [getProfilingDocumentHeaderConfigurationStep()]
: []),
],
},
getUploadSourceMapsStep({
guideLink: 'https://docs.sentry.io/platforms/javascript/guides/react/sourcemaps/',
...params,
}),
],
verify: () => [
{
type: StepType.VERIFY,
description: t(
"This snippet contains an intentional error and can be used as a test to make sure that everything's working as expected."
),
configurations: [
{
code: [
{
label: 'React',
value: 'react',
language: 'javascript',
code: getVerifySnippet(),
},
],
},
],
},
],
nextSteps: () => [
{
id: 'react-features',
name: t('React Features'),
description: t('Learn about our first class integration with the React framework.'),
link: 'https://docs.sentry.io/platforms/javascript/guides/react/features/',
},
{
id: 'react-router',
name: t('React Router'),
description: t(
'Configure routing, so Sentry can generate parameterized transaction names for a better overview on the Performance page.'
),
link: 'https://docs.sentry.io/platforms/javascript/guides/react/configuration/integrations/react-router/',
},
],
};
const replayOnboarding: OnboardingConfig = {
install: () => [
{
type: StepType.INSTALL,
description: tct(
'Add the Sentry SDK as a dependency using [code:npm] or [code:yarn]. You need a minimum version 7.27.0 of [code:@sentry/react] in order to use Session Replay. You do not need to install any additional packages.',
{code:
}
),
configurations: getInstallConfig(),
},
],
configure: (params: Params) => [
{
type: StepType.CONFIGURE,
description: getReplayConfigureDescription({
link: 'https://docs.sentry.io/platforms/javascript/guides/react/session-replay/',
}),
configurations: [
{
code: [
{
label: 'JavaScript',
value: 'javascript',
language: 'javascript',
code: getSdkSetupSnippet(params),
},
],
additionalInfo:
,
}
),
configurations: getInstallConfig(),
},
],
configure: (params: Params) => [
{
type: StepType.CONFIGURE,
description: getFeedbackConfigureDescription({
linkConfig:
'https://docs.sentry.io/platforms/javascript/guides/react/user-feedback/configuration/',
linkButton:
'https://docs.sentry.io/platforms/javascript/guides/react/user-feedback/configuration/#bring-your-own-button',
}),
configurations: [
{
code: [
{
label: 'JavaScript',
value: 'javascript',
language: 'javascript',
code: getSdkSetupSnippet(params),
},
],
},
],
additionalInfo: crashReportCallout({
link: 'https://docs.sentry.io/platforms/javascript/guides/react/user-feedback/#crash-report-modal',
}),
},
],
verify: () => [],
nextSteps: () => [],
};
const crashReportOnboarding: OnboardingConfig = {
introduction: () => getCrashReportModalIntroduction(),
install: (params: Params) => getCrashReportJavaScriptInstallStep(params),
configure: () => [
{
type: StepType.CONFIGURE,
description: getCrashReportModalConfigDescription({
link: 'https://docs.sentry.io/platforms/javascript/guides/react/user-feedback/configuration/#crash-report-modal',
}),
additionalInfo: widgetCallout({
link: 'https://docs.sentry.io/platforms/javascript/guides/react/user-feedback/#user-feedback-widget',
}),
},
],
verify: () => [],
nextSteps: () => [],
};
const performanceOnboarding: OnboardingConfig = {
introduction: () =>
t(
"Adding Performance to your React project is simple. Make sure you've got these basics down."
),
install: onboarding.install,
configure: params => [
{
type: StepType.CONFIGURE,
configurations: [
{
language: 'javascript',
description: t(
"Configuration should happen as early as possible in your application's lifecycle."
),
code: `
import React from "react";
import ReactDOM from "react-dom";
import * as Sentry from "@sentry/react";
import App from "./App";
Sentry.init({
dsn: "${params.dsn.public}",
integrations: [Sentry.browserTracingIntegration()],
// Set tracesSampleRate to 1.0 to capture 100%
// of transactions for performance monitoring.
// We recommend adjusting this value in production
tracesSampleRate: 1.0,
// Set \`tracePropagationTargets\` to control for which URLs distributed tracing should be enabled
tracePropagationTargets: ["localhost", /^https:\/\/yourserver\.io\/api/],
});
ReactDOM.render(
,
linkTracingOptions: (
,
link: (