Skip to content

chore: fix dev / turbo.json#9004

Open
thiskevinwang wants to merge 1 commit into
mainfrom
kevin/fix-turbo
Open

chore: fix dev / turbo.json#9004
thiskevinwang wants to merge 1 commit into
mainfrom
kevin/fix-turbo

Conversation

@thiskevinwang

Copy link
Copy Markdown
Member

Description

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

@changeset-bot

changeset-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 87f88fc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview, Comment Jun 25, 2026 7:09pm
swingset Ready Ready Preview, Comment Jun 25, 2026 7:09pm

Request Review

@pkg-pr-new

pkg-pr-new Bot commented Jun 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9004

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9004

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9004

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9004

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9004

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9004

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9004

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9004

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9004

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9004

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9004

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9004

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9004

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9004

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9004

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9004

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9004

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9004

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9004

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9004

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9004

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9004

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9004

commit: 87f88fc

@github-actions

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-06-25T19:14:09.880Z

Summary

Metric Count
Packages analyzed 19
Packages with changes 4
🔴 Breaking changes 13
🟡 Non-breaking changes 2
🟢 Additions 0

Warning
13 breaking change(s) detected - Major version bump required

🤖 This report was reviewed by claude-sonnet-4-6.

🔴 Breaking changes index (13)

Every breaking change, up front. Full diffs are in the package sections below.

Package Subpath Change
@clerk/clerk-js . Clerk.uiVersion
@clerk/clerk-js ./no-rhc Clerk.uiVersion
@clerk/nuxt ./components CreateOrganization
@clerk/shared ./telemetry eventFlowStepMounted
@clerk/shared ./types Clerk.uiVersion
@clerk/shared ./types OAuthProviderData.docsUrl
@clerk/shared ./types OrganizationDomainOwnershipVerification.status
@clerk/shared ./types OrganizationDomainOwnershipVerificationJSON.status
@clerk/shared ./types OrganizationDomainOwnershipVerificationStatus
@clerk/shared ./types OrganizationDomainOwnershipVerificationStrategy
@clerk/shared ./types OrganizationDomainVerificationStatus
@clerk/shared ./types OrganizationJSON.exclusive_membership
@clerk/shared ./types OrganizationResource.exclusiveMembership

@clerk/shared

Version: 4.22.0 → 4.19.0
Recommended bump: MAJOR

Subpath ./telemetry

🔴 Breaking Changes (1)

Changed: eventFlowStepMounted
- declare function eventFlowStepMounted(flow: string, step: string, metadata?: TelemetryEventRaw['payload'], eventSamplingRate?: number): TelemetryEventRaw<EventFlowStepMounted>;

Static analyzer: Removed function eventFlowStepMounted

🤖 AI review (confirmed) (97%): The function eventFlowStepMounted has been completely removed from the public API, so any consumer calling it will fail to compile.

Migration: Remove all calls to eventFlowStepMounted or replace them with an equivalent telemetry event function if one was introduced as a replacement.

Subpath ./types

🔴 Breaking Changes (9)

Changed: Clerk.uiVersion
- uiVersion: string | undefined;

Static analyzer: Removed property Clerk.uiVersion

🤖 AI review (confirmed) (95%): The uiVersion property was removed from the Clerk interface; consumers reading clerk.uiVersion will have a compile error.

Migration: Remove any code that reads clerk.uiVersion; the property no longer exists on the Clerk interface.

Changed: OAuthProviderData.docsUrl
- docsUrl?: string;
+ docsUrl: string;

Static analyzer: Breaking change in property OAuthProviderData.docsUrl: Member is no longer optional

🤖 AI review (confirmed) (90%): OAuthProviderData.docsUrl was optional and is now required, so consumers who construct or assign OAuthProviderData objects without docsUrl will fail to compile.

Migration: Provide a docsUrl string value wherever OAuthProviderData objects are constructed or assigned.

Changed: OrganizationDomainOwnershipVerification.status
- status: OrganizationDomainOwnershipVerificationStatus;
+ status: OrganizationDomainVerificationStatus;

