Fork me on GitHub
#clojurescript
<
2015-09-17
>
cfleming02:09:38

Hi, I’m having a problem with Figwheel not reloading my code.

cfleming02:09:10

I’m getting an error in my console: Error loading file <my file.js>

figwheel.client.utils.log.cljs$core$IFn$_invoke$arity$2/f() utils.js:104
figwheel.client.utils.log.cljs$core$IFn$_invoke$arity$2() utils.js:117
figwheel$client$utils$log() utils.js:71
figwheel$client$file_reloading$reload_file/<() file_reloading.js:218
cljs.core.apply.cljs$core$IFn$_invoke$arity$2() core.js:12142
cljs$core$apply() core.js:12110
<anonymous> file_reloading.js:158
goog.async.Deferred.prototype.fire_() deferred.js:649
goog.async.Deferred.prototype.updateResult_() deferred.js:298
goog.async.Deferred.prototype.errback() deferred.js:339
goog.net.jsloader.load/script.onerror()

danielcompton02:09:59

What does figwheel_server.log say?

cfleming02:09:05

Successfully compiled <my file.js> in <some amount of time>

cfleming02:09:18

Notifying browser

cfleming02:09:32

Let me tail that and make sure that looks like it’s working ok.

cfleming02:09:29

Yeah, it looks like it’s compiling the CLJS ok and notifying the browser that the JS has changed.

danielcompton02:09:45

and theres still the same error?

danielcompton02:09:01

if you refresh the page?

cfleming02:09:27

That reloads the page, but I still get the same error when figwheel loads again.

cfleming02:09:36

These are my versions of things:

:dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/clojurescript "1.7.122"]
                 [figwheel "0.3.6"]
                 [figwheel-sidecar "0.3.6"]
                 [reagent "0.5.0"]]

  :plugins [[lein-cljsbuild "1.1.0"]]

danielcompton02:09:11

I wasn’t able to get it to run with newer lein-cljsbuild. I have:

