What is @ckeditor/ckeditor5-essentials?
@ckeditor/ckeditor5-essentials is a package that provides essential features for CKEditor 5, a modern JavaScript rich text editor. It includes basic functionalities such as undo, redo, and clipboard support, which are fundamental for any text editing experience.
What are @ckeditor/ckeditor5-essentials's main functionalities?
Undo
This feature allows users to undo and redo their actions within the editor. The code sample demonstrates how to include the Essentials plugin in a CKEditor 5 instance and add undo/redo buttons to the toolbar.
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Essentials ],
toolbar: [ 'undo', 'redo' ]
} )
.catch( error => {
console.error( error );
} );
Clipboard
This feature provides clipboard support, allowing users to copy, cut, and paste content within the editor. The code sample shows how to configure the CKEditor 5 instance to include clipboard functionalities.
import Essentials from '@ckeditor/ckeditor5-essentials/src/essentials';
import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Essentials ],
toolbar: [ 'copy', 'cut', 'paste' ]
} )
.catch( error => {
console.error( error );
} );
Other packages similar to @ckeditor/ckeditor5-essentials
quill
Quill is a modern WYSIWYG editor built for compatibility and extensibility. It offers similar functionalities to CKEditor 5 Essentials, such as undo/redo and clipboard support, but also includes a more extensive set of features out of the box. Quill is known for its ease of use and flexibility in customization.
tinymce
TinyMCE is another popular rich text editor that provides a wide range of features, including undo/redo and clipboard support. It is highly customizable and offers a robust plugin architecture, making it comparable to CKEditor 5 Essentials in terms of functionality and extensibility.
draft-js
Draft.js is a JavaScript rich text editor framework developed by Facebook. It provides similar core functionalities like undo/redo and clipboard support. Draft.js is highly extensible and allows developers to build complex text editing experiences, but it requires more setup and configuration compared to CKEditor 5 Essentials.
43.1.1 (September 25, 2024)
We are happy to announce the release of CKEditor 5 v43.1.1.
During a recent internal audit, we identified a Cross-Site Scripting (XSS) vulnerability in the CKEditor 5 clipboard package (CVE-2024-45613
). This vulnerability could be triggered by a specific user action, leading to unauthorized JavaScript code execution, if the attacker managed to insert malicious content into the editor, which might happen with a very specific editor configuration.
This vulnerability affects only installations where the editor configuration meets the following criteria:
- The Block Toolbar plugin is enabled.
- One of the following plugins is also enabled:
You can read more details in the relevant security advisory and contact us if you have more questions.
Taking the occasion, we decided to introduce additional hardening to some parts of our codebase that introduce theoretical and unexploitable issues. Our security team confirmed that none of these issues were exploitable in a real scenario, however, we decided to fix them, in order to increase the overall security posture of our software.
Released packages
Check out the Versioning policy guide for more information.
<details>
<summary>Released packages (summary)</summary>
Other releases:
</details>