2015-12-03 69 views
0

我的團隊正在重構我們的代碼庫,並且我們使用ESLint來識別具有任何lint錯誤的文件。我們目前有一個具有極高閾值的.eslintrc文件,並且在我們對代碼庫中的某些文件進行改進時正在縮小這些閾值。例如,我們的「max-statements」閾值設置爲99個語句,我們的目標是將其降至20個語句。所以我們逐漸將閾值從99降低到98到97等,直到我們看到一個棉絨誤差出現。然後我們知道下一個要重構的文件。爲同一個ESLint規則包含錯誤和警告?

問題是,這種策略並不能止血。爲了繼續上面的例子,我們假設一個新的控制器被引入,它有45條語句。這個數字低於我們目前的閾值(因爲我們的瓶頸文件有99個語句),但高於我們的20個語句的目標閾值。

理想情況下,我們希望發現任何違反我們目前閾值的lint錯誤的錯誤,以及針對lint錯誤的警告違反了我們的目標閾值。這會給我們一個所有違規文件的清單,並首先對最嚴重違規的文件進行分類。例如:

// inside .eslintrc 
.... 
"rules": { 
    "max-statements": [2, 99], 
    "max-statements": [1, 20] 
} 
.... 

在這種情況下,我們會看到有20多個陳述的任何文件警告和錯誤超過99個語句每個文件。

我試着實現上述配置,但正如我擔心的那樣,第一個「max-statements」規則被第二個覆蓋。

有什麼辦法可以實現我所描述的嗎?

回答

1

從命令行運行ESlint時,可以指定配置文件。只需使用不同的配置調用該命令兩次。

如果需要,您實際上可以解析第一次運行的結果並忽略第二次運行時出現錯誤的文件。