| name | dead-code-elimination |
| description | Identification and removal of unused code, imports, and unreachable branches. |
| category | refactoring |
| version | 1 |
Dead Code Elimination
Purpose
Remove code that provides no value and increases maintenance burden.
Detection Methods
Automated Detection
npx ts-unused-exports --project tsconfig.json
eslint --rule "no-unused-vars: error"
npx unimported
Manual Detection
- Functions never called
- Variables assigned but never read
- Imports not used
- Props passed but ignored
- Branches never executed
Common Patterns
1. Unused Exports
export const unusedHelper = () => {}
2. Unused Imports
import { unused } from './utils'
import { used } from './utils'
3. Commented Code
4. Type-only Imports
import { type User } from './types'
function processUser(user: User) {}
import type { User } from './types'
Safety Rules
- Verify with TypeScript strict mode
- Run tests after removal
- Check across all entry points
- Consider external consumers