Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
@ckeditor/ckeditor5-typing
Advanced tools
@ckeditor/ckeditor5-typing is a package that provides typing-related features for CKEditor 5, a modern JavaScript rich text editor. This package includes functionalities such as input handling, text transformations, and undo/redo support, which are essential for creating a seamless and user-friendly text editing experience.
Input Handling
This feature handles the basic input from the user, ensuring that text is correctly inserted into the editor. The code sample demonstrates how to include the Typing plugin in a CKEditor 5 instance.
import Typing from '@ckeditor/ckeditor5-typing/src/typing';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Typing, ... ],
toolbar: [ ... ]
} )
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );
Text Transformations
This feature provides automatic text transformations, such as converting quotes to smart quotes or converting -- to an em dash. The code sample shows how to include the TextTransformation plugin in a CKEditor 5 instance.
import TextTransformation from '@ckeditor/ckeditor5-typing/src/texttransformation';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ TextTransformation, ... ],
toolbar: [ ... ]
} )
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );
Undo/Redo Support
This feature allows users to undo and redo their actions within the editor. The code sample demonstrates how to include the Undo plugin and add undo/redo buttons to the toolbar in a CKEditor 5 instance.
import Undo from '@ckeditor/ckeditor5-undo/src/undo';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Undo, ... ],
toolbar: [ 'undo', 'redo', ... ]
} )
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );
Quill is a modern WYSIWYG editor built for compatibility and extensibility. It offers similar typing and text transformation features, but with a different API and plugin system compared to CKEditor 5.
TinyMCE is another popular rich text editor that provides a wide range of features, including input handling, text transformations, and undo/redo support. It is highly customizable and has a large plugin ecosystem, similar to CKEditor 5.
Draft.js is a JavaScript rich text editor framework, built by Facebook, that allows for extensive customization and control over the editor's behavior. It provides similar functionalities but requires more setup and configuration compared to CKEditor 5.
This package implements support for typing (inputting and deleting text) in CKEditor 5. It also includes the automatic text transformations (autocorrect) feature that lets you automatically turn predefined snippets into their improved forms.
See the @ckeditor/ckeditor5-typing
package page in CKEditor 5 documentation.
npm install ckeditor5
Licensed under the terms of GNU General Public License Version 2 or later. For full details about the license, please check the LICENSE.md
file or https://ckeditor.com/legal/ckeditor-oss-license.
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:
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.
Check out the Versioning policy guide for more information.
<details> <summary>Released packages (summary)</summary>Other releases:
FAQs
Typing feature for CKEditor 5.
The npm package @ckeditor/ckeditor5-typing receives a total of 502,311 weekly downloads. As such, @ckeditor/ckeditor5-typing popularity was classified as popular.
We found that @ckeditor/ckeditor5-typing demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.