eslint-plugin-perfectionist 5.2.0 → 5.3.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.
Files changed (128) hide show
  1. package/dist/index.d.ts +4 -1
  2. package/dist/package.json.js +1 -1
  3. package/dist/rules/sort-array-includes/types.d.ts +15 -18
  4. package/dist/rules/sort-array-includes/types.js +2 -2
  5. package/dist/rules/sort-array-includes.js +13 -10
  6. package/dist/rules/sort-classes/compute-dependencies.d.ts +24 -0
  7. package/dist/rules/sort-classes/compute-dependencies.js +147 -0
  8. package/dist/rules/sort-classes/compute-dependency-name.d.ts +9 -0
  9. package/dist/rules/sort-classes/compute-dependency-name.js +8 -0
  10. package/dist/rules/sort-classes/compute-identifier-name-details.d.ts +16 -0
  11. package/dist/rules/sort-classes/compute-identifier-name-details.js +27 -0
  12. package/dist/rules/sort-classes/get-overload-signature-groups.js +4 -3
  13. package/dist/rules/sort-classes/node-info/common-modifiers.d.ts +39 -0
  14. package/dist/rules/sort-classes/node-info/common-modifiers.js +62 -0
  15. package/dist/rules/sort-classes/node-info/compute-accessor-details.d.ts +26 -0
  16. package/dist/rules/sort-classes/node-info/compute-accessor-details.js +43 -0
  17. package/dist/rules/sort-classes/node-info/compute-index-signature-details.d.ts +23 -0
  18. package/dist/rules/sort-classes/node-info/compute-index-signature-details.js +21 -0
  19. package/dist/rules/sort-classes/node-info/compute-method-details.d.ts +29 -0
  20. package/dist/rules/sort-classes/node-info/compute-method-details.js +80 -0
  21. package/dist/rules/sort-classes/node-info/compute-method-or-property-name-details.d.ts +21 -0
  22. package/dist/rules/sort-classes/node-info/compute-method-or-property-name-details.js +17 -0
  23. package/dist/rules/sort-classes/node-info/compute-property-details.d.ts +36 -0
  24. package/dist/rules/sort-classes/node-info/compute-property-details.js +109 -0
  25. package/dist/rules/sort-classes/node-info/compute-static-block-details.d.ts +26 -0
  26. package/dist/rules/sort-classes/node-info/compute-static-block-details.js +18 -0
  27. package/dist/rules/sort-classes/types.d.ts +15 -18
  28. package/dist/rules/sort-classes/types.js +6 -2
  29. package/dist/rules/sort-classes.js +79 -291
  30. package/dist/rules/sort-decorators/types.d.ts +10 -12
  31. package/dist/rules/sort-decorators.js +57 -56
  32. package/dist/rules/sort-enums/build-comparator-by-options-computer.js +6 -0
  33. package/dist/rules/sort-enums/types.d.ts +16 -19
  34. package/dist/rules/sort-enums/types.js +2 -2
  35. package/dist/rules/sort-enums.js +13 -11
  36. package/dist/rules/sort-export-attributes/types.d.ts +6 -8
  37. package/dist/rules/sort-export-attributes.js +2 -1
  38. package/dist/rules/sort-exports/types.d.ts +11 -10
  39. package/dist/rules/sort-exports/types.js +6 -2
  40. package/dist/rules/sort-exports.js +7 -6
  41. package/dist/rules/sort-heritage-clauses/types.d.ts +6 -8
  42. package/dist/rules/sort-heritage-clauses.js +2 -1
  43. package/dist/rules/sort-import-attributes/types.d.ts +6 -8
  44. package/dist/rules/sort-import-attributes.js +2 -1
  45. package/dist/rules/sort-imports/comparator-by-options-computer.js +5 -0
  46. package/dist/rules/sort-imports/compute-specifier-modifiers.js +1 -1
  47. package/dist/rules/sort-imports/is-non-external-reference-ts-import-equals.js +1 -1
  48. package/dist/rules/sort-imports/is-side-effect-import.js +1 -1
  49. package/dist/rules/sort-imports/types.d.ts +18 -24
  50. package/dist/rules/sort-imports/types.js +9 -6
  51. package/dist/rules/sort-imports.js +25 -17
  52. package/dist/rules/sort-jsx-props/types.d.ts +18 -18
  53. package/dist/rules/sort-jsx-props/types.js +6 -2
  54. package/dist/rules/sort-jsx-props.js +14 -7
  55. package/dist/rules/sort-maps/types.d.ts +10 -16
  56. package/dist/rules/sort-maps.js +11 -6
  57. package/dist/rules/sort-modules/build-comparator-by-options-computer.js +2 -0
  58. package/dist/rules/sort-modules/compute-dependencies.d.ts +2 -5
  59. package/dist/rules/sort-modules/compute-dependencies.js +3 -0
  60. package/dist/rules/sort-modules/compute-node-details.d.ts +38 -0
  61. package/dist/rules/sort-modules/compute-node-details.js +127 -0
  62. package/dist/rules/sort-modules/is-arrow-function-node.js +1 -1
  63. package/dist/rules/sort-modules/is-property-or-accessor-node.js +1 -1
  64. package/dist/rules/sort-modules/types.d.ts +24 -17
  65. package/dist/rules/sort-modules/types.js +2 -2
  66. package/dist/rules/sort-modules.js +72 -141
  67. package/dist/rules/sort-named-exports/compute-node-name.js +1 -1
  68. package/dist/rules/sort-named-exports/types.d.ts +16 -16
  69. package/dist/rules/sort-named-exports/types.js +6 -2
  70. package/dist/rules/sort-named-exports.js +6 -5
  71. package/dist/rules/sort-named-imports/compute-node-name.js +1 -1
  72. package/dist/rules/sort-named-imports/types.d.ts +16 -17
  73. package/dist/rules/sort-named-imports/types.js +6 -2
  74. package/dist/rules/sort-named-imports.js +7 -6
  75. package/dist/rules/sort-object-types/comparator-by-options-computer.js +3 -0
  76. package/dist/rules/sort-object-types/is-member-optional.js +1 -1
  77. package/dist/rules/sort-object-types/is-node-function-type.js +20 -0
  78. package/dist/rules/sort-object-types/types.d.ts +21 -34
  79. package/dist/rules/sort-object-types/types.js +9 -6
  80. package/dist/rules/sort-object-types.js +7 -6
  81. package/dist/rules/sort-objects/types.d.ts +17 -21
  82. package/dist/rules/sort-objects/types.js +3 -3
  83. package/dist/rules/sort-objects.js +5 -3
  84. package/dist/rules/sort-sets.js +5 -4
  85. package/dist/rules/sort-switch-case.js +6 -4
  86. package/dist/rules/sort-union-types/types.d.ts +12 -12
  87. package/dist/rules/sort-union-types/types.js +2 -2
  88. package/dist/rules/sort-union-types.js +37 -35
  89. package/dist/rules/sort-variable-declarations/types.d.ts +12 -13
  90. package/dist/rules/sort-variable-declarations/types.js +2 -2
  91. package/dist/rules/sort-variable-declarations.js +14 -12
  92. package/dist/types/all-common-options.d.ts +14 -0
  93. package/dist/types/common-groups-options.d.ts +73 -95
  94. package/dist/types/common-options.d.ts +60 -55
  95. package/dist/utils/build-default-options-by-group-index-computer.d.ts +1 -1
  96. package/dist/utils/compare/build-string-formatter.d.ts +4 -5
  97. package/dist/utils/compare/build-subgroup-order-comparator.d.ts +10 -0
  98. package/dist/utils/compare/build-subgroup-order-comparator.js +49 -0
  99. package/dist/utils/compare/default-comparator-by-options-computer.d.ts +4 -1
  100. package/dist/utils/compare/default-comparator-by-options-computer.js +9 -0
  101. package/dist/utils/compute-group.d.ts +9 -9
  102. package/dist/utils/compute-overridden-options-by-group-index.d.ts +1 -1
  103. package/dist/utils/does-custom-group-match.d.ts +6 -4
  104. package/dist/utils/get-comment-above-that-should-exist.d.ts +1 -1
  105. package/dist/utils/get-newlines-between-errors.d.ts +1 -1
  106. package/dist/utils/get-newlines-between-option.d.ts +1 -7
  107. package/dist/utils/get-node-range.d.ts +2 -9
  108. package/dist/utils/get-settings.d.ts +1 -1
  109. package/dist/utils/is-group-with-overrides-option.d.ts +3 -6
  110. package/dist/utils/json-schemas/common-groups-json-schemas.d.ts +6 -6
  111. package/dist/utils/json-schemas/common-groups-json-schemas.js +12 -10
  112. package/dist/utils/json-schemas/common-json-schemas.d.ts +5 -5
  113. package/dist/utils/json-schemas/common-json-schemas.js +13 -12
  114. package/dist/utils/make-comment-above-fixes.d.ts +1 -1
  115. package/dist/utils/make-fixes.d.ts +3 -5
  116. package/dist/utils/make-newlines-between-fixes.d.ts +1 -1
  117. package/dist/utils/make-order-fixes.d.ts +2 -5
  118. package/dist/utils/report-all-errors.d.ts +19 -17
  119. package/dist/utils/report-errors.d.ts +3 -1
  120. package/dist/utils/should-partition.d.ts +2 -5
  121. package/dist/utils/validate-custom-sort-configuration.d.ts +1 -1
  122. package/dist/utils/validate-groups-configuration.d.ts +1 -1
  123. package/dist/utils/validate-newlines-and-partition-configuration.d.ts +1 -1
  124. package/package.json +2 -2
  125. package/readme.md +1 -1
  126. package/dist/types/join.d.ts +0 -19
  127. package/dist/utils/is-node-function-type.js +0 -13
  128. /package/dist/{utils → rules/sort-object-types}/is-node-function-type.d.ts +0 -0
