scittle

borkdude 2023-04-22T09:40:28.196199Z

@daslu @alandipert I've noticed the desire to make custom plugins for scittle is growing. For #nbb (SCI scripting env on Node.js) I've supported this better through the use of exposing features (libraries that will be compiled through Closure for use with SCI) on the classpath. The nbb build script will detect these features, merge shadow-cljs compilation configuration etc and then you will just get extra .js files as output, on top of what the default nbb produces. This allows you to add to nbb without changing anything to its code. See https://github.com/babashka/nbb/blob/main/doc/dev.md#features and https://github.com/babashka/nbb-features One project using this is https://github.com/logseq/nbb-logseq which is nbb + logseq-specific features, such as datascript. Such a thing could also be made for scittle such that: • You can add the libraries you want (without me supporting and distributing them in the normal scittle distribution, you'll just host your own version on npm / cdn) • Without changing anything to scittle itself

👀 3
😍 5
2023-04-24T13:55:33.550749Z

The enhanced nbb for logseq has been working great. Release process is easy with a couple bb tasks - https://github.com/logseq/nbb-logseq#release-process @alandipert Heyo from bullcity!

👀 1
👋 1
borkdude 2023-05-01T15:43:07.136979Z

Made the issue and started digging into it: https://github.com/babashka/scittle/issues/58

❤️ 1
1
Daniel Slutsky 2023-05-04T13:29:34.676749Z

Thanks, @borkdude! Is the demo above intended to be an example user-side project which is using scittle and one of its plugins (datascript)? Does it mean that now, to use scittle with plugins, the user will need their own build setup?

borkdude 2023-05-04T13:30:27.457339Z

yes

borkdude 2023-05-04T13:30:52.169639Z

plugin meaning: something that is not part of the regular scittle distribution

borkdude 2023-05-04T13:31:19.151889Z

so instead of forking scittle you can now use this build setup and just upgrade scittle without making changes to the forked scittle code

Daniel Slutsky 2023-05-04T13:39:32.445139Z

nice, thanks!

Daniel Slutsky 2023-05-04T13:42:11.493999Z

are we encouraged to add Pull Requests with plugins to the scittle repo? currently I am using these in the scittle fork: https://github.com/mentat-collective/MathBox.cljs https://github.com/mentat-collective/emmy https://github.com/cnuernber/tmdjs

borkdude 2023-05-04T13:42:44.864409Z

you're encouraged if you want your plugins to be visible with others, since they're in the same place, but you're not forced to

Daniel Slutsky 2023-05-04T13:43:06.205549Z

makes sense, thanks!

👍 1
borkdude 2023-05-03T19:32:13.100929Z

I ported the nbb build script to scittle to allow making custom plugins for custom builds. A demo project is here which allows you to add datascript as a scittle plugin. https://github.com/babashka/scittle/tree/main/plugins/demo Please give it a spin! We could add as many libs to plugins as we like. You can also build plugins outside of scittle's repo, they are just dependencies you add to bb.edn. If there are over time clear enough use cases some plugins can go into the "normal" distribution, but it's not difficult to compile your own distribution of scittle and push it to npm and use vs jsdelivr etc.

5
borkdude 2023-05-03T19:43:36.965699Z

If you have any feedback, let me know

Daniel Slutsky 2023-04-22T16:19:26.018299Z

Sounds fantastic. cc @markus.agwin

2023-04-22T17:21:14.858879Z

agreed, sign me up. does it make sense for me to continue the hoplon plugin for scittle? or should i be pursuing something along these lines instead?

borkdude 2023-04-22T17:31:22.419229Z

@alandipert it still makes sense as it will still make creating the build-time feature easier

borkdude 2023-04-22T17:32:12.130939Z

Until the above is realized, maintaining a fork of scittle and publishing it that way also works of course, The above mentioned is just to make that process easier

👍 2
1