{"id":41047,"library":"eslint-tap","title":"eslint-tap","description":"TAP (Test Anything Protocol) formatter for ESLint. Version 2.0.1 is the latest stable release. This package provides a formatter that outputs ESLint results in TAP format, which is commonly used in test harnesses. It is a simple, single-purpose tool with no dependencies. Compared to other ESLint formatters like 'eslint-formatter-tap', this one is maintained by Sindre Sorhus and has a straightforward CLI usage. It supports Node.js >=4 and works with ESLint's --format flag or through grunt-eslint.","status":"active","version":"2.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/sindresorhus/eslint-tap","tags":["javascript","eslint","eslint-formatter","formatter","reporter","lint","validate","tap","test"],"install":[{"cmd":"npm install eslint-tap","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-tap","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-tap","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"This package is not imported directly; it's referenced by ESLint's --format option as a path to the module.","wrong":"// Using require directly is unnecessary; the package is used as a formatter path string","symbol":"default (as formatter)","correct":"// ESLint CLI: eslint --format=node_modules/eslint-tap file.js"},{"note":"In ESLint config, use 'formatter' key, not 'format'.","wrong":"// Incorrect: { \"format\": \"eslint-tap\" } (format is for CLI, not config)","symbol":"ESLint config","correct":"// In .eslintrc: { \"formatter\": \"node_modules/eslint-tap\" }"},{"note":"In grunt-eslint, the format option must be the full path to the module.","wrong":"// Wrong path: format: 'eslint-tap' (needs full path)","symbol":"grunt-eslint usage","correct":"grunt.initConfig({ eslint: { options: { format: 'node_modules/eslint-tap' } } });"}],"quickstart":{"code":"// Install: npm install --save-dev eslint eslint-tap\n// Run ESLint with TAP formatter:\neslint --format=node_modules/eslint-tap file.js\n// Or using npx:\nnpx eslint --format=node_modules/eslint-tap file.js","lang":"javascript","description":"Shows how to use eslint-tap as a formatter with ESLint CLI, using either direct command or npx."},"warnings":[{"fix":"Use full path: 'node_modules/eslint-tap' instead of just 'eslint-tap'.","message":"Format path must be absolute or relative to current working directory","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider alternatives like 'eslint-formatter-tap' or use 'eslint --format tap' if available.","message":"Package is unmaintained since 2019; no updates for ESLint v7+","severity":"deprecated","affected_versions":">=2.0.1"},{"fix":"Use ESLint's built-in TAP formatter if available, or migrate to a compatible formatter.","message":"ESLint v9 removed --format support for non-built-in formatters; this package may not work","severity":"gotcha","affected_versions":">=9.0.0"},{"fix":"No workaround; the output is fixed.","message":"The package does not support custom TAP output options (e.g., verbose, timeout)","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'2.0.1':12 '4':74 'anyth':6 'cli':69 'common':32 'compar':48 'depend':47 'eslint':2,10,25,51,55,78,86,88,90 'eslint-formatt':89 'eslint-formatter-tap':54 'eslint-tap':1 'flag':81 'format':29,80 'formatt':8,22,52,56,91,92 'grunt':85 'grunt-eslint':84 'har':36 'javascript':87 'latest':15 'like':53 'lint':94 'maintain':61 'node.js':73 'one':59 'output':24 'packag':19 'protocol':7 'provid':20 'purpos':43 'releas':17 'report':93 'result':26 'simpl':40 'sindr':63 'singl':42 'single-purpos':41 'sorhus':64 'stabl':16 'straightforward':68 'support':72 'tap':3,4,28,57,96 'test':5,35,97 'tool':44 'usag':70 'use':33 'valid':95 'version':11 'work':76","created_at":"2026-06-04T18:50:31.219425+00:00","updated_at":"2026-06-04T18:50:31.219425+00:00","problems":[{"fix":"Use --format=node_modules/eslint-tap","cause":"Using --format=eslint-tap without full path","error":"Cannot find module 'eslint-tap'"},{"fix":"Ensure npm install ran and run from project root.","cause":"Running command from wrong directory or missing node_modules","error":"Error: Cannot find module 'node_modules/eslint-tap'"},{"fix":"Update ESLint to a supported version (<=8) or use a different formatter.","cause":"ESLint version incompatible with formatter","error":"TypeError: formatter is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/sindresorhus/eslint-tap#readme","github":"https://github.com/sindresorhus/eslint-tap","docs":null,"changelog":null,"pypi":null,"npm":"eslint-tap","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-04","next_check":"2026-09-02","install_tag":null}}