Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate CKEditor 5 to TypeScript MVP #11708

Closed
arkflpc opened this issue May 5, 2022 · 1 comment
Closed

Migrate CKEditor 5 to TypeScript MVP #11708

arkflpc opened this issue May 5, 2022 · 1 comment
Labels
domain:ts Epic squad:core Issue to be handled by the Core team.

Comments

@arkflpc
Copy link
Contributor

arkflpc commented May 5, 2022

It's not feasible to reimplement all the code-base of CKEditor5 in TypeScript in one go. We should start with something that meets the main goals of #11704 and let us build upon that.

Proposed scope:

  • rewrite some packages to TypeScript,
  • make those packages tested by automated tests (tests can stay in JS),
  • make those packages testable by manual tests,
  • configure linter rules for TS,
  • configure DLL builds,
  • automatically generate documentation from TS files in the same way as from JS files (i.e. JsDoc),
  • generate npm package, so it can be used in backward-compatible manner (if possible),
  • include typings in npm package

The packages to rewrite should be:

  • utils (because it's the bottom of the whole dependency chain, and it doesn't change often)
  • engine
  • core
  • essentials plugins (as a model how to consume engine & utils types)

We should aim for statically-typed editor config that covers every other plugin in CKEditor5 (and be extendable by custom plugins if possible)

ToC

@arkflpc arkflpc added squad:core Issue to be handled by the Core team. Epic labels May 5, 2022
@arkflpc arkflpc changed the title Migrate CKEditor 5 to typescript MVP Migrate CKEditor 5 to TypeScript MVP May 6, 2022
@arkflpc
Copy link
Contributor Author

arkflpc commented May 6, 2022

The rationale for including essential plugins is: if we actually use the basic API (utils, engine, core) in plugins, we can find out that some types have to be rewritten to meet real-world use cases. So we'd be far from declaring it stable.

@CKEditorBot CKEditorBot added the status:in-progress Set automatically when an issue lands in the "In progress" column. We are working on it. label May 10, 2022
@arkflpc arkflpc closed this as completed Dec 16, 2022
@CKEditorBot CKEditorBot removed the status:in-progress Set automatically when an issue lands in the "In progress" column. We are working on it. label Dec 16, 2022
@Reinmar Reinmar added this to the iteration 59 (v35.4.0) milestone Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:ts Epic squad:core Issue to be handled by the Core team.
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

3 participants