@sentry/tanstackstart-react 10.50.0 → 10.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/build/cjs/client/index.js +15 -0
  2. package/build/cjs/client/index.js.map +1 -1
  3. package/build/cjs/client/sdk.js +2 -0
  4. package/build/cjs/client/sdk.js.map +1 -1
  5. package/build/cjs/client/tunnelRoute.js +37 -0
  6. package/build/cjs/client/tunnelRoute.js.map +1 -0
  7. package/build/cjs/index.client.js +1 -0
  8. package/build/cjs/index.client.js.map +1 -1
  9. package/build/cjs/index.server.js +2 -0
  10. package/build/cjs/index.server.js.map +1 -1
  11. package/build/cjs/server/index.js +2 -0
  12. package/build/cjs/server/index.js.map +1 -1
  13. package/build/cjs/server/tunnelRoute.js +51 -0
  14. package/build/cjs/server/tunnelRoute.js.map +1 -0
  15. package/build/cjs/vite/sentryTanstackStart.js +9 -2
  16. package/build/cjs/vite/sentryTanstackStart.js.map +1 -1
  17. package/build/cjs/vite/sourceMaps.js +3 -1
  18. package/build/cjs/vite/sourceMaps.js.map +1 -1
  19. package/build/cjs/vite/tunnelRoute.js +183 -0
  20. package/build/cjs/vite/tunnelRoute.js.map +1 -0
  21. package/build/esm/client/index.js +15 -1
  22. package/build/esm/client/index.js.map +1 -1
  23. package/build/esm/client/sdk.js +2 -0
  24. package/build/esm/client/sdk.js.map +1 -1
  25. package/build/esm/client/tunnelRoute.js +35 -0
  26. package/build/esm/client/tunnelRoute.js.map +1 -0
  27. package/build/esm/index.client.js +1 -1
  28. package/build/esm/index.server.js +1 -0
  29. package/build/esm/index.server.js.map +1 -1
  30. package/build/esm/package.json +1 -1
  31. package/build/esm/server/index.js +1 -0
  32. package/build/esm/server/index.js.map +1 -1
  33. package/build/esm/server/tunnelRoute.js +49 -0
  34. package/build/esm/server/tunnelRoute.js.map +1 -0
  35. package/build/esm/vite/sentryTanstackStart.js +9 -2
  36. package/build/esm/vite/sentryTanstackStart.js.map +1 -1
  37. package/build/esm/vite/sourceMaps.js +3 -1
  38. package/build/esm/vite/sourceMaps.js.map +1 -1
  39. package/build/esm/vite/tunnelRoute.js +179 -0
  40. package/build/esm/vite/tunnelRoute.js.map +1 -0
  41. package/build/types/client/index.d.ts +10 -0
  42. package/build/types/client/index.d.ts.map +1 -1
  43. package/build/types/client/sdk.d.ts.map +1 -1
  44. package/build/types/client/tunnelRoute.d.ts +7 -0
  45. package/build/types/client/tunnelRoute.d.ts.map +1 -0
  46. package/build/types/index.types.d.ts +1 -0
  47. package/build/types/index.types.d.ts.map +1 -1
  48. package/build/types/server/index.d.ts +1 -0
  49. package/build/types/server/index.d.ts.map +1 -1
  50. package/build/types/server/tunnelRoute.d.ts +29 -0
  51. package/build/types/server/tunnelRoute.d.ts.map +1 -0
  52. package/build/types/vite/index.d.ts +1 -0
  53. package/build/types/vite/index.d.ts.map +1 -1
  54. package/build/types/vite/sentryTanstackStart.d.ts +17 -0
  55. package/build/types/vite/sentryTanstackStart.d.ts.map +1 -1
  56. package/build/types/vite/sourceMaps.d.ts.map +1 -1
  57. package/build/types/vite/tunnelRoute.d.ts +19 -0
  58. package/build/types/vite/tunnelRoute.d.ts.map +1 -0
  59. package/build/types-ts3.8/client/index.d.ts +10 -0
  60. package/build/types-ts3.8/client/tunnelRoute.d.ts +7 -0
  61. package/build/types-ts3.8/index.types.d.ts +1 -0
  62. package/build/types-ts3.8/server/index.d.ts +1 -0
  63. package/build/types-ts3.8/server/tunnelRoute.d.ts +29 -0
  64. package/build/types-ts3.8/vite/index.d.ts +1 -0
  65. package/build/types-ts3.8/vite/sentryTanstackStart.d.ts +17 -0
  66. package/build/types-ts3.8/vite/tunnelRoute.d.ts +19 -0
  67. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"sentryTanstackStart.d.ts","sourceRoot":"","sources":["../../../src/vite/sentryTanstackStart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,MAAM,EAAE,CAoBtF"}
