[英]Does TSLint have an option to prevent running if nothing has changed since previous run?
We have an obnoxious TSLint ruleset at my office, and it takes upwards of 15 minutes to lint our Project. 我的办公室里有一个令人讨厌的TSLint规则集,需要花费15分钟以上才能完成我们的项目。
If I execute a lint, can I ensure that the next command that would normally trigger a lint, doesn't execute if nothing has changed? 如果执行棉绒,是否可以确保在没有任何变化的情况下不会执行通常会触发棉绒的下一条命令?
It causes enormous delays in making even the smallest, trivial changes. 即使进行最小的,微不足道的更改,也会造成巨大的延迟。 It's not that it's aggressive, it's that it doesn't have a persistence layer between builds to understand that nothing in the Typscript ecosystem has changed, and therefore, there's no need to relint the entire project.
这并不是说它具有侵略性,而是它在构建之间没有持久性层,以了解Typscript生态系统中的任何内容都没有改变,因此,无需重新计划整个项目。
It would also be beneficial to lint only the changed files, if that is a possibility. 如果可能的话,仅将更改的文件掉毛也将是有益的。
Here is our TSLint.json, if it helps; 这是我们的TSLint.json,如果有帮助的话;
{
"rulesDirectory": [
"node_modules/codelyzer"
],
"rules": {
"no-unused-variable": true,
"callable-types": true,
"class-name": true,
"comment-format": [
true,
"check-space"
],
"curly": true,
"eofline": true,
"forin": true,
"import-blacklist": [true, "rxjs"],
"import-spacing": true,
"indent": [
true,
"spaces",
4
],
"interface-over-type-literal": true,
"label-position": true,
"max-line-length": [
true,
160
],
"member-access": false,
"member-ordering": [
true,
"static-before-instance",
"variables-before-functions"
],
"no-arg": true,
"no-bitwise": true,
"no-console": [
true,
"debug",
"info",
"time",
"timeEnd",
"trace"
],
"no-construct": true,
"no-debugger": true,
"no-duplicate-variable": true,
"no-empty": false,
"no-empty-interface": true,
"no-eval": true,
"no-inferrable-types": [false, "ignore-params"],
"no-shadowed-variable": true,
"no-string-literal": false,
"no-string-throw": true,
"no-switch-case-fall-through": true,
"no-trailing-whitespace": true,
"no-unused-expression": true,
"no-use-before-declare": true,
"no-var-keyword": true,
"object-literal-sort-keys": false,
"ordered-imports": false,
"one-line": [
true,
"check-open-brace",
"check-catch",
"check-else",
"check-whitespace"
],
"prefer-const": true,
"quotemark": [
true,
"single",
"avoid-escape"
],
"radix": true,
"semicolon": [
"always"
],
"triple-equals": [
true,
"allow-null-check"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"typeof-compare": true,
"unified-signatures": true,
"variable-name": false,
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
],
"directive-selector": [true, "attribute", "", "camelCase"],
"component-selector": [true, "element", "", "kebab-case"],
"use-input-property-decorator": 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,
"no-access-missing-member": true,
"templates-use-public": true,
"invoke-injectable": true
},
"defaultSeverity": "warning"
}
Unfortunately no, as of 2018 there is no such feature in TSLint. 不幸的是,没有,截至2018年,TSLint中没有此类功能。 https://github.com/palantir/tslint/issues/3155 and https://github.com/palantir/tslint/issues/1141 track work in TSLint that would allow it.
https://github.com/palantir/tslint/issues/3155和https://github.com/palantir/tslint/issues/1141在TSLint中跟踪允许的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.