File tree Expand file tree Collapse file tree 2 files changed +29
-2
lines changed Expand file tree Collapse file tree 2 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -51,15 +51,32 @@ const create = context => {
51
51
return ;
52
52
}
53
53
54
- return {
54
+ const problem = {
55
55
node,
56
56
messageId : MESSAGE_ID ,
57
57
data : {
58
58
original,
59
59
optimized,
60
60
} ,
61
- fix : fixer => fixer . replaceText ( node , optimized ) ,
62
61
} ;
62
+
63
+ if (
64
+ node . parent . type === 'MemberExpression'
65
+ && node . parent . object === node
66
+ && ! node . parent . optional
67
+ && ! node . parent . computed
68
+ && node . parent . property . type === 'Identifier'
69
+ && (
70
+ node . parent . property . name === 'toString'
71
+ || node . parent . property . name === 'source'
72
+ )
73
+ ) {
74
+ return problem ;
75
+ }
76
+
77
+ return Object . assign ( problem , {
78
+ fix : fixer => fixer . replaceText ( node , optimized ) ,
79
+ } ) ;
63
80
} ,
64
81
[ newRegExp ] ( node ) {
65
82
const [ patternNode , flagsNode ] = node . arguments ;
Original file line number Diff line number Diff line change @@ -311,5 +311,15 @@ test({
311
311
] ,
312
312
parser : require . resolve ( '@typescript-eslint/parser' ) ,
313
313
} ,
314
+
315
+ // Not fixable
316
+ {
317
+ code : 'const foo = /[0-9]/.toString' ,
318
+ errors : createError ( '/[0-9]/' , '/\\d/' ) ,
319
+ } ,
320
+ {
321
+ code : 'const foo = /[0-9]/.source' ,
322
+ errors : createError ( '/[0-9]/' , '/\\d/' ) ,
323
+ } ,
314
324
] ,
315
325
} ) ;
You can’t perform that action at this time.
0 commit comments