hollo 境内・別院

fedify 別院(npm蔵版)

ja· en· ko
はじめての人へholloの中に入っている、fedifyライブラリそのもの(npmから入れた写し)です。

npm install ひとつで、この館の外交がぜんぶ手に入りました——それがこの塔です。package.jsonに@fedify/*の経が八巻、揃い踏み。

別院と館の接合は、たった一行です。app.use(federation(fedi, ...))。しかもルータたちより前に立つので、/@handle という同じ住所が、訪ね方によってfedifyの顔にも客間の顔にもなります。ところで、この館の表札は @fedify/hollo——別院と総本山が、同じ苗字を名乗っています。

見どころ

  • createFederation()は館でただ一度(src/federation/federation.ts)。あとは全員が同じインスタンスを回し読みする
  • @fedify/vocabの語彙(Accept/Announce/Create/EmojiReact/Follow/Like/Move/QuoteRequest……)が、コードのあちこちで直接importされている
  • 検索(v2 search)も、lookupObject/isActorを@fedify/vocab経由で使う

経文の一節

app.use(federation(fedi, (_) => undefined));

app.route("/", pages);
app.route("/oauth", oauth);
app.route("/api", api);
app.route("/image", image);
app.route("/proxy", proxy);
src/index.tsx L69-L76— この一行が、別院と館の渡り廊下。ルータたちより先に立つ

間取り

package.json
@fedify/*の八巻、ぜんぶ^2.3.0
src/index.tsx
federation()ミドルウェア一行の渡り廊下
src/federation/federation.ts
館にひとつのcreateFederation()

となりの部屋

そとへのリンク