Repository navigation
refactor(auth,plugin-detail)!: retire 33 zero-consumer entry exports - #30629
Merged
Merged
Conversation
Barrel batch 3 of the zero-consumer sweep: @object-ui/auth stops exporting 12 names and @object-ui/plugin-detail 21, each with no importer outside its package (workspace and hotcrm), not taught in the package README, and not reached by a kept export's signature. Every module stays; only the entry lines change. One `!` patch changeset per package names each retired operand. Claude-Session: https://claude.ai/code/session_01L6bhgT8zkQTEh2HjcmxipS Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
|
domain:ui#6 · os-sales · session_01L6bhgUR8Nu4M7tbtgES7q2 维护者速读
席位核对 — ACCEPT · head 79ddb13
|
This was referenced Nov 5, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Requested by Sales · project thread
Part of #25921. The umbrella stays open; this is barrel batch 3, claim 6665091931 (seat
domain:ui#6, batch amendment from the seat after the census). Earlier batches: #30541, #30576.Clause-②: no (narrowing)
Metadata-protocol: none
维护者速读
@object-ui/auth的包入口不再导出 12 个名字(Turnstile 脚本地址、两个手机号识别函数、一个无人使用的 options 类型、组织角色清单、邀请状态清单与判定函数、五个表单样式件);@object-ui/plugin-detail的包入口不再导出 21 个名字(记录页合成、布局、相关卡片与时间线的内部辅助函数,一个 hook,三个类型)。模块全部保留,行为不变。@object-ui/*包不受影响。回滚即 revert 本 PR。ui/packages/plugin-detail/src/index.tsx(十处导出改写)、ui/packages/auth/src/index.ts(六处)、两份.changeset/25921-*-zero-consumer-exports.md(迁移说明)。git grep -l -w -e looksLikePhoneIdentifier -e AuthDivider -e editRelatedArrangement -e useDefaultRecordPage -- ':!ui/packages/auth' ':!ui/packages/plugin-detail' ':!**/CHANGELOG.md'应只命中本 PR 的两份 changeset。What changes
ui/packages/auth/src/index.ts: the entry stops exportingTURNSTILE_SCRIPT_URL,normalizePhoneIdentifier,looksLikePhoneIdentifier, the typeAuthenticatedAdapterOptions,ORG_ROLES,AUTH_INVITATION_STATUSES,isAuthInvitationStatus,AUTH_FIELD_LABEL_CLASS,AUTH_INPUT_CLASS,AuthCheckIcon,AuthDivider,AuthMailIcon. The invitation block keepsexport type { AuthInvitationStatus }and its comment now says the list and guard stay ininvitation-status.ts. Thephone-identifierexport line goes entirely.ui/packages/plugin-detail/src/index.tsx: the entry stops exportingqueueClaimAdmitted,extractLookupId,TEXTUAL_REF_FALLBACK_TYPES,inferDetailColumns,applyAutoSpan,applyDetailAutoLayout, the typeDetailTabsProps(DetailTabsitself was never on the entry),buildDefaultDiscussion,buildDefaultTimeline,deriveStages,RECORD_PAGE_WIDE_MIN_WIDTH,recordPageColumnOfTab, the typeRecordPageColumn,useDefaultRecordPage,relatedCountTargetOf,filterTimelineStream,RELATED_CARD_NEW_BADGE_MS,editRelatedArrangement,relatedCardId,relatedDefaultOrderHash, the typeRelatedArrangementEdit..changeset/25921-auth-zero-consumer-exports.mdand.changeset/25921-plugin-detail-zero-consumer-exports.md: patch level,!title, BREAKING paragraph, FROM/TO lines for every retired name, ADR-0087 markernot-required (runtime-export-retired …)naming every operand.ownerChangeReport-10193.test.tsx, reads two kept names).Why
Card #25921 narrows
ui/packagesbarrels to names someone imports. The checker export list after this PR is exactly the census list minus these 33 (auth 90 to 78, plugin-detail 162 to 141), nothing added.Tests
Census on
origin/main4831d50 with the method of batches 1 and 2: entry export names from the TypeScript checker; per namegit grep -o -w -Foutside the package, minus**/CHANGELOG.md,pnpm-lock.yamland.changeset/**(test files count); the package README, other*.mdanddemo/; keep rule 3 (reached from a kept export's declared signature, checker walk); hotcrm6961ab1. Full table: project fileissue-25921-seat6/census-b3.md.@object-ui/authORG_ROLE_OWNER)@object-ui/plugin-detailControls (outside hits):
createAuthenticatedFetch311,orgRoleGrade12,ORG_ROLE_LABELS4,AUTH_LINK_CLASS3,TurnstileWidget1;isWideFieldType10,InlineFieldInput7,recordSitsInQueue1,DefaultRecordPageContext1,prefetchRelatedCounts1; hotcrmListView7. Packages swept and not chosen:plugin-gridandplugin-form(their README "Exports" block lists every entry name, so 0 after the README rule),data-objectstack(zero-hit values are mostly error classes the adapter throws),components/core/react/fields(larger, left for later batches).Readings at 79ddb13:
turbo run build --filter=@object-ui/console... --filter='./packages/**' --filter='@objectstack/dogfood^...'VERDICT command-exit 0; thenturbo run build --forcefor the two packages (52 of 52) andtype-checkfor both (tsc --noEmit && tsc -p tsconfig.test.json), VERDICT command-exit 0.pnpm --filter @object-ui/auth test: Test Files 45 passed (45), Tests 398 passed (398).pnpm --filter @object-ui/plugin-detail test: Test Files 373 passed, 1 skipped (374), Tests 3338 passed, 18 skipped (3356). One lock VERDICT command-exit 0.vitest run scripts/(ui): Test Files 170 passed, 2 skipped (172); Tests 4970 passed, 2 skipped (4972); VERDICT command-exit 0.check:readme-exports:0 fabricated, 0 stale omission(s); exit 1 only on the known unbuiltpackages/cliprerequisite (serve,init).check-platform-checklist --changed-from origin/main: exit 0, 0 anchored files..d.ts: a temporaryapp-shellprobe importing the 33 retired names plus 10 kept controls,tsc --noEmit -p tsconfig.jsoninui/packages/app-shell: exactly 33 errors (TS2305/TS2724 … has no exported member), one per retired name, all in the probe; 0 errors elsewhere inapp-shell; the controls resolved. Probe deleted;git diff HEADempty.pnpm --filter @objectstack/dogfood testunder the lock): Test Files 420 passed, 3 skipped (423); Tests 3496 passed, 36 skipped (3532); VERDICT command-exit 0 (20m47s, shared box).Acceptance notes
claude/project-thread-rr6ip0, notclaude/issue-25921-*.components(about 65 zero-hit shadcn sub-parts),core(about 47),react(about 25),fields(9),layout/plugin-editor/permissions(1 each).Verification
Derived gates (
dispatch-gates --commands, 29 families) all exit 0;--ranreconciliation: 29 derived, 29 run, 0 NOT-MEASURED (a derived zero, every line with an exit code). CI check-runs on this PR are the record for every family CI runs.Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (CI)main, one pull request.packages/spectouched: its generated artifacts are regenerated and committed. (not touched)content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
Generated by Claude Code