コマンドリファレンス
このガイドでは、フレームワークコアと公式パッケージに含まれるすべてのコマンドの使用方法をカバーしています。コマンドのヘルプを表示するには、node ace listコマンドまたはnode ace <コマンド名> --helpコマンドを使用することもできます。
node ace list
ヘルプ画面の出力は、docoptの標準にしたがってフォーマットされています。
serve
serveコマンドは、開発環境でAdonisJSアプリケーションを起動するために@adonisjs/assemblerパッケージを使用します。ファイルの変更を監視し、ファイルの変更ごとにHTTPサーバーを再起動することもできます。
node ace serve --hmr
serveコマンドは開発サーバー(bin/server.tsファイル経由)を子プロセスとして起動します。子プロセスにnodeの引数を渡す場合は、コマンド名の前にそれらを定義できます。
node ace --no-warnings --inspect serve --hmr
以下は、serveコマンドに渡すことができるオプションのリストです。または、--helpフラグを使用してコマンドのヘルプを表示することもできます。
-
--hmr
-
HMRモードでファイルシステムを監視し、サーバーをリロードします。
-
--watch
-
ファイルシステムを監視し、ファイルの変更ごとにプロセスを常に再起動します。
-
--poll
-
ファイルシステムの変更を検出するためにポーリングを使用します。開発用にDockerコンテナを使用している場合は、ポーリングを使用あります。
-
--clear | --no-clear
-
ファイルの変更ごとにターミナルをクリアし、新しいログを表示する前に古いログを保持するには、
--no-clearフラグを使用します。 -
--assets | --no-assets
-
AdonisJS HTTPサーバーと一緒にアセットバンドル開発サーバーを起動します。アセットバンドラーの開発サーバーをオフにするには、
--no-assetsフラグを使用します。 -
--assets-args
-
アセットマネージャーの子プロセスにコマンドライン引数を渡します。たとえば、viteを使用する場合、次のようにオプションを定義できます。
node ace serve --hmr --assets-args="--cors --open"
build
buildコマンドは、@adonisjs/assemblerパッケージを使用してAdonisJSアプリケーションの本番ビルドを作成します。ビルドの生成には次の手順が実行されます。
参照も: TypeScriptビルドプロセス.
node ace build
以下は、buildコマンドに渡すことができるオプションのリストです。または、--helpフラグを使用してコマンドのヘルプを表示することもできます。
-
--ignore-ts-errors
-
プロジェクトにTypeScriptエラーがある場合、ビルドコマンドはビルドプロセスを終了します。ただし、
--ignore-ts-errorsフラグを使用してこれらのエラーを無視し、ビルドを完了できます。 -
--package-manager
-
ビルドコマンドは、アプリケーションで使用しているパッケージマネージャーの
package.jsonファイルとロックファイルをコピーします。パッケージマネージャーは、@antfu/install-pkgパッケージを使用して検出されます。ただし、パッケージマネージャーの検出をオフにすることもできます。
-
--assets | --no-assets
-
バックエンドアプリケーションと一緒にフロントエンドアセットをバンドルします。アセットバンドラーの開発サーバーをオフにするには、
--no-assetsフラグを使用します。 -
--assets-args
-
アセットマネージャーの子プロセスにコマンドライン引数を渡します。たとえば、viteを使用する場合、次のようにオプションを定義できます。
node ace build --assets-args="--sourcemap --debug"
add
addコマンドは、npm install <パッケージ名>とnode ace configureコマンドを組み合わせたものです。つまり、2つの別々のコマンドを実行する代わりに、addコマンドを使用してパッケージをインストールして設定できます。
addコマンドは、アプリケーションで使用されているパッケージマネージャーを自動的に検出し、それを使用してパッケージをインストールします。ただし、--package-managerCLIフラグを使用して常に特定のパッケージマネージャーを選択することもできます。
# @adonisjs/lucidパッケージをインストールして設定する
node ace add @adonisjs/lucid
# パッケージを開発依存関係としてインストールし、設定する
node ace add my-dev-package --dev
パッケージをフラグで設定できる場合は、直接addコマンドに渡すことができます。不明なフラグはすべてconfigureコマンドに渡されます。
node ace add @adonisjs/lucid --db=sqlite
-
--verbose
-
パッケージのインストールと設定のログを表示するために詳細モードを有効にします。
-
--force
-
configureコマンドに渡されます。パッケージの設定時に既存のファイルを強制的に上書きします。詳細については、configureコマンドを参照してください。 -
--package-manager
-
パッケージのインストールに使用するパッケージマネージャーを定義します。値は
npm、pnpm、bun、またはyarnである必要があります。 -
--dev
-
開発依存関係としてパッケージをインストールします。
configure
インストール後にパッケージを設定します。コマンドの最初の引数としてパッケージ名を指定します。
node ace configure @adonisjs/lucid
-
--verbose
-
パッケージのインストールログを表示するために詳細モードを有効にします。
-
--force
-
AdonisJSのスタブシステムは既存のファイルを上書きしません。たとえば、
@adonisjs/lucidパッケージを設定し、アプリケーションにすでにconfig/database.tsファイルがある場合、設定プロセスは既存の設定ファイルを上書きしません。ただし、
--forceフラグを使用してファイルを強制的に上書きできます。
eject
指定されたパッケージのスタブをアプリケーションのstubsディレクトリにコピーします。次の例では、make/controllerスタブをアプリケーションにコピーして変更します。
参照も: スタブのカスタマイズ
# @adonisjs/coreパッケージからスタブをコピーする
node ace eject make/controller
# @adonisjs/bouncerパッケージからスタブをコピーする
node ace eject make/policy --pkg=@adonisjs/bouncer
generate:key
暗号的に安全なランダムキーを生成し、.envファイルにAPP_KEY環境変数として書き込みます。
参照も: アプリケーションキー
node ace generate:key
-
--show
-
.envファイルに書き込む代わりに、キーをターミナルに表示します。デフォルトでは、キーはenvファイルに書き込まれます。 -
--force
-
generate:keyコマンドは、アプリケーションを本番で実行する場合にキーを.envファイルに書き込みません。ただし、--forceフラグを使用してこの動作を上書きできます。
make:controller
新しいHTTPコントローラークラスを作成します。コントローラーはapp/controllersディレクトリ内に作成され、次の命名規則が使用されます。
- 形式:
複数形 - サフィックス:
controller - クラス名の例:
UsersController - ファイル名の例:
users_controller.ts
node ace make:controller users
また、次の例のようにカスタムアクション名を持つコントローラーも生成できます。
# "index"、"show"、"store"メソッドを持つコントローラーを生成します
node ace make:controller users index show store
-
--singular
-
コントローラー名を単数形に強制します。
-
--resource
-
リソース上でCRUD操作を実行するためのメソッドを持つコントローラーを生成します。
-
--api
-
--resourceフラグと似ていますが、フォームを表示するために使用されるcreateとeditメソッドは定義されません。
make:middleware
HTTPリクエストのための新しいミドルウェアを作成します。ミドルウェアはapp/middlewareディレクトリ内に保存され、次の命名規則が使用されます。
- 形式:
単数形 - サフィックス:
middleware - クラス名の例:
BodyParserMiddleware - ファイル名の例:
body_parser_middleware.ts
node ace make:middleware bodyparser
-
--stack
-
スタックの選択プロンプトをスキップし、スタックを明示的に定義します。値は
server、named、またはrouterである必要があります。node ace make:middleware bodyparser --stack=router
make:event
新しいイベントクラスを作成します。イベントはapp/eventsディレクトリ内に保存され、次の命名規則が使用されます。
- 形式:
NA - サフィックス:
NA - クラス名の例:
OrderShipped - ファイル名の例:
order_shipped.ts - 推奨: アクションのライフサイクルを中心にイベントの名前を付ける必要があります。たとえば:
MailSending、MailSent、RequestCompletedなど。
node ace make:event orderShipped
make:validator
新しいVineJSバリデータファイルを作成します。バリデータはapp/validatorsディレクトリ内に保存され、各ファイルに複数のバリデータをエクスポートできます。
- 形式:
単数形 - サフィックス:
NA - ファイル名の例:
user.ts - 推奨: アプリケーションのリソースを中心にバリデータファイルを作成する必要があります。
# ユーザーを管理するためのバリデータ
node ace make:validator user
# 投稿を管理するためのバリデータ
node ace make:validator post
-
--resource
-
createとupdateアクションのための事前定義されたバリデータを持つバリデータファイルを作成します。node ace make:validator post --resource
make:listener
新しいイベントリスナークラスを作成します。リスナークラスはapp/listenersディレクトリ内に保存され、次の命名規則が使用されます。
- 形式:
NA - サフィックス:
NA - クラス名の例:
SendShipmentNotification - ファイル名の例:
send_shipment_notification.ts - Recommendation: The event listeners must be named after the action they perform. For example, a listener that sends the shipment notification email should be called
SendShipmentNotification.
node ace make:listener sendShipmentNotification
-
--event
-
イベントリスナーと一緒にイベントクラスを生成できます。
node ace make:listener sendShipmentNotification --event=shipment_received
make:service
新しいサービスクラスを作成します。サービスクラスはapp/servicesディレクトリ内に保存され、以下の命名規則が使用されます。
サービスには事前に定義された意味はなく、アプリケーション内のビジネスロジックを抽出するために使用できます。たとえば、アプリケーションが多くのPDFを生成する場合、PdfGeneratorServiceというサービスを作成し、複数の場所で再利用できます。
- 形式:
単数形 - サフィックス:
service - クラス名の例:
InvoiceService - ファイル名の例:
invoice_service.ts
node ace make:service invoice
make:exception
新しいカスタム例外クラスを作成します。例外はapp/exceptionsディレクトリ内に保存されます。
- 形式:
NA - サフィックス:
exception - クラス名の例:
CommandValidationException - ファイル名の例:
command_validation_exception.ts
node ace make:exception commandValidation
make:command
新しいAceコマンドを作成します。デフォルトでは、コマンドはアプリケーションのルートにあるcommandsディレクトリに保存されます。
このディレクトリのコマンドは、AdonisJSがAceコマンドを実行しようとすると自動的にインポートされます。このディレクトリにはAceコマンドではない追加のファイルを保存するために、ファイル名の前に_を付けることもできます。
- 形式:
NA - サフィックス:
NA - クラス名の例:
ListRoutes - ファイル名の例:
list_routes.ts - オススメ: コマンドは実行するアクションに基づいて名前を付ける必要があります。たとえば、
ListRoutes、MakeController、Buildなどです。
node ace make:command listRoutes
make:view
新しいEdge.jsテンプレートファイルを作成します。テンプレートはresources/viewsディレクトリ内に作成されます。
- 形式:
NA - サフィックス:
NA - ファイル名の例:
posts/view.edge - オススメ: リソースごとにテンプレートをサブディレクトリ内にグループ化する必要があります。たとえば:
posts/list.edge、posts/create.edgeなどです。
node ace make:view posts/create
node ace make:view posts/list
make:provider
新しいサービスプロバイダーファイルを作成します。プロバイダはアプリケーションのルートにあるprovidersディレクトリに保存され、以下の命名規則が使用されます。
- 形式:
単数形 - サフィックス:
provider - クラス名の例:
AppProvider - ファイル名の例:
app_provider.ts
node ace make:provider app
-
--environments
-
プロバイダがインポートされる環境を定義します。アプリケーションの環境について詳しくはこちらをご覧ください
node ace make:provider app -e=web -e=console
make:preload
新しいプリロードファイルを作成します。プリロードファイルはstartディレクトリ内に保存されます。
node ace make:preload view
-
--environments
-
プリロードファイルがインポートされる環境を定義します。アプリケーションの環境について詳しくはこちらをご覧ください
node ace make:preload view app -e=web -e=console
make:test
tests/<suite>ディレクトリ内に新しいテストファイルを作成します。
- 形式: NA
- サフィックス:
.spec - ファイル名の例:
posts/list.spec.ts、posts/update.spec.ts
node ace make:test --suite=unit
-
--suite
-
作成するテストファイルのスイートを定義します。指定しない場合、コマンドはスイートの選択についてプロンプトを表示します。
make:mail
app/mailsディレクトリ内に新しいメールクラスを作成します。メールクラスはNotificationキーワードでサフィックスが付けられますが、--intent CLIフラグを使用してカスタムサフィックスを定義することもできます。
- 形式: NA
- サフィックス:
Intent - クラス名の例:
ShipmentNotification - ファイル名の例:
shipment_notification.ts
node ace make:mail shipment
# ./app/mails/shipment_notification.ts
-
--intent
-
メールのカスタムインテントを定義します。
node ace make:mail shipment --intent=confirmation# ./app/mails/shipment_confirmation.tsnode ace make:mail storage --intent=warning# ./app/mails/storage_warning.ts
make:policy
新しいBouncerポリシークラスを作成します。ポリシーはapp/policiesフォルダ内に保存され、以下の命名規則が使用されます。
- 形式:
単数形 - サフィックス:
policy - クラス名の例:
PostPolicy - ファイル名の例:
post_policy.ts
node ace make:policy post
inspect:rcfile
adonisrc.tsファイルの内容をデフォルトとマージした後の状態で表示します。このコマンドを使用して、利用可能な設定オプションを確認し、アプリケーションの要件に応じてオーバーライドできます。
参照も: AdonisRCファイル
node ace inspect:rcfile
list:routes
アプリケーションによって登録されたルートのリストを表示します。このコマンドはAdonisJSアプリケーションをconsole環境で起動します。
node ace list:routes
また、公式のVSCode拡張機能を使用している場合、VSCodeのアクティビティバーからルートのリストを表示することもできます。
-
--json
-
ルートをJSON文字列として表示します。出力はオブジェクトの配列になります。
-
--table
-
CLIテーブル内にルートを表示します。デフォルトでは、ルートはコンパクトで見やすいリスト形式で表示されます。
-
--middleware
-
指定したミドルウェアを使用しているルートのリストをフィルタリングします。ミドルウェアを1つ以上指定するために
*キーワードを使用できます。 -
--ignore-middleware
-
指定したミドルウェアを使用していないルートのリストをフィルタリングします。ミドルウェアを使用していないルートを含めるために
*キーワードを使用できます。
env:add
env:addコマンドを使用すると、.env、.env.exampleファイルに新しい環境変数を追加し、start/env.tsファイルにバリデーションルールを定義できます。
コマンドを実行すると、変数名、値、バリデーションルールを入力するようにプロンプトが表示されます。または、引数として渡すこともできます。
# 変数名、値、バリデーションルールを入力するようにプロンプトが表示されます
node ace env:add
# 変数名、値、バリデーションルールを定義します
node ace env:add MY_VARIABLE value --type=string
-
--type
-
環境変数のタイプを定義します。値は次のいずれかである必要があります:
string、boolean、number、enum。 -
--enum-values
-
環境変数のタイプが
enumの場合、許可される値を定義します。node ace env:add MY_VARIABLE foo --type=enum --enum-values=foo --enum-values=bar