SWA CLI で Config ファイルを使った実行がサポートされました
Azure Static Web Apps CLI (以下 SWA CLI) は、SWA にホスティングする Web アプリケーションのローカル開発環境で、SWA の各種機能や振る舞いを再現できるエミュレーターです。GitHub 上で OSS として開発されており、プレビューがリリースされて以降日々活発に開発が続けられています。
先日リリースされた 0.8.0
でもいろいろなアップデートがありましたが、特に swa-cli.config.json
ファイルのサポートが追加されました。
SWA CLI には多彩な実行オプションがあるのですが、オプションをたくさん指定して実行するとコマンドが長くなってしまいます。今回追加された config ファイルを使えば、それらオプションを全て設定ファイルに書いておけるので、コマンド自体が非常にシンプルになり開発体験が向上します。
SWA CLI のセットアップ
よく使う場合はローカルの Node.js 環境にグローバルでインストールします。
npm install -g @azure/static-web-apps-cli |
nvm や nodenv などの Node バージョン切り替えツールを使っている場合は、それぞれの Node.js 環境にインストールが必要です。最近 LTS になった Node.js 16.x 系でも特に問題なく動くようです。
グローバルでのインストールを避けたい場合は npx
での実行も可能です。
npx @azure/static-web-apps-cli start |
通常の CLI 実行方法
config ファイルを使わないで実行する場合は、swa コマンドに --
で各種オプションを付加していく感じになります。
出力された静的ファイルで実行する(出力先が dist
のケース)
swa start ./dist |
dev server を使って実行する(Vite のケース)
swa start http://localhost:3000 --run "npm run dev" |
API (Managed Function) も同時に実行する
swa start http://localhost:3000 --run "npm run dev" --api-location http://localhost:7071 |
さらに --swa-config-location
や --port
, --ssl
などのオプションを追加するともうコマンドで都度入力するには非現実的な長さと複雑さになっていきます。
swa-cli.config.json
を使った CLI の実行
今回追加された swa-cli.config.json
では、上記のようにコマンドにオプションで追加していた設定項目を以下のように json ファイルに定義をすることができるようになりました。
{ |
上記の config ファイルは、swa start http://localhost:3000 --run "npm run dev" --api-location ./api
と同じ意味で、実行は以下のように設定ファイルで指定した configuration 名(例では app
)を指定するだけと、非常にシンプルになります。
swa start app |
config ファイル利用の利点として、複数の configuration を設定することができます。
{ |
HMR を効かせて開発する場合には swa start dev
とし、ビルド後に HTTPS 環境で動作確認するには swa start static
などと使い分けができるようになります。なお、json の最初に $schema
を登録しておくと、補完やチェックが効くようになるのでおすすめです。
また、config ファイルをプロジェクト共通の実行設定としてリポジトリに保存できるので、チーム内でのローカル実行環境の統一にも便利ではないでしょうか。