:dependencies [[org.clojure/clojure "1.7.0"]
                 [org.clojure/clojurescript "1.7.122"]
                 [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                 [figwheel "0.3.6"]
                 [figwheel-sidecar "0.3.6"]]

  :plugins [[lein-cljsbuild "1.0.5"]]

cfleming02:09:34

Let me try that

cfleming02:09:47

Same problem

danielcompton02:09:04

you’ve cleaned?

cfleming02:09:44

Well, it’s a new project, but no - I’ll try that.

cfleming02:09:13

Same problem

cfleming02:09:31

I think I’m just going to refresh, it’s not a big app

danielcompton02:09:44

weird, not working for me either now

cfleming02:09:54

Do you get the same error?

cfleming05:09:12

@bhauman: Any idea about the error above?

a.espolov08:09:13

@mfikes: I understand that React on the Native Android will work without the webview?

Pablo Fernandez09:09:26

@dnolen: by now I’m convinced this is a bug in ClojureScript: http://dev.clojure.org/jira/browse/CLJS-1452

jaen09:09:13

@a.espolov: wouldn't be native if it didn't ; d

a.espolov09:09:56

@jaen: than webview not native code?

jaen09:09:55

@a.espolov: well, React Native is not native code as well, it's still Javascript

jaen09:09:02

But it's Native iOS/Android components

danielcompton09:09:09

@pupeno: you need to create a reproduction that doesn’t use Leiningen

a.espolov09:09:13

ios version not use webview

jaen09:09:36

And everything inside a webview is not native.

danielcompton09:09:35

@pupeno: oh sorry, I thought you were using cljsbuild too

Pablo Fernandez09:09:07

Does anybody else feel they are constantly having to prove that they Googled and tried the basic stuff, that they read the documentation, that they researched the problem and so on? I don’t know if this is normal for everybody or I have a way of communicating that causes this (English is not my native language and even in my native one, I tend to speak in a different way to most people). (@danielcompton this is not an attack at you, just a general observation)

danielcompton09:09:06

@pupeno: I understand what you’re saying, I think the reason for all of the steps and checks is that there’s a lot of moving parts between ClojureScript, Leiningen, Figwheel, e.t.c. so things need to be reduced right down to bare clojurescript to make sure the issue is there. It also means that the people who investigate bug reports don’t need to do this work themselves.

Pablo Fernandez09:09:26

@danielcompton: oh, yeah, I understand that. I’m also the recipient of bug reports for my own software. That’s not really what I’m whining about 😉

hoodunit09:09:45

it's missing cljs.jar but if you download that and put it in the root dir then it's "react-native run-android", "./watch.sh", "react-native start"

hoodunit09:09:25

I'll update it later today to add those instructions

hoodunit09:09:53

then off to see how mfikes and others used om on the iOs side, should be pretty straightforward

a.espolov09:09:46

@hoodunit: works on window?

hoodunit09:09:39

mmmm. Probably if you substitute your windows equivalents for those commands. watch.sh just runs a java command

hoodunit09:09:51

also assuming gradle knows how to find your android SDK and the like

hoodunit09:09:37

I've only tried it on Linux

a.espolov09:09:58

@hoodunit: not quite understood where to get cljs.jar not prompt us?

tjg10:09:46

When Figwheel reloads code, is there an idiomatic way to stop it from blowing away component state? (A reload seems to call init-state on each component.)

dnolen10:09:55

@pupeno please do not report issues that involve third party tooling. If you are going to report something it should be done only with ClojureScript and nothing else. The length of our conversation yesterday (and my inability to replicate anything on my end) is the reason for this.

dnolen10:09:10

@pupeno while I know you may be frustrated with this particular issue and may be even be discouraged also realize that I’ve been working through issues just like this one with people for ~3 1/2 years only to discover after much research that the issue was not actually in ClojureScript.

Pablo Fernandez10:09:35

@dnolen: I reported the issue following the documentation on how to report issues. WTF?

dnolen10:09:24

@pupeno pleae be very careful with your tone. you reported an issue on how to reproduce with Lein, Only report issues via ClojureScript.

dnolen10:09:39

the same is true for any issue you report about Clojure issues.

Pablo Fernandez10:09:53

@dnolen: the documentation on reporting issues says that I should use lein, just not cljsbuild, which is what I did.

dnolen10:09:28

@pupeno apologies for that, I can fix the docs if you have a link.

Pablo Fernandez10:09:03

Yes, it is very frustrating to spend a couple of hours to figure out how to build a minimal reproduction of a bug following the instructions on how the project wants to report bugs only to be told I’m doing it wrong.

dnolen10:09:43

@pupeno ah, right sorry I forgot at some point someone (perhaps even I added) that. I’ve since forgotten since I try to get people do issues with cljs.jar which eliminates more variables. Let me just remove that section entirely.

dnolen10:09:39

@pupeno sorry yeah so Sam Umbach added the cljsbuild stuff so I didn’t remember it.

dnolen10:09:18

or oops no, but whatever it’s gone simple_smile

Pablo Fernandez10:09:05

Ok. I’m not here to bother you. I’m spending time in reporting the bug because I like ClojureScript and I’d like it to get better. I also looked at the source code trying to see if I could fix it but got nowhere.

dnolen10:09:42

@pupeno: I know you’re not here to bother me simple_smile

dnolen10:09:51

I field issues like this all the time.

dnolen11:09:15

the page needed updating is all, it was very misleading as to what we’re willing to look at these days.

dnolen11:09:49

fixed, it has more precise instructions on what and how to report in the ticket.

Pablo Fernandez11:09:52

Where can I download the 1.7.122 uberjar?

dnolen11:09:56

@pupeno oops thanks for looking over it, people really need to build it themselves

dnolen11:09:02

that’s the only way to know it isn’t fixed on master.

dnolen11:09:24

@pupeno fixed the page.

dnolen11:09:11

@pupeno I’m also building from master to see if your issue exists

Pablo Fernandez11:09:40

Mh… with 1.7.48, my minimal example compiles fine. I know with .107 and .122 it’ll fail, but with master, I get this error: Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :-compile of protocol: #'cljs.closure/Compilable found for class: nil, compiling:(/Users/pupeno/Downloads/nnn/src/nnn/core.clj:5:1), like it’s not finding the clojurescript file.

Pablo Fernandez11:09:22

Ah… there’s a different api.

dnolen11:09:43

@pupeno you should be using cljs.build.api/build not the private cljs.closure/build btw, minor thing

Pablo Fernandez11:09:09

Yeah, just noticed. Changed that, but still the same error.

dnolen11:09:09

@pupeno I cannot reproduce your issue here

Pablo Fernandez11:09:21

Yeah, it seems to be gone from master.

Pablo Fernandez11:09:37

It was present on .107 and .122 though.

dnolen11:09:13

let me switch to the .122 tag and see what’s up

Pablo Fernandez11:09:31

It’s not happening with the 122 tag for me.

a.espolov11:09:15

@dnolen: please show minimal version cljs runtime compilation and eval cljs code

dnolen11:09:48

@pupeno also cannot repro with 122 (note that I was using 122 last night)

dnolen11:09:32

@a.espolov: I cannot help you with that sorry. I would look to see what other people have done around bootstrapping.

dnolen11:09:37

@pupeno stuff like this is why we don’t take issues involving Lein. This is just not reproducible w/o whatever Lein / plugin combination you have.

jaen11:09:12

@dnolen: cljs.js-deps/load-library is looking at each library files separately when loading them, right?

dnolen11:09:34

let me look

dnolen11:09:50

@jaen what do you mean “looking at each library files separately”?

jaen11:09:56

What I mean is as far as I can tell anything lower in the call stack than cljs.js-deps/load-library is not aware of the whole set of libraries, just one particular file of one library

jaen11:09:19

I'm trying to see where I could fit my code for modules in the compiler

jaen11:09:25

And around there seems like the proper place

Pablo Fernandez11:09:15

@dnolen: yes, I understand. Interestingly enough, using lein (not cljsbuild), .48 works, .108 and .122 fail, but master works again. So even though the bug might be in lein, a change in ClojureScript was triggering it.

danielgrosse11:09:17

I have a project, using the reagant template. When I use Figwheel with intellij as it is descriped on their github page, the figwheel server is started, but not the ring server. So the website isn’t shown. How can I debug the starting process, to find the error?

dnolen11:09:27

@jaen it’s really probably worth having this discussion with @maria as to where it’s best for this logic to go.

dnolen11:09:06

you might want to send her an email about what you’re trying to do, I’m sure she could point you in the right direction that dovetails w/ what she has already done

dnolen11:09:13

@pupeno: I looked at the changelog and I did’t see any interesting compiler changes that might be related to the issue.

jaen11:09:21

I figured it would be best to have something to show for it before I start bothering people more, but sure I might as well do it now.

dnolen11:09:49

@jaen: I think so! It would be great to have another person familiar with the module bits of the compiler simple_smile

jaen12:09:56

Also, Cursive is a godsend <3

sander12:09:30

with the cljs bootstrap work, is it (becoming) possible to embed a repl in a node.js app?

asolovyov12:09:03

is there a good way to monkeypatch something in clojurescript? Especially before some concrete namespace loads up?...

asolovyov12:09:38

this thing worked for me for a while:

(ns mk.monkeypatch
  (:require [datascript]))

(defn conn? [conn]
  (and #?(:clj  (instance? clojure.lang.Atom conn)
          :cljs (satisfies? cljs.core/ISwap conn))
    (datascript.core/db? @conn)))

#?(:cljs (set! datascript/conn? conn?))
but now something changed and it loads after namespace which uses this function

dnolen12:09:02

@sander already possible, with caveats around not very many people are using it

dnolen12:09:44

as I suspected the primary use case so far is embedding in browser or use cases not already well served by Clojure itself (i.e. Planck, mobile)

dnolen12:09:01

@asolovyov: well that’s kind of yucky (but you probably already know that). Sounds like to me that dependency order was violated somehow?

asolovyov12:09:46

@dnolen: yeah, and I can't find where. I just moved my main view from being in mk.index.views into mk.router and it died.

asolovyov12:09:22

I wonder if it's because they are somehow somewhere loaded in a weird order? but I can't find where it can be, I looked at main.js (which is my first namespace) and the order is good...

sander12:09:46

@dnolen: nice, i'll try. are you aware of examples that specifically do this already (repl embedding)?

dnolen13:09:11

@asolovyov: is this in production or under development or both? (I’m assuming you are using ClojureScript >= 1.7.48)

asolovyov13:09:29

@dnolen: development, 1.7.107 & 122

sander13:09:53

nice! thanks

asolovyov13:09:10

@dnolen: so I renamed router to iouter and it works now

asolovyov13:09:25

somewhere there is some weird thing about backward alphabetical order

asolovyov13:09:03

argh, I'll just move monkeypatching to main namespace, because it's going to be easier

dnolen13:09:04

@asolovyov: in the browser Google Closure does the loading

asolovyov13:09:22

but why does it hate me?.. simple_smile

dnolen13:09:26

@asolovyov: hrm … so I think this may be ClojureScript’s fault let me look

