You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
shared builds its declarations with tsdown (dts: true) and every exports entry resolves to dist/runtime/dist/types. Release only runs turbo build, so the separate tsc -p tsconfig.declarations.json step was emitting unreferenced top-level dist/*.d.ts that never shipped. Removing it (plus its tsconfig.declarations.json and shared's slot in the root build:declarations filter) leaves the published tarball byte-identical, hence the empty changeset.
The part worth a look is break-check coverage. It snapshots shared's tsdown dist/runtime, and @clerk/shared#build still runs as a dependency of the other filtered packages, so the now-absent build:declarations task just no-ops (turbo marks it <NONEXISTENT>, not an error). attw (node16) and publint stay green on a tsdown-only build; the api-changes run on this PR is the real confirmation.
shared builds its published declarations with tsdown (dts: true); every exports target resolves to dist/runtime or dist/types (tsdown output), and the release pipeline runs only turbo build, never build:declarations. The tsc build:declarations step therefore only emitted unreferenced top-level dist/*.d.ts and redundantly overwrote dist/types/index.d.ts in CI, never affecting the published package. Remove the script, its tsconfig.declarations.json, and shared from the root build:declarations filter. break-check still snapshots shared via its tsdown-built dist/runtime (shared#build runs as a dependency of the other filtered packages). Tooling-only, no published output change.
This PR removes TypeScript declaration build configuration from the @clerk/shared package. The root build:declarations npm script was updated to remove the --filter=@clerk/shared`` argument from the turbo build:declarations command. The `build:declarations` script entry was removed from `packages/shared/package.json`, and the `packages/shared/tsconfig.declarations.json` file was deleted. A changeset file documents this cleanup.
Estimated code review effort
🎯 1 (Trivial) | ⏱️ ~3 minutes
Possibly related PRs
clerk/javascript#8623: Inverse operation that adds packages/shared/tsconfig.declarations.json and wires the declarations tsconfig into the build pipeline.
clerk/javascript#8627: Complements this cleanup by adding tsc-based build:declarations task and tsconfig.declarations.json for @clerk/ui.
The title accurately summarizes the main change: removing a redundant TypeScript declaration build step from the shared package.
Description check
✅ Passed
The description is directly related to the changeset, providing detailed context about why the redundant tsc declarations build is being removed and its impact.
Docstring Coverage
✅ Passed
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check
✅ Passed
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
✅ Passed
Check skipped because no linked issues were found for this pull request.
✏️ 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.
Generated by Break Check on 2026-06-01T22:51:46.134Z
Summary
Metric
Count
Packages analyzed
19
Packages with changes
1
🔴 Breaking changes
0
🟡 Non-breaking changes
1
🟢 Additions
0
🤖 This report was reviewed by claude-sonnet-4-6.
Note
Break Check could not snapshot 3 subpaths; the diff below excludes them.
@clerk/astro ./env: Internal Error: Unable to determine module for: /home/runner/_work/javascript/javascript/packages/astro/env.d.ts You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
@clerk/shared ./cookie: Internal Error: Unable to follow symbol for "Cookies" You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
@clerk/testing ./cypress: Symbol not found for identifier: Cypress
@clerk/shared
Current version: 4.14.0 Recommended bump: MINOR → 4.15.0
Static analyzer: Breaking change in function apiUrlFromPublishableKey: Return type changed: "https://api.clerk.com"|"https://api.lclclerk.com"|"https://api.clerkstage.dev" → "https://api.lclclerk.com"|"https://api.clerkstage.dev"|"https://api.clerk.com"
🤖 AI review (reclassified as non-breaking) (99%): The return type is a union of the exact same three string literal values — only their order in the union has changed. TypeScript union types are order-independent structurally, so any well-typed consumer code that accepted or narrowed on the original union will continue to compile and behave identically with the reordered union.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
shared builds its declarations with tsdown (
dts: true) and everyexportsentry resolves todist/runtime/dist/types. Release only runsturbo build, so the separatetsc -p tsconfig.declarations.jsonstep was emitting unreferenced top-leveldist/*.d.tsthat never shipped. Removing it (plus itstsconfig.declarations.jsonand shared's slot in the rootbuild:declarationsfilter) leaves the published tarball byte-identical, hence the empty changeset.The part worth a look is break-check coverage. It snapshots shared's tsdown
dist/runtime, and@clerk/shared#buildstill runs as a dependency of the other filtered packages, so the now-absentbuild:declarationstask just no-ops (turbo marks it<NONEXISTENT>, not an error). attw (node16) and publint stay green on a tsdown-only build; the api-changes run on this PR is the real confirmation.Independent follow-up to #8717.