@@ -2,6 +2,7 @@ import { DirectiveNode } from 'graphql';
2
2
import { FromSchema } from 'json-schema-to-ts' ;
3
3
import { GraphQLESTreeNode , valueFromNode } from '../estree-converter/index.js' ;
4
4
import { GraphQLESLintRule } from '../types.js' ;
5
+ import { getNodeName } from '../utils.js' ;
5
6
6
7
// eslint-disable-next-line unicorn/better-regex
7
8
const DATE_REGEX = / ^ \d { 2 } \/ \d { 2 } \/ \d { 4 } $ / ;
@@ -68,10 +69,11 @@ export const rule: GraphQLESLintRule<RuleOptions> = {
68
69
] ,
69
70
} ,
70
71
messages : {
71
- [ MESSAGE_REQUIRE_DATE ] : 'Directive "@deprecated" must have a deletion date' ,
72
- [ MESSAGE_INVALID_FORMAT ] : 'Deletion date must be in format "DD/MM/YYYY"' ,
73
- [ MESSAGE_INVALID_DATE ] : 'Invalid "{{ deletionDate }}" deletion date' ,
74
- [ MESSAGE_CAN_BE_REMOVED ] : '"{{ nodeName }}" сan be removed' ,
72
+ [ MESSAGE_REQUIRE_DATE ] :
73
+ 'Directive "@deprecated" must have a deletion date for {{ nodeName }}' ,
74
+ [ MESSAGE_INVALID_FORMAT ] : 'Deletion date must be in format "DD/MM/YYYY" for {{ nodeName }}' ,
75
+ [ MESSAGE_INVALID_DATE ] : 'Invalid "{{ deletionDate }}" deletion date for {{ nodeName }}' ,
76
+ [ MESSAGE_CAN_BE_REMOVED ] : '{{ nodeName }} сan be removed' ,
75
77
} ,
76
78
schema,
77
79
} ,
@@ -85,14 +87,21 @@ export const rule: GraphQLESLintRule<RuleOptions> = {
85
87
context . report ( {
86
88
node : node . name ,
87
89
messageId : MESSAGE_REQUIRE_DATE ,
90
+ data : {
91
+ nodeName : getNodeName ( node . parent ) ,
92
+ } ,
88
93
} ) ;
89
94
return ;
90
95
}
91
96
const deletionDate = valueFromNode ( deletionDateNode . value as any ) ;
92
97
const isValidDate = DATE_REGEX . test ( deletionDate ) ;
93
98
94
99
if ( ! isValidDate ) {
95
- context . report ( { node : deletionDateNode . value , messageId : MESSAGE_INVALID_FORMAT } ) ;
100
+ context . report ( {
101
+ node : deletionDateNode . value ,
102
+ messageId : MESSAGE_INVALID_FORMAT ,
103
+ data : { nodeName : getNodeName ( node . parent ) } ,
104
+ } ) ;
96
105
return ;
97
106
}
98
107
let [ day , month , year ] = deletionDate . split ( '/' ) ;
@@ -106,6 +115,7 @@ export const rule: GraphQLESLintRule<RuleOptions> = {
106
115
messageId : MESSAGE_INVALID_DATE ,
107
116
data : {
108
117
deletionDate,
118
+ nodeName : getNodeName ( node . parent ) ,
109
119
} ,
110
120
} ) ;
111
121
return ;
@@ -119,7 +129,7 @@ export const rule: GraphQLESLintRule<RuleOptions> = {
119
129
context . report ( {
120
130
node : parent . name ,
121
131
messageId : MESSAGE_CAN_BE_REMOVED ,
122
- data : { nodeName } ,
132
+ data : { nodeName : getNodeName ( parent ) } ,
123
133
suggest : [
124
134
{
125
135
desc : `Remove \`${ nodeName } \`` ,
0 commit comments