Skip to content

mastrojs/template-basic-cloudflare

Repository files navigation

Mastro Template Basic for Cloudflare Workers

This is a basic TypeScript template for Mastro when using Cloudflare Workers to run your server code on-demand on the edge. If you only need to generate a static site for the Cloudflare CDN, you don't need this template.

Click the green Use this template button in the top right to create your own copy of this repository. Then clone the Code to your computer.

Run locally

If you have multiple projects on your computer that require different Node.js versions, you should install a tool to manage those version for you; for example Volta (see pnpm Support).

Mastro requires Node.js >=24.

JSR recommends to use pnpm.

The first time, you need to:

pnpm install

After that, to start the Cloudflare Workers runtime using Wrangler:

pnpm run dev

Then open http://localhost:8787 in your browser.

Using Deno

To start a development server that reloads more quickly than wrangler (which bundles all your code using esbuild, and then runs it in the workerd JavaScript runtime), you can use Deno:

deno task start

Then open http://localhost:8000 in your browser.

However, be aware that the Deno and workerd JavaScript runtimes don't support exactly the same features. Thus to get the exact same behaviour as on production, you should use pnpm run dev.

Next steps

Note that currently, Mastro on Cloudflare Workers only works with the programmatic router, not the file-based router which is the default when using Mastro with Deno, Bun or plain Node.js.

To see how Mastro works, follow the guide.

To make sure you're on the latest Mastro version:

pnpm update @mastrojs/mastro --latest

Deploy to production

pnpm run deploy

About

Basic template for a Mastro project using Cloudflare Workers

Topics

Resources

Stars

Watchers

Forks