Skip to main content
interlace
Plugin: conventions

Changelog

Release history and version updates for eslint-plugin-conventions

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.

6.0.7

  • Fixconsistent-existence-index-check no longer instructs a rewrite it refuses to perform.
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.19.7

6.0.6

  • Fixno-commented-code grouped across live source and its suggestion deleted it
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.19.6

6.0.5

  • Fixconsistent-existence-index-check — two detection-scope fixes.

6.0.4

  • Fixfour false positives found by sweeping the plugins over a real corpus

6.0.3

  • Fixno-magic-numbers no longer offers a suggestion that fails to parse
  • Fixprefer-dependency-version-strategy no longer rewrites objects that are not dependency maps
  • Fixprefer-dependency-version-strategy no longer autofixes a range into a caret
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.19.5

6.0.2

  • Fixno-console-spaces now re-escapes the string it emits. The fixer spliced the cooked value between single quotes, so console.log("it's here ") was rewritten to console.log('it's here'), which does not parse; an interior newline produced an unterminated literal, and a backslash silently changed the string's runtime value. ESLint writes that output to disk rather than rolling it back.
  • FixFP/FN sweep against the burgee corpus — three confirmed rule defects.

6.0.1

  • Fixfilename-case stops prescribing a rename it would reject

6.0.0

Breaking
  • Breakingconsistent-existence-index-check defaults to Object.hasOwn, not in
  • Fixconsistent-existence-index-check will not splice a sequence expression

5.3.5

  • Fixconsistent-existence-index-check no longer autofixes between checks that are not equivalent

5.3.4

  • Fixprefer-dependency-version-strategy no longer reads a manifest as a dependency map

5.3.3

  • Fixno-console-spaces no longer reports the space beside an interpolation in a template literal

5.3.2

  • FixThe README logo now links to the plugin's own documentation.

5.3.1

  • Fixutm-taxonomy reads tagged quasis again
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.19.1

5.3.0

  • Fixconsole['log'] is the same call as console.log
  • Fixmember gates resolve a quoted key without a second arm
  • Fixcommented-out code is recognised through a string subscript
  • Fixremaining member gates resolve a subscripted key
  • Maintenanceno-console-spaces returns the console method it resolved, or null
  • Fixno-deprecated-api reads a subscripted member, and its suggestion stays valid
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.19.0

5.2.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

5.2.0

  • Feature🐛 Fix — a template literal is a string, in 82 rules that disagreed
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.18.0

5.1.0

  • Featureanalytics-event-naming accepts copy as an action verb.
  • Fixprefer-dom-node-text-content no longer gates on the variable's name
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.17.4

5.0.0

Breaking
  • Breakingrecommended no longer enables no-magic-numbers #694
  • FeatureThree rules no longer report inside generated files: conventions/no-magic-numbers, conventions/no-commented-code and modernization/prefer-template-literal. #691
  • Fixpoint meta.docs.url at documentation that exists #683
  • Docseight published rules finally have documentation #683
  • Dependenciesupdated workspace dependencies: @interlace/eslint-devkit@1.17.2

4.3.0

  • no-magic-numbers gains three exemptions, and stops being the highest-volume #604
  • no-magic-numbers stops reading machine-packed output. #640
  • no-commented-code no longer reports JSDoc blocks. #599
  • no-commented-code reports commented-out STATEMENTS again, whatever they end with. #599
  • no-magic-numbers: ignoreArrayIndexes exempts an index, not a position. #615
  • DependenciesUpdated internal dependencies

4.2.10

  • no-commented-code no longer reports English prose. #594

4.2.9

  • Point meta.docs.url at the philosophies' new home #497
  • DependenciesUpdated internal dependencies

4.2.8

  • Correct the declared ESLint floor: ^8.0.0^8.40.0. #407
  • Correct the ESLint peer range shown in the README Compatibility table. #423
  • meta.hasSuggestions now matches what each rule actually emits. #309
  • DependenciesUpdated internal dependencies

4.2.7

  • Ship the JavaScript without tsc's layout. #411
  • DependenciesUpdated internal dependencies

4.2.6

  • Load rule modules on demand instead of at plugin load. #381
  • Declare what we support, load only what we use #381
  • Fix the ./oxlint subpath export, which pointed at src/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's jsPlugins. The export now points at the build output, dist/src/oxlint.js. #335
  • DependenciesUpdated internal dependencies

4.2.5

  • Add the ecosystem and oxlint marks to the README logo row. Each plugin now #364

4.2.4

  • Re-publish every package so npm carries the optimised artifact #338
  • DependenciesUpdated internal dependencies

4.2.3

  • Rewrite description and keywords on 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

4.2.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

4.2.1

  • Fix Codecov badge showing "unknown" — switch from flag to component URL format #252

4.2.0

  • conventions/utm-taxonomy: align the taxonomy with the live attribution #241

4.1.0

  • Three new rules at error severity enforcing the Observability cluster of the design philosophies (ANALYTICS_PHILOSOPHY.md + UTM_PHILOSOPHY.md): #129
  • Featurefeat(no-magic-numbers): add conventions/no-magic-numbers — closes prob_magic_numbers ILB-Arena-Quality FN #148
  • no-magic-numbers: add extract-const suggestion fixer. IDEs now offer a one-click "Extract to named constant" action that inserts a const MAGIC_<value> declaration before the containing statement and replaces the literal. #154
  • DependenciesUpdated internal dependencies

4.0.4

  • align codecov component IDs with full package names
  • fix changelog header format across all packages
  • Ofri Peretz

4.0.3

  • align codecov component names and update docs components
  • Ofri Peretz

4.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 9 convention 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 conventions for most teams
  • filename-case: Framework-required names (e.g., webpack.config.js) require manual exclude lists
  • no-deprecated-api: May not detect usage through wrapper libraries
  • expiring-todo-comments: Requires consistent date formats (ISO 8601 recommended)

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.