Static analyzer: Breaking change in property OrganizationDomainOwnershipVerification.status: Type changed: import("@clerk/shared").OrganizationDomainOwnershipVerificationStatusimport("@clerk/shared").OrganizationDomainVerificationStatus

🤖 AI review (confirmed) (90%): The type of OrganizationDomainOwnershipVerification.status changed from OrganizationDomainOwnershipVerificationStatus ('expired'|'unverified'|'verified') to OrganizationDomainVerificationStatus ('unverified'|'verified'), removing the 'expired' variant; consumers matching on 'expired' will have unreachable branches or type errors.

Migration: Remove any handling of the 'expired' status value from code that reads OrganizationDomainOwnershipVerification.status.

Changed: OrganizationDomainOwnershipVerificationJSON.status
- status: OrganizationDomainOwnershipVerificationStatus;
+ status: OrganizationDomainVerificationStatus;

Static analyzer: Breaking change in property OrganizationDomainOwnershipVerificationJSON.status: Type changed: import("@clerk/shared").OrganizationDomainOwnershipVerificationStatusimport("@clerk/shared").OrganizationDomainVerificationStatus

🤖 AI review (confirmed) (90%): The type of OrganizationDomainOwnershipVerificationJSON.status changed from OrganizationDomainOwnershipVerificationStatus ('expired'|'unverified'|'verified') to OrganizationDomainVerificationStatus ('unverified'|'verified'), removing 'expired'; consumers handling 'expired' will encounter type errors.

Migration: Remove any handling of the 'expired' status value from code that reads OrganizationDomainOwnershipVerificationJSON.status.

Changed: OrganizationDomainOwnershipVerificationStatus
- type OrganizationDomainOwnershipVerificationStatus = 'unverified' | 'verified' | 'expired';

Static analyzer: Removed type alias OrganizationDomainOwnershipVerificationStatus

🤖 AI review (confirmed) (95%): The exported type alias OrganizationDomainOwnershipVerificationStatus was entirely removed; consumers referencing it by name will fail to compile.

Migration: Replace references to OrganizationDomainOwnershipVerificationStatus with OrganizationDomainVerificationStatus, adjusting for the removed 'expired' variant.

Changed: OrganizationDomainOwnershipVerificationStrategy
- type OrganizationDomainOwnershipVerificationStrategy = 'txt' | 'legacy' | 'manual_override' | 'parent_domain';
+ type OrganizationDomainOwnershipVerificationStrategy = 'txt' | 'legacy' | 'manual_override';

Static analyzer: Breaking change in type alias OrganizationDomainOwnershipVerificationStrategy: Type changed: 'legacy'|'manual_override'|'parent_domain'|'txt''legacy'|'manual_override'|'txt'

🤖 AI review (confirmed) (90%): The 'parent_domain' variant was removed from OrganizationDomainOwnershipVerificationStrategy; consumers whose code handles or assigns 'parent_domain' will encounter type errors.

Migration: Remove any references to or handling of the 'parent_domain' value in code using OrganizationDomainOwnershipVerificationStrategy.

Changed: OrganizationDomainVerificationStatus
- type OrganizationDomainVerificationStatus = 'unverified' | 'verified' | 'failed' | 'expired';
+ type OrganizationDomainVerificationStatus = 'unverified' | 'verified';

Static analyzer: Breaking change in type alias OrganizationDomainVerificationStatus: Type changed: 'expired'|'failed'|'unverified'|'verified''unverified'|'verified'

🤖 AI review (confirmed) (90%): The 'expired' and 'failed' variants were removed from OrganizationDomainVerificationStatus; consumers matching on those values will have type errors or unreachable branches.

Migration: Remove any handling of 'expired' and 'failed' status values from code using OrganizationDomainVerificationStatus.

Changed: OrganizationJSON.exclusive_membership
- exclusive_membership?: boolean;

Static analyzer: Removed property OrganizationJSON.exclusive_membership

