UglifyJSパーサーを使用して、定義が保証されていないときにコード内の識別子が使用されているかどうかを確認したいと思います。
例:
// Should raise an error since myfunc and myvar have not been defined, but works
var ast = jsp.parse('myfunc(myvar);');
(スコープ内に存在する可能性があるため)必ずしもmyfunc
未定義でmyvar
はないことを認識していますが、いつ未定義になる可能性があるかを知りたいと思います。
echo "myfunc(myvar);" | uglifyjs
幸いにも戻ってきmyfunc(myvar);
て、未定義の変数をチェックするオプションが見つかりません。
JSLintを実行してassume browser, window, node.js, etc
すべてオフにすると、これが私が求めている結果です。UglifyJSでも同様のことをしたいと思いますが、環境については何も想定していません(ウィンドウ、コンソール、アラートなどはありません)。