Skip to content

unicorn/expiring-todo-comments fails with eslint 8.40.0 #2076

@AlexAegis

Description

@AlexAegis

Environment:

node: 20.1.0
pnpm: 8.4.0
eslint: 8.40.0
eslint-plugin-unicorn: 46.0.0

Running eslint gives me this error for unicorn/expiring-todo-comments:

TypeError: Cannot read properties of undefined (reading 'getAllComments')
Occurred while linting /home/alex/git/@aa/js-core/packages/common/.eslintrc.cjs:4
Rule: "unicorn/expiring-todo-comments"
    at Object.Program (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/rules/no-warning-comments.js:193:45)
    at Program (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected][email protected]/node_modules/eslint-plugin-unicorn/rules/expiring-todo-comments.js:514:10)
    at /home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected][email protected]/node_modules/eslint-plugin-unicorn/rules/utils/rule.js:39:18
    at ruleErrorHandler (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/linter/linter.js:1049:28)
    at /home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/linter/node-event-generator.js:297:26)
    at NodeEventGenerator.applySelectors (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/linter/node-event-generator.js:326:22)
    at NodeEventGenerator.enterNode (/home/alex/git/@aa/js-core/node_modules/.pnpm/[email protected]/node_modules/eslint/lib/linter/node-event-generator.js:340:14)
 ELIFECYCLE  Command failed with exit code 2.

This is the last place the trace mentions: rules/no-warning-comments.js:193:45

image

If I turn this rule off, then eslint finishes just fine.

/** @type {import('eslint').Linter.Config} */
module.exports = {
	root: true,
	extends: ['@alexaegis/eslint-config-core'],
	rules: {
		'unicorn/expiring-todo-comments': 'off',
	},
};

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions