結論
hasura console
を以下の条件で実行したい時の設定です。
-
endpoint
やadmin secret
を環境変数で指定したい -
config.yml
がないフォルダからでも実行したい
以下の3ステップに従い設定していきます。
- 環境変数を設定
-
dotenv cli
をインストール -
package.json
を編集 - (任意)不要になった
config.yml
のパラメータを削除
1. 環境変数を設定
公式に倣って、環境変数を以下に設定します。
Next.jsの環境変数をそのまま流用したいのであれば、NEXT_PUBLIC_HASURA_GRAPHQL_ENDPOINT
でもOKです。
.env
HASURA_GRAPHQL_ENDPOINT=xxxxxxxx
HASURA_GRAPHQL_ADMIN_SECRET=yyyyyyyy
2. dotenv cli
をインストール
今回は、package.jsonのスクリプトを使って、hasura console
を実行するので、package.jsonで環境変数を扱える必要があります。
それに必要なのが、dotenv cliです。
npm install --save-dev dotenv-cli
3. package.json
を編集
最後に、npm run hasura-console
でコマンドを実行できる様に編集していきます。
まずは、どこのディレクトリからも実行できるように、cd hasura
を記述します。
次に、dotenv cli
を使って、環境変数を使いながらhasura cosoleを記述していきます。
package.json
{
"scripts": {
"hasura-console": "cd hasura && dotenv -e ../.env -- bash -c 'hasura console --endpoint ${NEXT_PUBLIC_HASURA_URL} --admin-secret ${HASURA_ADMIN_SECRET}'",
},
}
4. (任意)不要になったconfig.yml
のパラメータを削除
config.yml
version: 3
# endpoint: HASURA_GRAPHQL_ENDPOINT ←削除
# admin_secret: HASURA_ADMIN_SECRET ←削除
metadata_directory: metadata
actions:
kind: synchronous
handler_webhook_baseurl: http://localhost:4000
参考
dotenv cli
の使い方に関しては、以下を参考にしました。