4 ms·
Immutable.js would be great if it were actually maintained. FB hasn't made or approved a real pull request since April, and there are hundreds of pending issues
by seattle_spring 10y ago
Immutable.js would be great if it were actually maintained. FB hasn't made or approved a real pull request since April, and there are hundreds of pending issues that haven't been addressed or even responded to in over a year.
- shados 10y agoWhich is somewhat ironic, considering half of the reason to use it over Mori (which is better in some aspects) was that it was more maintained (Mori didn't pull anything in ages). Now neither of them are really maintained. For a lot of usages, something like Ramda or Lodash/FP will do the trick (Ramda lenses or Lodash/FP's get and set methods work great to handle immutable data structures), but if you really wanted structural sharing and stuff, now you're kindda stuck.
- jdd 10y agoYou might dig mudash – Lodash wrapper providing immutable.js support https://github.com/brianneisler/mudash https://github.com/brianneisler/mudash
- shados 10y agoThat's not the issue (we have our own lodash-ish thing for immutablejs at work). Its that immutablejs itself isn't maintained much. Doesn't matter how many layers you put on top.
- ht85 10y agoI'm pretty sure that if you report an actual bug and submit a pull request, it'll be merged in no time, as the "Closed" list suggests. You can hardly call that unmaintained. I went through the pull requests and checked 5 or so that were open for a long time, all of them were glaringly missing something. Some do not pass tests, some have obvious styling issues, some people haven't signed the contributor agreement, some offer big changes with very little reasoning behind it. I also prefer projects that are more explicit about the reason something is rejected and answer RTFM-type issues, but this is not a requirement to be a successful project.
- coltonv 10y agoI considered ImmutableJS a little while back. It's a great library but it makes you to a lot of work to go back and forth between native JS objects, and just abstracts you from the real objects underneath. Instead I ended up just deepFreezing my data (only in development) and wrote a bunch of pure functions which perform all the important array/object functions but return a new array/object instead of mutating. It was a really great exercise in functional programming and I'd recommend it to anyone wanting immutable data and to understand immutable programming styles.
- Illniyar 10y agoThat's basically seamless-immutable . https://github.com/rtfeldman/seamless-immutable https://github.com/rtfeldman/seamless-immutable
- coltonv 10y agoPretty much yeah, just avoids tampering with the Object/Array prototype and gives you a chance to write the functions themselves. They are all just a few lines, so they make for great practice to write yourself.