@clerk/shared@4.17.1
Internal build pipeline migrated to tsdown and TypeScript 6.0 with no API changes. The unsafeMetadata parameter in user.update() is now deprecated in favor of user.updateMetadata() for partial metadata updates. TypeScript type declarations are now properly resolvable per-module instead of bundled in hashed chunks, fixing type resolution in dependent packages like @clerk/vue, @clerk/react, @clerk/ui, and @clerk/testing.
Patch Changes
-
Migrate the build pipeline to tsdown and TypeScript 6.0. This is an internal tooling change with no intended changes to the public API or runtime behavior. (#8177) by @dstaley
-
Deprecate passing
unsafeMetadatatouser.update(). (#8587) by @brunol95Use
user.updateMetadata()when you want to partially update unsafe metadata with deep-merge semantics:await user.updateMetadata({ unsafeMetadata: { onboardingComplete: true }, });
user.update({ unsafeMetadata })continues to work for now and preserves its existing full-replacement behavior:await user.update({ unsafeMetadata: { theme: 'dark' }, });
New code should prefer
user.updateMetadata({ unsafeMetadata })for metadata-only updates. -
Restore resolvable TypeScript declarations. Type declarations are now emitted per-module at stable public paths instead of being bundled into content-hashed internal chunk files. This fixes type resolution failures (or silent
anydegradation) in packages whose declarations reference@clerk/sharedtypes, such as@clerk/vue,@clerk/react,@clerk/ui, and@clerk/testing, which previously pointed at unresolvable@clerk/shared/_chunks/*specifiers. (#8811) by @jacekradko
Source: original entry ↗