Skip to content

ckeditor/ckeditor5-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,050 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CKEditor 5 rich text editor component for React

npm version CircleCI Coverage Status Dependency Status

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

If you need to run tests or demos with a commercial license, copy .env.example to .env and fill in the required CKEDITOR_* variables. Keep .env local only. In CI, provide the same value via the CKEDITOR_LICENSE_KEY environment variable.

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:17 # Open the demo projects using React 17.
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 run the full automated test suite, use:

pnpm run test

To run only the real-editor integration suite used by the CI version matrix, use:

pnpm exec vitest run --project integration

This command runs the integration subset against the ckeditor5 and ckeditor5-premium-features versions currently installed in node_modules. After a regular pnpm install, that means the default dependency versions from package.json, not the LTS version from the CI matrix.

To reproduce an LTS matrix run locally, install the matching lts-v* packages first and provide CKEDITOR_LICENSE_KEY, just like the CI job does:

pnpm add -D ckeditor5@lts-v* ckeditor5-premium-features@lts-v*
CKEDITOR_LICENSE_KEY=<your-key> pnpm exec vitest run --project integration

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.

  1. Make sure the #master branch is up-to-date: git fetch && git checkout master && git pull.
  2. Prepare a release branch: git checkout -b release-[YYYYMMDD] where YYYYMMDD is the current day.
  3. 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.
  4. Commit all changes and prepare a new pull request targeting the #master branch.
  5. 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.

About

Official CKEditor 5 React component.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors