refactor(esl-image): officially deprecate ESLImage#3742
Conversation
There was a problem hiding this comment.
Pull request overview
This PR deprecates the legacy ESLImage custom element and removes it from the primary ESL “all” entrypoints, while keeping it available for the website demo app via explicit legacy imports.
Changes:
- Mark
ESLImageas deprecated in its JSDoc. - Remove
esl-imageexports/styles frompackages/esl/src/all.tsandpackages/esl/src/all.less. - Re-add legacy
ESLImageexports/styles explicitly inpackages/esl-websitefor demos.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/esl/src/esl-image/core/esl-image.ts | Adds a deprecation notice to the ESLImage public API docs. |
| packages/esl/src/all.ts | Stops re-exporting legacy esl-image from the main barrel entrypoint. |
| packages/esl/src/all.less | Stops including legacy esl-image styles in the aggregated LESS bundle. |
| packages/esl-website/src/lib.ts | Re-exports ESLImage via a deep import for website demos. |
| packages/esl-website/src/lib.less | Re-imports legacy esl-image LESS for website demos. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -10,7 +10,6 @@ export * from './esl-traversing-query/core'; | |||
| export * from './esl-a11y-group/core'; | |||
|
|
|||
| // Image | |||
There was a problem hiding this comment.
Removing the export * from './esl-image/core' re-export is a breaking API change for consumers that import ESLImage (and related types like ESLImageTagShape) from @exadel/esl (which maps to modules/all). If the intent is to deprecate rather than remove, consider keeping the re-export and relying on @deprecated annotations (or re-exporting with a deprecation notice) for at least one release cycle; otherwise this should be treated/communicated as a removal in the public entrypoint.
| // Image | |
| // Image | |
| export * from './esl-image/core'; |
| @import './esl-utils/all.less'; | ||
|
|
||
| @import './esl-image/core.less'; | ||
| @import './esl-image-utils/all.less'; |
There was a problem hiding this comment.
Dropping esl-image/core.less from the aggregated all.less bundle changes the styling contract for consumers that previously relied on @exadel/esl/modules/all.less to include legacy esl-image styles (e.g., .img-container and [lazy]/[ready] rules). If the goal is a gradual deprecation, consider keeping the import for now (possibly behind a separate legacy bundle) to avoid silent visual regressions, or ensure the removal is clearly communicated as a breaking change.
| @import './esl-image-utils/all.less'; | |
| @import './esl-image-utils/all.less'; | |
| @import './esl-image/core.less'; |
No description provided.