@@ -99,7 +99,7 @@ module.exports = {
99
99
function getFixerFunction ( node , needed ) {
100
100
return function fix ( fixer ) {
101
101
const indent = Array ( needed + 1 ) . join ( indentChar ) ;
102
- if ( node . type === 'JSXText' ) {
102
+ if ( node . type === 'JSXText' || node . type === 'Literal' ) {
103
103
const regExp = / \n [ \t ] * ( \S ) / g;
104
104
const fixedText = node . raw . replace ( regExp , ( match , p1 ) => `\n${ indent } ${ p1 } ` ) ;
105
105
return fixer . replaceText ( node , fixedText ) ;
@@ -115,7 +115,7 @@ module.exports = {
115
115
* Reports a given indent violation and properly pluralizes the message
116
116
* @param {ASTNode } node Node violating the indent rule
117
117
* @param {Number } needed Expected indentation character count
118
- * @param {Number|Array<number> } gotten Indentation character count in the actual node/code
118
+ * @param {Number } gotten Indentation character count in the actual node/code
119
119
* @param {Object } [loc] Error line and column location
120
120
*/
121
121
function report ( node , needed , gotten , loc ) {
@@ -298,11 +298,11 @@ module.exports = {
298
298
}
299
299
300
300
/**
301
- * Check indent for JSXText
301
+ * Check indent for Literal Node or JSXText Node
302
302
* @param {ASTNode } node The node to check
303
303
* @param {Number } indent needed indent
304
304
*/
305
- function checkJSXTextNodeIndent ( node , indent ) {
305
+ function checkLiteralNodeIndent ( node , indent ) {
306
306
const value = node . value ;
307
307
const regExp = indentType === 'space' ? / \n ( * ) [ \t ] * \S / g : / \n ( \t * ) [ \t ] * \S / g;
308
308
const nodeIndentsPerLine = Array . from (
@@ -370,6 +370,14 @@ module.exports = {
370
370
checkNodesIndent ( firstInLine , indent ) ;
371
371
}
372
372
373
+ function handleLiteral ( node ) {
374
+ if ( ! node . parent ) {
375
+ return ;
376
+ }
377
+ const parentNodeIndent = getNodeIndent ( node . parent ) ;
378
+ checkLiteralNodeIndent ( node , parentNodeIndent + indentSize ) ;
379
+ }
380
+
373
381
return {
374
382
JSXOpeningElement : handleOpeningElement ,
375
383
JSXOpeningFragment : handleOpeningElement ,
@@ -383,13 +391,8 @@ module.exports = {
383
391
const parentNodeIndent = getNodeIndent ( node . parent ) ;
384
392
checkNodesIndent ( node , parentNodeIndent + indentSize ) ;
385
393
} ,
386
- JSXText ( node ) {
387
- if ( ! node . parent ) {
388
- return ;
389
- }
390
- const parentNodeIndent = getNodeIndent ( node . parent ) ;
391
- checkJSXTextNodeIndent ( node , parentNodeIndent + indentSize ) ;
392
- }
394
+ Literal : handleLiteral ,
395
+ JSXText : handleLiteral
393
396
} ;
394
397
}
395
398
} ;
0 commit comments