Loading .github/ai-labeler.yml +2 −2 Original line number Diff line number Diff line Loading @@ -183,11 +183,11 @@ labels: - Routing or middleware support - component/kv: description: "Key-value storage layer" description: "key–value storage layer" instructions: | Use for: - Persistence changes - Data modeling for key-value store - Data modeling for key–value store - component/mq: description: "Message queue infrastructure" Loading .github/workflows/build.yaml +13 −10 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ jobs: node-version: lts/* cache: pnpm - run: deno task test:cfworkers working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ lint: runs-on: ubuntu-latest Loading Loading @@ -257,7 +257,7 @@ jobs: node-version: lts/* cache: pnpm - run: '[[ "$(jq -r .version deno.json)" = "$(jq -r .version package.json)" ]]' working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - run: deno task -f @fedify/fedify codegen - run: deno publish --dry-run - run: pnpm install Loading Loading @@ -299,7 +299,7 @@ jobs: '.version = .version + "-dev." + $build + "+" + $commit' \ deno.json > deno.json.tmp mv deno.json.tmp deno.json working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - if: github.event_name == 'pull_request_target' run: | jq \ Loading @@ -309,7 +309,7 @@ jobs: '.version = .version + "-pr." + $pr_number + "." + $build + "+" + $commit' \ deno.json > deno.json.tmp mv deno.json.tmp deno.json working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ env: PR_NUMBER: ${{ github.event.pull_request.number }} PR_SHA: ${{ github.event.pull_request.head.sha }} Loading @@ -318,18 +318,18 @@ jobs: set -ex echo version="$(jq -r .version deno.json)" >> $GITHUB_OUTPUT echo short_version="$(jq -r .version deno.json | sed 's/[+].*//')" >> $GITHUB_OUTPUT working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - run: deno task check-versions --fix - if: github.ref_type == 'tag' run: | set -ex [[ "$(jq -r .version deno.json)" = "$GITHUB_REF_NAME" ]] ! grep -i "to be released" CHANGES.md working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ # Don't know why, but the .gitignore list is not overridden by include list # in deno.json: - run: rm vocab/.gitignore working-directory: ${{ github.workspace }}/fedify/ - run: rm src/vocab/.gitignore working-directory: ${{ github.workspace }}/packages/fedify/ - run: | pnpm install pnpm pack --recursive --filter='!./examples/**' Loading @@ -337,7 +337,7 @@ jobs: rm fedify-cli-*.tgz fi - run: deno task pack working-directory: ${{ github.workspace }}/cli/ working-directory: ${{ github.workspace }}/packages/cli/ - id: extract-changelog uses: dahlia/submark@5a5ff0a58382fb812616a5801402f5aef00f90ce with: Loading Loading @@ -426,6 +426,7 @@ jobs: | @fedify/nestjs | ${{ steps.versioning.outputs.version }} | | [npm][npm:@fedify/nestjs] | | @fedify/postgres | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/postgres] | [npm][npm:@fedify/postgres] | | @fedify/redis | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/redis] | [npm][npm:@fedify/redis] | | @fedify/sqlite | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/sqlite] | [npm][npm:@fedify/sqlite] | | @fedify/testing | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/testing] | [npm][npm:@fedify/testing] | [jsr:@fedify/fedify]: https://jsr.io/@fedify/fedify@${{ steps.versioning.outputs.version }} Loading @@ -442,6 +443,8 @@ jobs: [npm:@fedify/postgres]: https://www.npmjs.com/package/@fedify/postgres/v/${{ steps.versioning.outputs.short_version }} [jsr:@fedify/redis]: https://jsr.io/@fedify/redis@${{ steps.versioning.outputs.version }} [npm:@fedify/redis]: https://www.npmjs.com/package/@fedify/redis/v/${{ steps.versioning.outputs.short_version }} [jsr:@fedify/sqlite]: https://jsr.io/@fedify/sqlite@${{ steps.versioning.outputs.version }} [npm:@fedify/sqlite]: https://www.npmjs.com/package/@fedify/sqlite/v/${{ steps.versioning.outputs.short_version }} [jsr:@fedify/testing]: https://jsr.io/@fedify/testing@${{ steps.versioning.outputs.version }} [npm:@fedify/testing]: https://www.npmjs.com/package/@fedify/testing/v/${{ steps.versioning.outputs.short_version }} pr-number: ${{ github.event.pull_request.number }} Loading @@ -466,7 +469,7 @@ jobs: with: deno-version: v2.x - run: deno task codegen working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - uses: denoland/deployctl@v1 with: project: fedify-blog Loading AGENTS.md +30 −24 Original line number Diff line number Diff line Loading @@ -50,24 +50,27 @@ Repository Structure The repository is organized as a monorepo with the following packages: - *fedify/*: Main Fedify library (@fedify/fedify) - *codegen/*: Code generation scripts - *compat/*: Compatibility layer - *federation/*: Core federation functionality - *nodeinfo/*: NodeInfo protocol implementation - *runtime/*: Runtime utilities - *shim/*: Platform abstraction layer - *sig/*: Signature implementation - *testing/*: Testing utilities - *vocab/*: ActivityPub vocabulary implementation - *webfinger/*: WebFinger protocol implementation - *x/*: Framework integrations - *cli/*: Fedify CLI implementation (@fedify/cli, built with Deno) - *amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) - *express/*: Express.js integration (@fedify/express) - *h3/*: h3 framework integration (@fedify/h3) - *postgres/*: PostgreSQL drivers (@fedify/postgres) - *redis/*: Redis drivers (@fedify/redis) - *packages/fedify/*: Main Fedify library (@fedify/fedify) - *src/codegen/*: Code generation scripts - *src/compat/*: Compatibility layer - *src/federation/*: Core federation functionality - *src/nodeinfo/*: NodeInfo protocol implementation - *src/runtime/*: Runtime utilities - *src/shim/*: Platform abstraction layer - *src/sig/*: Signature implementation - *src/testing/*: Testing utilities - *src/vocab/*: ActivityPub vocabulary implementation - *src/webfinger/*: WebFinger protocol implementation - *src/x/*: Framework integrations - *packages/cli/*: Fedify CLI implementation (@fedify/cli, built with Deno) - *packages/amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) - *packages/express/*: Express.js integration (@fedify/express) - *packages/h3/*: h3 framework integration (@fedify/h3) - *packages/postgres/*: PostgreSQL drivers (@fedify/postgres) - *packages/redis/*: Redis drivers (@fedify/redis) - *packages/nestjs/*: NestJS integration (@fedify/nestjs) - *packages/sqlite/*: SQLite driver (@fedify/sqlite) - *packages/testing/*: Testing utilities (@fedify/testing) - *docs/*: Documentation built with Node.js and VitePress - *examples/*: Example projects demonstrating Fedify usage Loading Loading @@ -132,21 +135,23 @@ Common Tasks ### Adding ActivityPub Vocabulary Types 1. Create a new YAML file in *fedify/vocab/* following existing patterns 1. Create a new YAML file in *packages/fedify/src/vocab/* following existing patterns 2. Run `deno task codegen` to generate TypeScript classes 3. Export the new types from appropriate module files ### Implementing Framework Integrations 1. Add new integrations in the *fedify/x/* directory 1. Add new integrations in the *packages/fedify/src/x/* directory 2. Follow pattern from existing integrations (hono.ts, sveltekit.ts) 3. Use standard request/response interfaces for compatibility 4. Consider creating a dedicated package for substantial integrations ### Creating Database Adapters 1. For core KV/MQ interfaces: implement in *fedify/federation/kv.ts* and *fedify/federation/mq.ts* 2. For specific database adapters: create dedicated packages (*postgres/*, *redis/*, *amqp/*) 1. For core KV/MQ interfaces: implement in *packages/fedify/src/federation/kv.ts* and *packages/fedify/src/federation/mq.ts* 2. For specific database adapters: create dedicated packages (*packages/sqlite/*, *packages/postgres/*, *packages/redis/*, *packages/amqp/*) 3. Follow the pattern from existing database adapter packages 4. Implement both KV store and message queue interfaces as needed Loading @@ -167,7 +172,7 @@ Testing Requirements 1. Write unit tests for all new functionality 2. Follow the pattern of existing tests 3. Use the testing utilities in *fedify/testing/* 3. Use the testing utilities in *packages/fedify/src/testing/* or *packages/testing/* 4. Consider interoperability with other fediverse software 5. For package-specific tests, follow the testing patterns in each package Loading Loading @@ -251,7 +256,8 @@ The monorepo uses different build processes for different packages: 2. **@fedify/cli**: Built with Deno, distributed via JSR and npm 3. **Database adapters and integrations**: Use tsdown for TypeScript compilation: - *amqp/*, *express/*, *h3/*, *postgres/*, *redis/* - *packages/amqp/*, *packages/express/*, *packages/h3/*, *packages/sqlite/*, *packages/postgres/*, *packages/redis/*, *packages/nestjs/* - Built to support Node.js and Bun environments Ensure changes work across all distribution formats and target environments. CHANGES.md +16 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,13 @@ the versioning. - Added `@fedify/nestjs` package. - Added `FedifyModule` for integrating Fedify into NestJS applications. - Added `SqliteKvStore`, implementing `KvStore` using SQLite with the `@fedify/sqlite` package. Compatible with Bun, Deno, and Node.js. [[#274], [#318] by An Subin] - Added `@fedify/sqlite` package. - Added `SqliteKvStore`, a SQLite implementation of `KvStore`. - Added `-o`/`--output` option to `fedify lookup` command. This option allows users to save retrieved lookup results to specified path. [[#261], [#321] by Jiwon Kwon] Loading @@ -117,10 +124,15 @@ the versioning. in each activity, in addition to the activity's own type. [[#191], [#342] by Jang Hanarae] - The `fedify` CLI now correctly disables color output when standard output isn't a TTY (for example, when redirecting to a file) or when the `NO_COLOR` environment variable is set. [[#257], [#341] by Cho Hasang] [#168]: https://github.com/fedify-dev/fedify/issues/168 [#191]: https://github.com/fedify-dev/fedify/issues/191 [#197]: https://github.com/fedify-dev/fedify/issues/197 [#248]: https://github.com/fedify-dev/fedify/issues/248 [#257]: https://github.com/fedify-dev/fedify/issues/257 [#260]: https://github.com/fedify-dev/fedify/issues/260 [#261]: https://github.com/fedify-dev/fedify/issues/261 [#262]: https://github.com/fedify-dev/fedify/issues/262 Loading @@ -135,6 +147,8 @@ the versioning. [#298]: https://github.com/fedify-dev/fedify/pull/298 [#304]: https://github.com/fedify-dev/fedify/issues/304 [#309]: https://github.com/fedify-dev/fedify/pull/309 [#274]: https://github.com/fedify-dev/fedify/issues/274 [#318]: https://github.com/fedify-dev/fedify/pull/318 [#310]: https://github.com/fedify-dev/fedify/issues/310 [#311]: https://github.com/fedify-dev/fedify/issues/311 [#321]: https://github.com/fedify-dev/fedify/pull/321 Loading @@ -142,6 +156,7 @@ the versioning. [#331]: https://github.com/fedify-dev/fedify/pull/331 [#332]: https://github.com/fedify-dev/fedify/pull/332 [#342]: https://github.com/fedify-dev/fedify/pull/342 [#341]: https://github.com/fedify-dev/fedify/pull/341 Version 1.7.7 Loading @@ -162,6 +177,7 @@ Released on July 28, 2025. [#335]: https://github.com/fedify-dev/fedify/pull/335 Version 1.7.6 ------------- Loading CONTRIBUTING.md +13 −9 Original line number Diff line number Diff line Loading @@ -181,15 +181,19 @@ Build The repository is organized as a monorepo with the following packages: - *fedify/*: The main Fedify library (@fedify/fedify). The library is built with Deno, and tested with Deno, Node.js, and [Bun]. - *codegen/*: The code generation scripts. - *cli/*: The Fedify CLI (@fedify/cli). The CLI is built with [Deno]. - *amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) for Fedify. - *express/*: Express.js integration (@fedify/express) for Fedify. - *h3/*: h3 framework integration (@fedify/h3) for Fedify. - *postgres/*: PostgreSQL drivers (@fedify/postgres) for Fedify. - *redis/*: Redis drivers (@fedify/redis) for Fedify. - *packages/fedify/*: The main Fedify library (@fedify/fedify). The library is built with Deno, and tested with Deno, Node.js, and [Bun]. - *src/codegen/*: The code generation scripts. - *packages/cli/*: The Fedify CLI (@fedify/cli). The CLI is built with [Deno]. - *packages/amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) for Fedify. - *packages/express/*: Express.js integration (@fedify/express) for Fedify. - *packages/h3/*: h3 framework integration (@fedify/h3) for Fedify. - *packages/postgres/*: PostgreSQL drivers (@fedify/postgres) for Fedify. - *packages/redis/*: Redis drivers (@fedify/redis) for Fedify. - *packages/nestjs/*: NestJS integration (@fedify/nestjs) for Fedify. - *packages/sqlite/*: SQLite driver (@fedify/sqlite) for Fedify. - *packages/testing/*: Testing utilities (@fedify/testing) for Fedify. - *docs/*: The Fedify docs. The docs are built with [Node.js] and [VitePress]. - *examples/*: The example projects. Some examples are built with Deno, and Loading Loading
.github/ai-labeler.yml +2 −2 Original line number Diff line number Diff line Loading @@ -183,11 +183,11 @@ labels: - Routing or middleware support - component/kv: description: "Key-value storage layer" description: "key–value storage layer" instructions: | Use for: - Persistence changes - Data modeling for key-value store - Data modeling for key–value store - component/mq: description: "Message queue infrastructure" Loading
.github/workflows/build.yaml +13 −10 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ jobs: node-version: lts/* cache: pnpm - run: deno task test:cfworkers working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ lint: runs-on: ubuntu-latest Loading Loading @@ -257,7 +257,7 @@ jobs: node-version: lts/* cache: pnpm - run: '[[ "$(jq -r .version deno.json)" = "$(jq -r .version package.json)" ]]' working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - run: deno task -f @fedify/fedify codegen - run: deno publish --dry-run - run: pnpm install Loading Loading @@ -299,7 +299,7 @@ jobs: '.version = .version + "-dev." + $build + "+" + $commit' \ deno.json > deno.json.tmp mv deno.json.tmp deno.json working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - if: github.event_name == 'pull_request_target' run: | jq \ Loading @@ -309,7 +309,7 @@ jobs: '.version = .version + "-pr." + $pr_number + "." + $build + "+" + $commit' \ deno.json > deno.json.tmp mv deno.json.tmp deno.json working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ env: PR_NUMBER: ${{ github.event.pull_request.number }} PR_SHA: ${{ github.event.pull_request.head.sha }} Loading @@ -318,18 +318,18 @@ jobs: set -ex echo version="$(jq -r .version deno.json)" >> $GITHUB_OUTPUT echo short_version="$(jq -r .version deno.json | sed 's/[+].*//')" >> $GITHUB_OUTPUT working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - run: deno task check-versions --fix - if: github.ref_type == 'tag' run: | set -ex [[ "$(jq -r .version deno.json)" = "$GITHUB_REF_NAME" ]] ! grep -i "to be released" CHANGES.md working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ # Don't know why, but the .gitignore list is not overridden by include list # in deno.json: - run: rm vocab/.gitignore working-directory: ${{ github.workspace }}/fedify/ - run: rm src/vocab/.gitignore working-directory: ${{ github.workspace }}/packages/fedify/ - run: | pnpm install pnpm pack --recursive --filter='!./examples/**' Loading @@ -337,7 +337,7 @@ jobs: rm fedify-cli-*.tgz fi - run: deno task pack working-directory: ${{ github.workspace }}/cli/ working-directory: ${{ github.workspace }}/packages/cli/ - id: extract-changelog uses: dahlia/submark@5a5ff0a58382fb812616a5801402f5aef00f90ce with: Loading Loading @@ -426,6 +426,7 @@ jobs: | @fedify/nestjs | ${{ steps.versioning.outputs.version }} | | [npm][npm:@fedify/nestjs] | | @fedify/postgres | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/postgres] | [npm][npm:@fedify/postgres] | | @fedify/redis | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/redis] | [npm][npm:@fedify/redis] | | @fedify/sqlite | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/sqlite] | [npm][npm:@fedify/sqlite] | | @fedify/testing | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/testing] | [npm][npm:@fedify/testing] | [jsr:@fedify/fedify]: https://jsr.io/@fedify/fedify@${{ steps.versioning.outputs.version }} Loading @@ -442,6 +443,8 @@ jobs: [npm:@fedify/postgres]: https://www.npmjs.com/package/@fedify/postgres/v/${{ steps.versioning.outputs.short_version }} [jsr:@fedify/redis]: https://jsr.io/@fedify/redis@${{ steps.versioning.outputs.version }} [npm:@fedify/redis]: https://www.npmjs.com/package/@fedify/redis/v/${{ steps.versioning.outputs.short_version }} [jsr:@fedify/sqlite]: https://jsr.io/@fedify/sqlite@${{ steps.versioning.outputs.version }} [npm:@fedify/sqlite]: https://www.npmjs.com/package/@fedify/sqlite/v/${{ steps.versioning.outputs.short_version }} [jsr:@fedify/testing]: https://jsr.io/@fedify/testing@${{ steps.versioning.outputs.version }} [npm:@fedify/testing]: https://www.npmjs.com/package/@fedify/testing/v/${{ steps.versioning.outputs.short_version }} pr-number: ${{ github.event.pull_request.number }} Loading @@ -466,7 +469,7 @@ jobs: with: deno-version: v2.x - run: deno task codegen working-directory: ${{ github.workspace }}/fedify/ working-directory: ${{ github.workspace }}/packages/fedify/ - uses: denoland/deployctl@v1 with: project: fedify-blog Loading
AGENTS.md +30 −24 Original line number Diff line number Diff line Loading @@ -50,24 +50,27 @@ Repository Structure The repository is organized as a monorepo with the following packages: - *fedify/*: Main Fedify library (@fedify/fedify) - *codegen/*: Code generation scripts - *compat/*: Compatibility layer - *federation/*: Core federation functionality - *nodeinfo/*: NodeInfo protocol implementation - *runtime/*: Runtime utilities - *shim/*: Platform abstraction layer - *sig/*: Signature implementation - *testing/*: Testing utilities - *vocab/*: ActivityPub vocabulary implementation - *webfinger/*: WebFinger protocol implementation - *x/*: Framework integrations - *cli/*: Fedify CLI implementation (@fedify/cli, built with Deno) - *amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) - *express/*: Express.js integration (@fedify/express) - *h3/*: h3 framework integration (@fedify/h3) - *postgres/*: PostgreSQL drivers (@fedify/postgres) - *redis/*: Redis drivers (@fedify/redis) - *packages/fedify/*: Main Fedify library (@fedify/fedify) - *src/codegen/*: Code generation scripts - *src/compat/*: Compatibility layer - *src/federation/*: Core federation functionality - *src/nodeinfo/*: NodeInfo protocol implementation - *src/runtime/*: Runtime utilities - *src/shim/*: Platform abstraction layer - *src/sig/*: Signature implementation - *src/testing/*: Testing utilities - *src/vocab/*: ActivityPub vocabulary implementation - *src/webfinger/*: WebFinger protocol implementation - *src/x/*: Framework integrations - *packages/cli/*: Fedify CLI implementation (@fedify/cli, built with Deno) - *packages/amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) - *packages/express/*: Express.js integration (@fedify/express) - *packages/h3/*: h3 framework integration (@fedify/h3) - *packages/postgres/*: PostgreSQL drivers (@fedify/postgres) - *packages/redis/*: Redis drivers (@fedify/redis) - *packages/nestjs/*: NestJS integration (@fedify/nestjs) - *packages/sqlite/*: SQLite driver (@fedify/sqlite) - *packages/testing/*: Testing utilities (@fedify/testing) - *docs/*: Documentation built with Node.js and VitePress - *examples/*: Example projects demonstrating Fedify usage Loading Loading @@ -132,21 +135,23 @@ Common Tasks ### Adding ActivityPub Vocabulary Types 1. Create a new YAML file in *fedify/vocab/* following existing patterns 1. Create a new YAML file in *packages/fedify/src/vocab/* following existing patterns 2. Run `deno task codegen` to generate TypeScript classes 3. Export the new types from appropriate module files ### Implementing Framework Integrations 1. Add new integrations in the *fedify/x/* directory 1. Add new integrations in the *packages/fedify/src/x/* directory 2. Follow pattern from existing integrations (hono.ts, sveltekit.ts) 3. Use standard request/response interfaces for compatibility 4. Consider creating a dedicated package for substantial integrations ### Creating Database Adapters 1. For core KV/MQ interfaces: implement in *fedify/federation/kv.ts* and *fedify/federation/mq.ts* 2. For specific database adapters: create dedicated packages (*postgres/*, *redis/*, *amqp/*) 1. For core KV/MQ interfaces: implement in *packages/fedify/src/federation/kv.ts* and *packages/fedify/src/federation/mq.ts* 2. For specific database adapters: create dedicated packages (*packages/sqlite/*, *packages/postgres/*, *packages/redis/*, *packages/amqp/*) 3. Follow the pattern from existing database adapter packages 4. Implement both KV store and message queue interfaces as needed Loading @@ -167,7 +172,7 @@ Testing Requirements 1. Write unit tests for all new functionality 2. Follow the pattern of existing tests 3. Use the testing utilities in *fedify/testing/* 3. Use the testing utilities in *packages/fedify/src/testing/* or *packages/testing/* 4. Consider interoperability with other fediverse software 5. For package-specific tests, follow the testing patterns in each package Loading Loading @@ -251,7 +256,8 @@ The monorepo uses different build processes for different packages: 2. **@fedify/cli**: Built with Deno, distributed via JSR and npm 3. **Database adapters and integrations**: Use tsdown for TypeScript compilation: - *amqp/*, *express/*, *h3/*, *postgres/*, *redis/* - *packages/amqp/*, *packages/express/*, *packages/h3/*, *packages/sqlite/*, *packages/postgres/*, *packages/redis/*, *packages/nestjs/* - Built to support Node.js and Bun environments Ensure changes work across all distribution formats and target environments.
CHANGES.md +16 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,13 @@ the versioning. - Added `@fedify/nestjs` package. - Added `FedifyModule` for integrating Fedify into NestJS applications. - Added `SqliteKvStore`, implementing `KvStore` using SQLite with the `@fedify/sqlite` package. Compatible with Bun, Deno, and Node.js. [[#274], [#318] by An Subin] - Added `@fedify/sqlite` package. - Added `SqliteKvStore`, a SQLite implementation of `KvStore`. - Added `-o`/`--output` option to `fedify lookup` command. This option allows users to save retrieved lookup results to specified path. [[#261], [#321] by Jiwon Kwon] Loading @@ -117,10 +124,15 @@ the versioning. in each activity, in addition to the activity's own type. [[#191], [#342] by Jang Hanarae] - The `fedify` CLI now correctly disables color output when standard output isn't a TTY (for example, when redirecting to a file) or when the `NO_COLOR` environment variable is set. [[#257], [#341] by Cho Hasang] [#168]: https://github.com/fedify-dev/fedify/issues/168 [#191]: https://github.com/fedify-dev/fedify/issues/191 [#197]: https://github.com/fedify-dev/fedify/issues/197 [#248]: https://github.com/fedify-dev/fedify/issues/248 [#257]: https://github.com/fedify-dev/fedify/issues/257 [#260]: https://github.com/fedify-dev/fedify/issues/260 [#261]: https://github.com/fedify-dev/fedify/issues/261 [#262]: https://github.com/fedify-dev/fedify/issues/262 Loading @@ -135,6 +147,8 @@ the versioning. [#298]: https://github.com/fedify-dev/fedify/pull/298 [#304]: https://github.com/fedify-dev/fedify/issues/304 [#309]: https://github.com/fedify-dev/fedify/pull/309 [#274]: https://github.com/fedify-dev/fedify/issues/274 [#318]: https://github.com/fedify-dev/fedify/pull/318 [#310]: https://github.com/fedify-dev/fedify/issues/310 [#311]: https://github.com/fedify-dev/fedify/issues/311 [#321]: https://github.com/fedify-dev/fedify/pull/321 Loading @@ -142,6 +156,7 @@ the versioning. [#331]: https://github.com/fedify-dev/fedify/pull/331 [#332]: https://github.com/fedify-dev/fedify/pull/332 [#342]: https://github.com/fedify-dev/fedify/pull/342 [#341]: https://github.com/fedify-dev/fedify/pull/341 Version 1.7.7 Loading @@ -162,6 +177,7 @@ Released on July 28, 2025. [#335]: https://github.com/fedify-dev/fedify/pull/335 Version 1.7.6 ------------- Loading
CONTRIBUTING.md +13 −9 Original line number Diff line number Diff line Loading @@ -181,15 +181,19 @@ Build The repository is organized as a monorepo with the following packages: - *fedify/*: The main Fedify library (@fedify/fedify). The library is built with Deno, and tested with Deno, Node.js, and [Bun]. - *codegen/*: The code generation scripts. - *cli/*: The Fedify CLI (@fedify/cli). The CLI is built with [Deno]. - *amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) for Fedify. - *express/*: Express.js integration (@fedify/express) for Fedify. - *h3/*: h3 framework integration (@fedify/h3) for Fedify. - *postgres/*: PostgreSQL drivers (@fedify/postgres) for Fedify. - *redis/*: Redis drivers (@fedify/redis) for Fedify. - *packages/fedify/*: The main Fedify library (@fedify/fedify). The library is built with Deno, and tested with Deno, Node.js, and [Bun]. - *src/codegen/*: The code generation scripts. - *packages/cli/*: The Fedify CLI (@fedify/cli). The CLI is built with [Deno]. - *packages/amqp/*: AMQP/RabbitMQ driver (@fedify/amqp) for Fedify. - *packages/express/*: Express.js integration (@fedify/express) for Fedify. - *packages/h3/*: h3 framework integration (@fedify/h3) for Fedify. - *packages/postgres/*: PostgreSQL drivers (@fedify/postgres) for Fedify. - *packages/redis/*: Redis drivers (@fedify/redis) for Fedify. - *packages/nestjs/*: NestJS integration (@fedify/nestjs) for Fedify. - *packages/sqlite/*: SQLite driver (@fedify/sqlite) for Fedify. - *packages/testing/*: Testing utilities (@fedify/testing) for Fedify. - *docs/*: The Fedify docs. The docs are built with [Node.js] and [VitePress]. - *examples/*: The example projects. Some examples are built with Deno, and Loading