Есть ли в TSLint возможность запретить запуск, если с момента предыдущего запуска ничего не изменилось? - PullRequest
0 голосов
/ 04 декабря 2018

У нас есть отвратительный набор правил TSLint в моем офисе, и для линтинга нашего проекта требуется более 15 минут.

Если я выполню ворсинку, могу ли я убедиться, что следующая команда, которая обычно вызывает ворсинку, не выполняется, если ничего не изменилось?

Это приводит к огромным задержкам в выполнении даже самых мелких, тривиальных изменений.Дело не в том, что он агрессивен, а в том, что между сборками нет уровня персистентности, чтобы понять, что ничего в экосистеме Typscript не изменилось, и, следовательно, нет необходимости перезаписывать весь проект.

Было бы также полезно пометить только измененные файлы, если это возможно.

Вот наш 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"
}

1 Ответ

0 голосов
/ 05 декабря 2018

К сожалению, нет, по состоянию на 2018 г. в TSLint такой функции нет.https://github.com/palantir/tslint/issues/3155 и https://github.com/palantir/tslint/issues/1141 отслеживают работу в TSLint, которая позволила бы это.

...