Tcsc: depends on whether.

 
Rizor: Which I hope you are ;-

Rizor: I usually do it anyway, as well

Feerick: I dont see a downside to them

Donaby: Is there any browser out there that supports its natively?

Rizor: I’m pretty sure babel will do it for CommonJS modules as well

Rizor: So you don’t have to use ES6 module SYNTAX to get the implied strict mode

Feerick: Also in theory it makes my code more easily statically ****yzed which is nice

Rizor: Stirn: no. the loader doesn’t actually exist yet, just polyfills for what the spec currently looks like

Rizor: Tcsc: I like using them for client-side code. I stick to CommonJS for server-side code or code that might be used for both

Feerick: I write very little server code

Feerick: Usually just put this in a database

Feerick: Get this from the database

Rizor: Mainly because on the backend, there are benefits to a first-cl*** module system. on the frontend, CommonJS isn’t truly first cl*** anyway so who cares

Rizor: Browserify ****yzes “require” statements statically

Feerick: I havent been using let yet though, i’m too paranoid about babel generating closures when i dont expect it

Rizor: It doesn’t generate closures for let

Rizor: It just checks the var names in your code and aliases the dupes

Rizor: That’s what it’s done every time I’ve ****yzed hte output, at least

Rizor: I haven’t actually read the transformer source

Feerick: What about in for let i = 0; .

Feerick: Thats where i’m most concerned

Feerick: I can understand it if i actually had a closure in there or something

Rizor: Same thing. if it sees a reference to “i” anywhere outside of your for loop, it will just alias one of them

Feerick: If i dont, i dont want it to do something stupid

Rizor: I’d show you if Guys weren’t down ;-

Feerick: Okay, it actually does do it sometimes, but the output isnt as bad as i had feared

Feerick: But it has to for some loops

Feerick: Like for let i = 0; i 100; ++i { setTimeoutfunction { console.logi; }, 100; }

Feerick: I was worried about it doing the stupid thing for most loops

Rizor: Tcsc: derp, that makes sense

Rizor: Of course it’d have to in situations like that

Feerick: It actually is pretty smart about hoisting the closure though

Rizor: Haha I did a brief poke around for the transformer code and stumbled across this https://github.com/babel/babel/blob/master/packages/babel/src/babel/transformation/modules.js

Rizor: I can’t really fathom the point, unless that goes somewhere else in the dist/

Feerick: Yeah thats pretty weird

Feerick: Idk, people do stuff like that for no reason sometimes though

Feerick: For the sake of decoupling and stuff

Rizor: Commit msg is “add in dummy src file because i’m dumb and decided to do access private apis” which doesn’t really tell me much.

Feerick: It sounds like that kind of stuff though

Rizor: It’s gonna bother me now though

Feerick: This is really minor in the scheme of that sort of stuff

Rizor: I know but I can USUALLY draw a line from A to B

Rizor: I just don’t want to dig too much into it right now :

Feerick: Like, the worst case of this in recent memory was, i remember reading a post on the facebook blog about all the engineering they had to do to make a system so these pieces of their android app could avoid talking to eachother but still be performant and it was like, did this really result in simpler code than had those components talked?

Feerick: I feel like i see a lot of that stuff too

Yant: Tcsc: depends on whether you’re measuring simplicity crosswise or lengthwise