メインコンテンツへスキップ

arc provider

arc provider は provider パッケージの操作を扱い、現時点では provider の AUP リソースツリーを Cloudflare Pages に公開して URL で参照できるようにします。

arc provider は provider パッケージ自体(AFS provider を実装する npm パッケージ)に対する操作を扱います。これは、provider がマウントされた後に公開するものを操作する arc afs とは対照的です。

bash
arc provider <subcommand> [options]

グローバルフラグ(概要 を参照):--json--view--instance / -i(どのローカル ARC インスタンスか;省略すると default)、および --home(インスタンスのルート;どのインスタンスにするかを選ぶには --instance を使う)。

arc provider publish-resources

provider パッケージの aup/ ツリーを、/_providers/<name>@<version>/ の下に CF Pages へ公開します。これによって、provider の付随リソース(AUP から参照される UI スニペットなど)が URL で取得可能になります。

使用法

bash
arc provider publish-resources <package> [options]
  • package(必須):npm パッケージ名。例:@aigne/afs-ocap、またはパッケージディレクトリへのパス
  • --cloud <fs|cf|none>:デプロイ先:fs はローカルの Pages ディレクトリに書き込み、cf は Cloudflare Pages にプッシュし、none はプッシュせずに ~/.afs/blocklets-staging に stage するだけ。バッチデプロイで最後のコマンドだけがプッシュすべき場合に使う(デフォルト fs
  • --pages-root <path>:ローカル Pages ストアのルート、--cloud fs のときのみ有効(デフォルト ~/.arc/pages
  • --cf-account-id <id>:Cloudflare アカウント ID。--cloud cf の読み取り操作で使う
  • --cf-api-token <token>:Cloudflare API トークン。--cloud cf の読み取り操作で使う
  • --deployment <id>:Cloudflare デプロイメント id(staging/prod/...)。runtimes/cloudflare/instances.json から pagesProject を解決する;--project と排他
  • --project <name>:Pages プロジェクト名。instances.json に載っていないプロジェクト向けの逃げ道;--deployment と排他;どちらも指定しない場合は afsd-blocklets がデフォルト

--deployment/--project の排他は、ドキュメントに書いてあるだけでなく、宣言され強制されています:

bash
$ arc provider publish-resources @aigne/afs-ocap --deployment foo --project bar
ERROR: Arguments deployment and project are mutually exclusive

実際のパッケージは、どちらのフラグもなしで --cloud fs に公開できます(cumulative staging の数はそのストアへの公開ごとに増え続けるので、実際に手元で出る数字はここと異なります):

bash
$ arc provider publish-resources ./providers/runtime/ocap --cloud fs --pages-root /tmp/pages
Published 23 file(s) to /_providers/ocap@2.0.0-beta.48/
  package:  ./providers/runtime/ocap
  provider: ocap@2.0.0-beta.48
  bytes:    170952
  target:   local Pages store (cumulative staging: 1983 file(s))
  deploy:   deploy-1789005081569-e83ray