@@ -357,6 +357,7 @@ module.exports = {
357357 ! context . options [ 1 ] || context . options [ 1 ] . usePrettierrc !== false ;
358358 const sourceCode = context . getSourceCode ( ) ;
359359 const source = sourceCode . text ;
360+ const sourceFileName = context . getFilename ( ) ;
360361
361362 // The pragma is only valid if it is found in a block comment at the very
362363 // start of the file.
@@ -401,48 +402,55 @@ module.exports = {
401402 usePrettierrc &&
402403 prettier . resolveConfig &&
403404 prettier . resolveConfig . sync
404- ? prettier . resolveConfig . sync ( context . getFilename ( ) , {
405+ ? prettier . resolveConfig . sync ( sourceFileName , {
405406 editorconfig : true
406407 } )
407408 : null ;
408409 const prettierOptions = Object . assign (
409410 { } ,
410411 prettierRcOptions ,
411412 eslintPrettierOptions ,
412- { filepath : context . getFilename ( ) }
413+ { filepath : sourceFileName }
413414 ) ;
414-
415415 const prettierSource = prettier . format ( source , prettierOptions ) ;
416- if ( source !== prettierSource ) {
417- const differences = generateDifferences ( source , prettierSource ) ;
418-
419- differences . forEach ( difference => {
420- switch ( difference . operation ) {
421- case OPERATION_INSERT :
422- reportInsert (
423- context ,
424- difference . offset ,
425- difference . insertText
426- ) ;
427- break ;
428- case OPERATION_DELETE :
429- reportDelete (
430- context ,
431- difference . offset ,
432- difference . deleteText
433- ) ;
434- break ;
435- case OPERATION_REPLACE :
436- reportReplace (
437- context ,
438- difference . offset ,
439- difference . deleteText ,
440- difference . insertText
441- ) ;
442- break ;
443- }
444- } ) ;
445- }
416+
417+ prettier . getFileInfo ( sourceFileName , {
418+ ignorePath : '.prettierignore'
419+ } ) . then ( ( sourceFileInfo ) => {
420+ if ( sourceFileInfo . ignored && source !== prettierSource ) {
421+ const differences = generateDifferences ( source , prettierSource ) ;
422+
423+ differences . forEach ( difference => {
424+ switch ( difference . operation ) {
425+ case OPERATION_INSERT :
426+ reportInsert (
427+ context ,
428+ difference . offset ,
429+ difference . insertText
430+ ) ;
431+ break ;
432+ case OPERATION_DELETE :
433+ reportDelete (
434+ context ,
435+ difference . offset ,
436+ difference . deleteText
437+ ) ;
438+ break ;
439+ case OPERATION_REPLACE :
440+ reportReplace (
441+ context ,
442+ difference . offset ,
443+ difference . deleteText ,
444+ difference . insertText
445+ ) ;
446+ break ;
447+ }
448+ } ) ;
449+ }
450+ } ) . catch ( ( ) => {
451+ // catches UnhandledPromiseRejectionWarnings caused
452+ // by RangeErrors.
453+ } ) ;
446454 }
447455 } ;
448456 }
0 commit comments