Define the portable application deployment adapter contract

Open
#328 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript, vite

Research direction

Start by tracing the plugin-managed application mode, generated virtual modules, environment setup, build ordering, output directories, manifests, and prerender behavior described in the issue. Map the existing provider-facing assumptions, then document and test a stable contract; done means deployment adapters can use named APIs or types without importing private modules or reproducing internal behavior.

Written by the indexing model from the issue text.

Description

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.

Dominant language
TypeScript
Stars
520
Forks
70
Avg merge
23h 35m
Merged PRs (30d)
39

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from solidjs/solid-vite-plugin

All issues in solidjs/solid-vite-plugin

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.