Missing scopes when parsing <script> with custom parser
DMartens opened this issue · comments
Before You File a Bug Report Please Confirm You Have Done The Following...
- I'm using eslint-plugin-vue.
- I'm sure the problem is a parser problem. (If you are not sure, search for the issue in eslint-plugin-vue repo and open the issue in eslint-plugin-vue repo if there is no solution.
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
What version of ESLint are you using?
8.57.0
What version of eslint-plugin-vue
and vue-eslint-parser
are you using?
- vue-eslint-parser@9.4.2
- eslint-plugin-vue: irrelevant
What did you do?
Configuration
import * as vue from 'vue-eslint-parser';
export default [{
languageOptions: {
parser: vue,
parserOptions: { parser: { ts: '@typescript-eslint/parser' } }
}
}]
<script setup lang="ts">
function fn() {}
</script>
What did you expect to happen?
There is a child scope for the function declaration nested in the module
scope.
What actually happened?
The module
scope has no child scopes.
Link to Minimal Reproducible Example
https://github.com/DMartens/vue-eslint-parser-script-custom-parser-scope
Additional comments
This only happens when using a custom parser via the lang
attribute.