Skip to content

Lexical Roadmap

Acy Watson edited this page Mar 14, 2023 · 6 revisions

2023

This document lays out the general technical vision and roadmap for Lexical through the end of 2023. These timelines are projections and absolutely not guarantees. The roadmap will continuously evolve as we evaluate the relative priorities of different projects and initiatives.

Lexical 1.0

Moving Lexical to 1.0 is significant from a communications standpoint, as it conveys a message (without a guarantee!) about the stability of the public APIs and the expected frequency at which they may change in the future. From a technical standpoint, it's not necessarily particularly meaningful, as we will almost certainly break APIs between subsequent major versions in the future. Virtually all libraries do - that's what semantic versioning is for. Therefore, the decision to move to 1.0 is really a judgment call by the core team about our confidence in the robustness and longevity of the core APIs. We think we'll be ready to make that call in the near future, but first we want to evaluate the following upcoming projects for their potential impact on the public API. To the extent we're able to largely maintain backwards compatibility through these changes, we'll be more confident in a 1.0 release that won't see us immediately at version 15.0 😄.

Projects

Documentation

Documentation has been, by far, the number one most requested improvement to the Lexical project. This year, we plant to invest in identifying and implementing specific documentation projects that will unblock adoption and help community users move faster. Specifically, this year we're going to emphasize: full API documentation coverage, more examples, and a video Tutorial Series on Getting Started with Lexical for React.

Projects

  • API [@acywatson]
    • Explanatory annotations on all public APIs
  • Concepts/Patterns [@acywatson]
    • Identify and address 3-5 top requested
  • Examples [TBD]
    • Isolated examples of features from the playground

Developer Tools

Projects

  • Finish and expose lexical-devtools [TBD]
  • Expose testing utils via public API [@fantactuka]
  • Improve mobile e2e testing (Android/iOS)
  • Reduce CI Flakiness (specifically on collab tests) [@fantactuka]
    • Move to unit tests where possible
    • Split tests into smaller files (faster execution)
    • Identify and resolve collab failure modes.