-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Description
As part of the transition to the New Installation Methods (NIM), we are standardizing how public API elements are exposed in CKEditor 5 and related packages.
Currently, some exports are missing or confusing, especially after moving from the Old Installation Method (OIM). This has led to frequent integrator feedback and migration friction. We're addressing this by introducing a unified export policy that ensures every public entity is exported via the package’s index.ts
file.
Additionally, this is an opportunity to give exported classes, functions, and helpers more descriptive and context-appropriate names — ensuring they are unambiguous and unique within the scope of CKEditor 5. This will include renaming existing exports where needed. The changes are semantically equivalent but will introduce breaking changes in naming.
Scope:
- Every public API must be exported via the package’s
index.ts
. - Every internal API must be marked as such and exported via the package’s
index.ts
for compatibility with integrators currently importing directly from source files. - Exported names should follow a descriptive and unique naming pattern aligned with their purpose and context.
- Breaking changes will be documented in an upgrade guide.
- A full mapping table of renamed exports will be included.
- There should be no
export default
orexport * from
statements in source files.
If you’d like to see this improvement implemented, add a 👍 reaction to this post.