diff --git a/apps/site/global-error.tsx b/apps/site/global-error.tsx
new file mode 100644
index 00000000..d52b3551
--- /dev/null
+++ b/apps/site/global-error.tsx
@@ -0,0 +1,25 @@
+'use client';
+
+import * as Sentry from '@sentry/nextjs';
+import NextError from 'next/error';
+import { useEffect } from 'react';
+
+export default function GlobalError({ error }: { error: Error & { digest?: string } }) {
+ useEffect(() => {
+ if (process.env.SENTRY_DSN) {
+ Sentry.captureException(error);
+ }
+ }, [error]);
+
+ return (
+
+
+ {/* `NextError` is the default Next.js error page component. Its type
+ definition requires a `statusCode` prop. However, since the App Router
+ does not expose status codes for errors, we simply pass 0 to render a
+ generic error message. */}
+
+
+
+ );
+}
diff --git a/apps/site/instrumentation.ts b/apps/site/instrumentation.ts
new file mode 100644
index 00000000..d13bdd44
--- /dev/null
+++ b/apps/site/instrumentation.ts
@@ -0,0 +1,17 @@
+import * as Sentry from '@sentry/nextjs';
+
+export function register() {
+ const sentryDsn = process.env.SENTRY_DSN;
+ if (sentryDsn) {
+ Sentry.init({
+ dsn: sentryDsn,
+
+ // Set tracesSampleRate to 1.0 to capture 100%
+ // of transactions for tracing.
+ // We recommend adjusting this value in production
+ // Learn more at
+ // https://docs.sentry.io/platforms/javascript/configuration/options/#traces-sample-rate
+ tracesSampleRate: 1.0,
+ });
+ }
+}
diff --git a/apps/site/next.config.js b/apps/site/next.config.js
index e9c546e0..5a8dac6e 100644
--- a/apps/site/next.config.js
+++ b/apps/site/next.config.js
@@ -1,5 +1,6 @@
const path = require('path');
const withBundleAnalyzer = require('@next/bundle-analyzer')();
+const { withSentryConfig } = require('@sentry/nextjs');
const BACKEND_URL = process.env.BACKEND_URL;
const STANDALONE = process.env.STANDALONE === 'true';
if (!BACKEND_URL) {
@@ -27,6 +28,7 @@ const config = {
BACKEND_URL: process.env.BACKEND_URL,
APP_URL: process.env.APP_URL,
DOMAIN: process.env.DOMAIN,
+ SENTRY_DSN: process.env.SENTRY_DSN,
},
transpilePackages: ['@boluo/ui', '@boluo/common'],
experimental: {
@@ -43,4 +45,18 @@ const config = {
},
};
-module.exports = process.env.ANALYZE === 'true' ? withBundleAnalyzer(config) : config;
+if (process.env.SENTRY_DSN) {
+ module.exports = withSentryConfig(config, {
+ org: 'mythal' ?? process.env.SENTRY_ORG,
+ sentryUrl: process.env.SENTRY_URL ?? 'https://sentry.io/',
+ project: 'boluo-site' ?? process.env.SENTRY_PROJECT_SITE,
+ disableLogger: true,
+ authToken: process.env.SENTRY_TOKEN,
+ widenClientFileUpload: true,
+ silent: true,
+ });
+} else if (process.env.ANALYZE === 'true') {
+ module.exports = withBundleAnalyzer(config);
+} else {
+ module.exports = config;
+}
diff --git a/apps/site/package.json b/apps/site/package.json
index 614e5121..d3c82b62 100644
--- a/apps/site/package.json
+++ b/apps/site/package.json
@@ -24,6 +24,7 @@
"@boluo/utils": "*",
"@formatjs/intl": "^3.0.4",
"@next/mdx": "^14.1.1",
+ "@sentry/nextjs": "^8.47.0",
"clsx": "^2.1.0",
"jotai": "^2.7.0",
"negotiator": "^1.0.0",
diff --git a/apps/site/src/app/[lang]/echo/page.tsx b/apps/site/src/app/[lang]/echo/page.tsx
index ea8e2f5f..24143093 100644
--- a/apps/site/src/app/[lang]/echo/page.tsx
+++ b/apps/site/src/app/[lang]/echo/page.tsx
@@ -1,6 +1,6 @@
-import { Metadata } from 'next';
+import { type Metadata } from 'next';
import { cookies, headers } from 'next/headers';
-import { getIntl, LangParams } from '@boluo/common/server';
+import { getIntl, type LangParams } from '@boluo/common/server';
export function generateMetadata({ params }: { params: LangParams }): Metadata {
const intl = getIntl(params);
diff --git a/apps/spa/next.config.js b/apps/spa/next.config.js
index 75696a38..6b82ae12 100644
--- a/apps/spa/next.config.js
+++ b/apps/spa/next.config.js
@@ -30,7 +30,7 @@ if (process.env.SENTRY_DSN) {
module.exports = withSentryConfig(config, {
org: 'mythal' ?? process.env.SENTRY_ORG,
sentryUrl: process.env.SENTRY_URL ?? 'https://sentry.io/',
- project: 'boluo-app' ?? process.env.SENTRY_PROJECT,
+ project: 'boluo-spa' ?? process.env.SENTRY_PROJECT,
autoInstrumentServerFunctions: false,
autoInstrumentMiddleware: false,
disableLogger: true,
diff --git a/package-lock.json b/package-lock.json
index e261da7a..b8dc64de 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -118,6 +118,7 @@
"@boluo/utils": "*",
"@formatjs/intl": "^3.0.4",
"@next/mdx": "^14.1.1",
+ "@sentry/nextjs": "^8.47.0",
"clsx": "^2.1.0",
"jotai": "^2.7.0",
"negotiator": "^1.0.0",
@@ -4677,9 +4678,9 @@
}
},
"node_modules/@opentelemetry/context-async-hooks": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.29.0.tgz",
- "integrity": "sha512-TKT91jcFXgHyIDF1lgJF3BHGIakn6x0Xp7Tq3zoS3TMPzT9IlP0xEavWP8C1zGjU9UmZP2VR1tJhW9Az1A3w8Q==",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.30.0.tgz",
+ "integrity": "sha512-roCetrG/cz0r/gugQm/jFo75UxblVvHaNSRoR0kSSRSzXFAiIBqFCZuH458BHBNRtRe+0yJdIJ21L9t94bw7+g==",
"license": "Apache-2.0",
"engines": {
"node": ">=14"
@@ -4689,9 +4690,9 @@
}
},
"node_modules/@opentelemetry/core": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.29.0.tgz",
- "integrity": "sha512-gmT7vAreXl0DTHD2rVZcw3+l2g84+5XiHIqdBUxXbExymPCvSsGOpiwMmn8nkiJur28STV31wnhIDrzWDPzjfA==",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.30.0.tgz",
+ "integrity": "sha512-Q/3u/K73KUjTCnFUP97ZY+pBjQ1kPEgjOfXj/bJl8zW7GbXdkw6cwuyZk6ZTXkVgCBsYRYUzx4fvYK1jxdb9MA==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/semantic-conventions": "1.28.0"
@@ -4889,6 +4890,21 @@
"@opentelemetry/api": "^1.3.0"
}
},
+ "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.29.0.tgz",
+ "integrity": "sha512-gmT7vAreXl0DTHD2rVZcw3+l2g84+5XiHIqdBUxXbExymPCvSsGOpiwMmn8nkiJur28STV31wnhIDrzWDPzjfA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@opentelemetry/semantic-conventions": "1.28.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": ">=1.0.0 <1.10.0"
+ }
+ },
"node_modules/@opentelemetry/instrumentation-ioredis": {
"version": "0.46.0",
"resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.46.0.tgz",
@@ -5142,12 +5158,12 @@
}
},
"node_modules/@opentelemetry/resources": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.29.0.tgz",
- "integrity": "sha512-s7mLXuHZE7RQr1wwweGcaRp3Q4UJJ0wazeGlc/N5/XSe6UyXfsh1UQGMADYeg7YwD+cEdMtU1yJAUXdnFzYzyQ==",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.30.0.tgz",
+ "integrity": "sha512-5mGMjL0Uld/99t7/pcd7CuVtJbkARckLVuiOX84nO8RtLtIz0/J6EOHM2TGvPZ6F4K+XjUq13gMx14w80SVCQg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "1.29.0",
+ "@opentelemetry/core": "1.30.0",
"@opentelemetry/semantic-conventions": "1.28.0"
},
"engines": {
@@ -5158,13 +5174,13 @@
}
},
"node_modules/@opentelemetry/sdk-trace-base": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.29.0.tgz",
- "integrity": "sha512-hEOpAYLKXF3wGJpXOtWsxEtqBgde0SCv+w+jvr3/UusR4ll3QrENEGnSl1WDCyRrpqOQ5NCNOvZch9UFVa7MnQ==",
+ "version": "1.30.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.30.0.tgz",
+ "integrity": "sha512-RKQDaDIkV7PwizmHw+rE/FgfB2a6MBx+AEVVlAHXRG1YYxLiBpPX2KhmoB99R5vA4b72iJrjle68NDWnbrE9Dg==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/core": "1.29.0",
- "@opentelemetry/resources": "1.29.0",
+ "@opentelemetry/core": "1.30.0",
+ "@opentelemetry/resources": "1.30.0",
"@opentelemetry/semantic-conventions": "1.28.0"
},
"engines": {
@@ -5217,20 +5233,20 @@
"license": "MIT"
},
"node_modules/@prisma/instrumentation": {
- "version": "5.19.1",
- "resolved": "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-5.19.1.tgz",
- "integrity": "sha512-VLnzMQq7CWroL5AeaW0Py2huiNKeoMfCH3SUxstdzPrlWQi6UQ9UrfcbUkNHlVFqOMacqy8X/8YtE0kuKDpD9w==",
+ "version": "5.22.0",
+ "resolved": "https://registry.npmjs.org/@prisma/instrumentation/-/instrumentation-5.22.0.tgz",
+ "integrity": "sha512-LxccF392NN37ISGxIurUljZSh1YWnphO34V5a0+T7FVQG2u9bhAXRTJpgmQ3483woVhkraQZFF7cbRrpbw/F4Q==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/api": "^1.8",
- "@opentelemetry/instrumentation": "^0.49 || ^0.50 || ^0.51 || ^0.52.0",
+ "@opentelemetry/instrumentation": "^0.49 || ^0.50 || ^0.51 || ^0.52.0 || ^0.53.0",
"@opentelemetry/sdk-trace-base": "^1.22"
}
},
"node_modules/@prisma/instrumentation/node_modules/@opentelemetry/api-logs": {
- "version": "0.52.1",
- "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz",
- "integrity": "sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==",
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.53.0.tgz",
+ "integrity": "sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/api": "^1.0.0"
@@ -5240,13 +5256,13 @@
}
},
"node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation": {
- "version": "0.52.1",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz",
- "integrity": "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==",
+ "version": "0.53.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz",
+ "integrity": "sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==",
"license": "Apache-2.0",
"dependencies": {
- "@opentelemetry/api-logs": "0.52.1",
- "@types/shimmer": "^1.0.2",
+ "@opentelemetry/api-logs": "0.53.0",
+ "@types/shimmer": "^1.2.0",
"import-in-the-middle": "^1.8.1",
"require-in-the-middle": "^7.1.1",
"semver": "^7.5.2",
@@ -5632,50 +5648,50 @@
"license": "MIT"
},
"node_modules/@sentry-internal/browser-utils": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.43.0.tgz",
- "integrity": "sha512-5WhJZ3SA5sZVDBwOsChDd5JCzYcwBX7sEqBqEcm3pFru6TUihEnFIJmDIbreIyrQMwUhs3dTxnfnidgjr5z1Ag==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.47.0.tgz",
+ "integrity": "sha512-vOXzYzHTKkahTLDzWWIA4EiVCQ+Gk+7xGWUlNcR2ZiEPBqYZVb5MjsUozAcc7syrSUy6WicyFjcomZ3rlCVQhg==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "8.43.0"
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry-internal/feedback": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.43.0.tgz",
- "integrity": "sha512-rcGR2kzFu4vLXBQbI9eGJwjyToyjl36O2q/UKbiZBNJ5IFtDvKRLke6jIHq/YqiHPfFGpVtq5M/lYduDfA/eaQ==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.47.0.tgz",
+ "integrity": "sha512-IAiIemTQIalxAOYhUENs9bZ8pMNgJnX3uQSuY7v0gknEqClOGpGkG04X/cxCmtJUj1acZ9ShTGDxoh55a+ggAQ==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "8.43.0"
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry-internal/replay": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.43.0.tgz",
- "integrity": "sha512-geV5/zejLfGGwWHjylzrb1w8NI3U37GMG9/53nmv13FmTXUDF5XF2lh41KXFVYwvp7Ha4bd1FRQ9IU9YtBWskw==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.47.0.tgz",
+ "integrity": "sha512-G/S40ZBORj0HSMLw/uVC6YDEPN/dqVk901vf4VYfml686DEhJrZesfAfp5SydJumQ0NKZQrdtvny+BWnlI5H1w==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/browser-utils": "8.43.0",
- "@sentry/core": "8.43.0"
+ "@sentry-internal/browser-utils": "8.47.0",
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry-internal/replay-canvas": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.43.0.tgz",
- "integrity": "sha512-rL8G7E1GtozH8VNalRrBQNjYDJ5ChWS/vpQI5hUG11PZfvQFXEVatLvT3uO2l0xIlHm4idTsHOSLTe/usxnogQ==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.47.0.tgz",
+ "integrity": "sha512-M4W9UGouEeELbGbP3QsXLDVtGiQSZoWJlKwqMWyqdQgZuLoKw0S33+60t6teLVMhuQZR0UI9VJTF5coiXysnnA==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/replay": "8.43.0",
- "@sentry/core": "8.43.0"
+ "@sentry-internal/replay": "8.47.0",
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
@@ -5691,16 +5707,16 @@
}
},
"node_modules/@sentry/browser": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.43.0.tgz",
- "integrity": "sha512-LGvLLnfmR8+AEgFmd7Q7KHiOTiV0P1Lvio2ENDELhEqJOIiICauttibVmig+AW02qg4kMeywvleMsUYaZv2RVA==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.47.0.tgz",
+ "integrity": "sha512-K6BzHisykmbFy/wORtGyfsAlw7ShevLALzu3ReZZZ18dVubO1bjSNjkZQU9MJD5Jcb9oLwkq89n3N9XIBfvdRA==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/browser-utils": "8.43.0",
- "@sentry-internal/feedback": "8.43.0",
- "@sentry-internal/replay": "8.43.0",
- "@sentry-internal/replay-canvas": "8.43.0",
- "@sentry/core": "8.43.0"
+ "@sentry-internal/browser-utils": "8.47.0",
+ "@sentry-internal/feedback": "8.47.0",
+ "@sentry-internal/replay": "8.47.0",
+ "@sentry-internal/replay-canvas": "8.47.0",
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
@@ -5924,29 +5940,29 @@
}
},
"node_modules/@sentry/core": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.43.0.tgz",
- "integrity": "sha512-ktyovtjkTMNud+kC/XfqHVCoQKreIKgx/hgeRvzPwuPyd1t1KzYmRL3DBkbcWVnyOPpVTHn+RsEI1eRcVYHtvw==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.47.0.tgz",
+ "integrity": "sha512-iSEJZMe3DOcqBFZQAqgA3NB2lCWBc4Gv5x/SCri/TVg96wAlss4VrUunSI2Mp0J4jJ5nJcJ2ChqHSBAU48k3FA==",
"license": "MIT",
"engines": {
"node": ">=14.18"
}
},
"node_modules/@sentry/nextjs": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-8.43.0.tgz",
- "integrity": "sha512-dqTrLpuo9sDGK6G6qTbVlA+7eLSzK3g94p0szymDlavpl2su3h1517te9DM5sl/gbD1Ot9SLXqyOrbY+BUtECw==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-8.47.0.tgz",
+ "integrity": "sha512-qr++MBYhyAwF25hGq7LAxe3Xehs+w2V4b8mVxilRYFXNkWFazY1ukZcVzq9pKrrt5uTiURTf68e8eVMraHnHEQ==",
"license": "MIT",
"dependencies": {
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/semantic-conventions": "^1.28.0",
"@rollup/plugin-commonjs": "28.0.1",
- "@sentry-internal/browser-utils": "8.43.0",
- "@sentry/core": "8.43.0",
- "@sentry/node": "8.43.0",
- "@sentry/opentelemetry": "8.43.0",
- "@sentry/react": "8.43.0",
- "@sentry/vercel-edge": "8.43.0",
+ "@sentry-internal/browser-utils": "8.47.0",
+ "@sentry/core": "8.47.0",
+ "@sentry/node": "8.47.0",
+ "@sentry/opentelemetry": "8.47.0",
+ "@sentry/react": "8.47.0",
+ "@sentry/vercel-edge": "8.47.0",
"@sentry/webpack-plugin": "2.22.7",
"chalk": "3.0.0",
"resolve": "1.22.8",
@@ -5974,9 +5990,9 @@
}
},
"node_modules/@sentry/node": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/node/-/node-8.43.0.tgz",
- "integrity": "sha512-qCQU9vFxf03ejw1h+qWJXCf0erV56HBi5xgi262lHiBLcRtuwj1xjufMVKOWX0sQEvAxzqpMZmqRE64lXLY4Ig==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/node/-/node-8.47.0.tgz",
+ "integrity": "sha512-tMzeU3KkmDi2OVvSu+Ah5pwoi7srsSyc1DovBbRQU96RFf/lOFzGe9JERa1MyDUqqLH95NqnPTNsa4Amb8/Vxg==",
"license": "MIT",
"dependencies": {
"@opentelemetry/api": "^1.9.0",
@@ -6010,9 +6026,9 @@
"@opentelemetry/resources": "^1.29.0",
"@opentelemetry/sdk-trace-base": "^1.29.0",
"@opentelemetry/semantic-conventions": "^1.28.0",
- "@prisma/instrumentation": "5.19.1",
- "@sentry/core": "8.43.0",
- "@sentry/opentelemetry": "8.43.0",
+ "@prisma/instrumentation": "5.22.0",
+ "@sentry/core": "8.47.0",
+ "@sentry/opentelemetry": "8.47.0",
"import-in-the-middle": "^1.11.2"
},
"engines": {
@@ -6020,12 +6036,12 @@
}
},
"node_modules/@sentry/opentelemetry": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-8.43.0.tgz",
- "integrity": "sha512-Ey+z1+JuMsb+LNY5MddJhjJpCnmkVwGZwoc5T/wWfh+5WKnvZ5RSNwaUl71Ho0lpVhhejwuUtaNxc4Ilk1KjhA==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-8.47.0.tgz",
+ "integrity": "sha512-wunyBIUPeY6Kx3SFhOQqOPs+hyRADO5bztpo8aZ3N3xfzhefSTOdrgUroKvHx1DvoQO6MAlykcuUFps3yfaqmg==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "8.43.0"
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
@@ -6039,13 +6055,13 @@
}
},
"node_modules/@sentry/react": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.43.0.tgz",
- "integrity": "sha512-PsTzLrYio/FOJU537Y5Gj9jJi7OMHEjdttsC9INUxy5062LOd8ObtHsjE0mopLaSYEwUfSROQOBZCwmISh8ByQ==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.47.0.tgz",
+ "integrity": "sha512-SRk2Up+qBTow4rQGiRXViC2i4M5w/tae5w8I/rmX+IxFoPyh8wXERcLAj/8xbbRm8aR+A4i5gNgfFtrYsyFJFA==",
"license": "MIT",
"dependencies": {
- "@sentry/browser": "8.43.0",
- "@sentry/core": "8.43.0",
+ "@sentry/browser": "8.47.0",
+ "@sentry/core": "8.47.0",
"hoist-non-react-statics": "^3.3.2"
},
"engines": {
@@ -6056,13 +6072,13 @@
}
},
"node_modules/@sentry/vercel-edge": {
- "version": "8.43.0",
- "resolved": "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-8.43.0.tgz",
- "integrity": "sha512-xtHjpfNSXgRgq6185jEHdRBvVa3gDwaBPc+KYLTGmkn+hKGqwE3jEjUWHUZoMbTdrteJ/r6fiCyu+tZy8V8/SA==",
+ "version": "8.47.0",
+ "resolved": "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-8.47.0.tgz",
+ "integrity": "sha512-oEVyoFehBnbao1aKd5OagkA5H2zowMsbgRZRPLFHELCSyoJbpShEM6L33rVvDz9xnkcaahuEO8op9U/4pUj1vA==",
"license": "MIT",
"dependencies": {
"@opentelemetry/api": "^1.9.0",
- "@sentry/core": "8.43.0"
+ "@sentry/core": "8.47.0"
},
"engines": {
"node": ">=14.18"
@@ -15016,9 +15032,9 @@
}
},
"node_modules/import-in-the-middle": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.11.3.tgz",
- "integrity": "sha512-tNpKEb4AjZrCyrxi+Eyu43h5ig0O8ZRFSXPHh/00/o+4P4pKzVEW/m5lsVtsAT7fCIgmQOAPjdqecGDsBXRxsw==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.12.0.tgz",
+ "integrity": "sha512-yAgSE7GmtRcu4ZUSFX/4v69UGXwugFFSdIQJ14LHPOPPQrWv8Y7O9PHsw8Ovk7bKCLe4sjXMbZFqGFcLHpZ89w==",
"license": "Apache-2.0",
"dependencies": {
"acorn": "^8.8.2",