Skip to content

chore(claims): rename @fluidframework/claims to @fluid-internal/claims#27569

Draft
kian-thompson wants to merge 1 commit into
microsoft:mainfrom
kian-thompson:kian/claims-internal-scope
Draft

chore(claims): rename @fluidframework/claims to @fluid-internal/claims#27569
kian-thompson wants to merge 1 commit into
microsoft:mainfrom
kian-thompson:kian/claims-internal-scope

Conversation

@kian-thompson

Copy link
Copy Markdown
Contributor

Description

Renames the recently-added claims DDS package from @fluidframework/claims to @fluid-internal/claims to align its scope with its intended use: an implementation detail for other Fluid packages, with no public API surface. Every export in the package is already tagged @internal, so the public/beta/alpha API reports are empty — the @fluid-internal scope makes this explicit and matches the convention used by @fluid-internal/client-utils, @fluid-internal/presence-runtime, and similar packages.

The change also simplifies the package's exports map. Because the entire package is internal, the standard . vs ./internal split is meaningless here. This PR:

  • Removes the redundant ./internal export subpath (the root . entry point already exposes the full internal API).
  • Removes the internal.d.ts types-resolution shim that existed only to support the ./internal subpath under node16/bundler module resolution.
  • Keeps the test-only entry point under ./internal/test to match @fluid-internal/presence-runtime and stay within the npm-package-exports-apis-linted policy exemption for ./internal/* subpaths.

Updates the only in-repo consumer (@fluid-internal/local-server-stress-tests) to reference the new package name and updated subpath. Lockfile regenerated. No functional changes.

Reviewer Guidance

The review process is outlined on this wiki page.

  • This is a metadata-only rename of a package that was just added in Add Claims DDS #27389 (and a follow-up lockfile fix in Fix lockfile for claims #27565). It has not yet shipped in a release, so there is no migration burden for external consumers.
  • The empty public/beta/alpha API reports are intentional and unchanged in content (only the package-name header line differs).

The claims DDS package has no public API surface (every export is
tagged @internal). Rename it to @fluid-internal/claims to align the
scope with its intended use as an implementation detail for other
Fluid packages, matching the convention used by @fluid-internal/client-utils
and @fluid-internal/presence-runtime.

Also simplifies the exports map by removing the redundant ./internal
subpath and the internal.d.ts types-resolution shim, since the entire
package is internal and the root . entry point already exposes the full
API. The test-only entry point stays under ./internal/test to match
@fluid-internal/presence-runtime and remain within the
npm-package-exports-apis-linted policy exemption.

Updates @fluid-internal/local-server-stress-tests (the only in-repo
consumer) to reference the new package name and subpath. Lockfile
regenerated.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 0c6c7e4f51580e2ccf19c4d3ee302acd2ffdacbe
Head commit: 87412a444b7cb06a42497fcc0de4aba71e47c3ba

Notable changes

No bundles changed by ≥ 500 bytes parsed.

Per-bundle deltas

@fluid-example/bundle-size-tests

  • azureClient.js: parsed 618613 → 619075 (+462), gzip 164734 → 164845 (+111)
  • odspClient.js: parsed 591845 → 591909 (+64), gzip 158885 → 158933 (+48)
  • aqueduct.js: parsed 525463 → 525498 (+35), gzip 140683 → 140714 (+31)
  • fluidFramework.js: parsed 392149 → 392170 (+21), gzip 111130 → 111148 (+18)
  • sharedTree.js: parsed 381536 → 381550 (+14), gzip 108525 → 108536 (+11)
  • containerRuntime.js: parsed 303813 → 303827 (+14), gzip 83188 → 83196 (+8)
  • sharedString.js: parsed 175984 → 175991 (+7), gzip 49445 → 49453 (+8)
  • experimentalSharedTree.js: parsed 160798 → 160798 (0), gzip 45804 → 45804 (0)
  • matrix.js: parsed 159845 → 159852 (+7), gzip 45411 → 45418 (+7)
  • loader.js: parsed 145307 → 145321 (+14), gzip 39063 → 39078 (+15)
  • odspDriver.js: parsed 104423 → 104452 (+29), gzip 32644 → 32657 (+13)
  • directory.js: parsed 66616 → 66623 (+7), gzip 18532 → 18540 (+8)
  • 748.js: parsed 58793 → 58793 (0), gzip 17826 → 17826 (0)
  • map.js: parsed 46709 → 46716 (+7), gzip 14310 → 14317 (+7)
  • odspPrefetchSnapshot.js: parsed 45642 → 45664 (+22), gzip 15268 → 15284 (+16)
  • 594.js: parsed 44493 → 44493 (0), gzip 13744 → 13744 (0)
  • summarizerDelayLoadedModule.js: parsed 30753 → 30753 (0), gzip 7767 → 7767 (0)
  • socketModule.js: parsed 26486 → 26493 (+7), gzip 7879 → 7891 (+12)
  • createNewModule.js: parsed 12480 → 12480 (0), gzip 4786 → 4786 (0)
  • summaryModule.js: parsed 3797 → 3797 (0), gzip 1860 → 1860 (0)
  • connectionState.js: parsed 724 → 724 (0), gzip 429 → 429 (0)
  • sharedTreeAttributes.js: parsed 666 → 673 (+7), gzip 431 → 441 (+10)
  • debugAssert.js: parsed 429 → 429 (0), gzip 299 → 299 (0)
  • FluidFramework-HashFallback.js: parsed 422 → 422 (0), gzip 316 → 316 (0)

@github-actions

Copy link
Copy Markdown
Contributor

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (49 lines, 15 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

@github-actions

Copy link
Copy Markdown
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-website@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-website@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  290924 links
    1934 destination URLs
    2184 URLs ignored
       0 warnings
       0 errors


Sign up for free to 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.

1 participant