angular - Hur kan du undertrycka tslint-varningar från npm-länkade paket?
Jag arbetar på ett paket med Angular/TypeScript-komponenter samtidigt som jag utvecklar i appen som använder det paketet. Jag har använt npm link för att ställa in de delade komponenterna. Vid byggnation verkar det som om tslint triggar en massa varningar för det länkade paketet.
Till exempel i vår tslint.json har vi ett prefix av "ta". I paketet är det "fn". Eftersom vi exkluderar node_modules i vår tsconfig har vi aldrig haft ett problem. Men när vi väl npm-länkade paketet, linter det nu filerna i vårt paket också. Vilket då utlöser en massa varningar i konsolen vid byggandet.
WARNING in ../fn-library/src/popover/popover.component.ts
[10, 15]: The selector of the component "PopoverComponent" should have prefix "ta"
Några förslag på hur man kan undertrycka tslint-varningar från npm-länkade paket?
Här är min nuvarande tsconfig.json-fil i föräldraprojektet:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"noEmit": true,
"noEmitHelpers": true,
"strictNullChecks": false,
"importHelpers": true,
"baseUrl": "./src",
"paths": [],
"lib": [
"dom",
"es6"
],
"typeRoots": [
"node_modules/@types"
],
"types": [
"jasmine",
"node"
]
},
"exclude": [
"node_modules/**/*",
"dist/**/*"
],
"angularCompilerOptions": {
"skipMetadataEmit": true
},
"compileOnSave": false,
"buildOnSave": false
}
Här är min tslint-fil:
{
"rulesDirectory": [
"node_modules/codelyzer"
],
"rules": {
"directive-selector": [
true,
"attribute",
"ta",
"camelCase"
],
"component-selector": [
true,
"element",
"ta",
"kebab-case"
],
"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",
"ta"
],
"component-class-suffix": true,
"directive-class-suffix": true,
"import-destructuring-spacing": true
}
}
Svar #1
Du kan använda en inline-kommentar för att inaktivera tslint på den raden genom att
selector: 'component',// tslint:disable-line
För att exkludera en uppsättning filer från att bli lintade, lägg till raden nedan i tsconfig-filen
"tslint.exclude": "**/folder/**/*.ts"
I ditt fall
"tslint.exclude": "**/fn-library/**/*.ts"
