This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-01-27
Channels
- # announcements (4)
- # asami (6)
- # aws-lambda (1)
- # babashka (38)
- # babashka-sci-dev (20)
- # beginners (87)
- # calva (67)
- # cider (19)
- # clerk (13)
- # clojure (102)
- # clojure-europe (52)
- # clojure-filipino (1)
- # clojure-hungary (4)
- # clojure-nl (1)
- # clojure-norway (6)
- # clojure-sweden (3)
- # clojure-uk (1)
- # cursive (13)
- # data-science (7)
- # datomic (8)
- # deps-new (1)
- # emacs (3)
- # fulcro (16)
- # graphql (3)
- # humbleui (3)
- # kaocha (3)
- # leiningen (3)
- # malli (3)
- # off-topic (14)
- # pathom (34)
- # polylith (4)
- # rdf (12)
- # reitit (3)
- # releases (1)
- # remote-jobs (7)
- # rum (2)
- # sci (22)
- # shadow-cljs (115)
- # tools-deps (26)
- # tree-sitter (29)
I reworked neil-quickadd
. Ditched the shell history because it was full of false positives, and figured I'd rather add libraries usage in Clojure projects. And where do those come from? Cloned repositories! It's just files. (Unix is great! 😁)
I think I'm onto something this time - it's feelig smooth to use. There's three commands: neil-quickadd scan
, neil-quickadd libs
and neil-quickadd
neil-quickadd scan PATH
recursively walks PATH for dependencies in deps.edn
files. PATH defaults to .
$ neil-quickadd scan ~/dev/teodorlu
$ neil-quickadd scan ~/dev/babashka
After running these two commands, my index contains every dependency found in repos cloned from my user, or the babashka github organization.
Then use neil-quickadd libs
to list the index, or neil-quickadd
to select a dep with fzf
(by shelling out), then adding the dep with neil dep add
.
To install:
1. Install Neil: https://github.com/babashka/neil
2. Install fzf: https://github.com/junegunn/fzf
3. Install bbin: https://github.com/babashka/bbin
4. Install neil-quickadd
with bbin:
$ bbin install io.github.teodorlu/neil-quickadd --latest-sha
Please give it a try -- feedback is very much welcome! And a big thanks to @borkdude and @rads - without their work, neil-quickadd
wouldn't exist.
https://github.com/teodorlu/neil-quickadd/I used bb tasks
as a task runner for a recent small project at work and I really enjoyed it!
Works wonders!
Can I read more about how :depends
work somewhere?
I looked at https://book.babashka.org/#_dependencies_between_tasks - and also it works pretty well for me.
I'm just curious what's happening there
hi, any idea how we can have interactive mode in Babashka repl ? https://github.com/lispyclouds/bblgum/issues/1 or even clojure repl?
yeah like i mentioned in the linked issue, this is the lib not working in the editor repls like cider, conjure, calva etc as they are not TTYs. it is expected. this is also now noted as a https://github.com/lispyclouds/bblgum#caveats
@U011NGC5FFY maybe this could be a better question for #C03S1KBA2 in general, how would people handle tty things in their editor repls?
The problem is the the way editor repls redender things vs the terminal. TUI things like gum would talk in a particular protocol and expect the thing to render it that way. Terminals do this and unless the editor repl implements this tty protocol it won’t work. It’s the way for example vim draws itself on the terminal screen.
And a new process is getting started every time you run a gum function, as long as the viewing thing can’t handle the protocol, can’t do much
You can use the vscodes terminal as a half way solution 😃
At least that keeps you from switching away from your editor
Hey! I’m sure there’s a bb script that produces a github workflow file, that is also aware of shadow-cljs.edn deps, but I can’t find it.
Do you mean in relation to neil or so? There was a discussion about that here: https://github.com/babashka/neil/discussions/60
hmm, I just need to update a github workflow file with the package version taken from shadow-cljs.edn build script checks out around 10 private repos with github checkout action like:
- name: Checkout company/dep-name
uses: actions/checkout@v3
with:
repository: company/dep-name
ref: v0.10.1
path: dep-name
fetch-depth: 0
Then we release an update to some dependency, and update its version inside shadow-cljs.edn. And then we have to manually update the github workflow file. But it can be done with a babashka script.A pointer to any simple templater project on babashka would be great
Another way is to make a .template.yml file and then replace the version in the template, e.g. {{version}}
and then write the .yml file
cool, thanks! yeah, I think the template would be the easiest for us.