33module . exports = {
44 configs : {
55 "getify-says" : {
6- plugins : [ "@getify/proper-arrows" , ] ,
76 rules : {
87 "@getify/proper-arrows/params" : [ "error" , { "unused" : "trailing" , "count" : 2 , "length" : 3 , "allowed" : [ "e" , "v" , "cb" , "fn" , "pr" , ] , } , ] ,
98 "@getify/proper-arrows/name" : "error" ,
@@ -110,7 +109,8 @@ module.exports = {
110109
111110 // handle "unused" mode
112111 if ( ! noneUnusedMode ) {
113- let scope = context . getScope ( ) ;
112+ let sourceCode = getSourceCode ( context ) ;
113+ let scope = getScope ( context , sourceCode , node ) ;
114114 let checkParamNames = checkParamIds . map ( function getName ( paramId ) {
115115 return paramId . name ;
116116 } ) ;
@@ -301,7 +301,9 @@ module.exports = {
301301 return ;
302302 }
303303
304- var globalArrow = currentlyInGlobalScope ( context . parserOptions , context . getScope ( ) ) ;
304+ var sourceCode = getSourceCode ( context ) ;
305+ var scope = getScope ( context , sourceCode , node ) ;
306+ var globalArrow = currentlyInGlobalScope ( context . parserOptions , scope ) ;
305307 var globalArrowDeclaration = (
306308 globalArrow &&
307309 node . parent . type == "VariableDeclarator"
@@ -414,12 +416,13 @@ module.exports = {
414416 var sequenceMode = defaultsOnly || ! ( "sequence" in extraOptions ) || extraOptions . sequence === true ;
415417 var ignoreTrivial = ! ( extraOptions && extraOptions . trivial === true ) ;
416418
417- var sourceCode = context . getSourceCode ( ) ;
419+ var sourceCode = getSourceCode ( context ) ;
418420 var ternaryBodyStack = new Map ( ) ;
419421
420422 return {
421423 "ConditionalExpression:exit" : function exit ( node ) {
422- var parentArrow = getParentArrowFunction ( context . getAncestors ( ) , /*onlyFromBody=*/ true ) ;
424+ var ancestors = getAncestors ( context , sourceCode , node ) ;
425+ var parentArrow = getParentArrowFunction ( ancestors , /*onlyFromBody=*/ true ) ;
423426 if ( parentArrow ) {
424427 if ( ! ternaryBodyStack . has ( parentArrow ) ) {
425428 ternaryBodyStack . set ( parentArrow , [ ] ) ;
@@ -562,7 +565,9 @@ module.exports = {
562565
563566 return {
564567 "ThisExpression" : function enter ( node ) {
565- var parentArrow = getParentArrowFunction ( context . getAncestors ( ) ) ;
568+ var sourceCode = getSourceCode ( context ) ;
569+ var ancestors = getAncestors ( context , sourceCode , node ) ;
570+ var parentArrow = getParentArrowFunction ( ancestors ) ;
566571 thisFoundIn . add ( parentArrow ) ;
567572 } ,
568573 "ArrowFunctionExpression:exit" : function exit ( node ) {
@@ -571,7 +576,9 @@ module.exports = {
571576 return ;
572577 }
573578
574- var globalArrow = currentlyInGlobalScope ( context . parserOptions , context . getScope ( ) ) ;
579+ var sourceCode = getSourceCode ( context ) ;
580+ var scope = getScope ( context , sourceCode , node ) ;
581+ var globalArrow = currentlyInGlobalScope ( context . parserOptions , scope ) ;
575582 var foundThis = thisFoundIn . has ( node ) ;
576583
577584 // `this` found in arrow function?
@@ -605,7 +612,8 @@ module.exports = {
605612
606613 // need to track nested `this`?
607614 if ( nestedThis || neverGlobalThis ) {
608- let parentArrow = getParentArrowFunction ( context . getAncestors ( ) ) ;
615+ let ancestors = getAncestors ( context , sourceCode , node ) ;
616+ let parentArrow = getParentArrowFunction ( ancestors ) ;
609617 if ( parentArrow ) {
610618 thisFoundIn . add ( parentArrow ) ;
611619 }
@@ -801,3 +809,26 @@ function currentlyInGlobalScope(parserOptions,scope) {
801809 )
802810 ) ;
803811}
812+
813+ var getSourceCode = ( context ) => {
814+ getSourceCode = ( context ) => context . sourceCode ?? context . getSourceCode ( ) ;
815+ return getSourceCode ( context ) ;
816+ } ;
817+
818+ var getScope = ( context , sourceCode , node ) => {
819+ getScope = (
820+ sourceCode . getScope ?
821+ ( context , sourceCode , node ) => sourceCode . getScope ( node ) :
822+ ( context , sourceCode , node ) => context . getScope ( )
823+ ) ;
824+ return getScope ( context , sourceCode , node ) ;
825+ } ;
826+
827+ var getAncestors = ( context , sourceCode , node ) => {
828+ getAncestors = (
829+ sourceCode . getAncestors ?
830+ ( context , sourceCode , node ) => sourceCode . getAncestors ( node ) :
831+ ( context , sourceCode , node ) => context . getAncestors ( )
832+ ) ;
833+ return getAncestors ( context , sourceCode , node ) ;
834+ } ;
0 commit comments