-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat(tanstackstart): Add @sentry/tanstackstart-react
package and make @sentry/tanstackstart
package a utility package
#15629
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ke `@sentry/tanstackstart` package a utility package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! No strong opinions on own package vs. subpath export. I think the reasoning for having @sentry/tastackstart-react it as its own package makes sense, though it's a bit unfortunate that we need more than one package for the framework (related, see my Q about the @sentry/tanstack package).
Other nits (feel free to ignore):
- let's add the package(s) to the main README in the repo
- let's update the bug report issue template s.t. users can select the package
@@ -1,7 +1,7 @@ | |||
{ | |||
"name": "@sentry/tanstackstart", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this rather be @sentry-internal/tanstackstart
then? Or are we planning on instructing users to install both packages?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had thought the same, I opted to do it like this for now because I messed up because I already published the package, so it's out there and grabbing SEO. We definitely need to update the README for the package that's out there for now, so I think this is still fine - maybe I'll deprecate the package and go for the internal
name in a future PR. Hope that makes sense. I wish I hadn't published the package already 😂 😭
Will the framework support using multiple ui libs within one app at some point e.g. like Astro? Then specifically naming the package would cause confusion in the future |
I don't think so. Also we need specific instrumentation APIs, so even if, I think this split would make sense. |
![snyk-io[bot]](https://badgen.net/badge/icon/snyk-io%5Bbot%5D/green?label=)  [<img width="16" alt="Powered by Pull Request Badge" src="https://user-images.githubusercontent.com/1393946/111216524-d2bb8e00-85d4-11eb-821b-ed4c00989c02.png">](https://pullrequestbadge.com/?utm_medium=github&utm_source=reisene&utm_campaign=badge_info)<!-- PR-BADGE: PLEASE DO NOT REMOVE THIS COMMENT -->  <h3>Snyk has created this PR to upgrade @sentry/browser from 9.5.0 to 9.6.1.</h3> :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project. <hr/> - The recommended version is **3 versions** ahead of your current version. - The recommended version was released **22 days ago**. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@sentry/browser</b></summary> <ul> <li> <b>9.6.1</b> - <a href="https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.6.1">2025-03-19</a></br><ul> <li>feat(deps): bump @ prisma/instrumentation from 6.4.1 to 6.5.0 (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15714" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15714/hovercard">#15714</a>)</li> <li>feat(deps): bump @ sentry/cli from 2.42.2 to 2.42.3 (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15711" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15711/hovercard">#15711</a>)</li> <li>fix(nextjs): Re-patch router if it is overridden by Next.js (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15721" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15721/hovercard">#15721</a>)</li> <li>fix(nuxt): Add Nitro Rollup plugin to inject Sentry server config (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15710" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15710/hovercard">#15710</a>)</li> <li>chore(deps): Bump rollup to 4.35.0 (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15651" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15651/hovercard">#15651</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td>@ sentry/browser</td> <td>23.15 KB</td> </tr> <tr> <td>@ sentry/browser - with treeshaking flags</td> <td>22.94 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing)</td> <td>36.21 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay)</td> <td>73.39 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay) - with treeshaking flags</td> <td>66.81 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay with Canvas)</td> <td>78.01 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay, Feedback)</td> <td>90.57 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Feedback)</td> <td>40.3 KB</td> </tr> <tr> <td>@ sentry/browser (incl. sendFeedback)</td> <td>27.79 KB</td> </tr> <tr> <td>@ sentry/browser (incl. FeedbackAsync)</td> <td>32.58 KB</td> </tr> <tr> <td>@ sentry/react</td> <td>24.97 KB</td> </tr> <tr> <td>@ sentry/react (incl. Tracing)</td> <td>38.1 KB</td> </tr> <tr> <td>@ sentry/vue</td> <td>27.4 KB</td> </tr> <tr> <td>@ sentry/vue (incl. Tracing)</td> <td>37.9 KB</td> </tr> <tr> <td>@ sentry/svelte</td> <td>23.18 KB</td> </tr> <tr> <td>CDN Bundle</td> <td>24.36 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing)</td> <td>36.26 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay)</td> <td>71.27 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback)</td> <td>76.45 KB</td> </tr> <tr> <td>CDN Bundle - uncompressed</td> <td>71.19 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing) - uncompressed</td> <td>107.57 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td> <td>218.83 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td> <td>231.39 KB</td> </tr> <tr> <td>@ sentry/nextjs (client)</td> <td>39.38 KB</td> </tr> <tr> <td>@ sentry/sveltekit (client)</td> <td>36.63 KB</td> </tr> <tr> <td>@ sentry/node</td> <td>142.29 KB</td> </tr> <tr> <td>@ sentry/node - without tracing</td> <td>95.71 KB</td> </tr> <tr> <td>@ sentry/aws-serverless</td> <td>120.06 KB</td> </tr> </tbody> </table> </li> <li> <b>9.6.0</b> - <a href="https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.6.0">2025-03-17</a></br><h3>Important Changes</h3> <ul> <li> <p><strong>feat(tanstackstart): Add <code>@ sentry/tanstackstart-react</code> package and make <code>@ sentry/tanstackstart</code> package a utility package (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15629" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15629/hovercard">#15629</a>)</strong></p> <p>Since TanStack Start is supposed to be a generic framework that supports libraries like React and Solid, the <code>@ sentry/tanstackstart</code> SDK package was renamed to <code>@ sentry/tanstackstart-react</code> to reflect that the SDK is specifically intended to be used for React TanStack Start applications.<br> Note that the TanStack Start SDK is still in alpha status and may be subject to breaking changes in non-major package updates.</p> </li> </ul> <h3>Other Changes</h3> <ul> <li>feat(astro): Accept all vite-plugin options (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15638" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15638/hovercard">#15638</a>)</li> <li>feat(deps): bump @ sentry/webpack-plugin from 3.2.1 to 3.2.2 (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15627" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15627/hovercard">#15627</a>)</li> <li>feat(tanstackstart): Refine initial API (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15574" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15574/hovercard">#15574</a>)</li> <li>fix(core): Ensure <code>fill</code> only patches functions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15632" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15632/hovercard">#15632</a>)</li> <li>fix(nextjs): Consider <code>pageExtensions</code> when looking for instrumentation file (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15701" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15701/hovercard">#15701</a>)</li> <li>fix(remix): Null-check <code>options</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15610" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15610/hovercard">#15610</a>)</li> <li>fix(sveltekit): Correctly parse angle bracket type assertions for auto instrumentation (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15578" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15578/hovercard">#15578</a>)</li> <li>fix(sveltekit): Guard process variable (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/15605" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/15605/hovercard">#15605</a>)</li> </ul> <p>Work in this release was contributed by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/angelikatyborska/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/angelikatyborska">@ angelikatyborska</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nwalters512/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/nwalters512">@ nwalters512</a>. Thank you for your contributions!</p> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td>@ sentry/browser</td> <td>23.15 KB</td> </tr> <tr> <td>@ sentry/browser - with treeshaking flags</td> <td>22.94 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing)</td> <td>36.21 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay)</td> <td>73.39 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay) - with treeshaking flags</td> <td>66.8 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay with Canvas)</td> <td>78.01 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Tracing, Replay, Feedback)</td> <td>90.57 KB</td> </tr> <tr> <td>@ sentry/browser (incl. Feedback)</td> <td>40.3 KB</td> </tr> <tr> <td>@ sentry/browser (incl. sendFeedback)</td> <td>27.79 KB</td> </tr> <tr> <td>@ sentry/browser (incl. FeedbackAsync)</td> <td>32.58 KB</td> </tr> <tr> <td>@ sentry/react</td> <td>24.97 KB</td> </tr> <tr> <td>@ sentry/react (incl. Tracing)</td> <td>38.1 KB</td> </tr> <tr> <td>@ sentry/vue</td> <td>27.4 KB</td> </tr> <tr> <td>@ sentry/vue (incl. Tracing)</td> <td>37.9 KB</td> </tr> <tr> <td>@ sentry/svelte</td> <td>23.18 KB</td> </tr> <tr> <td>CDN Bundle</td> <td>24.36 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing)</td> <td>36.26 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay)</td> <td>71.27 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback)</td> <td>76.45 KB</td> </tr> <tr> <td>CDN Bundle - uncompressed</td> <td>71.19 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing) - uncompressed</td> <td>107.57 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td> <td>218.84 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td> <td>231.4 KB</td> </tr> <tr> <td>@ sentry/nextjs (client)</td> <td>39.27 KB</td> </tr> <tr> <td>@ sentry/sveltekit (client)</td> <td>36.63 KB</td> </tr> <tr> <td>@ sentry/node</td> <td>142.15 KB</td> </tr> <tr> <td>@ sentry/node - without tracing</td> <td>95.58 KB</td> </tr> <tr> <td>@ sentry/aws-serverless</td> <td>119.92 KB</td> </tr> </tbody> </table> </li> <li> <b>9.6.0-alpha.0</b> - 2025-03-06 </li> <li> <b>9.5.0</b> - 2025-03-06 </li> </ul> from <a href="https://redirect.github.com/getsentry/sentry-javascript/releases">@sentry/browser GitHub release notes</a> </details> </details> --- > [!IMPORTANT] > > - Check the changes in this PR to ensure they won't cause issues with your project. > - This PR was automatically created by Snyk using the credentials of a real user. --- **Note:** _You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs._ **For more information:** <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJhYjgwMDgxOS1lZTdkLTRiNzMtOGU2MS03ZWM1MWRlZDEwOWUiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImFiODAwODE5LWVlN2QtNGI3My04ZTYxLTdlYzUxZGVkMTA5ZSJ9fQ==" width="0" height="0"/> > - 🧐 [View latest project report](https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59?utm_source=github-cloud-app&utm_medium=referral&page=upgrade-pr) > - 📜 [Customise PR templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template) > - 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59/settings/integration?utm_source=github-cloud-app&utm_medium=referral&page=upgrade-pr) > - 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59/settings/integration?pkg=@sentry/browser&utm_source=github-cloud-app&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) [//]: # 'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"@sentry/browser","from":"9.5.0","to":"9.6.1"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"ab800819-ee7d-4b73-8e61-7ec51ded109e","prPublicId":"ab800819-ee7d-4b73-8e61-7ec51ded109e","packageManager":"npm","priorityScoreList":[],"projectPublicId":"55e114f8-489e-4f14-b900-20574b041e59","projectUrl":"https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59?utm_source=github-cloud-app&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":3,"publishedDate":"2025-03-19T10:03:32.247Z"},"vulns":[]}' ## Podsumowanie od Sourcery Ulepszenia: - Aktualizacja pakietu Sentry dla przeglądarki do najnowszej wersji minor <details> <summary>Original summary in English</summary> ## Summary by Sourcery Enhancements: - Update Sentry browser package to the latest minor version </details>
I realized thanks to TanStack/router#3607 (comment) that TanStack Start is gonna be a generic thing that supports multiple frameworks like React and Solid (maybe even more in the future).
This means that we should probably not publish the package for TanStack Start React as
@sentry/tanstackstart
. I thought about doing submodule exports like@sentry/tanstackstart/react
and@sentry/tanstackstart/solid
but that comes with a few (user-facing) drawbacks that I don't want to deal with:For the reasons above I decided to make the
@sentry/tanstackstart
package a utility package that we can use to host generic instrumentation helpers and publish an additional package called@sentry/tanstackstart-react
that contains the actual SDK. For now the utils package is empty but that will change in the future as we see fit.