Default starter for TypeScript

A basic TypeScript starter kit that demonstrates routing, simple synthetic responses and overriding caching rules.

Platform:
Fastly Compute
Language:
JavaScript
Repo:
https://github.com/fastly/compute-starter-kit-typescript-default

Use this starter

Using the Fastly CLI, create a new project using this starter somewhere on your computer:

$ fastly compute init --from=https://github.com/fastly/compute-starter-kit-typescript-default

Or click the button below to create a GitHub repository, provision a Fastly service, and set up continuous deployment:

Deploy to Fastly

Features

  • TypeScript source files
  • tsconfig.json file to use as a starting point
  • Allow only requests with particular HTTP methods
  • Match request URL path and methods for routing
  • Build synthetic responses at the edge

Understanding the code

This starter kit is written in TypeScript and illustrates the same features as the Compute JavaScript default starter kit. It is intentionally lightweight, and requires no dependencies aside from the @fastly/js-compute npm package. It will help you understand the basics of processing requests at the edge using Fastly. This starter includes implementations of common patterns explained in our using Compute and VCL migration guides. The starter doesn't require the use of any backends. Once deployed, you will have a Fastly service running on Compute that can generate synthetic responses at the edge.

The Compute JavaScript SDK has built-in support for executing TypeScript source files that contain only erasable TypeScript syntax. In this mode, type checking is not performed.

The SDK does not directly refer to the tsconfig.json file, but one is included to aid your IDE in coding support as well as to illustrate the recommended practice of running tsc --noEmit in a prebuild script to check for TypeScript errors, since the SDK does not perform type checking.

Running the application

To create an application using this starter kit, create a new directory for your application and switch to it, and then type the following command:

npm create @fastly/compute@latest -- --language=typescript --default-starter-kit

To build and run your new application in the local development environment, type the following command:

npm run start

To build and deploy your application to your Fastly account, type the following command. The first time you deploy the application, you will be prompted to create a new service in your account.

npm run deploy

Next steps

Starters are a good way to bootstrap a project. For more specific use cases, and answers to common problems, try our library of code examples.