🤖 AI review (confirmed) (90%): The optional property exclusive_membership was removed from OrganizationJSON; consumers reading org.exclusive_membership will encounter a compile error.

Migration: Remove any code that reads OrganizationJSON.exclusive_membership.

Changed: OrganizationResource.exclusiveMembership
- exclusiveMembership: boolean;

Static analyzer: Removed property OrganizationResource.exclusiveMembership

🤖 AI review (confirmed) (95%): The required property exclusiveMembership was removed from OrganizationResource; consumers reading org.exclusiveMembership will encounter a compile error.

Migration: Remove any code that reads OrganizationResource.exclusiveMembership.

🟡 Non-breaking Changes (1)

Modified: __internal_LocalizationResource
Diff (before: 1947 lines, after: 1943 lines). Click to expand.
// ... 125 unchanged lines elided ...
      switchPlan: LocalizationValue;
      switchToMonthly: LocalizationValue;
      switchToAnnual: LocalizationValue;
-     switchToMonthlyWithPrice: LocalizationValue<'price'>;
-     switchToAnnualWithAnnualPrice: LocalizationValue<'price'>;
-     billedAnnually: LocalizationValue;
-     billedMonthly: LocalizationValue;
-     billedMonthlyOnly: LocalizationValue;
-     billedAnnuallyOnly: LocalizationValue;
-     cancelFreeTrial: LocalizationValue<'plan'>;
-     cancelFreeTrialTitle: LocalizationValue<'plan'>;
-     cancelFreeTrialAccessUntil: LocalizationValue<'plan' | 'date'>;
-     keepFreeTrial: LocalizationValue;
-     alwaysFree: LocalizationValue;
-     accountFunds: LocalizationValue;
-     defaultFreePlanActive: LocalizationValue;
-     viewFeatures: LocalizationValue;
-     seeAllFeatures: LocalizationValue;
-     viewPayment: LocalizationValue;
-     availableFeatures: LocalizationValue;
-     subtotal: LocalizationValue;
-     subtotalRenewal: LocalizationValue;
-     credit: LocalizationValue;
-     prorationCredit: LocalizationValue;
-     accountCredit: LocalizationValue;
-     creditRemainder: LocalizationValue;
-     payerCreditRemainder: LocalizationValue;
-     proratedDiscount: LocalizationValue;
-     totalDue: LocalizationValue;
-     totalDueToday: LocalizationValue;
-     totalDuePerPeriod: LocalizationValue;
-     pastDue: LocalizationValue;
-     pay: LocalizationValue<'amount'>;
// ... 1574 more lines elided ...
-             signOnUrl: {
-               label: LocalizationValue;
-               placeholder: LocalizationValue;
-             };
-             issuer: {
-               label: LocalizationValue;
-               placeholder: LocalizationValue;
-             };
-             signingCertificate: {
-               label: LocalizationValue;
-               uploadFile: LocalizationValue;
-               replaceFile: LocalizationValue;
-               removeFile: LocalizationValue;
-               fileUploaded: LocalizationValue;
-             };
-           };
-         };
-         attributeMappingStep: {
-           headerSubtitle: LocalizationValue;
-           title: LocalizationValue;
-           step1: LocalizationValue;
-           step2: LocalizationValue;
-           attributeMappingTable: {
-             columns: {
-               attribute: LocalizationValue;
-               claimName: LocalizationValue;
-               value: LocalizationValue;
-             };
-             copyClaimName: LocalizationValue;
-             copyClaimNameCopied: LocalizationValue;
+     switchToMonthlyWithPrice: LocalizationValue<'price' | 'currency'>;
+     switchToAnnualWithAnnualPrice: LocalizationValue<'price' | 'currency'>;
+     billedAnnually: LocalizationValue;
+     billedMonthly: LocalizationValue;
+     billedMonthlyOnly: LocalizationValue;
+     billedAnnuallyOnly: LocalizationValue;
+     cancelFreeTrial: LocalizationValue<'plan'>;
+     cancelFreeTrialTitle: LocalizationValue<'plan'>;
+     cancelFreeTrialAccessUntil: LocalizationValue<'plan' | 'date'>;
+     keepFreeTrial: LocalizationValue;
+     alwaysFree: LocalizationValue;
+     accountFunds: LocalizationValue;
+     defaultFreePlanActive: LocalizationValue;
+     viewFeatures: LocalizationValue;
+     seeAllFeatures: LocalizationValue;
+     viewPayment: LocalizationValue;
+     availableFeatures: LocalizationValue;
+     subtotal: LocalizationValue;
+     subtotalRenewal: LocalizationValue;
+     credit: LocalizationValue;
+     prorationCredit: LocalizationValue;
+     accountCredit: LocalizationValue;
+     creditRemainder: LocalizationValue;
+     payerCreditRemainder: LocalizationValue;
+     proratedDiscount: LocalizationValue;
+     totalDue: LocalizationValue;
+     totalDueToday: LocalizationValue;
+     totalDuePerPeriod: LocalizationValue;
+     pastDue: LocalizationValue;
+     pay: LocalizationValue<'amount'>;
// ... 1570 more lines elided ...
+             signOnUrl: {
+               label: LocalizationValue;
+               placeholder: LocalizationValue;
+             };
+             issuer: {
+               label: LocalizationValue;
+               placeholder: LocalizationValue;
+             };
+             signingCertificate: {
+               label: LocalizationValue;
+               uploadFile: LocalizationValue;
+               replaceFile: LocalizationValue;
+               removeFile: LocalizationValue;
+               fileUploaded: LocalizationValue;
+             };
+           };
+         };
+         attributeMappingStep: {
+           headerSubtitle: LocalizationValue;
+           title: LocalizationValue;
+           paragraph: LocalizationValue;
+           step1: LocalizationValue;
+           step2: LocalizationValue;
+           step3: LocalizationValue;
+           attributeMappingTable: {
+             columns: {
+               attribute: LocalizationValue;
+               claimName: LocalizationValue;
+               value: LocalizationValue;
+             };
              rows: {
                email: {
                  attribute: LocalizationValue;
// ... 182 unchanged lines elided ...

Static analyzer: Breaking change in type alias __internal_LocalizationResource: Type changed: {locale:string;maintenanceMode:import("@clerk/shared").LocalizationValue;roles:{[r:string]:import("@clerk/shared").Loca…{locale:string;maintenanceMode:import("@clerk/shared").LocalizationValue;roles:{[r:string]:import("@clerk/shared").Loca…

🤖 AI review (reclassified as non-breaking) (55%): The before/after snippets show 4 fewer lines elided (1867 vs 1863), suggesting some localization keys were removed; however, __internal_LocalizationResource is consumed via DeepPartial<DeepLocalizationWithoutObjects<__internal_LocalizationResource>> which makes all fields optional, so consumers who implement LocalizationResource are not required to supply any removed fields. Without seeing exactly which keys were removed, confidence is moderate but the DeepPartial wrapping makes this non-breaking for consumers.


@clerk/clerk-js

Version: 6.22.0 → 6.18.0
Recommended bump: MAJOR

Subpath .

🔴 Breaking Changes (1)

Changed: Clerk.uiVersion
- get uiVersion(): string | undefined;

Static analyzer: Removed property Clerk.uiVersion

🤖 AI review (confirmed) (95%): The uiVersion getter was a publicly readable property on the Clerk interface; removing it breaks any consumer code that reads clerk.uiVersion.

Migration: Remove all references to clerk.uiVersion in consumer code, as the property no longer exists on the Clerk interface.

Subpath ./no-rhc

🔴 Breaking Changes (1)

Changed: Clerk.uiVersion
- get uiVersion(): string | undefined;

Static analyzer: Removed property Clerk.uiVersion

🤖 AI review (confirmed) (95%): The uiVersion getter was a publicly accessible property on Clerk; removing it breaks any consumer code that reads clerk.uiVersion.

Migration: Remove any references to clerk.uiVersion in consumer code, as the property no longer exists on the Clerk interface.


@clerk/nuxt

Version: 2.6.8 → 2.6.4
Recommended bump: MAJOR

Subpath ./components

🔴 Breaking Changes (1)

Changed: CreateOrganization
// ... 1 unchanged line elided ...
    path: string | undefined;
    routing?: Extract<import("@clerk/shared/types").RoutingStrategy, "path">;
  } & {
-   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":exclusiveMembership" | ":pathRoot");
+   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":pathRoot");
    skipInvitationScreen?: boolean;
    appearance?: import("@clerk/shared/types").ClerkAppearanceTheme;
  }) | ({
    path?: never;
    routing?: Extract<import("@clerk/shared/types").RoutingStrategy, "hash">;
  } & {
-   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":exclusiveMembership" | ":pathRoot");
+   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":pathRoot");
    skipInvitationScreen?: boolean;
    appearance?: import("@clerk/shared/types").ClerkAppearanceTheme;
  }), {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<({
    path: string | undefined;
    routing?: Extract<import("@clerk/shared/types").RoutingStrategy, "path">;
  } & {
-   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":exclusiveMembership" | ":pathRoot");
+   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":pathRoot");
    skipInvitationScreen?: boolean;
    appearance?: import("@clerk/shared/types").ClerkAppearanceTheme;
  }) | ({
    path?: never;
    routing?: Extract<import("@clerk/shared/types").RoutingStrategy, "hash">;
  } & {
-   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":exclusiveMembership" | ":pathRoot");
+   afterCreateOrganizationUrl?: ((organization: import("@clerk/shared/types").OrganizationResource) => string) | ((string & Record<never, never>) | ":name" | ":id" | ":slug" | ":imageUrl" | ":hasImage" | ":membersCount" | ":pendingInvitationsCount" | ":adminDeleteEnabled" | ":maxAllowedMemberships" | ":selfServeSSOEnabled" | ":pathRoot");
    skipInvitationScreen?: boolean;
    appearance?: import("@clerk/shared/types").ClerkAppearanceTheme;
  })> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>

