[1.2.8] - 2026-05-16
- Commit Range: ➡️
37c0624...7d4fde2
✨ 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-elementrule to enforce usage ofArrayElement<T>overT[number]for array and tuple element extraction. -
Add
prefer-type-fest-array-valuesrule to enforce usage ofArrayValues<T>overtypeof values[number]for constant array value extraction. -
Add
prefer-type-fest-entriesrule to enforce usage ofEntries<T>over manual arrays of[keyof T, T[keyof T]]for object entry tuples. -
Add
prefer-type-fest-entryrule to enforce usage ofEntry<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, andprefer-type-fest-is-undefinedrules 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, andprefer-type-fest-is-undefinedto 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
7d4fde2— Release v1.2.8