asolovyov13:09:08

(moving into main ns doesn't help since router loads before any code is executed :-))

dnolen13:09:09

yeah we don’t preserve the precise require order expressed in the ns form

dnolen13:09:13

filing an issue

asolovyov13:09:31

well, I suppose, I'll have my router named weirdly for a while :-))

asolovyov13:09:45

but whatever, it was a long time since I stumbled upon a bug in cljs, hehe

asolovyov13:09:02

cool, thanks!

jaen13:09:11

Hah, interesting, I thought I was imagining things at some point when dependencies were not resolved as I expected.

Pablo Fernandez13:09:18

When I target node and compile with no optimizations, the generated file doesn’t have the hashbang line, #!/usr/bin/env node, but when I have simple optimizations it is added. Any ideas why?

jaen13:09:02

I don't think GClosure preserves comments, maybe it treats is a comment and chucks it out?

dnolen13:09:26

@pupeno: what @jaen said, pretty sure it wouldn’t make it through GClosure compilation

Pablo Fernandez13:09:32

I’m not that familiar with the GClosure workflow (I suffered earlier versions of it when working in GMail and never looked back at it). Does GClosure only run for non-optimized outputs?

dnolen13:09:00

@pupeno it only runs when optimization settings are applied

Pablo Fernandez13:09:12

dnolen: the hashtag is present only when optimizations are present, and absent otherwise.

dnolen13:09:11

@pupeno yes this is a patch that someone submitted long ago that adds it for convenience to optimized builds when using :target :nodejs

dnolen13:09:28

because you couldn’t add it in your own source and have it survive

Pablo Fernandez13:09:10

Yes, I read that documentation. Is it intended that non-optimized builds don’t have the hashbang? the documentation doesn’t say it or I missed it.

dnolen13:09:48

@pupeno not intentional as far as I know, I suspect this is an artifact of history

dnolen13:09:02

:none support for Node.js came much, much later

dnolen13:09:18

and probably no one went back and made sure the hashbang stuff worked under :none

dnolen13:09:24

ticket + patch welcome for this of course.

Pablo Fernandez13:09:40

I’ll submit the ticket, not sure if I can make the patch but I’m looking into it.

dnolen13:09:52

cool, thanks, but yeah low hanging fruit like this generally doesn’t get fixed unless someone submits a patch simple_smile

dnolen13:09:18

my own compiler work queue is filled up for the rest of 2015 at the very least simple_smile

Pablo Fernandez13:09:21

Shall I make a note in the documentation so the next person doesn’t get surprised?

dnolen13:09:59

docs should NOT reflect bugs

dnolen13:09:19

and that means somebody would have to remember to fix the docs later.

Pablo Fernandez13:09:55

I’ll make a note in the bug report.

Pablo Fernandez13:09:45

I marked it as minor, not sure if it’s minor or trivial.

Pablo Fernandez13:09:13

argh, I got the formatting wrong. Is ClojureScript’s jira not allowing editing bug reports?

dnolen13:09:38

@pupeno have you submitted your Clojure CA?

dnolen13:09:31

when you submit that then we bump your JIRA privileges

Pablo Fernandez13:09:59

Last time I did this was for the Asterisk project and we were required to fax it… yes fax. 😛

Pablo Fernandez14:09:58

@dnolen: I have a potential fix, but I have two questions. Should I run some tests to make sure I didn’t break anything? Are github pull requests welcome or should I send a patch?

dnolen14:09:40

@pupeno: no core Clojure project takes PRs

dnolen14:09:55

need a patch attached to the ticket

val_waeselynck15:09:56

@tjg: figwheel reloads will erase local state. I just wrote a post which proposes a strategy to avoid this problem in Reagent simple_smile http://vvvvalvalval.github.io/posts/2015-09-16-bottup-approach-to-reagent-state.html

val_waeselynck15:09:48

@tjg if you're using Om or plain old React I believe it would not be too hard to implement a similar strategy

tjg15:09:24

@val_waeselynck: Haha, wow thanks, I'll read this now!

bhauman15:09:58

@val_waeselynck: @tjg please see https://github.com/bhauman/cljs-react-reload it contains a strategy for maintaining local state across reloads, this method should really be integrated into frameworks

bhauman15:09:38

But you can also just use it to create a react class that maintains local state for whatever you are working on

a.espolov17:09:55

I understand that correctly using cljs/eval-str in the ns declaration cannot add dependency namespace that uses a macro?

a.espolov17:09:54

is there a state (atom) in the context of the entire application?

dnolen18:09:02

@a.espolov: bootstrapped ClojureScript isn’t different from ClojureScript, you need to use :require-macros or :refer-macros

dnolen18:09:08

not sure what you mean by the 2nd question

a.espolov18:09:16

analog cljs/empty-state, but the app

dnolen18:09:05

ClojureScript doesn’t know anything about apps

jaen19:09:50

Hm, if there's cljs syntax highlighting in stable Chrome then I guess that means cljs-devtools should also work in it

jaen19:09:51

That's nice

spinningtopsofdoom19:09:00

I have a legacy app that is using :optimizations :whitespace to join a lot of disparate namespaces into one file. For development speed I'd like to switch to :optimizations :none :main 'app.core. Is there a good way of dynamically inserting dependencies into a namespace?

dnolen19:09:34

@spinningtopsofdoom: I’m not sure what you mean

dnolen19:09:44

that’s just how :none works

dnolen19:09:26

if you mean real dynamic require after page load that isn’t possible without leaning on an existing REPL (standard, Figwheel, etc.)

spinningtopsofdoom19:09:56

For example having namespaces app.foo and app.bar be required by namespace app.core without having to require them like (ns app.core (:require [app.foo] [app.bar])) I figured you'd need a REPL for that, thanks

borkdude19:09:27

@jaen: cljs-devtools?

bhauman19:09:35

@spinningtopsofdoom: you can create different top level namespaces for different builds that include the libs you want in that context.

borkdude19:09:59

btw the screenshot I just posted is after I upgraded figwheel... don't know what's happening, but upon reload I get this error

jaen19:09:58

@borkdude: this awesome thing - https://github.com/binaryage/cljs-devtools - it used to require beta channel to run, but cljs highlighting was introduced after the version cljs-devtools required, so it should be working then too

borkdude19:09:02

@bhauman: ah, luckily it wasn't an error, I honestly don't know why chrome put a breakpoint at that point in the code simple_smile

borkdude19:09:36

probably it was an old one, and when I changed the dependencies chrome got confused

bhauman19:09:03

@borkdude: cool! Anyway that is looking fine.

pandeiro19:09:40

cljs highlighting in chrome devtools is a trip

borkdude20:09:23

after seeing that Metosin talk about clojure pearls it occurred to me I should've used fnil much earlier: ((fnil string/lower-case "") nil) ;;=> ""

cfleming22:09:50

@bhauman: Do you have an idea what might be causing the figwheel error I’m seeing with the Cursive tutorial setup?

cfleming22:09:28

Figwheel: Error loading file exception_viewer/core.js utils.js:104:8
figwheel.client.utils.log.cljs$core$IFn$_invoke$arity$2/f() utils.js:104
figwheel.client.utils.log.cljs$core$IFn$_invoke$arity$2() utils.js:117
figwheel$client$utils$log() utils.js:71
figwheel$client$file_reloading$reload_file/<() file_reloading.js:218
cljs.core.apply.cljs$core$IFn$_invoke$arity$2() core.js:12142
cljs$core$apply() core.js:12110
<anonymous> file_reloading.js:158
goog.async.Deferred.prototype.fire_() deferred.js:649
goog.async.Deferred.prototype.updateResult_() deferred.js:298
goog.async.Deferred.prototype.errback() deferred.js:339
goog.net.jsloader.load/script.onerror()

cfleming22:09:54

I just upgraded to 0.4.0 but still get the same error

bhauman23:09:25

@cfleming: what version did this start at?

bhauman23:09:34

@cfleming: first of all you need to make sure you clean before upgrading and to make sure you are not connecting to an older version of figwheel running in the browser

bhauman23:09:41

@cfleming: when you get a chance let me know which setup you are referring to I'm happy to help. You gonna be at Strange Loop?

cfleming23:09:08

@bhauman: This is with a new project I just set up yesterday following that tutorial. I’ve cleaned and reconnected from a new browser tab. I got this on both 0.3.6 and 0.4.0.

cfleming23:09:20

@bhauman: So basically this has never worked for me, starting from a clean project.

bhauman23:09:33

which tutorial?

bhauman23:09:39

the one on the wiki?

cfleming23:09:48

@bhauman: I won’t be at strange loop sadly, but I will be at the conj.

cfleming23:09:12

Let me try it again with a new project.

bhauman23:09:36

please try 0.3.9

bhauman23:09:45

And you are getting the error on startup, first compile?

cfleming23:09:44

No, just when I save the file and figwheel tries to reload it.

cfleming23:09:52

I’ll switch everything to 0.3.9

bhauman23:09:30

@cfleming: my guess is that you are getting a 404 when requesting the file from the browser. Look in you dev console at requests and see if this is the case.

bhauman23:09:50

@cfleming: and look at the url that is being requested.

bhauman23:09:55

@cfleming: you may have hit several things at once. changing versions can be tough if you don't clean or if your browser is caching old code.

cfleming23:09:21

@bhauman: Ok, I’ll check the 404 thing now.

cfleming23:09:38

But it wasn’t just changing versions, this didn’t work from the start for me.

bhauman23:09:35

OK where are you serving your compiled assets from? file system? app server? figwheel server?

cfleming23:09:35

@bhauman: Ok, I just set up a new project using 0.3.9 and it works.

cfleming23:09:00

@danielcompton Was seeing the same error yesterday, perhaps it’s 0.3.6 problem?

cfleming23:09:37

I’ll upgrade my real project to 0.3.9, clean and reload everything, if I’m still seeing the problem I’ll check the 404.

cfleming23:09:54

I must be doing something simple wrong.

bhauman23:09:16

@danielcompton: I don't know. but there are problems when people switch versions and leave the browser open or don't clean

danielcompton23:09:23

@cfleming: is there any chance that Cursive is messing with the dependencies?

cfleming23:09:58

@danielcompton: Anything is possible and Cursive does do that, but a new project with 0.3.9 works for me now.

cfleming23:09:22

I’m going to try migrating my real project to 0.3.9 and cleaning everything to see if that works.

bhauman23:09:36

@cfleming: 0.4.0 should work as well but you have to manually put piggieback in the new :figwheel {:nrepl-middleware ["piggie ..."]}

cfleming23:09:11

@bhauman: even if I’m not using nREPL?

bhauman23:09:18

@cfleming: oh yeah not necessary

bhauman23:09:36

@cfleming: thought you were using nREPL ;(

danielcompton23:09:44

working for me now too

danielcompton23:09:51

Maybe it was a Thursday bug

bhauman23:09:31

So yeah 0.4.0 should work as well and even better

cfleming23:09:55

Ok, it’s now working for me too - that is totally weird. I’ll upgrade to 0.4.0 and clean everything out.

cfleming23:09:21

Upgrade worked, everything is copacetic.

cfleming23:09:44

Thanks guys, sorry for the noise - I’m sure that was a PEBCAK problem somehow.

bhauman23:09:46

See I told my code workd all awesome and stuff

cfleming23:09:32

It is awesome and stuff

cfleming23:09:00

Now I just have to make my actual app work.

danielcompton23:09:48

Problem exists between 2 keyboards and chairs

danielcompton23:09:01

I was having the same issues yesterday, but working fine today ¯\(ツ)

danielcompton23:09:57

I suspect Cursive

bhauman23:09:10

Just for good measure make sure that your cleaning operation is actually deleting the compiled assets and make sure that your browser isn't caching

cfleming23:09:25

@danielcompton: I can’t deny the possibility simple_smile

danielcompton23:09:35

This isn’t a figwheel specific issue at all, but why do Leiningen projects need to be cleaned so often? Is there a root issue that means that caches aren’t invalidated? It’s not like cache invalidation is very difficult or anything simple_smile

afhammad23:09:17

getting following JS errors in browser when using figwheel: Uncaught SyntaxError: Unexpected token var Uncaught SyntaxError: Unexpected end of input along with other random ones. They are pointing to defcomponent calls in the sourcemaps which are part of om-tools

bhauman23:09:18

@danielcompton: its that we like having fast compilation times, CLJS does a great job of only writing the files that need to be written and reusing files that have already been compiled. but there is still room for improvement. Figwheel currently runs in a mode that is less safe with :recompile-dependents false for much faster compile times.

danielcompton23:09:51

I see. But when I update a dep in a project and restart a build process, shouldn’t that invalidate all of the existing compiled files?

bhauman23:09:08

it doesn't

bhauman23:09:28

and there we have it

bhauman23:09:53

@afhammad: I see you there but unfortunately the cafe I'm in is closing... and I have to head out.

afhammad23:09:35

ok no worries, in your own time, don’t forget me 🙏:skin-tone-2: