From f49ae6aeea15a77b57a7ac0fc4d765317247572b Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Fri, 6 Dec 2024 13:42:24 +0100 Subject: [PATCH 01/14] add rr docs --- .../application-not-responding.mdx | 1 + .../configuration/integrations/amqplib.mdx | 1 + .../common/configuration/integrations/anr.mdx | 1 + .../integrations/childProcess.mdx | 1 + .../configuration/integrations/console.mdx | 1 + .../configuration/integrations/dataloader.mdx | 1 + .../common/configuration/integrations/fs.mdx | 1 + .../integrations/genericpool.mdx | 1 + .../configuration/integrations/graphql.mdx | 1 + .../configuration/integrations/http.mdx | 1 + .../configuration/integrations/kafka.mdx | 1 + .../configuration/integrations/knex.mdx | 1 + .../integrations/localvariables.mdx | 1 + .../integrations/lrumemoizer.mdx | 1 + .../configuration/integrations/modules.mdx | 1 + .../configuration/integrations/mongo.mdx | 1 + .../configuration/integrations/mongoose.mdx | 1 + .../configuration/integrations/mysql.mdx | 1 + .../configuration/integrations/mysql2.mdx | 1 + .../integrations/nodecontext.mdx | 1 + .../configuration/integrations/nodefetch.mdx | 1 + .../integrations/nodeprofiling.mdx | 1 + .../integrations/onuncaughtexception.mdx | 1 + .../configuration/integrations/postgres.mdx | 1 + .../configuration/integrations/prisma.mdx | 1 + .../integrations/processThreadsBreadcrumb.mdx | 1 + .../configuration/integrations/redis.mdx | 1 + .../integrations/requestdata.mdx | 1 + .../configuration/integrations/tedious.mdx | 1 + .../configuration/integrations/trpc.mdx | 1 + .../integrations/unhandledrejection.mdx | 1 + .../javascript/common/crons/index.mdx | 1 + .../common/crons/troubleshooting.mdx | 1 + docs/platforms/javascript/common/index.mdx | 6 +- .../javascript/common/install/index.mdx | 1 + .../javascript/common/install/loader.mdx | 1 + .../javascript/common/install/npm.mdx | 1 + .../common/opentelemetry/custom-setup.mdx | 1 + .../javascript/common/opentelemetry/index.mdx | 1 + .../using-opentelemetry-apis.mdx | 1 + .../common/sourcemaps/uploading/cli.mdx | 1 + .../common/sourcemaps/uploading/index.mdx | 1 + .../javascript/guides/react-router/config.yml | 8 ++ .../javascript.react-router.mdx | 120 ++++++++++++++++++ .../javascript.react-router.mdx | 11 ++ .../javascript.react-router.mdx | 12 ++ .../javascript.react-router.mdx | 9 ++ .../javascript.react-router.mdx | 21 +++ public/icon/rr.svg | 6 + src/components/platformIcon.tsx | 7 + 50 files changed, 238 insertions(+), 3 deletions(-) create mode 100644 docs/platforms/javascript/guides/react-router/config.yml create mode 100644 platform-includes/getting-started-config/javascript.react-router.mdx create mode 100644 platform-includes/getting-started-install/javascript.react-router.mdx create mode 100644 platform-includes/getting-started-primer/javascript.react-router.mdx create mode 100644 platform-includes/getting-started-sourcemaps/javascript.react-router.mdx create mode 100644 platform-includes/getting-started-verify/javascript.react-router.mdx create mode 100644 public/icon/rr.svg diff --git a/docs/platforms/javascript/common/configuration/application-not-responding.mdx b/docs/platforms/javascript/common/configuration/application-not-responding.mdx index 7ae5315f3e783..5bc59597a3698 100644 --- a/docs/platforms/javascript/common/configuration/application-not-responding.mdx +++ b/docs/platforms/javascript/common/configuration/application-not-responding.mdx @@ -19,6 +19,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro keywords: [ diff --git a/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx b/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx index 0a302771c40d9..09ceb02b7b471 100644 --- a/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/amqplib.mdx @@ -20,6 +20,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/anr.mdx b/docs/platforms/javascript/common/configuration/integrations/anr.mdx index a02758717671c..5ea6a3249136a 100644 --- a/docs/platforms/javascript/common/configuration/integrations/anr.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/anr.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro --- diff --git a/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx b/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx index c1e9eb228bcaf..18831fc7c94b1 100644 --- a/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/childProcess.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro --- diff --git a/docs/platforms/javascript/common/configuration/integrations/console.mdx b/docs/platforms/javascript/common/configuration/integrations/console.mdx index f0c0e470daaee..11efb15a93f00 100644 --- a/docs/platforms/javascript/common/configuration/integrations/console.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/console.mdx @@ -19,6 +19,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.deno diff --git a/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx b/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx index 76228d5d8cb1f..444d8eac74e52 100644 --- a/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/dataloader.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/fs.mdx b/docs/platforms/javascript/common/configuration/integrations/fs.mdx index d10bb6aeaabc4..3cd1d3121a18e 100644 --- a/docs/platforms/javascript/common/configuration/integrations/fs.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/fs.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx b/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx index e99219ac0e517..70dd20faff1b1 100644 --- a/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/genericpool.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/graphql.mdx b/docs/platforms/javascript/common/configuration/integrations/graphql.mdx index 38183a260664b..7449362710044 100644 --- a/docs/platforms/javascript/common/configuration/integrations/graphql.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/graphql.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/http.mdx b/docs/platforms/javascript/common/configuration/integrations/http.mdx index f6942de92e067..b15feebf313bd 100644 --- a/docs/platforms/javascript/common/configuration/integrations/http.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/http.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/kafka.mdx b/docs/platforms/javascript/common/configuration/integrations/kafka.mdx index e7b7b292c3fa1..172bab14e6b17 100644 --- a/docs/platforms/javascript/common/configuration/integrations/kafka.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/kafka.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/knex.mdx b/docs/platforms/javascript/common/configuration/integrations/knex.mdx index 3fa08bded37a7..e1fb4f9fb8af9 100644 --- a/docs/platforms/javascript/common/configuration/integrations/knex.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/knex.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx b/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx index f73adc55a47f8..e74cc4e12310e 100644 --- a/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/localvariables.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.cloudflare diff --git a/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx b/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx index fc0ed93f8b2d3..8bed1557a1132 100644 --- a/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/lrumemoizer.mdx @@ -20,6 +20,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/modules.mdx b/docs/platforms/javascript/common/configuration/integrations/modules.mdx index 0ec6dd8003a52..9704496b79fc5 100644 --- a/docs/platforms/javascript/common/configuration/integrations/modules.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/modules.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.deno diff --git a/docs/platforms/javascript/common/configuration/integrations/mongo.mdx b/docs/platforms/javascript/common/configuration/integrations/mongo.mdx index 463ec9dccda23..a4f7828b403eb 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mongo.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mongo.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx b/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx index f7de02f2059cc..563be350673a7 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mongoose.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/mysql.mdx b/docs/platforms/javascript/common/configuration/integrations/mysql.mdx index 03cecc8a47ff0..3685b1bc67d90 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mysql.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mysql.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx b/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx index 4afe849dfd4e7..81f6aea2319e2 100644 --- a/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/mysql2.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx b/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx index 0a48bd770e4c4..53fcf33a5caa5 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nodecontext.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx b/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx index 17678309bbfe0..5c08d40bf1c1c 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nodefetch.mdx @@ -19,6 +19,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx b/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx index 4f56bf12fd4a4..cb5cf471a8b69 100644 --- a/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/nodeprofiling.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro --- diff --git a/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx b/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx index 61e82e5a5812b..d20afc7f50cc6 100644 --- a/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/onuncaughtexception.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.deno diff --git a/docs/platforms/javascript/common/configuration/integrations/postgres.mdx b/docs/platforms/javascript/common/configuration/integrations/postgres.mdx index 1dfaff7f4e2fd..2fa7aa9cae350 100644 --- a/docs/platforms/javascript/common/configuration/integrations/postgres.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/postgres.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/prisma.mdx b/docs/platforms/javascript/common/configuration/integrations/prisma.mdx index 824bcfd580cef..65d9292aaaade 100644 --- a/docs/platforms/javascript/common/configuration/integrations/prisma.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/prisma.mdx @@ -17,6 +17,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/processThreadsBreadcrumb.mdx b/docs/platforms/javascript/common/configuration/integrations/processThreadsBreadcrumb.mdx index 074c58a1a1345..d783c2d517b5b 100644 --- a/docs/platforms/javascript/common/configuration/integrations/processThreadsBreadcrumb.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/processThreadsBreadcrumb.mdx @@ -17,6 +17,7 @@ supported: - javascript.nuxt - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro --- diff --git a/docs/platforms/javascript/common/configuration/integrations/redis.mdx b/docs/platforms/javascript/common/configuration/integrations/redis.mdx index 7bd5edc3ac470..392ca10f72c23 100644 --- a/docs/platforms/javascript/common/configuration/integrations/redis.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/redis.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx b/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx index ac25fbe09efb0..557d8e0270c96 100644 --- a/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/requestdata.mdx @@ -19,6 +19,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.cloudflare --- diff --git a/docs/platforms/javascript/common/configuration/integrations/tedious.mdx b/docs/platforms/javascript/common/configuration/integrations/tedious.mdx index be1d9bc9e16cc..1e7d86f71be9e 100644 --- a/docs/platforms/javascript/common/configuration/integrations/tedious.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/tedious.mdx @@ -20,6 +20,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun --- diff --git a/docs/platforms/javascript/common/configuration/integrations/trpc.mdx b/docs/platforms/javascript/common/configuration/integrations/trpc.mdx index 995e32c43cd4b..9e613642ad54a 100644 --- a/docs/platforms/javascript/common/configuration/integrations/trpc.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/trpc.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.deno - javascript.bun diff --git a/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx b/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx index 1fe5cd5b3c48a..a876b28a96cac 100644 --- a/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx +++ b/docs/platforms/javascript/common/configuration/integrations/unhandledrejection.mdx @@ -18,6 +18,7 @@ supported: - javascript.solidstart - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.deno diff --git a/docs/platforms/javascript/common/crons/index.mdx b/docs/platforms/javascript/common/crons/index.mdx index c04b2bd63cd23..e22726f7301be 100644 --- a/docs/platforms/javascript/common/crons/index.mdx +++ b/docs/platforms/javascript/common/crons/index.mdx @@ -6,6 +6,7 @@ supported: - javascript.nextjs - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.deno diff --git a/docs/platforms/javascript/common/crons/troubleshooting.mdx b/docs/platforms/javascript/common/crons/troubleshooting.mdx index 973222a156495..f322d4b9faf1a 100644 --- a/docs/platforms/javascript/common/crons/troubleshooting.mdx +++ b/docs/platforms/javascript/common/crons/troubleshooting.mdx @@ -6,6 +6,7 @@ supported: - javascript.nextjs - javascript.sveltekit - javascript.remix + - javascript.react-router - javascript.astro - javascript.bun - javascript.deno diff --git a/docs/platforms/javascript/common/index.mdx b/docs/platforms/javascript/common/index.mdx index ce0f5a47bee06..3b0cae9c6bcd6 100644 --- a/docs/platforms/javascript/common/index.mdx +++ b/docs/platforms/javascript/common/index.mdx @@ -22,7 +22,7 @@ Check out the other SDKs we support in the left-hand dropdown. - + ## Features @@ -40,7 +40,7 @@ Select which Sentry features you'd like to install in addition to Error Monitori - + In addition to capturing errors, you can monitor interactions between multiple services or applications by [enabling tracing](/concepts/key-terms/tracing/). You can also collect and analyze performance profiles from real users with [profiling](/product/explore/profiling/). @@ -72,7 +72,7 @@ Sentry captures data by using an SDK within your application’s runtime. ## Configure - + Configuration should happen as early as possible in your application's lifecycle. diff --git a/docs/platforms/javascript/common/install/index.mdx b/docs/platforms/javascript/common/install/index.mdx index 523fb6b62903e..fb65f1d213fef 100644 --- a/docs/platforms/javascript/common/install/index.mdx +++ b/docs/platforms/javascript/common/install/index.mdx @@ -26,6 +26,7 @@ notSupported: - javascript.azure-functions - javascript.gcp-functions - javascript.cloudflare + - javascript.react-router --- diff --git a/docs/platforms/javascript/common/install/loader.mdx b/docs/platforms/javascript/common/install/loader.mdx index 372f6042f30a6..185d5e156bb01 100644 --- a/docs/platforms/javascript/common/install/loader.mdx +++ b/docs/platforms/javascript/common/install/loader.mdx @@ -18,6 +18,7 @@ notSupported: - javascript.vue - javascript.wasm - javascript.remix + - javascript.react-router - javascript.svelte - javascript.sveltekit - javascript.node diff --git a/docs/platforms/javascript/common/install/npm.mdx b/docs/platforms/javascript/common/install/npm.mdx index 4d832bbeee527..b2d3b2f62bfc4 100644 --- a/docs/platforms/javascript/common/install/npm.mdx +++ b/docs/platforms/javascript/common/install/npm.mdx @@ -18,6 +18,7 @@ notSupported: - javascript.vue - javascript.wasm - javascript.remix + - javascript.react-router - javascript.solid - javascript.solidstart - javascript.svelte diff --git a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx index 2d7403c104ca1..35d4a6240b58e 100644 --- a/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx +++ b/docs/platforms/javascript/common/opentelemetry/custom-setup.mdx @@ -18,6 +18,7 @@ supported: - javascript.sveltekit - javascript.astro - javascript.remix + - javascript.react-router notSupported: - javascript sidebar_order: 0 diff --git a/docs/platforms/javascript/common/opentelemetry/index.mdx b/docs/platforms/javascript/common/opentelemetry/index.mdx index 38e6d0b41a302..38a3e32de05eb 100644 --- a/docs/platforms/javascript/common/opentelemetry/index.mdx +++ b/docs/platforms/javascript/common/opentelemetry/index.mdx @@ -19,6 +19,7 @@ supported: - javascript.sveltekit - javascript.astro - javascript.remix + - javascript.react-router notSupported: - javascript --- diff --git a/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx b/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx index 5bb0cbfaa245a..4ea751284fd04 100644 --- a/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx +++ b/docs/platforms/javascript/common/opentelemetry/using-opentelemetry-apis.mdx @@ -18,6 +18,7 @@ supported: - javascript.sveltekit - javascript.astro - javascript.remix + - javascript.react-router notSupported: - javascript sidebar_order: 1 diff --git a/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx b/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx index 3dd9c0fd4fdd0..c40297e46c7b9 100644 --- a/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx +++ b/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx @@ -5,6 +5,7 @@ sidebar_order: 6 notSupported: - javascript.nextjs - javascript.remix + - javascript.react-router - javascript.solidstart - javascript.sveltekit - javascript.astro diff --git a/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx b/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx index d83b6f7479cb3..4dfd4f15d0d6e 100644 --- a/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx +++ b/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx @@ -5,6 +5,7 @@ sidebar_order: 1 notSupported: - javascript.nextjs - javascript.remix + - javascript.react-router - javascript.solidstart - javascript.sveltekit - javascript.astro diff --git a/docs/platforms/javascript/guides/react-router/config.yml b/docs/platforms/javascript/guides/react-router/config.yml new file mode 100644 index 0000000000000..f62329f1af2ba --- /dev/null +++ b/docs/platforms/javascript/guides/react-router/config.yml @@ -0,0 +1,8 @@ +title: React Router +description: React Router (v7) is a framework for building full-stack web apps and websites. Learn how to set it up with Sentry. +sdk: sentry.javascript.react-router +categories: + - javascript + - browser + - server + - server-node diff --git a/platform-includes/getting-started-config/javascript.react-router.mdx b/platform-includes/getting-started-config/javascript.react-router.mdx new file mode 100644 index 0000000000000..15500cdee2361 --- /dev/null +++ b/platform-includes/getting-started-config/javascript.react-router.mdx @@ -0,0 +1,120 @@ +### Expose Hooks +React Router exposes two hooks in your `app` folder (`entry.client.tsx` and `entry.server.tsx`). +If you do not see these two files, expose them with the following command: + +```bash +npx react-router reveal +``` + +### Client-Side Setup + +Initialize the Sentry React SDK in your `entry.client.tsx` file: + +```tsx {filename: entry.client.tsx} +import * as Sentry from "@sentry/react"; +import { startTransition, StrictMode } from "react"; +import { hydrateRoot } from "react-dom/client"; +import { HydratedRouter } from "react-router/dom"; + +Sentry.init({ + dsn: "___PUBLIC_DSN___", + integrations: [Sentry.browserTracingIntegration()], + + tracesSampleRate: 1.0, // Capture 100% of the transactions + + // Set `tracePropagationTargets` to control for which URLs trace propagation should be enabled + tracePropagationTargets: [/^\//, /^https:\/\/yourserver\.io\/api/], +}); + +startTransition(() => { + hydrateRoot( + document, + + + + ); +}); +``` + +Now, update your `app/root.tsx` file to include a report any unhandled errors from your error boundary: + +```tsx {filename: app/root.tsx} {14,15} +import * as Sentry from "@sentry/react"; + +export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { + let message = "Oops!"; + let details = "An unexpected error occurred."; + let stack: string | undefined; + + if (isRouteErrorResponse(error)) { + message = error.status === 404 ? "404" : "Error"; + details = + error.status === 404 + ? "The requested page could not be found." + : error.statusText || details; + } else if (error && error instanceof Error) { + // you only want to capture non 404-errors that reach the error boundary + Sentry.captureException(error); + if (import.meta.env.DEV) { + details = error.message; + stack = error.stack; + } + } + + return ( +
+

{message}

+

{details}

+ {stack && ( +
+          {stack}
+        
+ )} +
+ ); +} +// ... +``` + +### Server-Side Setup + +Create a `instrument.server.mjs` file in the root of your app: + +```js {filename: instrument.server.mjs} +import * as Sentry from "@sentry/node"; + +Sentry.init({ + dsn: "https://c122e7637b24dc299bbef9d4e80c8325@o4507458071298048.ingest.de.sentry.io/4508415844876368", + tracesSampleRate: 1.0, // Capture 100% of the transactions +}); +``` + +In your `entry.server.tsx` file, export the `handleError` function: + +```tsx {filename: entry.server.tsx} {7} +import * as Sentry from "@sentry/node"; +import { type HandleErrorFunction } from "react-router"; + +export const handleError: HandleErrorFunction = (error, { request }) => { + // React Router may abort some interrupted requests, report those + if (!request.signal.aborted) { + Sentry.captureException(error); + + // make sure to still log the error so you can see it + console.error(error); + } +}; +// ... rest of your server entry +``` + +### Update Scripts + +Since React Router is running in ESM mode, you need to use the `--import` command line options to load our server-side instrumentation module before the application starts. +Update the `start` and `dev` script to include the instrumentation file: + +```json {filename: package.json} +"scripts": { + "dev": "NODE_OPTIONS='--import ./instrument.mjs' react-router dev", + "start": "NODE_OPTIONS='--import ./instrument.mjs' react-router-serve ./build/server/index.js", +} +``` diff --git a/platform-includes/getting-started-install/javascript.react-router.mdx b/platform-includes/getting-started-install/javascript.react-router.mdx new file mode 100644 index 0000000000000..9187caf433ea5 --- /dev/null +++ b/platform-includes/getting-started-install/javascript.react-router.mdx @@ -0,0 +1,11 @@ +```bash {tabTitle:npm} +npm install @sentry/react @sentry/node +``` + +```bash {tabTitle:yarn} +yarn add @sentry/react @sentry/node +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/react @sentry/node +``` diff --git a/platform-includes/getting-started-primer/javascript.react-router.mdx b/platform-includes/getting-started-primer/javascript.react-router.mdx new file mode 100644 index 0000000000000..3f5cce374bcbc --- /dev/null +++ b/platform-includes/getting-started-primer/javascript.react-router.mdx @@ -0,0 +1,12 @@ + + +If you are using React Router in library mode, you can follow the instructions in the [React Router library mode guide](/platforms/javascript/guides/react/features/react-router/). + + + + + +We do not yet have a dedicated SDK for React Router in framework mode. +This guide demonstrates how to setup error monitoring and basic performance tracing using the `@sentry/react` and `@sentry/node` packages. + + diff --git a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx new file mode 100644 index 0000000000000..076dc9881065b --- /dev/null +++ b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx @@ -0,0 +1,9 @@ +## Add Readable Stack Traces to Errors + +By default, React Router will minify your JavaScript and CSS files in production. This makes it difficult to debug errors in production. To make debugging easier, you can generate source maps and upload them to Sentry. + +We recommend to use [Sentry's Vite plugin](/platforms/javascript/sourcemaps/uploading/vite/) to upload sourcemaps. + +Please refer to the Sourcemaps Documentation, for more information. + +For more advanced configuration, you can use [`sentry-cli`](https://github.com/getsentry/sentry-cli) directly to upload sourcemaps. diff --git a/platform-includes/getting-started-verify/javascript.react-router.mdx b/platform-includes/getting-started-verify/javascript.react-router.mdx new file mode 100644 index 0000000000000..c69a709858f0d --- /dev/null +++ b/platform-includes/getting-started-verify/javascript.react-router.mdx @@ -0,0 +1,21 @@ +Throw an error in a loader to verify that Sentry is working. +After opening this route in your browser, you should see two errors in the Sentry issue stream, one captured from the server and one captured from the client. + +```tsx {filename: error.tsx} +import type { Route } from "./+types/error-loader"; + +export async function loader() { + console.log("server loader"); + await new Promise((resolve) => setTimeout(resolve, 1000)); + throw new Error("some error thrown in a loader"); +} + +export default function Loaders({ loaderData }: Route.ComponentProps) { + return ( +
+ Loaders, loaderData:
{JSON.stringify(loaderData, null, 2)}
+
+ ); +} + +``` diff --git a/public/icon/rr.svg b/public/icon/rr.svg new file mode 100644 index 0000000000000..a5c5dacca6dcf --- /dev/null +++ b/public/icon/rr.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/components/platformIcon.tsx b/src/components/platformIcon.tsx index 7bc8f068b8abe..12d73c8b4810e 100644 --- a/src/components/platformIcon.tsx +++ b/src/components/platformIcon.tsx @@ -273,6 +273,8 @@ import VueSVGLarge from 'platformicons/svg_80x80/vue.svg'; import WasmSVGLarge from 'platformicons/svg_80x80/wasm.svg'; import WindowsSVGLarge from 'platformicons/svg_80x80/windows.svg'; import XamarinSVGLarge from 'platformicons/svg_80x80/xamarin.svg'; +// TODO(cg): move to platformicons once available +import ReactRouterSVGLarge from 'public/icon/rr.svg'; const formatToSVG = { HTML5: { @@ -687,6 +689,10 @@ const formatToSVG = { sm: ReactSVG, lg: ReactSVGLarge, }, + 'react-router': { + sm: ReactRouterSVGLarge, + lg: ReactRouterSVGLarge, + }, redis: { sm: RedisSVG, lg: RedisSVGLarge, @@ -912,6 +918,7 @@ export const PLATFORM_TO_ICON = { 'javascript-nuxt': 'nuxt', 'javascript-node': 'nodejs', 'javascript-react': 'react', + 'javascript-react-router': 'react-router', 'javascript-remix': 'remix', 'javascript-solid': 'solid', 'javascript-solidstart': 'solidstart', From eb91155854e3b73d6740a53f44aeb4b29bf7b282 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Fri, 6 Dec 2024 14:24:35 +0100 Subject: [PATCH 02/14] fix 404s --- docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx | 1 - docs/platforms/javascript/common/sourcemaps/uploading/index.mdx | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx b/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx index c40297e46c7b9..3dd9c0fd4fdd0 100644 --- a/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx +++ b/docs/platforms/javascript/common/sourcemaps/uploading/cli.mdx @@ -5,7 +5,6 @@ sidebar_order: 6 notSupported: - javascript.nextjs - javascript.remix - - javascript.react-router - javascript.solidstart - javascript.sveltekit - javascript.astro diff --git a/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx b/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx index 4dfd4f15d0d6e..d83b6f7479cb3 100644 --- a/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx +++ b/docs/platforms/javascript/common/sourcemaps/uploading/index.mdx @@ -5,7 +5,6 @@ sidebar_order: 1 notSupported: - javascript.nextjs - javascript.remix - - javascript.react-router - javascript.solidstart - javascript.sveltekit - javascript.astro From 5926f8b43b17e9c3404dd99f69c6048f0bec85b6 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 11 Dec 2024 17:00:54 +0100 Subject: [PATCH 03/14] Update platform-includes/getting-started-config/javascript.react-router.mdx Co-authored-by: Alex Krawiec --- .../getting-started-config/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-config/javascript.react-router.mdx b/platform-includes/getting-started-config/javascript.react-router.mdx index 15500cdee2361..95df10bf7fa2a 100644 --- a/platform-includes/getting-started-config/javascript.react-router.mdx +++ b/platform-includes/getting-started-config/javascript.react-router.mdx @@ -22,7 +22,7 @@ Sentry.init({ tracesSampleRate: 1.0, // Capture 100% of the transactions - // Set `tracePropagationTargets` to control for which URLs trace propagation should be enabled + // Set `tracePropagationTargets` to declare which URL(s) should have trace propagation enabled tracePropagationTargets: [/^\//, /^https:\/\/yourserver\.io\/api/], }); From d93c8d113733e6dbd6e597a8ca880de6085a632a Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 11 Dec 2024 17:13:51 +0100 Subject: [PATCH 04/14] Update javascript.react-router.mdx --- .../getting-started-config/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-config/javascript.react-router.mdx b/platform-includes/getting-started-config/javascript.react-router.mdx index 95df10bf7fa2a..293f9b17c40c7 100644 --- a/platform-includes/getting-started-config/javascript.react-router.mdx +++ b/platform-includes/getting-started-config/javascript.react-router.mdx @@ -36,7 +36,7 @@ startTransition(() => { }); ``` -Now, update your `app/root.tsx` file to include a report any unhandled errors from your error boundary: +Now, update your `app/root.tsx` file to report any unhandled errors from your error boundary: ```tsx {filename: app/root.tsx} {14,15} import * as Sentry from "@sentry/react"; From 40df744d4de2937c2aecb3cff1d814a6fc82e2a1 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 11 Dec 2024 17:15:14 +0100 Subject: [PATCH 05/14] Update platform-includes/getting-started-config/javascript.react-router.mdx Co-authored-by: Alex Krawiec --- .../getting-started-config/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-config/javascript.react-router.mdx b/platform-includes/getting-started-config/javascript.react-router.mdx index 293f9b17c40c7..09a13ff024a39 100644 --- a/platform-includes/getting-started-config/javascript.react-router.mdx +++ b/platform-includes/getting-started-config/javascript.react-router.mdx @@ -78,7 +78,7 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { ### Server-Side Setup -Create a `instrument.server.mjs` file in the root of your app: +Create an `instrument.server.mjs` file in the root of your app: ```js {filename: instrument.server.mjs} import * as Sentry from "@sentry/node"; From 5d4e73fd2e1c14735e1ebe9820c79a211a8b28a0 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 11 Dec 2024 17:17:11 +0100 Subject: [PATCH 06/14] Update javascript.react-router.mdx --- .../getting-started-config/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-config/javascript.react-router.mdx b/platform-includes/getting-started-config/javascript.react-router.mdx index 09a13ff024a39..64c80d4cffdc3 100644 --- a/platform-includes/getting-started-config/javascript.react-router.mdx +++ b/platform-includes/getting-started-config/javascript.react-router.mdx @@ -84,7 +84,7 @@ Create an `instrument.server.mjs` file in the root of your app: import * as Sentry from "@sentry/node"; Sentry.init({ - dsn: "https://c122e7637b24dc299bbef9d4e80c8325@o4507458071298048.ingest.de.sentry.io/4508415844876368", + dsn: "___PUBLIC_DSN___", tracesSampleRate: 1.0, // Capture 100% of the transactions }); ``` From bcf4ffeea0f3585f431544676b4706d7a39d4b60 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 11 Dec 2024 17:17:45 +0100 Subject: [PATCH 07/14] Update platform-includes/getting-started-sourcemaps/javascript.react-router.mdx Co-authored-by: Alex Krawiec --- .../getting-started-sourcemaps/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx index 076dc9881065b..36c2e31e10a7c 100644 --- a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx +++ b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx @@ -4,6 +4,6 @@ By default, React Router will minify your JavaScript and CSS files in production We recommend to use [Sentry's Vite plugin](/platforms/javascript/sourcemaps/uploading/vite/) to upload sourcemaps. -Please refer to the Sourcemaps Documentation, for more information. +Please refer to the Source Maps Documentation, for more information. For more advanced configuration, you can use [`sentry-cli`](https://github.com/getsentry/sentry-cli) directly to upload sourcemaps. From 58724103ee181b97a8c297322701c68edd6da819 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 11 Dec 2024 17:17:59 +0100 Subject: [PATCH 08/14] Update platform-includes/getting-started-sourcemaps/javascript.react-router.mdx Co-authored-by: Alex Krawiec --- .../getting-started-sourcemaps/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx index 36c2e31e10a7c..7bd48a627272f 100644 --- a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx +++ b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx @@ -6,4 +6,4 @@ We recommend to use [Sentry's Vite plugin](/platforms/javascript/sourcemaps/uplo Please refer to the Source Maps Documentation, for more information. -For more advanced configuration, you can use [`sentry-cli`](https://github.com/getsentry/sentry-cli) directly to upload sourcemaps. +For more advanced configuration, you can use [`sentry-cli`](https://github.com/getsentry/sentry-cli) directly to upload source maps. From ebed3432da1a192339744c74b0f83a9e96327bbe Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Thu, 12 Dec 2024 12:44:53 +0100 Subject: [PATCH 09/14] Update platform-includes/getting-started-primer/javascript.react-router.mdx Co-authored-by: Andrei <168741329+andreiborza@users.noreply.github.com> --- .../getting-started-primer/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-primer/javascript.react-router.mdx b/platform-includes/getting-started-primer/javascript.react-router.mdx index 3f5cce374bcbc..116fe5cc3cade 100644 --- a/platform-includes/getting-started-primer/javascript.react-router.mdx +++ b/platform-includes/getting-started-primer/javascript.react-router.mdx @@ -7,6 +7,6 @@ If you are using React Router in library mode, you can follow the instructions i We do not yet have a dedicated SDK for React Router in framework mode. -This guide demonstrates how to setup error monitoring and basic performance tracing using the `@sentry/react` and `@sentry/node` packages. +This guide demonstrates how to setup error monitoring and basic performance tracing using the `@sentry/react` and `@sentry/node` packages instead. From ea0a37678860acb17b755fd6ec3a60225674c992 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Thu, 12 Dec 2024 12:45:16 +0100 Subject: [PATCH 10/14] Update platform-includes/getting-started-sourcemaps/javascript.react-router.mdx Co-authored-by: Andrei <168741329+andreiborza@users.noreply.github.com> --- .../getting-started-sourcemaps/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx index 7bd48a627272f..3ec1cf71281ea 100644 --- a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx +++ b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx @@ -1,6 +1,6 @@ ## Add Readable Stack Traces to Errors -By default, React Router will minify your JavaScript and CSS files in production. This makes it difficult to debug errors in production. To make debugging easier, you can generate source maps and upload them to Sentry. +By default, React Router will minify your JavaScript and CSS files in production. This makes it difficult to debug errors. To make debugging easier, you can generate source maps and upload them to Sentry. We recommend to use [Sentry's Vite plugin](/platforms/javascript/sourcemaps/uploading/vite/) to upload sourcemaps. From dfa4dc6559e7e5f3e0602d79b06650c90e31b020 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Thu, 12 Dec 2024 12:45:26 +0100 Subject: [PATCH 11/14] Update platform-includes/getting-started-verify/javascript.react-router.mdx Co-authored-by: Andrei <168741329+andreiborza@users.noreply.github.com> --- .../getting-started-verify/javascript.react-router.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/platform-includes/getting-started-verify/javascript.react-router.mdx b/platform-includes/getting-started-verify/javascript.react-router.mdx index c69a709858f0d..2d4583c1dbe57 100644 --- a/platform-includes/getting-started-verify/javascript.react-router.mdx +++ b/platform-includes/getting-started-verify/javascript.react-router.mdx @@ -6,7 +6,6 @@ import type { Route } from "./+types/error-loader"; export async function loader() { console.log("server loader"); - await new Promise((resolve) => setTimeout(resolve, 1000)); throw new Error("some error thrown in a loader"); } From d3598df40b6684822e515e42fe946e751cabab92 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Thu, 12 Dec 2024 12:45:44 +0100 Subject: [PATCH 12/14] Update platform-includes/getting-started-sourcemaps/javascript.react-router.mdx Co-authored-by: Andrei <168741329+andreiborza@users.noreply.github.com> --- .../getting-started-sourcemaps/javascript.react-router.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx index 3ec1cf71281ea..b99358b9f844d 100644 --- a/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx +++ b/platform-includes/getting-started-sourcemaps/javascript.react-router.mdx @@ -2,7 +2,7 @@ By default, React Router will minify your JavaScript and CSS files in production. This makes it difficult to debug errors. To make debugging easier, you can generate source maps and upload them to Sentry. -We recommend to use [Sentry's Vite plugin](/platforms/javascript/sourcemaps/uploading/vite/) to upload sourcemaps. +We recommend using [Sentry's Vite plugin](/platforms/javascript/sourcemaps/uploading/vite/) to upload sourcemaps. Please refer to the Source Maps Documentation, for more information. From 7b3f4b1f5c1bf8d7c977bb2a0eb7ab47e5c3f595 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Thu, 12 Dec 2024 13:20:40 +0100 Subject: [PATCH 13/14] add onboarding options + diffs --- .../javascript.react-router.mdx | 31 +++++++++++++------ .../javascript.react-router.mdx | 29 +++++++++++++++-- .../javascript.react-router.mdx | 7 ++--- 3 files changed, 50 insertions(+), 17 deletions(-) diff --git a/platform-includes/getting-started-config/javascript.react-router.mdx b/platform-includes/getting-started-config/javascript.react-router.mdx index 64c80d4cffdc3..8c5597158c4fa 100644 --- a/platform-includes/getting-started-config/javascript.react-router.mdx +++ b/platform-includes/getting-started-config/javascript.react-router.mdx @@ -10,7 +10,7 @@ npx react-router reveal Initialize the Sentry React SDK in your `entry.client.tsx` file: -```tsx {filename: entry.client.tsx} +```tsx {filename: entry.client.tsx} {"onboardingOptions": {"performance": "9, 12-16", "session-replay": "10, 17-21"}} import * as Sentry from "@sentry/react"; import { startTransition, StrictMode } from "react"; import { hydrateRoot } from "react-dom/client"; @@ -18,12 +18,20 @@ import { HydratedRouter } from "react-router/dom"; Sentry.init({ dsn: "___PUBLIC_DSN___", - integrations: [Sentry.browserTracingIntegration()], + integrations: [ + Sentry.browserTracingIntegration(), + Sentry.replayIntegration(), + ], tracesSampleRate: 1.0, // Capture 100% of the transactions // Set `tracePropagationTargets` to declare which URL(s) should have trace propagation enabled tracePropagationTargets: [/^\//, /^https:\/\/yourserver\.io\/api/], + + // Capture Replay for 10% of all sessions, + // plus 100% of sessions with an error + sessionReplaySampleRate: 1.0, + sessionReplayRecordingRate: 1.0, }); startTransition(() => { @@ -38,7 +46,7 @@ startTransition(() => { Now, update your `app/root.tsx` file to report any unhandled errors from your error boundary: -```tsx {filename: app/root.tsx} {14,15} +```tsx {diff} {filename: app/root.tsx} import * as Sentry from "@sentry/react"; export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { @@ -53,8 +61,8 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { ? "The requested page could not be found." : error.statusText || details; } else if (error && error instanceof Error) { - // you only want to capture non 404-errors that reach the error boundary - Sentry.captureException(error); + // you only want to capture non 404-errors that reach the boundary ++ Sentry.captureException(error); if (import.meta.env.DEV) { details = error.message; stack = error.stack; @@ -62,11 +70,11 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { } return ( -
+

{message}

{details}

{stack && ( -
+        
           {stack}
         
)} @@ -80,25 +88,28 @@ export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { Create an `instrument.server.mjs` file in the root of your app: -```js {filename: instrument.server.mjs} +```js {filename: instrument.server.mjs} {"onboardingOptions": {"performance": "7", "profiling": "2, 6, 8"}} import * as Sentry from "@sentry/node"; +import { nodeProfilingIntegration } from '@sentry/profiling-node'; Sentry.init({ dsn: "___PUBLIC_DSN___", + integrations: [nodeProfilingIntegration()], tracesSampleRate: 1.0, // Capture 100% of the transactions + profilesSampleRate: 1.0, // profile every transaction }); ``` In your `entry.server.tsx` file, export the `handleError` function: -```tsx {filename: entry.server.tsx} {7} +```tsx {diff} {filename: entry.server.tsx} import * as Sentry from "@sentry/node"; import { type HandleErrorFunction } from "react-router"; export const handleError: HandleErrorFunction = (error, { request }) => { // React Router may abort some interrupted requests, report those if (!request.signal.aborted) { - Sentry.captureException(error); ++ Sentry.captureException(error); // make sure to still log the error so you can see it console.error(error); diff --git a/platform-includes/getting-started-install/javascript.react-router.mdx b/platform-includes/getting-started-install/javascript.react-router.mdx index 9187caf433ea5..53ff7c328ea49 100644 --- a/platform-includes/getting-started-install/javascript.react-router.mdx +++ b/platform-includes/getting-started-install/javascript.react-router.mdx @@ -1,11 +1,34 @@ + + + + ```bash {tabTitle:npm} -npm install @sentry/react @sentry/node +npm install @sentry/react @sentry/node @sentry/profiling-node ``` ```bash {tabTitle:yarn} -yarn add @sentry/react @sentry/node +yarn add @sentry/react @sentry/node @sentry/profiling-node ``` ```bash {tabTitle:pnpm} -pnpm add @sentry/react @sentry/node +pnpm add @sentry/react @sentry/node @sentry/profiling-node ``` + + + + + ```bash {tabTitle:npm} + npm install @sentry/react @sentry/node + ``` + + ```bash {tabTitle:yarn} + yarn add @sentry/react @sentry/node + ``` + + ```bash {tabTitle:pnpm} + pnpm add @sentry/react @sentry/node + ``` + + diff --git a/platform-includes/getting-started-verify/javascript.react-router.mdx b/platform-includes/getting-started-verify/javascript.react-router.mdx index 2d4583c1dbe57..99bf8fa675c7d 100644 --- a/platform-includes/getting-started-verify/javascript.react-router.mdx +++ b/platform-includes/getting-started-verify/javascript.react-router.mdx @@ -2,17 +2,16 @@ Throw an error in a loader to verify that Sentry is working. After opening this route in your browser, you should see two errors in the Sentry issue stream, one captured from the server and one captured from the client. ```tsx {filename: error.tsx} -import type { Route } from "./+types/error-loader"; +import type { Route } from "./+types/example-page"; export async function loader() { - console.log("server loader"); throw new Error("some error thrown in a loader"); } -export default function Loaders({ loaderData }: Route.ComponentProps) { +export default function ExamplePage() { return (
- Loaders, loaderData:
{JSON.stringify(loaderData, null, 2)}
+ Loading this page will throw an error
); } From 7503c081e560aeca882f83cb4bd240227f45f02a Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Tue, 17 Dec 2024 13:11:56 +0100 Subject: [PATCH 14/14] use rr icon from platformicons --- package.json | 4 ++-- src/components/platformIcon.tsx | 6 +++--- yarn.lock | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 14a4a69c7bdd5..7f9048d710f4b 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "next-themes": "^0.3.0", "nextjs-toploader": "^1.6.6", "parse-numeric-range": "^1.3.0", - "platformicons": "^6.0.3", + "platformicons": "^7.0.3", "prism-sentry": "^1.0.2", "query-string": "^6.13.1", "react": "rc", @@ -137,4 +137,4 @@ "node": "20.11.0", "yarn": "1.22.22" } -} \ No newline at end of file +} diff --git a/src/components/platformIcon.tsx b/src/components/platformIcon.tsx index 12d73c8b4810e..cf66c06bac586 100644 --- a/src/components/platformIcon.tsx +++ b/src/components/platformIcon.tsx @@ -102,6 +102,7 @@ import QuartSVG from 'platformicons/svg/quart.svg'; import RailsSVG from 'platformicons/svg/rails.svg'; import ReactSVG from 'platformicons/svg/react.svg'; import ReactnativeSVG from 'platformicons/svg/react-native.svg'; +import ReactRouterSVG from 'platformicons/svg/react-router.svg'; import RedisSVG from 'platformicons/svg/redis.svg'; import ReduxSVG from 'platformicons/svg/redux.svg'; import RemixSVG from 'platformicons/svg/remix.svg'; @@ -239,6 +240,7 @@ import QuartSVGLarge from 'platformicons/svg_80x80/quart.svg'; import RailsSVGLarge from 'platformicons/svg_80x80/rails.svg'; import ReactSVGLarge from 'platformicons/svg_80x80/react.svg'; import ReactnativeSVGLarge from 'platformicons/svg_80x80/react-native.svg'; +import ReactRouterSVGLarge from 'platformicons/svg_80x80/react-router.svg'; import RedisSVGLarge from 'platformicons/svg_80x80/redis.svg'; import ReduxSVGLarge from 'platformicons/svg_80x80/redux.svg'; import RemixSVGLarge from 'platformicons/svg_80x80/remix.svg'; @@ -273,8 +275,6 @@ import VueSVGLarge from 'platformicons/svg_80x80/vue.svg'; import WasmSVGLarge from 'platformicons/svg_80x80/wasm.svg'; import WindowsSVGLarge from 'platformicons/svg_80x80/windows.svg'; import XamarinSVGLarge from 'platformicons/svg_80x80/xamarin.svg'; -// TODO(cg): move to platformicons once available -import ReactRouterSVGLarge from 'public/icon/rr.svg'; const formatToSVG = { HTML5: { @@ -690,7 +690,7 @@ const formatToSVG = { lg: ReactSVGLarge, }, 'react-router': { - sm: ReactRouterSVGLarge, + sm: ReactRouterSVG, lg: ReactRouterSVGLarge, }, redis: { diff --git a/yarn.lock b/yarn.lock index 817bc05399605..125cf81b24a29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10359,10 +10359,10 @@ pkg-types@^1.2.1: mlly "^1.7.2" pathe "^1.1.2" -platformicons@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/platformicons/-/platformicons-6.0.3.tgz#c167ab68c1cdb1a4d97665118b65ebccf7dcbe00" - integrity sha512-Z83ePiRqlA8yXQI1Y28/xv/7hGW/2BajJESxbnTjQkBjs2vGFAQjMs5E/mkOJoNuDKfEeaHgD7xOqajvARd4AQ== +platformicons@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/platformicons/-/platformicons-7.0.3.tgz#709d4622c2bcb204bf3ca75fece1add355de55ea" + integrity sha512-xhbDlM1cXV/ZjIGEkwABC/KMTlnt9gqC7Jno0M1EQ79uSobCFebYkKokZkdd1J5t4PIeF03njGx1Ofvs9ukHfw== dependencies: "@types/node" "*" "@types/react" "*"