Open rafaelpadu opened 11 months ago
Hi, sorry for the late reply! Why are you declaring the typings? We are shipping packages with full TypeScript support right now.
I have this same issue, with no custom types declared. I only got this error once I updated from angular 16 to angular 17 and ckeditor from 40.0 to 40.1.
On a first ng serve I don't get any error, but when live reload runs (or an ng build) I get this error:
Error: ../ckeditor5-custom-build/node_modules/@ckeditor/ckeditor5-editor-classic/src/classiceditor.d.ts:39:14 - error TS2416: Property 'ui' in type 'ClassicEditor' is not assignable to the same property in base type 'DataApi & ElementApi & Editor'.
Type 'ClassicEditorUI' is not assignable to type 'EditorUI'.
The types of 'editor.commands' are incompatible between these types.
Type 'import("/Users/timmyrosen/www/aware-admin-v3/node_modules/@ckeditor/ckeditor5-core/src/commandcollection").default' is not assignable to type 'import("/Users/timmyrosen/www/aware-admin-v3/node_modules/@ckeditor/ckeditor5-ui/node_modules/@ckeditor/ckeditor5-core/src/commandcollection").default'.
Types have separate declarations of a private property '_commands'.
39 readonly ui: ClassicEditorUI;
~~
My project package.json:
dependencies:
"@ckeditor/ckeditor5-angular": "^7.0.1",
"@ckeditor/ckeditor5-core": "^40.1.0",
"@ckeditor/ckeditor5-engine": "^40.1.0",
"@ckeditor/ckeditor5-utils": "^40.1.0",
"@ckeditor/ckeditor5-watchdog": "^40.1.0",
devDependencies:
"ckeditor5": "^40.1.0",
My editor build package.json:
"dependencies": {
"@ckeditor/ckeditor5-alignment": "^40.1.0",
"@ckeditor/ckeditor5-autoformat": "^40.1.0",
"@ckeditor/ckeditor5-basic-styles": "^40.1.0",
"@ckeditor/ckeditor5-block-quote": "^40.1.0",
"@ckeditor/ckeditor5-editor-classic": "^40.1.0",
"@ckeditor/ckeditor5-essentials": "^40.1.0",
"@ckeditor/ckeditor5-font": "^40.1.0",
"@ckeditor/ckeditor5-heading": "^40.1.0",
"@ckeditor/ckeditor5-highlight": "^40.1.0",
"@ckeditor/ckeditor5-horizontal-line": "^40.1.0",
"@ckeditor/ckeditor5-image": "^40.1.0",
"@ckeditor/ckeditor5-indent": "^40.1.0",
"@ckeditor/ckeditor5-link": "^40.1.0",
"@ckeditor/ckeditor5-list": "^40.1.0",
"@ckeditor/ckeditor5-media-embed": "^40.1.0",
"@ckeditor/ckeditor5-paragraph": "^40.1.0",
"@ckeditor/ckeditor5-paste-from-office": "^40.1.0",
"@ckeditor/ckeditor5-remove-format": "^40.1.0",
"@ckeditor/ckeditor5-select-all": "^40.1.0",
"@ckeditor/ckeditor5-source-editing": "^40.1.0",
"@ckeditor/ckeditor5-table": "^40.1.0",
"@ckeditor/ckeditor5-typing": "^40.1.0"
},
"devDependencies": {
"@ckeditor/ckeditor5-dev-translations": "^39.3.0",
"@ckeditor/ckeditor5-dev-utils": "^39.3.0",
"@ckeditor/ckeditor5-theme-lark": "^40.1.0",
"css-loader": "^5.2.7",
"postcss": "^8.4.31",
"postcss-loader": "^4.3.0",
"raw-loader": "^4.0.2",
"style-loader": "^2.0.0",
"terser-webpack-plugin": "^4.2.3",
"ts-loader": "^9.4.4",
"typescript": "^4.9.5",
"webpack": "^5.88.2",
"webpack-cli": "^4.10.0"
},
If I only update angular from 16 to 17 but stay on v40.0 of ckeditor, I get this error:
Error: node_modules/@appbolaget/ckeditor5-custom-build/build/ckeditor.d.ts:24:15 - error TS2417: Class static side 'typeof Editor' incorrectly extends base class static side 'typeof ClassicEditor'.
Types of property 'builtinPlugins' are incompatible.
Type '(typeof BlockQuote | typeof SelectAll | typeof Essentials | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | ... 23 more ... | typeof AwareMediaPlugin)[]' is not assignable to type 'PluginConstructor<Editor>[]'.
Type 'typeof BlockQuote | typeof SelectAll | typeof Essentials | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | ... 23 more ... | typeof AwareMediaPlugin' is not assignable to type 'PluginConstructor<Editor>'.
Type 'typeof AwareMediaPlugin' is not assignable to type 'PluginConstructor<Editor>'.
Type 'typeof AwareMediaPlugin' is not assignable to type 'PluginClassConstructor<Editor> & PluginStaticMembers<Editor>'.
Type 'typeof AwareMediaPlugin' is not assignable to type 'PluginClassConstructor<Editor>'.
Types of construct signatures are incompatible.
Type 'new (editor: Editor) => AwareMediaPlugin' is not assignable to type 'new (editor: Editor) => PluginInterface'.
Types of parameters 'editor' and 'editor' are incompatible.
Type 'import("/Users/timmyrosen/www/aware-admin-v3/node_modules/@ckeditor/ckeditor5-editor-classic/node_modules/@ckeditor/ckeditor5-core/src/editor/editor").default' is not assignable to type 'import("/Users/timmyrosen/www/aware-admin-v3/node_modules/@ckeditor/ckeditor5-core/src/editor/editor").default'.
Types of property 'commands' are incompatible.
Type 'import("/Users/timmyrosen/www/aware-admin-v3/node_modules/@ckeditor/ckeditor5-editor-classic/node_modules/@ckeditor/ckeditor5-core/src/commandcollection").default' is not assignable to type 'import("/Users/timmyrosen/www/aware-admin-v3/node_modules/@ckeditor/ckeditor5-core/src/commandcollection").default'.
Types have separate declarations of a private property '_commands'.
24 declare class Editor extends ClassicEditor {
I'm currently running the @angular-devkit/build-angular:browser
builder but get the same error when trying the new esbuild builder.
I am trying to use CKEditor 5 in Angular 16 with a custom editor type. I am getting the error
My code is as follows:
import DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';
export class TemplateFormComponent implements OnInit {
... }
.html:
My package.json:
I also created a ckeditor.typings.d.ts:
Any thoughts?