Static analyzer: Breaking change in variable CreateOrganization: Type changed: import("@vue/runtime-core").DefineComponent<({afterCreateOrganizationUrl?:(":adminDeleteEnabled"|":exclusiveMembership"…import("@vue/runtime-core").DefineComponent<({afterCreateOrganizationUrl?:(":adminDeleteEnabled"|":hasImage"|":id"|":im…

🤖 AI review (confirmed) (85%): The string literal :exclusiveMembership was removed from the afterCreateOrganizationUrl union in the component's props type. Consumers who passed ":exclusiveMembership" as a value for that prop will now get a type error.

Migration: Remove any usage of ":exclusiveMembership" from afterCreateOrganizationUrl prop values, or cast it to string if you still need that path token at runtime.


@clerk/ui

Version: 1.23.0 → 1.18.0
Recommended bump: MINOR

Subpath ./internal

🟡 Non-breaking Changes (1)

Modified: ElementsConfig
// ... 490 unchanged lines elided ...
    configureSSOVerifyDomainErrorSubtitle: WithOptions;
    configureSSOVerifyDomainList: WithOptions;
    configureSSOVerifyDomainSuggestion: WithOptions;
-   configureSSOVerifyDomainCard: WithOptions<'verified' | 'unverified' | 'expired'>;
-   configureSSOVerifyDomainCardBadge: WithOptions<'verified' | 'unverified' | 'expired'>;
+   configureSSOVerifyDomainCard: WithOptions<'verified' | 'unverified'>;
+   configureSSOVerifyDomainCardBadge: WithOptions<'verified' | 'unverified'>;
    configureSSOVerifyDomainCardRemoveButton: WithOptions;
    configureSSOVerifyDomainCardTxtRecord: WithOptions;
    configureSSOVerifyDomainCardTxtRecordValue: WithOptions;
-   configureSSOVerifyDomainCardExpired: WithOptions;
    configureSSOEmailVerificationForm: WithOptions<string>;
    configureSSOEmailVerificationIcon: WithOptions<string>;
    configureSSOEmailVerificationTitle: WithOptions<string>;
    configureSSOEmailVerificationSubtitle: WithOptions<string>;
    configureSSOEmailVerificationInput: WithOptions<string>;
    configureSSOEmailVerificationError: WithOptions;
    configureSSOInstructionsHeading: WithOptions;
    configureSSOInstructionsList: WithOptions;
    configureSSOInstructionsListItem: WithOptions;
    configureSSOAttributeMappingTable: WithOptions;
    configureSSOAttributeMappingBadge: WithOptions<string>;
    configureSSOCertificateUploadButton: WithOptions;
    configureSSOCertificateFileBadge: WithOptions;
    configureSSOCertificateFileName: WithOptions;
    configureSSOCertificateRemoveButton: WithOptions;
    configureSSOTestUrlOpenButton: WithOptions;
    configureSSOTestRefreshButton: WithOptions;
    configureSSOTestResultsTable: WithOptions;
    configureSSOTestResultsRow: WithOptions;
    configureSSOTestResultsEmpty: WithOptions;
    configureSSOTestResultsLoadingSpinner: WithOptions;
    configureSSOTestRunStatusBadge: WithOptions<string>;
    configureSSOTestRunFullMessage: WithOptions;
    configureSSOTestRunFullMessageCopyButton: WithOptions;
    configureSSOTestRunHowToFixSection: WithOptions;
    configureSSOTestRunHowToFixDocsLink: WithOptions;
    configureSSOTestRunParsedUserInfo: WithOptions;
    configureSSOTestError: WithOptions;
    configureSSOActivate: WithOptions;
    configureSSOActivateIcon: WithOptions;
    configureSSOActivateTitle: WithOptions;
    configureSSOActivateSubtitle: WithOptions;
    configureSSOActivateButton: WithOptions;
    configureSSOActivateSkipButton: WithOptions;
    configureSSOResetConnectionDialog: WithOptions;
    configureSSOResetConnectionDialogCancelButton: WithOptions;
    configureSSOResetConnectionDialogConfirmationInput: WithOptions;
    configureSSOResetConnectionDialogSubmitButton: WithOptions;
-   configureSSOChangeProviderDialog: WithOptions;
-   configureSSOChangeProviderDialogCancelButton: WithOptions;
-   configureSSOChangeProviderDialogConfirmButton: WithOptions;
    configureSSORemoveDomainDialog: WithOptions;
    configureSSORemoveDomainDialogCancelButton: WithOptions;
    configureSSORemoveDomainDialogSubmitButton: WithOptions;
// ... 10 unchanged lines elided ...

Static analyzer: Breaking change in type alias ElementsConfig: Type changed: {button:import("@clerk/ui").~WithOptions<string>;input:import("@clerk/ui").~WithOptions;checkbox:import("@clerk/ui").~W…{button:import("@clerk/ui").~WithOptions<string>;input:import("@clerk/ui").~WithOptions;checkbox:import("@clerk/ui").~W…

🤖 AI review (reclassified as non-breaking) (82%): The change only removes some keys (e.g. configureSSOChangeProviderDialog and related entries) from ElementsConfig, which is used exclusively as the key source for the Elements output type alias; consumers only read Elements values and do not construct ElementsConfig objects, so removing keys from the config narrows the union of Elements without breaking any existing consumer code that reads those element selectors.


Report generated by Break Check

Last ran on 87f88fc.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 87f88fc15f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread turbo.json
"dev": {
"cache": false
},
"@clerk/clerk-js#dev": {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Add the required changeset

The root /workspace/javascript/AGENTS.md requires every PR to include a changeset, using pnpm changeset:empty for tooling/repo-only changes. This commit changes the dev/build pipeline but adds no .changeset entry, so the release metadata requirement for this PR is unmet; add an empty changeset if there is no user-facing package impact.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant