cljs-dev

ClojureScript compiler & std lib dev, https://clojurescript.org/community/dev
dnolen 2020-05-07T01:40:40.302Z

there is a Windows CI, thought it doesn't mean this would appear

dnolen 2020-05-07T01:40:55.302200Z

minimal repo w/ just ClojureScript would be great

Oliver George 2020-05-07T01:41:13.302400Z

Will do

Oliver George 2020-05-07T10:50:07.305200Z

So repeatable but not new since it fails on 1.10.597 and 1.10.758. I can get it to consistently fail with :whitespace and :simple optimisations. Dev repl and compile, and :advanced optimisations is fine.

Oliver George 2020-05-07T10:50:20.305500Z

I'll raise an issue

Oliver George 2020-05-07T11:06:48.306400Z

https://clojure.atlassian.net/browse/CLJS-3249

thheller 2020-05-07T11:10:25.306800Z

looks somewhat similar?

Oliver George 2020-05-07T11:12:30.307500Z

Yep seems the same. Hmm, perhaps I should close as a DUP.

Oliver George 2020-05-07T11:13:17.308100Z

Perhaps things have evolved a little since then :advanced seems to work. (Or my example was too simple - I’ll check this... still works with more complex example under :advanced)

Oliver George 2020-05-07T11:17:27.308700Z

Thanks for the link.

thheller 2020-05-07T11:18:17.309100Z

np, I vaguely remembered seeing java.nio.file.InvalidPathException: Illegal char <:> before somewhere 😛 but can't remember what I did in shadow-cljs to fix it

Oliver George 2020-05-07T11:18:55.309900Z

Yeah, I see your comments there. Do you still have the workaround in place?

thheller 2020-05-07T11:18:59.310400Z

I think somewhere paths must be normalized so it doesn't write windows paths into JS output

thheller 2020-05-07T11:20:32.311200Z

yeah my hack is still around but was fixing a different issue with [synthetic:1] sources (which the closure compiler sometimes adds itself)

thheller 2020-05-07T11:21:13.311900Z

never checked if thats still needed though

2020-05-07T12:22:52.312500Z

Bug?

(into (transient []) [1 2 3]) ;; Error: No protocol method ICollection.-conj defined for type cljs.core/TransientVector: [object Object]
(implements? IEditableCollection (transient [])) ;; false

😱 1
alexmiller 2020-05-07T12:59:46.313300Z

there's a similar ticket in clj I think

alexmiller 2020-05-07T13:08:38.314300Z

actually, I am misconnecting, although there are some old issue with the hierarchy for transient colls

alexmiller 2020-05-07T13:08:50.314600Z

I'm not sure how closely cljs matches clj in this area

dnolen 2020-05-07T13:14:44.315300Z

@roman01la not a bug that doesn't work in Clojure either

dnolen 2020-05-07T13:15:05.315600Z

in general please try it first in Clojure 🙂

dnolen 2020-05-07T13:19:47.316Z

@olivergeorge thanks

dnolen 2020-05-07T13:20:08.316500Z

moving that one to blocker as well as some other old path bugs

dnolen 2020-05-07T13:20:28.317100Z

feel free to chime in on other old ugly bugs that you believe should be fixed up for the next release

dnolen 2020-05-07T13:20:49.317500Z

feature-wise the only thing I'll be looking at is the ns form stuff

2020-05-07T13:32:25.318600Z

@dnolen Interesting, but PersistentVector does implement IEditableCollection, how's that (implements? IEditableCollection (transient [])) results in false?

alexmiller 2020-05-07T13:33:14.319Z

(transient []) is not a PersistentVector

bronsa 2020-05-07T13:34:04.319300Z

IEditableCollection means "can be made into a transient"

👍 1
bronsa 2020-05-07T13:34:20.319600Z

you're asking if you can (transient (transient []))

2020-05-07T13:45:05.320700Z

ah right, thanks!

dnolen 2020-05-07T13:49:28.320900Z

@alexmiller website could use a bump

dnolen 2020-05-07T13:56:47.321600Z

this is promising looks like Google is aware of the impact for Closure Compiler users

thheller 2020-05-07T14:00:58.323Z

yeah I'm most curious about how they are going to do the namespacing system. I'd expect them to move to regular import/export for the TS sources. not sure if they are going to bother to keep the old namespaces in place since closure can consume import/export just fine

lilactown 2020-05-07T16:03:05.323800Z

would it be possible in the future to have GCC consume foreign TS?

lilactown 2020-05-07T16:03:52.324500Z

oh that’s literally what the message is about: don’t require GCC users to have to compile TS 🙃

dnolen 2020-05-07T16:05:54.326Z

@alexmiller hrm the ClojureScript website seems broken?

dnolen 2020-05-07T16:06:05.326400Z

when I click on the links I'm getting file downloads now

dnolen 2020-05-07T16:06:10.326600Z

anybody else seeing this?

lilactown 2020-05-07T16:06:12.326700Z

which is a bit of a bummer; I found myself wanting to write some JS for some lib code, and decided to try out TS. I started thinking about how I would include it in a CLJS lib/app. Atm I guess the best option is to ship the compiled artifacts to NPM

dnolen 2020-05-07T16:06:26.327Z

I see this in Chrome & Safari

bronsa 2020-05-07T16:06:34.327300Z

yup

lilactown 2020-05-07T16:06:36.327400Z

same on chrome

bronsa 2020-05-07T16:06:42.327700Z

and on ffox

lilactown 2020-05-07T16:07:03.328200Z

“getting started” on the front page works, but the top nav links download a file

alexmiller 2020-05-07T16:11:40.328500Z

yeah, I'm working on it

alexmiller 2020-05-07T16:11:47.328700Z

don't even ask

😱 3
alexmiller 2020-05-07T16:14:32.329100Z

don't experiment with stuff in prod

alexmiller 2020-05-07T16:14:33.329300Z

:)

alexmiller 2020-05-07T16:15:50.329600Z

should be fixed

thheller 2020-05-07T16:24:31.329700Z

I saw some references to TS in the GCC code. never actually tried it though.

thheller 2020-05-07T16:24:55.329900Z

maybe it is already capable of compiling TS code

dnolen 2020-05-07T16:28:38.330200Z

thanks!

lilactown 2020-05-07T16:33:44.330300Z

I guess there's a TS -> closure project called tsickle

lilactown 2020-05-07T16:34:32.330500Z

Maybe I could compile the TS code to closure JS and then ship that in my jar with CLJS code