Skip to content

Chore: migrate string literals to update tag constants#7450

Merged
takuyakanbr merged 1 commit intofacebook:mainfrom
bgwebagency:migrate-update-tags-constants-7446
Apr 10, 2025
Merged

Chore: migrate string literals to update tag constants#7450
takuyakanbr merged 1 commit intofacebook:mainfrom
bgwebagency:migrate-update-tags-constants-7446

Conversation

@kirandash
Copy link
Copy Markdown
Contributor

Description

Current behavior:

Currently, string literals are being used directly for update tags in documentation and code (e.g., 'skip-dom-selection', 'history-merge'). This makes the code prone to typos and lacks proper TypeScript type checking.

Changes in this PR:

This PR replaces string literal update tags with their corresponding exported constants from LexicalUpdateTags.ts.

These changes improve:

  • Type safety through TypeScript validation
  • Code maintainability
  • IDE support with autocomplete
  • Consistency between documentation and implementation

Closes #7446

Test plan

Before

Documentation and code use string literals:

$addUpdateTag('skip-dom-selection');
editor.update(prepopulatedRichText, { tag: 'history-merge' });

After

$addUpdateTag(SKIP_DOM_SELECTION_TAG);
editor.update(prepopulatedRichText, { tag: HISTORY_MERGE_TAG });

- Replace string literal update tags with exported constants
- Improve type safety and maintainability through constant usage
Fixes facebook#7446
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Apr 9, 2025
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 9, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
lexical ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 9, 2025 10:06am
lexical-playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 9, 2025 10:06am

Copy link
Copy Markdown
Collaborator

@etrepum etrepum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a nice straightforward refactor 👍

@takuyakanbr takuyakanbr added this pull request to the merge queue Apr 10, 2025
Merged via the queue into facebook:main with commit af687fa Apr 10, 2025
43 checks passed
GermanJablo added a commit to payloadcms/payload that referenced this pull request Sep 1, 2025
GermanJablo added a commit to payloadcms/payload that referenced this pull request Sep 3, 2025
Fixes #13386

Below I write a clarification to copy and paste into the release note,
based on our latest upgrade of Lexical [in
v3.29.0](https://github.com/payloadcms/payload/releases/tag/v3.29.0).

## Important
This release upgrades the lexical dependency from 0.28.0 to 0.34.0.

If you installed lexical manually, update it to 0.34.0. Installing
lexical manually is not recommended, as it may break between updates,
and our re-exported versions should be used. See the [yellow banner
box](https://payloadcms.com/docs/rich-text/custom-features) for details.

If you still encounter richtext-lexical errors, do the following, in
this order:

- Delete node_modules
- Delete your lockfile (e.g. pnpm-lock.json)
- Reinstall your dependencies (e.g. pnpm install)

### Lexical Breaking Changes

The following Lexical releases describe breaking changes. We recommend
reading them if you're using Lexical APIs directly
(`@payloadcms/richtext-lexical/lexical/*`).

- [v.0.33.0](https://github.com/facebook/lexical/releases/tag/v0.33.0)
- [v.0.30.0](https://github.com/facebook/lexical/releases/tag/v0.30.0)
- [v.0.29.0](https://github.com/facebook/lexical/releases/tag/v0.29.0)

___

TODO:
- [x] facebook/lexical#7719
- [x] facebook/lexical#7362
- [x] facebook/lexical#7707
- [x] facebook/lexical#7388
- [x] facebook/lexical#7357
- [x] facebook/lexical#7352
- [x] facebook/lexical#7472
- [x] facebook/lexical#7556
- [x] facebook/lexical#7417
- [x] facebook/lexical#1036
- [x] facebook/lexical#7509
- [x] facebook/lexical#7693
- [x] facebook/lexical#7408
- [x] facebook/lexical#7450
- [x] facebook/lexical#7415
- [x] facebook/lexical#7368
- [x] facebook/lexical#7372
- [x] facebook/lexical#7572
- [x] facebook/lexical#7558
- [x] facebook/lexical#7613
- [x] facebook/lexical#7405
- [x] facebook/lexical#7420
- [x] facebook/lexical#7662

---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
  - https://app.asana.com/0/0/1211202581885926
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. extended-tests Run extended e2e tests on a PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Migrate existing update tags to use exported constants

4 participants