amplitude / redux-query

A library for managing network state in Redux
https://amplitude.github.io/redux-query
Other
1.1k stars 67 forks source link

Redux Query V4 #205

Closed rctbusk closed 2 years ago

rctbusk commented 4 years ago

This is the new branch for v4 of redux-query.

V4 will contain almost 0 breaking changes for most people. Upgrading should be straight forward. I want to use v4 as a stepping stone, a chance to bring the library into the modern era so when we do have big changes to make, we can focus on those rather than tooling or build steps.

If you have another suggestions for v4 other than the goals I listed below, I would love to hear them. Whether that is new features, perf improvements, or anything else, I would love the feedback. I know the library has been a bit stagnant lately, and I am not sure how much time I can put in to adding new features, but I definitely want to hear all the feedback.

My goals for v4 are as follows.

  1. Convert all 3 packages to Typescript Done
  2. Bring all packages used in repository to the latest version, including, but not limited to react (v16/17), redux, typescript, eslint, jest, etc In Progress
  3. Fully leverage yarn workspaces (yarn v1)
  4. Investigate and make decisions on our build pipeline, especially looking at the need to continue using webpack and babel, or just relying on typescript, and hopefully simplifying how that whole process works.
  5. Simplifying/Automating the NPM deploy process.
  6. Address all github security alerts
  7. add a create-react-app template for redux-query. Allowing react users to run yarn create-react-app my-app --template redux-query and get the backbone of redux query setup for you with react
  8. Move base branch to main instead of master

Stretch goals/feedback required 1) Deprecate connectRequest. Keep in redux-query-react, but throw a deprecation warning if used and update docs to say we will be removing this in the future. 2) Add dev performance apis that hook into popular performance tools (react profiler, logging tools, etc) 3) Add generic instrumentation support, could include performance instrumentation too 4) build template network interface, to allow people to easily build their own. 5) build Axios network interface 6) Better integration with GraphQL (this might be a version on its own)

Other misc goals: