@@ -9,13 +9,15 @@ type Block = {
9
9
text : string ;
10
10
filename : string ;
11
11
lineOffset ?: number ;
12
+ offset ?: number ;
12
13
} ;
13
14
14
15
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
15
16
export function createGraphqlProcessor ( ) {
16
17
const blocksMap = new Map < string , Block [ ] > ( ) ;
17
18
18
19
return {
20
+ supportsAutofix : true ,
19
21
preprocess : ( text : string , filename : string ) : Array < { text : string ; filename : string } > => {
20
22
const blocks : Block [ ] = [ ] ;
21
23
blocksMap . set ( filename , blocks ) ;
@@ -41,6 +43,7 @@ export function createGraphqlProcessor() {
41
43
filename : `document.graphql` ,
42
44
text : item . content ,
43
45
lineOffset : item . loc . start . line - 1 ,
46
+ offset : item . start + 1 ,
44
47
} ) ;
45
48
}
46
49
@@ -58,14 +61,18 @@ export function createGraphqlProcessor() {
58
61
if ( blocks && blocks . length > 0 ) {
59
62
for ( let i = 0 ; i < messageLists . length ; ++ i ) {
60
63
const messages = messageLists [ i ] ;
61
- const { lineOffset } = blocks [ i ] ;
64
+ const { lineOffset, offset } = blocks [ i ] ;
62
65
63
66
for ( const message of messages ) {
64
67
message . line += lineOffset ;
65
68
66
69
if ( message . endLine != null ) {
67
70
message . endLine += lineOffset ;
68
71
}
72
+ if ( message . fix && typeof offset !== 'undefined' ) {
73
+ message . fix . range [ 0 ] = offset + message . fix . range [ 0 ] ;
74
+ message . fix . range [ 1 ] = offset + message . fix . range [ 1 ] ;
75
+ }
69
76
}
70
77
}
71
78
}
0 commit comments