This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-05-13
Channels
- # announcements (5)
- # babashka (35)
- # beginners (65)
- # braveandtrue (3)
- # calva (20)
- # cider (6)
- # clara (11)
- # cljs-dev (36)
- # cljsrn (64)
- # clojure (65)
- # clojure-europe (6)
- # clojure-germany (13)
- # clojure-italy (14)
- # clojure-nl (22)
- # clojure-spec (16)
- # clojure-sweden (6)
- # clojure-uk (81)
- # clojurescript (71)
- # conjure (120)
- # cursive (3)
- # datomic (10)
- # events (4)
- # figwheel (4)
- # figwheel-main (5)
- # fulcro (36)
- # ghostwheel (1)
- # graalvm (8)
- # helix (9)
- # jobs (4)
- # jobs-discuss (12)
- # kaocha (33)
- # leiningen (5)
- # luminus (1)
- # off-topic (24)
- # pathom (7)
- # rdf (4)
- # re-frame (3)
- # reagent (15)
- # reitit (11)
- # remote-jobs (1)
- # shadow-cljs (97)
- # slack-help (3)
- # spacemacs (23)
- # vim (15)
- # xtdb (35)
I wrote a blog post about AWS CLI wrapping script by Babashka. Since the blog post is written in japanese, I'd like to share only the Gist code:sunglasses: https://gist.github.com/liquidz/7dfdce61ed206e894f27748a931cbbbd
When I depend on the clojar one, I get: "clojure.lang.ExceptionInfo: Invalid :refer, var cljs.tools.reader.impl.errors/reader-error does not exist in file target/public/cljs-out/dev/cljs/tools/reader/impl/commons.cljs"
The readme documents how to use from Clojure, Java or JavaScript, but not ClojureScript 😛
No the clojure dependency is required. I'm using it from clojurescript
So I read the docs for pods, am I right by saying pods are way to extend Babashka using different language?
Yes. Take a look at the filewatcher pod, that's been written in Rust. The sqlite pod in Python.
@didibus no, use the dependency from Clojars, not the npm one. That's just for usage from JS
I think Babashka Pods are a really nice idea, I can see how it can expands the reach of Babashka even more. E.g. things like babashka-curl could be maintained seperately and for instance made compatible for Windows and all of a sudden all babashka scripts with curl in it will now also work on windows without needing to recompile babashka core. Great! 🙂
So I now I’m wondering, do we already need to think about versioning? Maybe you have to make a breaking change. How to fix this?
That's really nice - but note that babashka.curl already works on Windows, since Windows ships with curl nowadays 🙂
Ah ok bad example 😅
But I think you have opened a whole new universe
About versioning: at the moment this is done using the describe op: pods can declare which optional ops they support. E.g. one optional op is shutdown. If the pod supports that, it will be asked to shutdown itself. If it doesn't declare that it can handle this, the pod is shutdown by babashka.
So there is no explicit versioning, just some negotiation about what the pod does and does not support
Ok super nice
I’m gonna continue working on an AWS cloudformation tool. Hope to make it a Pod as well
what are you using for your aws calls? a clojure lib? your own http calls? aws cli tool?
A proper language 🙂
I have been doing AWS Cloudformation with Clojure for a long time. Started with edn to json, then template support, Prismatic Schema validations etc. No I want to have a proper dsl
Oh wait scratch that, i didn’t read the question properly 🙈
I’m iterating upon this https://github.com/AdGoji/aws-api extracted parts of cognitect/aws-api to make it compatible with AWS
It’s not done yet, probably better to wait before using it
I don’t remember in what state I left it last time
So eventually it would allow you to use any http client https://github.com/AdGoji/aws-api/blob/master/dev/examples.clj#L30-L31
btw @U1QQJJK89 are you thinking about this? https://aws.amazon.com/blogs/compute/new-using-amazon-ec2-instance-connect-for-ssh-access-to-your-ec2-instances/
bb-spotify: control Spotify using babashka: https://github.com/kolharsam/bb-spotify
Informal presentation about pods: https://twitter.com/amsclj/status/1260645359002382338