CLI
tsumugiパッケージにはセットアップ用のCLIが含まれます。
インストールは不要で、パッケージを追加したプロジェクトでnpx tsumugiを実行します。
対話モード
引数なしで起動すると対話モードになります。
bash
npx tsumugiパイプやCIなどTTYでない環境では対話モードに入らず、usageを出力し終了されます。
tsumugi init
プロジェクトにTsumugiをセットアップします。
bash
npx tsumugi init [--name <name>] [--format jsonc|toml]実行される内容は次の通りです。
wrangler queues create <name>とwrangler d1 create <name>でリソースを作成- wrangler設定が無ければ生成。
wrangler d1 createが出力したdatabase_id書き込み src/index.tsとsrc/performers/と.dev.varsの生成wrangler d1 migrations apply(--localと--remote)とwrangler typesを実行
オプション
| オプション | 内容 |
|---|---|
--name <name> | Workerの名前。省略時は既存設定のname、package.jsonのname、ディレクトリ名の順で決まります |
--format <jsonc|toml> | 生成する設定の形式。既定はjsonc |
既存ファイルの扱い
意図しない上書きを避けるため、既存のファイルを書き換えることはありません。
wrangler設定(wrangler.json / wrangler.jsonc / wrangler.toml)が既にある場合は、その形式に合わせた追記するべき値を出力します。src/index.tsなどの雛形も、既にあるものはスキップされます。
tsumugi add-performer
performerを追加します。
bash
npx tsumugi add-performer <NAME>src/performers/<name>.tsにperformerのクラスを生成src/performers/index.tsへexport行を1行追記
名前はkebab-case / camelCase / PascalCase / SNAKE_CASEのいずれも指定可能です。
クラス名はPascalCase、ファイル名はkebab-caseへ変換されます(例: send-mailはクラスSendMailとファイルsend-mail.tsになります)。
service bindingの追記
実行すると、別のWorkerからこのperformerを使う場合に呼び出し側の設定へ追記するservicesの値が出力されます。
同じWorkerで実行する分には、設定への追記は不要です。