eslint-plugin-perfectionist 5.0.0 → 5.2.0

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.
Files changed (167) hide show
  1. package/dist/alphabet.d.ts +1 -1
  2. package/dist/index.d.ts +15 -244
  3. package/dist/package.json.js +1 -1
  4. package/dist/rules/sort-array-includes/types.d.ts +3 -3
  5. package/dist/rules/sort-array-includes.d.ts +5 -3
  6. package/dist/rules/sort-array-includes.js +1 -1
  7. package/dist/rules/sort-classes/types.d.ts +3 -3
  8. package/dist/rules/sort-classes.d.ts +5 -3
  9. package/dist/rules/sort-classes.js +1 -1
  10. package/dist/rules/sort-decorators/types.d.ts +4 -4
  11. package/dist/rules/sort-decorators.d.ts +5 -3
  12. package/dist/rules/sort-decorators.js +1 -1
  13. package/dist/rules/sort-enums/build-comparator-by-options-computer.d.ts +2 -2
  14. package/dist/rules/sort-enums/types.d.ts +4 -4
  15. package/dist/rules/sort-enums.d.ts +5 -3
  16. package/dist/rules/sort-enums.js +1 -1
  17. package/dist/rules/sort-export-attributes/types.d.ts +4 -4
  18. package/dist/rules/sort-export-attributes.d.ts +5 -3
  19. package/dist/rules/sort-export-attributes.js +1 -1
  20. package/dist/rules/sort-exports/types.d.ts +3 -3
  21. package/dist/rules/sort-exports.d.ts +5 -3
  22. package/dist/rules/sort-exports.js +14 -12
  23. package/dist/rules/sort-heritage-clauses/types.d.ts +3 -3
  24. package/dist/rules/sort-heritage-clauses.d.ts +5 -3
  25. package/dist/rules/sort-heritage-clauses.js +1 -1
  26. package/dist/rules/sort-import-attributes/types.d.ts +4 -4
  27. package/dist/rules/sort-import-attributes.d.ts +5 -3
  28. package/dist/rules/sort-import-attributes.js +1 -1
  29. package/dist/rules/sort-imports/comparator-by-options-computer.d.ts +2 -2
  30. package/dist/rules/sort-imports/comparator-by-options-computer.js +48 -4
  31. package/dist/rules/sort-imports/compute-common-selectors.d.ts +3 -3
  32. package/dist/rules/sort-imports/compute-specifier-name.d.ts +12 -0
  33. package/dist/rules/sort-imports/compute-specifier-name.js +64 -0
  34. package/dist/rules/sort-imports/is-side-effect-only-group.d.ts +1 -1
  35. package/dist/rules/sort-imports/matches-tsconfig-paths.d.ts +1 -1
  36. package/dist/rules/sort-imports/types.d.ts +16 -6
  37. package/dist/rules/sort-imports/types.js +5 -0
  38. package/dist/rules/sort-imports/validate-side-effects-configuration.d.ts +1 -1
  39. package/dist/rules/sort-imports.d.ts +5 -3
  40. package/dist/rules/sort-imports.js +7 -1
  41. package/dist/rules/sort-interfaces.d.ts +5 -3
  42. package/dist/rules/sort-interfaces.js +0 -1
  43. package/dist/rules/sort-intersection-types.d.ts +5 -3
  44. package/dist/rules/sort-intersection-types.js +1 -1
  45. package/dist/rules/sort-jsx-props/types.d.ts +3 -3
  46. package/dist/rules/sort-jsx-props.d.ts +5 -3
  47. package/dist/rules/sort-jsx-props.js +1 -1
  48. package/dist/rules/sort-maps/types.d.ts +3 -3
  49. package/dist/rules/sort-maps.d.ts +5 -3
  50. package/dist/rules/sort-maps.js +1 -1
  51. package/dist/rules/sort-modules/build-comparator-by-options-computer.d.ts +12 -0
  52. package/dist/rules/sort-modules/build-comparator-by-options-computer.js +66 -0
  53. package/dist/rules/sort-modules/compute-dependencies.d.ts +27 -0
  54. package/dist/rules/sort-modules/compute-dependencies.js +195 -0
  55. package/dist/rules/sort-modules/is-arrow-function-node.d.ts +12 -0
  56. package/dist/rules/sort-modules/is-arrow-function-node.js +10 -0
  57. package/dist/rules/sort-modules/is-property-or-accessor-node.d.ts +11 -0
  58. package/dist/rules/sort-modules/is-property-or-accessor-node.js +8 -0
  59. package/dist/rules/sort-modules/types.d.ts +16 -5
  60. package/dist/rules/sort-modules/types.js +7 -1
  61. package/dist/rules/sort-modules.d.ts +5 -3
  62. package/dist/rules/sort-modules.js +34 -142
  63. package/dist/rules/sort-named-exports/compute-node-name.d.ts +12 -0
  64. package/dist/rules/sort-named-exports/compute-node-name.js +15 -0
  65. package/dist/rules/sort-named-exports/types.d.ts +4 -4
  66. package/dist/rules/sort-named-exports.d.ts +5 -3
  67. package/dist/rules/sort-named-exports.js +18 -21
  68. package/dist/rules/sort-named-imports/compute-node-name.d.ts +12 -0
  69. package/dist/rules/sort-named-imports/compute-node-name.js +17 -0
  70. package/dist/rules/sort-named-imports/types.d.ts +4 -4
  71. package/dist/rules/sort-named-imports.d.ts +5 -3
  72. package/dist/rules/sort-named-imports.js +20 -19
  73. package/dist/rules/sort-object-types/comparator-by-options-computer.d.ts +2 -2
  74. package/dist/rules/sort-object-types/compute-matched-context-options.d.ts +1 -1
  75. package/dist/rules/sort-object-types/compute-node-parent-name.d.ts +1 -1
  76. package/dist/rules/sort-object-types/passes-declaration-comment-matches-filter.d.ts +2 -2
  77. package/dist/rules/sort-object-types/passes-declaration-matches-pattern-filter.d.ts +2 -2
  78. package/dist/rules/sort-object-types/types.d.ts +14 -35
  79. package/dist/rules/sort-object-types/types.js +0 -1
  80. package/dist/rules/sort-object-types.d.ts +5 -3
  81. package/dist/rules/sort-object-types.js +24 -26
  82. package/dist/rules/sort-objects/compute-matched-context-options.d.ts +1 -1
  83. package/dist/rules/sort-objects/passes-calling-function-name-pattern-filter.d.ts +2 -2
  84. package/dist/rules/sort-objects/passes-declaration-comment-matches-filter.d.ts +2 -2
  85. package/dist/rules/sort-objects/passes-declaration-matches-pattern-filter.d.ts +2 -2
  86. package/dist/rules/sort-objects/types.d.ts +5 -5
  87. package/dist/rules/sort-objects.d.ts +5 -3
  88. package/dist/rules/sort-objects.js +1 -1
  89. package/dist/rules/sort-sets.d.ts +5 -3
  90. package/dist/rules/sort-sets.js +0 -1
  91. package/dist/rules/sort-switch-case.d.ts +5 -3
  92. package/dist/rules/sort-switch-case.js +0 -1
  93. package/dist/rules/sort-union-types/types.d.ts +3 -3
  94. package/dist/rules/sort-union-types.d.ts +5 -3
  95. package/dist/rules/sort-union-types.js +1 -1
  96. package/dist/rules/sort-variable-declarations/types.d.ts +3 -3
  97. package/dist/rules/sort-variable-declarations.d.ts +5 -3
  98. package/dist/rules/sort-variable-declarations.js +1 -1
  99. package/dist/types/common-groups-options.d.ts +47 -18
  100. package/dist/types/common-options.d.ts +11 -5
  101. package/dist/types/common-partition-options.d.ts +1 -1
  102. package/dist/types/scoped-regex-option.d.ts +1 -1
  103. package/dist/utils/build-default-options-by-group-index-computer.d.ts +3 -3
  104. package/dist/utils/compare/build-line-length-comparator.d.ts +3 -3
  105. package/dist/utils/compare/build-string-formatter.d.ts +1 -1
  106. package/dist/utils/compare/compare-alphabetically.d.ts +1 -1
  107. package/dist/utils/compare/compare-by-custom-sort.d.ts +1 -1
  108. package/dist/utils/compare/compare-naturally.d.ts +1 -1
  109. package/dist/utils/compare/compute-comparators.d.ts +3 -3
  110. package/dist/utils/compare/compute-ordered-value.d.ts +1 -1
  111. package/dist/utils/compare/default-comparator-by-options-computer.d.ts +2 -2
  112. package/dist/utils/compare/unsorted-comparator.d.ts +2 -2
  113. package/dist/utils/complete.d.ts +1 -1
  114. package/dist/utils/complete.js +1 -52
  115. package/dist/utils/compute-group-name.d.ts +1 -1
  116. package/dist/utils/compute-group.d.ts +7 -7
  117. package/dist/utils/compute-group.js +22 -19
  118. package/dist/utils/compute-groups-names.d.ts +1 -1
  119. package/dist/utils/compute-nodes-in-circular-dependencies.d.ts +5 -2
  120. package/dist/utils/compute-overridden-options-by-group-index.d.ts +2 -2
  121. package/dist/utils/compute-overridden-options-by-group-index.js +38 -19
  122. package/dist/utils/compute-parent-nodes-with-types.d.ts +1 -1
  123. package/dist/utils/create-eslint-rule.d.ts +3 -1
  124. package/dist/utils/create-node-index-map.d.ts +1 -1
  125. package/dist/utils/does-custom-group-match.d.ts +2 -2
  126. package/dist/utils/filter-options-by-all-names-match.d.ts +1 -1
  127. package/dist/utils/get-comment-above-that-should-exist.d.ts +2 -2
  128. package/dist/utils/get-group-index.d.ts +2 -2
  129. package/dist/utils/get-lines-between.d.ts +1 -1
  130. package/dist/utils/get-newlines-between-errors.d.ts +2 -2
  131. package/dist/utils/get-newlines-between-option.d.ts +8 -2
  132. package/dist/utils/get-newlines-between-option.js +17 -31
  133. package/dist/utils/get-node-range.d.ts +1 -1
  134. package/dist/utils/get-options-with-clean-groups.d.ts +1 -1
  135. package/dist/utils/get-settings.d.ts +11 -13
  136. package/dist/utils/get-settings.js +2 -0
  137. package/dist/utils/is-group-with-overrides-option.d.ts +10 -3
  138. package/dist/utils/is-newlines-between-option.d.ts +1 -1
  139. package/dist/utils/is-node-dependent-on-other-node.d.ts +9 -3
  140. package/dist/utils/is-partition-comment.d.ts +1 -1
  141. package/dist/utils/json-schemas/common-groups-json-schemas.d.ts +14 -11
  142. package/dist/utils/json-schemas/common-groups-json-schemas.js +81 -54
  143. package/dist/utils/json-schemas/common-json-schemas.d.ts +4 -4
  144. package/dist/utils/json-schemas/common-json-schemas.js +3 -2
  145. package/dist/utils/make-comment-above-fixes.d.ts +2 -2
  146. package/dist/utils/make-comment-after-fixes.d.ts +1 -1
  147. package/dist/utils/make-fixes.d.ts +7 -9
  148. package/dist/utils/make-newlines-between-fixes.d.ts +3 -3
  149. package/dist/utils/make-order-fixes.d.ts +2 -2
  150. package/dist/utils/matches.d.ts +1 -1
  151. package/dist/utils/report-all-errors.d.ts +21 -23
  152. package/dist/utils/report-errors.d.ts +4 -4
  153. package/dist/utils/scoped-regex/matches-scoped-expressions.d.ts +2 -2
  154. package/dist/utils/scoped-regex/partition-patterns-by-scope.d.ts +1 -1
  155. package/dist/utils/should-partition.d.ts +4 -4
  156. package/dist/utils/sort-nodes-by-dependencies.d.ts +5 -2
  157. package/dist/utils/sort-nodes-by-groups.d.ts +4 -4
  158. package/dist/utils/sort-nodes.d.ts +3 -3
  159. package/dist/utils/validate-custom-sort-configuration.d.ts +2 -2
  160. package/dist/utils/validate-groups-configuration.d.ts +1 -1
  161. package/dist/utils/validate-newlines-and-partition-configuration.d.ts +5 -3
  162. package/dist/utils/validate-newlines-and-partition-configuration.js +61 -9
  163. package/dist/utils/validate-no-duplicated-groups.d.ts +1 -1
  164. package/dist/utils/validate-objects-inside-groups.d.ts +1 -1
  165. package/package.json +2 -2
  166. package/dist/rules/sort-object-types/build-options-by-group-index-computer.d.ts +0 -18
  167. package/dist/rules/sort-object-types/build-options-by-group-index-computer.js +0 -33
