Maintaining the @wordpress/components package

View project


Since May 2021 Automattic has been sponsoring me to maintain and improve the `@wordpress/components` package, responsible for providing reusable UI components to the WordPress block editor and third-party themes and plugins.

Working on the package can be particularly challenging, given the potential impact of any changes (more than 40% of websites worldwide are made with WordPress) and WordPress' strict backwards-compatibility policy.

Over the years, together with the team I've been leading and thanks to targeted community-building within the open-source community, we made substantial improvements to the package, balancing developer and end-user experience:

  • We migrated every component to TypeScript, and leveraged the type definitions to create better documentation via Storybook;

  • We refactored unit tests to use testing library and adopted a more modern approach (testing from the user's perspective);

  • We experimented with Theming, and worked on improving visual consistency and UI polish;

  • We greatly improve the accessibility of some key components;

  • We added new components to support the expansion of the block editor from post to site editor, all the way to the admin UI.

Working on such a large and delicate component system within such a large and complex project like Gutenberg requires a lot of skill, in particular about API design / architecture and component composition. Another key aspect is the interaction with the open-source community, both in terms of gathering feedback, and coordinating future work.