From ee41ea45df464793dc07f0221a5d7e03fff1ca78 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Thu, 13 Feb 2025 16:25:23 +0100 Subject: [PATCH 1/3] Add Hono guide --- .../common/best-practices/index.mdx | 1 + .../common/best-practices/micro-frontends.mdx | 28 ++-- .../multiple-sentry-instances.mdx | 1 + .../common/best-practices/offline-caching.mdx | 1 + .../best-practices/shared-environments.mdx | 1 + .../common/best-practices/web-workers.mdx | 3 +- .../application-not-responding.mdx | 1 + .../common/configuration/async-context.mdx | 1 + .../configuration/integrations/amqplib.mdx | 1 + .../common/configuration/integrations/anr.mdx | 1 + .../integrations/breadcrumbs.mdx | 1 + .../integrations/browserapierrors.mdx | 1 + .../integrations/browserprofiling.mdx | 1 + .../integrations/browsersession.mdx | 1 + .../integrations/browsertracing.mdx | 1 + .../integrations/childProcess.mdx | 3 +- .../configuration/integrations/console.mdx | 1 + .../integrations/contextlines.mdx | 1 + .../configuration/integrations/dataloader.mdx | 1 + .../integrations/featureflags.mdx | 1 + .../common/configuration/integrations/fs.mdx | 1 + .../integrations/genericpool.mdx | 1 + .../integrations/globalhandlers.mdx | 1 + .../configuration/integrations/graphql.mdx | 1 + .../configuration/integrations/http.mdx | 1 + .../configuration/integrations/httpclient.mdx | 1 + .../integrations/httpcontext.mdx | 1 + .../configuration/integrations/kafka.mdx | 1 + .../configuration/integrations/knex.mdx | 1 + .../integrations/launchdarkly.mdx | 1 + .../integrations/localvariables.mdx | 1 + .../integrations/lrumemoizer.mdx | 1 + .../integrations/modulemetadata.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 + .../integrations/openfeature.mdx | 1 + .../configuration/integrations/postgres.mdx | 1 + .../configuration/integrations/prisma.mdx | 1 + .../integrations/prisma__v8.x.mdx | 1 + .../configuration/integrations/redis.mdx | 1 + .../configuration/integrations/replay.mdx | 1 + .../integrations/replaycanvas.mdx | 1 + .../integrations/reportingobserver.mdx | 1 + .../integrations/requestdata.mdx | 1 + .../configuration/integrations/tedious.mdx | 1 + .../configuration/integrations/trpc.mdx | 1 + .../integrations/unhandledrejection.mdx | 1 + .../configuration/integrations/unleash.mdx | 1 + .../configuration/integrations/vercelai.mdx | 1 + .../common/configuration/transports.mdx | 1 + .../common/configuration/tree-shaking.mdx | 14 +- .../javascript/common/crons/index.mdx | 12 +- .../common/crons/troubleshooting.mdx | 1 + .../request-isolation/index.mdx | 3 +- .../javascript/common/feature-flags/index.mdx | 3 +- .../javascript/common/install/commonjs.mdx | 1 + .../common/install/esm-without-import.mdx | 5 +- .../javascript/common/install/esm.mdx | 1 + .../javascript/common/install/esm__v8.x.mdx | 1 + .../common/install/late-initialization.mdx | 1 + .../javascript/common/install/loader.mdx | 2 +- .../javascript/common/install/npm.mdx | 1 + .../migration/v7-to-v8/v8-opentelemetry.mdx | 1 + .../common/opentelemetry/custom-setup.mdx | 1 + .../javascript/common/opentelemetry/index.mdx | 1 + .../using-opentelemetry-apis.mdx | 1 + .../common/profiling/browser-profiling.mdx | 1 + .../common/profiling/node-profiling.mdx | 1 + .../common/session-replay/configuration.mdx | 1 + .../common/session-replay/index.mdx | 27 +++- .../common/session-replay/issue-types.mdx | 1 + .../common/session-replay/privacy.mdx | 1 + .../common/session-replay/troubleshooting.mdx | 7 +- .../session-replay/understanding-sessions.mdx | 1 + .../sourcemaps/uploading/hosting-publicly.mdx | 1 + .../custom-instrumentation/caches-module.mdx | 1 + .../custom-instrumentation/queues-module.mdx | 1 + .../dealing-with-cors-issues/index.mdx | 1 + .../troubleshooting/supported-browsers.mdx | 1 + .../user-feedback/configuration/index.mdx | 150 +++++++++--------- .../javascript/common/user-feedback/index.mdx | 5 +- .../javascript/guides/hono/config.yml | 7 + .../javascript/guides/hono/index.mdx | 143 +++++++++++++++++ docs/product/performance/getting-started.mdx | 11 +- .../getting-started-use/javascript.hono.mdx | 48 ++++++ .../legacy-troubleshooting/javascript.mdx | 2 +- .../legacy-uploading-methods/javascript.mdx | 3 +- .../sourcemaps/overview/javascript.mdx | 7 +- .../sourcemaps/troubleshooting/javascript.mdx | 1 + .../sourcemaps/upload/primer/javascript.mdx | 4 +- src/components/platformIcon.tsx | 7 + src/data/platforms.yml | 3 + 99 files changed, 438 insertions(+), 135 deletions(-) create mode 100644 docs/platforms/javascript/guides/hono/config.yml create mode 100644 docs/platforms/javascript/guides/hono/index.mdx create mode 100644 platform-includes/getting-started-use/javascript.hono.mdx diff --git a/docs/platforms/javascript/common/best-practices/index.mdx b/docs/platforms/javascript/common/best-practices/index.mdx index 71f60ed3a60a6..090e10acac980 100644 --- a/docs/platforms/javascript/common/best-practices/index.mdx +++ b/docs/platforms/javascript/common/best-practices/index.mdx @@ -11,6 +11,7 @@ notSupported: - javascript.fastify - javascript.gcp-functions - javascript.hapi + - javascript.hono - javascript.koa - javascript.nestjs --- diff --git a/docs/platforms/javascript/common/best-practices/micro-frontends.mdx b/docs/platforms/javascript/common/best-practices/micro-frontends.mdx index 38634e77d6ec3..0474dfa3f2b77 100644 --- a/docs/platforms/javascript/common/best-practices/micro-frontends.mdx +++ b/docs/platforms/javascript/common/best-practices/micro-frontends.mdx @@ -11,6 +11,7 @@ notSupported: - javascript.fastify - javascript.gcp-functions - javascript.hapi + - javascript.hono - javascript.koa - javascript.nestjs keywords: @@ -131,6 +132,7 @@ init({ }, }); ``` + ```html {tabTitle:CDN/Loader Bundle}{filename:index.html} - ``` @@ -186,15 +186,16 @@ It’s possible to set the `id` configuration value to something other than the ```html ``` @@ -227,6 +228,7 @@ feedback.attachTo(document.querySelector("#your-button"), { formTitle: "Report a Bug!", }); ``` + ```typescript {tabTitle: NextJs} function AttachToFeedbackButton() { const [feedback, setFeedback] = useState(); @@ -264,6 +266,7 @@ const form = await feedback.createForm(); form.appendToDom(); form.open(); ``` + ```typescript {tabTitle: NextJS} function CreateFeedbackFromButton() { const [feedback, setFeedback] = useState(); @@ -308,7 +311,7 @@ Sentry.captureFeedback( }, { includeReplay: true, // optional - attachments: [] // optional + attachments: [], // optional } ); ``` @@ -356,6 +359,7 @@ document }); }); ``` + ### Loading Strategies @@ -363,7 +367,9 @@ document Because the `feedbackIntegration` is a user-facing integration, we offer two loading strategies that have bundle size implications. -For most users, we recommend using `feedbackIntegration` in your `Sentry.init` call. This will set up user feedback with good defaults, matching the environment. + For most users, we recommend using `feedbackIntegration` in your `Sentry.init` + call. This will set up user feedback with good defaults, matching the + environment. All of the code examples on this page use `feedbackIntegration` as a default because it's available regardless of whether you've chosen the CDN or NPM installation method. However, the implementation of `feedbackIntegration` is different for the two installation methods. For NPM users, `feedbackIntegration` is an alias of `feedbackSyncIntegration`. For CDN users, `feedbackIntegration` is an alias of `feedbackAsyncIntegration`. @@ -385,32 +391,32 @@ This integration includes the minimum amount of code needed upfront to show the For CDN users `feedbackIntegration` is an alias of `feedbackAsyncIntegration`. ```javascript {tabTitle: Default Strategy} -import * as Sentry from '@sentry/browser'; +import * as Sentry from "@sentry/browser"; Sentry.init({ - dsn: '___PUBLIC_DSN___', + dsn: "___PUBLIC_DSN___", integrations: [ // Use the default strategy, an alias for `feedbackAsyncIntegration` Sentry.feedbackIntegration({ // Additional SDK configuration goes in here, for example: - colorScheme: 'system', + colorScheme: "system", }), - ] + ], }); ``` ```javascript {tabTitle: Async Strategy} -import * as Sentry from '@sentry/browser'; +import * as Sentry from "@sentry/browser"; Sentry.init({ - dsn: '___PUBLIC_DSN___', + dsn: "___PUBLIC_DSN___", integrations: [ // Use the async strategy so everything is bundled for page load Sentry.feedbackAsyncIntegration({ // Additional SDK configuration goes in here, for example: - colorScheme: 'system', + colorScheme: "system", }), - ] + ], }); ``` @@ -419,47 +425,47 @@ Sentry.init({ For NPM users `feedbackIntegration` is an alias of `feedbackSyncIntegration`. ```javascript {tabTitle: Default Strategy} -import * as Sentry from '@sentry/browser'; +import * as Sentry from "@sentry/browser"; Sentry.init({ - dsn: '___PUBLIC_DSN___', + dsn: "___PUBLIC_DSN___", integrations: [ // Use the default strategy, an alias for `feedbackSyncIntegration` Sentry.feedbackIntegration({ // Additional SDK configuration goes in here, for example: - colorScheme: 'system', + colorScheme: "system", }), - ] + ], }); ``` ```javascript {tabTitle: Sync Strategy} -import * as Sentry from '@sentry/browser'; +import * as Sentry from "@sentry/browser"; Sentry.init({ - dsn: '___PUBLIC_DSN___', + dsn: "___PUBLIC_DSN___", integrations: [ // Use the sync strategy so everything is bundled for page load Sentry.feedbackSyncIntegration({ // Additional SDK configuration goes in here, for example: - colorScheme: 'system', + colorScheme: "system", }), - ] + ], }); ``` ```javascript {tabTitle: Async Strategy} -import * as Sentry from '@sentry/browser'; +import * as Sentry from "@sentry/browser"; Sentry.init({ - dsn: '___PUBLIC_DSN___', + dsn: "___PUBLIC_DSN___", integrations: [ // Use the async strategy to keep bundle size lower Sentry.feedbackAsyncIntegration({ // Additional SDK configuration goes in here, for example: - colorScheme: 'system', + colorScheme: "system", }), - ] + ], }); ``` diff --git a/docs/platforms/javascript/common/user-feedback/index.mdx b/docs/platforms/javascript/common/user-feedback/index.mdx index 1feb8875db05c..a5d9e0ab8dc38 100644 --- a/docs/platforms/javascript/common/user-feedback/index.mdx +++ b/docs/platforms/javascript/common/user-feedback/index.mdx @@ -8,7 +8,7 @@ The User Feedback feature allows you to collect user feedback from anywhere insi Note that if you're using a self-hosted Sentry instance, you'll need to be on version 24.4.2 or higher in order to use the full functionality of the User Feedback feature. Lower versions may have limited functionality. - + ## User Feedback Widget @@ -28,7 +28,6 @@ The embeddable JavaScript widget allows users to submit feedback from anywhere i To set up the integration, add the following to your Sentry initialization. There are many options you can pass to the integration constructor. See the [configuration documentation](/platforms/javascript/user-feedback/configuration/) for more details. - By default, this will insert the widget into the bottom right corner of your website. You're free to customize nearly every aspect of the widget, including replacing it completely with your own UI. @@ -52,10 +51,10 @@ The User Feedback widget integrates easily with {' '}and `Sentry.lastEventId()`. - ## Crash-Report Modal diff --git a/docs/platforms/javascript/guides/hono/config.yml b/docs/platforms/javascript/guides/hono/config.yml new file mode 100644 index 0000000000000..e63d04b13d591 --- /dev/null +++ b/docs/platforms/javascript/guides/hono/config.yml @@ -0,0 +1,7 @@ +title: Hono +description: Learn how to set up Hono with Sentry. +sdk: sentry.javascript.hono +categories: + - javascript + - server + - server-node diff --git a/docs/platforms/javascript/guides/hono/index.mdx b/docs/platforms/javascript/guides/hono/index.mdx new file mode 100644 index 0000000000000..6f33fb75d3331 --- /dev/null +++ b/docs/platforms/javascript/guides/hono/index.mdx @@ -0,0 +1,143 @@ +--- +title: Hono +description: "Learn about using Sentry with Hono." +categories: + - server +--- + + + +This guide explains how to set up Sentry in your Hono application. + +If you don't already have an account and a Sentry project established, sign up for [Sentry](https://sentry.io/signup/) for free, then return to this page. + +## Features + +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/). Note that profiling currently only works in the Node.js runtime. + +Select which Sentry features you'd like to install in addition to Error Monitoring to get the corresponding installation and configuration instructions below. + + + +## Setup + +Since Hono is a framework designed to run in all kinds of JavaScript runtimes, different setups for different platforms are outlined below. + +### Setup On Cloudflare Workers + +```bash {tabTitle:npm} +npm install @sentry/cloudflare --save +``` + +```bash {tabTitle:yarn} +yarn add @sentry/cloudflare +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/cloudflare +``` + +To use the SDK, you'll need to set either the `nodejs_compat` or `nodejs_als` compatibility flags in your `wrangler.toml`/`wrangler.json`. +This is because the SDK needs access to the `AsyncLocalStorage` API to work correctly. + +```toml {tabTitle:Toml} {filename:wrangler.toml} +compatibility_flags = ["nodejs_compat"] +# compatibility_flags = ["nodejs_als"] +``` + +```json {tabTitle:JSON} {filename:wrangler.json} +{ + "compatibility_flags": [ + "nodejs_compat" + // "nodejs_als" + ] +} +``` + +Next, wrap your handler with the `withSentry` function. This will initialize the SDK and hook into the +environment. Note that you can turn off almost all side effects using the respective options. + +```typescript {filename:index.ts} {"onboardingOptions": {"performance": "14-18"}} +import { Hono } from "hono"; +import * as Sentry from "@sentry/cloudflare"; + +const app = new Hono(); + +// Your routes... +app.get("/", () => { + // ... +}); + +export default Sentry.withSentry( + (env) => ({ + dsn: "___PUBLIC_DSN___", + + // Set tracesSampleRate to 1.0 to capture 100% of spans for tracing. + // Learn more at + // https://docs.sentry.io/platforms/javascript/configuration/options/#traces-sample-rate + tracesSampleRate: 1.0, + }), + app +); +``` + +### Setup On Cloudflare Pages + +```bash {tabTitle:npm} +npm install @sentry/cloudflare --save +``` + +```bash {tabTitle:yarn} +yarn add @sentry/cloudflare +``` + +```bash {tabTitle:pnpm} +pnpm add @sentry/cloudflare +``` + +To use the SDK, you'll need to set either the `nodejs_compat` or `nodejs_als` compatibility flags in your `wrangler.toml`/`wrangler.json`. +This is because the SDK needs access to the `AsyncLocalStorage` API to work correctly. + +```toml {tabTitle:Toml} {filename:wrangler.toml} +compatibility_flags = ["nodejs_compat"] +# compatibility_flags = ["nodejs_als"] +``` + +```json {tabTitle:JSON} {filename:wrangler.json} +{ + "compatibility_flags": [ + "nodejs_compat" + // "nodejs_als" + ] +} +``` + +Next, add the `sentryPagesPlugin` as +[middleware to your Cloudflare Pages application](https://developers.cloudflare.com/pages/functions/middleware/). + +We recommend adding a `functions/_middleware.js` for the middleware setup so that Sentry is initialized for your entire +app. + +```javascript {filename:functions/_middleware.js} {"onboardingOptions": {"performance": "7-11"}} +import * as Sentry from "@sentry/cloudflare"; + +export const onRequest = [ + // Make sure Sentry is the first middleware + Sentry.sentryPagesPlugin((context) => ({ + dsn: "___PUBLIC_DSN___", + + // Set tracesSampleRate to 1.0 to capture 100% of spans for tracing. + // Learn more at + // https://docs.sentry.io/platforms/javascript/configuration/options/#traces-sample-rate + tracesSampleRate: 1.0, + })), + // Add more middlewares here +]; +``` + +### Setup On Other Runtimes + +We currently limit support for Hono to Cloudflare. +If you need support for other runtimes [reach out on GitHub with a feature request](https://github.com/getsentry/sentry-javascript/issues/new/choose). diff --git a/docs/product/performance/getting-started.mdx b/docs/product/performance/getting-started.mdx index 9e7367d60d4b5..c1061339a3918 100644 --- a/docs/product/performance/getting-started.mdx +++ b/docs/product/performance/getting-started.mdx @@ -54,6 +54,7 @@ If you don't already have performance monitoring enabled, use the links for supp - [Gatsby](/platforms/javascript/guides/gatsby/tracing/) - [Google Cloud Functions](/platforms/javascript/guides/gcp-functions/tracing/) - [Hapi](/platforms/javascript/guides/hapi/tracing/) + - [Hono](/platforms/javascript/guides/hono/tracing/) - [Koa](/platforms/javascript/guides/koa/tracing/) - [Nest.js](/platforms/javascript/guides/nestjs/tracing/) - [Next.js](/platforms/javascript/guides/nextjs/tracing/) @@ -66,10 +67,7 @@ If you don't already have performance monitoring enabled, use the links for supp - [SvelteKit](/platforms/javascript/guides/sveltekit/tracing/) - [Vue](/platforms/javascript/guides/vue/tracing/) -- +- - -- +- - diff --git a/platform-includes/getting-started-use/javascript.hono.mdx b/platform-includes/getting-started-use/javascript.hono.mdx new file mode 100644 index 0000000000000..bfbdfbbe9deab --- /dev/null +++ b/platform-includes/getting-started-use/javascript.hono.mdx @@ -0,0 +1,48 @@ +```javascript {tabTitle:CommonJS} +// Require this first! +require("./instrument"); + +// Now require other modules +const Sentry = require("@sentry/node"); +const Hapi = require('@hapi/hapi'); + +const init = async () => { + const server = Hapi.server({ + port: 3030, + host: 'localhost', + }); + + // All your routes etc. + + await Sentry.setupHapiErrorHandler(server); + + await server.start(); + console.log('Server running on %s', server.info.uri); +}; + +init(); +``` + +```javascript {tabTitle:ESM} +// Import this first! +import "./instrument"; + +// Now import other modules +import * as Sentry from "@sentry/node"; +import Hapi from "@hapi/hapi"; + +const init = async () => { + const server = Hapi.server({ + port: 3030, + host: 'localhost', + }); + + // All your routes etc. + + await Sentry.setupHapiErrorHandler(server); + + await server.start(); +}; + +init(); +``` diff --git a/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx b/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx index 035e82649ce70..85c90ca47a9e1 100644 --- a/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx +++ b/platform-includes/sourcemaps/legacy-troubleshooting/javascript.mdx @@ -56,7 +56,7 @@ To verify that the distribution has been set correctly in the SDK, open an issue If you've uploaded source maps and they aren't applying to your code in an issue in Sentry, take a look at the JSON of the event and look for the `abs_path` to see exactly where we're attempting to resolve the file - for example, `http://localhost:8000/scripts/script.js` (`abs_path` will appear once for each frame in the stack trace - match this up with the file(s) that are not deminified.). A link to the JSON view can be found at the top of the issue page next to the date the event occurred. The uploaded artifact names must match these values. -If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. +If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. ### Using sentry-cli diff --git a/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx b/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx index 7a0907b873da7..581ef2a3e9ca7 100644 --- a/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx +++ b/platform-includes/sourcemaps/legacy-uploading-methods/javascript.mdx @@ -124,6 +124,7 @@ Sentry.init({ ## Uploading using Sentry Bundler Plugins on Version `2.x` If you're using + - Sentry self-hosted or single-tenant on version `23.6.1` or lower - or the Sentry JavaScript SDK on version `7.46.0` - or esbuild with `splitting: true` @@ -330,7 +331,7 @@ To verify that the distribution has been set correctly in the SDK, open an issue If you've uploaded source maps and they aren't applying to your code in an issue in Sentry, take a look at the JSON of the event and look for the `abs_path` to see exactly where we're attempting to resolve the file - for example, `http://localhost:8000/scripts/script.js` (`abs_path` will appear once for each frame in the stack trace - match this up with the file(s) that are not deminified.). A link to the JSON view can be found at the top of the issue page next to the date the event occurred. The uploaded artifact names must match these values. -If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. +If you have **dynamic values in your path** (for example, `https://www.site.com/{some_value}/scripts/script.js`), you may want to use the `rewriteFrames` integration`rewriteFrames` integration to change your `abs_path` values. #### Using sentry-cli diff --git a/platform-includes/sourcemaps/overview/javascript.mdx b/platform-includes/sourcemaps/overview/javascript.mdx index 22605cf761987..0e565c2527afb 100644 --- a/platform-includes/sourcemaps/overview/javascript.mdx +++ b/platform-includes/sourcemaps/overview/javascript.mdx @@ -29,7 +29,10 @@ If you used Create React App to set up your React application see our TypeScript (tsc) +- + {" "} + TypeScript (tsc){" "} + If you're using one of webpack, Vite, Rollup or Esbuild, use the corresponding Sentry plugin instead (see section "Sentry Bundler Support"). @@ -42,7 +45,7 @@ If you used Create React App to set up your React application see our Sentry CLI. - + diff --git a/platform-includes/sourcemaps/troubleshooting/javascript.mdx b/platform-includes/sourcemaps/troubleshooting/javascript.mdx index 337c86bdd96bc..0778afc2795a2 100644 --- a/platform-includes/sourcemaps/troubleshooting/javascript.mdx +++ b/platform-includes/sourcemaps/troubleshooting/javascript.mdx @@ -160,6 +160,7 @@ Sometimes build scripts and plugins produce pre-compressed minified files (for e 'javascript.fastify', 'javascript.gcp-functions', 'javascript.hapi', + 'javascript.hono', 'javascript.koa', 'javascript.nestjs', ]}> diff --git a/platform-includes/sourcemaps/upload/primer/javascript.mdx b/platform-includes/sourcemaps/upload/primer/javascript.mdx index f19448a94e44b..f181c01f57bc5 100644 --- a/platform-includes/sourcemaps/upload/primer/javascript.mdx +++ b/platform-includes/sourcemaps/upload/primer/javascript.mdx @@ -1,7 +1,7 @@ We provide guides on uploading source maps to Sentry for the most popular JavaScript build tools. Pick one from the list below to learn more. - + @@ -11,7 +11,7 @@ If you can't find the tool of your choice in the list below, we recommend you ch - + diff --git a/src/components/platformIcon.tsx b/src/components/platformIcon.tsx index 6c42e480b9cd0..9f32e8ef352f4 100644 --- a/src/components/platformIcon.tsx +++ b/src/components/platformIcon.tsx @@ -66,6 +66,7 @@ import GrapheneSVG from 'platformicons/svg/graphene.svg'; import GraphqlSVG from 'platformicons/svg/graphql.svg'; import GrpcSVG from 'platformicons/svg/grpc.svg'; import HapiSVG from 'platformicons/svg/hapi.svg'; +import HonoSVG from 'platformicons/svg/hono.svg'; import Html5SVG from 'platformicons/svg/HTML5.svg'; import HttpxSVG from 'platformicons/svg/httpx.svg'; import HueySVG from 'platformicons/svg/huey.svg'; @@ -203,6 +204,7 @@ import GrapheneSVGLarge from 'platformicons/svg_80x80/graphene.svg'; import GraphqlSVGLarge from 'platformicons/svg_80x80/graphql.svg'; import GrpcSVGLarge from 'platformicons/svg_80x80/grpc.svg'; import HapiSVGLarge from 'platformicons/svg_80x80/hapi.svg'; +import HonoSVGLarge from 'platformicons/svg_80x80/hono.svg'; import Html5SVGLarge from 'platformicons/svg_80x80/HTML5.svg'; import HttpxSVGLarge from 'platformicons/svg_80x80/httpx.svg'; import HueySVGLarge from 'platformicons/svg_80x80/huey.svg'; @@ -584,6 +586,10 @@ const formatToSVG = { sm: HapiSVG, lg: HapiSVGLarge, }, + hono: { + sm: HonoSVG, + lg: HonoSVGLarge, + }, kotlin: { sm: KotlinSVG, lg: KotlinSVGLarge, @@ -911,6 +917,7 @@ export const PLATFORM_TO_ICON = { 'javascript-gcp-functions': 'gcp-functions', 'javascript-ionic': 'ionic', 'javascript-hapi': 'hapi', + 'javascript-hono': 'hono', 'javascript-koa': 'koa', 'javascript-fastify': 'fastify', 'javascript-nestjs': 'nestjs', diff --git a/src/data/platforms.yml b/src/data/platforms.yml index dba963bf9a8ce..dcc8b2b1fadf9 100644 --- a/src/data/platforms.yml +++ b/src/data/platforms.yml @@ -4,6 +4,9 @@ - slug: hapi type: framework name: Hapi +- slug: hono + type: framework + name: Hono - slug: fastify type: framework name: Fastify From 6f67c13a5db73de04334cde9ae221074d6e704e5 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 14 Feb 2025 12:27:41 +0100 Subject: [PATCH 2/3] 404? --- .../javascript-v8/other-changes/javascript.hono.mdx | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 platform-includes/migration/javascript-v8/other-changes/javascript.hono.mdx diff --git a/platform-includes/migration/javascript-v8/other-changes/javascript.hono.mdx b/platform-includes/migration/javascript-v8/other-changes/javascript.hono.mdx new file mode 100644 index 0000000000000..0c1c7a47c83fe --- /dev/null +++ b/platform-includes/migration/javascript-v8/other-changes/javascript.hono.mdx @@ -0,0 +1,9 @@ +### Customizing OpenTelemetry + +If you want to customize the OpenTelemetry setup with your Node SDK in `8.x`, see the docs about using [OpenTelemetry with `8.x`](./v8-opentelemetry) + + + + + + From 85a472872a0cc3aa74b33f1c9f9a25ca395876dd Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Mon, 24 Feb 2025 11:05:20 +0100 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Alex Krawiec --- docs/platforms/javascript/common/configuration/tree-shaking.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/platforms/javascript/common/configuration/tree-shaking.mdx b/docs/platforms/javascript/common/configuration/tree-shaking.mdx index 1cc4b5b22f160..36b29ce995722 100644 --- a/docs/platforms/javascript/common/configuration/tree-shaking.mdx +++ b/docs/platforms/javascript/common/configuration/tree-shaking.mdx @@ -138,7 +138,7 @@ Replacing this flag with `true` will tree shake any SDK code related to capturin `__RRWEB_EXCLUDE_SHADOW_DOM__` -Replacing this flag with `true` will tree shake any SDK code related to capturing shadow dom elements with Session Replay. It's only relevant when using Session Replay. Enable this flag if you don't want to record any shadow dom elements. This has no effect if you did not add `replayIntegration`. +Replacing this flag with `true` will tree shake any SDK code related to capturing shadow dom elements with Session Replay. It's only relevant when using Session Replay. Enable this flag if you don't want to record any shadow dom elements. This has no effect if you didn't add `replayIntegration`. `__SENTRY_EXCLUDE_REPLAY_WORKER__`