Cloudflare Worker Generator
- npm - as task runner.
- jest - as testing and coverage framework to write specs in TypeScript itself. You can choose to use mocha instead.
- gulp as build tool.
npm i -g generator-cloudflare-worker
Create a new directory and
cd into it.
mkdir my-worker cd my-worker
Run the generator.
You can choose to use mocha as your test framework using command -
yo cloudflare-worker --mocha
Generate a new worker class and test file.
yo cloudflare-worker:classlib MyWorker [--mocha]
Test the worker
npm run test
Get the test coverage
npm run coverage
Build the worker
npm run build
Publish the worker
Cloudflare provides two set of endpoint to upload the worker into Cloudflare, one for enterprise customers and other for all other customers. Enterprise customers can configure worker completely without UI through enterprise endpoint but it is not possible for other customers.
The gulp build scripts support for both types of endpoint and you can use it depend on your needs.
- You required a clouflare account email and API key(global key).
- You can get the global api key from your Cloudflare account page.
- You required Cloudfalre zone id and account id. You can get it from overview tab from the Cloudflare portal.
- You need to know your website/domain pricing tier either enterprise or other
- Once you gathered above information, create the following environment variables to hold these information
- Upload a worker for dev environment
npm run publishdev
- Upload a worker for production
npm run publish
Note: Non enterprise customer should manually configure a route and route mapping to the uploaded worker through Cloudflare portal.