Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.7.0] - 2026-01-05
Added
- Type Parameter (Generics) Naming: Added comprehensive naming conventions for generic type parameters:
- Single uppercase letters:
T,U,V,K(the four standard generic type parameters) - Prefixed descriptive names:
TData,TItem,TElement,TError(T prefix),KKey(K prefix),VValue(V prefix) - Numeric subscripts:
T0,T1,K1,K2,V1for sequences of related types - Disallows lowercase (
t,tItem), descriptive names without prefix (Type,Data), redundant suffixes (TItemType), and snake_case (T_Item)
- Single uppercase letters:
Changed
- Type-like Selector: Changed
typeLikeselector totypeAliasfor more precise targeting and to avoid conflicts with the newtypeParameterrule
Documentation
- Added comprehensive Type Parameters (Generics) documentation with rationale, examples, and references
- Updated rule matrix and types overview to include type parameters
- Updated
READMErule overview section with type parameter conventions - Clarified "Type-like" label to "Type Aliases" throughout documentation
- Updated
README"At a Glance" section with professional table format and side-by-side code examples - Restructured
READMEdocumentation section for better organization and clarity
[1.6.0] - 2025-12-26
Added
- Abbreviation Restrictions: Added comprehensive banning of common abbreviations and anti-patterns in variables, functions, and parameters:
- Bans single-letter names (e.g.,
i,j,k,e) in favor of descriptive names likeindex,itemIndex,error - Bans vague abbreviations (e.g.,
str,num,arr,obj,data,info) in favor of full words - Bans ambiguous abbreviations (e.g.,
res,req,dir,cfg) that can have multiple meanings - Includes comprehensive DENY_LIST with ~140+ abbreviations and their recommended replacements
- Includes ALLOW_LIST for well-known technical terms (
id,url,api,json,html,uuid, etc.) - Exports
DENY_LISTandALLOW_LISTfor user customization - Applied with lowest precedence to act as a safety net without interfering with specific rules
- Bans single-letter names (e.g.,
Documentation
- Added comprehensive Abbreviation Restrictions documentation with examples and customization guide
- Updated rule matrix and sidebar navigation
- Added
READMEsection explaining the new feature
[1.5.0] - 2025-12-25
Added
- Readonly Members: Added support for
UPPER_CASE, 'camelCase', andsnake_caseformat in readonly members to accommodate environment variables and constants (e.g.,VITE_API_BASE_URLinImportMetaEnvinterfaces).
Fixed
- Enum Names: Fixed issue where enums with string values (e.g.,
enum RoomFacilityAccess) were incorrectly flagged as errors. Enums with names ending inssor similar patterns (likeAccess) are now correctly recognized as singular, non-plural names.
[1.4.2] - 2025-12-24
Fixed
- ESLint 8 Compatibility: Fixed "Unexpected top-level property 'default'" error when using the legacy config (
naming/legacy) with ESLint 8. The CommonJS export now properly unwraps the configuration object, making it compatible with.eslintrc.*files.
[1.4.0] - 2025-12-22
Added
- Object Literal Properties: Added support for
UPPER_CASEformat in object literal properties to accommodate common patterns like constant objects (e.g.,HTTP_STATUS.OK,ERROR_CODES.NOT_FOUND).
Changed
- Object literal properties now allow
camelCase,snake_case,PascalCase, andUPPER_CASEformats (previously only the first three).
[1.3.5] and earlier
See GitHub Releases for earlier versions.