Mise à jour TSLint Erreurs : impossible de trouver des implémentations pour les règles suivantes spécifié dans la configuration
J'ai mis à jour mon tslint à 4.0.2 et maintenant, je reçois beaucoup d'erreurs comme suit
Could not find implementations for the following rules specified in the configuration:
directive-selector-name
component-selector-name
directive-selector-type
component-selector-type
directive-selector-prefix
component-selector-prefix
label-undefined
no-constructor-vars
no-duplicate-key
no-unreachable
use-strict
Je crois que le problème peut être que mon tslint.json peut être mis à jour et j'ai besoin de mettre à jour, mais je n'ai pas trouvé d'informations sur la façon de le faire ni même si mon hypothèse est correcte.
tslint.json
{
"rulesDirectory": [
"node_modules/codelyzer"
],
"rules": {
"directive-selector-name": [true, "camelCase"],
"component-selector-name": [true, "kebab-case"],
"directive-selector-type": [true, "attribute"],
"component-selector-type": [true, "element"],
"directive-selector-prefix": [true, "my"],
"component-selector-prefix": [true, "my"],
"use-input-property-decorator": true,
"use-output-property-decorator": true,
"use-host-property-decorator": true,
"no-attribute-parameter-decorator": true,
"no-input-rename": true,
"no-output-rename": true,
"no-forward-ref" :true,
"use-life-cycle-interface": true,
"use-pipe-transform-interface": true,
"pipe-naming": [true, "camelCase", "my"],
"component-class-suffix": true,
"directive-class-suffix": true,
"ban": [true,
["_", "extend"],
["_", "isNull"],
["_", "isDefined"]
],
"class-name": true,
"comment-format": [false,
"check-space",
"check-lowercase"
],
"curly": true,
"eofline": true,
"forin": true,
"indent": [true, 2],
"interface-name": true,
"jsdoc-format": true,
"label-position": true,
"label-undefined": true,
"max-line-length": [false, 140],
"member-ordering": [true,
"public-before-private",
"static-before-instance",
"variables-before-functions"
],
"no-arg": true,
"no-bitwise": true,
"no-console": [true,
"debug",
"info",
"time",
"timeEnd",
"trace"
],
"no-construct": true,
"no-constructor-vars": false,
"no-debugger": true,
"no-duplicate-key": true,
"no-duplicate-variable": true,
"no-empty": true,
"no-eval": true,
"no-string-literal": true,
"no-switch-case-fall-through": true,
"trailing-comma": true,
"no-trailing-whitespace": true,
"no-unused-expression": true,
"no-unused-variable": true,
"no-unreachable": true,
"no-use-before-declare": true,
"no-var-requires": true,
"one-line": [true,
"check-open-brace",
"check-catch",
"check-else",
"check-whitespace"
],
"quotemark": [true, "single"],
"radix": true,
"semicolon": true,
"triple-equals": [true, "allow-null-check"],
"typedef": [true,
"callSignature",
"indexSignature",
"parameter",
"propertySignature",
"variableDeclarator"
],
"typedef-whitespace": [true,
["callSignature", "noSpace"],
["catchClause", "noSpace"],
["indexSignature", "space"]
],
"use-strict": false,
"variable-name": false,
"whitespace": [true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
]
}
}
paquets.json
{
"dependencies": {
"@angular/common": "^2.2.4",
"@angular/compiler": "^2.2.4",
"@angular/core": "^2.2.4",
"@angular/forms": "^2.2.4",
"@angular/http": "^2.2.4",
"@angular/platform-browser": "^2.2.4",
"@angular/platform-browser-dynamic": "^2.2.4",
"@angular/router": "^3.2.4",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.14",
"ag-grid": "^7.0.0",
"angularfire2": "^2.0.0-beta.5",
"core-js": "^2.4.1",
"firebase": "^3.6.2",
"rxjs": "5.0.0-rc.4",
"zone.js": "^0.7.2"
},
"devDependencies": {
"del": "^2.0.2",
"gulp": "gulpjs/gulp#4ed9a4a3275559c73a396eff7e1fde3824951ebb",
"gulp-hub": "frankwallis/gulp-hub#d461b9c700df9010d0a8694e4af1fb96d9f38bf4",
"gulp-filter": "^4.0.0",
"gulp-util": "^3.0.7",
"gulp-sass": "^2.1.1",
"browser-sync": "^2.18.2",
"browser-sync-spa": "^1.0.3",
"karma": "^1.3.0",
"karma-coverage": "^1.1.1",
"karma-jasmine": "^1.0.2",
"karma-junit-reporter": "^1.1.0",
"jasmine": "^2.4.1",
"es6-shim": "^0.35.0",
"karma-chrome-launcher": "^2.0.0",
"babel-plugin-istanbul": "^3.0.0",
"karma-webpack": "^1.7.0",
"webpack": "2.1.0-beta.20",
"html-webpack-plugin": "^2.24.1",
"style-loader": "^0.13.0",
"css-loader": "^0.26.0",
"postcss-loader": "^1.1.1",
"autoprefixer": "^6.5.3",
"json-loader": "^0.5.4",
"extract-text-webpack-plugin": "^2.0.0-beta.3",
"html-loader": "^0.4.3",
"ts-loader": "^1.2.2",
"sass-loader": "^4.0.2",
"node-sass": "^3.13.0",
"eslint": "^3.11.1",
"eslint-config-xo-space": "^0.15.0",
"eslint-loader": "^1.6.1",
"babel-loader": "^6.2.8",
"babel-eslint": "^7.1.1",
"eslint-plugin-babel": "^4.0.0",
"tslint": "^4.0.2",
"typescript": "^2.0.10",
"typings": "^2.0.0",
"tslint-loader": "^3.2.1",
"codelyzer": "^2.0.0-beta.1"
},
"scripts": {
"build": "gulp",
"serve": "gulp serve",
"serve:dist": "gulp serve:dist",
"test": "gulp test",
"test:auto": "gulp test:auto"
},
"eslintConfig": {
"root": true,
"env": {
"browser": true,
"jasmine": true
},
"extends": [
"xo-space/esnext"
]
}
}
OriginalL'auteur David Cruwys | 2016-12-02
Vous devez vous connecter pour publier un commentaire.
J'ai été dans le même bateau. Je ne sais pas ce que votre version précédente de tslint était, mais, pour moi, j'ai mis à niveau à partir de 3.15.1 à 4.0.2 et mon résultant "brisé la règle de" la liste est différente de la vôtre. Encore, je peux vous offrir quelques corrections des explications à ceux que vous et moi avions en commun.
Je suis juste allé à la tslint du changelog sur GitHub, a trouvé la règle qui a été brisé, a obtenu le numéro à la fin de la ligne, & examiné la question. Facile à naviguer, c'était d'ajouter le numéro à la fin de leur GitHub problème d'URL. Par exemple, étiquette undefined a http//github.com/palantir/tslint/questions/877
Voici ceux que j'ai dû comprendre
"label-undefined": true
de tslint.json puis ajouter"allowUnusedLabels": false
à la compilerOptions section de votre tsconfig.json"no-constructor-vars"
à"no-parameter-properties"
dans votre tslint.json"no-duplicate-key": true
complètement b/c tapuscrit, qui gère aujourd'hui (ne compile pas si dup touches)."no-unreachable": true
de tslint.json puis ajouter"noImplicitReturns": true
à la compilerOptions section de votre tsconfig.json"use-strict"
règle complètement b/c tapuscrit maintenant traite tous les module organes en mode strict.OriginalL'auteur B Diehl
De, codelyzer 2.0.0-bêta.1 il y a quelques modifications importantes.
Ils ont enlevé la directive-sélecteur-nom du composant sélecteur de nom, la directive-sélecteur de type de composant sélecteur de type, la directive-sélecteur de préfixe de composants et de sélecteur de préfixe sont plus pris en charge. Au lieu de cela, ils ont ajouté le dessous de la règle:
Veuillez jeter un oeil à la changelog pour la codelyzer et de recherche pour une règle qui n'est pas pris en charge
OriginalL'auteur Anvesh Reddy
tslint v4 supprimé un tas de règles qui n'ont plus de sens et Tapuscrits de vérification a de mieux. Vous avez besoin d'utiliser tslint v3 si vous voulez continuer à utiliser ces règles.
OriginalL'auteur basarat
J'ai eu ce même problème avec
Could not find implementations for the following rules...
avertissements montrant dans mon IDE, WebStorm 2016.x. Dans mon cas, la règle de mise en oeuvre a été fourni par l'IDE, parce que la mise à jour de mon WebStorm résolu le problème.J'ai mis à jour Tapuscrit, TSLint & Codelyzer en vain. J'ai inspecté le contenu de mon tslint.fichier json et n'a rien trouvé. La mise à niveau de WebStorm résolu le problème.
OriginalL'auteur Matthew Marichiba
J'ai eu le même problème après avoir copié les règles d'une angulaires du projet.
Il suffit de créer un nouveau fichier d'enregistrement de projet et vous serez amende.
OriginalL'auteur skiabox