Skip to content

[prefer-import-tag] TypeError: Cannot read properties of null (reading 'range') #1549

@reduckted

Description

@reduckted

Expected behavior

Expected prefer-import-tag reports the use of @type {import(foo')}.

Actual behavior

ESLint fails.

TypeError: Cannot read properties of null (reading 'range')
Occurred while linting test.js:2
Rule: "jsdoc/prefer-import-tag"
    at SourceCode.getRange (node_modules\eslint\lib\languages\js\source-code\source-code.js:979:22)
    at RuleFixer.insertTextBefore (node_modules\eslint\lib\linter\rule-fixer.js:97:34)
    at node_modules/eslint-plugin-jsdoc/src/rules/preferImportTag.js:367:26
    at Object.fix (node_modules/eslint-plugin-jsdoc/src/iterateJsdoc.js:806:24)
    at normalizeFixes (node_modules\eslint\lib\linter\file-report.js:297:25)
    at FileReport.addRuleMessage (node_modules\eslint\lib\linter\file-report.js:559:8)
    at FileContext.report (node_modules\eslint\lib\linter\linter.js:1111:28)
    at report (node_modules/eslint-plugin-jsdoc/src/iterateJsdoc.js:1932:13)
    at utils.reportJSDoc (node_modules/eslint-plugin-jsdoc/src/iterateJsdoc.js:803:5)
    at node_modules/eslint-plugin-jsdoc/src/rules/preferImportTag.js:360:15

ESLint Config

import jsdoc from 'eslint-plugin-jsdoc';
import { defineConfig } from 'eslint/config';

export default defineConfig({
    files: ['**/*.js'],
    plugins: { jsdoc },
    rules: { 'jsdoc/prefer-import-tag': 'warn' },
});

ESLint sample

/** @type {import('foo')} */
let foo;

Environment

  • Node version: 22.13.1
  • ESLint version 9.36.0
  • eslint-plugin-jsdoc version: 60.6.0

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions