When working with cloudflare worker and cloudflare platform locally we don't have any easy way to directly access Worker bindings such has (kv, r2, d1, ...).
This is by the nature of the secure cloudflare design where the bindings are provided to the app and not directly accessible.
So cf-script allow to run piece of code (scripts) that have access to your local cloudflare worker bindings. This can allow you to:
- Run one time sql query against your D1 database
- List, debug, write value in your KV database
- Download a file from your R2 bucket
npm install cf-script # For local project install
# or
npm install cf-script -g # For global install
In order to write script you need to create a new file either (.ts or .js) and make it export by default a function
export default (env, args) => {
console.log("Running script with following bindings ", env)
console.log("And following args ", args)
}
cf-script ./scripts/my-first-script.ts
And that it 🎉
You can check examples in the /dogfood
folder (including one using typescript)
Name | Description | Default | Example |
---|---|---|---|
--env |
Environment to run the script in | undefined (default wrangler env) | --env staging |
--wcp |
Path to the wrangler config file | undefined (by default it will look for the closest one from cwd) | --wcp ./wrangler.toml |
--cwd |
Current working directory | process.cwd() | --cwd ./my-project |
--sa |
Args that will be passed to the executed script | undefined (no args) | --sa foo:bar or --sa foo:bar biz:baz |
This software uses the following open source packages:
MIT
GitHub @Thomascogez · X @Thomascogez