{"id":19753,"library":"eslint-plugin-file-progress-2","title":"eslint-plugin-file-progress-2","description":"ESLint plugin that prints real-time file processing progress and detailed summaries during lint runs. Version 5.1.0 (stable, released April 2026) requires Node >=22 and ESLint ^9.0.0 || ^10.2.1. Supports TypeScript with full type declarations. Key differentiators: customizable prefix marks, directory name hiding, prefix hiding, dual ESM/CJS exports, and presets like 'recommended-detailed' for throughput metrics. Active development with frequent releases.","status":"active","version":"5.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/Nick2bad4u/eslint-plugin-file-progress-2","tags":["javascript","eslint","eslintplugin","eslint-plugin","eslint-plugin-file-progress","eslint-plugin-file-progress-2","eslint-progress","progress","typescript"],"install":[{"cmd":"npm install eslint-plugin-file-progress-2","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-file-progress-2","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-file-progress-2","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for plugin integration","package":"eslint","optional":false},{"reason":"peer dependency for TypeScript support","package":"typescript","optional":true}],"imports":[{"note":"ESM-only since v5; CJS users must use dynamic import or upgrade to Node >=22 with --experimental-require-module.","wrong":"const plugin = require('eslint-plugin-file-progress-2')","symbol":"default","correct":"import plugin from 'eslint-plugin-file-progress-2'"},{"note":"Named export for rules object; CJS require will throw in v5+.","wrong":"const { rules } = require('eslint-plugin-file-progress-2')","symbol":"rules","correct":"import { rules } from 'eslint-plugin-file-progress-2'"},{"note":"Configs are a named export from the main entry point, not a separate path.","wrong":"import configs from 'eslint-plugin-file-progress-2/configs'","symbol":"configs","correct":"import { configs } from 'eslint-plugin-file-progress-2'"},{"note":"TypeScript type export available for configuring plugin settings.","symbol":"PluginConfig","correct":"import type { PluginConfig } from 'eslint-plugin-file-progress-2'"}],"quickstart":{"code":"import plugin from 'eslint-plugin-file-progress-2';\nimport { configs } from 'eslint-plugin-file-progress-2';\n\nexport default [\n  ...configs.recommended,\n  {\n    plugins: {\n      'file-progress-2': plugin\n    },\n    settings: {\n      progress: {\n        prefixMark: '⏳',\n        successMark: '✅',\n        failureMark: '❌',\n        hidePrefix: false,\n        hideDirectoryNames: false,\n        fileNameOnNewLine: false\n      }\n    }\n  }\n];","lang":"typescript","description":"Shows ESLint flat config with plugin import, recommended preset, and custom progress settings."},"warnings":[{"fix":"Use dynamic import() or switch to ESM in your project.","message":"Version 5.0.0 changed plugin entry to ESM-only; CJS require() will fail.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Upgrade Node.js to v22 or later.","message":"Node.js >=22.0.0 required as of v5; older versions will not work.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Use `settings.progress.prefixMark` instead of overriding the prefix directly.","message":"The `progress.prefixMark` option was added in v3.4.0; previous customization of prefix symbol is no longer supported.","severity":"deprecated","affected_versions":"<3.4.0"},{"fix":"Set prefixMark to a unique character or emoji.","message":"The prefix mark defaults to a checkmark/cross; if you set a custom prefixMark, ensure it does not conflict with success/failure marks.","severity":"gotcha","affected_versions":">=3.4.0"},{"fix":"Use explicit imports from the ESM path (index.js) for bundlers.","message":"Dual export map (main/module) in v3.4.3 may cause resolution issues in some bundlers if both fields are present.","severity":"gotcha","affected_versions":"3.4.3"}],"env_vars":null,"search_vec":"'10.2.1':35 '2':6,85 '2026':28 '22':31 '5.1.0':24 '9.0.0':34 'activ':64 'april':27 'customiz':44 'declar':41 'detail':18,60 'develop':65 'differenti':43 'directori':47 'dual':52 'eslint':2,7,33,70,73,76,81,87 'eslint-plugin':72 'eslint-plugin-file-progress':1,75,80 'eslint-progress':86 'eslintplugin':71 'esm/cjs':53 'export':54 'file':4,14,78,83 'frequent':67 'full':39 'hide':49,51 'javascript':69 'key':42 'like':57 'lint':21 'mark':46 'metric':63 'name':48 'node':30 'plugin':3,8,74,77,82 'prefix':45,50 'preset':56 'print':10 'process':15 'progress':5,16,79,84,88,89 'real':12 'real-tim':11 'recommend':59 'recommended-detail':58 'releas':26,68 'requir':29 'run':22 'stabl':25 'summari':19 'support':36 'throughput':62 'time':13 'type':40 'typescript':37,90 'version':23","created_at":"2026-04-25T11:19:28.484555+00:00","updated_at":"2026-04-25T11:19:28.484555+00:00","problems":[{"fix":"Use `import plugin from 'eslint-plugin-file-progress-2'` or set `type: 'module'` in package.json.","cause":"CJS require() used with v5 ESM-only plugin.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/node_modules/eslint-plugin-file-progress-2/dist/index.js from /path/to/project/file.js not supported."},{"fix":"Switch to ESM import syntax: `import { rules } from 'eslint-plugin-file-progress-2'`.","cause":"CJS require() of plugin returns undefined because v5 is ESM-only.","error":"TypeError: Cannot destructure property 'rules' of 'require(...)' as it is undefined."},{"fix":"Use `import { configs } from 'eslint-plugin-file-progress-2'` directly.","cause":"Importing configs from a subpath instead of main entry.","error":"Error: Cannot find module 'eslint-plugin-file-progress-2/configs'"},{"fix":"Upgrade Node to v22 or later.","cause":"Node version below 22.","error":"The engine \"node\" is incompatible with this module. Expected version \">=22.0.0\". Got \"18.0.0\""}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/Nick2bad4u/eslint-plugin-file-progress-2","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/eslint-plugin-file-progress-2","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-07-24","install_tag":null}}