feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat!: Bump typescript to ~5.0.0 - #14758

Merged
mydea merged 1 commit into
developfrom
fn/bump-typescript
Dec 19, 2024
Merged

feat!: Bump typescript to ~5.0.0#14758
mydea merged 1 commit into
developfrom
fn/bump-typescript

Conversation

@mydea

Copy link
Copy Markdown
Member

Closes#14757

For now we keep downleveling to 3.8, as long as that works without problems... we can still remove that in a follow up step.

@mydeamydea self-assigned this Dec 17, 2024
@github-actions

github-actionsBot commented Dec 17, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser23.13 KB--
@sentry/browser - with treeshaking flags21.81 KB--
@sentry/browser (incl. Tracing)35.61 KB--
@sentry/browser (incl. Tracing, Replay)72.88 KB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags63.29 KB--
@sentry/browser (incl. Tracing, Replay with Canvas)77.29 KB--
@sentry/browser (incl. Tracing, Replay, Feedback)89.68 KB--
@sentry/browser (incl. Feedback)39.88 KB--
@sentry/browser (incl. sendFeedback)27.74 KB--
@sentry/browser (incl. FeedbackAsync)32.5 KB--
@sentry/react25.86 KB--
@sentry/react (incl. Tracing)38.48 KB--
@sentry/vue27.36 KB--
@sentry/vue (incl. Tracing)37.5 KB--
@sentry/svelte23.29 KB--
CDN Bundle24.21 KB--
CDN Bundle (incl. Tracing)35.77 KB--
CDN Bundle (incl. Tracing, Replay)70.87 KB--
CDN Bundle (incl. Tracing, Replay, Feedback)76.17 KB--
CDN Bundle - uncompressed71.09 KB--
CDN Bundle (incl. Tracing) - uncompressed106.56 KB--
CDN Bundle (incl. Tracing, Replay) - uncompressed220.63 KB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed233.83 KB--
@sentry/nextjs (client)38.76 KB--
@sentry/sveltekit (client)36.15 KB--
@sentry/node157.95 KB--
@sentry/node - without tracing98.84 KB-0.01%-1 B 🔽
@sentry/aws-serverless126.57 KB+0.01%+1 B 🔺

View base workflow run

markFunctionWrapped(wrappedFunc, originalFunc);

expect((wrappedFunc as WrappedFunction).__sentry_original__).toBe(originalFunc);
// cannot wrap because it is frozen, but we do not error!

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh, why did this test pass before? 😅 some ts bug or so? The new behavior is def. the actual expected behavior!

CpuProfilerBindings.startProfiling(name);
await fn();
return CpuProfilerBindings.stopProfiling(name, format);
return CpuProfilerBindings.stopProfiling(name, ProfileFormat.THREAD);

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This started complaining in TS, no idea why. I fixed it by just inlining the one place that we used a different format.

@mydea
mydeaforce-pushed the fn/bump-typescript branch 2 times, most recently from ad2f77c to 080fc65CompareDecember 18, 2024 10:17

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this note, not 100% sure if this makes sense? 🤔

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No hard opinions but personally if a sentence effectively says nothing, which is the case for this one I believe, I would not write it down.

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function getDomElement<E = any>(selector: string): E | null {
if (WINDOW.document && WINDOW.document.querySelector) {
if (WINDOW.document && 'querySelector' in WINDOW.document) {

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this complains about being deprecated, which is really stupid 😬 I wonder if we need this check at all anymore 🤔 but probably...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://caniuse.com/queryselector seems to be supported in all the environments we say we support, I think it's fine.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will remove/deprecate this in a separate PR!

@mydea
mydea marked this pull request as ready for review December 18, 2024 10:19
@mydea
mydea requested review from a team as code ownersDecember 18, 2024 10:19

Additionally, like the OpenTelemetry SDK, the Sentry JavaScript SDK will follow [DefinitelyType's version support policy](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which has a support time frame of 2 years for any released version of TypeScript.

Older Typescript versions _may_ still work, but we will not test them anymore and no more guarantees apply.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that feels reasonable to me.

mydea added a commit that referenced this pull request Dec 19, 2024
I noticed this in
#14758, this seems
unnecessary and all browsers/envs we support should be able to handle
this. We only use this in two places anyhow, so we can just guard there
(a bit) for this instead.
I will add a deprecation to v8 for this too, although this is just
exported from core and will most likely not affect anybody.
@mydea
mydea merged commit 61660df into developDec 19, 2024
@mydea
mydea deleted the fn/bump-typescript branch December 19, 2024 12:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[v9] Bump typescript to v5.0.0

4 participants

@mydea@timfish@lforst@AbhiPrasad