feat(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d
, '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(astro)!: Remove unstable_sentryVitePluginOptions - #23370

Merged
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions
Aug 13, 2026
Merged

feat(astro)!: Remove unstable_sentryVitePluginOptions#23370
chargome merged 1 commit into
charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsfrom
charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions

Conversation

@chargome

@chargomechargome commented Aug 12, 2026

Copy link
Copy Markdown
Member

Removes unstable_sentryVitePluginOptions from the Astro integration options — both the top-level option and the deprecated copy inside sourceMapsUploadOptions.

Everything it exposed is reachable as a top-level build option. Adds a build-time warning, routed through Astro's integration logger.

The warning matters more here than elsewhere: SentryOptions intersects Record<string, unknown>, so TypeScript accepts any key and would otherwise leave the removal entirely silent. The key is also excluded from the generic "additional options" warning, which would wrongly tell users to move it into their sentry.client.config file.

Fixes#23342

@chargomechargome self-assigned this Aug 12, 2026
@linear-code

Copy link
Copy Markdown

JS-3358

@github-actions

github-actionsBot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize% ChangeChange
@sentry/browser30.3 kB--
@sentry/browser - with treeshaking flags28.47 kB--
@sentry/browser - with treeshaking flags tracing without tracing26.81 kB--
@sentry/browser (incl. Tracing)48.54 kB--
@sentry/browser (incl. Tracing + Span Streaming)48.55 kB--
@sentry/browser (incl. Tracing, Profiling)51.43 kB--
@sentry/browser (incl. Tracing, Replay)87.94 kB--
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags77.32 kB--
@sentry/browser (incl. Tracing, Replay with Canvas)92.67 kB--
@sentry/browser (incl. Tracing, Replay, Feedback)105.36 kB--
@sentry/browser (incl. Feedback)47.65 kB--
@sentry/browser (incl. sendFeedback)35.13 kB--
@sentry/browser (incl. FeedbackAsync)40.28 kB--
@sentry/browser (incl. Metrics)31.24 kB--
@sentry/browser (incl. Logs)31.52 kB--
@sentry/browser (incl. Metrics & Logs)32.15 kB--
@sentry/react32.09 kB--
@sentry/react (incl. Tracing)50.73 kB--
@sentry/vue35.31 kB--
@sentry/vue (incl. Tracing)50.5 kB--
@sentry/svelte30.33 kB--
CDN Bundle31.61 kB--
CDN Bundle (incl. Tracing)48.87 kB--
CDN Bundle (incl. Logs, Metrics)33.8 kB--
CDN Bundle (incl. Tracing, Logs, Metrics)50.79 kB--
CDN Bundle (incl. Replay, Logs, Metrics)74.31 kB--
CDN Bundle (incl. Tracing, Replay)86.46 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics)88.29 kB--
CDN Bundle (incl. Tracing, Replay, Feedback)92.16 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics)94.11 kB--
CDN Bundle - uncompressed93.84 kB--
CDN Bundle (incl. Tracing) - uncompressed146.72 kB--
CDN Bundle (incl. Logs, Metrics) - uncompressed100.14 kB--
CDN Bundle (incl. Tracing, Logs, Metrics) - uncompressed152.41 kB--
CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed229.08 kB--
CDN Bundle (incl. Tracing, Replay) - uncompressed265.98 kB--
CDN Bundle (incl. Tracing, Replay, Logs, Metrics) - uncompressed271.65 kB--
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed279.68 kB--
CDN Bundle (incl. Tracing, Replay, Feedback, Logs, Metrics) - uncompressed285.34 kB--
@sentry/nextjs (client)53.26 kB--
@sentry/sveltekit (client)48.96 kB--
@sentry/core/server65.34 kB--
@sentry/core/browser51.69 kB--
@sentry/node117.67 kB+0.01%+1 B 🔺
@sentry/node/import (ESM hook with diagnostics-channel injection)0 Baddedadded
@sentry/node - without tracing82.06 kB--
@sentry/aws-serverless91.47 kB+0.01%+1 B 🔺
@sentry/cloudflare (withSentry) - minified213.99 kB--
@sentry/cloudflare (withSentry)528.78 kB--

View base workflow run

@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 38665cc to 265e7baCompareAugust 12, 2026 14:51
@chargome
chargome changed the base branch from charlygomez/js-3355-core-add-build-time-options-for-bundler-plugin-parity to charlygomez/js-3361-sveltekit-remove-unstable_sentryvitepluginoptionsAugust 12, 2026 14:51
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 265e7ba to f36f76bCompareAugust 13, 2026 09:28
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from f36f76b to 72ed096CompareAugust 13, 2026 09:44
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

Comment threadpackages/astro/src/integration/index.ts
Comment threadpackages/astro/src/integration/index.ts
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from 72ed096 to 365eee0CompareAugust 13, 2026 10:02
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch 2 times, most recently from 94eaa37 to e123255CompareAugust 13, 2026 11:45
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from e123255 to b79a3ffCompareAugust 13, 2026 12:26
@chargome

Copy link
Copy Markdown
MemberAuthor

bugbot run

@cursorcursorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit b79a3ff. Configure here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@chargome
chargomeforce-pushed the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch from b79a3ff to c4990d7CompareAugust 13, 2026 13:17
@chargome
chargome marked this pull request as ready for review August 13, 2026 13:45
@chargome
chargome requested a review from a team as a code ownerAugust 13, 2026 13:45
@chargome
chargome requested review from mydea and s1gr1d and removed request for a teamAugust 13, 2026 13:45

expectTypeOf(viteOptions).toEqualTypeOf<SentryOptions>();
expectTypeOf(options).toEqualTypeOf<SentryOptions>();
});

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.

Bug: The type test for unstable_sentryVitePluginOptions is misleading. expectTypeOf(options).toEqualTypeOf<SentryOptions>() passes trivially because options is explicitly annotated, not because the extra property is correctly handled.
Severity: LOW

Suggested Fix

Remove the expectTypeOf(options).toEqualTypeOf<SentryOptions>() assertion. The @ts-expect-error comment is sufficient on its own to test and document that TypeScript correctly flags the deprecated property as an error.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: packages/astro/test/buildOptions.test-d.ts#L147
Potential issue: The type test at `buildOptions.test-d.ts:147` is intended to verify
that the deprecated `unstable_sentryVitePluginOptions` property is rejected by the
`SentryOptions` type. However, the test is flawed. It uses `@ts-expect-error` to
suppress the type error on assignment, but then asserts
`expectTypeOf(options).toEqualTypeOf<SentryOptions>()`. Because the `options` variable
is explicitly annotated with the `SentryOptions` type, this assertion simply compares
the type to itself and always passes. It does not actually verify that an object with
the extra property is considered a different type, making the test ineffective and
providing a false sense of security.

Did we get this right? 👍 / 👎 to inform future reviews.

@chargome
chargome merged commit 346ee9b into developAug 13, 2026
388 of 390 checks passed
@chargome
chargome deleted the charlygomez/js-3358-astro-remove-unstable_sentryvitepluginoptions branch August 13, 2026 15:24
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.

astro: Remove unstable_sentryVitePluginOptions

3 participants

@chargome@nicohrubec@s1gr1d