Skip to content

Conversation

@jacekradko
Copy link
Member

@jacekradko jacekradko commented Feb 12, 2026

Summary

  • Export the fully-typed Appearance type from the @clerk/ui root entry point, allowing import type { Appearance } from '@clerk/ui'
  • Add transform-clerk-types-to-shared-types codemod that rewrites @clerk/types imports to @clerk/shared/types, with Appearance redirected to @clerk/ui
  • Update upgrade guide (clerk-types-deprecation.md) to direct users to import Appearance from @clerk/ui

Codemod behavior

Before After
import type { UserResource } from '@clerk/types' import type { UserResource } from '@clerk/shared/types'
import type { Appearance } from '@clerk/types' import type { Appearance } from '@clerk/ui'
import type { Appearance, UserResource } from '@clerk/types' Split into two imports: @clerk/shared/types + @clerk/ui

Also handles require() calls with the same splitting logic.

Test plan

  • pnpm build --filter @clerk/ui passes
  • Appearance appears in packages/ui/dist/index.d.ts exports
  • All 8 codemod tests pass
  • git diff main --stat shows only intended changes

@vercel
Copy link

vercel bot commented Feb 12, 2026

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
clerk-js-sandbox Skipped Skipped Feb 12, 2026 9:23pm

Request Review

@changeset-bot
Copy link

changeset-bot bot commented Feb 12, 2026

🦋 Changeset detected

Latest commit: 16399b1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@clerk/ui Patch
@clerk/upgrade Patch
@clerk/chrome-extension Patch

Not sure what this means? Click here to learn what changesets are.

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 12, 2026

📝 Walkthrough

Walkthrough

Exports the Appearance type from the root of @clerk/ui and adds a public re-export in packages/ui/src/index.ts. Adds a changeset documenting version patches for two packages. Introduces a codemod (transform-clerk-types-to-shared-types.cjs), accompanying fixtures and tests, and registers the codemod in the core-3 upgrade configuration. Updates upgrade guidance to instruct importing Appearance from @clerk/ui instead of @clerk/shared/types or @clerk/types.

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ❌ Merge conflicts detected (6 files):

⚔️ packages/clerk-js/src/core/resources/PublicUserData.ts (content)
⚔️ packages/clerk-js/src/core/resources/__tests__/PublicUserData.test.ts (content)
⚔️ packages/shared/src/types/json.ts (content)
⚔️ packages/ui/src/index.ts (content)
⚔️ packages/upgrade/src/versions/core-3/changes/clerk-types-deprecation.md (content)
⚔️ packages/upgrade/src/versions/core-3/index.js (content)

These conflicts must be resolved before merging into main.
Resolve conflicts locally and push changes to this branch.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the primary change: exporting the Appearance type from @clerk/ui's root entry, which is the main objective of the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 12, 2026

Open in StackBlitz

@clerk/agent-toolkit

npm i https://pkg.pr.new/@clerk/agent-toolkit@7836

@clerk/astro

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

@clerk/backend

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

@clerk/chrome-extension

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

@clerk/clerk-js

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

@clerk/dev-cli

npm i https://pkg.pr.new/@clerk/dev-cli@7836

@clerk/expo

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

@clerk/expo-passkeys

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

@clerk/express

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

@clerk/fastify

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

@clerk/hono

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

@clerk/localizations

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

@clerk/nextjs

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

@clerk/nuxt

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

@clerk/react

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

@clerk/react-router

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

@clerk/shared

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

@clerk/tanstack-react-start

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

@clerk/testing

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

@clerk/ui

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

@clerk/upgrade

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

@clerk/vue

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

commit: 16399b1

@jacekradko jacekradko merged commit 19f34bf into main Feb 13, 2026
43 checks passed
@jacekradko jacekradko deleted the jacek/export-appearance-from-ui branch February 13, 2026 01:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants