🤠 wrangler
✨ CHECK OUT THE TUTORIAL ✨
wrangler
is a CLI tool designed for folks who are interested in using Rust-generated WebAssembly on
Cloudflare Workers. This tool gives you the follow commands:
- 👯
generate
: scaffold ahello-wasm-worker
project, including boilerplate for a Rust library and a Cloudflare Worker - 🦀⚙️
build
: build your project usingwasm-pack
- 🔬
preview
: preview your project using the cloudflareworkers.com API - ☁️ 🆙
publish
: publish your Worker and WebAssembly to Cloudflare
To set up wrangler
to work with your Cloudflare account, use the following commands:
-
config
: an interactive command that asks you to pass youremail
andapi
key. Alternatively, you can use the flags--email
and--api-key
to the command to skip the interactive part. -
🕵️♀️
whoami
: run this command to confirm that your configuration is appropriately set up. When successful, this command will print out your account information, including the type of plan you are currently on.⚠️ NEVER PUBLISH CREDENTIALS TO VERSION CONTROL! ⚠️
⚓ Installation
-
Install
cargo
:Wrangler is installed through Cargo, a Rust package manager. Rustup, a tool for installing Rust, will also install Cargo. On Linux and macOS systems,
rustup
can be installed as follows:curl https://sh.rustup.rs -sSf | sh
Additional installation methods are available here.
-
Install
wrangler
:cargo install wrangler
-
Troubleshooting OpenSSL errors
If you are on a Mac, you might encounter an OpenSSL error when attempting to generate a project. You can resolve that issue by installing OpenSSL v1.1 through Homebrew (need to install Homebrew? Instructions available here).
$ brew install openssl@1.1
⚡ Quick Start
-
Generate a new project:
wrangler generate
-
Move into the new project directory:
cd wasm-worker
-
Build your project:
wrangler build
-
Preview your project:
wrangler preview
-
(optional) Configure with your Cloudflare account:
wrangler config <email> <api_key>
Configuring your account is required to use the
publish
step, which will push your Worker live to the Cloudflare edge. If you don't configure, you can still usewrangler
to generate, build, and preview a Worker. -
Check your configuration:
wrangler whoami
-
Publish your project:
wrangler publish <zone_id>
... where
<zone_id>
is replaced with theid
for the Cloudflare zone you are publishing to!