1
+ {"version":3,"file":"sentryTanstackStart.d.ts","sourceRoot":"","sources":["../../../src/vite/sentryTanstackStart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,MAAM,EAAE,CA0BtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMaps.d.ts","sourceRoot":"","sources":["../../../src/vite/sourceMaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAI/C;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAuE/E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAiBtF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,mBAAmB,CAAC,EAAE,oBAAoB,GACzC,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAwC/B"}
1
+ {"version":3,"file":"sourceMaps.d.ts","sourceRoot":"","sources":["../../../src/vite/sourceMaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAI/C;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAyE/E;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAiBtF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,mBAAmB,CAAC,EAAE,oBAAoB,GACzC,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAwC/B"}
@@ -0,0 +1,19 @@
1
+ import type { Plugin } from 'vite';
2
+ export type TunnelRouteOptions = true | string | {
3
+ /**
4
+ * A list of DSNs that are allowed to use the managed tunnel route.
5
+ *
6
+ * If omitted or empty, the tunnel route will derive the allowed DSN from the active server Sentry SDK at runtime.
7
+ */
8
+ allowedDsns?: string[];
9
+ /**
10
+ * Controls the public route path used by the managed tunnel route.
11
+ *
12
+ * If omitted, an opaque path is generated once per dev session or production build.
13
+ */
14
+ path?: string;
15
+ };
16
+ export declare function resolveTunnelRoute(tunnel: true | string): string;
17
+ export declare function injectManagedTunnelRoute(source: string, resolvedTunnelRoute: string): string;
18
+ export declare function makeTunnelRoutePlugin(options: TunnelRouteOptions, debug?: boolean): Plugin;
19
+ //# sourceMappingURL=tunnelRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelRoute.d.ts","sourceRoot":"","sources":["../../../src/vite/tunnelRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAC1B,IAAI,GACJ,MAAM,GACN;IACE;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAeN,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAYhE;AA6DD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAyC5F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAmD1F"}
@@ -1,4 +1,5 @@
1
1
  import { TanStackMiddlewareBase } from '../common/types';
2
+ import { CreateSentryTunnelRouteOptions } from '../server/tunnelRoute';
2
3
  export * from '@sentry/react';
3
4
  export { init } from './sdk';
4
5
  /**
@@ -16,4 +17,13 @@ export declare const sentryGlobalRequestMiddleware: TanStackMiddlewareBase;
16
17
  * The actual implementation is server-only, but this stub is needed to prevent rendering errors.
17
18
  */
18
19
  export declare const sentryGlobalFunctionMiddleware: TanStackMiddlewareBase;
20
+ /**
21
+ * No-op stub for client-side builds.
22
+ * The actual implementation is server-only, but this stub is needed to prevent rendering errors.
23
+ */
24
+ export declare function createSentryTunnelRoute(_options: CreateSentryTunnelRouteOptions): {
25
+ handlers: {
26
+ POST: () => Promise<Response>;
27
+ };
28
+ };
19
29
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { BrowserOptions as ReactBrowserOptions } from '@sentry/react';
2
+ /**
3
+ * Applies the managed tunnel route from `sentryTanstackStart({ tunnelRoute: ... })` unless the user already
4
+ * configured an explicit runtime `tunnel` option in `Sentry.init()`.
5
+ */
6
+ export declare function applyTunnelRouteOption(options: ReactBrowserOptions): void;
7
+ //# sourceMappingURL=tunnelRoute.d.ts.map
@@ -27,4 +27,5 @@ export declare const wrapMiddlewaresWithSentry: typeof serverSdk.wrapMiddlewares
27
27
  export declare const tanstackRouterBrowserTracingIntegration: typeof clientSdk.tanstackRouterBrowserTracingIntegration;
28
28
  export declare const sentryGlobalRequestMiddleware: typeof serverSdk.sentryGlobalRequestMiddleware;
29
29
  export declare const sentryGlobalFunctionMiddleware: typeof serverSdk.sentryGlobalFunctionMiddleware;
30
+ export declare const createSentryTunnelRoute: typeof serverSdk.createSentryTunnelRoute;
30
31
  //# sourceMappingURL=index.types.d.ts.map
@@ -4,6 +4,7 @@ export { init } from './sdk';
4
4
  export { wrapFetchWithSentry } from './wrapFetchWithSentry';
5
5
  export { wrapMiddlewaresWithSentry } from './middleware';
6
6
  export { sentryGlobalRequestMiddleware, sentryGlobalFunctionMiddleware } from './globalMiddleware';
7
+ export { createSentryTunnelRoute } from './tunnelRoute';
7
8
  /**
8
9
  * A no-op stub of the browser tracing integration for the server. Router setup code is shared between client and server,
9
10
  * so this stub is needed to prevent build errors during SSR bundling.
@@ -0,0 +1,29 @@
1
+ export interface CreateSentryTunnelRouteOptions {
2
+ allowedDsns?: string[];
3
+ }
4
+ type SentryTunnelRouteHandlerContext = {
5
+ request: Request;
6
+ };
7
+ type SentryTunnelRoute = {
8
+ handlers: {
9
+ POST: (context: SentryTunnelRouteHandlerContext) => Promise<Response>;
10
+ };
11
+ };
12
+ /**
13
+ * Creates a TanStack Start server route configuration for tunneling Sentry envelopes.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { createFileRoute } from '@tanstack/react-router';
18
+ * import * as Sentry from '@sentry/tanstackstart-react';
19
+ *
20
+ * export const Route = createFileRoute('/monitoring')({
21
+ * server: Sentry.createSentryTunnelRoute({
22
+ * allowedDsns: ['https://public@o0.ingest.sentry.io/0'],
23
+ * }),
24
+ * });
25
+ * ```
26
+ */
27
+ export declare function createSentryTunnelRoute(options: CreateSentryTunnelRouteOptions): SentryTunnelRoute;
28
+ export {};
29
+ //# sourceMappingURL=tunnelRoute.d.ts.map
@@ -1,3 +1,4 @@
1
1
  export { sentryTanstackStart } from './sentryTanstackStart';
2
2
  export { SentryTanstackStartOptions } from './sentryTanstackStart';
3
+ export { TunnelRouteOptions } from './tunnelRoute';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { BuildTimeOptionsBase } from '@sentry/core';
2
2
  import { Plugin } from 'vite';
3
+ import { TunnelRouteOptions } from './tunnelRoute';
3
4
  /**
4
5
  * Build-time options for the Sentry TanStack Start SDK.
5
6
  */
@@ -16,6 +17,22 @@ export interface SentryTanstackStartOptions extends BuildTimeOptionsBase {
16
17
  * @default true
17
18
  */
18
19
  autoInstrumentMiddleware?: boolean;
20
+ /**
21
+ * Configures a framework-managed same-origin tunnel route for Sentry envelopes.
22
+ *
23
+ * This creates a TanStack Start server route backed by `createSentryTunnelRoute()` and applies the resulting path
24
+ * as the default `tunnel` option on the client.
25
+ *
26
+ * You can pass:
27
+ * - `true` to generate an opaque route path per dev session or production build.
28
+ * - `'/custom-path'` to use a fixed static route path.
29
+ * - `{ allowedDsns, path }` for full control. If `allowedDsns` is omitted or empty, the tunnel route derives the DSN
30
+ * from the active server Sentry client at runtime.
31
+ *
32
+ * If you also pass `tunnel` to `Sentry.init()`, that explicit runtime option wins and a warning is emitted because
33
+ * the managed tunnel route is being bypassed.
34
+ */
35
+ tunnelRoute?: TunnelRouteOptions;
19
36
  }
20
37
  /**
21
38
  * Vite plugins for the Sentry TanStack Start SDK.
@@ -0,0 +1,19 @@
1
+ import { Plugin } from 'vite';
2
+ export type TunnelRouteOptions = true | string | {
3
+ /**
4
+ * A list of DSNs that are allowed to use the managed tunnel route.
5
+ *
6
+ * If omitted or empty, the tunnel route will derive the allowed DSN from the active server Sentry SDK at runtime.
7
+ */
8
+ allowedDsns?: string[];
9
+ /**
10
+ * Controls the public route path used by the managed tunnel route.
11
+ *
12
+ * If omitted, an opaque path is generated once per dev session or production build.
13
+ */
14
+ path?: string;
15
+ };
16
+ export declare function resolveTunnelRoute(tunnel: true | string): string;
17
+ export declare function injectManagedTunnelRoute(source: string, resolvedTunnelRoute: string): string;
18
+ export declare function makeTunnelRoutePlugin(options: TunnelRouteOptions, debug?: boolean): Plugin;
19
+ //# sourceMappingURL=tunnelRoute.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/tanstackstart-react",
3
- "version": "10.50.0",
3
+ "version": "10.52.0",
4
4
  "description": "Official Sentry SDK for TanStack Start React",
5
5
  "repository": "git://github.com/getsentry/sentry-javascript.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/tanstackstart-react",
@@ -65,10 +65,10 @@
65
65
  "dependencies": {
66
66
  "@opentelemetry/api": "^1.9.1",
67
67
  "@opentelemetry/semantic-conventions": "^1.40.0",
68
- "@sentry-internal/browser-utils": "10.50.0",
69
- "@sentry/core": "10.50.0",
70
- "@sentry/node": "10.50.0",
71
- "@sentry/react": "10.50.0",
68
+ "@sentry-internal/browser-utils": "10.52.0",
69
+ "@sentry/core": "10.52.0",
70
+ "@sentry/node": "10.52.0",
71
+ "@sentry/react": "10.52.0",
72
72
  "@sentry/vite-plugin": "^5.2.0"
73
73
  },
74
74
  "devDependencies": {