CKEditor 5 rich text editor component for React

Official CKEditor 5 rich text editor component for React.
See the "Rich text editor component for React" guide in the CKEditor 5 documentation to learn more:
Contributing
[!NOTE]
This project requires pnpm v10 or higher. You can check your version with pnpm --version and update if needed with npm install -g pnpm@latest.
After cloning this repository, install necessary dependencies:
pnpm install
Running the development server
To manually test the editor integration with different versions of React, you can start the development server using one of the commands below:
pnpm run dev:16 # Open the demo projects using React 16.
pnpm run dev:18 # Open the demo projects using React 18.
pnpm run dev:19 # Open the demo projects using React 19.
Executing tests
To test the editor integration against a set of automated tests, run the following command:
pnpm run test
If you want to run the tests in watch mode, use the following command:
pnpm run test:watch
Building the package
To build the package that is ready to publish, use the following command:
pnpm run build
Releasing package
CircleCI automates the release process and can release both channels: stable (X.Y.Z) and pre-releases (X.Y.Z-alpha.X, etc.).
Before you start, you need to prepare the changelog entries.
- Make sure the
#master branch is up-to-date: git fetch && git checkout master && git pull.
- Prepare a release branch:
git checkout -b release-[YYYYMMDD] where YYYYMMDD is the current day.
- Generate the changelog entries:
pnpm run release:prepare-changelog.
- You can specify the release date by passing the
--date option, e.g., --date=2025-06-11.
- By passing the
--dry-run option, you can check what the script will do without actually modifying the files.
- Read all the entries, correct poor wording and other issues, wrap code names in backticks to format them, etc.
- Add the missing
the/a articles, () to method names, "it's" -> "its", etc.
- A newly introduced feature should have just one changelog entry – something like "The initial implementation of the FOO feature." with a description of what it does.
- Commit all changes and prepare a new pull request targeting the
#master branch.
- Ping the
@ckeditor/ckeditor-5-platform team to review the pull request and trigger the release process.
License
Licensed under a dual-license model, this software is available under:
For more information, see: https://ckeditor.com/legal/ckeditor-licensing-options.