{"id":20190,"library":"lint-to-the-future-eslint","title":"lint-to-the-future-eslint","description":"A plugin for lint-to-the-future that integrates with ESLint to track and manage eslint-disable comments across projects. Current stable version is 3.3.0. Release cadence is irregular, with minor releases every few months. Key differentiators: allows incremental adoption of ESLint rules by tracking disable directives, supports both flat config (ESLint >=9) and legacy .eslintrc, and provides a remove API to clean up stale disable comments. Peer dependency on ESLint ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0. Requires Node.js >=18 since v3.0.0. Uses globby for file filtering since v3.1.0.","status":"active","version":"3.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/mansona/lint-to-the-future-eslint","tags":["javascript"],"install":[{"cmd":"npm install lint-to-the-future-eslint","lang":"bash","label":"npm"},{"cmd":"yarn add lint-to-the-future-eslint","lang":"bash","label":"yarn"},{"cmd":"pnpm add lint-to-the-future-eslint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core framework that provides the tracking and reporting infrastructure.","package":"lint-to-the-future","optional":false},{"reason":"Peer dependency required to lint files and parse eslint-disable comments.","package":"eslint","optional":false}],"imports":[{"note":"Package exports a single default object. In CommonJS, use require('lint-to-the-future-eslint').","wrong":"const { LintToTheFutureEslint } = require('lint-to-the-future-eslint')","symbol":"default (plugin object)","correct":"import lintToTheFutureEslint from 'lint-to-the-future-eslint'"},{"note":"TypeScript typings are included. The Plugin type is for usage with lint-to-the-future's configuration.","symbol":"Plugin (TypeScript type)","correct":"import type { Plugin } from 'lint-to-the-future-eslint'"}],"quickstart":{"code":"// Add lint-to-the-future-eslint to your lint-to-the-future configuration\n// .lint-to-the-future.json\n{\n  \"plugins\": [\"lint-to-the-future-eslint\"],\n  \"files\": [\"src/**/*.js\", \"src/**/*.ts\", \"src/**/*.gjs\", \"src/**/*.gts\"],\n  \"eslint\": {}\n}\n\n// Run lint-to-the-future to generate report\n// npx lint-to-the-future build\n\n// Example programmatic usage\nimport lintToTheFutureEslint from 'lint-to-the-future-eslint';\n\nconst result = await lintToTheFutureEslint({\n  cwd: process.cwd(),\n  globs: ['src/**/*.js'],\n  eslintOptions: { overrideConfig: { rules: { 'no-console': 'warn' } } }\n});\n\nconsole.log(result); // { files: [...], stats: { total: 10, disabled: 3 } }","lang":"typescript","description":"Demonstrates basic configuration and programmatic usage of lint-to-the-future-eslint with lint-to-the-future, including flat config support."},"warnings":[{"fix":"Upgrade Node.js to >=18 and ESLint to ^8.0.0 || ^9.0.0.","message":"Version 3.0.0 drops support for Node.js <18 and ESLint 7. Ensure your runtime is Node >=18 and ESLint >=8.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Migrate to ESLint flat config (eslint.config.js) for forward compatibility.","message":"ESLint legacy .eslintrc format is still supported but may be removed in a future major version. Flat config is preferred.","severity":"deprecated","affected_versions":">=3.3.0"},{"fix":"Ensure your disable comments are formatted as eslint-disable blocks to be detected.","message":"The plugin only processes eslint-disable comments. Other disable directives like eslint-disable-next-line are not tracked unless they span multiple lines.","severity":"gotcha","affected_versions":"all"},{"fix":"Review your lint-to-the-future configuration's files glob pattern.","message":"File filtering uses globby since v3.1.0. Custom file patterns may need adjustment if you were relying on previous filtering behavior.","severity":"gotcha","affected_versions":">=3.1.0"},{"fix":"If you need to ignore disable comments, use a custom ESLint configuration that overrides noInlineConfig.","message":"The plugin does not support ESLint's --no-inline-config flag; inline disable comments are always considered.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install lint-to-the-future-eslint --save-dev` or `yarn add lint-to-the-future-eslint --dev`.","cause":"The package is not installed or is missing from node_modules.","error":"Error: Cannot find module 'lint-to-the-future-eslint'"},{"fix":"Use `import lintToTheFutureEslint from 'lint-to-the-future-eslint'` or `const lintToTheFutureEslint = require('lint-to-the-future-eslint')`.","cause":"The plugin is used incorrectly in lint-to-the-future configuration (e.g., imported as a named export instead of default).","error":"TypeError: plugin is not a function"},{"fix":"Install the package: `npm install lint-to-the-future-eslint --save-dev` and ensure it's added to eslint's plugins.","cause":"The plugin is listed in eslint's plugins array but not installed.","error":"ESLint configuration error: 'lint-to-the-future-eslint' plugin not found"},{"fix":"Either use dynamic import() or switch to ESM for your project: add `\"type\": \"module\"` to package.json and use import syntax.","cause":"Using CommonJS require() to load the package which is ESM-only in newer versions.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module not supported"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}