feat!: drop LexicalRichText and LegacyRichText#133
Conversation
|
WalkthroughThis PR removes the rich text component infrastructure from the pages-components package. It deletes the LexicalRichText and LegacyRichText components, their associated styling definitions, Storybook stories, and all supporting utilities including image node handlers and custom Markdown syntax extensions. The richText module's public exports are removed from the main components index, and related dependencies (MDX tooling, micromark, remark-rehype, and Lexical packages) are removed from package.json. Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (39)
💤 Files with no reviewable changes (37)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
🔇 Additional comments (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/pages-components/package.json (1)
50-55: Remove the orphaned lexical peerDependency on line 51.Since no components in the package use lexical, the
"lexical": "~0.38.2"peerDependency forces consumers to install an unused package. Remove it to avoid unnecessary bloat.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (39)
packages/pages-components/CHANGELOG.mdpackages/pages-components/package.jsonpackages/pages-components/src/components/index.tspackages/pages-components/src/components/richText/DefaultStyling.tspackages/pages-components/src/components/richText/LexicalRichText.stories.tsxpackages/pages-components/src/components/richText/LexicalRichText.tsxpackages/pages-components/src/components/richText/TableCellNode.tsxpackages/pages-components/src/components/richText/default-styling.module.csspackages/pages-components/src/components/richText/imageNode/ImageNode.tsxpackages/pages-components/src/components/richText/imageNode/LexicalImage.tsxpackages/pages-components/src/components/richText/imageNode/index.tspackages/pages-components/src/components/richText/imageNode/methods.tspackages/pages-components/src/components/richText/imageNode/types.tspackages/pages-components/src/components/richText/index.tspackages/pages-components/src/components/richText/legacy/LegacyRichText.stories.tsxpackages/pages-components/src/components/richText/legacy/LegacyRichText.tsxpackages/pages-components/src/components/richText/legacy/remark-yext/handlers.tspackages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/index.tspackages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/mdast-node-types.tspackages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/strikethrough.tspackages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/subscript.tspackages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/superscript.tspackages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/underline.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/index.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/resolver-utils.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/strikethrough-subscript/index.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/strikethrough-subscript/resolver.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/strikethrough-subscript/tokenizer.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/superscript/index.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/superscript/resolver.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/superscript/tokenizer.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/underline/index.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/underline/resolver.tspackages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/underline/tokenizer.tspackages/pages-components/src/components/richText/legacy/remark-yext/remarkYext.tspackages/pages-components/src/components/richText/lexical.module.csspackages/pages-components/src/components/richText/methods.tspackages/pages-components/src/components/richText/sampleData.tspackages/pages-components/src/components/richText/types.ts
💤 Files with no reviewable changes (37)
- packages/pages-components/src/components/index.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/underline/index.ts
- packages/pages-components/src/components/richText/legacy/LegacyRichText.tsx
- packages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/index.ts
- packages/pages-components/src/components/richText/DefaultStyling.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/superscript.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/underline/resolver.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/strikethrough-subscript/index.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/index.ts
- packages/pages-components/src/components/richText/methods.ts
- packages/pages-components/src/components/richText/TableCellNode.tsx
- packages/pages-components/src/components/richText/legacy/remark-yext/remarkYext.ts
- packages/pages-components/src/components/richText/index.ts
- packages/pages-components/src/components/richText/types.ts
- packages/pages-components/src/components/richText/LexicalRichText.stories.tsx
- packages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/strikethrough.ts
- packages/pages-components/src/components/richText/imageNode/LexicalImage.tsx
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/superscript/index.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/subscript.ts
- packages/pages-components/src/components/richText/imageNode/index.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/superscript/tokenizer.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/underline.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/underline/tokenizer.ts
- packages/pages-components/src/components/richText/default-styling.module.css
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/strikethrough-subscript/tokenizer.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/strikethrough-subscript/resolver.ts
- packages/pages-components/src/components/richText/imageNode/methods.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/mdast-util-yext/mdast-node-types.ts
- packages/pages-components/src/components/richText/sampleData.ts
- packages/pages-components/src/components/richText/lexical.module.css
- packages/pages-components/src/components/richText/imageNode/types.ts
- packages/pages-components/src/components/richText/LexicalRichText.tsx
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/resolver-utils.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/micromark-extension-yext/superscript/resolver.ts
- packages/pages-components/src/components/richText/legacy/remark-yext/handlers.ts
- packages/pages-components/src/components/richText/imageNode/ImageNode.tsx
- packages/pages-components/src/components/richText/legacy/LegacyRichText.stories.tsx
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
- GitHub Check: call_test_matrix / Node 20 • React 17.0.2
- GitHub Check: call_test_matrix / Node 24 • React 18.2.0
- GitHub Check: call_test_matrix / Node 22 • React 17.0.2
- GitHub Check: call_test_matrix / Node 22 • React 18.2.0
- GitHub Check: call_test_matrix / Node 18 • React 17.0.2
- GitHub Check: call_test_matrix / Node 20 • React 18.2.0
- GitHub Check: call_test_matrix / Node 18 • React 18.2.0
- GitHub Check: call_test_matrix / Node 24 • React 17.0.2
- GitHub Check: semgrep/ci
🔇 Additional comments (3)
packages/pages-components/CHANGELOG.md (1)
5-5: Consider adding a changelog entry for PR #133 (drop LexicalRichText/LegacyRichText).The provided CHANGELOG snippet shows formatting-only changes (removing leading asterisks). However, the PR description indicates a breaking change—removal of the LexicalRichText and LegacyRichText components. A new changelog entry documenting this removal would be expected at version 1.2.3 (or a future version) to inform users of the breaking change and migration path.
Verify whether a new CHANGELOG entry for this breaking change is being added elsewhere or if it should be included in this file.
Also applies to: 9-9, 13-13, 17-17, 21-21
packages/pages-components/package.json (2)
99-104: Verify if luxon is still required.The AI summary indicates luxon was removed from dependencies, but it appears to still be present on line 103. Please verify whether luxon is still needed by other components in the package (e.g., Address, Breadcrumbs, etc.). If it's no longer used, it should be removed.
The verification script in the previous comment for @types/luxon will also help confirm luxon usage. If no imports are found, both luxon and @types/luxon should be removed.
73-73: Remove @types/luxon from devDependencies if luxon is no longer used.@types/luxon provides TypeScript definitions for luxon, which should only be included when the luxon library is actively used in the codebase. If luxon has been removed from the project's dependencies, these type definitions are no longer needed and should be removed to reduce unnecessary package bloat.
asanehisa
left a comment
There was a problem hiding this comment.
Is this update gonna be in a minor or major?
Major |
|
@mkilpatrick Should this documentation be updated to remove the use of LegacyRichText? https://hitchhikers.yext.com/docs/pages/rich-text-markdown/ |
Funny enough, the documentation doesn't recommend to use the LegacyRichText component we deleted, however we should make the section about using the html subfield more prominent, as well as removing the rest of the the documentation about LexicalRichText. Or at least specify 1.x vs 2.x changes. I'll make sure that gets updated. Thanks for calling it out! |
LexicalRichText was previously deprecated and now being removed. Instead, it's recommended to use the stream's .html version instead with
dangerouslySetInnerHTML.LegacyRichText is no longer an available field in the Yext Knowledge Graph platform. Removing its corresponding component.