Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e 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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, '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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, '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 \u003e 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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, '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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, '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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, '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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek
, '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

Bump Typescript to 3.8 - #3690

Closed
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8
Closed

Bump Typescript to 3.8#3690
1999 wants to merge 3 commits into
getsentry:masterfrom
1999:dsorin/typescript-3-8

Conversation

@1999

@19991999 commented Jun 16, 2021

Copy link
Copy Markdown
Contributor

This is a blocker for #3669 as one of the TS dependencies has d.ts file with export type Smth which is only available since 3.8: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html

@1999
1999 requested a review from kamilogorek as a code ownerJune 16, 2021 10:02
@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek hey, not sure if I fully get what's wrong in this PR that so many tests are failing.
This error message is especially suspicious:

@sentry/browser: 16 06 2021 10:46:18.121:ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:karma-typescript"! (Resolving: framework:karma-typescript)

Can you help me understand the issue?

Comment threadyarn.lock

typescript@3.8.3:
version "3.8.3"
resolved "https://packages.atlassian.com/api/npm/npm-remote/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061"

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.

😶

@kamilogorek

Copy link
Copy Markdown
Contributor

There's a reason why we have this version locked-in, see:
https://github.com/getsentry/sentry-javascript/blob/master/scripts/verify-packages-versions.js
#2848

I just verified the ember package mentioned in #2848 and it now compiles correctly 🤔
However, this update will still introduce a new syntax, that is not backward compatible, have to double-check everything here, as we had a lot of broken builds due to TS version bumps in the past...

@1999

1999 commented Jun 16, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek thank you for spending time to explain this. I totally get the problem. Building something which will be used by so many people in different environments is hard.

It looks like updating to 3.9 is not possible. What do you think about updating to 3.8? Will this still be unsafe?

have to double-check everything here

Is there something I can help you with here?

@kamilogorek

Copy link
Copy Markdown
Contributor

Is there something I can help you with here?

Thanks, appreciate that.

What do you think about updating to 3.8? Will this still be unsafe?

Yes, that's, unfortunately, the problem, because TypeScript doesn't follow semver. When we bump to 3.8, we introduce the type-only imports syntax into the mix. Then, when we then use a dependency that utilizes it, we won't catch that issue, as there will be no compilation error (because we'd use 3.8), however, people using our SDK, would have an indirect dependency on the version of types that are not 3.7 compatible and it would not allow them to compile their apps.

The biggest issue here is that it's not possible to catch this, as there's effectively no bug/issue, it's that we changed the contract between the SDK and end-users. Changing minimum requirements for the compiler would mean a breaking change for a vast number of users still stuck with 3.7 (lots of older Angular projects for example).

We are currently working on rewriting some internals of the SDK, and when it's done, we will almost certainly bump the major version of the SDK as well. And this will be the only good opportunity to change the TS compiler version as well.
We, as the whole SDK team agreed that currently there's no easy way to bump it, so this change will have to wait. Sorry about that, and thanks for all the contributions!

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

All good. Thanks!

We are currently working on rewriting some internals of the SDK

Do you have any ETAs on when this will be released? I just want to understand what my next steps will be with #3669

@1999
1999 deleted the dsorin/typescript-3-8 branch June 17, 2021 00:27
@kamilogorek

Copy link
Copy Markdown
Contributor

Not really, as it includes a lot of research work first, so it's hard to accurately estimate.
Is there a chance that you could for example vendor these incompatible types? Or lock to a specific version? Which package is this exactly?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek this is a great idea, I will discuss it with my colleagues.

Which package is this exactly?

This is @forge/api from #3669.

@kamilogorek

Copy link
Copy Markdown
Contributor

I don't see the codebase being available publicly, only the npm package. Is that correct?

@1999

1999 commented Jun 17, 2021

Copy link
Copy Markdown
ContributorAuthor

@kamilogorek pretty much. Forge runtime is not a publicly available open-source component: it is a core part of Forge platform which lets us run developers' code securely. @forge/api package contains some important TS types for my PR above.

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.

2 participants

@1999@kamilogorek