From bcbaee65f30f057e01f36dfb30b39ac827f0e8a2 Mon Sep 17 00:00:00 2001 From: Francesco Gringl-Novy Date: Fri, 12 Jun 2026 12:04:45 +0200 Subject: [PATCH] ref(tanstackstart-react): Use `@sentry/conventions` Source span/attribute keys from `@sentry/conventions` instead of the previous OpenTelemetry / vendored convention constants. No functional change. Depends on #21503 (relocates vendored deps out of `node_modules` in the build). Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/tanstackstart-react/package.json | 2 +- packages/tanstackstart-react/rollup.npm.config.mjs | 7 +++++++ .../tanstackstart-react/src/server/routeParametrization.ts | 6 +++--- yarn.lock | 5 +++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/tanstackstart-react/package.json b/packages/tanstackstart-react/package.json index f48123c849e1..2d1a728238b7 100644 --- a/packages/tanstackstart-react/package.json +++ b/packages/tanstackstart-react/package.json @@ -64,7 +64,6 @@ }, "dependencies": { "@opentelemetry/api": "^1.9.1", - "@opentelemetry/semantic-conventions": "^1.40.0", "@sentry/browser-utils": "10.57.0", "@sentry/core": "10.57.0", "@sentry/node": "10.57.0", @@ -72,6 +71,7 @@ "@sentry/vite-plugin": "^5.3.0" }, "devDependencies": { + "@sentry/conventions": "^0.11.0", "vite": "^5.4.11" }, "scripts": { diff --git a/packages/tanstackstart-react/rollup.npm.config.mjs b/packages/tanstackstart-react/rollup.npm.config.mjs index dc6e360e5941..1b587930d44c 100644 --- a/packages/tanstackstart-react/rollup.npm.config.mjs +++ b/packages/tanstackstart-react/rollup.npm.config.mjs @@ -10,6 +10,13 @@ export default [ 'src/server/index.ts', 'src/vite/index.ts', ], + packageSpecificConfig: { + output: { + // keep emitted module paths relative to `src` so the bundled `@sentry/conventions` + // (a devDependency, vendored into the build) doesn't shift the output layout + preserveModulesRoot: 'src', + }, + }, }), ), ...makeOtelLoaders('./build', 'sentry-node'), diff --git a/packages/tanstackstart-react/src/server/routeParametrization.ts b/packages/tanstackstart-react/src/server/routeParametrization.ts index bd1d1d904770..395451a1bc15 100644 --- a/packages/tanstackstart-react/src/server/routeParametrization.ts +++ b/packages/tanstackstart-react/src/server/routeParametrization.ts @@ -1,4 +1,4 @@ -import { ATTR_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; +import { HTTP_ROUTE } from '@sentry/conventions/attributes'; import { escapeStringForRegex, getActiveSpan, @@ -54,13 +54,13 @@ export function updateSpanWithRouteParametrization(method: string, pathname: str const rootSpan = getRootSpan(activeSpan); const rootSpanData = spanToJSON(rootSpan).data; - if (rootSpanData?.[ATTR_HTTP_ROUTE]) { + if (rootSpanData?.[HTTP_ROUTE]) { return; } const transactionName = `${method} ${matchedPattern}`; updateSpanName(rootSpan, transactionName); - rootSpan.setAttribute(ATTR_HTTP_ROUTE, matchedPattern); + rootSpan.setAttribute(HTTP_ROUTE, matchedPattern); rootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'route'); getCurrentScope().setTransactionName(transactionName); } diff --git a/yarn.lock b/yarn.lock index 5f7a5fcbdbbc..29f88030819f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7578,6 +7578,11 @@ "@sentry/cli-win32-i686" "2.58.6" "@sentry/cli-win32-x64" "2.58.6" +"@sentry/conventions@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@sentry/conventions/-/conventions-0.11.0.tgz#5a324b8368dc5c141260bd8ccc684756ea3dd843" + integrity sha512-AQTAKeq9mDpOElDFSPymZTPZF/c50rk355mWTf5Y1ZxZJKKOBli5qTttskJyCxrE5ynNgN1KwcXoU5MRrMSRmQ== + "@sentry/node-cpu-profiler@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@sentry/node-cpu-profiler/-/node-cpu-profiler-2.4.2.tgz#d0ba01370545297d015df1497daf7f81e27f2ab5"