Update TSLint Errors : Could not find implementations for the following rules specified in the configuration
I was in the same boat. I don't know what your previous version of tslint was, but, for me, I upgraded from 3.15.1 to 4.0.2 and my resulting "broken rule" list is different than yours. Still, I can offer you a few fixes/explanations to the ones you and I had in common.
I just went to the tslint's changelog on GitHub, found the rule that was broken, got the issue number at the end of the line, & looked up the issue. Easiest way to navigate was to add the issue number to the end of their GitHub issue URL. For example, label-undefined was http//github.com/palantir/tslint/issues/877
Here's the ones I had to figure out
- label-undefined -> typescript compiler handles this now, so remove
"label-undefined": true
from tslint.json and then add"allowUnusedLabels": false
to the compilerOptions section of your tsconfig.json - no-constructor-vars -> renamed the rule, so change
"no-constructor-vars"
to"no-parameter-properties"
in your tslint.json - no-duplicate-key -> remove
"no-duplicate-key": true
altogether b/c typescript now handles it (won't compile if dup keys). - no-unreachable -> typescript compiler handles this now, so remove
"no-unreachable": true
from tslint.json and then add"noImplicitReturns": true
to the compilerOptions section of your tsconfig.json - use-strict -> remove
"use-strict"
rule altogether b/c typescript now parses all module bodies in strict mode.
As of, codelyzer 2.0.0-beta.1 there are some breaking changes. They removed directive-selector-name, component-selector-name, directive-selector-type, component-selector-type, directive-selector-prefix and component-selector-prefix are no longer supported. Instead, they added the below rule:
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
Please look at the changelog for the codelyzer and search for any rule that is not supported
tslint v4 removed a bunch of rules that no longer made sense and TypeScript checking got better. You need to use tslint v3 if you still want to use those rules.