表題の通り、何のjQueryメソッドを呼び出しているかを把握必要があったので
そのやり方をメモします。
今回は簡潔に行きます!
解析には下記のツールを使います。
Abstract syntax tree(AST/抽象構文木)を使用する方法になります。
acorn/acorn-walk at master · acornjs/acorn
A small, fast, JavaScript-based JavaScript parser. Contribute to acornjs/acorn development by creating an account on Git...
インストール
npm install acorn-walk
コード
const acorn = require("acorn")
const walk = require("acorn-walk")
const test = `function t(){} t();
$('hoge').on('test', function(){});
$('test').find('hoge').on('test');
`
walk.simple(acorn.parse(test,{ecmaVersion:5}), {
MemberExpression(node) {
console.log(`Found a MemberExpression: ${node.property.name}`)
}
})
実行
node index.js
結果
Found a MemberExpression: on
Found a MemberExpression: find
Found a MemberExpression: on
実際使うには$ | jQueryを起点としたChainingかどうかを評価しなければなりませんが
とりあえず、メモりたかったのでここまで!
コメント