Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Could not find implementations for the following rules..." Message after upgrading to v5.0.0-beta.1 #791

Closed
rolandschuster opened this issue Mar 18, 2019 · 9 comments

Comments

@rolandschuster
Copy link

After upgrading from Version 4.5.0 to Version 5.0.0-beta.1 i recieve the following message when linting my files:

Could not find implementations for the following rules specified in the configuration:
[ERROR]     use-input-property-decorator
[ERROR]     use-output-property-decorator
[ERROR]     use-host-property-decorator
[ERROR] Try upgrading TSLint and/or ensuring that you have all necessary custom rules installed.
[ERROR] If TSLint was recently upgraded, you may have old rules configured which need to be cleaned up.

In Version 4.5.0 linting works without this message. I also updated tslint to v5.14.0 and Angular to v7.2.9.

I am not sure if thats a bug or what i need to do to get rid of this message.

The used tsconfig.json looks like this:

{
  "rulesDirectory": ["node_modules/codelyzer"],
  "extends": ["tslint:recommended", "rxjs-tslint-rules", "tslint-etc", "./tools/pa-rules"],
  "rules": {
    "max-classes-per-file": false,
    "arrow-parens": [true, "ban-single-arg-parens"],
    "trailing-comma": false,
    "interface-name": false,

    "throw-error": true,
    "no-unused-declaration": false,

    "rxjs-add": {
      "severity": "error"
    },
    "rxjs-no-unused-add": {
      "severity": "error"
    },
    "rxjs-no-unsafe-catch": true,
    "rxjs-no-unsafe-switchmap": true,
    "rxjs-finnish": {
      "options": [
        {
          "functions": false,
          "methods": false,
          "parameters": false,
          "properties": false,
          "variables": true
        }
      ],
      "severity": "warn"
    },
    "rxjs-no-deep-operators": true,
    "rxjs-no-internal": true,
    "rxjs-no-operator": true,
    "rxjs-no-patched": true,

    "align": {
      "severity": "warn",
      "options": [true, "parameters", "statements"]
    },
    "comment-format": {
      "options": ["check-space"],
      "severity": "warn"
    },
    "deprecation": {
      "severity": "warn"
    },
    "import-blacklist": [true, "rxjs/Rx"],
    "jsdoc-format": {
      "options": "check-multiline-start"
    },
    "max-line-length": { "severity": "warn", "options": { "limit": 140, "ignore-pattern": "^ *\\*" } },
    "member-access": false,
    "member-ordering": [
      true,
      {
        "order": ["static-field", "instance-field", "constructor", "static-method", "instance-method"]
      }
    ],
    "no-console": {
      "severity": "warn"
    },
    "no-empty": false,
    "no-inferrable-types": [true, "ignore-params", "ignore-properties"],
    "no-non-null-assertion": true,
    "no-string-literal": false,
    "no-switch-case-fall-through": true,
    "no-use-before-declare": false,
    "object-literal-key-quotes": [true, "as-needed"],
    "object-literal-sort-keys": false,
    "ordered-imports": {
      "severity": "warn",
      "options": {
        "import-sources-order": "case-insensitive",
        "module-source-path": "full",
        "named-imports-order": "case-insensitive"
      }
    },
    "quotemark": [true, "single", "avoid-escape"],
    "variable-name": {
      "options": ["ban-keywords", "check-format", "allow-pascal-case", "allow-leading-underscore"]
    },
    "no-consecutive-blank-lines": {
      "severity": "warn"
    },

    "directive-selector": [true, "attribute", "", "camelCase"],
    "component-selector": [true, "element", "pa", "kebab-case"],
    "no-output-on-prefix": true,
    "use-input-property-decorator": true,
    "use-output-property-decorator": true,
    "use-host-property-decorator": true,
    "no-input-rename": false,
    "no-output-rename": false,
    "use-life-cycle-interface": true,
    "use-pipe-transform-interface": true,
    "component-class-suffix": true,
    "directive-class-suffix": true,

    "no-this-assignment": true,
    "no-duplicate-imports": true,
    "no-trailing-whitespace": { "severity": "warn" },
    "space-within-parens": [true, 0],
    "ban-comma-operator": true,
    "no-duplicate-switch-case": true,
    "no-implicit-dependencies": [true, ["app", "environments", "electron"]],
    "prefer-object-spread": true,
    "no-object-literal-type-assertion": true,
    "no-sparse-arrays": true,

    "no-store-injection": {
      "severity": "warn"
    }
  }
}
@mgechev
Copy link
Owner

mgechev commented Mar 18, 2019

Here are renames that we did:

contextual-life-cycle => contextual-lifecycle
no-conflicting-life-cycle-hooks => no-conflicting-lifecycle
no-life-cycle-call => no-lifecycle-call
use-life-cycle-interface => use-lifecycle-interface
decorator-not-allowed => contextual-decorator
enforce-component-selector => use-component-selector
no-output-named-after-standard-event => no-output-native
use-host-property-decorator => no-host-metadata-property
use-input-property-decorator => no-inputs-metadata-property
use-output-property-decorator => no-outputs-metadata-property
no-queries-parameter => no-queries-metadata-property
pipe-impure => no-pipe-impure
use-view-encapsulation => use-component-view-encapsulation
i18n => template-i18n
banana-in-box => template-banana-in-box
no-template-call-expression => template-no-call-expression
templates-no-negated-async => template-no-negated-async
trackBy-function => template-use-track-by-function
no-attribute-parameter-decorator => no-attribute-decorator
max-inline-declarations => component-max-inline-declarations

