workers-sdk
wizer
Our great sponsors
workers-sdk | wizer | |
---|---|---|
27 | 10 | |
2,241 | 875 | |
8.2% | 3.4% | |
9.9 | 7.0 | |
4 days ago | 15 days ago | |
TypeScript | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
workers-sdk
-
Discord Bot with Cloudflare AI
Workers
-
Ask HN: Best thing you've made in CLI
https://github.com/cloudflare/workers-sdk/blob/main/packages...
-
Developing your own Chrome Extension - Fetch with a Proxy and Cloudflare Workers (Part 5)
The Wrangler, Cloudflare's Developer Platform command-line interface (CLI), allows you to manage Worker projects and has an in-built Miniflare, which runs an HTTP server.
-
Crafting Observable Cloudflare Workers with OpenTelemetry
/** * Welcome to Cloudflare Workers! This is your first worker. * * - Run `npm run dev` in your terminal to start a development server * - Open a browser tab at http://localhost:8787/ to see your worker in action * - Run `npm run deploy` to publish your worker * * Learn more at https://developers.cloudflare.com/workers/ */ export interface Env { // Example binding to KV. Learn more at https://developers.cloudflare.com/workers/runtime-apis/kv/ // MY_KV_NAMESPACE: KVNamespace; // // Example binding to Durable Object. Learn more at https://developers.cloudflare.com/workers/runtime-apis/durable-objects/ // MY_DURABLE_OBJECT: DurableObjectNamespace; // // Example binding to R2. Learn more at https://developers.cloudflare.com/workers/runtime-apis/r2/ // MY_BUCKET: R2Bucket; // // Example binding to a Service. Learn more at https://developers.cloudflare.com/workers/runtime-apis/service-bindings/ // MY_SERVICE: Fetcher; // // Example binding to a Queue. Learn more at https://developers.cloudflare.com/queues/javascript-apis/ // MY_QUEUE: Queue; } export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise { return new Response('Hello World!'); }, };
-
Drastically Cut CI Time in an Nx Monorepo with Remote Task Caching: A Step-by-Step Guide
$ npm create cloudflare@latest using create-cloudflare version 2.9.0 ╭ Create an application with Cloudflare Step 1 of 3 │ ├ In which directory do you want to create your application? │ dir ./apps/worker │ ├ What type of application do you want to create? │ type "Hello World" Worker │ ├ Do you want to use TypeScript? │ yes typescript │ ├ Copying files from "hello-world" template │ ├ Retrieving current workerd compatibility date │ compatibility date 2023-12-18 │ ╰ Application created ╭ Installing dependencies Step 2 of 3 │ ├ Installing dependencies │ installed via `npm install` │ ├ Installing @cloudflare/workers-types │ installed via npm │ ├ Adding latest types to `tsconfig.json` │ skipped couldn't find latest compatible version of @cloudflare/workers-types │ ╰ Dependencies Installed ╭ Deploy with Cloudflare Step 3 of 3 │ ├ Do you want to deploy your application? │ no deploy via `npm run deploy` │ ├ APPLICATION CREATED Deploy your application with npm run deploy │ │ Navigate to the new directory cd apps/worker │ Run the development server npm run start │ Deploy your application npm run deploy │ Read the documentation https://developers.cloudflare.com/workers │ Stuck? Join us at https://discord.gg/cloudflaredev │ ╰ See you again soon!
-
One Worker to Track Them All: Injecting Analytics Scripts into Multiple Websites with Cloudflare Workers
Except that there is. Cloudflare is pretty great for free SSL certificates and DNS management, but they also offer a free Workers plan. A Cloudflare worker is basically JavaScript code that runs on Cloudflare's edge network and handles HTTP traffic. You can do a lot with workers, including modifying/rewriting HTML responses. You can probably see where this is going: If a worker can modify HTML responses, then it can inject the umami script into every HTML response.
-
Implementing Authorization with Clerk in a tRPC app running on a Cloudflare Worker
Cloudflare Workers
-
D1: We turned it up to 11
And what about the DX of using Workers with Pages?
I tried to use that recently and it was a disaster. I wrote about my experience here:
https://twitter.com/pierbover/status/1641474067013271552
I then opened these two issues:
https://github.com/cloudflare/workers-sdk/issues/2962
https://github.com/cloudflare/workers-sdk/issues/2964
I ended up moving the project over to Netlify + Edge functions. I had it all working in like 5-10 mins as it should. Took me two hours to figure out why Workers weren't working in my Pages project, and could never get Workers working properly with my Astro project.
I think you're working exclusively on the engine of Workers which is really top notch, but Cloudflare really needs to improve the outer layer which affects DX considerably.
- Cloudflare Workers: Solusi serverless edge function termudah, tercepat, termurah, what else..?
-
[HELP] can't deploy my program to cloudflare worker.
If you think this is a bug, please open an issue at: https://github.com/cloudflare/workers-sdk/issues/new/choose ```
wizer
-
RustPython
> once by the wasm runtime to compile the rust-python wasm
I'm not sure what you mean by that. The runtime doesn't compile WASM, it simply executes it.
There are tools for dealing with interpreter runtime overhead this by pre-initalizing the environment like Wizer[0]. ComponentizeJS[1] uses it to pre-initialize the Spidermoney engine it packages to gain fast startup times (and you can then prune the initialization only code with wasm-opt). As techniques like ComponentizeJS are also being applied for a specific set of interpreted files, you can even prune parts of the interpreter that would never be used for that specific program. If you want to go even further you could record specific execution profiles and optimize further by those.
[0]: https://github.com/bytecodealliance/wizer
[1]: https://github.com/bytecodealliance/ComponentizeJS
- Are V8 isolates the future of computing?
-
Netlify Edge Functions: A new serverless runtime powered by Deno
Edge functions are typically run intermittently, with their runtime stopped to free up resources between runs. Therefore a big factor is startup and shutdown speed. Containers are pretty bad there. Deno is better, and WASM is unbeatable, especially with things like Wizer[0].
[0]https://github.com/bytecodealliance/wizer
-
Building a WebAssembly-powered serverless platform
I imagine startup cost could be amortized by something like wizer: https://github.com/bytecodealliance/wizer
-
Containerless! How to Run WebAssembly Workloads on Kubernetes with Rust
There are security benefits to running each request in its own instance, as it helps prevent accidental leaking of state between requests. To avoid doing lots of expensive initializations, we have a tool called wizer which lets users run their program's initialization once, create a snapshot, and then use that snapshot to do fast startups that don't rerun the whole initialization each time.
-
Is it possible in Rust to save the complete state of a program and restore it later? Such as may be accomplished in some implementations of Common Lisp
See https://github.com/bytecodealliance/wizer for an implementation of this approach.
-
Bytecode Alliance
It should probably be named "Making JavaScript to startup fast on WebAssembly", since the runtime speed is not really improved by the approach they exposed.
Besides that I think Wizer [1] is both an elegant and a simple solution to speed up startup speed with Wasm.
[1] - https://github.com/bytecodealliance/wizer#using-wizer-as-a-l...
-
A JavaScript optimizing compiler
A similar project, for WebAssembly so with limited scope is this: https://github.com/bytecodealliance/wizer. And somehow similar but limited on LLVM IR a colleague worked on this for Cheerp (the compiler used here as backend): https://github.com/leaningtech/cheerp-meta/wiki/Cheerp-PreExecuter.
- Wizer: snapshot an initialized Wasm instance and save the result as a new, pre-initialized Wasm module. Up to 6x faster start up on my test workloads
- Wiser: snapshot an initialized Wasm instance and save the result as a new, pre-initialized Wasm module. Up to 6x faster start up on my test workloads
What are some alternatives?
cloudflare-form-service - A form handling service built using Cloudflare Workers for jamstack websites and apps.
quickjs-emscripten - Safely execute untrusted Javascript in your Javascript, and execute synchronous code that uses async functions
Docusaurus - Easy to maintain open source documentation websites.
TablaM - The practical relational programing language for data-oriented applications
blueboat - All-in-one, multi-tenant serverless JavaScript runtime.
wasmtime - A fast and secure runtime for WebAssembly
Next.js - The React Framework
go - The Go programming language
kysely - A type-safe typescript SQL query builder
go-wasm-bake - Experimenting with eager evaluation of Go WASM code
website - pglet website
wagi - Write HTTP handlers in WebAssembly with a minimal amount of work