Loading docs/manual/deploy.md +3 −3 Original line number Diff line number Diff line Loading @@ -231,7 +231,7 @@ type Env = { import { Person } from "@fedify/fedify"; // ---cut-before--- import { createFederationBuilder } from "@fedify/fedify"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/fedify/x/cfworkers"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/cfworkers"; const builder = createFederationBuilder<Env>(); Loading Loading @@ -266,7 +266,7 @@ must manually connect queue handlers: ~~~~ typescript twoslash // @noErrors: 2345 import { createFederationBuilder, Person, type Message } from "@fedify/fedify"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/fedify/x/cfworkers"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/cfworkers"; type Env = { KV_NAMESPACE: KVNamespace<string>; Loading Loading @@ -323,7 +323,7 @@ as well: ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { DenoKvStore, DenoKvMessageQueue } from "@fedify/fedify/x/deno"; import { DenoKvStore, DenoKvMessageQueue } from "@fedify/denokv"; // Open Deno KV (automatically available on Deno Deploy) const kv = await Deno.openKv(); Loading docs/manual/inbox.md +4 −2 Original line number Diff line number Diff line Loading @@ -341,8 +341,8 @@ const federation = createFederation({ > [!NOTE] > The `InProcessMessageQueue` is a simple in-memory message queue that is > suitable for development and testing. For production use, you should > consider using a more robust message queue, such as `DenoKvMessageQueue` > from `@fedify/fedify/x/deno` module or [`RedisMessageQueue`] from > consider using a more robust message queue, such as [`DenoKvMessageQueue`] > from [`@fedify/denokv`] package or [`RedisMessageQueue`] from > [`@fedify/redis`] package. > > For more information, see the [*Message queue* section](./mq.md). Loading Loading @@ -378,6 +378,8 @@ duplicate retry mechanisms and leverages the backend's optimized retry features. > your application so that each node can process messages in parallel with > the shared message queue. [`DenoKvMessageQueue`]: https://jsr.io/@fedify/denokv/doc/mq/~/DenoKvMessageQueue [`@fedify/denokv`]: https://github.com/fedify-dev/fedify/tree/main/packages/denokv [`RedisMessageQueue`]: https://jsr.io/@fedify/redis/doc/mq/~/RedisMessageQueue [`@fedify/redis`]: https://github.com/fedify-dev/redis Loading docs/manual/integration.md +6 −6 Original line number Diff line number Diff line Loading @@ -130,12 +130,12 @@ Hono > Fedify 2.0.0. Please use the `@fedify/hono` package instead. [Hono] is a fast, lightweight, and Web standard-compliant server framework for TypeScript. Fedify has the `@fedify/fedify/x/hono` module that provides a middleware to integrate Fedify with Hono: TypeScript. Fedify has the `@fedify/hono` module that provides a middleware to integrate Fedify with Hono: ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { federation } from "@fedify/fedify/x/hono"; import { federation } from "@fedify/hono"; import { Hono } from "hono"; const fedi = createFederation<string>({ Loading Loading @@ -253,13 +253,13 @@ SvelteKit > Fedify 2.0.0. Please use the `@fedify/sveltekit` package instead. [SvelteKit] is a framework for building web applications with [Svelte]. Fedify has the `@fedify/fedify/x/sveltekit` module that provides a hook handler to integrate Fedify with SvelteKit. Put the following code in your has the `@fedify/sveltekit` module that provides a hook handler to integrate Fedify with SvelteKit. Put the following code in your *hooks.server.ts* file: ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { fedifyHook } from "@fedify/fedify/x/sveltekit"; import { fedifyHook } from "@fedify/sveltekit"; const federation = createFederation<string>({ // Omitted for brevity; see the related section for details. Loading docs/manual/kv.md +48 −6 Original line number Diff line number Diff line Loading @@ -135,9 +135,20 @@ const federation = createFederation<void>({ > [!WARNING] > The `@fedify/fedify/x/denokv` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/denokv` package instead. > Fedify 2.0.0. Please use the [`@fedify/denokv`] package instead. `DenoKvStore` is a key–value store implementation for [Deno] runtime that uses To use the [`DenoKvStore`], you need to install the *@fedify/denokv* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/denokv ~~~~ ::: [`DenoKvStore`] is a key–value store implementation for [Deno] runtime that uses Deno's built-in [`Deno.openKv()`] API. It provides persistent storage and good performance for Deno environments. It's suitable for production use in Deno applications. Loading @@ -153,7 +164,7 @@ Cons ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { DenoKvStore } from "@fedify/fedify/x/deno"; import { DenoKvStore } from "@fedify/denokv"; const kv = await Deno.openKv(); const federation = createFederation<void>({ Loading @@ -162,6 +173,8 @@ const federation = createFederation<void>({ }); ~~~~ [`@fedify/denokv`]: https://jsr.io/@fedify/denokv [`DenoKvStore`]: https://jsr.io/@fedify/denokv/doc/mq/~/DenoKvStore [Deno]: https://deno.com/ [`Deno.openKv()`]: https://docs.deno.com/api/deno/~/Deno.openKv Loading Loading @@ -286,9 +299,36 @@ const federation = createFederation<void>({ > [!WARNING] > The `@fedify/fedify/x/cfworkers` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/cfworkers` package instead. > Fedify 2.0.0. Please use the [`@fedify/cfworkers`] package instead. To use the [`WorkersKvStore`], you need to install the *@fedify/cfworkers* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/cfworkers ~~~~ ~~~~ bash [npm] npm add @fedify/cfworkers ~~~~ ~~~~ bash [pnpm] pnpm add @fedify/cfworkers ~~~~ ~~~~ bash [Yarn] yarn add @fedify/cfworkers ~~~~ ~~~~ bash [Bun] bun add @fedify/cfworkers ~~~~ ::: `WorkersKvStore` is a key–value store implementation for [Cloudflare Workers] [`WorkersKvStore`] is a key–value store implementation for [Cloudflare Workers] that uses Cloudflare's built-in [Cloudflare Workers KV] API. It provides persistent storage and good performance for Cloudflare Workers environments. It's suitable for production use in Cloudflare Workers applications. Loading @@ -308,7 +348,7 @@ import type { FederationBuilder } from "@fedify/fedify"; const builder = undefined as unknown as FederationBuilder<void>; // ---cut-before--- import type { Federation } from "@fedify/fedify"; import { WorkersKvStore } from "@fedify/fedify/x/cfworkers"; import { WorkersKvStore } from "@fedify/cfworkers"; export default { async fetch(request, env, ctx) { Loading @@ -331,6 +371,8 @@ export default { > object. See the [*Builder pattern for structuring* > section](./federation.md#builder-pattern-for-structuring) for details. [`@fedify/cfworkers`]: https://github.com/fedify-dev/fedify/tree/main/packages/cfworkers [`WorkersKvStore`]: https://jsr.io/@fedify/cfworkers/doc/kv/~/WorkersKvStore [Cloudflare Workers]: https://workers.cloudflare.com/ [Cloudflare Workers KV]: https://developers.cloudflare.com/kv/ Loading docs/manual/mq.md +46 −5 Original line number Diff line number Diff line Loading @@ -62,9 +62,20 @@ const federation = createFederation<void>({ > [!WARNING] > The `@fedify/fedify/x/denokv` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/denokv` package instead. > Fedify 2.0.0. Please use the [`@fedify/denokv`] package instead. `DenoKvMessageQueue` is a message queue implementation for [Deno] runtime that To use the [`DenoKvMessageQueue`], you need to install the *@fedify/denokv* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/denokv ~~~~ ::: [`DenoKvMessageQueue`] is a message queue implementation for [Deno] runtime that uses Deno's built-in [`Deno.openKv()`] API. It provides persistent storage and good performance for Deno environments. It's suitable for production use in Deno applications. Loading @@ -80,7 +91,7 @@ Cons ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { DenoKvMessageQueue } from "@fedify/fedify/x/deno"; import { DenoKvMessageQueue } from "@fedify/denokv"; const kv = await Deno.openKv(); const federation = createFederation<void>({ Loading @@ -89,6 +100,8 @@ const federation = createFederation<void>({ }); ~~~~ [`@fedify/denokv`]: https://jsr.io/@fedify/denokv [`DenoKvMessageQueue`]: https://jsr.io/@fedify/denokv/doc/mq/~/DenoKvMessageQueue [`Deno.openKv()`]: https://docs.deno.com/api/deno/~/Deno.openKv ### [`RedisMessageQueue`] Loading Loading @@ -291,7 +304,34 @@ const federation = createFederation({ > [!WARNING] > The `@fedify/fedify/x/cfworkers` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/cfworkers` package instead. > Fedify 2.0.0. Please use the [`@fedify/cfworkers`] package instead. To use the [`WorkersMessageQueue`], you need to install the *@fedify/cfworkers* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/cfworkers ~~~~ ~~~~ bash [npm] npm add @fedify/cfworkers ~~~~ ~~~~ bash [pnpm] pnpm add @fedify/cfworkers ~~~~ ~~~~ bash [Yarn] yarn add @fedify/cfworkers ~~~~ ~~~~ bash [Bun] bun add @fedify/cfworkers ~~~~ ::: `WorkersMessageQueue` is a message queue implementation for [Cloudflare Workers] that uses Cloudflare's built-in [Cloudflare Queues] API. It provides Loading @@ -315,7 +355,7 @@ import type { FederationBuilder, KvStore } from "@fedify/fedify"; const builder = undefined as unknown as FederationBuilder<void>; // ---cut-before--- import type { Federation, Message } from "@fedify/fedify"; import { WorkersMessageQueue } from "@fedify/fedify/x/cfworkers"; import { WorkersMessageQueue } from "@fedify/cfworkers"; export default { async fetch(request, env, ctx) { Loading Loading @@ -369,6 +409,7 @@ export default { > process the messages. The `queue()` method is the only way to consume > messages from the queue in Cloudflare Workers. [`@fedify/cfworkers`]: https://jsr.io/@fedify/cfworkers [Cloudflare Workers]: https://workers.cloudflare.com/ [Cloudflare Queues]: https://developers.cloudflare.com/queues/ Loading Loading
docs/manual/deploy.md +3 −3 Original line number Diff line number Diff line Loading @@ -231,7 +231,7 @@ type Env = { import { Person } from "@fedify/fedify"; // ---cut-before--- import { createFederationBuilder } from "@fedify/fedify"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/fedify/x/cfworkers"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/cfworkers"; const builder = createFederationBuilder<Env>(); Loading Loading @@ -266,7 +266,7 @@ must manually connect queue handlers: ~~~~ typescript twoslash // @noErrors: 2345 import { createFederationBuilder, Person, type Message } from "@fedify/fedify"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/fedify/x/cfworkers"; import { WorkersKvStore, WorkersMessageQueue } from "@fedify/cfworkers"; type Env = { KV_NAMESPACE: KVNamespace<string>; Loading Loading @@ -323,7 +323,7 @@ as well: ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { DenoKvStore, DenoKvMessageQueue } from "@fedify/fedify/x/deno"; import { DenoKvStore, DenoKvMessageQueue } from "@fedify/denokv"; // Open Deno KV (automatically available on Deno Deploy) const kv = await Deno.openKv(); Loading
docs/manual/inbox.md +4 −2 Original line number Diff line number Diff line Loading @@ -341,8 +341,8 @@ const federation = createFederation({ > [!NOTE] > The `InProcessMessageQueue` is a simple in-memory message queue that is > suitable for development and testing. For production use, you should > consider using a more robust message queue, such as `DenoKvMessageQueue` > from `@fedify/fedify/x/deno` module or [`RedisMessageQueue`] from > consider using a more robust message queue, such as [`DenoKvMessageQueue`] > from [`@fedify/denokv`] package or [`RedisMessageQueue`] from > [`@fedify/redis`] package. > > For more information, see the [*Message queue* section](./mq.md). Loading Loading @@ -378,6 +378,8 @@ duplicate retry mechanisms and leverages the backend's optimized retry features. > your application so that each node can process messages in parallel with > the shared message queue. [`DenoKvMessageQueue`]: https://jsr.io/@fedify/denokv/doc/mq/~/DenoKvMessageQueue [`@fedify/denokv`]: https://github.com/fedify-dev/fedify/tree/main/packages/denokv [`RedisMessageQueue`]: https://jsr.io/@fedify/redis/doc/mq/~/RedisMessageQueue [`@fedify/redis`]: https://github.com/fedify-dev/redis Loading
docs/manual/integration.md +6 −6 Original line number Diff line number Diff line Loading @@ -130,12 +130,12 @@ Hono > Fedify 2.0.0. Please use the `@fedify/hono` package instead. [Hono] is a fast, lightweight, and Web standard-compliant server framework for TypeScript. Fedify has the `@fedify/fedify/x/hono` module that provides a middleware to integrate Fedify with Hono: TypeScript. Fedify has the `@fedify/hono` module that provides a middleware to integrate Fedify with Hono: ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { federation } from "@fedify/fedify/x/hono"; import { federation } from "@fedify/hono"; import { Hono } from "hono"; const fedi = createFederation<string>({ Loading Loading @@ -253,13 +253,13 @@ SvelteKit > Fedify 2.0.0. Please use the `@fedify/sveltekit` package instead. [SvelteKit] is a framework for building web applications with [Svelte]. Fedify has the `@fedify/fedify/x/sveltekit` module that provides a hook handler to integrate Fedify with SvelteKit. Put the following code in your has the `@fedify/sveltekit` module that provides a hook handler to integrate Fedify with SvelteKit. Put the following code in your *hooks.server.ts* file: ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { fedifyHook } from "@fedify/fedify/x/sveltekit"; import { fedifyHook } from "@fedify/sveltekit"; const federation = createFederation<string>({ // Omitted for brevity; see the related section for details. Loading
docs/manual/kv.md +48 −6 Original line number Diff line number Diff line Loading @@ -135,9 +135,20 @@ const federation = createFederation<void>({ > [!WARNING] > The `@fedify/fedify/x/denokv` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/denokv` package instead. > Fedify 2.0.0. Please use the [`@fedify/denokv`] package instead. `DenoKvStore` is a key–value store implementation for [Deno] runtime that uses To use the [`DenoKvStore`], you need to install the *@fedify/denokv* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/denokv ~~~~ ::: [`DenoKvStore`] is a key–value store implementation for [Deno] runtime that uses Deno's built-in [`Deno.openKv()`] API. It provides persistent storage and good performance for Deno environments. It's suitable for production use in Deno applications. Loading @@ -153,7 +164,7 @@ Cons ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { DenoKvStore } from "@fedify/fedify/x/deno"; import { DenoKvStore } from "@fedify/denokv"; const kv = await Deno.openKv(); const federation = createFederation<void>({ Loading @@ -162,6 +173,8 @@ const federation = createFederation<void>({ }); ~~~~ [`@fedify/denokv`]: https://jsr.io/@fedify/denokv [`DenoKvStore`]: https://jsr.io/@fedify/denokv/doc/mq/~/DenoKvStore [Deno]: https://deno.com/ [`Deno.openKv()`]: https://docs.deno.com/api/deno/~/Deno.openKv Loading Loading @@ -286,9 +299,36 @@ const federation = createFederation<void>({ > [!WARNING] > The `@fedify/fedify/x/cfworkers` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/cfworkers` package instead. > Fedify 2.0.0. Please use the [`@fedify/cfworkers`] package instead. To use the [`WorkersKvStore`], you need to install the *@fedify/cfworkers* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/cfworkers ~~~~ ~~~~ bash [npm] npm add @fedify/cfworkers ~~~~ ~~~~ bash [pnpm] pnpm add @fedify/cfworkers ~~~~ ~~~~ bash [Yarn] yarn add @fedify/cfworkers ~~~~ ~~~~ bash [Bun] bun add @fedify/cfworkers ~~~~ ::: `WorkersKvStore` is a key–value store implementation for [Cloudflare Workers] [`WorkersKvStore`] is a key–value store implementation for [Cloudflare Workers] that uses Cloudflare's built-in [Cloudflare Workers KV] API. It provides persistent storage and good performance for Cloudflare Workers environments. It's suitable for production use in Cloudflare Workers applications. Loading @@ -308,7 +348,7 @@ import type { FederationBuilder } from "@fedify/fedify"; const builder = undefined as unknown as FederationBuilder<void>; // ---cut-before--- import type { Federation } from "@fedify/fedify"; import { WorkersKvStore } from "@fedify/fedify/x/cfworkers"; import { WorkersKvStore } from "@fedify/cfworkers"; export default { async fetch(request, env, ctx) { Loading @@ -331,6 +371,8 @@ export default { > object. See the [*Builder pattern for structuring* > section](./federation.md#builder-pattern-for-structuring) for details. [`@fedify/cfworkers`]: https://github.com/fedify-dev/fedify/tree/main/packages/cfworkers [`WorkersKvStore`]: https://jsr.io/@fedify/cfworkers/doc/kv/~/WorkersKvStore [Cloudflare Workers]: https://workers.cloudflare.com/ [Cloudflare Workers KV]: https://developers.cloudflare.com/kv/ Loading
docs/manual/mq.md +46 −5 Original line number Diff line number Diff line Loading @@ -62,9 +62,20 @@ const federation = createFederation<void>({ > [!WARNING] > The `@fedify/fedify/x/denokv` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/denokv` package instead. > Fedify 2.0.0. Please use the [`@fedify/denokv`] package instead. `DenoKvMessageQueue` is a message queue implementation for [Deno] runtime that To use the [`DenoKvMessageQueue`], you need to install the *@fedify/denokv* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/denokv ~~~~ ::: [`DenoKvMessageQueue`] is a message queue implementation for [Deno] runtime that uses Deno's built-in [`Deno.openKv()`] API. It provides persistent storage and good performance for Deno environments. It's suitable for production use in Deno applications. Loading @@ -80,7 +91,7 @@ Cons ~~~~ typescript import { createFederation } from "@fedify/fedify"; import { DenoKvMessageQueue } from "@fedify/fedify/x/deno"; import { DenoKvMessageQueue } from "@fedify/denokv"; const kv = await Deno.openKv(); const federation = createFederation<void>({ Loading @@ -89,6 +100,8 @@ const federation = createFederation<void>({ }); ~~~~ [`@fedify/denokv`]: https://jsr.io/@fedify/denokv [`DenoKvMessageQueue`]: https://jsr.io/@fedify/denokv/doc/mq/~/DenoKvMessageQueue [`Deno.openKv()`]: https://docs.deno.com/api/deno/~/Deno.openKv ### [`RedisMessageQueue`] Loading Loading @@ -291,7 +304,34 @@ const federation = createFederation({ > [!WARNING] > The `@fedify/fedify/x/cfworkers` module is deprecated and will be removed in > Fedify 2.0.0. Please use the `@fedify/cfworkers` package instead. > Fedify 2.0.0. Please use the [`@fedify/cfworkers`] package instead. To use the [`WorkersMessageQueue`], you need to install the *@fedify/cfworkers* package first: ::: code-group ~~~~ bash [Deno] deno add jsr:@fedify/cfworkers ~~~~ ~~~~ bash [npm] npm add @fedify/cfworkers ~~~~ ~~~~ bash [pnpm] pnpm add @fedify/cfworkers ~~~~ ~~~~ bash [Yarn] yarn add @fedify/cfworkers ~~~~ ~~~~ bash [Bun] bun add @fedify/cfworkers ~~~~ ::: `WorkersMessageQueue` is a message queue implementation for [Cloudflare Workers] that uses Cloudflare's built-in [Cloudflare Queues] API. It provides Loading @@ -315,7 +355,7 @@ import type { FederationBuilder, KvStore } from "@fedify/fedify"; const builder = undefined as unknown as FederationBuilder<void>; // ---cut-before--- import type { Federation, Message } from "@fedify/fedify"; import { WorkersMessageQueue } from "@fedify/fedify/x/cfworkers"; import { WorkersMessageQueue } from "@fedify/cfworkers"; export default { async fetch(request, env, ctx) { Loading Loading @@ -369,6 +409,7 @@ export default { > process the messages. The `queue()` method is the only way to consume > messages from the queue in Cloudflare Workers. [`@fedify/cfworkers`]: https://jsr.io/@fedify/cfworkers [Cloudflare Workers]: https://workers.cloudflare.com/ [Cloudflare Queues]: https://developers.cloudflare.com/queues/ Loading