I'll update the changelog.

@mgechev mgechev closed this as completed Mar 18, 2019
@wKoza wKoza pinned this issue Mar 18, 2019
@wKoza
Copy link
Collaborator

wKoza commented Mar 18, 2019

@mgechev , in the meantime, I'll pin this issue.

@wKoza wKoza unpinned this issue Mar 30, 2019
Donil added a commit to Saritasa/tslint-config-angular that referenced this issue Jun 10, 2019
@tibinvpaul
Copy link

Hello @mgechev - did we release the changes? Thanks.

@mgechev
Copy link
Owner

mgechev commented Jun 26, 2019

Yes, this we released over a month ago. Try 5.1.0.

Vegita2 added a commit to CCDirectLink/crosscode-map-editor that referenced this issue Jun 27, 2019
@ganqqwerty
Copy link

Is it maybe possible to change the tslint message so that it shows the new key for a deprecated one?

@hzitoun
Copy link

hzitoun commented Aug 8, 2019

Is it maybe possible to change the tslint message so that it shows the new key for a deprecated one?

It has to be like so!

@aruballo
Copy link

I second ganqqwerty's request; if the old value has been deprecrated we should at least be informed of the new value.

donmahallem added a commit to donmahallem/TrapezeClientNg that referenced this issue Sep 23, 2019
donmahallem added a commit to donmahallem/TrapezeClientNg that referenced this issue Sep 23, 2019
* Removed deprecated tslint rule

* fix renamed tslint rules

mgechev/codelyzer#791 (comment)

* align tslint file with current default angular 8 setup file

* add lint-fix script to package json

* updated polyfills

* ng lint --fix run

* fixed lint errors so far

* added tslint differences

* use helpers in tsconfig

* tslint for code climate
@b2k
Copy link

b2k commented Oct 3, 2019

I've got no idea how to fix my tslint.config now.

Based upon @mgechev comment above, many names were changed. But when I updated my tslint, it broke on the new names. Here's what I ended up with that appears to be working. That is until another arbitrary name change breaks my ide. Notice the mismash of old and new settings.

"no-output-on-prefix": true,
"no-inputs-metadata-property": true,
"use-output-property-decorator": true,
"use-host-property-decorator": true,
"no-input-rename": true,
"no-output-rename": true,
"use-life-cycle-interface": true,
"use-pipe-transform-interface": true,
"component-class-suffix": true,
"directive-class-suffix": true

Seriously, can we dispense with this nonsense, and either support both old and new names or provide a migration that renames deprecated settings when updating so that I don't have to spend hours figuring out what happened. I have a job to do, and this kind of thing is a hindrance to my productivity.

@fromage9747
Copy link

@b2k Thank you. Yours worked.

akaustav added a commit to RepublicServicesRepository/tslint-config that referenced this issue Apr 22, 2020
akaustav added a commit to RepublicServicesRepository/tslint-config that referenced this issue Apr 24, 2020
KHannel pushed a commit to RepublicServicesRepository/tslint-config that referenced this issue May 1, 2020
KHannel pushed a commit to RepublicServicesRepository/tslint-config that referenced this issue May 1, 2020
hlovdal added a commit to hlovdal/nativescript-angular that referenced this issue Jun 21, 2020
hlovdal added a commit to hlovdal/nativescript-angular that referenced this issue Jun 21, 2020
A couple of rules were deleted in pull request 2179, but they were
actually just renamed and not depricated.

Some details:
mgechev/codelyzer#519
mgechev/codelyzer#791
hlovdal added a commit to hlovdal/nativescript-angular that referenced this issue Jun 21, 2020
A couple of rules were deleted in pull request 2179, but they were
actually just renamed and not deprecated.

Some details:
mgechev/codelyzer#519
mgechev/codelyzer#791
AlexFBP added a commit to udistrital/arka_cliente that referenced this issue Nov 10, 2020
Al ejecutar 'ng lint' salían los siguientes avisos...:

Could not find implementations for the following rules specified in the configuration:
    use-input-property-decorator
    use-output-property-decorator
    use-life-cycle-interface
Try upgrading TSLint and/or ensuring that you have all necessary custom rules installed.
If TSLint was recently upgraded, you may have old rules configured which need to be cleaned up.

... que dejaron de aparecer tras seguir los reemplazos indicados en
mgechev/codelyzer#791 (comment)
laurence-myers added a commit to laurence-myers/Video-Hub-App that referenced this issue Sep 12, 2021
…cycle-interface`. Fixes a warning in CI.

>  Could not find implementations for the following rules specified in the configuration:
    use-life-cycle-interface
> Try upgrading TSLint and/or ensuring that you have all necessary custom rules installed.
> Lint was recently upgraded, you may have old rules configured which need to be cleaned up.

mgechev/codelyzer#791 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants