fix(doctor): remove duplicate LocalConfig import breaking main CI - #606
Merged
jeff-r2026 merged 1 commit intoSep 17, 2026
Merged
Conversation
src/doctor.ts imported LocalConfig twice — once in the top type-only import (line 5) and once in the grouped import block from './types.js'. TypeScript rejected this with TS2300 (Duplicate identifier 'LocalConfig'), so `tsc --noEmit` failed and the main CI has been red since Tencent#599. The two imports landed cleanly as a merge (no textual conflict) but collided at the type level, so each PR's own branch build was green. Drop the LocalConfig binding from line 5 and keep it in the grouped block alongside TeamaiConfig, matching the surrounding style.
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.
Problem
mainCI has been red since #599 (and stayed red through #594). All fourLint & Test jobs (Node 20/22 × ubuntu/macos) fail at the Type check
step with:
Root cause
src/doctor.tsimportsLocalConfigtwice from./types.js:import type { GlobalOptions, LocalConfig } from './types.js';type LocalConfig,inside the grouped import blocktsc --noEmitrejects this (TS2300) and exits 2.The two imports were added on separate PRs and merged without a textual
conflict, so each PR's own branch build passed — they only collided at the
type level once both landed on
main.Fix
One line: drop the
LocalConfigbinding from line 5 and keep it in thegrouped block alongside
TeamaiConfig, matching the surrounding style.Test plan
Run locally against
origin/main(3d4353f) with the fix applied:npx tsc --noEmit→ exit 0, no errorsnpm run build→ Build successnpx vitest run src/__tests__/doctor.test.ts→ 22/22 passednpx vitest run(full suite) → 235 files / 3305 tests passed