You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.
Generally keep package.json as lightweight as possible - this means don't add dependency unless it is absolutely necessary.
For example LESS, SASS and Redux are nice to have, but not essential. Having them enabled by default means more work to support them when not everyone would use/need them. A simple recipe on how to add them would suffice.
The text was updated successfully, but these errors were encountered:
I definitely think SASS/LESS support should be optional. That's actually an item being tracked on the roadmap in #10. Since the CLI dropped in 2.0, there's a templating engine in place that will make it easier to dynamically add loaders and package.json for things like this. It's next on my list.
Redux is a little trickier, and something I'd like to remain core. Apollo uses Redux, and there's a big benefit to separating the instantiation code of Redux out from the 'implicit' handling via Apollo, into a more explicit version in the starter kit IMO.
Part of the way SSR works is that it dehydrates the state from the server, and allows the client to continue where the server finishes. If Redux is pulled from core, we're not actually killing Redux (which, again, is a buy-in of Apollo); we're just dropping custom store state in favour of Apollo's own handlers, which only really answers the 'GraphQL' part of the stack.
Instead, having Redux a permanent fixture means it's super easy (and far more obvious) how a developer can 'extend' beyond GraphQL into store management across the entire app - inside and out of GraphQL. The vast majority of apps will have state concerns outside of pure GraphQL, and keeping it in is a very low-cost addition given that Apollo bundles it anyway.
At the same time, if you don't need or use Redux beyond Apollo, the set-up code isn't doing anything to 'break' Apollo's instantiation-- it's purely additive. So I don't think this is too problematic. You can still use Mobx or some other Flux implementation, or none at all, and things will continue on fine with very little overhead to the resulting bundle.
I'll close this issue, since SASS/LESS is being tracked in #10, as mentioned.
Generally keep package.json as lightweight as possible - this means don't add dependency unless it is absolutely necessary.
For example LESS, SASS and Redux are nice to have, but not essential. Having them enabled by default means more work to support them when not everyone would use/need them. A simple recipe on how to add them would suffice.
The text was updated successfully, but these errors were encountered: