[英]ESLint: How to set “new-cap” rule's “capIsNewExceptions” option within a file?
這是我嘗試將ESLint的 new-cap
規則設置為接受"S"
作為允許的函數名稱:
/*eslint new-cap : [capIsNewExceptions : ["S"]] */
var S = require("string");
var lines = S(text).lines(); // <-- ESLint still gives a warning for cap 'S'!
如前所述,我的ESLint解析器(在IntelliJ中)繼續向我發出new-cap
警告。
我試圖仔細地應用ESLint文檔 。
從這里 ,我看到一個示例規則,如下所示: /*eslint quotes: [2, "double"], curly: 2*
/,在其中我收集到quotes
和curly
規則已設置,並且quotes
rule包含兩個選項,因此包含在方括號中,因為文檔中說: If a rule has additional options, you can specify them using array literal syntax
(該示例在示例上方)。
然后,從new-cap
的實際文檔中 ,我發現capIsNewExceptions
是作為一個選項提供的,並且該選項的值應該是所需函數名的數組-就像我在上面的代碼中所做的那樣。
但這是行不通的。 我仍然收到ESLint警告。
什么是正確的語法才能支持使用自定義capIsNewExceptions
選項的Javascript文件中的new-cap
規則與ESLint一起使用?
嘗試
/*eslint new-cap: [2, {capIsNewExceptions: ["S"]}]*/
var S = require("string");
var lines = S(text).lines();
現在,為什么它會這樣工作?
您使用數組將選項傳遞給規則是正確的,但是在文檔中他們提到該數組的第一個元素始終是“規則ID”:從0到2的數字,它定義了如何應用規則:
0
禁用規則,
1
發出警告,
2
使其出錯。
我懶得檢查,但是我假設數組的其余部分作為context
的options
屬性傳遞給規則本身。 從new-cap
規則的源代碼看,它似乎只希望一個選項是一個對象,該對象具有諸如capIsNewExceptions
, newIsCap
等可能的配置屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.