eslint-plugin-code-style 1.5.2 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,68 +1,146 @@
1
1
  # Changelog
2
2
 
3
- All notable releases of this project are documented here.
3
+ All notable changes to this project are documented in this file.
4
4
 
5
- Format follows [Keep a Changelog](https://keepachangelog.com/) principles.
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ---
9
+
10
+ ## [1.6.1] - 2026-02-01
11
+
12
+ ### Enhanced
13
+
14
+ - **`function-params-per-line`** - Handle callbacks with mixed params (destructured + simple like `({ item }, index)`)
15
+ - **`array-callback-destructure`** - Fix closing brace on same line as last property
16
+ - **`simple-call-single-line`** - Skip callbacks with 2+ params to avoid conflicts
17
+ - **`jsx-simple-element-one-line`** - Treat simple function calls (0-1 args) as simple expressions
18
+ - **`jsx-children-on-new-line`** - Treat simple function calls (0-1 args) as simple expressions
19
+ - **`jsx-element-child-new-line`** - Treat simple function calls (0-1 args) as simple expressions
20
+
21
+ ### Docs
22
+
23
+ - Clarify version bump and tag workflow in AGENTS.md
24
+
25
+ ---
26
+
27
+ ## [1.6.0] - 2026-02-01
28
+
29
+ **New array-callback-destructure Rule & Multiple Enhancements**
30
+
31
+ **Version Range:** v1.5.1 → v1.6.0
32
+
33
+ ### Added
34
+
35
+ **New Rules (1)**
36
+ - `array-callback-destructure` - Enforce multiline destructuring in array method callbacks (map, filter, find, etc.) when there are 2+ properties 🔧
37
+
38
+ ### Enhanced
39
+
40
+ - **`function-naming-convention`** - Added "forgot" to verb prefixes list
41
+ - **`arrow-function-simplify`** - Extended to handle non-JSX expression statements (simple side-effect functions)
42
+
43
+ ### Changed
44
+
45
+ - **`no-plusplus`** - Changed from "error" to "off" in all config files
46
+
47
+ ### Stats
48
+
49
+ - Total Rules: 66 (was 65)
50
+ - Auto-fixable: 60 rules 🔧
51
+ - Report-only: 6 rules
52
+
53
+ **Full Changelog:** [v1.5.1...v1.6.0](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.5.1...v1.6.0)
54
+
55
+ ---
56
+
57
+ ## [1.5.2] - 2026-02-01
58
+
59
+ - Version bump
60
+
61
+ ---
62
+
63
+ ## [1.5.1] - 2026-01-30
64
+
65
+ - Minor fixes
6
66
 
7
67
  ---
8
68
 
9
69
  ## [1.5.0] - 2026-01-30
10
70
 
11
- **Release Title:** New if-else-spacing Rule & Enhanced Arrow/Class Method Support
71
+ **New if-else-spacing Rule & Enhanced Arrow/Class Method Support**
12
72
 
13
73
  **Version Range:** v1.4.3 → v1.5.0
14
74
 
15
75
  ### Added
16
76
 
17
- - **New Rule: `if-else-spacing`** - Enforces proper spacing between if statements:
18
- - Requires empty line between consecutive if statements with block bodies
19
- - Prevents empty lines between single-line if and else
77
+ **New Rules (1)**
78
+ - `if-else-spacing` - Enforce proper spacing between if statements 🔧
20
79
 
21
80
  ### Enhanced
22
81
 
23
- - **`function-naming-convention`** - Now checks class methods for Handler suffix (skips constructors, getters, setters, and React lifecycle methods)
24
- - **`arrow-function-simplify`** - Extended to handle ALL arrow functions with single return (not just JSX attributes): `() => { return x }` becomes `() => x`
82
+ - **`function-naming-convention`** - Now checks class methods for Handler suffix (skips constructors, getters, setters, React lifecycle)
83
+ - **`arrow-function-simplify`** - Extended to handle ALL arrow functions with single return (not just JSX attributes)
25
84
 
26
85
  ### Fixed
27
86
 
28
- - **Circular fix conflict** between `opening-brackets-same-line` and `function-arguments-format` for multi-argument arrow function calls (e.g., axios interceptors)
87
+ - **Circular fix conflict** between `opening-brackets-same-line` and `function-arguments-format` for multi-argument arrow function calls
88
+
89
+ ### Stats
90
+
91
+ - Total Rules: 65 (was 64)
92
+ - Auto-fixable: 59 rules 🔧
93
+ - Report-only: 6 rules
94
+
95
+ **Full Changelog:** [v1.4.3...v1.5.0](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.3...v1.5.0)
96
+
97
+ ---
98
+
99
+ ## [1.4.5] - 2026-01-30
29
100
 
30
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.3...v1.5.0
101
+ - Version bump
102
+
103
+ ---
104
+
105
+ ## [1.4.3] - 2026-01-30
106
+
107
+ ### Documentation
108
+
109
+ - Add CHANGELOG for v1.4.0 release
31
110
 
32
111
  ---
33
112
 
34
113
  ## [1.4.2] - 2026-01-30
35
114
 
36
- **Release Title:** New Rules, Enhanced Auto-Fix & Comprehensive Documentation
115
+ **New Rules, Enhanced Auto-Fix & Comprehensive Documentation**
37
116
 
38
117
  **Version Range:** v1.3.1 → v1.4.2
39
118
 
40
119
  ### Added
41
120
 
42
- - **New Rules (3)**
43
- - `index-exports-only` - Prevent type/interface definitions in index files (move to types file)
44
- - `ternary-condition-multiline` - Format complex ternary conditions with each operand on its own line 🔧 ⚙️
45
- - `no-inline-type-definitions` - Extract inline union types to named types in type files ⚙️
121
+ **New Rules (3)**
122
+ - `index-exports-only` - Prevent type/interface definitions in index files (move to types file)
123
+ - `ternary-condition-multiline` - Format complex ternary conditions with each operand on its own line 🔧 ⚙️
124
+ - `no-inline-type-definitions` - Extract inline union types to named types in type files ⚙️
46
125
 
47
- - **Auto-Fix Labels in Documentation**
48
- - Added 🔧 label to indicate auto-fixable rules
49
- - Added legend explaining 🔧 (auto-fixable) and ⚙️ (customizable) labels
50
- - Clear distinction: 58 auto-fixable rules, 6 report-only rules
126
+ **Auto-Fix Labels in Documentation**
127
+ - Added 🔧 label to indicate auto-fixable rules
128
+ - Added legend explaining 🔧 (auto-fixable) and ⚙️ (customizable) labels
51
129
 
52
130
  ### Enhanced
53
131
 
54
- - **function-naming-convention** - Expanded verb list from ~50 to ~200+ verbs organized by category (CRUD, validation, transformation, UI, lifecycle, network, etc.)
55
- - **function-object-destructure** - Added auto-fix: inserts destructuring at function body top and replaces `param.prop` with `prop`
56
- - **component-props-destructure** - Added auto-fix: converts `(props)` to `({ prop1, prop2 })` and replaces `props.x` with `x` 🔧
57
- - **react-code-order** - Added auto-fix for reordering code blocks in components/hooks
58
- - **variable-naming-convention** - Added auto-fix for renaming variables to camelCase
132
+ - **`function-naming-convention`** - Expanded verb list from ~50 to ~200+ verbs organized by category
133
+ - **`function-object-destructure`** - Added auto-fix: inserts destructuring at function body top
134
+ - **`component-props-destructure`** - Added auto-fix: converts `(props)` to `({ prop1, prop2 })` 🔧
135
+ - **`react-code-order`** - Added auto-fix for reordering code blocks in components/hooks
136
+ - **`variable-naming-convention`** - Added auto-fix for renaming variables to camelCase
59
137
 
60
138
  ### Fixed
61
139
 
62
- - **multiline-if-conditions** - Fix indentation calculation for nested code (use actual line indentation)
63
- - **classname-multiline** - Fix template literal indentation for inline JSX attributes
64
- - **function-naming-convention** - Skip React components (PascalCase + returns JSX)
65
- - **variable-naming-convention** - Skip PascalCase arguments (component references)
140
+ - **`multiline-if-conditions`** - Fix indentation calculation for nested code
141
+ - **`classname-multiline`** - Fix template literal indentation for inline JSX attributes
142
+ - **`function-naming-convention`** - Skip React components (PascalCase + returns JSX)
143
+ - **`variable-naming-convention`** - Skip PascalCase arguments (component references)
66
144
  - Add "poll" as recognized verb prefix in function-naming-convention
67
145
 
68
146
  ### Documentation
@@ -73,7 +151,6 @@ Format follows [Keep a Changelog](https://keepachangelog.com/) principles.
73
151
 
74
152
  ### Report-Only Rules (6)
75
153
 
76
- These rules cannot be auto-fixed because they require file creation, movement, or cross-file changes:
77
154
  - `absolute-imports-only` - Requires knowledge of project structure
78
155
  - `index-exports-only` - Requires moving code to new files
79
156
  - `jsx-prop-naming-convention` - Requires cross-file prop renaming
@@ -87,40 +164,187 @@ These rules cannot be auto-fixed because they require file creation, movement, o
87
164
  - Auto-fixable: 58 rules 🔧
88
165
  - Report-only: 6 rules
89
166
 
90
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.1...v1.4.2
167
+ **Full Changelog:** [v1.3.1...v1.4.2](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.1...v1.4.2)
168
+
169
+ ---
170
+
171
+ ## [1.4.1] - 2026-01-30
172
+
173
+ ### Documentation
174
+
175
+ - Add 🔧 label to indicate auto-fixable rules (57 of 64)
176
+ - 7 rules are report-only (require manual changes)
177
+ - Add legend explaining 🔧 (auto-fixable) and ⚙️ (customizable) labels
178
+ - Add new rules to Rules Categories table
179
+
180
+ ---
181
+
182
+ ## [1.4.0] - 2026-01-30
183
+
184
+ ### Added
185
+
186
+ - New rule: `index-exports-only` - Prevent type/interface definitions in index files
187
+ - New rule: `ternary-condition-multiline` - Format complex ternary conditions
188
+ - New rule: `no-inline-type-definitions` - Extract inline union types to type files
189
+
190
+ ### Enhanced
191
+
192
+ - `function-naming-convention` - Expanded verb list from ~50 to ~200+ verbs
193
+ - `function-object-destructure` - Added auto-fix for parameter dot notation
194
+
195
+ ### Fixed
196
+
197
+ - `multiline-if-conditions` - Fix indentation calculation for nested code
198
+ - `classname-multiline` - Fix template literal indentation for inline attributes
199
+
200
+ ### Stats
201
+
202
+ - Total Rules: 64 (was 61)
203
+
204
+ ---
205
+
206
+ ## [1.3.11] - 2026-01-30
207
+
208
+ ### Enhanced
209
+
210
+ - Dependency-aware ordering: statements using variables must come after their declarations
211
+ - Auto-fix for module-level constants: moves camelCase constants inside component
212
+ - Auto-fix respects dependencies: initialResult declared before useRef(initialResult)
213
+ - SCREAMING_CASE constants allowed at module level
214
+
215
+ ---
216
+
217
+ ## [1.3.10] - 2026-01-30
218
+
219
+ ### Fixed
220
+
221
+ - `function-naming-convention` - Skip React components (PascalCase + returns JSX)
222
+ - Prevents renaming components like Login to loginHandler
223
+
224
+ ---
225
+
226
+ ## [1.3.9] - 2026-01-29
227
+
228
+ ### Enhanced
229
+
230
+ - `react-code-order` - Add auto-fix
231
+ - Auto-fix preserves control flow statements (if, for, while) in their relative positions
232
+
233
+ ---
234
+
235
+ ## [1.3.8] - 2026-01-29
236
+
237
+ ### Fixed
238
+
239
+ - `variable-naming-convention` - Skip PascalCase arguments (handled by function-naming-convention)
240
+ - Avoids duplicate errors between the two rules
241
+ - Auto-fix correctly updates all references including arguments passed to functions
242
+
243
+ ---
244
+
245
+ ## [1.3.7] - 2026-01-29
246
+
247
+ ### Enhanced
248
+
249
+ - `function-naming-convention` - Enforce camelCase for functions with verb prefixes (GetForStatus → getForStatus)
250
+ - Auto-fix converts PascalCase functions to camelCase and updates all references
251
+ - React components (PascalCase without verb prefix) still correctly skipped
252
+
253
+ ---
254
+
255
+ ## [1.3.6] - 2026-01-29
256
+
257
+ ### Enhanced
258
+
259
+ - `function-naming-convention` - Add "poll" as recognized verb prefix
260
+ - Functions like pollForStatus, pollDataHandler are now valid
261
+
262
+ ---
263
+
264
+ ## [1.3.5] - 2026-01-28
265
+
266
+ ### Enhanced
267
+
268
+ - Improved error messages with examples and helpful context for all rules
269
+ - Tailwind class order shows recommended order (layout → sizing → spacing → typography → colors → effects → states)
270
+ - className multiline shows threshold and format example
271
+ - Import/export format shows single-line example with threshold
272
+ - Object/array formatting shows format examples with thresholds
273
+ - Type/Interface/Enum naming shows suggested corrected name
274
+ - React code order shows full order sequence
275
+
276
+ ---
277
+
278
+ ## [1.3.4] - 2026-01-28
279
+
280
+ ### Enhanced
281
+
282
+ - className rules - Smart detection for objects with Tailwind class values (e.g., variants object)
283
+ - Smart detection for return statements with Tailwind classes
284
+ - Applies to: classname-multiline, classname-no-extra-spaces, classname-order
285
+ - `variable-naming-convention` - Add auto-fix for SCREAMING_SNAKE_CASE and snake_case
286
+
287
+ ---
288
+
289
+ ## [1.3.3] - 2026-01-28
290
+
291
+ ### Fixed
292
+
293
+ - `function-naming-convention` - Fix overlapping fixes error in auto-fix
294
+ - Track fixed ranges to prevent duplicate fixes on same node
295
+
296
+ ---
297
+
298
+ ## [1.3.2] - 2026-01-28
299
+
300
+ ### Documentation
301
+
302
+ - Add Full Changelog links to all releases in CHANGELOG.md
303
+ - Enhance release 1.1.0 with full feature details
304
+ - Enhance release 1.0.14 with full feature details
305
+ - Add Full Changelog link instructions to AGENTS.md
306
+
307
+ ---
308
+
309
+ ## [1.3.1] - 2026-01-28
310
+
311
+ ### Documentation
312
+
313
+ - Add CHANGELOG.md with full release history
314
+ - Add GitHub Releases guidelines to AGENTS.md
91
315
 
92
316
  ---
93
317
 
94
318
  ## [1.3.0] - 2026-01-28
95
319
 
96
- **Release Title:** New Rules, Auto-Fix Enhancements & Agent Skills Integration
320
+ **New Rules, Auto-Fix Enhancements & Agent Skills Integration**
97
321
 
98
322
  **Version Range:** v1.2.1 → v1.3.0
99
323
 
100
324
  ### Added
101
325
 
102
- - **New Rules (2)**
103
- - `classname-multiline` - Enforce multiline className formatting with string/template literal format
104
- - `function-declaration-style` - Auto-fix function declarations to arrow expressions
326
+ **New Rules (2)**
327
+ - `classname-multiline` - Enforce multiline className formatting with string/template literal format 🔧
328
+ - `function-declaration-style` - Auto-fix function declarations to arrow expressions 🔧
105
329
 
106
- - **Agent Skills** - Added [Agent Skills](https://agentskills.io) open standard support
107
- - `test-rule` - Test an ESLint rule after creating or modifying it
108
- - `validate-types` - Verify TypeScript definitions match rules in index.js
109
- - `review-config` - Review recommended ESLint configurations
110
- - `audit-docs` - Verify documentation accuracy across all files
111
- - Compatible with Claude Code, Cursor, VS Code, GitHub Copilot, Gemini CLI, and more
330
+ **Agent Skills** - Added Agent Skills open standard support
331
+ - `test-rule` - Test an ESLint rule after creating or modifying it
332
+ - `validate-types` - Verify TypeScript definitions match rules in index.js
333
+ - `review-config` - Review recommended ESLint configurations
334
+ - `audit-docs` - Verify documentation accuracy across all files
335
+ - Compatible with Claude Code, Cursor, VS Code, GitHub Copilot, Gemini CLI, and more
112
336
 
113
- - **TypeScript Support**
114
- - Added `index.d.ts` with full type definitions for IDE autocomplete
115
- - All 61 rule names available as TypeScript literal types
337
+ **TypeScript Support**
338
+ - Added `index.d.ts` with full type definitions for IDE autocomplete
339
+ - All 61 rule names available as TypeScript literal types
116
340
 
117
341
  ### Enhanced
118
342
 
119
- - `variable-naming-convention` - Enforce camelCase for all variables including constants
120
- - `function-object-destructure` - Add auto-fix for arrow expression body callbacks
121
- - `simple-call-single-line` - Extend to collapse callbacks with params, handle optional chaining
122
- - `function-naming-convention` - Add auto-fix for missing Handler suffix
123
- - `absolute-imports-only` - Allow relative imports in entry files (main.tsx/main.ts), add pages folder
343
+ - **`variable-naming-convention`** - Enforce camelCase for all variables including constants
344
+ - **`function-object-destructure`** - Add auto-fix for arrow expression body callbacks
345
+ - **`simple-call-single-line`** - Extend to collapse callbacks with params, handle optional chaining
346
+ - **`function-naming-convention`** - Add auto-fix for missing Handler suffix
347
+ - **`absolute-imports-only`** - Allow relative imports in entry files (main.tsx/main.ts), add pages folder
124
348
 
125
349
  ### Fixed
126
350
 
@@ -138,217 +362,593 @@ These rules cannot be auto-fixed because they require file creation, movement, o
138
362
  - Total Rules: 61 (was 56)
139
363
  - All rules are auto-fixable with `eslint --fix`
140
364
 
141
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.1...v1.3.0
365
+ **Full Changelog:** [v1.2.1...v1.3.0](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.1...v1.3.0)
142
366
 
143
367
  ---
144
368
 
145
- ## [1.2.0] - 2025-01-25
369
+ ## [1.2.9] - 2026-01-28
370
+
371
+ ### Documentation
372
+
373
+ - Reorganize AGENTS.md and CLAUDE.md content
374
+ - Add git workflow and versioning guidelines to AGENTS.md
375
+ - Add commit approval workflow to CLAUDE.md
376
+ - Require explicit approval for push and publish steps
377
+
378
+ ---
379
+
380
+ ## [1.2.8] - 2026-01-28
381
+
382
+ ### Added
383
+
384
+ - New rule: `function-declaration-style` - Auto-fix function declarations to arrow expressions
385
+
386
+ ### Enhanced
387
+
388
+ - `function-naming-convention` - Add auto-fix for missing Handler suffix
389
+ - `absolute-imports-only` - Allow relative imports in entry files (main.tsx/main.ts)
390
+ - `absolute-imports-only` - Add pages folder to default allowed folders
391
+ - `module-index-exports` - Add pages folder to default module and lazy load folders
392
+
393
+ ### Documentation
394
+
395
+ - Update rule count to 61 across all docs
396
+ - Add function-declaration-style docs with func-style pairing note
397
+ - Change Tailwind CSS badge to >=3.0.0
398
+
399
+ ### Stats
400
+
401
+ - Total Rules: 61
402
+
403
+ ---
404
+
405
+ ## [1.2.7] - 2026-01-27
406
+
407
+ - Minor fixes
408
+
409
+ ---
410
+
411
+ ## [1.2.6] - 2026-01-27
412
+
413
+ - Minor fixes
414
+
415
+ ---
416
+
417
+ ## [1.2.5] - 2026-01-27
418
+
419
+ ### Documentation
146
420
 
147
- **Release Title:** React Code Order & TypeScript Enhancement Rules
421
+ - Update badges and requirements for Node.js 20, TypeScript 5, Tailwind CSS 4
422
+
423
+ ---
424
+
425
+ ## [1.2.4] - 2026-01-27
426
+
427
+ ### Fixed
428
+
429
+ - Sync eslint configs and add semi-style rule
430
+ - Add missing `component-props-destructure` rule to react config and recommended react config
431
+ - Add @stylistic/semi-style rule to all configs to enforce semicolons at end of line
432
+
433
+ ---
434
+
435
+ ## [1.2.3] - 2026-01-27
436
+
437
+ ### Fixed
438
+
439
+ - `simple-call-single-line` - Remove space before ?. when collapsing simple calls to single line
440
+
441
+ ---
442
+
443
+ ## [1.2.2] - 2026-01-27
444
+
445
+ ### Enhanced
446
+
447
+ - `variable-naming-convention` - Enforce camelCase for all variables including constants (no more SCREAMING_SNAKE_CASE)
448
+ - `function-object-destructure` - Add auto-fix for arrow expression body callbacks
449
+ - `simple-call-single-line` - Extend to collapse callbacks with params and simple expression bodies, handle optional chaining
450
+
451
+ ---
452
+
453
+ ## [1.2.1] - 2026-01-27
454
+
455
+ ### Added
456
+
457
+ - New rule: `classname-multiline` - Enforce multiline className formatting when class count > 3 or length > 80
458
+
459
+ ### Enhanced
460
+
461
+ - JSX className with no expressions uses "..." string literal format
462
+ - JSX className with expressions uses {`...`} template literal format
463
+ - Variables/object properties use `...` template literal for multiline
464
+ - Updated `classname-no-extra-spaces` and `jsx-string-value-trim` to skip multiline format
465
+ - Upgraded test project to Tailwind CSS v4 with eslint-plugin-tailwindcss@beta
466
+
467
+ ---
468
+
469
+ ## [1.2.0] - 2026-01-25
470
+
471
+ **React Code Order & TypeScript Enhancement Rules**
148
472
 
149
473
  **Version Range:** v1.1.10 → v1.2.0
150
474
 
151
475
  ### Added
152
476
 
153
- - **New Rules (5)**
154
- - `component-props-destructure` - Enforce props destructuring in React components
155
- - `component-props-inline-type` - Enforce inline type annotations for component props
156
- - `function-object-destructure` - Enforce typed params with body destructuring for non-component functions
157
- - `react-code-order` - Enforce consistent ordering of hooks and code blocks in components/hooks
158
- - `type-annotation-spacing` - Enforce proper spacing in TypeScript type annotations
159
-
160
- ### React Code Order (15 Categories)
161
-
162
- The `react-code-order` rule enforces a logical dependency chain:
163
-
164
- 1. Props destructure (parameter level)
165
- 2. Props destructure in body
166
- 3. `useRef`
167
- 4. `useState`
168
- 5. `useReducer`
169
- 6. Redux hooks
170
- 7. Router hooks
171
- 8. Context hooks
172
- 9. Custom hooks
173
- 10. Derived state
174
- 11. `useMemo`
175
- 12. `useCallback`
176
- 13. Handlers
177
- 14. `useEffect`
178
- 15. Return statement
179
-
180
- ### TypeScript Improvements
181
-
182
- - `type-annotation-spacing` - No space before colon/generic/array brackets, one space after colon
183
- - Better support for inline type literals in component props
477
+ **New Rules (5)**
478
+ - `component-props-destructure` - Enforce props destructuring in React components
479
+ - `component-props-inline-type` - Enforce inline type annotations for component props
480
+ - `function-object-destructure` - Enforce typed params with body destructuring
481
+ - `react-code-order` - Enforce consistent ordering of hooks and code blocks
482
+ - `type-annotation-spacing` - Enforce proper spacing in TypeScript type annotations
184
483
 
185
484
  ### Stats
186
485
 
187
486
  - Total Rules: 56 (was 51)
188
- - All rules are auto-fixable with `eslint --fix`
189
487
 
190
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.10...v1.2.0
488
+ **Full Changelog:** [v1.1.10...v1.2.0](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.10...v1.2.0)
191
489
 
192
490
  ---
193
491
 
194
- ## [1.1.0] - 2025-01-19
492
+ ## [1.1.10] - 2026-01-20
195
493
 
196
- **Release Title:** TypeScript + Tailwind Support & Configurable Rules
494
+ - Minor fixes
197
495
 
198
- **Version Range:** v1.0.17 → v1.1.0
496
+ ---
199
497
 
200
- ### Added
498
+ ## [1.1.9] - 2026-01-20
499
+
500
+ ### Changed
501
+
502
+ - Sync default folders between absolute-imports-only and module-index-exports (27 folders)
503
+ - Reorganize rules export object with alphabetically ordered categories
504
+
505
+ ---
506
+
507
+ ## [1.1.8] - 2026-01-20
201
508
 
202
- - **New Configuration: React + TypeScript + Tailwind**
203
- - `react-ts-tw` - Recommended ESLint config for TS + Tailwind projects (`recommended-configs/react-ts-tw/`)
204
- - Includes TypeScript parser, TypeScript ESLint plugin, and Tailwind CSS plugin
205
- - Perfectionist rules for sorting interfaces, enums, and object types
206
- - Full documentation with installation instructions
509
+ ### Added
207
510
 
208
- - **New Rule**
209
- - `index-export-style` - Enforce consistent export formatting in index files (shorthand vs import-export style)
511
+ - TypeScript rules test cases in src/interfaces/, src/enums/, src/types/
210
512
 
211
- - **Configurable Rules**
212
- - `array-items-per-line` - Added `maxItems` option (default: 3)
213
- - `hook-deps-per-line` - Added `maxDeps` option (default: 2)
214
- - `multiline-if-conditions` - Added `maxOperands` option (default: 3)
215
- - `function-arguments-format` - New rule merging `multiline-argument-newline` and `multiple-arguments-per-line`
513
+ ---
216
514
 
217
- - **Documentation**
218
- - Added `AGENTS.md` for AI coding agents (Claude Code, Cursor, etc.)
219
- - Added React test application for validating plugin rules
220
- - Migration guide to `@stylistic/eslint-plugin` for deprecated formatting rules
515
+ ## [1.1.7] - 2026-01-20
221
516
 
222
517
  ### Changed
223
518
 
224
- - **Self-Sufficient Rules**
225
- - `export-format` and `import-format` now handle all formatting independently
226
- - `object-property-per-line` now handles all object formatting independently
519
+ - Add TypeScript formatting rules to recommended and test configs:
520
+ - enum-format, interface-format, type-format, typescript-definition-location
227
521
 
228
- - **TypeScript Support**
229
- - `module-index-exports` rule now recognizes `index.ts` and `index.tsx` files
230
- - Added TypeScript test file patterns (`*.test.ts`, `*.spec.ts`, etc.) to ignore list
522
+ ---
231
523
 
232
- ### Fixed
524
+ ## [1.1.6] - 2026-01-20
525
+
526
+ ### Added
527
+
528
+ - New rule: `type-format` - Enforce PascalCase with Type suffix, camelCase properties
233
529
 
234
- - `object-property-per-line` - Fixed handling of multi-line template literals and spread elements
235
- - `jsx-ternary-format` - Fixed handling of return statements and broken conditions
236
- - `comment-spacing` - Renamed to `comment-format` to better reflect functionality
237
- - Fixed rule count sync between README and index.d.ts
530
+ ---
531
+
532
+ ## [1.1.5] - 2026-01-20
533
+
534
+ ### Added
535
+
536
+ - New rule: `enum-format` - Enforce PascalCase with Enum suffix, UPPER_CASE members
537
+
538
+ ---
539
+
540
+ ## [1.1.4] - 2026-01-20
541
+
542
+ ### Added
543
+
544
+ - New rule: `interface-format` - Enforce PascalCase with Interface suffix, camelCase properties
545
+
546
+ ---
547
+
548
+ ## [1.1.3] - 2026-01-20
549
+
550
+ ### Added
551
+
552
+ - New rule: `typescript-definition-location` - Enforce TypeScript definitions in designated folders
553
+
554
+ ---
555
+
556
+ ## [1.1.2] - 2026-01-20
557
+
558
+ - Minor fixes
559
+
560
+ ---
561
+
562
+ ## [1.1.1] - 2026-01-20
563
+
564
+ - Minor fixes
565
+
566
+ ---
567
+
568
+ ## [1.1.0] - 2026-01-20
569
+
570
+ **TypeScript + Tailwind Support & Configurable Rules**
571
+
572
+ **Version Range:** v1.0.17 → v1.1.0
573
+
574
+ ### Added
575
+
576
+ **New Configuration: React + TypeScript + Tailwind** (`react-ts-tw`)
577
+ - TypeScript parser and TypeScript ESLint plugin support
578
+ - Tailwind CSS plugin integration
579
+ - Perfectionist rules for sorting interfaces, enums, and object types
580
+ - Comprehensive test project with TypeScript components
581
+
582
+ **New Rule**
583
+ - `index-export-style` - Enforce consistent export formatting in index files
584
+
585
+ **Configurable Options**
586
+ - `array-items-per-line` - Added `maxItems` option (default: 3)
587
+ - `hook-deps-per-line` - Added `maxDeps` option (default: 2)
588
+ - `multiline-if-conditions` - Added `maxOperands` option (default: 3)
589
+ - `function-arguments-format` - New rule merging multiline argument rules with customizable options
590
+
591
+ **Documentation**
592
+ - Added AGENTS.md for AI coding agents
593
+
594
+ ### Changed
595
+
596
+ - `export-format` and `import-format` - Made self-sufficient, added `maxSpecifiers` option
597
+ - `object-property-per-line` - Made self-sufficient, added `minProperties` option
598
+ - `module-index-exports` - Support TypeScript index files
599
+ - Migrated to `@stylistic/eslint-plugin` for formatting rules
238
600
 
239
601
  ### Stats
240
602
 
241
- - Total Rules: 51 (was 48)
603
+ - Total Rules: 51 (was 45)
242
604
  - All changes are backward compatible
243
- - All rules are auto-fixable with `eslint --fix`
244
605
 
245
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.17...v1.1.0
606
+ **Full Changelog:** [v1.0.17...v1.1.0](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.17...v1.1.0)
246
607
 
247
608
  ---
248
609
 
249
- ## [1.0.16] - 2025-01-11
610
+ ## [1.0.41] - 2026-01-19
250
611
 
251
- **Release Title:** New Rule: index-export-style
612
+ - Minor fixes
252
613
 
253
- **Version Range:** v1.0.15 → v1.0.16
614
+ ---
254
615
 
255
- ### Added
616
+ ## [1.0.40] - 2026-01-19
617
+
618
+ - Minor fixes
619
+
620
+ ---
621
+
622
+ ## [1.0.39] - 2026-01-19
623
+
624
+ - Minor fixes
625
+
626
+ ---
627
+
628
+ ## [1.0.38] - 2026-01-19
629
+
630
+ - Minor fixes
631
+
632
+ ---
633
+
634
+ ## [1.0.37] - 2026-01-13
635
+
636
+ - Minor fixes
637
+
638
+ ---
639
+
640
+ ## [1.0.36] - 2026-01-13
641
+
642
+ - Minor fixes
643
+
644
+ ---
645
+
646
+ ## [1.0.35] - 2026-01-13
647
+
648
+ - Minor fixes
649
+
650
+ ---
651
+
652
+ ## [1.0.34] - 2026-01-13
653
+
654
+ - Minor fixes
655
+
656
+ ---
657
+
658
+ ## [1.0.33] - 2026-01-13
659
+
660
+ - Minor fixes
661
+
662
+ ---
663
+
664
+ ## [1.0.32] - 2026-01-13
665
+
666
+ - Minor fixes
667
+
668
+ ---
669
+
670
+ ## [1.0.31] - 2026-01-13
671
+
672
+ - Minor fixes
673
+
674
+ ---
675
+
676
+ ## [1.0.30] - 2026-01-13
677
+
678
+ - Minor fixes
679
+
680
+ ---
681
+
682
+ ## [1.0.29] - 2026-01-12
683
+
684
+ - Minor fixes
685
+
686
+ ---
687
+
688
+ ## [1.0.28] - 2026-01-12
689
+
690
+ ### Changed
691
+
692
+ - **BREAKING:** Merge `multiline-argument-newline` and `multiple-arguments-per-line` into `function-arguments-format`
693
+ - Add customizable options: minArgs (default: 2), skipHooks (default: true), skipSingleArg (default: true)
694
+ - Remove @stylistic/function-call-argument-newline from recommended config
695
+
696
+ ---
697
+
698
+ ## [1.0.27] - 2026-01-12
699
+
700
+ ### Enhanced
701
+
702
+ - `index-export-style` - Handle export padding for all files
703
+ - Non-index files require blank lines between exports
704
+ - Index files have no blank lines between exports
705
+
706
+ ---
707
+
708
+ ## [1.0.26] - 2026-01-12
709
+
710
+ ### Documentation
711
+
712
+ - Clarify index-export-style and @stylistic relationship
713
+ - @stylistic handles general blank lines (return, variables, expressions)
714
+ - index-export-style handles blank line enforcement in index files
715
+
716
+ ---
717
+
718
+ ## [1.0.25] - 2026-01-12
719
+
720
+ ### Enhanced
721
+
722
+ - `object-property-per-line` - Made self-sufficient
723
+ - Rule now handles complete multiline object formatting
724
+ - Remove dependency on @stylistic/object-curly-newline
725
+
726
+ ---
727
+
728
+ ## [1.0.24] - 2026-01-12
729
+
730
+ ### Enhanced
731
+
732
+ - `export-format` and `import-format` - Made self-sufficient
733
+ - Both now handle collapse (≤ threshold) and expand (> threshold)
734
+ - Remove dependency on @stylistic/object-curly-newline for imports/exports
735
+
736
+ ---
256
737
 
257
- - **New Rule**
258
- - `index-export-style` - Enforce consistent export patterns in index files with shorthand or import-export styles
738
+ ## [1.0.23] - 2026-01-12
259
739
 
260
740
  ### Changed
261
741
 
262
- - Added index file overrides to prevent conflicts with other formatting rules
742
+ - Migrate to @stylistic/eslint-plugin for formatting rules
743
+ - Replace 24 deprecated ESLint formatting rules with @stylistic equivalents
744
+
745
+ ---
746
+
747
+ ## [1.0.22] - 2026-01-11
748
+
749
+ ### Enhanced
750
+
751
+ - `multiline-if-conditions` - Add maxOperands configuration option (default: 3)
752
+
753
+ ---
754
+
755
+ ## [1.0.21] - 2026-01-11
756
+
757
+ ### Enhanced
758
+
759
+ - `hook-deps-per-line` - Add maxDeps configuration option (default: 2)
760
+
761
+ ---
762
+
763
+ ## [1.0.20] - 2026-01-11
764
+
765
+ ### Enhanced
766
+
767
+ - `array-items-per-line` - Add maxItems configuration option (default: 3)
768
+
769
+ ---
770
+
771
+ ## [1.0.19] - 2026-01-11
772
+
773
+ - Version bump
774
+
775
+ ---
776
+
777
+ ## [1.0.18] - 2026-01-11
778
+
779
+ ### Enhanced
780
+
781
+ - `import-format` and `export-format` - Add maxSpecifiers option (default: 3)
782
+ - `object-property-per-line` - Add minProperties option (default: 2)
783
+ - Remove eslint-plugin-newline dependency (redundant with object-curly-newline)
784
+
785
+ ---
786
+
787
+ ## [1.0.17] - 2026-01-11
788
+
789
+ ### Documentation
790
+
791
+ - Update rule count from 47 to 48 in all README files
792
+ - Add coverage, public, and .vite to eslint config ignores
793
+
794
+ ---
795
+
796
+ ## [1.0.16] - 2026-01-09
797
+
798
+ **New Rule: index-export-style**
799
+
800
+ **Version Range:** v1.0.15 → v1.0.16
801
+
802
+ ### Added
803
+
804
+ **New Rule**
805
+ - `index-export-style` - Enforce consistent export style in index files 🔧
806
+ - Support two styles: 'shorthand' (default) and 'import-export'
807
+ - Shorthand: `export { a } from './file';`
808
+ - Import-export: `import { a } from './file'; export { a };`
809
+ - Auto-fixable with eslint --fix
810
+ - Detects and reports mixed export styles
263
811
 
264
812
  ### Stats
265
813
 
266
814
  - Total Rules: 48 (was 47)
267
- - All rules are auto-fixable with `eslint --fix`
268
815
 
269
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.15...v1.0.16
816
+ **Full Changelog:** [v1.0.15...v1.0.16](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.15...v1.0.16)
817
+
818
+ ---
819
+
820
+ ## [1.0.15] - 2026-01-09
821
+
822
+ ### Added
823
+
824
+ - Additional perfectionist rules to recommended React config:
825
+ - perfectionist/sort-array-includes
826
+ - perfectionist/sort-maps
827
+ - perfectionist/sort-sets
828
+ - perfectionist/sort-switch-case
829
+ - perfectionist/sort-variable-declarations
270
830
 
271
831
  ---
272
832
 
273
- ## [1.0.14] - 2025-01-06
833
+ ## [1.0.14] - 2026-01-06
274
834
 
275
- **Release Title:** Customizable Rules, Recommended Configs & Documentation Overhaul
835
+ **Customizable Rules, Recommended Configs & Documentation Overhaul**
276
836
 
277
837
  **Version Range:** v1.0.8 → v1.0.14
278
838
 
279
839
  ### Added
280
840
 
281
- - **Customizable Folder Options**
282
- - `absolute-imports-only` - Added `extraAllowedFolders` and `extraDeepImportFolders` options
283
- - `module-index-exports` - Added `extraModuleFolders`, `extraLazyLoadFolders`, and `extraIgnorePatterns` options
841
+ **Customizable Folder Options**
842
+ - `absolute-imports-only` - Add extraAllowedFolders, extraReduxSubfolders, extraDeepImportFolders options
843
+ - `module-index-exports` - Add extraModuleFolders, extraLazyLoadFolders, extraIgnorePatterns options
844
+ - Users can now extend default folder lists without replacing them
284
845
 
285
- - **Recommended ESLint Configurations**
286
- - Added `recommended-configs/react/` folder with battle-tested ESLint flat config
287
- - Includes comprehensive setup with 9 third-party plugins + all 47 code-style rules
288
- - Complete documentation with installation commands and plugin explanations
846
+ **Recommended ESLint Configurations**
847
+ - Add recommended-configs/react/ folder with model eslint.config.js
848
+ - Include comprehensive README with installation and plugin documentation
289
849
 
290
- - **Documentation**
291
- - Comprehensive README rewrite with examples for all 47 rules
292
- - Rules Summary table with descriptions for quick reference
293
- - "Why This Plugin?" section explaining the unique value proposition
294
- - Block comments added to all rules in source code with Good/Bad examples
295
- - Emojis added to all major section titles for better visual hierarchy
850
+ **Comprehensive Documentation**
851
+ - Add comprehensive examples for all 47 rules in README
852
+ - Enhance README with emojis, rules summary table, and introduction section
296
853
 
297
854
  ### Changed
298
855
 
299
- - **Internal Refactoring**
300
- - Standardized all internal helper function names with `Handler` suffix
301
- - Ensures codebase follows the same conventions enforced by the plugin
302
- - Made plugin version and name dynamic (reads from package.json)
856
+ - Standardized all internal helper function names with `Handler` suffix
303
857
 
304
- ### Fixed
858
+ ### Documentation
305
859
 
306
- - Fixed rule naming: `singleArgumentOneLine` `singleArgumentOnOneLine`
307
- - Removed orphaned/duplicate block comments
860
+ - Add comprehensive block comments to all ESLint rules with good/bad examples
308
861
 
309
862
  ### Stats
310
863
 
311
864
  - Total Rules: 47
312
- - All rules are auto-fixable with `eslint --fix`
313
865
 
314
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.8...v1.0.14
866
+ **Full Changelog:** [v1.0.8...v1.0.14](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.8...v1.0.14)
315
867
 
316
868
  ---
317
869
 
318
- ## [1.0.7] - 2025-01-06
870
+ ## [1.0.13] - 2026-01-06
319
871
 
320
- **Release Title:** TypeScript Type Definitions for IDE Support
872
+ ### Added
873
+
874
+ - Recommended ESLint configurations for React projects
875
+ - recommended-configs/react/ folder with model eslint.config.js
876
+
877
+ ---
878
+
879
+ ## [1.0.12] - 2026-01-06
880
+
881
+ ### Documentation
882
+
883
+ - Enhance README with emojis, rules summary table, and introduction section
884
+
885
+ ---
886
+
887
+ ## [1.0.11] - 2026-01-06
888
+
889
+ ### Documentation
890
+
891
+ - Add comprehensive examples for all 47 rules in README
892
+
893
+ ---
894
+
895
+ ## [1.0.10] - 2026-01-06
896
+
897
+ ### Documentation
898
+
899
+ - Update README file and TypeScript rules types
900
+
901
+ ---
902
+
903
+ ## [1.0.9] - 2026-01-06
904
+
905
+ ### Changed
906
+
907
+ - Standardize internal helper function names with Handler suffix
908
+ - All check*, is*, get*, has* functions renamed
909
+
910
+ ---
911
+
912
+ ## [1.0.8] - 2026-01-06
913
+
914
+ ### Documentation
915
+
916
+ - Add comprehensive block comments to all ESLint rules
917
+ - Each rule has title, description, and good/bad code examples
918
+
919
+ ---
920
+
921
+ ## [1.0.7] - 2026-01-06
922
+
923
+ **TypeScript Type Definitions for IDE Support**
321
924
 
322
925
  **Version Range:** v1.0.6 → v1.0.7
323
926
 
324
927
  ### Added
325
928
 
326
- - **TypeScript Support**
327
- - `index.d.ts` with comprehensive type definitions
328
- - IDE autocomplete and IntelliSense support
329
- - Module augmentation for ESLint's configuration types
929
+ **TypeScript Support**
930
+ - Add TypeScript type definitions for IDE support (index.d.ts)
931
+ - Export all 47 rule names as literal types for autocomplete
932
+ - Add PluginRules interface mapping rules to Rule.RuleModule
933
+ - Include module augmentation for ESLint's Linter.RulesRecord
330
934
 
331
935
  ### Stats
332
936
 
333
937
  - Total Rules: 47
334
- - All rules are auto-fixable with `eslint --fix`
335
938
 
336
- **Full Changelog:** https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.6...v1.0.7
939
+ **Full Changelog:** [v1.0.6...v1.0.7](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.6...v1.0.7)
337
940
 
338
941
  ---
339
942
 
340
- ## [1.0.6] - 2025-01-06
341
-
342
- **Release Title:** Initial Public Release
943
+ ## [1.0.6] - 2026-01-06
343
944
 
344
- **Version Range:** First Release
945
+ **Initial Public Release**
345
946
 
346
947
  ### Added
347
948
 
348
- - **Initial Release**
349
- - 45+ auto-fixable ESLint rules for React/JSX projects
350
- - Full support for ESLint v9+ flat config
351
- - Zero dependencies
949
+ - 45+ auto-fixable ESLint rules for React/JSX projects
950
+ - Full support for ESLint v9+ flat config
951
+ - Zero dependencies (except peer dependency on ESLint)
352
952
 
353
953
  ### Requirements
354
954
 
@@ -358,4 +958,115 @@ The `react-code-order` rule enforces a logical dependency chain:
358
958
  ### Stats
359
959
 
360
960
  - Total Rules: 45+
361
- - All rules are auto-fixable with `eslint --fix`
961
+
962
+ **Full Changelog:** [v1.0.6](https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/releases/tag/v1.0.6)
963
+
964
+ ---
965
+
966
+ ## [1.0.5] - 2026-01-06
967
+
968
+ - Pre-release version
969
+
970
+ ---
971
+
972
+ ## [1.0.4] - 2026-01-06
973
+
974
+ - Pre-release version
975
+
976
+ ---
977
+
978
+ ## [1.0.3] - 2026-01-06
979
+
980
+ - Pre-release version
981
+
982
+ ---
983
+
984
+ ## [1.0.2] - 2026-01-06
985
+
986
+ - Pre-release version
987
+
988
+ ---
989
+
990
+ [1.6.1]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.6.0...v1.6.1
991
+ [1.6.0]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.5.2...v1.6.0
992
+ [1.5.2]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.5.1...v1.5.2
993
+ [1.5.1]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.5.0...v1.5.1
994
+ [1.5.0]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.5...v1.5.0
995
+ [1.4.5]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.3...v1.4.5
996
+ [1.4.3]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.2...v1.4.3
997
+ [1.4.2]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.1...v1.4.2
998
+ [1.4.1]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.4.0...v1.4.1
999
+ [1.4.0]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.11...v1.4.0
1000
+ [1.3.11]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.10...v1.3.11
1001
+ [1.3.10]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.9...v1.3.10
1002
+ [1.3.9]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.8...v1.3.9
1003
+ [1.3.8]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.7...v1.3.8
1004
+ [1.3.7]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.6...v1.3.7
1005
+ [1.3.6]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.5...v1.3.6
1006
+ [1.3.5]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.4...v1.3.5
1007
+ [1.3.4]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.3...v1.3.4
1008
+ [1.3.3]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.2...v1.3.3
1009
+ [1.3.2]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.1...v1.3.2
1010
+ [1.3.1]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.3.0...v1.3.1
1011
+ [1.3.0]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.9...v1.3.0
1012
+ [1.2.9]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.8...v1.2.9
1013
+ [1.2.8]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.7...v1.2.8
1014
+ [1.2.7]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.6...v1.2.7
1015
+ [1.2.6]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.5...v1.2.6
1016
+ [1.2.5]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.4...v1.2.5
1017
+ [1.2.4]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.3...v1.2.4
1018
+ [1.2.3]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.2...v1.2.3
1019
+ [1.2.2]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.1...v1.2.2
1020
+ [1.2.1]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.2.0...v1.2.1
1021
+ [1.2.0]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.10...v1.2.0
1022
+ [1.1.10]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.9...v1.1.10
1023
+ [1.1.9]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.8...v1.1.9
1024
+ [1.1.8]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.7...v1.1.8
1025
+ [1.1.7]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.6...v1.1.7
1026
+ [1.1.6]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.5...v1.1.6
1027
+ [1.1.5]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.4...v1.1.5
1028
+ [1.1.4]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.3...v1.1.4
1029
+ [1.1.3]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.2...v1.1.3
1030
+ [1.1.2]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.1...v1.1.2
1031
+ [1.1.1]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.1.0...v1.1.1
1032
+ [1.1.0]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.41...v1.1.0
1033
+ [1.0.41]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.40...v1.0.41
1034
+ [1.0.40]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.39...v1.0.40
1035
+ [1.0.39]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.38...v1.0.39
1036
+ [1.0.38]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.37...v1.0.38
1037
+ [1.0.37]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.36...v1.0.37
1038
+ [1.0.36]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.35...v1.0.36
1039
+ [1.0.35]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.34...v1.0.35
1040
+ [1.0.34]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.33...v1.0.34
1041
+ [1.0.33]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.32...v1.0.33
1042
+ [1.0.32]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.31...v1.0.32
1043
+ [1.0.31]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.30...v1.0.31
1044
+ [1.0.30]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.29...v1.0.30
1045
+ [1.0.29]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.28...v1.0.29
1046
+ [1.0.28]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.27...v1.0.28
1047
+ [1.0.27]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.26...v1.0.27
1048
+ [1.0.26]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.25...v1.0.26
1049
+ [1.0.25]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.24...v1.0.25
1050
+ [1.0.24]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.23...v1.0.24
1051
+ [1.0.23]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.22...v1.0.23
1052
+ [1.0.22]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.21...v1.0.22
1053
+ [1.0.21]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.20...v1.0.21
1054
+ [1.0.20]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.19...v1.0.20
1055
+ [1.0.19]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.18...v1.0.19
1056
+ [1.0.18]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.17...v1.0.18
1057
+ [1.0.17]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.16...v1.0.17
1058
+ [1.0.16]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.15...v1.0.16
1059
+ [1.0.15]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.14...v1.0.15
1060
+ [1.0.14]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.13...v1.0.14
1061
+ [1.0.13]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.12...v1.0.13
1062
+ [1.0.12]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.11...v1.0.12
1063
+ [1.0.11]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.10...v1.0.11
1064
+ [1.0.10]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.9...v1.0.10
1065
+ [1.0.9]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.8...v1.0.9
1066
+ [1.0.8]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.7...v1.0.8
1067
+ [1.0.7]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.6...v1.0.7
1068
+ [1.0.6]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.5...v1.0.6
1069
+ [1.0.5]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.4...v1.0.5
1070
+ [1.0.4]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.3...v1.0.4
1071
+ [1.0.3]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/compare/v1.0.2...v1.0.3
1072
+ [1.0.2]: https://github.com/Mohamed-Elhawary/eslint-plugin-code-style/releases/tag/v1.0.2