{"id":27478,"library":"tslint-eslint-rules","title":"tslint-eslint-rules","description":"tslint-eslint-rules provides ESLint rules as TSLint plugins, allowing developers to use familiar ESLint linting rules within the TSLint ecosystem for TypeScript projects. The current stable version is 5.4.0, released with peer dependencies on tslint ^5.0.0 and TypeScript ^2.2.0 or ^3.0.0. The project is actively maintained and includes over 50 rules covering possible errors, best practices, and stylistic concerns. It differentiates from alternatives by bridging the gap between ESLint and TSLint, offering a familiar rule set for teams migrating or combining tools.","status":"active","version":"5.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/buzinas/tslint-eslint-rules","tags":["javascript","eslint","tslint","custom-rules","rules","stylish","lint","linting","linter"],"install":[{"cmd":"npm install tslint-eslint-rules","lang":"bash","label":"npm"},{"cmd":"yarn add tslint-eslint-rules","lang":"bash","label":"yarn"},{"cmd":"pnpm add tslint-eslint-rules","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required as a peer dependency; the plugin extends TSLint's rule system.","package":"tslint","optional":false},{"reason":"Required as a peer dependency; needed for type-checking rules.","package":"typescript","optional":false}],"imports":[{"note":"In tslint.json, use an array to extend. Using a string may not resolve correctly.","wrong":"extends: 'tslint-eslint-rules'","symbol":"tslint-eslint-rules","correct":"extends: ['tslint-eslint-rules']"},{"note":"TSLint rules use boolean or object, not strings like ESLint. Use true/false or an options object.","wrong":"\"no-constant-condition\": \"error\"","symbol":"no-constant-condition","correct":"\"no-constant-condition\": true"},{"note":"Severity levels in TSLint are not strings; use true or object for config.","wrong":"\"no-control-regex\": \"warn\"","symbol":"no-control-regex","correct":"\"no-control-regex\": true"}],"quickstart":{"code":"// tslint.json\n{\n  \"extends\": [\"tslint-eslint-rules\"],\n  \"rules\": {\n    \"no-constant-condition\": true,\n    \"no-control-regex\": true\n  }\n}","lang":"json","description":"Shows how to extend tslint-eslint-rules in tslint.json and enable two rules with boolean true."},"warnings":[{"fix":"Update TypeScript to ^2.2.0 and tslint to ^5.0.0.","message":"Version 4.0.0 dropped support for TypeScript < 2.2 and tslint < 5.0.0.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Migrate to ESLint with @typescript-eslint/parser and @typescript-eslint/eslint-plugin.","message":"TSLint is deprecated in favor of ESLint with typescript-eslint parser. This package may not receive further updates.","severity":"deprecated","affected_versions":"*"},{"fix":"Use camelCase rule names, e.g., 'noConstantCondition' but note the package uses native ESLint names? Actually, the rules are named with kebab-case in the JSON configuration. Check docs.","message":"Rule names in tslint-eslint-rules use camelCase instead of kebab-case used in ESLint.","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure tslint.json extends 'tslint-eslint-rules' and the rule name is spelled correctly.","cause":"The rule is not enabled or the plugin is not extended correctly.","error":"Could not find rule: 'no-constant-condition'"},{"fix":"Use ES module imports: import * as rules from 'tslint-eslint-rules';","cause":"Mixing CommonJS require with TypeScript modules.","error":"Require statement not part of import statement"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}