TypeScript
Pages Functions supports TypeScript. Author any files in your /functions directory with a .ts extension instead of a .js extension to start using TypeScript.
To add the runtime types to your project, run:
npm install --save-dev typescript @cloudflare/workers-typesThen configure the runtime types by creating a functions/tsconfig.json file:
{  "compilerOptions": {    "target": "esnext",    "module": "esnext",    "lib": ["esnext"],    "types": ["@cloudflare/workers-types"]  }}If you already have a tsconfig.json at the root of your project, you may wish to explicitly exclude the /functions directory to avoid conflicts. To exclude the /functions directory:
{  "include": ["src/**/*"],  "exclude": ["functions/**/*"],  "compilerOptions": {}}Pages Functions can be typed using the PagesFunction type. This type accepts an Env parameter. To use the env parameter:
interface Env {  KV: KVNamespace;}
export const onRequest: PagesFunction<Env> = async (context) => {  const value = await context.env.KV.get("example");  return new Response(value);};Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark