javascript - 如果自上次运行以来没有任何变化,TSLint 是否有阻止运行的选项?

标签 javascript angular typescript lint tslint

我的办公室有一个令人讨厌的 TSLint 规则集,它需要超过 15 分钟来检查我们的项目。

如果我执行 lint,我能否确保下一个通常会触发 lint 的命令在没有任何更改的情况下不执行?

即使是最小的、微不足道的更改也会造成巨大的延迟。这并不是说它具有攻击性,而是它在构建之间没有持久层来理解 Typscript 生态系统中的任何内容都没有改变,因此,没有必要重新检查整个项目。

如果可能的话,只对更改的文件进行 lint 也是有益的。

这是我们的 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"
}

最佳答案

不幸的是,截至 2018 年,TSLint 中没有此类功能。 https://github.com/palantir/tslint/issues/3155https://github.com/palantir/tslint/issues/1141在允许它的 TSLint 中跟踪工作。

关于javascript - 如果自上次运行以来没有任何变化,TSLint 是否有阻止运行的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53619982/

相关文章:

javascript - 对于多个文件上传,req.file 未定义

javascript - 那,self 或 me — 在 JavaScript 中更喜欢哪一个?

javascript - ReduxReducer更新了值但没有反射(reflect)在props中

angular - 如何为 Angular 中的输入变化编写测试用例

typescript - TypeScript 中的语音识别和语音合成

javascript数组对象覆盖以前的对象,即使我正在创建新的引用

javascript - countUp.js 不加载

html - ngx-quill 中的空白

angular - 停止点击的指令不工作 Angular 2

javascript - 使用 typescript 是否基本上放弃了基于原型(prototype)的编程范式?