Socket
Socket
Sign inDemoInstall

@ckeditor/ckeditor5-code-block

Package Overview
Dependencies
Maintainers
1
Versions
597
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ckeditor/ckeditor5-code-block - npm Package Compare versions

Comparing version 26.0.0 to 27.0.0

33

package.json
{
"name": "@ckeditor/ckeditor5-code-block",
"version": "26.0.0",
"version": "27.0.0",
"description": "Code Block feature for CKEditor 5.",

@@ -14,20 +14,21 @@ "keywords": [

"dependencies": {
"ckeditor5": "^26.0.0"
"ckeditor5": "^27.0.0"
},
"devDependencies": {
"@ckeditor/ckeditor5-alignment": "^26.0.0",
"@ckeditor/ckeditor5-autoformat": "^26.0.0",
"@ckeditor/ckeditor5-basic-styles": "^26.0.0",
"@ckeditor/ckeditor5-block-quote": "^26.0.0",
"@ckeditor/ckeditor5-core": "^26.0.0",
"@ckeditor/ckeditor5-alignment": "^27.0.0",
"@ckeditor/ckeditor5-autoformat": "^27.0.0",
"@ckeditor/ckeditor5-basic-styles": "^27.0.0",
"@ckeditor/ckeditor5-block-quote": "^27.0.0",
"@ckeditor/ckeditor5-clipboard": "^27.0.0",
"@ckeditor/ckeditor5-core": "^27.0.0",
"@ckeditor/ckeditor5-dev-utils": "^24.0.0",
"@ckeditor/ckeditor5-enter": "^26.0.0",
"@ckeditor/ckeditor5-editor-classic": "^26.0.0",
"@ckeditor/ckeditor5-engine": "^26.0.0",
"@ckeditor/ckeditor5-indent": "^26.0.0",
"@ckeditor/ckeditor5-markdown-gfm": "^26.0.0",
"@ckeditor/ckeditor5-paragraph": "^26.0.0",
"@ckeditor/ckeditor5-theme-lark": "^26.0.0",
"@ckeditor/ckeditor5-undo": "^26.0.0",
"@ckeditor/ckeditor5-utils": "^26.0.0",
"@ckeditor/ckeditor5-engine": "^27.0.0",
"@ckeditor/ckeditor5-enter": "^27.0.0",
"@ckeditor/ckeditor5-editor-classic": "^27.0.0",
"@ckeditor/ckeditor5-indent": "^27.0.0",
"@ckeditor/ckeditor5-markdown-gfm": "^27.0.0",
"@ckeditor/ckeditor5-paragraph": "^27.0.0",
"@ckeditor/ckeditor5-theme-lark": "^27.0.0",
"@ckeditor/ckeditor5-undo": "^27.0.0",
"@ckeditor/ckeditor5-utils": "^27.0.0",
"webpack": "^4.43.0",

@@ -34,0 +35,0 @@ "webpack-cli": "^3.3.11"

@@ -12,2 +12,3 @@ /**

import { ShiftEnter } from 'ckeditor5/src/enter';
import { UpcastWriter } from 'ckeditor5/src/engine';

@@ -20,3 +21,3 @@ import CodeBlockCommand from './codeblockcommand';

getLeadingWhiteSpaces,
rawSnippetTextToModelDocumentFragment
rawSnippetTextToViewDocumentFragment
} from './utils';

@@ -140,5 +141,10 @@ import {

this.listenTo( editor.editing.view.document, 'clipboardInput', ( evt, data ) => {
const modelSelection = model.document.selection;
let insertionRange = model.createRange( model.document.selection.anchor );
if ( !modelSelection.anchor.parent.is( 'element', 'codeBlock' ) ) {
// Use target ranges in case this is a drop.
if ( data.targetRanges ) {
insertionRange = editor.editing.mapper.toModelRange( data.targetRanges[ 0 ] );
}
if ( !insertionRange.start.parent.is( 'element', 'codeBlock' ) ) {
return;

@@ -148,7 +154,6 @@ }

const text = data.dataTransfer.getData( 'text/plain' );
const writer = new UpcastWriter( editor.editing.view.document );
model.change( writer => {
model.insertContent( rawSnippetTextToModelDocumentFragment( writer, text ), modelSelection );
evt.stop();
} );
// Pass the view fragment to the default clipboardInput handler.
data.content = rawSnippetTextToViewDocumentFragment( writer, text );
} );

@@ -228,3 +233,3 @@

evt.stop();
} );
}, { context: 'pre' } );
}

@@ -231,0 +236,0 @@ }

@@ -121,2 +121,3 @@ /**

* @param {String} text The raw code text to be converted.
* @returns {module:engine/model/documentfragment~DocumentFragment}
*/

@@ -140,2 +141,42 @@ export function rawSnippetTextToModelDocumentFragment( writer, text ) {

/**
* For a plain text containing the code (snippet), it returns a document fragment containing
* view text nodes separated by `<br>` elements (in place of new line characters "\n"), for instance:
*
* Input:
*
* "foo()\n
* bar()"
*
* Output:
*
* <DocumentFragment>
* "foo()"
* <br/>
* "bar()"
* </DocumentFragment>
*
* @param {module:engine/view/upcastwriter~UpcastWriter} writer
* @param {String} text The raw code text to be converted.
* @returns {module:engine/view/documentfragment~DocumentFragment}
*/
export function rawSnippetTextToViewDocumentFragment( writer, text ) {
const fragment = writer.createDocumentFragment();
const textLines = text.split( '\n' );
const nodes = textLines.reduce( ( nodes, line, lineIndex ) => {
nodes.push( line );
if ( lineIndex < textLines.length - 1 ) {
nodes.push( writer.createElement( 'br' ) );
}
return nodes;
}, [] );
writer.appendChild( nodes, fragment );
return fragment;
}
/**
* Returns an array of all model positions within the selection that represent code block lines.

@@ -142,0 +183,0 @@ *

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc