Separated @fedify/fedify/runtime with @fedify/vocab-runtime and @fedify/fedify/utils#451
Conversation
Summary of ChangesHello @2chanhaeng, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly refactors the internal architecture of the Fedify project by breaking down the monolithic Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
…into vocab/runtime
There was a problem hiding this comment.
Code Review
This pull request is an excellent and significant refactoring that separates the @fedify/fedify/runtime module into a new @fedify/vocab-runtime package and a new internal @fedify/fedify/utils module. This change greatly improves the project's modularity, separates concerns more cleanly, and resolves circular dependencies that existed in the previous structure. The file moves, import path updates, and dependency adjustments across the monorepo have been executed thoroughly and consistently.
My review found one issue in the implementation of the deprecated fetchDocumentLoader function, where it fails to pass through options, breaking functionality like request cancellation. Other than that, the changes look solid and are a great step forward for the project's architecture.
|
I'll have to look at this closer later, but I'm pretty sure this isn't what #444 was suggesting |
|
@ThisIsMissEm I believe although this pull request does not completely address #444, but it partially does:
|
fedify-dev#451 (comment) Co-authored-by: Hong Minhee (洪 民憙) <hong@minhee.org>
|
The latest push to this pull request has been published to JSR and npm as a pre-release:
|
|
The docs for this pull request have been published: |
Summary
Separated
@fedify/fedify/runtimewith@fedify/vocab-runtimeand@fedify/fedify/utils.Modules related to ActivityPub vocabulary generation was moved to
@fedify/vocab-runtime.The other modules have been moved to the
@fedify/fedify/utilspath because they can be used not only at runtime but also in general situations(e.g.getUserAgent).I thought that only the code used in
vocabshould be exported from@fedify/vocab-runtime. Therefore, code not directly used invocabis defined separately in@fedify/vocab-runtimeand@fedify/fedify, leading to code duplication.Related Issue
Changes
@fedify/fedify/runtime.@fedify/vocab-runtimeand@fedify/fedify/utils.@fedify/fedify/runtimewith@fedify/vocab-runtimeor@fedify/fedify/utils.Benefits
This PR improve modularity and extend Activity Vocabulary with custom types or use the vocabulary in non-Deno environments.
Checklist
Did you write some relevant docs about this change (if it's a new feature)?Did you write a regression test to reproduce the bug (if it's a bug fix)?Did you write some tests for this change (if it's a new feature)?deno task test-allon your machine?Additional Notes
If you think it's better for the entire
/runtimeto be separated into another package, please let me know.