Plugin: modernization
Changelog
Release history and version updates for eslint-plugin-modernization
Generated from the release history
Built from this package's CHANGELOG.md at deploy time, so it matches the
version these docs describe. The full cross-package history lives on the
changelog.
3.1.6
- Fix
prefer-template-literalautofix turned arithmetic into concatenation - Dependenciesupdated workspace dependencies:
@interlace/eslint-devkit@1.19.6
3.1.5
- Fix
prefer-athandles member-expression receivers
3.1.4
- Fix
prefer-atno longer autofixes the two rewrites that are not equivalent.array[-1]is a plain property read that always yieldsundefined, whilearray.at(-1)yields the last element, so--fixturned dead code into live code; and the rule never establishes that the object is an array, so on aRecord<number, string>holding a-1key, or onarguments, the same rewrite replaced working code with aTypeError.array[array.length - n]with a variablendiverges too: atn === 0the source reads past the end while.at(-0)reads the FIRST element. Both cases still report; only the unattended edit is gone. Thearray.length - <positive literal>fix is unchanged. - Fix
prefer-template-literalno longer destroys a parenthesised addition while rewriting a concat chain.+is left-associative, so a nested+on the left is the same chain and flattens, but one on the right is its own expression —"row " + (i + 1)was rewritten to `row ${i}${1}, printing "row 01" where the source printed "row 1", and"sum: " + (a + b)` lost the sum entirely. Arithmetic that is not itself string-producing now reaches the template as a single placeholder.
3.1.3
- FixThe README logo now links to the plugin's own documentation.
3.1.2
- Fixmodernization gates read a subscripted member
- Dependenciesupdated workspace dependencies:
@interlace/eslint-devkit@1.19.0
3.1.1
- FixAdd an install-size badge to the README prelude, linking to each package's packagephobia page. npm renders the README from the last publish, so a badge only appears on npmjs.com after a release.
- Dependenciesupdated workspace dependencies:
@interlace/eslint-devkit@1.18.2
3.1.0
- Feature🐛 Fix — a template literal is a string, in 82 rules that disagreed
- Dependenciesupdated workspace dependencies:
@interlace/eslint-devkit@1.18.0
3.0.0
Breaking- Breaking
prefer-event-targetis no longer autofixable — its fix broke the program - Fix
prefer-atno longer suggests.at()where the element is being written - Dependenciesupdated workspace dependencies:
@interlace/eslint-devkit@1.17.3
2.2.0
2.1.8
2.1.7
- Ship the JavaScript without tsc's layout. #411
- DependenciesUpdated internal dependencies
2.1.6
- Load rule modules on demand instead of at plugin load. #381
- Declare what we support, load only what we use #381
- Fix the
./oxlintsubpath export, which pointed atsrc/oxlint.js— a file no build produces.require('<package>/oxlint')threw MODULE_NOT_FOUND on every published package, while every README documented that exact wiring for oxlint'sjsPlugins. The export now points at the build output,dist/src/oxlint.js. #335 - DependenciesUpdated internal dependencies
2.1.5
- Add the ecosystem and oxlint marks to the README logo row. Each plugin now #364
2.1.4
- Re-publish every package so npm carries the optimised artifact #338
- DependenciesUpdated internal dependencies
2.1.3
- Rewrite
descriptionandkeywordson every published package for npm search discovery. npm ranks on name, description, and keywords, and the registry only picks up these fields at publish — so this is metadata-only and takes effect for each package on its next release. #294 - DependenciesUpdated internal dependencies
2.1.2
- Docsdocs: dual-logo README header (Interlace mark + ESLint mark side by side) and closing Interlace footer — refreshes the README rendered on npmjs.com. No runtime changes. #269
- DependenciesUpdated internal dependencies
2.1.1
- Fix Codecov badge showing "unknown" — switch from flag to component URL format #252
2.1.0
- feat+fix: ILB-Wild FP reduction + two new quality rules #148
- DependenciesUpdated internal dependencies
- align codecov component IDs with full package names
- fix changelog header format across all packages
- Ofri Peretz
2.0.3
- align codecov component names and update docs components
- Ofri Peretz
2.0.2
- 📘 Launched new documentation site: eslint.interlace.tools
- 📝 Achieved 100% documentation parity (both .md and .mdx files)
1.0.0
- Initial stable release with 3 modernization rules
- LLM-optimized error messages for AI-assisted development
- 100% test coverage across all rules
- ESLint 9 flat config support
- TypeScript type definitions for all rule options
recommended- Balanced modernization for most projectsstrict- All rules as errors for aggressive modernization
Building secure JavaScript with Interlace? Star the repo to get new rules and CWE coverage as we ship them — or follow the AI-code-security benchmarks behind them.