I noticed that #663 and #677 mention Facebook's Immutable.js, but neither directly raises the question about whether that belongs in this starter kit.
So, I ask this question: should this starter kit switch to using Immutable for state?
Wiring up everything together with Immutable can be a bit of a nuisance, but redux-bootstrap handles this minutiae for you. :electric_plug:
Would you be interested in a PR that introduces Immutable? Via @remojansen 's redux-bootstrap?
IMO Immutable should not be included by default. I think it would be appropriate to add something to the README about setting it up however.
Also, side note: Wiring up this starter kit with Immutable is a breeze if you treat the store object as a normal js object but only keep Records, Maps, OrderedMaps, etc inside. That way you don't need to mess with react-router and such.
@marshallford
Wiring up this starter kit with Immutable is a breeze if you treat the store object as a normal js object but only keep Records, Maps, OrderedMaps, etc inside.
We discussed this approach here: https://github.com/redux-bootstrap/redux-bootstrap/issues/4
IMO Immutable should not be included by default.
I freely admit Immutable isn't for everyone, and there are other ways to achieve the same guarantees.
That said, this starter kit also include SASS, webpack, mocha, chai, etc which are all individually selected from a broad spectrum of peers. Seeing that this is an opinionated starter kit, I figured it would be interesting to discuss baking one more opinion in. It's a great suggestion to add instructions or even just a suggested hyperlink to the README though.
I'm glad this is being discussed. I am considering using react-redux-starter-kit for a large project in the near future, and I was considering adding immutable support. I would love to see an example implementation in the README.
I think Immutable is great, but I don't think it belongs in the core of the starter kit. A recipe, maybe, but even that seems like it's outside of the scope of the project. This project already gets enough general questions about best practices and issues that are not related to the project itself, so I'm wary of introducing more technology that will only be selectively used.
I _do_ think it would make sense for us to touch on it in the README and offer it up as a suggestion, since it is a great tool, but I hesitate to go much further. You could argue that Webpack/Sass/etc. are opinionated as well, as you have, but they are essential to a functioning build system that does what we need; immutable, on the other hand, is just a nice-to-have.
I will keep this open until we add some shoutout to it in the README.
Added to our README rewrite task: https://github.com/davezuko/react-redux-starter-kit/issues/765.
Thanks again!
Most helpful comment
I think Immutable is great, but I don't think it belongs in the core of the starter kit. A recipe, maybe, but even that seems like it's outside of the scope of the project. This project already gets enough general questions about best practices and issues that are not related to the project itself, so I'm wary of introducing more technology that will only be selectively used.
I _do_ think it would make sense for us to touch on it in the README and offer it up as a suggestion, since it is a great tool, but I hesitate to go much further. You could argue that Webpack/Sass/etc. are opinionated as well, as you have, but they are essential to a functioning build system that does what we need; immutable, on the other hand, is just a nice-to-have.
I will keep this open until we add some shoutout to it in the README.