@@ -0,0 +1,80 @@
1
+ import { AST_NODE_TYPES } from '@typescript-eslint/utils'
2
+ import {
3
+ computeStaticModifier,
4
+ computeAbstractModifier,
5
+ computeDecoratedModifier,
6
+ computeOverrideModifier,
7
+ computeAccessibilityModifier,
8
+ computeOptionalModifier,
9
+ computeAsyncModifier,
10
+ } from './common-modifiers.js'
11
+ import { computeMethodOrPropertyNameDetails } from './compute-method-or-property-name-details.js'
12
+ import { UnreachableCaseError } from '../../../utils/unreachable-case-error.js'
13
+ function computeMethodDetails({
14
+ hasParentDeclare,
15
+ isDecorated,
16
+ sourceCode,
17
+ method,
18
+ }) {
19
+ let { hasPrivateHash, name } = computeMethodOrPropertyNameDetails(
20
+ method,
21
+ sourceCode,
22
+ )
23
+ return {
24
+ addSafetySemicolonWhenInline: shouldAddSafetySemicolonWhenInline({
25
+ hasParentDeclare,
26
+ method,
27
+ }),
28
+ modifiers: computeModifiers({
29
+ hasPrivateHash,
30
+ isDecorated,
31
+ method,
32
+ }),
33
+ selectors: computeSelectors(method),
34
+ name,
35
+ }
36
+ }
37
+ function computeSelectors(method) {
38
+ return [...computeSetterOrConstructorSelector(), 'method']
39
+ function computeSetterOrConstructorSelector() {
40
+ switch (method.kind) {
41
+ case 'constructor':
42
+ return ['constructor']
43
+ case 'method':
44
+ return []
45
+ case 'set':
46
+ return ['set-method']
47
+ case 'get':
48
+ return ['get-method']
49
+ /* v8 ignore next 2 -- @preserve Exhaustive guard. */
50
+ default:
51
+ throw new UnreachableCaseError(method.kind)
52
+ }
53
+ }
54
+ }
55
+ function computeModifiers({ hasPrivateHash, isDecorated, method }) {
56
+ return [
57
+ ...computeStaticModifier(method),
58
+ ...computeAbstractModifier(method),
59
+ ...computeDecoratedModifier(isDecorated),
60
+ ...computeOverrideModifier(method),
61
+ ...computeAccessibilityModifier({
62
+ hasPrivateHash,
63
+ node: method,
64
+ }),
65
+ ...computeOptionalModifier(method),
66
+ ...computeAsyncModifier(method.value),
67
+ ]
68
+ }
69
+ function shouldAddSafetySemicolonWhenInline({ hasParentDeclare, method }) {
70
+ switch (method.type) {
71
+ case AST_NODE_TYPES.TSAbstractMethodDefinition:
72
+ return true
73
+ case AST_NODE_TYPES.MethodDefinition:
74
+ return hasParentDeclare
75
+ /* v8 ignore next 2 -- @preserve Exhaustive guard. */
76
+ default:
77
+ throw new UnreachableCaseError(method)
78
+ }
79
+ }
80
+ export { computeMethodDetails }
@@ -0,0 +1,21 @@
1
+ import { TSESTree } from '@typescript-eslint/types'
2
+ import { TSESLint } from '@typescript-eslint/utils'
3
+ import { NodeNameDetails } from '../compute-identifier-name-details.js'
4
+ /**
5
+ * Computes the name details of a method or property node.
6
+ *
7
+ * @param node - The method or property node to compute the name for.
8
+ * @param sourceCode - The ESLint source code object.
9
+ * @returns An object containing the name, whether it has a private hash, and
10
+ * the name without the starting hash.
11
+ */
12
+ export declare function computeMethodOrPropertyNameDetails(
13
+ node:
14
+ | TSESTree.TSAbstractPropertyDefinition
15
+ | TSESTree.TSAbstractMethodDefinition
16
+ | TSESTree.TSAbstractAccessorProperty
17
+ | TSESTree.PropertyDefinition
18
+ | TSESTree.MethodDefinition
19
+ | TSESTree.AccessorProperty,
20
+ sourceCode: TSESLint.SourceCode,
21
+ ): NodeNameDetails
@@ -0,0 +1,17 @@
1
+ import { AST_NODE_TYPES } from '@typescript-eslint/utils'
2
+ import { computeIdentifierNameDetails } from '../compute-identifier-name-details.js'
3
+ function computeMethodOrPropertyNameDetails(node, sourceCode) {
4
+ switch (node.key.type) {
5
+ case AST_NODE_TYPES.PrivateIdentifier:
6
+ case AST_NODE_TYPES.Identifier:
7
+ case AST_NODE_TYPES.Literal:
8
+ return computeIdentifierNameDetails(node.key)
9
+ default:
10
+ return {
11
+ nameWithoutStartingHash: sourceCode.getText(node.key),
12
+ name: sourceCode.getText(node.key),
13
+ hasPrivateHash: false,
14
+ }
15
+ }
16
+ }
17
+ export { computeMethodOrPropertyNameDetails }
@@ -0,0 +1,36 @@
1
+ import { TSESTree } from '@typescript-eslint/types'
2
+ import { TSESLint } from '@typescript-eslint/utils'
3
+ import { RegexOption } from '../../../types/common-options.js'
4
+ import { Modifier, Selector } from '../types.js'
5
+ /**
6
+ * Computes details related to a property.
7
+ *
8
+ * @param params - Parameters object.
9
+ * @param params.isDecorated - Whether the accessor is decorated.
10
+ * @param params.property - The property node to compute information for.
11
+ * @param params.ignoreCallbackDependenciesPatterns - Patterns to ignore when
12
+ * computing dependencies.
13
+ * @param params.sourceCode - The source code object.
14
+ * @param params.className - The name of the class containing the property.
15
+ * @returns An object containing various details about the property.
16
+ */
17
+ export declare function computePropertyDetails({
18
+ ignoreCallbackDependenciesPatterns,
19
+ isDecorated,
20
+ sourceCode,
21
+ className,
22
+ property,
23
+ }: {
24
+ property: TSESTree.TSAbstractPropertyDefinition | TSESTree.PropertyDefinition
25
+ ignoreCallbackDependenciesPatterns: RegexOption
26
+ sourceCode: TSESLint.SourceCode
27
+ className: undefined | string
28
+ isDecorated: boolean
29
+ }): {
30
+ memberValue: undefined | string
31
+ dependencyNames: string[]
32
+ dependencies: string[]
33
+ modifiers: Modifier[]
34
+ selectors: Selector[]
35
+ name: string
36
+ }
@@ -0,0 +1,109 @@
1
+ import { AST_NODE_TYPES } from '@typescript-eslint/utils'
2
+ import {
3
+ computeStaticModifier,
4
+ computeAbstractModifier,
5
+ computeDecoratedModifier,
6
+ computeOverrideModifier,
7
+ computeReadonlyModifier,
8
+ computeAccessibilityModifier,
9
+ computeOptionalModifier,
10
+ computeAsyncModifier,
11
+ } from './common-modifiers.js'
12
+ import { computeMethodOrPropertyNameDetails } from './compute-method-or-property-name-details.js'
13
+ import { computeDependencyName } from '../compute-dependency-name.js'
14
+ import { computeDependencies } from '../compute-dependencies.js'
15
+ function computePropertyDetails({
16
+ ignoreCallbackDependenciesPatterns,
17
+ isDecorated,
18
+ sourceCode,
19
+ className,
20
+ property,
21
+ }) {
22
+ let { nameWithoutStartingHash, hasPrivateHash, name } =
23
+ computeMethodOrPropertyNameDetails(property, sourceCode)
24
+ let modifiers = computeModifiers({
25
+ hasPrivateHash,
26
+ isDecorated,
27
+ property,
28
+ })
29
+ return {
30
+ dependencyNames: [
31
+ computeDependencyName({
32
+ nodeNameWithoutStartingHash: nameWithoutStartingHash,
33
+ isStatic: modifiers.includes('static'),
34
+ hasPrivateHash,
35
+ }),
36
+ ],
37
+ memberValue:
38
+ !isFunctionExpression(property.value) && property.value
39
+ ? sourceCode.getText(property.value)
40
+ : void 0,
41
+ dependencies: computePropertyDependencies({
42
+ ignoreCallbackDependenciesPatterns,
43
+ className,
44
+ property,
45
+ }),
46
+ selectors: computeSelectors(property),
47
+ modifiers,
48
+ name,
49
+ }
50
+ }
51
+ function computeModifiers({ hasPrivateHash, isDecorated, property }) {
52
+ return [
53
+ ...computeStaticModifier(property),
54
+ ...computeDeclareModifier(),
55
+ ...computeAbstractModifier(property),
56
+ ...computeDecoratedModifier(isDecorated),
57
+ ...computeOverrideModifier(property),
58
+ ...computeReadonlyModifier(property),
59
+ ...computeAccessibilityModifier({
60
+ hasPrivateHash,
61
+ node: property,
62
+ }),
63
+ ...computeOptionalModifier(property),
64
+ ...computeAsyncModifierIfFunctionProperty(),
65
+ ]
66
+ function computeDeclareModifier() {
67
+ return property.declare ? ['declare'] : []
68
+ }
69
+ function computeAsyncModifierIfFunctionProperty() {
70
+ if (!isFunctionExpression(property.value)) {
71
+ return []
72
+ }
73
+ return computeAsyncModifier(property.value)
74
+ }
75
+ }
76
+ function computePropertyDependencies({
77
+ ignoreCallbackDependenciesPatterns,
78
+ className,
79
+ property,
80
+ }) {
81
+ if (isFunctionExpression(property.value)) {
82
+ return []
83
+ }
84
+ if (!property.value) {
85
+ return []
86
+ }
87
+ return computeDependencies({
88
+ ignoreCallbackDependenciesPatterns,
89
+ isMemberStatic: property.static,
90
+ expression: property.value,
91
+ className,
92
+ })
93
+ }
94
+ function computeSelectors(property) {
95
+ return [...computeFunctionPropertySelector(), 'property']
96
+ function computeFunctionPropertySelector() {
97
+ return isFunctionExpression(property.value) ? ['function-property'] : []
98
+ }
99
+ }
100
+ function isFunctionExpression(node) {
101
+ if (!node) {
102
+ return false
103
+ }
104
+ return (
105
+ node.type === AST_NODE_TYPES.ArrowFunctionExpression ||
106
+ node.type === AST_NODE_TYPES.FunctionExpression
107
+ )
108
+ }
109
+ export { computePropertyDetails }
@@ -0,0 +1,26 @@
1
+ import { TSESTree } from '@typescript-eslint/types'
2
+ import { RegexOption } from '../../../types/common-options.js'
3
+ import { Modifier, Selector } from '../types.js'
4
+ /**
5
+ * Computes details related to a static block.
6
+ *
7
+ * @param params - Parameters object.
8
+ * @param params.staticBlock - The static block node to compute information for.
9
+ * @param params.ignoreCallbackDependenciesPatterns - Patterns to ignore when
10
+ * computing dependencies.
11
+ * @param params.className - The name of the class containing the property.
12
+ * @returns An object containing various details about the static block.
13
+ */
14
+ export declare function computeStaticBlockDetails({
15
+ ignoreCallbackDependenciesPatterns,
16
+ staticBlock,
17
+ className,
18
+ }: {
19
+ ignoreCallbackDependenciesPatterns: RegexOption
20
+ staticBlock: TSESTree.StaticBlock
21
+ className: undefined | string
22
+ }): {
23
+ dependencies: string[]
24
+ selectors: Selector[]
25
+ modifiers: Modifier[]
26
+ }
@@ -0,0 +1,18 @@
1
+ import { computeDependencies } from '../compute-dependencies.js'
2
+ function computeStaticBlockDetails({
3
+ ignoreCallbackDependenciesPatterns,
4
+ staticBlock,
5
+ className,
6
+ }) {
7
+ return {
8
+ dependencies: computeDependencies({
9
+ ignoreCallbackDependenciesPatterns,
10
+ expression: staticBlock,
11
+ isMemberStatic: true,
12
+ className,
13
+ }),
14
+ selectors: ['static-block'],
15
+ modifiers: [],
16
+ }
17
+ }
18
+ export { computeStaticBlockDetails }
@@ -1,11 +1,6 @@
1
1
  import { JSONSchema4 } from '@typescript-eslint/utils/json-schema'
