Closed
Description
Overview
In Vue + TypeScript project, @typescript-eslint/no-unused-vars
errors are reported with incorrect line numbers. This behavior occurs only on import statement.
Repro
Reproduction repository for this issue is here.
// .eslintrc.js
module.exports = {
root: true,
env: {
es6: true,
browser: true,
node: true,
},
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
ecmaVersion: 2020,
sourceType: 'module',
extraFileExtensions: ['.vue'],
},
plugins: ['@typescript-eslint'],
rules: {
'no-unused-vars': 0,
'@typescript-eslint/no-unused-vars': 2,
},
};
<template>
<div>
<!-- actually "no-unused-vars" error is reported at line 4 -->
<p>foo</p>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
// the error should be reported at line 11
import Button from './Button.vue';
export default Vue.extend({});
</script>
Expected Result
An error is reported like 11:8 error 'Button' is defined but never used @typescript-eslint/no-unused-vars
in the above example.
Actual Result
An error 4:8 error 'Button' is defined but never used @typescript-eslint/no-unused-vars
is reported.