-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
build: Update typescript from 3.8.3 to 4.9.5 #8255
Conversation
size-limit report 📦
|
1dd645f
to
18c60e4
Compare
Why not go up to 5.0? |
downlevel-dts has not been updated for 5.0 yet (sandersn/downlevel-dts#88). but the good thing is, with this in place, once they updated their support, we can update quite easily with the same architecture! |
18b2e04
to
0acacb4
Compare
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.
Great job! Overall this looks good to me!
I'm just a little concerned about removing the specific TS versions of certain SDK packages like Angular(-ivy) or SvelteKit. Maybe I'm missing somehting but I'd rather go with the minimum TS version by the framework if we don't downlevel to TS 3.8.
Still I think this is good to merge once the others also looked over this PR, too. We should do this upgrade. If anything goes wrong, we can always revert.
packages/nextjs/src/common/wrapApiHandlerWithSentryVercelCrons.ts
Outdated
Show resolved
Hide resolved
Are we using |
Hmm, good question. Not sure... I need to check it out! We use it to build & generate types, I guess, so may be an issue. |
427e0d8
to
bcc50f8
Compare
OK, so I built once with the new TS version, where e.g. for node we get this Object.defineProperty(exports, '__esModule', { value: true });
const core = require('@sentry/core');
const index = require('./tracing/index.js');
const client = require('./client.js');
const http = require('./transports/http.js');
const sdk = require('./sdk.js');
const requestdata = require('./requestdata.js');
const utils = require('./utils.js');
const handlers = require('./handlers.js');
const index$1 = require('./integrations/index.js');
const integrations = require('./tracing/integrations.js');
const INTEGRATIONS = {
...core.Integrations,
...index$1,
...integrations,
};
exports.Hub = core.Hub;
exports.SDK_VERSION = core.SDK_VERSION;
exports.Scope = core.Scope;
... which as far as I can tell is the same as with the old TS version? But maybe somebody else can/should double check this as well, for sanity..! |
bcc50f8
to
5a469b9
Compare
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.
Validated the output, seems fine to me. Let's go!
c526800
to
266dbf1
Compare
266dbf1
to
82c0502
Compare
82c0502
to
e8099ed
Compare
<p>This PR was automatically created by Snyk using the credentials of a real user.</p><br /><h3>Snyk has created this PR to upgrade @sentry/browser from 7.56.0 to 7.57.0.</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 **2 versions** ahead of your current version. - The recommended version was released **23 days ago**, on 2023-06-28. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@sentry/browser</b></summary> <ul> <li> <b>7.57.0</b> - <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/releases/tag/7.57.0">2023-06-28</a></br><h3>Important Changes</h3> <ul> <li><strong>build: Update typescript from 3.8.3 to 4.9.5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1732343050" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8255" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8255/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8255">#8255</a>)</strong></li> </ul> <p>This release version <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8255" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8255/hovercard">bumps the internally used typescript version from 3.8.x to 4.9.x</a>.<br> We use ds-downlevel to generate two versions of our types, one for >=3.8, one for >=4.9.<br> This means that this change should be fully backwards compatible and not have any noticable user impact,<br> but if you still encounter issues please let us know.</p> <ul> <li><strong>feat(types): Add tracePropagationTargets to top level options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1771501713" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8395" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8395/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8395">#8395</a>)</strong></li> </ul> <p>Instead of passing <code>tracePropagationTargets</code> to the <code>BrowserTracing</code> integration, you can now define them on the top level:</p> <div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Sentry.init({ tracePropagationTargets: ['api.site.com'], });"><pre><span class="pl-v">Sentry</span><span class="pl-kos">.</span><span class="pl-en">init</span><span class="pl-kos">(</span><span class="pl-kos">{</span> <span class="pl-c1">tracePropagationTargets</span>: <span class="pl-kos">[</span><span class="pl-s">'api.site.com'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <ul> <li><strong>fix(angular): Filter out <code>TryCatch</code> integration by default (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1764938256" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8367" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8367/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8367">#8367</a>)</strong></li> </ul> <p>The Angular and Angular-ivy SDKs will not install the TryCatch integration anymore by default.<br> This integration conflicted with the <code>SentryErrorHander</code>, sometimes leading to duplicated errors and/or missing data on events.</p> <ul> <li><strong>feat(browser): Better event name handling for non-Error objects (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1767863342" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8374" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8374/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8374">#8374</a>)</strong></li> </ul> <p>When capturing non-errors via <code>Sentry.captureException()</code>, e.g. <code>Sentry.captureException({ prop: "custom object" })</code>,<br> we now generate a more helpful value for the synthetic exception. Instead of e.g. <code>Non-Error exception captured with keys: currentTarget, isTrusted, target, type</code>, you'll now get messages like:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Object captured as exception with keys: prop1, prop2 Event `MouseEvent` (type=click) captured as exception Event `ErrorEvent` captured as exception with message `Script error.`"><pre class="notranslate"><code>Object captured as exception with keys: prop1, prop2 Event `MouseEvent` (type=click) captured as exception Event `ErrorEvent` captured as exception with message `Script error.` </code></pre></div> <h3>Other Changes</h3> <ul> <li>feat(browser): Send profiles in same envelope as transactions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1767979830" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8375" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8375/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8375">#8375</a>)</li> <li>feat(profiling): Collect timings on profiler stop calls (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1777004306" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8409" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8409/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8409">#8409</a>)</li> <li>feat(replay): Do not capture replays < 5 seconds (GA) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736970479" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8277" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8277/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8277">#8277</a>)</li> <li>feat(tracing): Add experiment to capture http timings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1765573137" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8371" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8371/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8371">#8371</a>)</li> <li>feat(tracing): Add <code>http.response.status_code</code> to <code>span.data</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1764892325" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8366" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8366/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8366">#8366</a>)</li> <li>fix(angular): Stop routing spans on navigation cancel and error events (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1765286148" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8369" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8369/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8369">#8369</a>)</li> <li>fix(core): Only start spans in <code>trace</code> if tracing is enabled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1763395305" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8357" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8357/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8357">#8357</a>)</li> <li>fix(nextjs): Inject init calls via loader instead of via entrypoints (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1764971073" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8368" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8368/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8368">#8368</a>)</li> <li>fix(replay): Mark ui.slowClickDetected <code>clickCount</code> as optional (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1768099155" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8376" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8376/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8376">#8376</a>)</li> <li>fix(serverless): Export <code>autoDiscoverNodePerformanceMonitoringIntegrations</code> from SDK (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769506334" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8382" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8382/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8382">#8382</a>)</li> <li>fix(sveltekit): Check for cached requests in client-side fetch instrumentation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1770104495" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8391" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8391/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8391">#8391</a>)</li> <li>fix(sveltekit): Only instrument SvelteKit <code>fetch</code> if the SDK client is valid (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769261512" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8381" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8381/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8381">#8381</a>)</li> <li>fix(tracing): Instrument Prisma client in constructor of integration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769565969" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8383" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8383/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8383">#8383</a>)</li> <li>ref(replay): More graceful <code>sessionStorage</code> check (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1770880521" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8394" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8394/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8394">#8394</a>)</li> <li>ref(replay): Remove circular dep in replay eventBuffer (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769990964" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8389" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8389/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8389">#8389</a>)</li> </ul> <h2>Bundle size <g-emoji class="g-emoji" alias="package" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e6.png">📦</g-emoji></h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td>@ sentry/browser - ES5 CDN Bundle (gzipped + minified)</td> <td>21.49 KB</td> </tr> <tr> <td>@ sentry/browser - ES5 CDN Bundle (minified)</td> <td>67.59 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (gzipped + minified)</td> <td>19.82 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (minified)</td> <td>58.9 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (gzipped + minified)</td> <td>21.43 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (minified)</td> <td>69.87 KB</td> </tr> <tr> <td>@ sentry/react - Webpack (gzipped + minified)</td> <td>21.46 KB</td> </tr> <tr> <td>@ sentry/nextjs Client - Webpack (gzipped + minified)</td> <td>49.81 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES5 CDN Bundle (gzipped + minified)</td> <td>29.39 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES6 CDN Bundle (gzipped + minified)</td> <td>27.48 KB</td> </tr> <tr> <td>@ sentry/replay ES6 CDN Bundle (gzipped + minified)</td> <td>49.34 KB</td> </tr> <tr> <td>@ sentry/replay - Webpack (gzipped + minified)</td> <td>43.11 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>68.82 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>61.38 KB</td> </tr> </tbody> </table> </li> <li> <b>7.57.0-beta.0</b> - <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/releases/tag/7.57.0-beta.0">2023-06-21</a></br><p>This beta version <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8255" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8255/hovercard">bumps the internally used typescript version from 3.8.x to 4.9.x</a>.<br> We use ds-downlevel to generate two versions of our types, one for >=3.8, one for >=4.9.<br> This means that this change should be fully backwards compatible and not have any noticable user impact.</p> <p>However, since this touches the whole code base, we decided to release this as a beta first in order to ensure this is fully stable.</p> <h3>Other Changes</h3> <ul> <li>feat(replay): Do not capture replays < 5 seconds (GA) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736970479" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8277" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8277/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8277">#8277</a>)</li> </ul> <h2>Bundle size <g-emoji class="g-emoji" alias="package" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e6.png">📦</g-emoji></h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td>@ sentry/browser - ES5 CDN Bundle (gzipped + minified)</td> <td>21.38 KB</td> </tr> <tr> <td>@ sentry/browser - ES5 CDN Bundle (minified)</td> <td>67.24 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (gzipped + minified)</td> <td>19.72 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (minified)</td> <td>58.61 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (gzipped + minified)</td> <td>21.34 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (minified)</td> <td>69.53 KB</td> </tr> <tr> <td>@ sentry/react - Webpack (gzipped + minified)</td> <td>21.37 KB</td> </tr> <tr> <td>@ sentry/nextjs Client - Webpack (gzipped + minified)</td> <td>49.29 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES5 CDN Bundle (gzipped + minified)</td> <td>29.03 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES6 CDN Bundle (gzipped + minified)</td> <td>27.04 KB</td> </tr> <tr> <td>@ sentry/replay ES6 CDN Bundle (gzipped + minified)</td> <td>49.34 KB</td> </tr> <tr> <td>@ sentry/replay - Webpack (gzipped + minified)</td> <td>43.08 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>68.37 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>61.27 KB</td> </tr> </tbody> </table> </li> <li> <b>7.56.0</b> - 2023-06-19 </li> </ul> from <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/releases">@sentry/browser GitHub release notes</a> </details> </details> <hr/> **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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI0MzczZjBlYi1iMTUyLTQ3Y2QtOTkxNi0yMzQ5NzY5NDIxZTIiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjQzNzNmMGViLWIxNTItNDdjZC05OTE2LTIzNDk3Njk0MjFlMiJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6/settings/integration?pkg=@sentry/browser&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"4373f0eb-b152-47cd-9916-2349769421e2","prPublicId":"4373f0eb-b152-47cd-9916-2349769421e2","dependencies":[{"name":"@sentry/browser","from":"7.56.0","to":"7.57.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"8a1190df-0364-4a9a-93bd-a9f28b54daf6","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":2,"publishedDate":"2023-06-28T15:27:04.479Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) ---> Co-authored-by: snyk-bot <snyk-bot@snyk.io>
<p>This PR was automatically created by Snyk using the credentials of a real user.</p><br /><h3>Snyk has created this PR to upgrade @sentry/tracing from 7.56.0 to 7.57.0.</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 **2 versions** ahead of your current version. - The recommended version was released **23 days ago**, on 2023-06-28. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@sentry/tracing</b></summary> <ul> <li> <b>7.57.0</b> - <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/releases/tag/7.57.0">2023-06-28</a></br><h3>Important Changes</h3> <ul> <li><strong>build: Update typescript from 3.8.3 to 4.9.5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1732343050" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8255" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8255/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8255">#8255</a>)</strong></li> </ul> <p>This release version <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8255" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8255/hovercard">bumps the internally used typescript version from 3.8.x to 4.9.x</a>.<br> We use ds-downlevel to generate two versions of our types, one for >=3.8, one for >=4.9.<br> This means that this change should be fully backwards compatible and not have any noticable user impact,<br> but if you still encounter issues please let us know.</p> <ul> <li><strong>feat(types): Add tracePropagationTargets to top level options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1771501713" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8395" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8395/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8395">#8395</a>)</strong></li> </ul> <p>Instead of passing <code>tracePropagationTargets</code> to the <code>BrowserTracing</code> integration, you can now define them on the top level:</p> <div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Sentry.init({ tracePropagationTargets: ['api.site.com'], });"><pre><span class="pl-v">Sentry</span><span class="pl-kos">.</span><span class="pl-en">init</span><span class="pl-kos">(</span><span class="pl-kos">{</span> <span class="pl-c1">tracePropagationTargets</span>: <span class="pl-kos">[</span><span class="pl-s">'api.site.com'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <ul> <li><strong>fix(angular): Filter out <code>TryCatch</code> integration by default (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1764938256" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8367" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8367/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8367">#8367</a>)</strong></li> </ul> <p>The Angular and Angular-ivy SDKs will not install the TryCatch integration anymore by default.<br> This integration conflicted with the <code>SentryErrorHander</code>, sometimes leading to duplicated errors and/or missing data on events.</p> <ul> <li><strong>feat(browser): Better event name handling for non-Error objects (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1767863342" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8374" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8374/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8374">#8374</a>)</strong></li> </ul> <p>When capturing non-errors via <code>Sentry.captureException()</code>, e.g. <code>Sentry.captureException({ prop: "custom object" })</code>,<br> we now generate a more helpful value for the synthetic exception. Instead of e.g. <code>Non-Error exception captured with keys: currentTarget, isTrusted, target, type</code>, you'll now get messages like:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Object captured as exception with keys: prop1, prop2 Event `MouseEvent` (type=click) captured as exception Event `ErrorEvent` captured as exception with message `Script error.`"><pre class="notranslate"><code>Object captured as exception with keys: prop1, prop2 Event `MouseEvent` (type=click) captured as exception Event `ErrorEvent` captured as exception with message `Script error.` </code></pre></div> <h3>Other Changes</h3> <ul> <li>feat(browser): Send profiles in same envelope as transactions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1767979830" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8375" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8375/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8375">#8375</a>)</li> <li>feat(profiling): Collect timings on profiler stop calls (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1777004306" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8409" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8409/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8409">#8409</a>)</li> <li>feat(replay): Do not capture replays < 5 seconds (GA) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736970479" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8277" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8277/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8277">#8277</a>)</li> <li>feat(tracing): Add experiment to capture http timings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1765573137" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8371" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8371/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8371">#8371</a>)</li> <li>feat(tracing): Add <code>http.response.status_code</code> to <code>span.data</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1764892325" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8366" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8366/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8366">#8366</a>)</li> <li>fix(angular): Stop routing spans on navigation cancel and error events (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1765286148" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8369" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8369/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8369">#8369</a>)</li> <li>fix(core): Only start spans in <code>trace</code> if tracing is enabled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1763395305" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8357" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8357/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8357">#8357</a>)</li> <li>fix(nextjs): Inject init calls via loader instead of via entrypoints (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1764971073" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8368" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8368/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8368">#8368</a>)</li> <li>fix(replay): Mark ui.slowClickDetected <code>clickCount</code> as optional (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1768099155" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8376" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8376/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8376">#8376</a>)</li> <li>fix(serverless): Export <code>autoDiscoverNodePerformanceMonitoringIntegrations</code> from SDK (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769506334" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8382" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8382/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8382">#8382</a>)</li> <li>fix(sveltekit): Check for cached requests in client-side fetch instrumentation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1770104495" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8391" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8391/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8391">#8391</a>)</li> <li>fix(sveltekit): Only instrument SvelteKit <code>fetch</code> if the SDK client is valid (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769261512" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8381" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8381/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8381">#8381</a>)</li> <li>fix(tracing): Instrument Prisma client in constructor of integration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769565969" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8383" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8383/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8383">#8383</a>)</li> <li>ref(replay): More graceful <code>sessionStorage</code> check (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1770880521" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8394" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8394/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8394">#8394</a>)</li> <li>ref(replay): Remove circular dep in replay eventBuffer (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1769990964" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8389" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8389/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8389">#8389</a>)</li> </ul> <h2>Bundle size <g-emoji class="g-emoji" alias="package" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e6.png">📦</g-emoji></h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td>@ sentry/browser - ES5 CDN Bundle (gzipped + minified)</td> <td>21.49 KB</td> </tr> <tr> <td>@ sentry/browser - ES5 CDN Bundle (minified)</td> <td>67.59 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (gzipped + minified)</td> <td>19.82 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (minified)</td> <td>58.9 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (gzipped + minified)</td> <td>21.43 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (minified)</td> <td>69.87 KB</td> </tr> <tr> <td>@ sentry/react - Webpack (gzipped + minified)</td> <td>21.46 KB</td> </tr> <tr> <td>@ sentry/nextjs Client - Webpack (gzipped + minified)</td> <td>49.81 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES5 CDN Bundle (gzipped + minified)</td> <td>29.39 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES6 CDN Bundle (gzipped + minified)</td> <td>27.48 KB</td> </tr> <tr> <td>@ sentry/replay ES6 CDN Bundle (gzipped + minified)</td> <td>49.34 KB</td> </tr> <tr> <td>@ sentry/replay - Webpack (gzipped + minified)</td> <td>43.11 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>68.82 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>61.38 KB</td> </tr> </tbody> </table> </li> <li> <b>7.57.0-beta.0</b> - <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/releases/tag/7.57.0-beta.0">2023-06-21</a></br><p>This beta version <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8255" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8255/hovercard">bumps the internally used typescript version from 3.8.x to 4.9.x</a>.<br> We use ds-downlevel to generate two versions of our types, one for >=3.8, one for >=4.9.<br> This means that this change should be fully backwards compatible and not have any noticable user impact.</p> <p>However, since this touches the whole code base, we decided to release this as a beta first in order to ensure this is fully stable.</p> <h3>Other Changes</h3> <ul> <li>feat(replay): Do not capture replays < 5 seconds (GA) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1736970479" data-permission-text="Title is private" data-url="getsentry/sentry-javascript#8277" data-hovercard-type="pull_request" data-hovercard-url="/getsentry/sentry-javascript/pull/8277/hovercard" href="https://snyk.io/redirect/github/getsentry/sentry-javascript/pull/8277">#8277</a>)</li> </ul> <h2>Bundle size <g-emoji class="g-emoji" alias="package" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e6.png">📦</g-emoji></h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td>@ sentry/browser - ES5 CDN Bundle (gzipped + minified)</td> <td>21.38 KB</td> </tr> <tr> <td>@ sentry/browser - ES5 CDN Bundle (minified)</td> <td>67.24 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (gzipped + minified)</td> <td>19.72 KB</td> </tr> <tr> <td>@ sentry/browser - ES6 CDN Bundle (minified)</td> <td>58.61 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (gzipped + minified)</td> <td>21.34 KB</td> </tr> <tr> <td>@ sentry/browser - Webpack (minified)</td> <td>69.53 KB</td> </tr> <tr> <td>@ sentry/react - Webpack (gzipped + minified)</td> <td>21.37 KB</td> </tr> <tr> <td>@ sentry/nextjs Client - Webpack (gzipped + minified)</td> <td>49.29 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES5 CDN Bundle (gzipped + minified)</td> <td>29.03 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing - ES6 CDN Bundle (gzipped + minified)</td> <td>27.04 KB</td> </tr> <tr> <td>@ sentry/replay ES6 CDN Bundle (gzipped + minified)</td> <td>49.34 KB</td> </tr> <tr> <td>@ sentry/replay - Webpack (gzipped + minified)</td> <td>43.08 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/tracing + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>68.37 KB</td> </tr> <tr> <td>@ sentry/browser + @ sentry/replay - ES6 CDN Bundle (gzipped + minified)</td> <td>61.27 KB</td> </tr> </tbody> </table> </li> <li> <b>7.56.0</b> - 2023-06-19 </li> </ul> from <a href="https://snyk.io/redirect/github/getsentry/sentry-javascript/releases">@sentry/tracing GitHub release notes</a> </details> </details> <hr/> **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=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI3NzRmZmVjZC03ZmJkLTRlZTEtYTI0Mi1hMWMzNTBkMjNmYTMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6Ijc3NGZmZWNkLTdmYmQtNGVlMS1hMjQyLWExYzM1MGQyM2ZhMyJ9fQ==" width="0" height="0"/> 🧐 [View latest project report](https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6?utm_source=github&utm_medium=referral&page=upgrade-pr) 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6/settings/integration?pkg=@sentry/tracing&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) <!--- (snyk:metadata:{"prId":"774ffecd-7fbd-4ee1-a242-a1c350d23fa3","prPublicId":"774ffecd-7fbd-4ee1-a242-a1c350d23fa3","dependencies":[{"name":"@sentry/tracing","from":"7.56.0","to":"7.57.0"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/mtes-mct/project/8a1190df-0364-4a9a-93bd-a9f28b54daf6?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"8a1190df-0364-4a9a-93bd-a9f28b54daf6","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":2,"publishedDate":"2023-06-28T15:27:04.555Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]}) ---> Co-authored-by: snyk-bot <snyk-bot@snyk.io>
This updates the TS version we use from 3.8.3 to 4.9.5. This allows us to use newer TS features, as well as as improves compatibility with newer @types/xxx packages that use newer features, which leads to issues when transitive dependencies are used etc.
We use downlevel-dts to generate a 3.8 compatible types output in addition, so this should be fully backwards compatible. TS provides a built-in way to tell it to use a certain types output for a certain version, so this should work with no breaking change.
The main changes necessary here are small tweaks to types which are required in 4.9.x.