bm preview action
設定ファイルに定義したアクションを保存せずに開発環境で実行し、結果を確認するコマンドです。
bm preview actionを使うと、アクションをbm syncで反映しなくても、設定ファイルに書いた内容のまま実行結果を確認できます。実行先は開発環境に固定されており、他の環境を指定する手段はありません。
ローカル端末で実行する場合は、事前にbm loginでログインしてください。プロジェクトに開発環境が設定されていない場合は実行できません。
ブラウザで実行する
オプションを付けずに実行すると、ブラウザでベースマキナの画面が開き、設定ファイルのアクションが一覧で表示されます。アクションを選んで引数を入力し、画面から実行します。アクションのIDを渡すと、そのアクションの実行画面が直接開きます。
設定ファイルを保存し直すと、画面の内容は自動で読み込み直されます。コマンドはCtrl+Cを押すまで動き続けます。
# 設定ファイルのアクションを一覧で開く
bm preview action
# id が「fetch-users」のアクションの実行画面を開く
bm preview action fetch-users
# 設定ファイルのパスを指定する
bm preview action --config apps/admin/basemachina.config.tsターミナルで実行する
--terminalをつけると、ブラウザを開かずにターミナルで実行し、結果を標準出力に出します。アクションのIDは必須です。
# 結果を標準出力に出す
bm preview action fetch-users --terminal
# 引数を渡して実行する
bm preview action fetch-users --terminal --args '{"userId":"1"}'
# レビュー設定を無視して実行する
bm preview action fetch-users --terminal --forceオプション
| オプション | デフォルト値 | 説明 |
|---|---|---|
| 第1引数 | (任意) | 実行するアクションのID。--terminalをつける場合は必須 |
--config <path> | basemachina.config.ts | 設定ファイルのパス |
--terminal | (ブラウザで開く) | ブラウザを開かず、ターミナルで実行して結果を標準出力に出す |
--args <json> | {} | アクションに渡す引数(JSONオブジェクトの文字列)。--terminalと併用する |
--force | (実行しない) | レビュー設定を無視して実行する。--terminalと併用する |
レビュー設定の扱い
reviewSettingIdを指定したアクションでも、bm preview actionはレビューを経由せずそのまま実行します。書き込みを伴うアクションなら、開発環境のデータはその場で変わります。
ブラウザでは、実行画面に警告が表示され、ボタンが「レビューを経由せずに実行」になります。ターミナルでは--forceがなければ実行せず、警告を表示して終了します。--forceを指定した場合は、同じ警告を表示してから実行します。
呼び出し先のアクションの扱い
プレビュー実行の対象になるのは、選んだアクション1つだけです。JavaScriptアクションのコードからexecuteActionで別のアクションを呼び出す場合、呼び出される側は設定ファイルの内容ではなく、開発環境に保存済みのアクションです。呼び出し先の変更まで確かめたい場合は、先にbm syncで開発環境に反映してください。
実行できないアクション
ファイル型のパラメーターを持つアクションは、--terminalでは実行できません。ブラウザで実行してください。