elastic / eui

Elastic UI Framework 🙌
https://eui.elastic.co/
Other
52 stars 841 forks source link

2021 Roadmap - First 6 months #4054

Closed cchaos closed 2 years ago

cchaos commented 4 years ago

High level themes/projects

Documentation (Project Link)

We will continue providing manually-curated documentation and examples, while exploring ideas for how to better present templates and patterns. We will also explore ways to enhance the docs with automation like source code links and versioning. We will also explore ways to enhance the docs with automation like source code links and versioning.

Modularization

Continuing from 2020, this effort intends to break EUI up into smaller, more consumable pieces. We do not yet know what the boundaries look like, either for development or when importing components into a project, only that finding them is growing in importance and benefit.

CSS in JS (via Emotion)

✅ We have decided on Emotion for authoring EUI's styles, and now provide customizable, extensible theming with support for color modes (e.g. "light" and "dark"). Component conversions to happen throughout 2022.

Begin monorepo split/setup

To better support the existing, various packages within this repo it needs to move to a more "traditional" monorepo with proper tooling. This will allow us to better support downstream uses both at Elastic and by our community ❤️. It is also a requirement for separating up the @elastic/eui package (no expectation yet what that actually means or looks like).

Bug fixes & other improvements

Barring any incoming large component work, the main focus of the first half of 2021 will be to strengthen the existing components. We will tackle our backlog of issues and in the same instance look for ways to increase efficiency at the code level.

Component level projects

We know a number of our components could use some love and care, including bug fixes and updated feature support. Some of these (below) are already being tracked.

Testing

Unit & component level

Our unit testing strategy is incomplete. For example, a major goal of EUI is to provide out-of-the-box accessibility that is either pre-configured or at least easy to implement with a pattern. That requires a lot of integration with browser APIs, which the existing jest environment falls short in. We will explore alternative environments like Cypress to enable better, more complete testing.

Validating non-breaking changes #2760

Outside of choosing React, EUI strives to be agnostic about the technical decisions of consuming applications. This requires a number of potential setups to be considered when making platform-level decisions and in some cases it's easy to accidentally neglect some case and release a breaking change without considering its full impact. We are looking to create a CI integration which will allow us validate PRs against a set of projects.

Typescript definitions update

Last year every component was converted to TypeScript (#1557) - thank you to everyone who helped! This total conversion now provides better ways to generated the eui.d.ts definitions file, and doing so will remove code & accuracy in some edge cases.

Support

We will continue to support ongoing design and development efforts across the Elastic organization. As a part of that we are tracking a number of accessibility improvements ranging from small cleanups to improving still across larger concepts.

Anshultilondiya commented 3 years ago

@chandlerprall I would like to contribute to this project, could you please direct me from where I can get more information of the same, and will this project be available in GSOC '21

chandlerprall commented 3 years ago

I would like to contribute to this project, could you please direct me from where I can get more information of the same, and will this project be available in GSOC '21

Unfortunately the EUI project is not participating in GSOC this year due to our own time constraints & commitments - hopefully next year! If you'd like to contribute outside of GSOC, we have a contributing guide and curate a list of good first issues (though no one is restricted to that list).

malekjaroslav commented 3 years ago

Do you plan to put SSR support on the roadmap? I am loving EUI and I use it in my project, but the no SSR is something that holds me back a bit. Thank you! 🙏

chandlerprall commented 3 years ago

Do you plan to put SSR support on the roadmap? I am loving EUI and I use it in my project, but the no SSR is something that holds me back a bit. Thank you! 🙏

Full SSR support will not be on our roadmap anytime soon, but we accept pull requests fixing any of those issues. Our Next+EUI starter project's configuration for SSR may also be a helpful reference.

thompsongl commented 2 years ago

🗓️ Move any relevant items to #5468