気軽に console.log
デバッグがしたかったときのメモ。
Prettier と違って Flow で書かれてるのでそのまま Node.js では動かないのでビルドする必要がある。
$ make watch
で変更を監視してビルドして、/packages/babel-parser/lib/index.js
を見れば良い。
なんか適当なファイルを作って
// tmp.js
const { parse } = require("./lib/index.js");
const code = `const foo = "foo";`;
const result = parse(code, { plugins: ["typescript"], errorRecovery: false });
console.log(JSON.stringify(result));
とか好きな内容にして
$ node ./tmp.js
すればうごく。最初はビルドするのがめんどくさいから flow-node で実行しようと思ったけど、flow-node は ESM 対応がされていなくて @babel/parser のソースをそのまま実行できなかったので諦めてビルドすることにした。(ちなみに一瞬 flow-node の ESM 対応をしようとしたけど手元でいじって動かすには Flow をソースからビルドする必要があるっぽく(?)、OCaml 環境のセッティングが面倒くさかったのでやめてしまった。)