1 | # @remix-run/server-runtime
|
2 |
|
3 | [Remix](https://remix.run) supports multiple server runtimes:
|
4 |
|
5 | - [Node](https://nodejs.org/en/)
|
6 | - [Cloudflare](https://developers.cloudflare.com/workers/learning/how-workers-works/)
|
7 | - [Deno](https://deno.land/) (Experimental 🧪)
|
8 |
|
9 | Support for each runtime is provided by a corresponding Remix package:
|
10 |
|
11 | - [`@remix-run/node`](https://github.com/remix-run/remix/tree/main/packages/remix-node)
|
12 | - [`@remix-run/cloudflare`](https://github.com/remix-run/remix/tree/main/packages/remix-cloudflare)
|
13 | - [`@remix-run/deno`](https://github.com/remix-run/remix/tree/main/packages/remix-deno)
|
14 |
|
15 | This package defines a "Remix server runtime interface" that each runtime package must conform to.
|
16 |
|
17 | Each Remix server runtime package MUST:
|
18 |
|
19 | - Implement and export values for each type in [`interface.ts`](./interface.ts)
|
20 | - Re-export types in [`reexport.ts`](./reexport.ts)
|
21 |
|
22 | Each Remix server runtime package MAY:
|
23 |
|
24 | - Re-export the [default implementations](./index.ts) as its implementations
|
25 | - Export custom implementations adhering to the [interface types](./interface.ts)
|
26 | - Provide additional exports relevant for that runtime
|