Skip to content

Commit 8a718c7

Browse files
committed
Merge remote-tracking branch 'fedify-dev/next' into next
2 parents 70d7158 + 53cebd7 commit 8a718c7

File tree

146 files changed

+166743
-1867
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+166743
-1867
lines changed

.github/workflows/build.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -342,9 +342,6 @@ jobs:
342342
- run: |
343343
pnpm install
344344
pnpm pack --recursive --filter='!./examples/**'
345-
if [[ "$GITHUB_REF_TYPE" != tag ]]; then
346-
rm fedify-cli-*.tgz
347-
fi
348345
- run: deno task pack
349346
working-directory: ${{ github.workspace }}/packages/cli/
350347
- id: extract-changelog
@@ -428,7 +425,7 @@ jobs:
428425
| Package | Version | JSR | npm |
429426
| ----------------- | --------------------------------------- | ---------------------------- | ---------------------------- |
430427
| @fedify/fedify | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/fedify] | [npm][npm:@fedify/fedify] |
431-
| @fedify/cli | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/cli] | |
428+
| @fedify/cli | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/cli] | [npm][npm:@fedify/cli] |
432429
| @fedify/amqp | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/amqp] | [npm][npm:@fedify/amqp] |
433430
| @fedify/cfworkers | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/cfworkers] | [npm][npm:@fedify/cfworkers] |
434431
| @fedify/denokv | ${{ steps.versioning.outputs.version }} | [JSR][jsr:@fedify/denokv] | |
@@ -448,6 +445,7 @@ jobs:
448445
[jsr:@fedify/fedify]: https://jsr.io/@fedify/fedify@${{ steps.versioning.outputs.version }}
449446
[npm:@fedify/fedify]: https://www.npmjs.com/package/@fedify/fedify/v/${{ steps.versioning.outputs.short_version }}
450447
[jsr:@fedify/cli]: https://jsr.io/@fedify/cli@${{ steps.versioning.outputs.version }}
448+
[npm:@fedify/cli]: https://www.npmjs.com/package/@fedify/cli/v/${{ steps.versioning.outputs.short_version }}
451449
[jsr:@fedify/amqp]: https://jsr.io/@fedify/amqp@${{ steps.versioning.outputs.version }}
452450
[npm:@fedify/amqp]: https://www.npmjs.com/package/@fedify/amqp/v/${{ steps.versioning.outputs.short_version }}
453451
[jsr:@fedify/cfworkers]: https://jsr.io/@fedify/cfworkers@${{ steps.versioning.outputs.version }}

AGENTS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ Repository Structure
5353
The repository is organized as a monorepo with the following packages:
5454