2
- import {
3
- CommonOptions,
4
- RegexOption,
5
- TypeOption,
6
- } from '../../types/common-options.js'
7
- import { CommonPartitionOptions } from '../../types/common-partition-options.js'
8
- import { CommonGroupsOptions } from '../../types/common-groups-options.js'
2
+ import { RegexOption, TypeOption } from '../../types/common-options.js'
3
+ import { AllCommonOptions } from '../../types/all-common-options.js'
9
4
  /**
10
5
  * Configuration options for the sort-classes rule.
11
6
  *
@@ -21,13 +16,11 @@ export type SortClassesOptions = [
21
16
  * inside these callbacks won't influence the ordering.
22
17
  */
23
18
  ignoreCallbackDependenciesPatterns: RegexOption
24
- } & CommonGroupsOptions<
25
- SingleCustomGroup,
26
- Record<string, never>,
27
- TypeOption
28
- > &
29
- CommonOptions<TypeOption> &
30
- CommonPartitionOptions
19
+ } & AllCommonOptions<
20
+ TypeOption,
21
+ AdditionalSortOptions,
22
+ CustomGroupMatchOptions
23
+ >
31
24
  >,
32
25
  ]
33
26
  /**
@@ -47,7 +40,7 @@ export type Modifier = (typeof allModifiers)[number]
47
40
  * property, etc.) and various patterns matching their names, values, or
48
41
  * decorators.
49
42
  */
