Anyone had success mixing Webjars and Arachne SASS (via jsass)?
I can see Arachne Figwheel notifying the browser about CSS in the webjar, but I can't import SASS.
I've tried a few different :load-path
s.
@jcf I did at one point.
let me see if I can find any public examples
(can’t send client code unfortunately)
@luke if it helps I've pushed my WIP here: https://github.com/jcf/usr/pull/1
cool
btw did you come to any resolution on the fileset and open files limit stuff?
The errors from the compilation process aren't very helpful.
RE: the file limit - not really.
I've not worked on this side project much, and have been focussed on the SASS side of things for the last half hour or so.
ok
that error is indeed a bad one
If I can get SASS working I want to see about cache busting (I've used Optimus in the past).
but it indicates an error thrown by SASS itself
Yep, and I've seen where it comes from in the source.
Something about a JSON version of the error.
(the fact that it doesn’t relay the actual error message is a bug)
ok
I’ll repro
I'm not familiar with the exception class, but I'd hope we can get more data out of it.
I hope this little project of mine is proving useful! 😉
hah, definitely. There are clearly some rough edges to knock off here
I'm hoping to get some time to dig into the fileset file exhaustion stuff this week, but I'm pretty busy with client work and stuff.
Tell me about it. I confess I’m finding it difficult to do maintenance/support and also maintain forward progress on the framework itself.
but we shall press on
I'd think getting a few more people using the thing for hobbies/client work would be a solid start.
I found myself trying to convince someone that Arachne was worth another look. There were some interesting misconceptions about what Arachne really is I think.
yeah. And in my experience talking about it doesn’t seem to make too much of a dent. So my goal has been to finish up enough pieces that it clicks for people when they check it out
since the value you can derive from it is multiplicative with the number of existing modules you’re able to use
Having a critical mass of shared modules will light the fire I think.
All it would take (in my opinion) is showing a dev and production build of a minimal SPA.
The data store stuff is important so you can show some CRUD, and I’d like to demo some deployment stuff as well
Unfortunately, that's a significant undertaking because I think you need to demonstrate: - Server-side rendering - cljs compilation - Shared routing logic - Testing of both client and server - …
I think you can get away with no DB layer for now if I'm honest.
It's easy enough for someone to do the CRUD piece the way they already do in Ped. interceptors/handlers.
That's just my two cents.
And the really hard part (for me at least) is the list above and a good dev experience. Not so much error messages as solid code reloading (tools namespace does not mix with cljs and Boot right now for example).
Anyway… enough about my problems. 😉
heh, I agree with them all
there’s a lot to do
striking a balance between polishing what I’ve got already and realizing the full vision
80% of the core value prop. 🙂
for example I’ve got some really cool data model stuff in the works. I hear what you’re saying about persistence, but this other stuff will be very attractive when I can get it going, and in line with the core vision.
The 20% can be done by people who get it and join in. The other modules come I guess on demand.
Defining Datomic schema from a unified representation, and then a sync. layer between client and server? Something not dissimilar to Replakativ?
There's a lot of boilerplate synchronising state. om.next has an interesting pattern that allows you to generate subscriptions from a view…
Am I missing something obvious with the :load-path
and Webjars stuff?
it looks right, but it’s been long enough since I messed with this that I’m trying to replicate before I get comfortable
I'm not wedded to any particular SASS framework, but want to show the asset pipeline working with third-party deps without needing NPM etc.
having trouble running your app though; loaded a repl with bin/repl
, when I try to load your dev/user.clj
I get CompilerException java.lang.RuntimeException: Unable to resolve symbol: face in this context, compiling:(NO_SOURCE_PATH:4:68)
I don't use bin/repl
at the mo. Just lein repl
.
ah, ok
Sorry! Rough edges here too apparently. I think that script uses deps.edn
directly via clj
but I needed Leiningen to get Arachne up and running.
yeah I’m working on fixing that this week, I’d like Arachne to be usable fully from clojure deps
I need to take better notes! I got reasonably far but couldn’t get a decent REPL running from Emacs. Maybe UNREPL with help.
Not sure how that’s capitalised.
yeah
I just use inferior lisp directly with like one or two helper functions
@jcf so what you are trying to do here should definitely work
I will work on this today and get back to you
either figure out what subtle thing you’re doing wrong or if there’s a bug in Arachne.
Ha. Cool, thanks. I may be in bed by the time you fix things, but will check in here tomorrow AM if I don’t hear back.
Thanks again, @luke!
@jcf btw I’m having some weird artifact errors, you aren’t using a forked version of Arachne itself by any chance are you?
No forks.
:thumbsup:
I’ll figure it out then
I slurp the deps.edn
into project.clj
, which may cause some oddness, and I have installed versions of various Arachne libs into my local Maven repo…
BTW, I think it's Leiningen that complains about no HTTPS on the Arachne Frog-repo thing you're using.
Can't remember the name of the project you use for your private Maven repo.
oh, right, the one hosted at maven.arachne-framework.orgb
That's the one.
It needs a valid HTTPS cert ideally. I probably wouldn't install from there at work. 🙂
yeah, that repo is kind of a quick and dirty solution since I didn’t want to shove a ton of alpha stuff into Clojars. I didn’t realize lein started enforcing that
I’ll probably move to git deps instead soon, since that does the same thing with fewer moving parts
Clojure shipped a tonne of alpha stuff into public repos. 😉
true but their release process doesn’t trigger a release on every commit like mine does
Don't see why you can't (I guess with .alpha
on the end of all your nses).
> trigger a release on every commit like mine does Yeah, that's somewhat unusual. 🙂
didn’t want to abuse their hard drive space
basically I wanted to emulate the benfeits of git deps before those existed by continuously releasing every commit
Tell that to Arachne filesets! 😛
hey now! Those should in theory work fine.
still need to replicate that issue, but hopefully that’ll be easy once I have your project up and running
I'll tidy the project up a little and document how to run things now.
Just force pushed to my sass
branch because I'm cavalier like that.
reset --hard
if you want/need. 🙂
it’s good, thanks
I think I might have fixed it…
oh yeah? (sorry, I’m multitasking here so going a bit slow)
what was it?
I didn't have ::webjars
connected to ::sass-build
in my arachne.assets.dsl/pipeline
.
Just need to verify that I can get the Zurb bits. I've got a CSS file being served by ped assets now.
Yep. That did it!
@luke I think something like this will fix the problem, although maybe improving error messages will help as well. https://github.com/arachne-framework/enterprise-spa/pull/5
aha
yes
neglecting to wire up the pipeline will definitely do it.
one thing on my near-term roadmap is to build a “project browser” that will make that kind of thing more evident
if the open files issue causes you trouble again, please open an issue on https://github.com/arachne-framework/arachne-fileset with steps to reproduce (including SHA of a sample project if you have one). I really want to get that that one nailed down.
@luke I can't reproduce the fd leak at the mo. I've just watched my open file count go from 7000 down to 1000.
Something's cleaned up somewhere.
Not sure if that's because I'm running a REPL via lein repl
rather than by jacking in with Cider.
I'd guess there isn't a relevant difference between the two, but can't say for sure.
I've made jcf/usr private, but added you as a collaborator, @luke.