[英]How to lint specific function call in JavaScript?
我的團隊偶爾遇到開發人員推動包含.only()函數調用的Karma / Protractor測試的問題,這當然會使我們的Jenkins等僅運行該特定測試,從而可能會漏掉錯誤。 因此,我想我會嘗試找出一種方法來阻止這種情況發生而不會被發現。
首先,我以為我會簡單地使用JSHint來指出函數調用,但是我似乎找不到找到這種方法的方法。 我還查看了ESLint的自定義插件,但是我不知道如何為這種特殊情況編寫插件。
你們能給我一些解決這個問題的想法嗎? 當然,還可以選擇其他解決方案!
這是一個(可能不起作用的示例)如何創建一個插件,如果解析器看到only()
調用,該插件會標記錯誤。 同樣,里程可能會有所不同,但足以讓您入門。 如果看到a.only()
,這將a.only()
,我們a.only()
您自己決定。
module.exports.rules = {
"no-only-call": context => ({
CallExpression: (node) => {
if(node.callee.name == "only"){
context.report(node, 'Calls to only() are disallowed');
}
}
})
};
http://esprima.org/demo/parse.html-使用此在線解析器可以幫助您了解解析樹。
https://www.npmjs.com/package/generator-eslint-使用此生成器啟動您的插件項目
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.