5555
- *packages/fedify/*: Main Fedify library (@fedify/fedify)
56-
- *src/codegen/*: Code generation scripts
56+
- ~~src/codegen/~~: **Don't use.** Moved to `@fedify/vocab-tools`. If user code imports from here, notice and suggest migration.
5757
- *src/compat/*: Compatibility layer
5858
- *src/federation/*: Core federation functionality
5959
- *src/nodeinfo/*: NodeInfo protocol implementation
60-
- ~~*src/runtime/*~~: **Don't use.** Moved to `@fedify/vocab-runtime` and `src/utils/*`. If user code imports from here, notice and suggest migration.
60+
- ~~src/runtime/~~: **Don't use.** Moved to `@fedify/vocab-runtime` and `src/utils/*`. If user code imports from here, notice and suggest migration.
6161
- *src/shim/*: Platform abstraction layer
6262
- *src/sig/*: Signature implementation
6363
- *src/testing/*: Testing utilities
@@ -82,6 +82,7 @@ The repository is organized as a monorepo with the following packages:
8282
- *packages/sveltekit/*: SvelteKit integration (@fedify/sveltekit)
8383
- *packages/testing/*: Testing utilities (@fedify/testing)
8484
- *packages/vocab-runtime/*: Runtime utilities and types (@fedify/vocab-runtime)
85+
- *packages/vocab-tools/*: Utilities and types for code-generated Activity Vocabulary APIs (@fedify/vocab-runtime)
8586
- *docs/*: Documentation built with Node.js and VitePress
8687
- *examples/*: Example projects demonstrating Fedify usage
8788

CHANGES.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ To be released.
7777
- Updated import paths throughout the codebase to reflect the new module
7878
organization.
7979

80+
- The `KvCacheParameters.rules` option's type became
81+
`[string | URL | URLPattern, Temporal.Duration | Temporal.DurationLike][]`
82+
(was `[string | URL | URLPattern, Temporal.Duration][]`).
83+
8084
[#280]: https://github.com/fedify-dev/fedify/issues/280
8185
[#366]: https://github.com/fedify-dev/fedify/issues/366
8286
[#376]: https://github.com/fedify-dev/fedify/issues/376
@@ -90,6 +94,15 @@ To be released.
9094

9195
### @fedify/cli
9296

97+
- The Fedify CLI now runs natively on Node.js and Bun without requiring
98+
compiled binaries, providing a more natural JavaScript package experience
99+
for Node.js and Bun users. [[#374], [#456], [#457]]
100+
101+
- Added `fedify generate-vocab` command to generate Activity Vocabulary
102+
classes from schema files. This command uses the new *@fedify/vocab-tools*
103+
package internally and allows users to extend Activity Vocabulary with
104+
custom types. [[#444], [#458] by ChanHaeng Lee]
105+
93106
- Updated `fedify init` command for better DX.
94107
[[#397], [#435] by Chanhaeng Lee]
95108

@@ -102,10 +115,45 @@ To be released.
102115
`-t`/`--traverse` option, allowing users to traverse multiple collections
103116
in a single command. [[#408], [#449] by Jiwon Kwon]
104117

118+
[#374]: https://github.com/fedify-dev/fedify/issues/374
105119
[#397]: https://github.com/fedify-dev/fedify/issues/397
106120
[#408]: https://github.com/fedify-dev/fedify/issues/408
107121
[#435]: https://github.com/fedify-dev/fedify/issues/435
108122
[#449]: https://github.com/fedify-dev/fedify/pull/449
123+
[#456]: https://github.com/fedify-dev/fedify/issues/456
124+
[#457]: https://github.com/fedify-dev/fedify/pull/457
125+
[#458]: https://github.com/fedify-dev/fedify/pull/458
126+
127+
### @fedify/relay
128+
129+
- Created ActivityPub relay integration as the *@fedify/relay* package.
130+
[[#359], [#459] by Jiwon Kwon]
131+
132+
- Added `Relay` interface defining the common contract for relay
133+
implementations.
134+
- Added `MastodonRelay` class implementing Mastodon-compatible relay
135+
protocol with:
136+
- Added `SubscriptionRequestHandler` type for custom subscription approval
137+
logic.
138+
- Added `RelayOptions` interface for relay configuration.
139+
140+
[#359]: https://github.com/fedify-dev/fedify/issues/359
141+
[#459]: https://github.com/fedify-dev/fedify/pull/459
142+
143+
### @fedify/vocab-tools
144+
145+
- Created Activity Vocabulary code generator as the *@fedify/vocab-tools*
146+
package. Separated vocabulary code generation tools from the main
147+
*@fedify/fedify* package to improve modularity and enable custom vocabulary
148+
extensions across different JavaScript runtimes.
149+
[[#444], [#458] by ChanHaeng Lee]
150+
151+
- Made the code generator runtime-agnostic, supporting Deno, Node.js,
152+
and Bun environments.
153+
- Provides programmatic API for generating vocabulary classes from
154+
schema files.
155+
- Integrated with `fedify generate-vocab` CLI command.
156+
- Published to both npm and JSR for broad ecosystem compatibility.
109157

110158
### @fedify/vocab-runtime
111159

deno.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
"./packages/sveltekit",
1717
"./packages/testing",
1818
"./packages/vocab-runtime",
19+
"./packages/relay",
20+
"./packages/vocab-tools",
1921
"./examples/blog",
2022
"./examples/hono-sample"
2123
],
@@ -25,16 +27,19 @@
2527
"@js-temporal/polyfill": "npm:@js-temporal/polyfill@^0.5.1",
2628
"@logtape/file": "jsr:@logtape/file@^1.1.1",
2729
"@logtape/logtape": "jsr:@logtape/logtape@^1.1.1",
30+
"@nestjs/common": "npm:@nestjs/common@^11.0.1",
2831
"@std/assert": "jsr:@std/assert@^1.0.13",
2932
"@std/async": "jsr:@std/async@^1.0.13",
3033
"@std/encoding": "jsr:@std/encoding@^1.0.10",
3134
"@std/fs": "jsr:@std/fs@^1.0.3",
3235
"@std/path": "jsr:@std/path@^1.0.6",
36+
"@std/testing": "jsr:@std/testing@^0.224.0",
3337
"@std/yaml": "jsr:@std/yaml@^1.0.8",
38+
"@types/node": "npm:@types/node@^22.16.0",
3439
"amqplib": "npm:amqplib@^0.10.8",
35-
"es-toolkit": "npm:es-toolkit@^1.30.0",
40+
"byte-encodings": "npm:byte-encodings@^1.0.11",
41+
"es-toolkit": "npm:es-toolkit@^1.39.10",
3642
"h3": "npm:h3@^1.15.0",
37-
"@nestjs/common": "npm:@nestjs/common@^11.0.1",
3843
"ioredis": "npm:ioredis@^5.6.1",
3944
"json-preserve-indent": "npm:json-preserve-indent@^1.1.3",
4045
"postgres": "npm:postgres@^3.4.7",

0 commit comments

Comments
 (0)