Following on from a previously outlined move to Deno I’ve now moved to Bun 😅

The main thing I moved to Deno for was a nice way to acheive:

After a while I discovered these items don’t all work well together. It came to light that dynamic loading of modules external to the compiled Deno application was not really supported: https://github.com/denoland/deno/issues/18327 Fair enough, everyone has their priorities…

I then read (but can’t remember where) that Bun does support this. 🥳 Ok, game on!


Presenting a set of template Rust, WASM and Deno projects on GitHub which make use of GitHub Actions and Workflows for continuous integration.

I’ve previously outlined my reasons for evaluating Rust and Deno. Using these technologies, I am looking to achieve:

  • A scriptable high-level layer (Deno REPL) controlling a performant lower-level core (Rust).
  • A single executable binary via Deno Compile.
  • Cross platform executables via cross-compilation support for Deno and Rust.
  • Ability to dynamically load and run additional logic after installation via Deno’s support for the Javascript import() function.
  • Agnostic support for running as an OS process or in a browser runtime via Deno’s web platform APIs and the ability to compile Rust to WASM.
  • Simple project scaffolding via Deno’s stated goal to “provide built-in tooling to improve developer experience”.

I wanted to see if these could all be achieved using free SaaS tooling for continuous integration including:

  • code analysis
  • automated dependency updates
  • automated unit testing and integration/acceptance testing
  • automated semantic releases
  • automatically generated API documentation

I created the template projects and GitHub workflow and actions discussed here to see if the technologies could deliver on their promises and thus achieve my aims.