generator-cloudflare-worker

1.0.5 • Public • Published

Cloudflare Worker Generator

I'm a minimal Yeoman generator for creating Cloudflare Worker using NodeJS packages and TypeScript. I let you quickly setup a project with latest available tools and best practices.

I use:

  • 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.

Usage

Install generator-cloudflare-worker globally.

npm i -g generator-cloudflare-worker

Create a new directory and cd into it.

mkdir my-worker
cd my-worker

Run the generator.

yo cloudflare-worker

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.

Pre-Requesites:

  • 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
    • NODE_CF_ZONE_ID
    • NODE_CF_ACCOUNT_ID
    • NODE_CF_PRICING
    • NODE_CF_EMAIL
    • NODE_CF_AUTH_KEY

Worker Deployment:

  • 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.

License

MIT

Package Sidebar

Install

npm i generator-cloudflare-worker

Weekly Downloads

0

Version

1.0.5

License

MIT

Unpacked Size

29.8 kB

Total Files

28

Last publish

Collaborators

  • tamilvasan