ts-miniflare v0.2.0
ts-miniflare
Run TypeScript Cloudflare Workers with Miniflare
Prerequisites
This project requires Node.js LTS (currently version 20.1.0 or later) and NPM. Node and NPM are really easy to install. To make sure you have them available on your machine, try running the following command.
Table of contents
Installation
BEFORE YOU INSTALL: please read the prerequisites
To install and set up the library, run:
$ npm install -S ts-miniflare
Or if you prefer using Yarn:
$ yarn add --dev ts-miniflare
Or if you prefer using Pnpm:
$ pnpm add -D ts-miniflare
Usage
!NOTE We currently only supports ES module format Cloudflare Worker.
Use inline script
import {Miniflare} from "ts-miniflare";
const mf = new Miniflare({
module: true,
script: `
export default {
async fetch(request, env, ctx) {
return new Response("Hello Miniflare!");
}
}
`
})
Use script file
export default {
async fetch(request, env, ctx) {
return new Response("Hello Miniflare!");
}
}
import {Miniflare} from "ts-miniflare";
const mf = new Miniflare({
module: true,
scriptPath: "index.ts"
})
Running the tests
$ npm test
Building a distribution version
$ npm run build
This task will create a distribution version of the project
inside your local dist/
folder
Serving the distribution version
$ npm run serve:dist
This will use lite-server
for servign your already
generated distribution version of the project.
Note this requires Building a distribution version first.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Add your changes:
git add .
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :sunglasses:
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Chao Tzu-Hsien - Initial work - ZhaoTzuHsien
See also the list of contributors who participated in this project.
License
MPL-2.0 © Chao Tzu-Hsien