Ok, I managed to create an easy reproduction of this. The problem goes
away when I roll back my version of clojurescript.

I have a simple lein template I use for various things. Its
dependencies are listed here:

https://github.com/hellofunk/hellofunk-lein-template/blob/master/resources/leiningen/new/hellofunk/project.clj

If I do a "lein cljsbuild once" on a project generated by this
template, without adding any new code, I get a line like this in my JS
output:

cljs.core.Keyword(null,"file","file",-1269645878),"/path/to/project/core.cljs"],
null)));

If I change the dependency to this:

                 [org.clojure/clojurescript "0.0-2311"]

The problem goes away!

Hope this will help point in the right direction, if anyone has some advice.

On Tue, Feb 3, 2015 at 7:26 PM, Andrew S <[email protected]> wrote:
> Thanks, this helps, I'll try to track it down. I've made some slight
> progress in that a closer inspection of the grep results shows that
> the only JS files where these paths are showing up are files in which
> I define Om components, all my other JS files unrelated to Om do not
> show these paths. I'll see what I can find further.
>
> On Tue, Feb 3, 2015 at 7:15 PM, Francis Avila <[email protected]> wrote:
>> Andrew, the metadata you are seeing is added by the CLJS compiler to the 
>> Clojure objects it creates as it is reading CLJS code. You did not add it 
>> explicitly in your code anywhere, and we're not saying you did.
>>
>> The problem here is that the metadata did not *stay* in Clojure but got 
>> emitted into the compiled js code.
>>
>> So what likely happened is that some *Clojure* code (e.g. cljs a macro) 
>> emitted an object constructed by the Compiler, but the metadata on that 
>> object was not stripped out before being emitted as js code.
>>
>> We need a minimum reproducible case. Here is a possibility to explore:
>>
>> ;;CLJ code
>> (defmacro macro-identity [x] x)
>>
>> ;; CLJS code
>> (def do-i-have-extra-metadata? (macro-identity {:foo :bar}))
>>
>>
>> Then see if the compiled output of do-i-have-extra-metadata? has extra 
>> metadata.
>>
>> If that does not seem to work, look for places in your codebase where some 
>> object is crossing from clojurescript->clojure->clojurescript. Start with 
>> Clojure macros.
>>
>>
>>
>> On Tuesday, February 3, 2015 at 12:06:11 PM UTC-6, David Nolen wrote:
>>> You have as much of an idea why this happening as I do.
>>>
>>>
>>> Which is zero :)
>>>
>>>
>>> Without a minimal reproducer there is nothing for anyone to do.
>>>
>>>
>>> You need to sort yourself what line of your ClojureScript or your 
>>> ClojureScript dependencies is generating these maps.
>>>
>>>
>>> Then maybe someone can offer a solution.
>>>
>>>
>>> David
>>>
>>>
>>> On Tue, Feb 3, 2015 at 12:50 PM, Andrew S <[email protected]> 
>>> wrote:
>>> Ok, I'm sorry if I'm missing the train of thought on this, but how
>>>
>>> does any ordinary clojure(script) map lead to what you call metadata
>>>
>>> leakage that contains paths to files? Of course I use maps all over
>>>
>>> the place (doesn't everyone?), but I don't see how this connects to
>>>
>>> the problem I'm having.
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Feb 3, 2015 at 6:40 PM, David Nolen <[email protected]> wrote:
>>>
>>> > Yes {:foo :bar}
>>>
>>> >
>>>
>>> > David
>>>
>>> >
>>>
>>> > On Tue, Feb 3, 2015 at 12:35 PM, Andrew S <[email protected]>
>>>
>>> > wrote:
>>>
>>> >>
>>>
>>> >> Ok, can you clarify the type of map literal that would do this? I have
>>>
>>> >> not written any of my own macros on this app, but perhaps a library I
>>>
>>> >> depend on has them. By map literal, do you just mean a {:foo :bar}
>>>
>>> >> type of syntax, or something else? I also have not added any metadata
>>>
>>> >> myself to anything in the app using the caret or with-meta syntax.
>>>
>>> >>
>>>
>>> >> On Tue, Feb 3, 2015 at 6:29 PM, David Nolen <[email protected]>
>>>
>>> >> wrote:
>>>
>>> >> > The problem is metadata leakage. This has nothing to do with specifying
>>>
>>> >> > paths in your code. Somewhere you are writing map literals (perhaps in 
>>> >> > a
>>>
>>> >> > macro?) and compiler metadata is leaking.
>>>
>>> >> >
>>>
>>> >> > David
>>>
>>> >> >
>>>
>>> >> > On Tue, Feb 3, 2015 at 11:38 AM, Andrew S
>>>
>>> >> > <[email protected]>
>>>
>>> >> > wrote:
>>>
>>> >> >>
>>>
>>> >> >> I can try to produce an example if I know where to start. There is
>>>
>>> >> >> nowhere in my app that I am specifying a path to a file, so I'm not
>>>
>>> >> >> sure where this is happening.
>>>
>>> >> >>
>>>
>>> >> >> On Tue, Feb 3, 2015 at 5:37 PM, David Nolen <[email protected]>
>>>
>>> >> >> wrote:
>>>
>>> >> >> > Looks like metadata leakage. Need a minimal example though.
>>>
>>> >> >> >
>>>
>>> >> >> > Thanks,
>>>
>>> >> >> > David
>>>
>>> >> >> >
>>>
>>> >> >> > On Tue, Feb 3, 2015 at 10:57 AM, Andrew S
>>>
>>> >> >> > <[email protected]>
>>>
>>> >> >> > wrote:
>>>
>>> >> >> >>
>>>
>>> >> >> >> Grepping over the files created by a :none optimization reveals the
>>>
>>> >> >> >> path in places like this:
>>>
>>> >> >> >>
>>>
>>> >> >> >> cljs.core.PersistentArrayMap(null, 5, [new
>>>
>>> >> >> >> cljs.core.Keyword(null,"end-column","end-column",1425389514),55,new
>>>
>>> >> >> >> cljs.core.Keyword(null,"end-line","end-line",1837326455),101,new
>>>
>>> >> >> >> cljs.core.Keyword(null,"column","column",2078222095),3,new
>>>
>>> >> >> >> cljs.core.Keyword(null,"line","line",212345235),96,new
>>>
>>> >> >> >>
>>>
>>> >> >> >>
>>>
>>> >> >> >>
>>>
>>> >> >> >> cljs.core.Keyword(null,"file","file",-1269645878),"/Users/andrew/path/to/file.cljs"],
>>>
>>> >> >> >> null)));
>>>
>>> >> >> >>
>>>
>>> >> >> >> Does this shed any light on the cause of this? I have no idea what
>>>
>>> >> >> >> this cljs.core.Keyword is doing with a file path.
>>>
>>> >> >> >>
>>>
>>> >> >> >> On Tue, Feb 3, 2015 at 4:30 PM, Mike Fikes <[email protected]>
>>>
>>> >> >> >> wrote:
>>>
>>> >> >> >> > Try the :pseudo-names compiler option to see what the :advanced
>>>
>>> >> >> >> > code
>>>
>>> >> >> >> > is
>>>
>>> >> >> >> > referring to
>>>
>>> >> >> >> >
>>>
>>> >> >> >> >
>>>
>>> >> >> >> > (https://github.com/clojure/clojurescript/wiki/Compiler-Options#pseudo-names).
>>>
>>> >> >> >> >
>>>
>>> >> >> >> > --
>>>
>>> >> >> >> > Note that posts from new members are moderated - please be 
>>> >> >> >> > patient
>>>
>>> >> >> >> > with
>>>
>>> >> >> >> > your first post.
>>>
>>> >> >> >> > ---
>>>
>>> >> >> >> > You received this message because you are subscribed to a topic 
>>> >> >> >> > in
>>>
>>> >> >> >> > the
>>>
>>> >> >> >> > Google Groups "ClojureScript" group.
>>>
>>> >> >> >> > To unsubscribe from this topic, visit
>>>
>>> >> >> >> >
>>>
>>> >> >> >> >
>>>
>>> >> >> >> > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe.
>>>
>>> >> >> >> > To unsubscribe from this group and all its topics, send an email
>>>
>>> >> >> >> > to
>>>
>>> >> >> >> > [email protected].
>>>
>>> >> >> >> > To post to this group, send email to
>>>
>>> >> >> >> > [email protected].
>>>
>>> >> >> >> > Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> >> >> >>
>>>
>>> >> >> >>
>>>
>>> >> >> >>
>>>
>>> >> >> >> --
>>>
>>> >> >> >> hellofunk
>>>
>>> >> >> >>
>>>
>>> >> >> >> --
>>>
>>> >> >> >> Note that posts from new members are moderated - please be patient
>>>
>>> >> >> >> with
>>>
>>> >> >> >> your first post.
>>>
>>> >> >> >> ---
>>>
>>> >> >> >> You received this message because you are subscribed to the Google
>>>
>>> >> >> >> Groups
>>>
>>> >> >> >> "ClojureScript" group.
>>>
>>> >> >> >> To unsubscribe from this group and stop receiving emails from it,
>>>
>>> >> >> >> send
>>>
>>> >> >> >> an
>>>
>>> >> >> >> email to [email protected].
>>>
>>> >> >> >> To post to this group, send email to [email protected].
>>>
>>> >> >> >> Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> >> >> >
>>>
>>> >> >> >
>>>
>>> >> >> > --
>>>
>>> >> >> > Note that posts from new members are moderated - please be patient
>>>
>>> >> >> > with
>>>
>>> >> >> > your
>>>
>>> >> >> > first post.
>>>
>>> >> >> > ---
>>>
>>> >> >> > You received this message because you are subscribed to a topic in
>>>
>>> >> >> > the
>>>
>>> >> >> > Google Groups "ClojureScript" group.
>>>
>>> >> >> > To unsubscribe from this topic, visit
>>>
>>> >> >> >
>>>
>>> >> >> > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe.
>>>
>>> >> >> > To unsubscribe from this group and all its topics, send an email to
>>>
>>> >> >> > [email protected].
>>>
>>> >> >> > To post to this group, send email to [email protected].
>>>
>>> >> >> > Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> >> >>
>>>
>>> >> >>
>>>
>>> >> >>
>>>
>>> >> >> --
>>>
>>> >> >> hellofunk
>>>
>>> >> >>
>>>
>>> >> >> --
>>>
>>> >> >> Note that posts from new members are moderated - please be patient 
>>> >> >> with
>>>
>>> >> >> your first post.
>>>
>>> >> >> ---
>>>
>>> >> >> You received this message because you are subscribed to the Google
>>>
>>> >> >> Groups
>>>
>>> >> >> "ClojureScript" group.
>>>
>>> >> >> To unsubscribe from this group and stop receiving emails from it, send
>>>
>>> >> >> an
>>>
>>> >> >> email to [email protected].
>>>
>>> >> >> To post to this group, send email to [email protected].
>>>
>>> >> >> Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> >> >
>>>
>>> >> >
>>>
>>> >> > --
>>>
>>> >> > Note that posts from new members are moderated - please be patient with
>>>
>>> >> > your
>>>
>>> >> > first post.
>>>
>>> >> > ---
>>>
>>> >> > You received this message because you are subscribed to a topic in the
>>>
>>> >> > Google Groups "ClojureScript" group.
>>>
>>> >> > To unsubscribe from this topic, visit
>>>
>>> >> > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe.
>>>
>>> >> > To unsubscribe from this group and all its topics, send an email to
>>>
>>> >> > [email protected].
>>>
>>> >> > To post to this group, send email to [email protected].
>>>
>>> >> > Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> >>
>>>
>>> >>
>>>
>>> >>
>>>
>>> >> --
>>>
>>> >> hellofunk
>>>
>>> >>
>>>
>>> >> --
>>>
>>> >> Note that posts from new members are moderated - please be patient with
>>>
>>> >> your first post.
>>>
>>> >> ---
>>>
>>> >> You received this message because you are subscribed to the Google Groups
>>>
>>> >> "ClojureScript" group.
>>>
>>> >> To unsubscribe from this group and stop receiving emails from it, send an
>>>
>>> >> email to [email protected].
>>>
>>> >> To post to this group, send email to [email protected].
>>>
>>> >> Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>> >
>>>
>>> >
>>>
>>> > --
>>>
>>> > Note that posts from new members are moderated - please be patient with 
>>> > your
>>>
>>> > first post.
>>>
>>> > ---
>>>
>>> > You received this message because you are subscribed to a topic in the
>>>
>>> > Google Groups "ClojureScript" group.
>>>
>>> > To unsubscribe from this topic, visit
>>>
>>> > https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe.
>>>
>>> > To unsubscribe from this group and all its topics, send an email to
>>>
>>> > [email protected].
>>>
>>> > To post to this group, send email to [email protected].
>>>
>>> > Visit this group at http://groups.google.com/group/clojurescript.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>>
>>> hellofunk
>>>
>>>
>>>
>>> --
>>>
>>> Note that posts from new members are moderated - please be patient with 
>>> your first post.
>>>
>>> ---
>>>
>>> You received this message because you are subscribed to the Google Groups 
>>> "ClojureScript" group.
>>>
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>>
>>> To post to this group, send email to [email protected].
>>>
>>> Visit this group at http://groups.google.com/group/clojurescript.
>>
>> --
>> Note that posts from new members are moderated - please be patient with your 
>> first post.
>> ---
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "ClojureScript" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/clojurescript/6qSmNpSQeI4/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/clojurescript.
>
>
>
> --
> hellofunk



-- 
hellofunk

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to