JSのコードで呼ばれているメソッドを確認する

表題の通り、何の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かどうかを評価しなければなりませんが
とりあえず、メモりたかったのでここまで!

コメント

タイトルとURLをコピーしました