{"id":19639,"library":"eslint-formatter-azure-devops","title":"ESLint Azure DevOps Formatter","description":"An ESLint formatter that outputs errors and warnings as Azure DevOps (Azure Pipelines, TFS/VSTS) logging commands, enabling direct integration with build and release pipelines. Current stable version is 1.2.1 (Dec 2024). Released under MIT license by Engage Software. Features: supports both error and warning logging, optional task completion markers (partial success for warnings via ESLINT_AZDO_LOG_TASK_COMPLETE), max-warnings support since v1.1.0. Requires Node.js >=14. ESM-only since v1.0.0. Key differentiator: native integration with Azure DevOps pipeline log commands, no dependencies beyond ESLint.","status":"active","version":"1.2.1","language":"javascript","source_language":"en","source_url":"https://github.com/EngageSoftware/eslint-formatter-azure-devops","tags":["javascript","eslint","formatter","vso","tfs","vsts","azure devops"],"install":[{"cmd":"npm install eslint-formatter-azure-devops","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-formatter-azure-devops","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-formatter-azure-devops","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; the formatter is loaded by ESLint's formatter system","package":"eslint","optional":false}],"imports":[{"note":"This package is not a standard JavaScript module; it is loaded by ESLint's formatter resolution. For Node.js API usage, use ESLint's loadFormatter() method, not direct require/import.","wrong":"require('eslint-formatter-azure-devops')","symbol":"eslint-formatter-azure-devops","correct":"import('eslint-formatter-azure-devops')"},{"note":"Both -f and --format work. Use the npm package name as the value.","wrong":"eslint -f eslint-formatter-azure-devops src/","symbol":"formatter (ESLint CLI)","correct":"eslint --format eslint-formatter-azure-devops src/"},{"note":"ESLint's Node.js API requires loadFormatter() to locate the formatter by name.","wrong":"const formatter = require('eslint-formatter-azure-devops');","symbol":"eslint.loadFormatter","correct":"const eslint = new ESLint(); const formatter = await eslint.loadFormatter('eslint-formatter-azure-devops');"}],"quickstart":{"code":"// Ensure ESLint is installed\n// Run ESLint with the Azure DevOps formatter\nnpx eslint --format eslint-formatter-azure-devops src/\n\n// For task partial success on warnings, set environment variable\ncross-env ESLINT_AZDO_LOG_TASK_COMPLETE=true npx eslint --format eslint-formatter-azure-devops src/","lang":"typescript","description":"Run ESLint with Azure DevOps logging commands output for pipeline integration."},"warnings":[{"fix":"Upgrade Node.js to version 14 or higher.","message":"Drop Node 12 support, require Node >=14","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Upgrade to v1.1.0 or later to use --max-warnings.","message":"max-warnings support added in v1.1.0; earlier versions silently ignore --max-warnings","severity":"deprecated","affected_versions":"<1.1.0"},{"fix":"Set the environment variable before running ESLint: ESLINT_AZDO_LOG_TASK_COMPLETE=true","message":"Boolean environment variable ESLINT_AZDO_LOG_TASK_COMPLETE must be set to a truthy value","severity":"deprecated","affected_versions":">=1.2.0"},{"fix":"Ensure eslint-formatter-azure-devops is in the local node_modules (npm install --save-dev eslint-formatter-azure-devops)","message":"Formatters are resolved relative to the current working directory if not installed globally or in the project's node_modules","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install the package: npm install --save-dev eslint-formatter-azure-devops","cause":"The package is not installed or ESLint cannot locate it.","error":"Error: Failed to load formatter 'eslint-formatter-azure-devops'"},{"fix":"Use ESLint's loadFormatter() method or CLI --format flag.","cause":"Direct require() of the package outside ESLint's formatter resolution.","error":"Cannot find module 'eslint-formatter-azure-devops'"},{"fix":"Do not import the formatter directly; let ESLint load it internally.","cause":"Attempting to import the package as a JavaScript module directly.","error":"The formatter did not return a function."},{"fix":"Set ESLINT_AZDO_LOG_TASK_COMPLETE to any non-empty value (e.g., 'true') before invoking ESLint.","cause":"Environment variable not set before ESLint execution or set to an empty string.","error":"Warning: Task is not marked as partially succeeded even with ESLINT_AZDO_LOG_TASK_COMPLETE set"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}