File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed
Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -14,7 +14,8 @@ function defineTemplateBodyVisitor(
1414 templateVisitor : TemplateListener ,
1515 scriptVisitor ?: Rule . RuleListener
1616) {
17- if ( ! context . parserServices . defineTemplateBodyVisitor ) {
17+ const parserServices = getParserServices ( context ) ;
18+ if ( ! parserServices . defineTemplateBodyVisitor ) {
1819 if ( path . extname ( context . getFilename ( ) ) === ".vue" ) {
1920 context . report ( {
2021 loc : { line : 1 , column : 0 } ,
@@ -26,10 +27,19 @@ function defineTemplateBodyVisitor(
2627 return { } ;
2728 }
2829
29- return context . parserServices . defineTemplateBodyVisitor (
30+ return parserServices . defineTemplateBodyVisitor (
3031 templateVisitor ,
3132 scriptVisitor
3233 ) ;
3334}
3435
36+ /**
37+ * This function is API compatible with eslint v8.x and eslint v9 or later.
38+ * @see https://eslint.org/blog/2023/09/preparing-custom-rules-eslint-v9/#from-context-to-sourcecode
39+ */
40+ function getParserServices ( context : Rule . RuleContext ) {
41+ // @ts -expect-error TODO: remove this when eslint v8 support is dropped
42+ return context . sourceCode ? context . sourceCode . parserServices : context . parserServices
43+ }
44+
3545export default defineTemplateBodyVisitor ;
You can’t perform that action at this time.
0 commit comments