09/2023 - Ongoing initiatives #3727
nikolasrieble
announced in
Announcements
Replies: 1 comment 2 replies
-
@ckifer This is supposed to be a single high level entry point to current initiatives, linking to and leading to more detailed pages per initiative. What is this missing so far? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Roadmap
This discussion aims at providing at high level overview of ongoing projects. These are the projects where our focus lies, and where we will want to spend most of our time.
That being said, if you want to contribute to other topics or any open issues, you are welcome to do so.
Focus points / Projects
Anyone who wants to help us will find greatest support along the lines of these projects. We believe that solving these problems will put recharts (back) on the road to continuous success.
Documentation - Storybook
The website has an API section and an example section. Both sections are horribly outdated and partially misleading. In some cases props are missing, in other cases types are incomplete.
The effort to maintain documentation up to date is high. Thus we want to move to storybook instead, where we can have live examples, automatically up to date, since auto-generated from master code.
Our effort to move to Storybook is in progress. You can find open issues under the label storybook.
Operational Excellence - Bundle Size, Maintainability, Readability
Recharts is quite big. One of the road blocks for improving bundle size is the fact that most charts have a single entry point,
generateCategoricalChart
. It is a single large component that has a lot of behaviour implemented which most used is unused (i.e. the BarChart uses generateCategoricalChart, but never renders a RadialAxis).This component is also difficult to understand, test and maintain. Thus we want to decouple and simplify parts of it.
We are discussing our strategy to attack this large file here. If you have ideas, please let us know. What we are looking for here are small steps, that are non breaking and help us simplify the code base.
D3-Scale / Victory-vendor
To solve a security vulnerability, we had to upgrade d3-scale. That turned out to be rather complex. We instead decided to use victory-vendor. You can find more information about the approach and the root cause here. Using victory-vendor was only a short term solution to an urgent need.
Now we want to revert this an properly fix it. The upgrade of d3-scale breaks our jest setup, and we are currently investigating whether switching to vitest is solving our problem.
Here, we are facing yet other tests to fail, but it overall still seems like a reasonable approach.
Once we can get all tests to work with vitest #3705, we will migrate from jest to vitest, and then upgrade d3-scale.
Major release 3.x
Given the projects about the next release will most likely only contain fixes to larger issues that are breaking. We are currently not targeting any large new features.
We might want to:
TBD
Beta Was this translation helpful? Give feedback.
All reactions