I understand your point. A working package is of course not a priority to update, but I remember, when I started web development 6 years ago, a lot of my understanding came from opening package, wether meteor’s or not, and read it, read it read it. It might be good to keep our codebase up-to-date in this regard too.
In addition to that, I disagree with you about everything being transpiled to ES5 : since Meteor 1.8 evergreen
version, two bundles are now transpiled, the modern one is able to take advantage of a more modern and structured code.
Concerning mutables
, I’m thinking in particular of the alanning:role
package, where function parameters are being reassigned in all direction. That’s not much because it works, but in bigger packages, ensuring a better code quality in regards of more modern and battle tested paradigms like FP is, imho, a good things to do while we’re going to update, re-maintain and modernize those packages we love, in addition to making the code more robust and easier to test.
@brianmulhall Both underscore
and lodash
are heavy, slow and completely and very easily replacable by native ES6+ functions (Object.assign, keys, entries, values, Array.prototype.map, forEach, some, includes, reduce, filter, etc). Even pipelines and composed functions are so easy to rewritte without needing a dependency of dozens of kb
. In addition, many package and modules uses either one or the other of those big libraries resulting in the absolute stupidity of having 2 or more of them in our bundles.
@captainn Actually, for I don’t know what reason, when adding alanning:roles
in your project, it loads, if I remember well, the 1.2.0 version instead of the 2.0 by default. And the underscore removal has never been merged, I also rewrotte the package locally but still, that’s not a long-term valid solution for the community imho.