Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucacasonato/now-deno
Deno builder for Vercel - run Deno on Vercel. :sauropod: + λ = :heart:
https://github.com/lucacasonato/now-deno
deno lambda serverless vercel
Last synced: 5 days ago
JSON representation
Deno builder for Vercel - run Deno on Vercel. :sauropod: + λ = :heart:
- Host: GitHub
- URL: https://github.com/lucacasonato/now-deno
- Owner: lucacasonato
- License: mit
- Created: 2019-12-20T21:51:34.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-06-25T09:39:12.000Z (over 2 years ago)
- Last Synced: 2024-05-01T14:25:40.865Z (9 months ago)
- Topics: deno, lambda, serverless, vercel
- Language: TypeScript
- Homepage: http://npmjs.com/package/now-deno
- Size: 154 KB
- Stars: 264
- Watchers: 5
- Forks: 12
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# now-deno
> Deno builder for Vercel - run Deno on `vercel`. 🦕 + λ = ❤️
This builder allows you to run [Deno](https://deno.land) as a lambda on `vercel`.
## Usage
If you're unfamiliar with `vercel` runtimes, please read the [runtime docs](https://vercel.com/docs/runtimes) first. This runtime can be used like any other Community Runtime.
```json
// vercel.json
{
"functions": {
"api/**/*.{j,t}s": {
"runtime": "[email protected]"
}
}
}
```Note: You need `vercel` v17.x or above to use the above configuration.
```ts
// api/hello.ts
import {
APIGatewayProxyEvent,
APIGatewayProxyResult,
Context,
} from 'https://deno.land/x/lambda/mod.ts';export async function handler(
event: APIGatewayProxyEvent,
context: Context
): Promise {
return {
statusCode: 200,
body: `Welcome to deno ${Deno.version.deno} 🦕`,
headers: {
'content-type': 'text/html; charset=utf-8',
},
};
}
```That's the simplest way to use this runtime!
## Advanced usage
### Specific Deno version
To use a specific version of Deno you can specify a environment variable in your `vercel.json`:
```json
// vercel.json
{
"functions": {
...
},
"env": {
"DENO_VERSION": "0.42.0"
}
}
```### Unstable mode
To use Deno's `unstable` mode you can specify the environment variable `DENO_UNSTABLE` in your `vercel.json`:
```json
// vercel.json
{
"functions": {
...
},
"env": {
"DENO_UNSTABLE": "true"
}
}
```### TS Config
To pass a custom config, you can specify the variable `DENO_CONFIG` in your `now.json`:
```json
// now.json
{
"functions": {
...
},
"env": {
"DENO_CONFIG": "tsconfig.json"
}
}
```### Custom pre-package script
You can place a `build.sh` function in the root of your deploy directory. This will be executed before the function is packaged up.
## `vercel dev`
> **`vercel dev` is currently only supported on macOS and Linux. It is not supported on Windows.**
If you have have `deno` installed in your path then you can use `vercel dev` with this runtime. It should work just like any other runtime.
## Credits
This was only possible due to the great work of [Andy Hayden](https://github.com/hayd) who made the first attempts at running [deno in a lambda function](https://github.com/hayd/deno-lambda).