Maintaining the @wordpress/components package
- Year
- 2024
- Client
- Automattic
- Link
- View project
Description
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.