Skip to content

Conversation

@dodok8
Copy link
Contributor

@dodok8 dodok8 commented Dec 22, 2025

Summary

Add ElysiaJS option to fedify init when user choose bun as runtime.

Related Issue

Changes

  • Add elysia option to fedify init.

Benefits

The user can make the Elysia app with Fedify easily.

Checklist

  • Did you add a changelog entry to the CHANGES.md?
  • 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)?
  • Did you run deno task test-all on your machine?

Additional Notes

Due to Elysia being based on the Bun, it's unable to test with deno task test-init.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @dodok8, 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 enhances the fedify init command by introducing support for the ElysiaJS web framework. This integration streamlines the setup process for developers who wish to build Fedify applications using ElysiaJS, particularly when leveraging the Bun runtime. The changes include updating framework options, adding a dedicated ElysiaJS project template, and configuring the necessary dependencies and build scripts for a seamless initial experience.

Highlights

  • ElysiaJS Framework Support: The fedify init command now includes ElysiaJS as a selectable web framework option, allowing users to scaffold new projects with ElysiaJS.
  • Bun Runtime Integration: ElysiaJS support is specifically tied to the bun runtime, with fedify init configuring appropriate dependencies and development/production tasks for Bun.
  • New ElysiaJS Template: A new template file (elysia/index.ts.tpl) has been added to generate the basic structure of an ElysiaJS application, pre-configured with @fedify/elysia.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds support for ElysiaJS to the fedify init command. The changes look good overall, introducing a new web framework option, its configuration, and a template file. I've identified a critical issue with a dependency version that would break installation, and I've also suggested improvements to the new template for better flexibility and to the constants file for better maintainability. Addressing these points will make the new feature more robust and align it with existing patterns in the codebase.

@codecov
Copy link

codecov bot commented Dec 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

dodok8 and others added 6 commits December 24, 2025 17:16
Fix joinDepsReg to properly handle dependencies that already
contain registry prefixes. When a dependency value included a
prefix like "npm:elysia@^1.3.6", the function was incorrectly
prepending the name again, creating invalid specifiers like
"jsr:elysia@npm:elysia@^1.3.6" in deno.json imports.

Now checks if version already starts with "npm:" or "jsr:" and
uses it as-is, otherwise constructs the spec from name and version.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Split Elysia template into runtime-specific versions (Deno, Bun,
Node.js) to properly handle different runtime APIs and
configurations. Deno uses Deno.serve() API, Bun and Node use
Elysia's .listen() method with @elysiajs/node adapter for Node.

Update webframeworks.ts to support all package managers (deno, bun,
npm, yarn, pnpm) with appropriate dependencies and configurations
for each runtime. Add --allow-env and --allow-net flags for Deno
tasks since Elysia requires environment access.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Update CLI documentation to include Elysia as a web framework
option. Add installation instructions for all package managers
in the Elysia integration section of the manual.
@dodok8 dodok8 marked this pull request as ready for review December 24, 2025 08:17
@issues-auto-labeler issues-auto-labeler bot added component/cli CLI tools related examples Example code related good first issue Good for newcomers labels Dec 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/cli CLI tools related examples Example code related good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant