# What changed in eslint-plugin-no-barrel-files

> 27 changes in eslint-plugin-no-barrel-files 1 to 2 from its official release notes, upgrade guides and advisories: 2 breaking, 4 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/npm/eslint-plugin-no-barrel-files/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## eslint-plugin-no-barrel-files 2

### Breaking changes

- The plugin now reports plain imports of types that are re-exported via export all. (2.3.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.3.0)
- The plugin now reports type-only imports when they are re-exported without the type modifier. (2.3.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.3.0)

### New APIs and options

- The plugin allows intentional barrel files. (2.2.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.2.0)
- Adds a recommended configuration that enables both rules. (2.0.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.0)
- Adds a rule that prefers source imports. (2.0.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.0)

### Performance

- Skips external module resolution. (2.1.1) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.1.1)
- Avoids unnecessary import analysis. (2.1.1) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.1.1)
- Shares TypeScript resolution caches. (2.1.1) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.1.1)
- Caches analysis to improve performance. (2.0.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.0)

### Behavior and default changes

- The plugin resolves default and namespace re-exports, allowing its rules to account for these re-export forms. (2.3.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.3.0)
- The plugin ignores intentional barrel imports. (2.2.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.2.0)

### Tooling

- The plugin rewrites direct default barrel imports. (2.2.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.2.0)
- The plugin now supports TypeScript 6. (2.1.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.1.0)

### Fixes and other changes

- Rules now provide meta.defaultOptions and schema descriptions. (2.3.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.3.0)
- Lockfile installs with npm 10 are supported. (2.2.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.2.0)
- Aliases from configured base paths are now resolved. (2.1.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.1.0)
- Local re-export barrels are now resolved. (2.1.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.1.0)
- Fixes detection of imports declared after exports. (2.0.2) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.2)
- Import fixes now account for aliases when resolving source imports. (2.0.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.0)
- Fixes re-export edge cases in the rule. (2.0.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.0)
- TypeScript is optional for prefer-source-imports. (2.0.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v2.0.0)

## eslint-plugin-no-barrel-files 1

### New APIs and options

- The rule detects named from exports. (1.4.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v1.4.0)

### Tooling

- Adds linting to detect barrel files. (1.4.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v1.4.0)
- Adds support for ESLint 10. (1.4.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v1.4.0)
- Adds support for flat config. (1.4.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v1.4.0)

### Fixes and other changes

- Checks the local name rather than the exported name for named exports. (1.4.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v1.4.0)
- Fixes missing types in the build. (1.4.0) — [release notes](https://github.com/art0rz/eslint-plugin-no-barrel-files/releases/tag/eslint-plugin-no-barrel-files-v1.4.0)
