An open API service indexing awesome lists of open source software.

https://github.com/supabase/edge-runtime

A server based on Deno runtime, capable of running JavaScript, TypeScript, and WASM services.
https://github.com/supabase/edge-runtime

deno edge-computing edge-functions rust web-server

Last synced: 16 days ago
JSON representation

A server based on Deno runtime, capable of running JavaScript, TypeScript, and WASM services.

Awesome Lists containing this project

README

        

# Supabase Edge Runtime

A web server based on [Deno](https://deno.land) runtime, capable of running
JavaScript, TypeScript, and WASM services. Edge Runtime is built and maintained
by the [Supabase team](https://supabase.io). For more details, read the
[intro blog post](https://supabase.com/blog/edge-runtime-self-hosted-deno-functions).

You can use it to:

- Locally test and self-host Supabase's Edge Functions (or any Deno Function)
- As a programmable HTTP Proxy: You can intercept / route HTTP requests

**WARNING: Beta Software. There will be breaking changes to APIs / Configuration
Options**

## Architecture

![Sequence diagram of Edge Runtime request flow](assets/edge-runtime-diagram.svg?raw=true)

The edge runtime can be divided into two runtimes with different purposes.

- Main runtime:
- An instance for the _main runtime_ is responsible for proxying the
transactions to the _user runtime_.
- The main runtime is meant to be an entry point before running user
functions, where you can authentication, etc. before calling the user
function.
- Has no user-facing limits
- Has access to all environment variables.
- User runtime:
- An instance for the _user runtime_ is responsible for executing users' code.
- Limits are required to be set such as: Memory and Timeouts.
- Has access to environment variables explictly allowed by the main runtime.

## Developers

To learn how to build / test Edge Runtime, visit [DEVELOPERS.md](DEVELOPERS.md)

## Contributions

We welcome contributions to Supabase Edge Runtime!

To get started either open an issue on
[GitHub](https://github.com/supabase/edge-runtime/issues) or drop us a message
on [Discord](https://discord.com/invite/R7bSpeBSJE)

Edge Runtime follows Supabase's
[Code of Conduct](https://github.com/supabase/.github/blob/main/CODE_OF_CONDUCT.md).