100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

Edge Functions Cheat Sheet

Edge Functions Cheat Sheet

Writing and deploying edge functions across major platforms (Vercel, Cloudflare Workers, Deno Deploy) using the Web standard APIs.

2 PagesIntermediateFeb 20, 2026

Vercel Edge Function

Runs on the V8 isolate edge runtime instead of Node, close to the user.

typescript
// app/api/geo/route.tsexport const runtime = 'edge'export async function GET(req: Request) {  const geo = req.headers.get('x-vercel-ip-country') ?? 'unknown'  return new Response(JSON.stringify({ country: geo }), {    headers: { 'content-type': 'application/json' },  })}

Cloudflare Worker

Standard fetch-handler module syntax, deployed globally via Wrangler.

typescript
export default {  async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {    const url = new URL(request.url)    if (url.pathname === '/kv-test') {      const value = await env.MY_KV.get('key1')      return new Response(value ?? 'not found')    }    return new Response('Hello from the edge!')  },}// wrangler.toml// name = "my-worker"// main = "src/index.ts"// compatibility_date = "2026-01-01"// [[kv_namespaces]]// binding = "MY_KV"// id = "..."

Deno Deploy Function

Deploy a standard Deno.serve handler globally with zero config.

typescript
Deno.serve(async (req: Request) => {  const { pathname } = new URL(req.url)  if (pathname === '/health') {    return Response.json({ status: 'ok', region: Deno.env.get('DENO_REGION') })  }  return new Response('Not Found', { status: 404 })})// deploy: deployctl deploy --project=my-app main.ts

Edge Middleware (Auth Gate)

A common edge pattern: intercept requests before they hit origin to redirect/rewrite.

typescript
// middleware.ts (Next.js, runs on the edge by default)import { NextResponse } from 'next/server'import type { NextRequest } from 'next/server'export function middleware(req: NextRequest) {  const token = req.cookies.get('session')?.value  if (!token && req.nextUrl.pathname.startsWith('/dashboard')) {    return NextResponse.redirect(new URL('/login', req.url))  }  return NextResponse.next()}export const config = { matcher: '/dashboard/:path*' }

Edge Runtime Constraints

What's different vs. a normal Node server.

  • No native Node APIs- fs, net, child_process are unavailable; use Web Standard fetch/Request/Response instead
  • Cold start- typically sub-50ms since it's a V8 isolate, not a container spin-up
  • CPU/time limits- Cloudflare Workers free tier caps at 10ms CPU time (50ms paid); Vercel Edge has its own execution limits
  • No persistent in-memory state- each request may hit a different isolate; use KV/Durable Objects/external DB for state
  • Bundle size limits- Workers cap script size (1MB compressed on paid plans); tree-shake aggressively
Pro Tip

Don't assume edge = faster for everything — if your function does a single round trip to a centralized regional database, you've just added a network hop before the real latency; edge wins when the data (KV, Durable Objects, cache) is also distributed to the edge.

Was this cheat sheet helpful?

Explore Topics

#EdgeFunctions#EdgeFunctionsCheatSheet#WebDevelopment#Intermediate#VercelEdgeFunction#CloudflareWorker#DenoDeployFunction#Edge#Functions#APIs#DevOps#CheatSheet#SkillVeris
Advertisement
Sri Hayavadhana Info-Tech

Professional Web Designing Services

  • Responsive Websites
  • E-commerce Solutions
  • SEO Friendly Design
  • Fast & Secure
  • Support & Maintenance
Get a Free Quote

Share this Cheat Sheet