0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

@babel/parser を console.log デバッグする

Posted at

気軽に 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 環境のセッティングが面倒くさかったのでやめてしまった。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?