@@ -1,2 +1,2 @@
1
- export * from './utils/alphabet'
1
+ export * from './utils/alphabet.js'
2
2
  export {}
package/dist/index.d.ts CHANGED
@@ -1,246 +1,17 @@
1
- import { Linter, Rule } from 'eslint'
2
- interface PluginConfig {
3
- rules: {
4
- 'sort-variable-declarations': Rule.RuleModule
5
- 'sort-intersection-types': Rule.RuleModule
6
- 'sort-import-attributes': Rule.RuleModule
7
- 'sort-export-attributes': Rule.RuleModule
8
- 'sort-heritage-clauses': Rule.RuleModule
9
- 'sort-array-includes': Rule.RuleModule
10
- 'sort-named-imports': Rule.RuleModule
11
- 'sort-named-exports': Rule.RuleModule
12
- 'sort-object-types': Rule.RuleModule
13
- 'sort-union-types': Rule.RuleModule
14
- 'sort-switch-case': Rule.RuleModule
15
- 'sort-interfaces': Rule.RuleModule
16
- 'sort-decorators': Rule.RuleModule
17
- 'sort-jsx-props': Rule.RuleModule
18
- 'sort-modules': Rule.RuleModule
19
- 'sort-classes': Rule.RuleModule
20
- 'sort-imports': Rule.RuleModule
21
- 'sort-exports': Rule.RuleModule
22
- 'sort-objects': Rule.RuleModule
23
- 'sort-enums': Rule.RuleModule
24
- 'sort-sets': Rule.RuleModule
25
- 'sort-maps': Rule.RuleModule
26
- }
27
- configs: {
28
- 'recommended-alphabetical-legacy': Linter.LegacyConfig
29
- 'recommended-line-length-legacy': Linter.LegacyConfig
30
- 'recommended-natural-legacy': Linter.LegacyConfig
31
- 'recommended-custom-legacy': Linter.LegacyConfig
32
- 'recommended-alphabetical': Linter.Config
33
- 'recommended-line-length': Linter.Config
34
- 'recommended-natural': Linter.Config
35
- 'recommended-custom': Linter.Config
36
- }
37
- meta: {
38
- version: string
39
- name: string
40
- }
1
+ import { ESLint, Linter } from 'eslint'
2
+ interface PluginConfigs {
3
+ 'recommended-alphabetical-legacy': Linter.LegacyConfig
4
+ 'recommended-line-length-legacy': Linter.LegacyConfig
5
+ 'recommended-natural-legacy': Linter.LegacyConfig
6
+ 'recommended-custom-legacy': Linter.LegacyConfig
7
+ 'recommended-alphabetical': Linter.Config
8
+ 'recommended-line-length': Linter.Config
9
+ 'recommended-natural': Linter.Config
10
+ 'recommended-custom': Linter.Config
41
11
  }
42
- export declare let rules: {
43
- 'sort-variable-declarations': import('@typescript-eslint/utils/ts-eslint').RuleModule<
44
- | 'unexpectedVariableDeclarationsOrder'
45
- | 'unexpectedVariableDeclarationsGroupOrder'
46
- | 'extraSpacingBetweenVariableDeclarationsMembers'
47
- | 'missedSpacingBetweenVariableDeclarationsMembers'
48
- | 'unexpectedVariableDeclarationsDependencyOrder',
49
- import('./rules/sort-variable-declarations/types').Options,
50
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
51
- import('@typescript-eslint/utils/ts-eslint').RuleListener
52
- >
53
- 'sort-intersection-types': import('@typescript-eslint/utils/ts-eslint').RuleModule<
54
- | 'unexpectedIntersectionTypesOrder'
55
- | 'unexpectedIntersectionTypesGroupOrder'
56
- | 'extraSpacingBetweenIntersectionTypes'
57
- | 'missedSpacingBetweenIntersectionTypes',
58
- import('./rules/sort-union-types/types').Options,
59
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
60
- import('@typescript-eslint/utils/ts-eslint').RuleListener
61
- >
62
- 'sort-import-attributes': import('@typescript-eslint/utils/ts-eslint').RuleModule<
63
- | 'unexpectedImportAttributesOrder'
64
- | 'unexpectedImportAttributesGroupOrder'
65
- | 'extraSpacingBetweenImportAttributes'
66
- | 'missedSpacingBetweenImportAttributes',
67
- import('./rules/sort-import-attributes/types').Options,
68
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
69
- import('@typescript-eslint/utils/ts-eslint').RuleListener
70
- >
71
- 'sort-export-attributes': import('@typescript-eslint/utils/ts-eslint').RuleModule<
72
- | 'unexpectedExportAttributesOrder'
73
- | 'unexpectedExportAttributesGroupOrder'
74
- | 'extraSpacingBetweenExportAttributes'
75
- | 'missedSpacingBetweenExportAttributes',
76
- import('./rules/sort-export-attributes/types').Options,
77
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
78
- import('@typescript-eslint/utils/ts-eslint').RuleListener
79
- >
80
- 'sort-heritage-clauses': import('@typescript-eslint/utils/ts-eslint').RuleModule<
81
- | 'unexpectedHeritageClausesOrder'
82
- | 'unexpectedHeritageClausesGroupOrder'
83
- | 'extraSpacingBetweenHeritageClauses'
84
- | 'missedSpacingBetweenHeritageClauses',
85
- import('./rules/sort-heritage-clauses/types').Options,
86
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
87
- import('@typescript-eslint/utils/ts-eslint').RuleListener
88
- >
89
- 'sort-array-includes': import('@typescript-eslint/utils/ts-eslint').RuleModule<
90
- | 'unexpectedArrayIncludesOrder'
91
- | 'unexpectedArrayIncludesGroupOrder'
92
- | 'extraSpacingBetweenArrayIncludesMembers'
93
- | 'missedSpacingBetweenArrayIncludesMembers',
94
- import('./rules/sort-array-includes/types').Options,
95
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
96
- import('@typescript-eslint/utils/ts-eslint').RuleListener
97
- >
98
- 'sort-named-imports': import('@typescript-eslint/utils/ts-eslint').RuleModule<
99
- | 'unexpectedNamedImportsOrder'
100
- | 'unexpectedNamedImportsGroupOrder'
101
- | 'extraSpacingBetweenNamedImports'
102
- | 'missedSpacingBetweenNamedImports',
103
- import('./rules/sort-named-imports/types').Options,
104
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
105
- import('@typescript-eslint/utils/ts-eslint').RuleListener
106
- >
107
- 'sort-named-exports': import('@typescript-eslint/utils/ts-eslint').RuleModule<
108
- | 'unexpectedNamedExportsOrder'
109
- | 'unexpectedNamedExportsGroupOrder'
110
- | 'extraSpacingBetweenNamedExports'
111
- | 'missedSpacingBetweenNamedExports',
112
- import('./rules/sort-named-exports/types').Options,
113
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
114
- import('@typescript-eslint/utils/ts-eslint').RuleListener
115
- >
116
- 'sort-object-types': import('@typescript-eslint/utils/ts-eslint').RuleModule<
117
- | 'unexpectedObjectTypesOrder'
118
- | 'unexpectedObjectTypesGroupOrder'
119
- | 'extraSpacingBetweenObjectTypeMembers'
120
- | 'missedSpacingBetweenObjectTypeMembers',
121
- import('./rules/sort-object-types/types').Options,
122
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
123
- import('@typescript-eslint/utils/ts-eslint').RuleListener
124
- >
125
- 'sort-union-types': import('@typescript-eslint/utils/ts-eslint').RuleModule<
126
- | 'unexpectedUnionTypesOrder'
127
- | 'unexpectedUnionTypesGroupOrder'
128
- | 'extraSpacingBetweenUnionTypes'
129
- | 'missedSpacingBetweenUnionTypes',
130
- import('./rules/sort-union-types/types').Options,
131
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
132
- import('@typescript-eslint/utils/ts-eslint').RuleListener
133
- >
134
- 'sort-switch-case': import('@typescript-eslint/utils/ts-eslint').RuleModule<
135
- 'unexpectedSwitchCaseOrder',
136
- [
137
- Partial<
138
- import('./types/common-options').CommonOptions<
139
- import('./types/common-options').TypeOption
140
- >
141
- >,
142
- ],
143
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
144
- import('@typescript-eslint/utils/ts-eslint').RuleListener
145
- >
146
- 'sort-decorators': import('@typescript-eslint/utils/ts-eslint').RuleModule<
147
- | 'unexpectedDecoratorsOrder'
148
- | 'unexpectedDecoratorsGroupOrder'
149
- | 'extraSpacingBetweenDecorators'
150
- | 'missedSpacingBetweenDecorators',
151
- import('./rules/sort-decorators/types').Options,
152
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
153
- import('@typescript-eslint/utils/ts-eslint').RuleListener
154
- >
155
- 'sort-interfaces': import('@typescript-eslint/utils/ts-eslint').RuleModule<
156
- | 'unexpectedInterfacePropertiesOrder'
157
- | 'unexpectedInterfacePropertiesGroupOrder'
158
- | 'extraSpacingBetweenInterfaceMembers'
159
- | 'missedSpacingBetweenInterfaceMembers',
160
- import('./rules/sort-object-types/types').Options,
161
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
162
- import('@typescript-eslint/utils/ts-eslint').RuleListener
163
- >
164
- 'sort-jsx-props': import('@typescript-eslint/utils/ts-eslint').RuleModule<
165
- | 'unexpectedJSXPropsOrder'
166
- | 'unexpectedJSXPropsGroupOrder'
167
- | 'extraSpacingBetweenJSXPropsMembers'
168
- | 'missedSpacingBetweenJSXPropsMembers',
169
- import('./rules/sort-jsx-props/types').Options,
170
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
171
- import('@typescript-eslint/utils/ts-eslint').RuleListener
172
- >
173
- 'sort-modules': import('@typescript-eslint/utils/ts-eslint').RuleModule<
174
- | 'unexpectedModulesOrder'
175
- | 'unexpectedModulesGroupOrder'
176
- | 'extraSpacingBetweenModulesMembers'
177
- | 'missedSpacingBetweenModulesMembers'
178
- | 'unexpectedModulesDependencyOrder',
179
- import('./rules/sort-modules/types').SortModulesOptions,
180
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
181
- import('@typescript-eslint/utils/ts-eslint').RuleListener
182
- >
183
- 'sort-classes': import('@typescript-eslint/utils/ts-eslint').RuleModule<
184
- | 'unexpectedClassesOrder'
185
- | 'unexpectedClassesGroupOrder'
186
- | 'extraSpacingBetweenClassMembers'
187
- | 'missedSpacingBetweenClassMembers'
188
- | 'unexpectedClassesDependencyOrder',
189
- import('./rules/sort-classes/types').SortClassesOptions,
190
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
191
- import('@typescript-eslint/utils/ts-eslint').RuleListener
192
- >
193
- 'sort-imports': import('@typescript-eslint/utils/ts-eslint').RuleModule<
194
- import('./rules/sort-imports').MessageId,
195
- import('./rules/sort-imports/types').Options,
196
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
197
- import('@typescript-eslint/utils/ts-eslint').RuleListener
198
- >
199
- 'sort-exports': import('@typescript-eslint/utils/ts-eslint').RuleModule<
200
- | 'unexpectedExportsOrder'
201
- | 'unexpectedExportsGroupOrder'
202
- | 'extraSpacingBetweenExports'
203
- | 'missedSpacingBetweenExports'
204
- | 'missedCommentAboveExport',
205
- import('./rules/sort-exports/types').Options,
206
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
207
- import('@typescript-eslint/utils/ts-eslint').RuleListener
208
- >
209
- 'sort-objects': import('@typescript-eslint/utils/ts-eslint').RuleModule<
210
- import('./rules/sort-objects/types').MessageId,
211
- import('./rules/sort-objects/types').Options,
212
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
213
- import('@typescript-eslint/utils/ts-eslint').RuleListener
214
- >
215
- 'sort-enums': import('@typescript-eslint/utils/ts-eslint').RuleModule<
216
- | 'unexpectedEnumsOrder'
217
- | 'unexpectedEnumsGroupOrder'
218
- | 'extraSpacingBetweenEnumsMembers'
219
- | 'missedSpacingBetweenEnumsMembers'
220
- | 'unexpectedEnumsDependencyOrder',
221
- import('./rules/sort-enums/types').Options,
222
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
223
- import('@typescript-eslint/utils/ts-eslint').RuleListener
224
- >
225
- 'sort-sets': import('@typescript-eslint/utils/ts-eslint').RuleModule<
226
- | 'unexpectedSetsOrder'
227
- | 'unexpectedSetsGroupOrder'
228
- | 'extraSpacingBetweenSetsMembers'
229
- | 'missedSpacingBetweenSetsMembers',
230
- import('./rules/sort-array-includes/types').Options,
231
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
232
- import('@typescript-eslint/utils/ts-eslint').RuleListener
233
- >
234
- 'sort-maps': import('@typescript-eslint/utils/ts-eslint').RuleModule<
235
- | 'unexpectedMapElementsOrder'
236
- | 'unexpectedMapElementsGroupOrder'
237
- | 'extraSpacingBetweenMapElementsMembers'
238
- | 'missedSpacingBetweenMapElementsMembers',
239
- import('./rules/sort-maps/types').Options,
240
- import('./utils/create-eslint-rule').ESLintPluginDocumentation,
241
- import('@typescript-eslint/utils/ts-eslint').RuleListener
242
- >
243
- }
244
- export declare let configs: PluginConfig['configs']
245
- declare const _default: PluginConfig
12
+ export declare let rules: ESLint.Plugin['rules']
13
+ export declare let configs: PluginConfigs
14
+ declare const _default: {
15
+ configs: PluginConfigs
16
+ } & ESLint.Plugin
246
17
  export default _default
@@ -1,3 +1,3 @@
1
1
  const name = 'eslint-plugin-perfectionist'
2
- const version = '5.0.0'
2
+ const version = '5.2.0'
3
3
  export { name, version }
@@ -3,9 +3,9 @@ import {
3
3
  CommonOptions,
4
4
  RegexOption,
5
5
  TypeOption,
6
- } from '../../types/common-options'
7
- import { CommonPartitionOptions } from '../../types/common-partition-options'
8
- import { CommonGroupsOptions } from '../../types/common-groups-options'
6
+ } from '../../types/common-options.js'
7
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
8
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
9
9
  /**
10
10
  * Configuration options for the sort-array-includes rule.
11
11
  *
@@ -2,7 +2,7 @@ import { JSONSchema4 } from '@typescript-eslint/utils/json-schema'
2
2
  import { RuleContext } from '@typescript-eslint/utils/ts-eslint'
3
3
  import { TSESTree } from '@typescript-eslint/types'
4
4
  import { TSESLint } from '@typescript-eslint/utils'
5
- import { Options } from './sort-array-includes/types'
5
+ import { Options } from './sort-array-includes/types.js'
6
6
  declare const ORDER_ERROR_ID = 'unexpectedArrayIncludesOrder'
7
7
  declare const GROUP_ORDER_ERROR_ID = 'unexpectedArrayIncludesGroupOrder'
8
8
  declare const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenArrayIncludesMembers'
@@ -18,9 +18,11 @@ export declare let jsonSchema: JSONSchema4
18
18
  declare const _default: TSESLint.RuleModule<
19
19
  MessageId,
20
20
  Options,
21
- import('../utils/create-eslint-rule').ESLintPluginDocumentation,
21
+ import('../utils/create-eslint-rule.js').ESLintPluginDocumentation,
22
22
  TSESLint.RuleListener
23
- >
23
+ > & {
24
+ name: string
25
+ }
24
26
  export default _default
25
27
  export declare function sortArray<MessageIds extends string>({
26
28
  availableMessageIds,
@@ -43,6 +43,7 @@ const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenArrayIncludesMembers'
43
43
  const MISSED_SPACING_ERROR_ID = 'missedSpacingBetweenArrayIncludesMembers'
44
44
  let defaultOptions = {
45
45
  fallbackSort: { type: 'unsorted' },
46
+ newlinesInside: 'newlinesBetween',
46
47
  specialCharacters: 'keep',
47
48
  partitionByComment: false,
48
49
  partitionByNewLine: false,
@@ -111,7 +112,6 @@ const sortArrayIncludes = createEslintRule({
111
112
  url: 'https://perfectionist.dev/rules/sort-array-includes',
112
113
  recommended: true,
113
114
  },
114
- defaultOptions: [defaultOptions],
115
115
  schema: jsonSchema,
116
116
  type: 'suggestion',
117
117
  fixable: 'code',
@@ -3,9 +3,9 @@ import {
3
3
  CommonOptions,
4
4
  RegexOption,
5
5
  TypeOption,
6
- } from '../../types/common-options'
7
- import { CommonPartitionOptions } from '../../types/common-partition-options'
8
- import { CommonGroupsOptions } from '../../types/common-groups-options'
6
+ } from '../../types/common-options.js'
7
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
8
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
9
9
  /**
10
10
  * Configuration options for the sort-classes rule.
11
11
  *
@@ -1,4 +1,4 @@
1
- import { SortClassesOptions } from './sort-classes/types'
1
+ import { SortClassesOptions } from './sort-classes/types.js'
2
2
  declare const ORDER_ERROR_ID = 'unexpectedClassesOrder'
3
3
  declare const GROUP_ORDER_ERROR_ID = 'unexpectedClassesGroupOrder'
4
4
  declare const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenClassMembers'
@@ -13,7 +13,9 @@ type MessageId =
13
13
  declare const _default: import('@typescript-eslint/utils/ts-eslint').RuleModule<
14
14
  MessageId,
15
15
  SortClassesOptions,
16
- import('../utils/create-eslint-rule').ESLintPluginDocumentation,
16
+ import('../utils/create-eslint-rule.js').ESLintPluginDocumentation,
17
17
  import('@typescript-eslint/utils/ts-eslint').RuleListener
18
- >
18
+ > & {
19
+ name: string
20
+ }
19
21
  export default _default
@@ -76,6 +76,7 @@ let defaultOptions = {
76
76
  ],
77
77
  ignoreCallbackDependenciesPatterns: [],
78
78
  fallbackSort: { type: 'unsorted' },
79
+ newlinesInside: 'newlinesBetween',
79
80
  partitionByComment: false,
80
81
  partitionByNewLine: false,
81
82
  newlinesBetween: 'ignore',
@@ -544,7 +545,6 @@ const sortClasses = createEslintRule({
544
545
  description: 'Enforce sorted classes.',
545
546
  recommended: true,
546
547
  },
547
- defaultOptions: [defaultOptions],
548
548
  type: 'suggestion',
549
549
  fixable: 'code',
550
550
  },
@@ -1,8 +1,8 @@
1
1
  import { TSESTree } from '@typescript-eslint/types'
2
- import { CommonPartitionOptions } from '../../types/common-partition-options'
3
- import { CommonGroupsOptions } from '../../types/common-groups-options'
4
- import { CommonOptions, TypeOption } from '../../types/common-options'
5
- import { SortingNode } from '../../types/sorting-node'
2
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
3
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
4
+ import { CommonOptions, TypeOption } from '../../types/common-options.js'
5
+ import { SortingNode } from '../../types/sorting-node.js'
6
6
  export type Options = Partial<
7
7
  {
8
8
  sortOnParameters: boolean
@@ -1,4 +1,4 @@
1
- import { Options } from './sort-decorators/types'
1
+ import { Options } from './sort-decorators/types.js'
2
2
  declare const ORDER_ERROR_ID = 'unexpectedDecoratorsOrder'
3
3
  declare const GROUP_ORDER_ERROR_ID = 'unexpectedDecoratorsGroupOrder'
4
4
  declare const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenDecorators'
@@ -11,7 +11,9 @@ type MessageId =
11
11
  declare const _default: import('@typescript-eslint/utils/ts-eslint').RuleModule<
12
12
  MessageId,
13
13
  Options,
14
- import('../utils/create-eslint-rule').ESLintPluginDocumentation,
14
+ import('../utils/create-eslint-rule.js').ESLintPluginDocumentation,
15
15
  import('@typescript-eslint/utils/ts-eslint').RuleListener
16
- >
16
+ > & {
17
+ name: string
18
+ }
17
19
  export default _default
@@ -35,6 +35,7 @@ const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenDecorators'
35
35
  const MISSED_SPACING_ERROR_ID = 'missedSpacingBetweenDecorators'
36
36
  let defaultOptions = {
37
37
  fallbackSort: { type: 'unsorted' },
38
+ newlinesInside: 'newlinesBetween',
38
39
  specialCharacters: 'keep',
39
40
  partitionByComment: false,
40
41
  partitionByNewLine: false,
@@ -104,7 +105,6 @@ const sortDecorators = createEslintRule({
104
105
  description: 'Enforce sorted decorators.',
105
106
  recommended: true,
106
107
  },
107
- defaultOptions: [defaultOptions],
108
108
  type: 'suggestion',
109
109
  fixable: 'code',
110
110
  },
@@ -1,5 +1,5 @@
1
- import { ComparatorByOptionsComputer } from '../../utils/compare/default-comparator-by-options-computer'
2
- import { SortEnumsSortingNode, Options } from './types'
1
+ import { ComparatorByOptionsComputer } from '../../utils/compare/default-comparator-by-options-computer.js'
2
+ import { SortEnumsSortingNode, Options } from './types.js'
3
3
  /**
4
4
  * Builds a comparator computer function for sorting enum members.
5
5
  *
@@ -4,10 +4,10 @@ import {
4
4
  CommonOptions,
5
5
  RegexOption,
6
6
  TypeOption,
7
- } from '../../types/common-options'
8
- import { SortingNodeWithDependencies } from '../../utils/sort-nodes-by-dependencies'
9
- import { CommonPartitionOptions } from '../../types/common-partition-options'
10
- import { CommonGroupsOptions } from '../../types/common-groups-options'
7
+ } from '../../types/common-options.js'
8
+ import { SortingNodeWithDependencies } from '../../utils/sort-nodes-by-dependencies.js'
9
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
10
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
11
11
  /**
12
12
  * Configuration options for the sort-enums rule.
13
13
  *
@@ -1,4 +1,4 @@
1
- import { Options } from './sort-enums/types'
1
+ import { Options } from './sort-enums/types.js'
2
2
  declare const ORDER_ERROR_ID = 'unexpectedEnumsOrder'
3
3
  declare const GROUP_ORDER_ERROR_ID = 'unexpectedEnumsGroupOrder'
4
4
  declare const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenEnumsMembers'
@@ -13,7 +13,9 @@ type MessageId =
13
13
  declare const _default: import('@typescript-eslint/utils/ts-eslint').RuleModule<
14
14
  MessageId,
15
15
  Options,
16
- import('../utils/create-eslint-rule').ESLintPluginDocumentation,
16
+ import('../utils/create-eslint-rule.js').ESLintPluginDocumentation,
17
17
  import('@typescript-eslint/utils/ts-eslint').RuleListener
18
- >
18
+ > & {
19
+ name: string
20
+ }
19
21
  export default _default
@@ -38,6 +38,7 @@ const MISSED_SPACING_ERROR_ID = 'missedSpacingBetweenEnumsMembers'
38
38
  const DEPENDENCY_ORDER_ERROR_ID = 'unexpectedEnumsDependencyOrder'
39
39
  let defaultOptions = {
40
40
  fallbackSort: { type: 'unsorted' },
41
+ newlinesInside: 'newlinesBetween',
41
42
  sortByValue: 'ifNumericEnum',
42
43
  partitionByComment: false,
43
44
  partitionByNewLine: false,
@@ -224,7 +225,6 @@ const sortEnums = createEslintRule({
224
225
  description: 'Enforce sorted TypeScript enums.',
225
226
  recommended: true,
226
227
  },
227
- defaultOptions: [defaultOptions],
228
228
  type: 'suggestion',
229
229
  fixable: 'code',
230
230
  },
@@ -1,8 +1,8 @@
1
1
  import { TSESTree } from '@typescript-eslint/types'
2
- import { CommonPartitionOptions } from '../../types/common-partition-options'
3
- import { CommonGroupsOptions } from '../../types/common-groups-options'
4
- import { CommonOptions, TypeOption } from '../../types/common-options'
5
- import { SortingNode } from '../../types/sorting-node'
2
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
3
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
4
+ import { CommonOptions, TypeOption } from '../../types/common-options.js'
5
+ import { SortingNode } from '../../types/sorting-node.js'
6
6
  export type Options = Partial<
7
7
  CommonGroupsOptions<SingleCustomGroup, Record<string, never>, TypeOption> &
8
8
  CommonOptions<TypeOption> &
@@ -1,5 +1,5 @@
1
1
  import { TSESLint } from '@typescript-eslint/utils'
2
- import { Options } from './sort-export-attributes/types'
2
+ import { Options } from './sort-export-attributes/types.js'
3
3
  declare const ORDER_ERROR_ID = 'unexpectedExportAttributesOrder'
4
4
  declare const GROUP_ORDER_ERROR_ID = 'unexpectedExportAttributesGroupOrder'
5
5
  declare const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenExportAttributes'
@@ -12,7 +12,9 @@ type MessageId =
12
12
  declare const _default: TSESLint.RuleModule<
13
13
  MessageId,
14
14
  Options,
15
- import('../utils/create-eslint-rule').ESLintPluginDocumentation,
15
+ import('../utils/create-eslint-rule.js').ESLintPluginDocumentation,
16
16
  TSESLint.RuleListener
17
- >
17
+ > & {
18
+ name: string
19
+ }
18
20
  export default _default
@@ -33,6 +33,7 @@ const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenExportAttributes'
33
33
  const MISSED_SPACING_ERROR_ID = 'missedSpacingBetweenExportAttributes'
34
34
  let defaultOptions = {
35
35
  fallbackSort: { type: 'unsorted' },
36
+ newlinesInside: 'newlinesBetween',
36
37
  specialCharacters: 'keep',
37
38
  partitionByComment: false,
38
39
  partitionByNewLine: false,
@@ -161,7 +162,6 @@ const sortExportAttributes = createEslintRule({
161
162
  description: 'Enforce sorted export attributes.',
162
163
  recommended: true,
163
164
  },
164
- defaultOptions: [defaultOptions],
165
165
  type: 'suggestion',
166
166
  fixable: 'code',
167
167
  },
@@ -1,7 +1,7 @@
1
1
  import { JSONSchema4 } from '@typescript-eslint/utils/json-schema'
2
- import { CommonPartitionOptions } from '../../types/common-partition-options'
3
- import { CommonGroupsOptions } from '../../types/common-groups-options'
4
- import { CommonOptions, TypeOption } from '../../types/common-options'
2
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
3
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
4
+ import { CommonOptions, TypeOption } from '../../types/common-options.js'
5
5
  /**
6
6
  * Configuration options for the sort-exports rule.
7
7
  *
@@ -1,5 +1,5 @@
1
1
  import { TSESLint } from '@typescript-eslint/utils'
2
- import { Options } from './sort-exports/types'
2
+ import { Options } from './sort-exports/types.js'
3
3
  declare const ORDER_ERROR_ID = 'unexpectedExportsOrder'
4
4
  declare const GROUP_ORDER_ERROR_ID = 'unexpectedExportsGroupOrder'
5
5
  declare const EXTRA_SPACING_ERROR_ID = 'extraSpacingBetweenExports'
@@ -14,7 +14,9 @@ type MessageId =
14
14
  declare const _default: TSESLint.RuleModule<
15
15
  MessageId,
16
16
  Options,
17
- import('../utils/create-eslint-rule').ESLintPluginDocumentation,
17
+ import('../utils/create-eslint-rule.js').ESLintPluginDocumentation,
18
18
  TSESLint.RuleListener
19
- >
19
+ > & {
20
+ name: string
21
+ }
20
22
  export default _default
@@ -44,6 +44,7 @@ const MISSED_SPACING_ERROR_ID = 'missedSpacingBetweenExports'
44
44
  const MISSED_COMMENT_ABOVE_ERROR_ID = 'missedCommentAboveExport'
45
45
  let defaultOptions = {
46
46
  fallbackSort: { type: 'unsorted' },
47
+ newlinesInside: 'newlinesBetween',
47
48
  specialCharacters: 'keep',
48
49
  partitionByComment: false,
49
50
  newlinesBetween: 'ignore',
@@ -165,7 +166,6 @@ const sortExports = createEslintRule({
165
166
  description: 'Enforce sorted exports.',
166
167
  recommended: true,
167
168
  },
168
- defaultOptions: [defaultOptions],
169
169
  type: 'suggestion',
170
170
  fixable: 'code',
171
171
  },
@@ -201,6 +201,19 @@ function sortExportNodes({ formattedMembers, context, options }) {
201
201
  )
202
202
  }
203
203
  }
204
+ function computeExportKindModifier(node) {
205
+ let exportKind = 'exportKind' in node ? node.exportKind : void 0
206
+ switch (exportKind) {
207
+ case void 0:
208
+ case 'value':
209
+ return 'value'
210
+ case 'type':
211
+ return 'type'
212
+ /* v8 ignore next 2 -- @preserve Exhaustive guard. */
213
+ default:
214
+ throw new UnreachableCaseError(exportKind)
215
+ }
216
+ }
204
217
  function computeExportTypeModifier(node) {
205
218
  switch (node.type) {
206
219
  case AST_NODE_TYPES.ExportNamedDeclaration:
@@ -212,17 +225,6 @@ function computeExportTypeModifier(node) {
212
225
  throw new UnreachableCaseError(node)
213
226
  }
214
227
  }
215
- function computeExportKindModifier(node) {
216
- switch (node.exportKind) {
217
- case 'value':
218
- return 'value'
219
- case 'type':
220
- return 'type'
221
- /* v8 ignore next 2 -- @preserve Exhaustive guard. */
222
- default:
223
- throw new UnreachableCaseError(node.exportKind)
224
- }
225
- }
226
228
  function computeLineCountModifier(node) {
227
229
  if (isNodeOnSingleLine(node)) {
228
230
  return 'singleline'
@@ -1,6 +1,6 @@
1
- import { CommonPartitionOptions } from '../../types/common-partition-options'
2
- import { CommonGroupsOptions } from '../../types/common-groups-options'
3
- import { CommonOptions, TypeOption } from '../../types/common-options'
1
+ import { CommonPartitionOptions } from '../../types/common-partition-options.js'
2
+ import { CommonGroupsOptions } from '../../types/common-groups-options.js'
3
+ import { CommonOptions, TypeOption } from '../../types/common-options.js'
4
4
  export type Options = Partial<
5
5
  CommonGroupsOptions<SingleCustomGroup, Record<string, never>, TypeOption> &
6
6
  CommonOptions<TypeOption> &