50
- interface SingleCustomGroup {
43
+ interface CustomGroupMatchOptions {
51
44
  /** Pattern to match decorator names (e.g., '@Component'). */
52
45
  decoratorNamePattern?: RegexOption
53
46
  /**
@@ -60,6 +53,7 @@ interface SingleCustomGroup {
60
53
  /** The type of class member this group applies to. */
61
54
  selector?: Selector
62
55
  }
56
+ type AdditionalSortOptions = object
63
57
  /**
64
58
  * Complete list of available class member selectors. Used for validation and
65
59
  * JSON schema generation.
@@ -93,11 +87,14 @@ export declare let allModifiers: readonly [
93
87
  'optional',
94
88
  ]
95
89
  /**
96
- * JSON schema definition for validating single custom group configurations.
97
- * Used by ESLint to validate rule options at configuration time.
90
+ * Additional custom group match options JSON schema. Used by ESLint to validate
91
+ * rule options at configuration time.
98
92
  *
99
93
  * Note: Ideally, we should generate as many schemas as there are selectors, and
100
94
  * ensure that users do not enter invalid modifiers for a given selector.
101
95
  */
102
- export declare let singleCustomGroupJsonSchema: Record<string, JSONSchema4>
96
+ export declare let additionalCustomGroupMatchOptionsJsonSchema: Record<
97
+ string,
98
+ JSONSchema4
99
+ >
103
100
  export {}
@@ -27,10 +27,14 @@ let allModifiers = [
27
27
  'declare',
28
28
  'optional',
29
29
  ]
30
- let singleCustomGroupJsonSchema = {
30
+ let additionalCustomGroupMatchOptionsJsonSchema = {
31
31
  modifiers: buildCustomGroupModifiersJsonSchema(allModifiers),
32
32
  selector: buildCustomGroupSelectorJsonSchema(allSelectors),
33
33
  decoratorNamePattern: buildRegexJsonSchema(),
34
34
  elementValuePattern: buildRegexJsonSchema(),
35
35
  }
36
- export { allModifiers, allSelectors, singleCustomGroupJsonSchema }
36
+ export {
37
+ additionalCustomGroupMatchOptionsJsonSchema,
38
+ allModifiers,
39
+ allSelectors,
40
+ }