Skip to content

Incorrect line number with @typescript-eslint/no-unused-vars errors on import statement #84

Closed
@nokazn

Description

@nokazn

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions