Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,120 @@ yarn add -D devoid

```sh
devoid src/
```

## Common Flags

```sh
devoid src/ --exports
devoid src/ --files
devoid src/ --locals
devoid src/ --json
```

## Analysis Modes

### Unused Exports

List exports that are never imported or referenced:

```sh
devoid src/ --exports
```

### Unused Files

List files that are unreachable from the entrypoints and have no side effects:

```sh
devoid src/ --files
```

### Unused Local Identifiers

Detect unused classes, enums, functions, and variables within files:

```sh
devoid src/ --locals
# or
devoid src/ --identifiers
```

Enable strict mode to include type declarations:

```sh
devoid src/ --locals --track-all-locals
```

### Types

Detect unused exported types and local type declarations:

```sh
devoid src/ --types
```

Types mode:
- Tracks type and interface usage only
- Respects import type and export type
- Follows barrel and wildcard type re-exports
- Does not require the TypeScript type checker
- Does not affect runtime export analysis


## Output Options

### JSON

```sh
devoid src/ --json
```

### Summary

```sh
devoid src/ --summary-only
```

### Verbose

Print raw graphs for debugging:

```sh
devoid src/ --verbose
```

## Internal (Single-File) Analysis

Analyze unused identifiers within a single file only:

```sh
devoid internal src/utils/helpers.ts
```

Enable strict local tracking:

```sh
devoid internal src/utils/helpers.ts --track-all-locals
```

## Misc Options

### Ignore Paths

Ignore files or directories containing a substring:

```sh
devoid src/ --ignore dist --ignore generated
```

### Color Control

```sh
devoid src/ --no-color
devoid src/ --color
```

## License

MIT © Elijah Kotyluk
3 changes: 3 additions & 0 deletions src/cli/help.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ ${colors.bold}Analysis Options:${colors.reset}
--exports List unused exports
--files List unused files
--locals, --identifiers List unused local identifiers
--types Enable type-only analysis (unused exported + unused local types)
--track-all-locals Count all variable declarations (strict mode)

${colors.bold}Output Options:${colors.reset}
Expand All @@ -37,6 +38,8 @@ ${colors.bold}Examples:${colors.reset}
devoid src/ --json
devoid src/ --exports
devoid src/ --files --locals
devoid src/ --types
devoid src/ --types --json
devoid src/ --track-all-locals
devoid internal src/utils/helpers.ts
devoid internal src/module.ts --track-all-locals
Expand Down