diff --git a/CHANGELOG.md b/CHANGELOG.md index bc40e91d40fd..de8c5526627c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ Work in this release was contributed by @limbonaut. Thank you for your contribution! +- **feat(tanstackstart-react)!: Export Vite plugin from `@sentry/tanstackstart-react/vite` subpath ([#19182](https://github.com/getsentry/sentry-javascript/pull/19182))** + + The `sentryTanstackStart` Vite plugin is now exported from a dedicated subpath. Update your import: + + ```diff + - import { sentryTanstackStart } from '@sentry/tanstackstart-react'; + + import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; + ``` + - **feat(tanstackstart-react): Auto-instrument server function middleware ([#19001](https://github.com/getsentry/sentry-javascript/pull/19001))** The `sentryTanstackStart` Vite plugin now automatically instruments middleware in `createServerFn().middleware([...])` calls. This captures performance data without requiring manual wrapping with `wrapMiddlewaresWithSentry()`. diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json b/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json index d75ebb148639..08494d5b80eb 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json @@ -17,7 +17,8 @@ "@tanstack/react-start": "^1.136.0", "@tanstack/react-router": "^1.136.0", "react": "^19.2.0", - "react-dom": "^19.2.0" + "react-dom": "^19.2.0", + "nitro": "npm:nitro-nightly@latest" }, "devDependencies": { "@types/react": "^19.2.0", @@ -29,7 +30,6 @@ "typescript": "^5.9.0", "vite": "7.2.0", "vite-tsconfig-paths": "^5.1.4", - "nitro": "^3.0.0", "@playwright/test": "~1.56.0", "@sentry-internal/test-utils": "link:../../../test-utils" }, diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react/vite.config.ts b/dev-packages/e2e-tests/test-applications/tanstackstart-react/vite.config.ts index 0abe265332df..a2b39609717d 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react/vite.config.ts @@ -3,23 +3,23 @@ import tsConfigPaths from 'vite-tsconfig-paths'; import { tanstackStart } from '@tanstack/react-start/plugin/vite'; import viteReact from '@vitejs/plugin-react-swc'; import { nitro } from 'nitro/vite'; -import { sentryTanstackStart } from '@sentry/tanstackstart-react'; +import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; export default defineConfig({ server: { port: 3000, }, plugins: [ + tsConfigPaths(), + tanstackStart(), + nitro(), + // react's vite plugin must come after start's vite plugin + viteReact(), sentryTanstackStart({ org: process.env.E2E_TEST_SENTRY_ORG_SLUG, project: process.env.E2E_TEST_SENTRY_PROJECT, authToken: process.env.E2E_TEST_AUTH_TOKEN, debug: true, }), - tsConfigPaths(), - tanstackStart(), - nitro(), - // react's vite plugin must come after start's vite plugin - viteReact(), ], }); diff --git a/packages/tanstackstart-react/package.json b/packages/tanstackstart-react/package.json index 0cf9680e38d0..1a0d7e242b51 100644 --- a/packages/tanstackstart-react/package.json +++ b/packages/tanstackstart-react/package.json @@ -37,6 +37,11 @@ "import": { "default": "./build/loader-hook.mjs" } + }, + "./vite": { + "types": "./build/types/vite/index.d.ts", + "import": "./build/esm/vite/index.js", + "require": "./build/cjs/vite/index.js" } }, "typesVersions": { diff --git a/packages/tanstackstart-react/rollup.npm.config.mjs b/packages/tanstackstart-react/rollup.npm.config.mjs index 3c1bae9abd07..dc6e360e5941 100644 --- a/packages/tanstackstart-react/rollup.npm.config.mjs +++ b/packages/tanstackstart-react/rollup.npm.config.mjs @@ -3,7 +3,13 @@ import { makeBaseNPMConfig, makeNPMConfigVariants, makeOtelLoaders } from '@sent export default [ ...makeNPMConfigVariants( makeBaseNPMConfig({ - entrypoints: ['src/index.server.ts', 'src/index.client.ts', 'src/client/index.ts', 'src/server/index.ts'], + entrypoints: [ + 'src/index.server.ts', + 'src/index.client.ts', + 'src/client/index.ts', + 'src/server/index.ts', + 'src/vite/index.ts', + ], }), ), ...makeOtelLoaders('./build', 'sentry-node'), diff --git a/packages/tanstackstart-react/src/index.server.ts b/packages/tanstackstart-react/src/index.server.ts index 775f27086d6a..6b8974481131 100644 --- a/packages/tanstackstart-react/src/index.server.ts +++ b/packages/tanstackstart-react/src/index.server.ts @@ -3,4 +3,3 @@ export * from './config'; export * from './server'; export * from './common'; -export * from './vite'; diff --git a/packages/tanstackstart-react/src/index.types.ts b/packages/tanstackstart-react/src/index.types.ts index ca41d6ce05ee..1ad387ea6a6e 100644 --- a/packages/tanstackstart-react/src/index.types.ts +++ b/packages/tanstackstart-react/src/index.types.ts @@ -12,7 +12,6 @@ export * from './config'; export * from './client'; export * from './server'; export * from './common'; -export * from './vite'; /** Initializes Sentry TanStack Start SDK */ export declare function init(options: Options | clientSdk.BrowserOptions | serverSdk.NodeOptions): Client | undefined; diff --git a/packages/tanstackstart-react/src/vite/sentryTanstackStart.ts b/packages/tanstackstart-react/src/vite/sentryTanstackStart.ts index d14033ff052d..fd5d5b2f0d05 100644 --- a/packages/tanstackstart-react/src/vite/sentryTanstackStart.ts +++ b/packages/tanstackstart-react/src/vite/sentryTanstackStart.ts @@ -28,7 +28,7 @@ export interface SentryTanstackStartOptions extends BuildTimeOptionsBase { * ```typescript * // vite.config.ts * import { defineConfig } from 'vite'; - * import { sentryTanstackStart } from '@sentry/tanstackstart-react'; + * import { sentryTanstackStart } from '@sentry/tanstackstart-react/vite'; * import { tanstackStart } from '@tanstack/react-start/plugin/vite'; * * export default defineConfig({