babashka 2026-06-30

How can I get babashka to completely ignore a clj test file?

you mean with respect to require?

realized I can exclude the namespace using a re pattern in exec args

anything I can do to skip a dependency that bb can't load or do I have to put it in a different alias?

You can make a .bb file which gets loaded instead

Seems like a recent GraalVM release makes binaries smaller: https://medium.com/graalvm/graalvm-25-1-is-here-13829606982e Small for Java that is, hello world ~6.5MB. I was curios if this help babashka in any way. > In this release, we further reduce the size of native images. We see an improvement of around 3% across a broad set of benchmarks, with small applications, such as CLI and automation tools, seeing the most significant gains. You can expect even more updates towards reducing image size in the next releases!

Hi @eugen.stan - hello world binaries were already quite small < 10mb or so, but I'll make a comparison when I bump GraalVM in CI, thanks for the heads up. Perhaps it will matter a few megabytes

Thanks @borkdude. I'm just curios if it makes an impact. You can squeeze in more java classes to get it back to the same size so we don't have to get it new t-shirts or pants 😄 .

:) Yeah, you can test it locally too. with sdkman you can switch quite easily between graalvm versions

That is awesome that it's still got room to shrink. I recommend https://mise.jdx.dev/ for dependency management and tasks. It's the only tool I use at this point, both at work as a consultant and for my own projects.

New build locally:

70642752
Old build locally:
71793120
so that's about 1.6% smaller ;)

👍 1

Yeah that was my experience trying it on my port of a tool I made, it didn't seem to change much unfortunately.

Has anyone seen this before? For some reason rlwrap was missing. When i install it i see:

Homebrew is currently ignoring formulae, casks and commands from these taps because tap trust is required.
Prefer trusting only the specific formulae, casks or commands you need.
Trust installed formulae from these taps with:
  brew trust --formula babashka/brew/neil
  brew trust --formula borkdude/brew/babashka borkdude/brew/clj-kondo borkdude/brew/jet
  brew trust --formula clojure/tools/clojure
So i think some new trust settings might have started removing transitive dependencies of things not trusted

This sort of "random" change is why I've pretty much stopped using brew. They're opinionated (often with "wrong" opinions), and their "always the latest" approach can seriously mess things up for a developer.

Yes, you now need to explicitly opt into taps

Same for clojure itself btw

bbin is awesome, it's my favorite way of making CLIs

➕ 1

Maybe it's time to write a brand new package manager in babashka? :)

we already have one: #babashka-bbin;)

Afair it's for babashka scripts only, I mean the system level one

yeah sure why not :)

👍 1

Imagine, having something guix/nix like but using EDN instead :)