From bf8893f3c5ce45a85035944f1036580b9367c693 Mon Sep 17 00:00:00 2001 From: bot-hermes Date: Tue, 18 Aug 2026 19:26:49 +0000 Subject: [PATCH] chore(ui): remove dead forge exports and unused useForgeProvider hook - Remove useForgeProvider React hook (dead; only imperative getForgeProviderForDirectory was used, by tests) - Remove toLookupOptions export from useForgeLookup (only used within file) - Remove ForgeEditForm barrel re-export from forge/actions/index (imported directly by ForgeEntityActions) - Strip forge/index.ts barrel to only actually-consumed exports (buildForgeProvider, ForgeIssue, ForgeCommit, ForgeFileChange, mapGithubPr) - Remove ForgeTimelineSection/ForgeChecksSection from views barrel (imported directly by ForgeEntityDetailView) --- .../components/views/forge/actions/index.ts | 1 - .../views/forge/actions/useForgeLookup.ts | 2 +- .../ui/src/components/views/forge/index.ts | 2 - packages/ui/src/hooks/useForgeProvider.ts | 25 +----- packages/ui/src/lib/forge/index.ts | 82 +------------------ 5 files changed, 7 insertions(+), 105 deletions(-) diff --git a/packages/ui/src/components/views/forge/actions/index.ts b/packages/ui/src/components/views/forge/actions/index.ts index 3b4de68b..c906525f 100644 --- a/packages/ui/src/components/views/forge/actions/index.ts +++ b/packages/ui/src/components/views/forge/actions/index.ts @@ -14,6 +14,5 @@ export { ForgeStateActions } from './ForgeStateActions'; export { ForgeReviewActions } from './ForgeReviewActions'; export { ForgeDraftToggle } from './ForgeDraftToggle'; export { ForgeMetadataEditor } from './ForgeMetadataEditor'; -export { ForgeEditForm } from './ForgeEditForm'; export { ForgeEntityActions } from './ForgeEntityActions'; export { ForgeCreateIssueDialog } from './ForgeCreateIssueDialog'; diff --git a/packages/ui/src/components/views/forge/actions/useForgeLookup.ts b/packages/ui/src/components/views/forge/actions/useForgeLookup.ts index f7af3c27..9c8051ac 100644 --- a/packages/ui/src/components/views/forge/actions/useForgeLookup.ts +++ b/packages/ui/src/components/views/forge/actions/useForgeLookup.ts @@ -22,7 +22,7 @@ export interface ForgeLookupOption { } /** Resolve the dropdown option shape for a given provider/kind result. */ -export const toLookupOptions = ( +const toLookupOptions = ( kind: ForgeLookupKind, users: ForgeUser[], labels: ForgeLabel[], diff --git a/packages/ui/src/components/views/forge/index.ts b/packages/ui/src/components/views/forge/index.ts index 842ddd14..d6bb464c 100644 --- a/packages/ui/src/components/views/forge/index.ts +++ b/packages/ui/src/components/views/forge/index.ts @@ -8,6 +8,4 @@ export { ForgeMetadataChips } from './ForgeMetadataChips'; export { ForgeCommitsSection } from './ForgeCommitsSection'; export { ForgeFilesDiffSection } from './ForgeFilesDiffSection'; -export { ForgeTimelineSection } from './ForgeTimelineSection'; -export { ForgeChecksSection } from './ForgeChecksSection'; export { ForgeEntityDetailView } from './ForgeEntityDetailView'; diff --git a/packages/ui/src/hooks/useForgeProvider.ts b/packages/ui/src/hooks/useForgeProvider.ts index 0c8f8679..6d9875b7 100644 --- a/packages/ui/src/hooks/useForgeProvider.ts +++ b/packages/ui/src/hooks/useForgeProvider.ts @@ -1,7 +1,5 @@ -import { useMemo } from 'react'; -import { resolveGitProvider, useGitProvider, buildGitProviderHosts } from '@/lib/gitProvider'; +import { resolveGitProvider, buildGitProviderHosts } from '@/lib/gitProvider'; import type { GitProviderHosts } from '@/lib/gitProvider'; -import { useRuntimeAPIs } from '@/hooks/useRuntimeAPIs'; import { getRegisteredRuntimeAPIs } from '@/contexts/runtimeAPIRegistry'; import { buildForgeProvider } from '@/lib/forge/adapters'; import type { ForgeProvider } from '@/lib/forge/provider'; @@ -23,26 +21,7 @@ const buildProviderHosts = (): GitProviderHosts => { }; /** - * Resolve the forge provider for `directory` reactively: the provider kind is - * detected from the directory's remotes via `useGitProvider`, and the provider - * adapters are built from the registered runtime APIs. Returns null for 'other' - * providers (no forge-backed UI) and for kinds whose runtime API is missing. - */ -export const useForgeProvider = (directory: string | null | undefined): ForgeProvider | null => { - const kind = useGitProvider(directory); - const runtimeApis = useRuntimeAPIs(); - const apis = useMemo( - () => ({ github: runtimeApis.github, gitlab: runtimeApis.gitlab, gitea: runtimeApis.gitea }), - [runtimeApis.github, runtimeApis.gitlab, runtimeApis.gitea], - ); - return useMemo( - () => (kind && kind !== 'other' ? buildForgeProvider(kind, apis) : null), - [kind, apis], - ); -}; - -/** - * Imperative counterpart of `useForgeProvider` for non-React code paths. + * Resolve the forge provider for `directory` for non-React code paths. * Resolves the directory's provider from the auth stores' connected accounts * and the runtime's registered APIs in one async step. */ diff --git a/packages/ui/src/lib/forge/index.ts b/packages/ui/src/lib/forge/index.ts index 49d9fcdb..6cd15a30 100644 --- a/packages/ui/src/lib/forge/index.ts +++ b/packages/ui/src/lib/forge/index.ts @@ -8,89 +8,15 @@ */ export type { - ForgeProviderKind, - ForgeChecksCapability, - ForgeReviewsCapability, - ForgeProviderCapabilities, - ForgeUser, - ForgeLabel, - ForgeMilestone, - ForgeRepoRef, - ForgeEntityState, ForgeIssue, - ForgeBranchRef, - ForgePullRequest, - ForgeComment, - ForgeTimelineEventType, - ForgeTimelineEvent, ForgeCommit, ForgeFileChange, - ForgeCheckState, - ForgeCheckKind, - ForgeCheckAnnotation, - ForgeCheck, - ForgeChecksSummary, - ForgeReview, } from './types'; -export type { - ForgePullRequestsResult, - ForgePullRequestContext, - ForgeIssuesResult, - ForgeIssueDetail, - ForgeCommitsResult, - ForgeTimelineResult, - ForgeChecksResult, - ForgeUsersResult, - ForgeLabelsResult, - ForgeMilestonesResult, - ForgeBranchesResult, - ForgeTagsResult, - ForgeProvider, -} from './provider'; - -export { - stateOf, - mapCheckRunState, - firstLine, - normalizeEventType, - mapGithubUser, - mapGithubAssignee, - mapGithubPr, - mapGithubIssue, - mapGithubIssueComment, - mapGithubReviewComment, - mapGithubCheckSummary, - mapGithubContext, - mapGithubRepoRef, - mapGithubCommits, - mapGithubTimelineEvents, - mapGitlabUser, - mapGitlabMember, - mapGitlabMr, - mapGitlabIssue, - mapGitlabNoteComment, - mapGitlabContext, - mapGitlabRepoRef, - mapGitlabCommits, - mapGitlabTimelineEvents, - mapGiteaUser, - mapGiteaAssignee, - mapGiteaPr, - mapGiteaIssue, - mapGiteaComment, - mapGiteaContext, - mapGiteaRepoRef, - mapGiteaCommits, - mapGiteaStatuses, - mapGiteaReviewsToEvents, - mapStatusState, - aggregateStatusState, -} from './normalize'; - export { buildForgeProvider, - createGithubForgeProvider, - createGitlabForgeProvider, - createGiteaForgeProvider, } from './adapters'; + +export { + mapGithubPr, +} from './normalize';