Skip to content

Commit 77a6d6b

Browse files
committed
aa
1 parent 0fa2f5c commit 77a6d6b

File tree

2 files changed

+36
-24
lines changed

2 files changed

+36
-24
lines changed

packages/plugin/src/rules/naming-convention/index.test.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -259,27 +259,22 @@ ruleTester.run<RuleOptions>('naming-convention', rule, {
259259
],
260260
errors: [
261261
{
262-
message:
263-
'Input "_idOperatorsFilterFindManyUserInput" should be in PascalCase format',
262+
message: 'Input "_idOperatorsFilterFindManyUserInput" should be in PascalCase format',
264263
},
265264
{
266265
message: 'Input "_idOperatorsFilterFindOneUserInput" should be in PascalCase format',
267266
},
268267
{
269-
message:
270-
'Input "_idOperatorsFilterRemoveManyUserInput" should be in PascalCase format',
268+
message: 'Input "_idOperatorsFilterRemoveManyUserInput" should be in PascalCase format',
271269
},
272270
{
273-
message:
274-
'Input "_idOperatorsFilterRemoveOneUserInput" should be in PascalCase format',
271+
message: 'Input "_idOperatorsFilterRemoveOneUserInput" should be in PascalCase format',
275272
},
276273
{
277-
message:
278-
'Input "_idOperatorsFilterUpdateManyUserInput" should be in PascalCase format',
274+
message: 'Input "_idOperatorsFilterUpdateManyUserInput" should be in PascalCase format',
279275
},
280276
{
281-
message:
282-
'Input "_idOperatorsFilterUpdateOneUserInput" should be in PascalCase format',
277+
message: 'Input "_idOperatorsFilterUpdateOneUserInput" should be in PascalCase format',
283278
},
284279
{ message: 'Input "_idOperatorsFilterUserInput" should be in PascalCase format' },
285280
{ message: 'Enum value "male" should be in UPPER_CASE format' },
@@ -540,12 +535,14 @@ ruleTester.run<RuleOptions>('naming-convention', rule, {
540535
{
541536
name: 'requiredPattern',
542537
code: 'type Test { enabled: Boolean! }',
543-
options: [{
544-
'FieldDefinition[gqlType.gqlType.name.value=Boolean]': {
545-
style: 'camelCase',
546-
requiredPattern: ['^is', '^has'],
538+
options: [
539+
{
540+
'FieldDefinition[gqlType.gqlType.name.value=Boolean]': {
541+
style: 'camelCase',
542+
requiredPattern: ['^is', '^has'],
543+
},
547544
},
548-
}],
545+
],
549546
errors: 1,
550547
},
551548
],

packages/plugin/src/rules/naming-convention/index.ts

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,26 @@ const schema = {
8989
description: 'Option to skip validation of some words, e.g. acronyms',
9090
},
9191
},
92+
allOf: ['forbidden', 'required'].flatMap(name => [
93+
{
94+
not: {
95+
properties: {
96+
[`${name}Pattern`]: { type: 'array' },
97+
[`${name}Prefixes`]: { type: 'array' },
98+
},
99+
required: [`${name}Pattern`, `${name}Prefixes`],
100+
},
101+
},
102+
{
103+
not: {
104+
properties: {
105+
[`${name}Pattern`]: { type: 'array' },
106+
[`${name}Suffixes`]: { type: 'array' },
107+
},
108+
required: [`${name}Pattern`, `${name}Suffixes`],
109+
},
110+
},
111+
]),
92112
},
93113
},
94114
type: 'array',
@@ -364,7 +384,7 @@ export const rule: GraphQLESLintRule<RuleOptions> = {
364384
requiredPrefixes,
365385
requiredSuffixes,
366386
forbiddenPattern,
367-
requiredPattern
387+
requiredPattern,
368388
} = normalisePropertyOption(selector);
369389
const nodeName = node.value;
370390
const error = getError();
@@ -412,15 +432,10 @@ export const rule: GraphQLESLintRule<RuleOptions> = {
412432
renameToNames: [name.replace(new RegExp(forbidden), '')],
413433
};
414434
}
415-
if (
416-
requiredPattern &&
417-
!requiredPattern.some(pattern => new RegExp(pattern).test(name))
418-
) {
435+
if (requiredPattern && !requiredPattern.some(pattern => new RegExp(pattern).test(name))) {
419436
return {
420-
errorMessage: `contain the required pattern: ${englishJoinWords(
421-
requiredPattern,
422-
)}`,
423-
renameToNames: []
437+
errorMessage: `contain the required pattern: ${englishJoinWords(requiredPattern)}`,
438+
renameToNames: [],
424439
};
425440
}
426441
const forbiddenPrefix = forbiddenPrefixes?.find(prefix => name.startsWith(prefix));

0 commit comments

Comments
 (0)