{"id":50511272,"url":"https://github.com/lowlighter/vercel-deno","last_synced_at":"2026-06-02T20:32:19.965Z","repository":{"id":348633076,"uuid":"1104201060","full_name":"lowlighter/vercel-deno","owner":"lowlighter","description":"▲ Vercel Serverless Functions powered by Deno runtime !","archived":false,"fork":false,"pushed_at":"2026-04-02T07:46:29.000Z","size":71,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T16:37:16.024Z","etag":null,"topics":["deno","serverless","vercel"],"latest_commit_sha":null,"homepage":"https://vercel-deno-runtime.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lowlighter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"lowlighter"}},"created_at":"2025-11-25T22:29:31.000Z","updated_at":"2026-04-02T07:46:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lowlighter/vercel-deno","commit_stats":null,"previous_names":["lowlighter/vercel-deno"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/lowlighter/vercel-deno","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fvercel-deno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fvercel-deno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fvercel-deno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fvercel-deno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lowlighter","download_url":"https://codeload.github.com/lowlighter/vercel-deno/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowlighter%2Fvercel-deno/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33835766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deno","serverless","vercel"],"created_at":"2026-06-02T20:32:18.174Z","updated_at":"2026-06-02T20:32:19.954Z","avatar_url":"https://github.com/lowlighter.png","language":"TypeScript","funding_links":["https://github.com/sponsors/lowlighter"],"categories":[],"sub_categories":[],"readme":"\u003c!-- \u003chero\u003e --\u003e\n\n[\u003cimg src=\"https://og-image.vercel.app/**vercel-deno**.png?theme=light\u0026md=1\u0026fontSize=100px\u0026images=https%3A%2F%2Fassets.vercel.com%2Fimage%2Fupload%2Ffront%2Fassets%2Fdesign%2Fvercel-triangle-black.svg\u0026images=https%3A%2F%2Fgithub.com%2Fdenolib%2Fhigh-res-deno-logo%2Fraw%2Fmaster%2Fdeno_hr_circle.svg\u0026widths=184\u0026widths=220\u0026heights=160\u0026heights=220\"\u003e](https://github.com/lowlighter/vercel-deno)\n\nThe [Deno runtime](https://deno.com) running on [Vercel](https://vercel.com).\n\n\u003c!-- \u003c/hero\u003e --\u003e\n\n[Live demo.](https://vercel-deno-runtime.vercel.app)\n\n\u003c!-- \u003cabout\u003e --\u003e\n\n# ✨ Features\n\n- Supports deno 2.x+\n  - Supports local development with `vercel dev`\n- Seamless integration using deno standards:\n  - [`Deno.ServeHandler`](https://docs.deno.com/api/deno/~/Deno.ServeHandler)\n  - [`Deno.ServeDefaultExport`](https://docs.deno.com/api/deno/~/Deno.ServeDefaultExport)\n  - [Deno shebangs](https://docs.deno.com/examples/hashbang_tutorial)\n- Advanced configuration, including:\n  - Deno version selection\n  - Permission management\n  - Environment variables\n  - Assets pre-caching\n\n# ❓ Frequently Asked Questions\n\n## What's the difference with vercel-community/deno?\n\nThis is a full rewrite of the unmaintained [vercel-community/deno](https://github.com/vercel-community/deno) (see [#159](https://github.com/vercel-community/deno/pull/159)).\n\nThis implementation has been designed from the ground up to be more aligned with Deno standards. For instance, you can directly reuse code written for [`deno serve`](https://docs.deno.com/runtime/reference/cli/serve/) and handlers for [`Deno.serve`](https://docs.deno.com/api/deno/~/Deno.serve), and it also natively supports\n[deno shebangs](https://docs.deno.com/examples/hashbang_tutorial), which minimizes the friction required to deploy existing Deno code to Vercel.\n\nIt also provides better support for advanced use-cases, such as specifying environment variables, pre-caching assets, or selecting the Deno version to use through pragmas, and the permissions management system is fully supported.\n\n## Why use Vercel instead of Deno Deploy?\n\nWhile [Deno Deploy](https://deno.com/deploy) is a great platform, Vercel free tier offers more generous limits for serverless applications.\n\nIf you are deploying a fully-fledged Deno application (which requires to be constantly running, requires storage or database, writable filesystem, etc.), Deno Deploy is likely a better fit.\n\nIf you are deploying a simple Deno application with simple functions and callbacks, then Vercel with this runtime is a great choice. Note that the free tier of Vercel limits the number of serverless function to 12.\n\n\u003c!-- \u003c/about\u003e --\u003e\n\u003c!-- \u003cusage\u003e --\u003e\n\n# 📓 Usage\n\nAdd the following to your `vercel.json` file:\n\n```js\n// vercel.json\n{\n  \"functions\": {\n    \"api/**/*.ts\": { \"runtime\": \"@lowlighter/vercel-deno@2.7.12\" }\n  }\n}\n```\n\nA serverless function may be defined using an `export default` of one of the following types:\n\n- [`Deno.ServeHandler`](https://docs.deno.com/api/deno/~/Deno.ServeHandler)\n- [`Deno.ServeDefaultExport`](https://docs.deno.com/api/deno/~/Deno.ServeDefaultExport)\n\n[See `/api` for examples.](https://vercel-deno-runtime.vercel.app)\n\n# 🪛 Advanced Usage\n\n## Shebangs\n\nRuntime options and permissions may be specified using [deno shebangs](https://docs.deno.com/examples/hashbang_tutorial).\n\n```ts\n#!/usr/bin/env -S deno run --allow-sys\nexport default async function serve() {\n  return new Response(Deno.osRelease())\n}\n```\n\n\u003e [!IMPORTANT]\n\u003e The parser only supports shebangs that use `deno run` or `deno serve`.\n\n\u003e [!NOTE]\n\u003e The `--allow-read` permission for the function's source file is always implicitly granted as it is required to load and run the handler. Under the hood, the handler is run within a [`WebWorker` with the provided permissions](https://docs.deno.com/api/web/~/WorkerOptions).\n\n## Pragma\n\nSpecific instructions may be provided to the runtime using the `//@vercel:` pragma (which must be placed at the top of the file or immediately after the shebang).\n\n| Option      | Alias | Description                              | Multiple | Dev | Default  | Example      |\n| ----------- | ----- | ---------------------------------------- | -------- | --- | -------- | ------------ |\n| `--version` | `-v`  | Specify the Deno version to use.         |          | N¹  | `latest` | `-v 2.7.12`  |\n| `--env`     | `-e`  | Specify environment variables to set.    | Y        | Y   |          | `-e FOO=bar` |\n| `--include` | `-i`  | Specify additional modules to pre-cache. | Y        | N²  |          | `-i /assets` |\n\n- ¹: Dev server always uses the currently installed Deno version.\n- ²: Dev server always has access to the filesystem and not a subset of it.\n\n```ts\n//@vercel: -e FOO=bar\nexport default async function serve() {\n  return new Response(Deno.env.get(\"FOO\"))\n}\n```\n\n## Deno in build steps\n\nThe Deno runtime is only made available by Vercel at runtime during serverless function execution.\n\nIf you wish to use it in build steps, you can use the following commands in your `vercel.json`:\n\n```js\n// vercel.json\n{\n  \"installCommand\": \"curl -fsSL https://deno.land/install.sh | sh\",\n  \"buildCommand\": \"([ -d /vercel ] \u0026\u0026 /vercel/.deno/bin/deno task build) || true\"\n}\n```\n\n\u003c!-- \u003c/usage\u003e --\u003e\n\n# 📜 License\n\nMIT License © 2025 [Lowlighter](https://github.com/lowlighter).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowlighter%2Fvercel-deno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flowlighter%2Fvercel-deno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowlighter%2Fvercel-deno/lists"}