@ckeditor/ckeditor5-engine 43.3.1 → 44.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,10 +3,22 @@ CKEditor 5 editing engine
3
3
 
4
4
  [![npm version](https://badge.fury.io/js/%40ckeditor%2Fckeditor5-engine.svg)](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/ckeditor/ckeditor5/badge.svg?branch=master)](https://coveralls.io/github/ckeditor/ckeditor5?branch=master)
6
- [![Build Status](https://travis-ci.com/ckeditor/ckeditor5.svg?branch=master)](https://app.travis-ci.com/github/ckeditor/ckeditor5)
6
+ [![CircleCI](https://circleci.com/gh/ckeditor/ckeditor5.svg?style=shield)](https://app.circleci.com/pipelines/github/ckeditor/ckeditor5?branch=master)
7
7
 
8
8
  The CKEditor 5 editing engine implements a flexible MVC-based architecture for creating rich text editing features.
9
9
 
10
+ ## Installation
11
+
12
+ This plugin is part of the `ckeditor5` package. Install the whole package to use it.
13
+
14
+ ```bash
15
+ npm install ckeditor5
16
+ ```
17
+
18
+ ## Create free account
19
+
20
+ If you want to check full CKEditor 5 capabilities, sign up for a [free non-commitment 14-day trial](https://portal.ckeditor.com/signup).
21
+
10
22
  ## Architecture overview
11
23
 
12
24
  * **Custom data model.** CKEditor 5 implements a tree-structured custom data model, designed to fit multiple requirements such as enabling real-time collaboration and complex editing features (like tables or nested blocks).
@@ -25,12 +37,6 @@ For a general introduction see the [Overview of CKEditor 5 Framework](https
25
37
 
26
38
  Additionally, refer to the [`@ckeditor/ckeditor5-engine` package](https://ckeditor.com/docs/ckeditor5/latest/api/engine.html) page in [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/) for even more information.
27
39
 
28
- ## Installation
29
-
30
- ```bash
31
- npm install ckeditor5
32
- ```
33
-
34
40
  ## License
35
41
 
36
42
  Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html). For full details about the license, please check the `LICENSE.md` file or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license).
package/dist/index.d.ts CHANGED
@@ -54,7 +54,7 @@ export type { default as Differ, DiffItem, DiffItemAttribute, DiffItemInsert, Di
54
54
  export type { default as Item } from './model/item.js';
55
55
  export type { default as Node, NodeAttributes } from './model/node.js';
56
56
  export type { default as RootElement } from './model/rootelement.js';
57
- export type { default as Schema, SchemaAttributeCheckCallback, SchemaChildCheckCallback, AttributeProperties, SchemaItemDefinition, SchemaContext } from './model/schema.js';
57
+ export type { default as Schema, SchemaAttributeCheckCallback, SchemaChildCheckCallback, AttributeProperties, SchemaItemDefinition, SchemaContext, SchemaContextDefinition } from './model/schema.js';
58
58
  export type { default as Selection, Selectable } from './model/selection.js';
59
59
  export type { default as TypeCheckable } from './model/typecheckable.js';
60
60
  export type { default as Writer } from './model/writer.js';
package/dist/index.js CHANGED
@@ -7709,7 +7709,9 @@ const validNodesToInsert = [
7709
7709
  // Note: It is important to first remove DOM attributes and then set new ones, because some view attributes may be renamed
7710
7710
  // as they are set on DOM (due to unsafe attributes handling). If we set the view attribute first, and then remove
7711
7711
  // non-existing DOM attributes, then we would remove the attribute that we just set.
7712
- for (const domAttr of domElement.attributes){
7712
+ //
7713
+ // Note: The domElement.attributes is a live collection, so we need to convert it to an array to avoid issues.
7714
+ for (const domAttr of Array.from(domElement.attributes)){
7713
7715
  const key = domAttr.name;
7714
7716
  // All other attributes not present in the DOM should be removed.
7715
7717
  if (!viewElement.hasAttribute(key)) {