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