Skip to content

Create @fedify/solidstart package for SolidStart integration #476

@dodok8

Description

@dodok8

Summary

Add official SolidStart integration package (@fedify/solidstart) to enable seamless federation capabilities in SolidStart applications, similar to existing integrations for SvelteKit (@fedify/sveltekit) and Next.js (@fedify/next).

Problem

SolidStart is a popular meta-framework for building Solid.js applications with server-side rendering, and developers using SolidStart currently lack a streamlined way to integrate Fedify's ActivityPub federation capabilities. While Fedify can theoretically work with any framework through its framework-agnostic core, developers have to manually handle request/response conversions and middleware setup, leading to boilerplate code and potential compatibility issues. This creates an unnecessary barrier for SolidStart developers who want to build federated applications and participate in the Fediverse ecosystem.

Proposed Solution

Create a dedicated @fedify/solidstart package in the packages/ directory that provides native SolidStart integration following the established patterns from other framework integrations. The package should:

  • Provide middleware/handlers compatible with SolidStart's API routes and server functions
  • Handle request/response object conversion between SolidStart and Fedify's internal interfaces
  • Include TypeScript types specific to SolidStart's request/response patterns
  • Follow the same builder pattern and configuration approach as existing integrations
  • Include an example application demonstrating usage in the examples/ directory
  • Provide comprehensive documentation.

This would allow SolidStart developers to add federation capabilities with minimal configuration, matching the developer experience already available to users of other meta-frameworks.

Alternatives Considered

No response

Scope / Dependencies

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions