github Nick2bad4u/eslint-plugin-typefest v1.2.8

3 hours ago

[1.2.8] - 2026-05-16

✨ Features

  • 646b362 — ✨ [feat] Adds safe TypeFest gap-coverage rules

✨ [feat] Adds a new set of high-confidence autofix rules for common manual type patterns

  • Covers boolean pair helpers, unknown and tuple guards, nullable checks, rest-element extraction, and key presence and key extraction helpers

  • Favors dedicated utilities so type intent reads more clearly and repeated low-level helper compositions disappear from user code

  • Limits reporting to exact import-aware shapes so fixes stay low-noise and avoid semantic drift

🚜 [refactor] Extracts shared pattern matchers and rule factories for the new rule family

  • Reuses conditional-type, tuple, and key-analysis logic to keep behavior consistent across related rules

  • Improves maintainability for future rule additions without widening match scope

📝 [docs] Updates rule coverage guidance and preset documentation

  • Marks the gap-analysis pass as effectively closed after landing the safe default candidates

  • Documents the narrow supported patterns and non-goals so future additions require stronger proof before joining default presets

🧪 [test] Expands contract, parse-safety, autofix, and snapshot coverage

  • Verifies import handling, shadowing, namespace usage, fixer output, preset membership, and exported rule counts for the new rule set

  • 1c90fb9 — ✨ [feat] (rules) Introduce new TypeFest rules for array and entry types

  • Add prefer-type-fest-array-element rule to enforce usage of ArrayElement<T> over T[number] for array and tuple element extraction.

  • Add prefer-type-fest-array-values rule to enforce usage of ArrayValues<T> over typeof values[number] for constant array value extraction.

  • Add prefer-type-fest-entries rule to enforce usage of Entries<T> over manual arrays of [keyof T, T[keyof T]] for object entry tuples.

  • Add prefer-type-fest-entry rule to enforce usage of Entry<T> over manual [keyof T, T[keyof T]] object entry tuple types.

  • Update rule metadata snapshots to include new rules with appropriate documentation links and configurations.

  • Add tests for new rules to ensure correct behavior and parse safety.

  • Update existing tests to defer to new rules where applicable.

  • 3cdbfd3 — ✨ [feat] Add new TypeFest rules for TypeScript type checks

  • Introduced prefer-type-fest-is-any, prefer-type-fest-is-never, prefer-type-fest-is-null, and prefer-type-fest-is-undefined rules to enforce best practices in TypeScript type checks.

  • Updated snapshots and metadata for the new rules to ensure proper documentation and functionality.
    🧪 [test] Add comprehensive tests for new TypeFest rules

  • Created tests for prefer-type-fest-is-any, prefer-type-fest-is-never, prefer-type-fest-is-null, and prefer-type-fest-is-undefined to validate their behavior and ensure they catch incorrect type checks.

  • Included parse-safety guards in tests to ensure generated code remains valid TypeScript.
    📝 [docs] Update documentation for new TypeFest rules

  • Added documentation entries for the new rules in the README and snapshots to provide users with guidance on usage and configuration.

  • f77a049 — ✨ [feat] Add Codex instructions for ESLint plugin source structure

  • Introduce guidelines for authoring rules and source modules in the ESLint plugin template.

  • Define source layout and canonical rule template expectations.

  • Specify required rule metadata and implementation expectations.

  • Outline new rule workflow and common pitfalls to avoid in the src/ directory.
    🧹 [chore] Remove unused bootstrap-labels script

  • Delete the obsolete PowerShell script for managing GitHub labels.

  • Clean up the repository by removing unnecessary files. [ci skip]

  • 37c0624 — ✨ [feat] Add benchmark and script guidelines documentation

  • 📝 Create AGENTS.md for benchmark folder guidelines

  • 📝 Create AGENTS.md for scripts folder guidelines

  • 🔧 Update .remarkignore to include AGENTS.md files

  • 🚜 Refactor vitest configuration to improve exclusion patterns

🧹 Chores

Don't miss a new eslint-plugin-typefest release

NewReleases is sending notifications on new releases.