Closed sounisi5011 closed 5 years ago
CLIのパラメータとして設定を指定するのは長すぎるため、本家のようにpegjs.config.js
のような設定ファイルを作成し、--extra-options-file
オプションで指定するやり方が有効かもしれない。ただし、このオプションがv0.10.0のPEG.jsで想定どおりに動くかどうかは不明。
https://github.com/sounisi5011/vec-draw/pull/23 で完了していたので、閉じた。
概要
dsl.pegjs
ファイルで使用する関数を外部ファイルに移動し、パーサファイルからrequire()
で読み込みを行う方法の提案。詳細
PEG.jsのオプション
--dependency
を使用することで、パーサファイルのトップレベルにrequire()
文を挿入することが可能になる。これを利用して、
position()
関数など、テストが必要なユーティリティ関数を外部ファイル化し、使用できるようにする。注意点
挿入されるのはcommonjsの構文になるため、
src
ディレクトリ以下に.js
のファイルを配置することになる。このファイルをdist
ディレクトリにコピーする方法を考える必要や、linterの設定変更も必要になるかもしれない。