@@ -12,6 +12,14 @@ const {defaultReplacements, defaultAllowList, defaultIgnore} = require('./shared
12
12
const { renameVariable} = require ( './fix/index.js' ) ;
13
13
const getScopes = require ( './utils/get-scopes.js' ) ;
14
14
15
+ const MESSAGE_ID_REPLACE = 'replace' ;
16
+ const MESSAGE_ID_SUGGESTION = 'suggestion' ;
17
+ const anotherNameMessage = 'A more descriptive name will do too.' ;
18
+ const messages = {
19
+ [ MESSAGE_ID_REPLACE ] : `The {{nameTypeText}} \`{{discouragedName}}\` should be named \`{{replacement}}\`. ${ anotherNameMessage } ` ,
20
+ [ MESSAGE_ID_SUGGESTION ] : `Please rename the {{nameTypeText}} \`{{discouragedName}}\`. Suggested names are: {{replacementsText}}. ${ anotherNameMessage } ` ,
21
+ } ;
22
+
15
23
const isUpperCase = string => string === string . toUpperCase ( ) ;
16
24
const isUpperFirst = string => isUpperCase ( string [ 0 ] ) ;
17
25
@@ -139,33 +147,37 @@ const getNameReplacements = (name, options, limit = 3) => {
139
147
} ;
140
148
} ;
141
149
142
- const anotherNameMessage = 'A more descriptive name will do too.' ;
143
-
144
- const formatMessage = ( discouragedName , replacements , nameTypeText ) => {
145
- const message = [ ] ;
150
+ const getMessage = ( discouragedName , replacements , nameTypeText ) => {
146
151
const { total, samples = [ ] } = replacements ;
147
152
148
153
if ( total === 1 ) {
149
- message . push ( `The ${ nameTypeText } \`${ discouragedName } \` should be named \`${ samples [ 0 ] } \`.` ) ;
150
- } else {
151
- let replacementsText = samples
152
- . map ( replacement => `\`${ replacement } \`` )
153
- . join ( ', ' ) ;
154
-
155
- const omittedReplacementsCount = total - samples . length ;
156
- if ( omittedReplacementsCount > 0 ) {
157
- replacementsText += `, ... (${ omittedReplacementsCount > 99 ? '99+' : omittedReplacementsCount } more omitted)` ;
158
- }
159
-
160
- message . push (
161
- `Please rename the ${ nameTypeText } \`${ discouragedName } \`.` ,
162
- `Suggested names are: ${ replacementsText } .` ,
163
- ) ;
154
+ return {
155
+ messageId : MESSAGE_ID_REPLACE ,
156
+ data : {
157
+ nameTypeText,
158
+ discouragedName,
159
+ replacement : samples [ 0 ] ,
160
+ } ,
161
+ } ;
164
162
}
165
163
166
- message . push ( anotherNameMessage ) ;
164
+ let replacementsText = samples
165
+ . map ( replacement => `\`${ replacement } \`` )
166
+ . join ( ', ' ) ;
167
+
168
+ const omittedReplacementsCount = total - samples . length ;
169
+ if ( omittedReplacementsCount > 0 ) {
170
+ replacementsText += `, ... (${ omittedReplacementsCount > 99 ? '99+' : omittedReplacementsCount } more omitted)` ;
171
+ }
167
172
168
- return message . join ( ' ' ) ;
173
+ return {
174
+ messageId : MESSAGE_ID_SUGGESTION ,
175
+ data : {
176
+ nameTypeText,
177
+ discouragedName,
178
+ replacementsText,
179
+ } ,
180
+ } ;
169
181
} ;
170
182
171
183
const isExportedIdentifier = identifier => {
@@ -422,8 +434,8 @@ const create = context => {
422
434
) ;
423
435
424
436
const problem = {
437
+ ...getMessage ( definition . name . name , variableReplacements , 'variable' ) ,
425
438
node : definition . name ,
426
- message : formatMessage ( definition . name . name , variableReplacements , 'variable' ) ,
427
439
} ;
428
440
429
441
if ( variableReplacements . total === 1 && shouldFix ( variable ) && variableReplacements . samples [ 0 ] ) {
@@ -478,8 +490,8 @@ const create = context => {
478
490
}
479
491
480
492
const problem = {
493
+ ...getMessage ( node . name , identifierReplacements , 'property' ) ,
481
494
node,
482
- message : formatMessage ( node . name , identifierReplacements , 'property' ) ,
483
495
} ;
484
496
485
497
context . report ( problem ) ;
@@ -508,8 +520,8 @@ const create = context => {
508
520
filenameReplacements . samples = filenameReplacements . samples . map ( replacement => `${ replacement } ${ extension } ` ) ;
509
521
510
522
context . report ( {
523
+ ...getMessage ( filenameWithExtension , filenameReplacements , 'filename' ) ,
511
524
node,
512
- message : formatMessage ( filenameWithExtension , filenameReplacements , 'filename' ) ,
513
525
} ) ;
514
526
} ,
515
527
@@ -609,5 +621,6 @@ module.exports = {
609
621
} ,
610
622
fixable : 'code' ,
611
623
schema,
624
+ messages,
612
625
} ,
613
626
} ;
0 commit comments