Progress report, March 29, 2024.
Work on Node.js compatibility is currently being done in the dnt branch (the branch name may not be appropriate, but I like it because it's short).
I've added the dnt.ts script in the root of the repository. It's not working yet—I'm getting the error below, and I'm trying to figure out a solution:
TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS.
I added KvStore and MessageQueue interfaces, an abstraction layer for key-value storage and message queues. Although there are a couple of implementations for development purposes called MemoryKvStore and InProcessMessageQueue, they are not meant to be used in production.
I haven't implemented an adapter for Deno KV yet, so it is not usable in #Fedify. Implementing the adapters for it itself isn't hard, it's the packaging that's the problem. Anyway, this regression is only temporary during development and will go away in the general release.
It was pre-released to JSR as version 0.5.0-dev.79+562c62cf, and you can test it out:
https://jsr.io/@fedify/fedify@0.5.0-dev.79+562c62cf
https://github.com/dahlia/fedify/discussions/24#discussioncomment-8948476