AI Slop Code Risk Monitor

ckeditor/ckeditor5

SlopCodeMonitor badge for ckeditor/ckeditor5 Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Powerful rich text editor framework with a modular architecture, modern integrations, and features like collaborative editing.

2.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for ckeditor/ckeditor5, a JavaScript project with 10,522 GitHub stars. SynthScan examined 1,262,054 lines of code across 7902 source files, recording 1790 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 2.7 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.7
Adjusted Signal
2.7
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
10.5K
Stars
JavaScript
Language
1.3M
Lines of Code
7.9K
Files
1.8K
Pattern Hits
2026-10-31
Scan Date
0.02
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 3.8/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 901 finding(s).

Hallucinated Dependency & Supply Chain Risk 8.1/100 · LOW

Are imports declared and package/API names verified? 820 finding(s).

Agent Over-Engineering Ratio 3.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 584 finding(s).

PR Review Velocity Impact 11.4/100 · LOW

Which changes need focused human review? 1790 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 122HIGH 3MEDIUM 82LOW 1583

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1790 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators122 hits · 1310 pts
SeverityFileLineSnippetContext
CRITICAL…cs/_snippets/support/managing-ckeditor-logo-styling.js37 editor.ui.view.body._bodyCollectionContainer.classList.add( 'custom-theme-editor-wrapper' );CODE
CRITICAL…sts/imagetextalternative/ui/textalternativeformview.js58 expect( header.children.last.element.classList.contains( 'ck-form__header__label' ) ).toBe( true );CODE
CRITICAL…keditor5-image/tests/imageresize/imageresizehandles.js1103 editor.editing.view.document.selection.getSelectedElement()CODE
CRITICAL…mage/tests/imageresize/ui/imagecustomresizeformview.js50 expect( header.children.last.element.classList.contains( 'ck-form__header__label' ) ).toBe( true );CODE
CRITICAL…ckeditor5-image/src/image/replaceimagesourcecommand.ts38 const element = this.editor.model.document.selection.getSelectedElement()!;CODE
CRITICAL…ckeditor5-image/src/image/replaceimagesourcecommand.ts52 const image = this.editor.model.document.selection.getSelectedElement()!;CODE
CRITICAL…ages/ckeditor5-editor-classic/tests/classiceditorui.js724 editorWithUi.ui.view.stickyPanel.contentPanelElement.getBoundingClientRect.mockReturnValue( {CODE
CRITICAL…ages/ckeditor5-editor-classic/tests/classiceditorui.js931 const range = editor.editing.view.document.selection.getFirstRange();CODE
CRITICAL…ages/ckeditor5-editor-classic/tests/classiceditorui.js979 const range = editor.editing.view.document.selection.getFirstRange();CODE
CRITICAL…ages/ckeditor5-editor-classic/tests/classiceditorui.js1032 const range = editor.editing.view.document.selection.getFirstRange();CODE
CRITICALpackages/ckeditor5-alignment/src/alignmentcommand.ts37 const firstBlock = first( this.editor.model.document.selection.getSelectedBlocks() )!;CODE
CRITICALpackages/ckeditor5-widget/src/widgetresize/resizer.ts252 this._options.editor.editing.view.change( () => {CODE
CRITICALpackages/ckeditor5-widget/src/widgetresize/resizer.ts327 this._options.editor.editing.view.change( writer => {CODE
CRITICALpackages/ckeditor5-widget/src/widgetresize/resizer.ts450 return this._options.editor.editing.view.domConverter.mapViewToDom( this._viewResizerWrapper! ) as any;CODE
CRITICALpackages/ckeditor5-font/tests/integration.js232 dropdown.colorSelectorView.colorPickerFragmentView.colorPickerView.picker.dispatchEvent( event );CODE
CRITICALpackages/ckeditor5-font/tests/integration.js266 dropdown.colorSelectorView.colorPickerFragmentView.colorPickerView.picker.dispatchEvent( event );CODE
CRITICALpackages/ckeditor5-font/tests/ui/colorui.js166 const secondButton = dropdown.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.get( 1 );CODE
CRITICALpackages/ckeditor5-font/tests/fontsize/fontsizeui.js342 buttonSmall = subMenu.panelView.children.first.items.get( 1 ).children.first;CODE
CRITICAL…ckages/ckeditor5-font/tests/fontfamily/fontfamilyui.js346 buttonArial = subMenu.panelView.children.first.items.get( 1 ).children.first;CODE
CRITICALpackages/ckeditor5-bookmark/tests/bookmarkui.js751 expect( balloon.view.pin.mock.calls.at( -1 )[ 0 ].target ).toBe( BookmarkDomElement );CODE
CRITICALpackages/ckeditor5-bookmark/tests/bookmarkui.js769 expect( balloon.view.pin.mock.calls.at( -1 )[ 0 ].target ).not.toBe( BookmarkDomElement );CODE
CRITICALpackages/ckeditor5-bookmark/tests/bookmarkui.js774 expect( balloon.view.pin.mock.calls.at( -1 )[ 0 ].target ).toBe( newBookmarkDomElement );CODE
CRITICAL⚡…ckeditor5-editor-multi-root/tests/multirooteditorui.js172 expect( view.editables.foo.element.classList.contains( 'ck-editor__editable_root' ) ).toBe( true );CODE
CRITICAL⚡…ckeditor5-editor-multi-root/tests/multirooteditorui.js173 expect( view.editables.bar.element.classList.contains( 'ck-editor__editable_root' ) ).toBe( true );CODE
CRITICAL⚡…ckeditor5-editor-multi-root/tests/multirooteditorui.js180 expect( view.editables.foo.element.classList.contains( 'ck-editor__editable_inline-root' ) ).toBe( false );CODE
CRITICAL⚡…ckeditor5-editor-multi-root/tests/multirooteditorui.js181 expect( view.editables.bar.element.classList.contains( 'ck-editor__editable_inline-root' ) ).toBe( false );CODE
CRITICAL…5-editor-multi-root/manual/multirooteditor-detached.ts78 editor.ui.view.toolbar.element.remove();CODE
CRITICAL…5-editor-multi-root/manual/multirooteditor-detached.ts79 editor.ui.view.menuBarView.element.remove();CODE
CRITICAL…/ckeditor5-editor-multi-root/manual/multirooteditor.ts92 editor.ui.view.toolbar.element.remove();CODE
CRITICAL…/ckeditor5-editor-multi-root/manual/multirooteditor.ts93 editor.ui.view.menuBarView.element.remove();CODE
CRITICALpackages/ckeditor5-editor-multi-root/manual/memory.ts48 editor.ui.view.toolbar.element.remove();CODE
CRITICAL…r5-editor-multi-root/manual/multirooteditor-dynamic.ts110 editor.ui.view.toolbar.element.remove();CODE
CRITICAL…r5-editor-multi-root/manual/multirooteditor-dynamic.ts111 editor.ui.view.menuBarView.element.remove();CODE
CRITICAL…ages/ckeditor5-editor-multi-root/manual/placeholder.ts54 editor.ui.view.toolbar.element.remove();CODE
CRITICAL…ges/ckeditor5-editor-multi-root/src/multirooteditor.ts309 * editor.ui.view.toolbar.element.remove();COMMENT
CRITICAL…characters/tests/ui/specialcharacterscategoriesview.js52 view._dropdownView.fieldView.listView.items.last.children.first.fire( 'execute' );CODE
CRITICAL…characters/tests/ui/specialcharacterscategoriesview.js94 groupDropdownView.listView.items.last.children.first.fire( 'execute' );CODE
CRITICALpackages/ckeditor5-fullscreen/tests/fullscreenui.js100 editor.ui.view.toolbar.items.add( button );CODE
CRITICALpackages/ckeditor5-fullscreen/tests/fullscreenui.js183 editor.ui.view.toolbar.items.add( button );CODE
CRITICAL…ckages/ckeditor5-fullscreen/tests/fullscreenediting.js112 editor.ui.view.toolbar.items.add( buttonView );CODE
CRITICAL…or5-fullscreen/tests/handlers/abstracteditorhandler.js232 expect( global.document.body.parentElement.classList.contains( 'ck-fullscreen' ) ).toBe( false );CODE
CRITICAL…or5-fullscreen/tests/handlers/abstracteditorhandler.js2151 expect( shadowEditor.ui.view.body.bodyCollectionContainer.checkVisibility() ).toBe( true );CODE
CRITICAL…or5-fullscreen/tests/handlers/abstracteditorhandler.js2176 expect( shadowEditor.ui.view.body.bodyCollectionContainer.checkVisibility() ).toBe( true );CODE
CRITICAL…tor5-fullscreen/src/handlers/decouplededitorhandler.ts52 this._editor.ui.view.toolbar.switchBehavior(CODE
CRITICAL…itor5-fullscreen/src/handlers/abstracteditorhandler.ts581 this._editor.ui.view.toolbar.switchBehavior(CODE
CRITICAL…itor5-fullscreen/src/handlers/abstracteditorhandler.ts913 this._editor.ui.view.menuBarView.disable();CODE
CRITICAL…itor5-fullscreen/src/handlers/abstracteditorhandler.ts947 this._editor.ui.view.menuBarView.enable();CODE
CRITICAL…or5-list/tests/listproperties/ui/listpropertiesview.js275 expect( view.stylesView.element.firstChild.classList.contains( 'ck-button' ) ).toBe( true );CODE
CRITICAL…or5-list/tests/listproperties/ui/listpropertiesview.js276 expect( view.stylesView.element.lastChild.classList.contains( 'ck-button' ) ).toBe( true );CODE
CRITICAL…ges/ckeditor5-list/src/legacylist/legacylistcommand.ts239 const listItem = first( this.editor.model.document.selection.getSelectedBlocks() );CODE
CRITICAL…s/ckeditor5-list/src/legacylist/legacyindentcommand.ts106 const listItem = first( this.editor.model.document.selection.getSelectedBlocks() );CODE
CRITICAL…ist/src/legacylistproperties/legacyliststartcommand.ts57 const listItem = this.editor.model.document.selection.getFirstPosition()!.parent;CODE
CRITICAL…/src/legacylistproperties/legacylistreversedcommand.ts57 const listItem = this.editor.model.document.selection.getFirstPosition()!.parent;CODE
CRITICAL…ist/src/legacylistproperties/legacyliststylecommand.ts85 const listItem = this.editor.model.document.selection.getFirstPosition()!.parent;CODE
CRITICAL…/ckeditor5-list/src/listproperties/liststylecommand.ts108 const listItem = first( this.editor.model.document.selection.getSelectedBlocks() );CODE
CRITICALpackages/ckeditor5-clipboard/src/dragdroptarget.ts365 const domElement = this.editor.editing.view.domConverter.mapViewToDom( viewElement )!;CODE
CRITICAL…kages/ckeditor5-editor-balloon/manual/ballooneditor.ts77 editor.ui.view.menuBarView.element.remove();CODE
CRITICALpackages/ckeditor5-ui/tests/dropdown/utils.js263 dropdownView.listView.items.first.children.first.fire( 'execute' );CODE
CRITICALpackages/ckeditor5-ui/tests/dropdown/utils.js1348 listItems.last.items.first.children.first.fire( 'execute' );CODE
CRITICALpackages/ckeditor5-ui/tests/menubar/utils.js375 const parentMenuAAListItem = menuA.panelView.children.first.items.get( 1 );CODE
62 more matches not shown…
Fake / Example Data698 hits · 824 pts
SeverityFileLineSnippetContext
LOWdocs/framework/custom-editor-creator.md280 sourceElement && sourceElement.tagName.toLowerCase() === 'textarea' && sourceElement.getAttribute( 'placeholder' );CODE
LOWdocs/framework/architecture/ui-library.md50 // The HTML "placeholder" attribute is also controlled by the observable.COMMENT
LOWdocs/framework/architecture/ui-library.md51 placeholder: bind.to( 'placeholder' ),CODE
LOWdocs/framework/architecture/ui-library.md126view.bind( 'placeholder', 'isEnabled' ).to( observable, 'placeholderText', 'isEnabled' );CODE
LOWdocs/_snippets/framework/tutorials/inline-widget.html16 <p>Hello <span class="placeholder">{first name}</span> <span class="placeholder">{surname}</span>!</p>CODE
LOWdocs/_snippets/framework/tutorials/inline-widget.js37 const placeholder = writer.createElement( 'placeholder', {CODE
LOWdocs/_snippets/framework/tutorials/inline-widget.js54 const isAllowed = model.schema.checkChild( selection.focus.parent, 'placeholder' );CODE
LOWdocs/_snippets/framework/tutorials/inline-widget.js72 // The "placeholder" dropdown must be registered among the UI components of the editorCOMMENT
LOWdocs/_snippets/framework/tutorials/inline-widget.js74 editor.ui.componentFactory.add( 'placeholder', locale => {CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js89 const command = editor.commands.get( 'placeholder' );CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js94 editor.execute( 'placeholder', { value: evt.source.commandParam } );CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js134 this.editor.commands.add( 'placeholder', new PlaceholderCommand( this.editor ) );CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js138 viewToModelPositionOutsideModelElement( this.editor.model, viewElement => viewElement.hasClass( 'placeholder' ) )CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js148 schema.register( 'placeholder', {CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js172 classes: [ 'placeholder' ]CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js178 return modelWriter.createElement( 'placeholder', { name } );CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js183 model: 'placeholder',CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js193 model: 'placeholder',CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js202 class: 'placeholder'CODE
LOWdocs/_snippets/framework/tutorials/inline-widget.js221 '|', 'placeholder',CODE
LOWdocs/updating/update-to-48.md310* `config.get( 'placeholder' )` -> `config.get( 'roots.main.placeholder' )`COMMENT
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md215 classes: [ 'placeholder' ]CODE
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md221 return modelWriter.createElement( 'placeholder', { name } );CODE
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md226 model: 'placeholder',CODE
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md236 model: 'placeholder',CODE
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md245 class: 'placeholder'CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md461 // The "placeholder" dropdown must be registered among the UI components of the editorCOMMENT
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md478 const command = editor.commands.get( 'placeholder' );CODE
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md483 editor.execute( 'placeholder', { value: evt.source.commandParam } );CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md526 // Insert the "placeholder" dropdown into the editor toolbar.COMMENT
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md10In this tutorial, you will learn how to implement an inline widget. You will build a "placeholder" feature that allows tCODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md161 schema.register( 'placeholder', {CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md181<span class="placeholder">{name}</span>CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md294 const placeholder = writer.createElement( 'placeholder', {CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md308 const isAllowed = model.schema.checkChild( selection.focus.parent, 'placeholder' );CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md337 this.editor.commands.add( 'placeholder', new PlaceholderCommand( this.editor ) );CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md357editor.execute( 'placeholder', { value: 'time' } );CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md381foo<span class="placeholder">{name}</span>barCODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md413 this.editor.commands.add( 'placeholder', new PlaceholderCommand( this.editor ) );CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md418 viewToModelPositionOutsideModelElement( this.editor.model, viewElement => viewElement.hasClass( 'placeholder' ) )CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md463 editor.ui.componentFactory.add( 'placeholder', locale => {CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md527 toolbar: [ 'heading', 'bold', 'italic', 'numberedList', 'bulletedList', '|', 'placeholder' ]CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md550 this.editor.commands.add( 'placeholder', new PlaceholderCommand( this.editor ) );CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md554 viewToModelPositionOutsideModelElement( this.editor.model, viewElement => viewElement.hasClass( 'placeholder' ) )CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md585 editor.ui.componentFactory.add( 'placeholder', locale => {CODE
LOWdocs/tutorials/widgets/implementing-an-inline-widget.md604 toolbar: [ 'heading', 'bold', 'italic', 'numberedList', 'bulletedList', '|', 'placeholder' ],CODE
LOWpackages/ckeditor5-enter/manual/enter.manual.html47 Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br />CODE
LOWpackages/ckeditor5-enter/manual/enter.manual.html47 Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br />CODE
LOWpackages/ckeditor5-emoji/tests/emojipicker.js453 '<paragraph>Lorem Ipsum is simply dummy [text] of the printing and typesetting industry.</paragraph>'CODE
LOWpackages/ckeditor5-emoji/tests/emojipicker.js459 '<paragraph>Lorem Ipsum is simply dummy [text] of the printing and typesetting industry.</paragraph>'CODE
LOW⚡packages/ckeditor5-mention/tests/mention.js64 const text = new ViewText( viewDocument, 'John Doe' );CODE
LOW⚡packages/ckeditor5-mention/tests/mention.js74 expect( mentionAttribute ).toHaveProperty( '_text', 'John Doe' );CODE
LOW⚡packages/ckeditor5-mention/tests/mention.js78 const text = new ViewText( viewDocument, 'John Doe' );CODE
LOWpackages/ckeditor5-mention/tests/mention.js89 expect( mentionAttribute ).toHaveProperty( '_text', 'John Doe' );CODE
LOW⚡packages/ckeditor5-mention/manual/mention.ts26 editor.model.schema.register( 'placeholder', {CODE
LOW⚡packages/ckeditor5-mention/manual/mention.ts34 model: 'placeholder',CODE
LOW⚡packages/ckeditor5-mention/manual/mention.ts43 model: 'placeholder',CODE
LOW⚡packages/ckeditor5-mention/manual/mention.ts48 view: 'placeholder',CODE
LOW⚡packages/ckeditor5-mention/manual/mention.ts60 return writer.createElement( 'placeholder', { type } );CODE
LOW⚡packages/ckeditor5-mention/manual/mention.ts66 viewToModelPositionOutsideModelElement( editor.model, viewElement => viewElement.name == 'placeholder' )CODE
638 more matches not shown…
Hyper-Verbose Identifiers515 hits · 522 pts
SeverityFileLineSnippetContext
LOWdocs/_snippets/shared-helpers.js110export function getViewportTopOffsetConfig() {CODE
LOWdocs/_snippets/shared-helpers.js123export function setViewportTopOffsetDynamically( editor ) {CODE
LOWdocs/_snippets/shadow-dom.js44export function createSnippetShadowRootElement( { className = '', layers } = {} ) {CODE
LOWdocs/_snippets/shadow-dom.js63async function addLayeredPageStylesToShadowRoot( shadowRoot, layerNames ) {CODE
LOWdocs/_snippets/shadow-dom.js127function deleteRulesOutsideWantedLayers( styleSheet, isWantedLayer ) {CODE
LOW⚡docs/_snippets/framework/tutorials/inline-widget.js103function getDropdownItemsDefinitions( placeholderNames ) {CODE
LOWdocs/_snippets/framework/tutorials/block-widget.js303function getClosestSelectedSimpleBoxElement( selection ) {CODE
LOWdocs/_snippets/framework/tutorials/block-widget.js329function getClosestSimpleBoxWidget( selection ) {CODE
LOWdocs/_snippets/examples/bottom-toolbar-editor.js239function overrideDropdownPositionsToNorth( editor, toolbarView ) {CODE
LOW…/getting-started/integrations-cdn/react-default-cdn.md147function CKEditorNestedInstanceDemo( { name, content } ) {CODE
LOWdocs/examples/custom/bottom-toolbar-editor.md290function overrideDropdownPositionsToNorth( editor, toolbarView ) {CODE
LOWdocs/tutorials/widgets/implementing-a-block-widget.md912function getClosestSelectedSimpleBoxElement( selection ) {CODE
LOWdocs/tutorials/widgets/implementing-a-block-widget.md1134function getClosestSimpleBoxWidget( selection ) {CODE
LOW⚡docs/tutorials/widgets/implementing-an-inline-widget.md492function getDropdownItemsDefinitions( placeholderNames ) {CODE
LOWdocs/assets/global.js44function createClipboardInputNotification() {CODE
LOWdocs/assets/global.js73function getViewportTopOffsetConfig() {CODE
LOW…-indent/src/integrations/indentblocklistintegration.ts331function listBlockIndentUpcastConverter(CODE
LOW…-indent/src/integrations/indentblocklistintegration.ts380function ensureIndentValuesConsistency(CODE
LOWpackages/ckeditor5-enter/src/shiftenter.ts106function removeStaleSoftBreakAttributes( writer: ModelWriter ): boolean {CODE
LOWpackages/ckeditor5-emoji/tests/emojimention.js20function mockEmojiRepositoryValues( editor ) {CODE
LOWpackages/ckeditor5-emoji/tests/emojipicker.js20function mockEmojiRepositoryValues( editor ) {CODE
LOWpackages/ckeditor5-emoji/tests/emojirepository.js809 async function createDefinitionsTestEditor( editorConfig ) {CODE
LOWpackages/ckeditor5-style/src/styleutils.ts328function normalizedStyleDefinitionToMatcherPattern( { element, classes }: StyleDefinition ): MatcherObjectPattern {CODE
LOWpackages/ckeditor5-style/src/stylecommand.ts258function getDefinitionExclusiveClasses(CODE
LOW…-editing/docs/_snippets/features/restricted-editing.js100async function startRestrictedEditingMode() {CODE
LOW…editor5-restricted-editing/manual/restrictedediting.ts94async function startRestrictedEditingMode() {CODE
LOW…5-restricted-editing/manual/restrictedediting-focus.ts58async function startRestrictedEditingMode() {CODE
LOW…-editing/src/restrictededitingexceptionblockcommand.ts201function findExceptionContentBlock( element: ModelElement ): ModelElement | null {CODE
LOW…5-restricted-editing/src/standardeditingmodeediting.ts199function registerFallbackUpcastConverter( editor: Editor ) {CODE
LOW…restricted-editing/src/restrictededitingmodeediting.ts561function isDeleteCommandOnMarkerBoundaries( commandName: string, selection: ModelDocumentSelection, markerRange: ModelRaCODE
LOW…restricted-editing/src/restrictededitingmodeediting.ts621function disallowInputExecForWrongRange( editor: Editor ): GetCallback<InsertTextCommandExecuteEvent> {CODE
LOW…restricted-editing/src/restrictededitingmodeediting.ts638function isRangeInsideSingleMarker( editor: Editor, range: ModelRange ) {CODE
LOW…restricted-editing/src/restrictededitingmodeediting.ts653function ensureNewMarkerIsFlatPostFixer( editor: Editor ): ModelPostFixer {CODE
LOW…ricted-editing/src/restrictededitingmode/converters.ts40export function setupExceptionHighlighting( editor: Editor ): void {CODE
LOW…ricted-editing/src/restrictededitingmode/converters.ts96export function resurrectCollapsedMarkerPostFixer( editor: Editor ): ModelPostFixer {CODE
LOW…ricted-editing/src/restrictededitingmode/converters.ts120export function extendMarkerOnTypingPostFixer( editor: Editor ): ModelPostFixer {CODE
LOW…-restricted-editing/src/restrictededitingmode/utils.ts37export function isPositionInRangeBoundaries( range: ModelRange, position: ModelPosition ): boolean {CODE
LOWpackages/ckeditor5-utils/tests/_utils/trustedtypes.js17export function stubTrustedTypesEnforcement() {CODE
LOWpackages/ckeditor5-utils/tests/_utils/utils.js99export function expectToThrowCKEditorError( fn, message, editorThatShouldBeFindableFromContext, data ) {CODE
LOWpackages/ckeditor5-utils/tests/_utils/utils.js123export async function expectToRejectWithCKEditorError( promise, message, editorThatShouldBeFindableFromContext, data ) {CODE
LOW…es/ckeditor5-utils/tests/_utils/syntheticshadowroot.js28export function createSyntheticShadowRoot( host ) {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js209 function testWithoutAncestorOffset() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js339 function testWithOffsetAndAlignToTop() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js339 function testWithOffsetAndAlignToTop() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js404 function testWithOffsetAndAlignToTopAndForceScroll() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js404 function testWithOffsetAndAlignToTopAndForceScroll() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js1036 function testWithViewportAndAncestorOffsets() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js1110 function testWithAlignToTopAndNoOffsets() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js1184 function testWithAlignToTopAndOffsets() {CODE
LOWpackages/ckeditor5-utils/tests/dom/scroll.js1258 function testWithAlignToTopOffsetsAndForceScroll() {CODE
LOWpackages/ckeditor5-utils/tests/dom/rect.js1646 function expectAbsoluteRectToKeepElementInPlace( element ) {CODE
LOW…ckages/ckeditor5-utils/tests/dom/shadowrootregistry.js31 function createConnectedShadowNode( { mode = 'open', node = document.createElement( 'div' ) } = {} ) {CODE
LOW…ckages/ckeditor5-utils/tests/dom/shadowrootregistry.js732 function createConnectedShadowNode( { mode = 'open' } = {} ) {CODE
LOW…ckages/ckeditor5-utils/tests/dom/shadowrootregistry.js899 function createConnectedShadowNode() {CODE
LOW…kages/ckeditor5-utils/tests/dom/getelementfrompoint.js319 function removeShadowRootElementFromPoint() {CODE
LOW…kages/ckeditor5-utils/tests/dom/getelementfrompoint.js368 function createNestedShadowElement( mode ) {CODE
LOW…kages/ckeditor5-utils/tests/dom/getelementfrompoint.js387 function createSiblingShadowElement( mode, top ) {CODE
LOWpackages/ckeditor5-utils/tests/dom/position.js1078function setElementTargetPlayground() {CODE
LOWpackages/ckeditor5-utils/tests/dom/position.js1119function setElementTargetLimiterPlayground() {CODE
LOWpackages/ckeditor5-utils/tests/dom/position.js1169function setElementTargetBigLimiterPlayground() {CODE
455 more matches not shown…
Decorative Section Separators69 hits · 260 pts
SeverityFileLineSnippetContext
MEDIUMpackages/ckeditor5-list/src/list/listediting.ts398 // ├───────────────────────────┼───────────────────────────┼───────────────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts647 // ┌─────────────────────┬───────────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts649 // ├─────────────────────┼───────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts651 // ├─────────────────────┼───────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts653 // ├─────────────────────┼───────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts655 // ├─────────────────────┼───────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts658 // ├─────────────────────┼───────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts661 // ├─────────────────────┼───────────────────┤COMMENT
MEDIUM⚡packages/ckeditor5-list/src/list/listediting.ts664 // └─────────────────────┴───────────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts67// ┌──────────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts69// └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts71// └─────────────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts73// │ ┌─────────V────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts75// │ └──────────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts77// ┌─────────V────────┐ Retrieves the selected model.DocumentFragmentCOMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts79// └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts81// ┌─────────V────────┐ Processes view.DocumentFragment to text/html and text/plainCOMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts83// └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts86// ┌────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts88// ┌─────────V────────┐ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts90// └─────────┬────────┘ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts92// ┌─────────────└────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts94// │ ┌─────────V────────┐ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts96// │ └─────────┬────────┘ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts98// ┌───│─────────────┘ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts100// │ │ ┌─────────V────────┐ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts102// │ │ └─────────┬────────┘ │COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts104// │ │ └────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts106// │ └─────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts108// │ │ ┌─────────V────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts110// │ └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts112// │ ┌─────────V────────┐ Resolves the final data.targetRanges.COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts114// │ └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts116// │ ┌─────────V────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts118// │ └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts120// │ ┌───────────V───────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts122// │ └───────────┬───────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts124// │ ┌──────────V──────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts126// │ └──────────┬──────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts128// │ ┌──────────V──────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts130// │ └──────────┬──────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts132// │ ┌──────────V──────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts134// │ └──────────┬──────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts136// └─────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts138// ┌─────────V────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/dragdrop.ts140// └──────────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts39// ┌──────────────────────┐ ┌──────────────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts42// └───────────┬──────────┘ └───────────┬──────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts44// └────────────────┌────────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts46// ┌─────────V────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts49// └─────────┬────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts51// ┌───────────V───────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts54// └───────────┬───────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts56// ┌──────────V──────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts59// └─────────────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts64// ┌──────────────────────┐ ┌──────────────────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts67// └───────────┬──────────┘ └───────────┬──────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts69// └────────────────┌────────────────┘COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts71// ┌───────────V───────────┐COMMENT
MEDIUM⚡packages/ckeditor5-clipboard/src/clipboardpipeline.ts74// └───────────┬───────────┘COMMENT
9 more matches not shown…
Over-Commented Block276 hits · 252 pts
SeverityFileLineSnippetContext
LOWdocs/tutorials/widgets/implementing-a-block-widget.md841 inheritAllFrom: '$blockObject',COMMENT
LOWpackages/ckeditor5-enter/src/shiftentercommand.ts101 insertBreak( model, writer, range.end, selection.getAttributes() );COMMENT
LOWpackages/ckeditor5-utils/tests/focustracker.js561 childViewA.element.remove();COMMENT
LOWpackages/ckeditor5-utils/tests/dom/position.js1061 }COMMENT
LOWpackages/ckeditor5-utils/tests/dom/position.js1101// | |COMMENT
LOWpackages/ckeditor5-utils/tests/dom/position.js1141 bottom: 110,COMMENT
LOWpackages/ckeditor5-utils/src/focustracker.ts341COMMENT
LOWpackages/ckeditor5-utils/src/focustracker.ts361// @if CK_DEBUG_FOCUSTRACKER // ): string {COMMENT
LOWpackages/ckeditor5-utils/src/focustracker.ts381// @if CK_DEBUG_FOCUSTRACKER // console.groupEnd();COMMENT
LOWpackages/ckeditor5-utils/src/focustracker.ts401// @if CK_DEBUG_FOCUSTRACKER // }COMMENT
LOWpackages/ckeditor5-utils/src/collection.ts581 //COMMENT
LOWpackages/ckeditor5-utils/src/fastdiff.ts161COMMENT
LOWpackages/ckeditor5-utils/src/emittermixin.ts761 // Note, that we might need to create intermediate events too.COMMENT
LOWpackages/ckeditor5-utils/src/observablemixin.ts381 } );COMMENT
LOWpackages/ckeditor5-utils/src/observablemixin.ts401 // } )COMMENT
LOWpackages/ckeditor5-utils/src/observablemixin.ts421 // { observable: A, property: 'd', to: [ [ B, 'z' ], [ C, 'w' ] ], callback: callback }COMMENT
LOWpackages/ckeditor5-utils/src/observablemixin.ts441 // Map( {COMMENT
LOWpackages/ckeditor5-utils/src/dom/position.ts21// @if CK_DEBUG_POSITION // const TARGET_RECT_STYLE = {COMMENT
LOWpackages/ckeditor5-utils/src/dom/rect.ts601 let moveX = 0;COMMENT
LOW…itor5-image/docs/framework/deep-dive/upload-adapter.md361// The rest of the MyUploadAdapter class definition.COMMENT
LOW…ckages/ckeditor5-editor-classic/src/classiceditorui.ts101COMMENT
LOW…or5-markdown-gfm/tests/gfmdataprocessor/blockquotes.js141 '>\n' +COMMENT
LOWpackages/ckeditor5-widget/src/widget.ts101 const view = editor.editing.view;COMMENT
LOWpackages/ckeditor5-widget/src/widget.ts181 // If mouse down is pressed on widget - create selection over whole widget.COMMENT
LOWpackages/ckeditor5-widget/src/widgetresize/resizer.ts361 *COMMENT
LOWpackages/ckeditor5-editor-inline/src/inlineeditorui.ts81 // Mark the main editing root (adds `ck-editor__editable_root`) so themes can target it withoutCOMMENT
LOWpackages/ckeditor5-bookmark/src/bookmarkui.ts561COMMENT
LOW…s/ckeditor5-editor-multi-root/src/multirooteditorui.ts121 const editableElement = editable.element!;COMMENT
LOW…itor5-fullscreen/src/handlers/abstracteditorhandler.ts381 this._saveAncestorsScrollPositions( this._editor.ui.getEditableElement()! );COMMENT
LOW…s/ckeditor5-list/tests/legacylist/legacylistcommand.js201 // 9 * -------- <- this should still be a child of item above, so indent = 1.COMMENT
LOW…s/ckeditor5-list/tests/legacylist/legacylistcommand.js441 '<listItem listIndent="1" listType="numbered">---</listItem>' +COMMENT
LOW…t/tests/legacylistproperties/legacyliststylecommand.js421 } );COMMENT
LOW…or5-list/tests/listproperties/listpropertiesediting.js621 it( 'should ensure that all item in a single list have the same `listReversed` attribute', () => {COMMENT
LOW…or5-list/tests/listproperties/listpropertiesediting.js921 # 4.1. {start:3}COMMENT
LOW…or5-list/tests/listproperties/listpropertiesediting.js1061 # 1a. {start:2}COMMENT
LOW…keditor5-list/tests/listproperties/liststartcommand.js361 //COMMENT
LOW…keditor5-list/tests/listproperties/liststartcommand.js381 # 3.1. {start:4}COMMENT
LOW…itor5-list/tests/listproperties/listreversedcommand.js341 listReversedCommand.execute( { reversed: false } );COMMENT
LOW…itor5-list/tests/listproperties/listreversedcommand.js361 // [X] ▶ 2.1.1.]COMMENT
LOW…keditor5-list/tests/listproperties/liststylecommand.js321 // "2.1.1" a child list of the "2.1" element (listIndent=2)COMMENT
LOW…ges/ckeditor5-list/src/legacylist/legacylistcommand.ts81 // Correct indent of all items after the last turned off item.COMMENT
LOW…ges/ckeditor5-list/src/legacylist/legacylistcommand.ts101 // 12 * -------- <-- this and all below are left unchanged.COMMENT
LOW…ges/ckeditor5-list/src/legacylist/legacylistcommand.ts121 // 13 * --------COMMENT
LOW…ges/ckeditor5-list/src/legacylist/legacylistcommand.ts161 // Changing one nested list item to other type should also trigger changing all its siblings so theCOMMENT
LOW…ges/ckeditor5-list/src/legacylist/legacylistcommand.ts281 isBackward: boolean,COMMENT
LOWpackages/ckeditor5-list/src/legacylist/legacyutils.ts321 // If found something else than `listItem`, we're out of the list scope.COMMENT
LOWpackages/ckeditor5-list/src/legacylist/legacyutils.ts341 // ○ List item 3. [listIndent=1]COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts261 if ( data.item.name != 'listItem' ) {COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts281 // Insert paragraph after item 1.1.1:COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts301 // 1.1 --------COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts881 // If this is a list, we expect that some `listItem`s and possibly other blocks will be inserted, however `.modelCursCOMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts901 //COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts981 // Lorem ipsum.COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts1001 // 1.1 --------COMMENT
LOW…ages/ckeditor5-list/src/legacylist/legacyconverters.ts1021 // 1.1 -------- <--- this is removed, previous list item has indent smaller than reference indent.COMMENT
LOW…rc/legacylistproperties/legacylistpropertiesediting.ts521 // ○ List item 2.COMMENT
LOW…rc/legacylistproperties/legacylistpropertiesediting.ts681 // attributes for inserted (pasted) items. See https://github.com/ckeditor/ckeditor5/issues/8160.COMMENT
LOW…itor5-list/src/legacytodolist/legacytodolistediting.ts141COMMENT
LOWpackages/ckeditor5-list/src/list/converters.ts841 // The <li> uses a fixed ID per indent (`list-item-skip-N`) so that sibling items sharingCOMMENT
LOWpackages/ckeditor5-list/src/list/listediting.ts641 //COMMENT
216 more matches not shown…
Verbosity Indicators51 hits · 73 pts
SeverityFileLineSnippetContext
LOW…ckages/ckeditor5-widget/src/widgettoolbarrepository.ts115 // UI#update is not fired after focus is back in editor, we need to check if balloon panel should be visible.COMMENT
LOWpackages/ckeditor5-typing/src/twostepcaretmovement.ts443 // We need to check if the caret is a one position before the attribute boundary:COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js636 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js642 // Step 3: <p>foo{}<b></b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js658 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js668 // Step 1: <p>"FILLER{}"<b>foo</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js691 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js695 // Step 3: <p><b>{}foo</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js711 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js721 // Step 1: <p>"FILLER{}"<b>foo</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js743 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js747 // Step 3: <p><b>{}foo</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js763 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js771 // Step 1: <p>"FILLER{}"<b>foo</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js794 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js798 // Step 3: <p><b>foo{}</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js814 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js823 // Step 1: <p><br>{}</p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js845 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js849 // Step 3: <p>{}<br></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js864 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js874 // Step 1: <p>"FILLER{}"<b>foo</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js896 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js900 // Step 3: <p><b>foo{}</b></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1004 // Step 2: Add text node.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1012 // Step 3: Remove selection from the view.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1040 // Step 2: Remove the <b> and update the selection (<p>bar[]</p>).COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1048 // Step 3: Check whether there's no filler in the DOM.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1055 // Step 1: <p><b>foo</b>"FILLER{}"<b>bar</b></p><p></p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1122 // Step 3: Check whether new filler was created in the <i> element.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1131 // Step 1: <p>bar<b>abc</b>"FILLER"{}</p>COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1143 // Step 2: Move selection to a new attribute element.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1152 // Step 3: Check whether old filler was removed.COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js609 // Step 1: <p>foo<b>"FILLER{}"</b></p>COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js916 // Step 4: No mutation on second renderCOMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js951 // Step 1: <p>foo<b>"FILLER{}"</b></p>COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js972 // Step 2: <p>foo<b></b><i>"FILLER{}"</i></p>COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js988 // Step 1: <p>foo<b>"FILLER{}"</b></p>COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1028 // Step 1: <p>bar<b>foo</b>"FILLER{}"</p>COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1072 // Step 2: Move <b>foo</b><b>bar</b> to the second paragraph and leave collapsed selection in the first one.COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1086 // Step 3: Check whether in the first paragraph there's a <br> filler and thatCOMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1099 // Step 1: <p>bar<b>"FILLER{}"</b></p>COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1111 // Step 2: Move selection to a new attribute element and remove the previous oneCOMMENT
LOWpackages/ckeditor5-engine/src/model/writer.ts204 // We need to check if item is going to be inserted within the same document.COMMENT
LOW…ages/ckeditor5-engine/src/model/utils/deletecontent.ts221 // So we need to check if there is no content in the skipped range (because we want to include the <imageBlock>).COMMENT
LOW…ges/ckeditor5-engine/src/conversion/downcasthelpers.ts2662 // For insert or remove use parent element because we need to check if it's added/removed child.COMMENT
LOWpackages/ckeditor5-engine/src/view/downcastwriter.ts1084 // We need to check if parent of this text matches to given element.COMMENT
LOWpackages/ckeditor5-engine/src/view/downcastwriter.ts1097 // We need to check if element range stick out of the given range and truncate if it is.COMMENT
LOWpackages/ckeditor5-table/src/tableutils.ts896 // This check is needed since we need to check if there are any cells from previous rows than spans over this cell'sCOMMENT
LOW⚡…ditor5-table/src/converters/table-layout-post-fixer.ts273 // Step 1: correct rowspans of table cells if necessary.COMMENT
LOW⚡…ditor5-table/src/converters/table-layout-post-fixer.ts276 // Step 2: fix table rows sizes.COMMENT
Structural Annotation Overuse40 hits · 60 pts
SeverityFileLineSnippetContext
LOWdocs/updating/migration-to-cdn/angular.md27### Step 1: Remove CKEditor&nbsp;5 importsCOMMENT
LOWdocs/updating/migration-to-cdn/angular.md36### Step 2: Update your Angular components to use CDNCOMMENT
LOWdocs/updating/migration-to-cdn/vuejs-v3.md27### Step 1: Remove CKEditor&nbsp;5 importsCOMMENT
LOWdocs/updating/migration-to-cdn/vuejs-v3.md36### Step 2: Update your Vue components to use CDNCOMMENT
LOWdocs/updating/migration-to-cdn/react.md29#### Step 1: Remove CKEditor&nbsp;5 importsCOMMENT
LOWdocs/updating/migration-to-cdn/react.md38#### Step 2: Use `useCKEditorCloud` hook to load CKEditor&nbsp;5 from CDNCOMMENT
LOWdocs/updating/migration-to-cdn/react.md209#### Step 1: Remove CKEditor&nbsp;5 importsCOMMENT
LOWdocs/updating/migration-to-cdn/react.md218#### Step 2: Use `useCKEditorCloud` hook to load CKEditor&nbsp;5 Context from CDNCOMMENT
LOWdocs/updating/migration-to-cdn/react.md337#### Step 1: Remove CKEditor&nbsp;5 importsCOMMENT
LOWdocs/updating/migration-to-cdn/react.md346#### Step 2: Use `withCKEditorCloud` HOC to load CKEditor&nbsp;5 from CDNCOMMENT
LOWdocs/updating/migration-to-cdn/testing-suite.md19### Step 1: Remove CKEditor&nbsp;5 importsCOMMENT
LOWdocs/updating/migration-to-cdn/testing-suite.md28### Step 2: Update your test files to use CDNCOMMENT
LOWdocs/updating/migration-to-cdn/vanilla-js.md23### Step 1: Update your HTML fileCOMMENT
LOWdocs/updating/migration-to-cdn/vanilla-js.md48### Step 2: Replace CKEditor&nbsp;5 imports with `window.CKEDITOR`COMMENT
LOWdocs/updating/migration-to-cdn/vanilla-js.md90### Step 1: Install the `@ckeditor/ckeditor5-integrations-common` PackageCOMMENT
LOWdocs/updating/migration-to-cdn/vanilla-js.md98### Step 2: Replace CKEditor&nbsp;5 ImportsCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js636 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js658 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js691 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js711 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js743 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js763 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js794 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js814 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js845 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js864 // Step 4: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js896 // Step 2: No mutation on second renderCOMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1004 // Step 2: Add text node.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1012 // Step 3: Remove selection from the view.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1040 // Step 2: Remove the <b> and update the selection (<p>bar[]</p>).COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1048 // Step 3: Check whether there's no filler in the DOM.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1122 // Step 3: Check whether new filler was created in the <i> element.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1143 // Step 2: Move selection to a new attribute element.COMMENT
LOW⚡packages/ckeditor5-engine/tests/view/renderer.js1152 // Step 3: Check whether old filler was removed.COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js916 // Step 4: No mutation on second renderCOMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1072 // Step 2: Move <b>foo</b><b>bar</b> to the second paragraph and leave collapsed selection in the first one.COMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1086 // Step 3: Check whether in the first paragraph there's a <br> filler and thatCOMMENT
LOWpackages/ckeditor5-engine/tests/view/renderer.js1111 // Step 2: Move selection to a new attribute element and remove the previous oneCOMMENT
LOW⚡…ditor5-table/src/converters/table-layout-post-fixer.ts273 // Step 1: correct rowspans of table cells if necessary.COMMENT
LOW⚡…ditor5-table/src/converters/table-layout-post-fixer.ts276 // Step 2: fix table rows sizes.COMMENT
Self-Referential Comments10 hits · 32 pts
SeverityFileLineSnippetContext
MEDIUMpackages/ckeditor5-editor-classic/src/classiceditor.ts173 * # Creating a detached editorCOMMENT
MEDIUMpackages/ckeditor5-editor-classic/src/classiceditor.ts256 * # Creating a detached editorCOMMENT
MEDIUMpackages/ckeditor5-editor-inline/src/inlineeditor.ts166 * # Creating a detached editorCOMMENT
MEDIUMpackages/ckeditor5-editor-inline/src/inlineeditor.ts249 * # Creating a detached editorCOMMENT
MEDIUM…ges/ckeditor5-editor-multi-root/src/multirooteditor.ts900 * # Creating a detached editorCOMMENT
MEDIUM⚡…ges/ckeditor5-editor-multi-root/src/multirooteditor.ts1033 * # Creating a detached editorCOMMENT
MEDIUMpackages/ckeditor5-editor-balloon/src/ballooneditor.ts166 * # Creating a detached editorCOMMENT
MEDIUMpackages/ckeditor5-editor-balloon/src/ballooneditor.ts255 * # Creating a detached editorCOMMENT
MEDIUM…ages/ckeditor5-editor-decoupled/src/decouplededitor.ts190 * # Creating a detached editorCOMMENT
MEDIUM…ages/ckeditor5-editor-decoupled/src/decouplededitor.ts285 * # Creating a detached editorCOMMENT
Synthetic Comment Markers2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHCHANGELOG.md351* **[ai](https://www.npmjs.com/package/@ckeditor/ckeditor5-ai)**: Removed normalization of AI-generated content through COMMENT
HIGHdocs/updating/update-to-48.md43### AI-generated suggestions in track changes (⭐)COMMENT
AI Response Leakage1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/getting-started/setup/ui-language.md144Configure {@link module:core/editor/editorconfig~EditorConfig#language `config.language`} to change the language of the CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
LOW…itor5-fullscreen/src/handlers/abstracteditorhandler.ts53 * The only method that is necessary to provide when extending this class is {@link #defaultOnEnter}. However, make sureCOMMENT
MEDIUM…ages/ckeditor5-engine/src/model/operation/transform.ts1836 // Note that this is a simplified version of default case, but here we treat the common part (whole `rangeA`)COMMENT
Modern AI Meta-Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMdocs/getting-started/integrations/jquery.md19 To set up the editor from npm, you need a bundler to build the JavaScript files correctly. CKEditor&nbsp;5 is compatiblCODE
MEDIUMdocs/getting-started/integrations/quick-start.md18 To set up the editor from npm, you need a bundler to build the JavaScript files correctly. CKEditor 5 is compatible witCODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackages/ckeditor5-cloud-services/manual/token.ts39function handleRequest( xhr: XMLHttpRequest, resolve: any, reject: any ) {CODE
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…ckages/ckeditor5/tests/_data/full-websites-styled.html2977 style="color:#2980b9;">. Now, let&rsquo;s just add some toolbar with stylish buttons toCODE