{"id":19752,"library":"eslint-plugin-file-progress","title":"eslint-plugin-file-progress","description":"An ESLint plugin that displays a file-by-file progress indicator during linting. Current stable version is v3.0.2 (latest release), with v4.0.0-beta.1 targeting ESLint v10. Released under MIT. Key differentiators: minimal dependencies (nanospinner, picocolors), provides recommended config presets, supports hiding progress in CI via settings or the 'recommended-ci' config. Requires Node.js ^20.19.0 || ^22.13.0 || >=24.0.0 and ESLint >=9 (v3) or >=10 (v4 beta).","status":"active","version":"4.0.0-beta.1","language":"javascript","source_language":"en","source_url":"https://github.com/sibiraj-s/eslint-plugin-file-progress","tags":["javascript","eslint","eslint-plugin","eslint-plugin-file-progress","eslint-progress","eslintplugin","progress","typescript"],"install":[{"cmd":"npm install eslint-plugin-file-progress","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-file-progress","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-file-progress","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency: plugin requires ESLint to run","package":"eslint","optional":false},{"reason":"runtime dependency: used for terminal spinner animation","package":"nanospinner","optional":false},{"reason":"runtime dependency: used for terminal text coloring","package":"picocolors","optional":false}],"imports":[{"note":"ESM-only since v2. CommonJS require does not work; use dynamic import if needed.","wrong":"const progress = require('eslint-plugin-file-progress')","symbol":"default","correct":"import progress from 'eslint-plugin-file-progress'"},{"note":"configs is a property of the default export, not a named export.","wrong":"import { configs } from 'eslint-plugin-file-progress'","symbol":"configs","correct":"import progress from 'eslint-plugin-file-progress';\nexport default [progress.configs.recommended]"},{"note":"rules is a property of the default export. Named import of rules is incorrect.","wrong":"import { rules } from 'eslint-plugin-file-progress'","symbol":"rules","correct":"import progress from 'eslint-plugin-file-progress';\n// then use progress.rules['progress/activate']"}],"quickstart":{"code":"import progress from 'eslint-plugin-file-progress';\n\nexport default [\n  progress.configs.recommended,\n  {\n    name: 'custom-progress',\n    rules: {\n      'progress/activate': 1,\n    },\n    settings: {\n      progress: {\n        hide: false,\n        hideFileName: false,\n        successMessage: 'Lint done...',\n      },\n    },\n  },\n];","lang":"typescript","description":"ESLint flat config (eslint.config.js/ts) using the recommended config preset and custom settings."},"warnings":[{"fix":"Use eslint-plugin-file-progress@^4.0.0-beta.1 with ESLint v10, or stick with ESLint v9.","message":"ESLint v10 support requires plugin v4.x (currently beta). v3.x does not work with ESLint v10.","severity":"breaking","affected_versions":">=3.0.0 <4.0.0"},{"fix":"Use dynamic import() in CommonJS files or migrate to ESM. ESLint v9+ supports flat config.","message":"Plugin v2 and later are ESM-only and require ESLint v9 or higher. Node.js require() will fail.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use progress.configs['recommended-ci'] instead of progress.configs.noCI.","message":"In v3.0.0, the 'noCI' config preset was renamed to 'recommended-ci'. The old 'noCI' is no longer available.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use 'progress/activate': 1 in your config.","message":"The 'progress/activate' rule must be set to severity 1 (warn) or 2 (error) to enable the progress output. Setting it to 0 disables the plugin entirely.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Set settings.progress.hide: true in your config for non-standard CI environments.","message":"The 'recommended-ci' config automatically hides progress when the CI environment variable is set to 'true'. In environments where CI is not set, you must manually set settings.progress.hide: true.","severity":"gotcha","affected_versions":">=3.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'npm install -D eslint-plugin-file-progress' or 'yarn add --dev eslint-plugin-file-progress'.","cause":"Plugin not installed as a dev dependency.","error":"Error: Cannot find module 'eslint-plugin-file-progress'"},{"fix":"Use 'const progress = (await import('eslint-plugin-file-progress')).default;' or switch to ESM.","cause":"Using default import in a CommonJS file with require.","error":"TypeError: progress is not a function"},{"fix":"Use 'progress.configs.recommended' in flat config.","cause":"Using an incorrect config name (e.g., 'progress/recommended' instead of the correct property access).","error":"ESLint couldn't find the config 'progress/recommended'."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}