Skip to content

Define the portable application deployment adapter contract #328

Description

@birkskyum

Problem

The plugin-managed application mode can compose with provider Vite plugins, but the deployment-facing contract is currently spread across generated virtual modules, environment setup, build ordering, output directories, manifests, static output, and prerender behavior.

Provider integrations should not need to depend on undocumented implementation details to deploy a Solid application.

Proposed scope

Document and test the portable contract between @solidjs/vite-plugin and deployment adapters:

  • the production server service entry and Fetch handler shape
  • client and server environment names and required build ordering
  • client assets, manifests, and output locations
  • SSR, client-only, and server-function-only output differences
  • static shell and prerender output
  • which lifecycle steps the Solid plugin owns
  • which responsibilities remain with provider plugins

Where appropriate, expose named APIs or types instead of requiring adapters to import private virtual modules or reproduce internal assumptions.

Non-goals

  • implementing provider-specific deployment policy
  • replacing Cloudflare, Netlify, Nitro, or other Vite integrations
  • prescribing platform configuration

The goal is a stable composition boundary so provider plugins can remain thin adapters over a web-standard Solid application handler.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions