que proyecto modulos crear componentes componente cli angular typescript tslint

proyecto - modulos angular 6



Actualizar errores de TSLint: no se pudieron encontrar implementaciones para las siguientes reglas especificadas en la configuraciĆ³n (5)

A partir de, codelyzer 2.0.0-beta.1 hay algunos cambios de última hora. Se eliminaron los nombres de directiva-selector-nombre, componente-selector-nombre, directiva-selector-tipo, componente-selector-tipo, directiva-selector-prefijo y componente-selector-prefix ya no son compatibles. En su lugar, agregaron la siguiente regla:

"directive-selector": [true, "attribute", "app", "camelCase"], "component-selector": [true, "element", "app", "kebab-case"],

Mire el changelog de changelog del codelyzer y busque cualquier regla que no sea compatible

Actualicé mi tslint a 4.0.2 y ahora tengo muchos errores como los siguientes

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

Creo que el problema puede ser que mi tslint.json esté desactualizado y necesito actualizarlo, pero no he encontrado ninguna información sobre cómo hacerlo o si mi suposición es correcta.

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" ] } }

paquetes.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" ] } }


Tuve el mismo problema después de copiar las reglas de un proyecto angular. Simplemente crea un nuevo proyecto de manuscrito vacío y estarás bien.


Tuve este mismo problema con Could not find implementations for the following rules... advertencias que aparecen en mi IDE, WebStorm 2016.x. En mi caso, las implementaciones de las reglas fueron proporcionadas por el IDE, porque la actualización de mi WebStorm solucionó el problema.

Actualicé Typescript, TSLint & Codelyzer en vano. Inspeccioné el contenido de mi archivo tslint.json y no encontré nada. La actualización de WebStorm solucionó el problema.


Yo estaba en el mismo barco. No sé cuál era su versión anterior de tslint, pero, para mí, actualicé la versión 3.15.1 a 4.0.2 y mi lista de "reglas rotas" resultante es diferente a la suya. Sin embargo, puedo ofrecerle algunas correcciones / explicaciones a las que usted y yo teníamos en común.

Acabo de ir al registro de cambios del tslint en GitHub , encontré la regla que se rompió, obtuve el número de problema al final de la línea y busqué el problema. La forma más fácil de navegar fue agregar el número de problema al final de su URL de problema de GitHub. Por ejemplo, label-undefined era http // github.com / palantir / tslint / issues / 877

Aquí están los que tuve que averiguar

  • label-undefined -> typescript compiler maneja esto ahora, así que elimine "label-undefined": true de tslint.json y luego agregue "allowUnusedLabels": false a la sección compilerOptions de su tsconfig.json
  • no-constructor-vars -> cambió el nombre de la regla, así que cambie "no-constructor-vars" a "no-parameter-properties" en su tslint.json
  • no-duplicate-key -> eliminar "no-duplicate-key": true conjunto b / c typescript ahora lo maneja (no compilará si las claves de duplicación).
  • no-inalcanzable -> el compilador de scripts maneja esto ahora, así que elimine "no-unreachable": true de tslint.json y luego agregue "noImplicitReturns": true a la sección compilerOptions de su tsconfig.json
  • use-strict -> eliminar la regla "use-strict" conjunto b / c mecanografiado ahora analiza todos los cuerpos de los módulos en modo estricto.

tslint v4 eliminó un montón de reglas que ya no tenían sentido y mejoró la comprobación de TypeScript. Debe usar tslint v3 si aún desea usar esas reglas.