Skip to content

fix: import elision for namespace imports, arrow function bodies, empty imports, and star export barrels#18

Merged
Brooooooklyn merged 1 commit intomainfrom
fix/import-elision-mismatches
Feb 9, 2026
Merged

fix: import elision for namespace imports, arrow function bodies, empty imports, and star export barrels#18
Brooooooklyn merged 1 commit intomainfrom
fix/import-elision-mismatches

Conversation

@Brooooooklyn
Copy link
Copy Markdown
Member

@Brooooooklyn Brooooooklyn commented Feb 9, 2026

  • Elide namespace imports (import * as X) when only used in type positions
  • Traverse arrow function bodies to find value references (e.g., forwardRef(() => Comp))
  • Remove empty imports (import {} from 'module')
  • Fix cross-file type detection through star export barrels (export * from './module')
  • Remove duplicate match arms in expand_safe_reads

Note

Medium Risk
Touches import-elision logic and cross-file export resolution, which can change emitted JS and potentially break runtime behavior if a value import is incorrectly removed. Changes are well-scoped and backed by targeted regression tests.

Overview
Improves Angular import elision accuracy by treating namespace imports (import * as X) as elidable when they’re only referenced in type positions, and by traversing arrow function bodies to detect value uses (e.g. forwardRef(() => Comp)) so those imports are preserved.

Extends cross-file type-only detection to follow export * from '...' barrel chains when deciding whether an imported symbol is type-only, and updates filtering to drop empty imports (import {} from 'module') entirely. Cleans up expand_safe_reads by removing duplicate/unused match arms in temporary-detection logic and adds regression tests for the above scenarios.

Written by Cursor Bugbot for commit 83e53da. This will update automatically on new commits. Configure here.

…ty imports, and star export barrels

- Elide namespace imports (`import * as X`) when only used in type positions
- Traverse arrow function bodies to find value references (e.g., `forwardRef(() => Comp)`)
- Remove empty imports (`import {} from 'module'`)
- Fix cross-file type detection through star export barrels (`export * from './module'`)
- Remove duplicate match arms in expand_safe_reads

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Brooooooklyn Brooooooklyn merged commit a08f16e into main Feb 9, 2026
3 checks passed
@Brooooooklyn Brooooooklyn deleted the fix/import-elision-mismatches branch February 9, 2026 15:00
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