{"id":25864,"library":"lint-blame","title":"lint-blame","description":"A CLI tool (v0.0.11, low-activity) that filters linter output by blaming lines to specific authors or dates, enabling incremental adoption of new lint rules without rewriting the entire codebase. It pipes linter output (e.g., TSLint) and parses complaint formats (tslint4, tslint5, tsconfig), then uses git blame to retain only those lines matching a set of members or a since date. Unmaintained since 2020, no updates for Node >=10+ compatibility issues.","status":"abandoned","version":"0.0.11","language":"javascript","source_language":"en","source_url":"https://github.com/felixfbecker/lint-blame","tags":["javascript","typescript"],"install":[{"cmd":"npm install lint-blame","lang":"bash","label":"npm"},{"cmd":"yarn add lint-blame","lang":"bash","label":"yarn"},{"cmd":"pnpm add lint-blame","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only since Node 12+; package ships CommonJS, so require works, but TypeScript types are bundled.","wrong":"const blameLint = require('lint-blame')","symbol":"default","correct":"import blameLint from 'lint-blame'"},{"note":"Type-only export for TypeScript users.","wrong":null,"symbol":"LintBlameOptions","correct":"import { LintBlameOptions } from 'lint-blame'"}],"quickstart":{"code":"import blameLint from 'lint-blame';\nimport { readFileSync } from 'fs';\n\nconst tslintOutput = readFileSync('/dev/stdin', 'utf8');\nconst options = {\n  format: 'tslint5',\n  since: '2023-01-01',\n  members: [{ name: 'Developer', email: 'dev@example.com' }]\n};\nconst filtered = blameLint(tslintOutput, options);\nconsole.log(filtered);","lang":"typescript","description":"Demonstrates filtering TSLint output by date and author using lint-blame programmatically."},"warnings":[{"fix":"Run the tool from within a git repository.","message":"Requires git repository with .git directory; fails silently if not in a git repo.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use lint-staged or eslint-filtered-files instead for modern linting.","message":"Only supports TSLint formats (tslint4, tslint5, tsconfig); no ESLint or other linter support.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Ensure each member object includes both 'name' and 'email'.","message":"Option '--members' requires both name and email; missing fields cause crash.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Use shell redirection: cat lint-output.txt | lint-blame ...","message":"Pipe input must be the linter's stdout; reading from file not directly supported.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"npm install lint-blame","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'lint-blame'"},{"fix":"Verify the --format flag matches your linter output (tslint4/tslint5/tsconfig).","cause":"The linter output format does not match expected pattern.","error":"TypeError: Cannot read property 'match' of undefined"},{"fix":"Change to a git repository directory or initialize one with 'git init'.","cause":"The command must be run from within a git repository.","error":"Fatal error: Not a git repository (or any of the parent directories): .git"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}