This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-22
Channels
- # beginners (240)
- # boot (23)
- # bristol-clojurians (3)
- # cider (101)
- # cljs-dev (52)
- # cljsrn (17)
- # clojure (212)
- # clojure-dusseldorf (2)
- # clojure-greece (2)
- # clojure-italy (9)
- # clojure-russia (1)
- # clojure-spec (91)
- # clojure-uk (33)
- # clojurescript (164)
- # community-development (23)
- # core-async (24)
- # core-logic (9)
- # cursive (18)
- # datavis (1)
- # datomic (119)
- # emacs (13)
- # events (1)
- # figwheel (2)
- # fulcro (86)
- # graphql (1)
- # immutant (5)
- # jobs-discuss (6)
- # leiningen (19)
- # lumo (46)
- # nyc (7)
- # off-topic (23)
- # parinfer (15)
- # pedestal (3)
- # planck (32)
- # re-frame (48)
- # reagent (75)
- # ring-swagger (13)
- # rum (32)
- # shadow-cljs (402)
- # spacemacs (5)
- # specter (3)
- # tools-deps (11)
- # unrepl (20)
- # vim (135)
- # yada (3)
@tony.kay in case you missed it, https://github.com/fulcrologic/fulcro/issues/173
ok, will try to repro without fulcro then
@tony.kay The problem is definitely not in garden. The problem is either in the specter call in localize-css
, or within specter itself.
updated the issue
@levitanong I think it was specter. I’ve change the code to use clojure walk instead, and that seems to work. I’ve released a snapshot of 2.4.3-SNAPSHOT to clojars. Do you have a larger project you can check that against to see that it looks ok?
@tony.kay i do! will give it a spin.
I submitted an issue to specter: https://github.com/nathanmarz/specter/issues/251
funny thing, i’m having trouble getting the error to show in my major project
it appears that depending on [com.google.javascript/closure-compiler-unshaded "v20180101"]
was preventing shadow-cljs from compiling properly
it shouldn't? but yeah they made some pretty significant changes in the release after that so I can't rule it out
@thheller The compilation was stalling and old js was being served. in the clj-repl in my terminal, this was showing:
[1:0]~shadow.user=> Mar 23, 2018 2:51:13 AM com.google.javascript.jscomp.PhaseOptimizer$NamedPass process
WARNING: Skipping pass rewriteScriptsToEs6Modules
Mar 23, 2018 2:51:13 AM com.google.javascript.jscomp.PhaseOptimizer$NamedPass process
INFO: pass supports: [block function, ES3 keywords as identifiers, string continuation, setters, reserved words as properties, trailing comma, getters, class, default parameter, computed property, RegExp flag 'u', binary literal, const declaration, destructuring, array pattern rest, let declaration, extended object literal, octal literal, super, spread expression, rest parameter, arrow function, generator, member declaration, template literal, new.target, RegExp flag 'y', modules, for-of loop, exponent operator (**), trailing comma in param list, async function]
current AST contains: [block function, ES3 keywords as identifiers, string continuation, setters, reserved words as properties, trailing comma, getters, class, default parameter, computed property, RegExp flag 'u', binary literal, const declaration, destructuring, array pattern rest, let declaration, extended object literal, octal literal, super, spread expression, rest parameter, arrow function, generator, member declaration, template literal, new.target, RegExp flag 'y', modules, for-of loop, exponent operator (**), trailing comma in param list, async function, object pattern rest, object literals with spread]
odd, it stalled again.
restarting my computer
@tony.kay I’m a little too sleepy now to function. I’ll just have to get back to you on the thing. I can’t even get my project to properly compile anymore @_@
@thheller I’ll keep this thing running overnight to see if maybe my project is so huge that it’s really just taking a long time compiling
yeah this thing is running past 5 mins
actually let me try downgrading to 2.2.15
@levitanong showing us your deps tree would help, I think
Welp, i’m off to bed. have a great day guys! I’ll devote some time to this tomorrow and let you know if something changes.
like explicitly depending on [com.google.javascript/closure-compiler-unshaded “v20180204”] and guava 22, etc.
oh also, fwiw, i managed to compile earlier, when i didn’t require the old goog closure library. it complained about the class and function, etc… which is a problem specific to the latest goog closure library. Previously, it was complaining about the :px thing, so I think it’s safe to say your fix worked 😄
and fails with the specter, so I’m sure that problem is fixed. I just hope the walk vs. specter code isn’t observably different
will keep an eye out
@tony.kay speaking about deps .. fulcro has too many for me to use it in shadow-cljs
which deps are actually required is I just want to absolute minimum query parsing on the server?
@thheller we actually use pathom for the server, you could also look at that for a lighter server parser
fulcro now has bidi, specter and a few others. thats too much but I think I don't need those anyways
We don't use those either server side we only use pathom and pedestal
But I agree Fulcro has quite a lot of deps, but it is slowly getting slimmer
But do you need a very big parser serverside?
don't know yet. did some work a while ago but I want to do some more UI work this weekend
For the UI it matters less right?
so, let me think on that. I originally had client/server in separate libs, but it was a lot of extra work to maintain
I’ve been considering moving a lot of the server stuff out to a separate library, since what you really need is rather small.
My current thinking is that the “custom server building” option should just be the default, and the other bits should be in a library of their own. That would limit it to transit, I think.
That would be pretty awesome
yeah I'm fine if I have to manually wire up some things on the server if that means I can skip some deps
My take to date was that: you’re probably using Ring, component isn’t that big, etc. I’m not too happy about sente being in there, though…pulls in a lot
I have some time this afternoon…I’ll look into it. Maintaining a book with running demos, a live tutorial, two templates, etc. It is much easier to keep things working well in one repo. BUT, since the server stuff rarely changes, I’m kind of at a point where it shouldn’t be that much overhead to shift back to a separate library.
don't know where I'm going yet. didn't do much on this front for a while, need to get back into it first
thats what I had yes. https://github.com/thheller/shadow-cljs/blob/fulcro/src/main/shadow/cljs/devtools/server/web/api.clj#L15-L38
yeah, and that is really just things like dealing with exceptions, augmented responses, etc. It’s all data shaping
ok, so you might luck out and just be able to exclude. Things like sente are only used by websockets
ok, I’ll think about it some more. Perhaps I can pare it down via “provided” scope and dynamic requires/resolves…and then document “if you use such-and-such, remember to add dependency Y”
don't optimize for my usecase. I'm absolutely fine with :exlusions
and missing out on some things