Skip to content

[*] Chore: Point package repository links at meta/lexical after the org rename - #9498

Merged
zurfyx merged 1 commit into
mainfrom
zurfyx/meta-org-package-metadata
Oct 28, 2026
Merged

zurfyx merged 1 commit into
mainfrom
zurfyx/meta-org-package-metadata

Conversation

@zurfyx

@zurfyx zurfyx commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Description

Every published package's repository.url (and the few bugs.url and
homepage fields) still say github.com/facebook/lexical. GitHub redirects
the old URLs, but two things read the npm manifest literally:

  • pkg.pr.new compact URLs (https://pkg.pr.new/lexical@<pr>) take the owner
    and repo from the repository field of the package's npm latest manifest.
    Previews published since the rename are stored under meta/lexical, so the
    compact form 404s for them until a release ships this metadata. The long
    form (pkg.pr.new/meta/lexical/lexical@<pr>) works today.
  • npm provenance (on by default with trusted publishing) rejects a publish
    whose repository.url does not match the repository in the build's OIDC
    claims, which is now meta/lexical. So the next nightly or release publish
    needs this merged, not just the workflow guards in [*] Chore: Point CI, release tooling, docs and links at meta/lexical after the org rename #9497.

This changes those fields in all 36 package manifests. It takes effect for
compact pkg.pr.new URLs once a latest release with it is published.

Changeset

.changeset/point-package-repository-bugs-and-homepage-links-at.md ([chore],
all 36 published packages).

Test plan

Before

$ curl -s -o /dev/null -w '%{http_code}\n' https://pkg.pr.new/lexical@9497
404
$ curl -s -o /dev/null -w '%{http_code}\n' https://pkg.pr.new/meta/lexical/lexical@9497
200
$ npm view lexical repository.url
git+https://github.com/facebook/lexical.git

After

$ git grep -c 'github.com/facebook/lexical' -- package.json 'packages/*/package.json'
(no output)
$ pnpm run check-changesets
Changeset check passed: 2 pending changeset(s) valid.

The compact URL fix is only observable after the next latest release.

…rg rename

## Description

Every published package's `repository.url` (and the few `bugs.url` and
`homepage` fields) still say `github.com/facebook/lexical`. GitHub redirects
the old URLs, but two things read the npm manifest literally:

- pkg.pr.new compact URLs (`https://pkg.pr.new/lexical@<pr>`) take the owner
  and repo from the `repository` field of the package's npm `latest` manifest.
  Previews published since the rename are stored under `meta/lexical`, so the
  compact form 404s for them until a release ships this metadata. The long
  form (`pkg.pr.new/meta/lexical/lexical@<pr>`) works today.
- npm provenance compares the manifest's `repository` with the repository in
  the build's OIDC claims.

This changes those fields in all 36 package manifests. It takes effect for
compact pkg.pr.new URLs once a `latest` release with it is published.

## Changeset

`.changeset/point-package-repository-bugs-and-homepage-links-at.md` (`[chore]`,
all 36 published packages).

## Test plan

### Before

```
$ curl -s -o /dev/null -w '%{http_code}\n' https://pkg.pr.new/lexical@9497
404
$ curl -s -o /dev/null -w '%{http_code}\n' https://pkg.pr.new/meta/lexical/lexical@9497
200
$ npm view lexical repository.url
git+https://github.com/facebook/lexical.git
```

### After

```
$ git grep -c 'github.com/facebook/lexical' -- package.json 'packages/*/package.json'
(no output)
$ pnpm run check-changesets
Changeset check passed: 2 pending changeset(s) valid.
```

The compact URL fix is only observable after the next `latest` release.
@vercel

vercel Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
lexical Ready Ready Preview Oct 28, 2026 7:38pm UTC
lexical-playground Ready Ready Preview Oct 28, 2026 7:38pm UTC

Request Review

@humbertoatfb humbertoatfb left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

@ZaynabGhazi ZaynabGhazi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM

@zurfyx
zurfyx added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 0cd7448 Oct 28, 2026
27 of 28 checks passed
zurfyx added a commit that referenced this pull request Oct 28, 2026
…he org rename

## Description

The repository moved from `facebook/lexical` to `meta/lexical`, but the
docs, READMEs, examples and source comments still link to the old path.
GitHub redirects most of those, but not everything does: the pkg.pr.new
long-form install URLs in the maintainers guide 404 under `facebook/lexical`
for previews published since the rename.

This rewrites the remaining living references to `github.com/meta/lexical`:
issue, pull, blob/tree, discussion and graph links, plus the
`facebook/lexical#NNNN` shorthand in source and test comments. In
`packages/lexical-website/docusaurus.config.ts`, `GITHUB_REPO_URL` (which
feeds the docs `editUrl`s and the TypeDoc source links), the canonical
repository fallback used for StackBlitz embeds, and `organizationName` now
say `meta`. The playground's welcome content, and the serialization unit and
e2e tests that mirror it, use the new URL.

Left alone on purpose:

- Files changed by #9497 (GitHub Actions and release tooling) and #9498
  (package.json metadata and its changeset), so the three PRs do not
  conflict.
- `CHANGELOG.md`, where the links are a historical record and still
  redirect.
- StackBlitz URLs (`stackblitz.com/github/facebook/lexical/...`), the
  shields.io build badge and the contrib.rocks image. All three still
  resolve under the old path (checked below), so they are not changed.

## Changeset

`.changeset/point-documentation-and-source-comment-links-at.md` (`[docs]`)
for the eight published packages whose shipped README or `src/` comments
change: `lexical`, `@lexical/markdown`, `@lexical/mdast`,
`@lexical/plain-text`, `@lexical/react`, `@lexical/rich-text`,
`@lexical/table` and `@lexical/utils`. The website, playground, examples and
scripts need none.

## Test plan

### Before

```
$ git grep -lE 'github\.com/facebook/lexical|facebook\.github\.io/lexical|pkg\.pr\.new/facebook|facebook/lexical#[0-9]' -- . ':!CHANGELOG.md' \
    | grep -vxFf <(files changed by #9497 and #9498) | wc -l
      73
$ curl -s -o /dev/null -w '%{http_code}\n' https://pkg.pr.new/facebook/lexical/lexical@9497
404
$ curl -s -o /dev/null -w '%{http_code}\n' https://pkg.pr.new/meta/lexical/lexical@9497
200
```

The links that are kept still work under the old path:

```
$ curl -sL https://img.shields.io/github/actions/workflow/status/facebook/lexical/tests.yml | grep -o '<title>[^<]*</title>'
<title>build: passing</title>
$ curl -sL -o /dev/null -w '%{http_code} %{content_type}\n' 'https://contrib.rocks/image?repo=facebook/lexical'
200 image/svg+xml
$ curl -sL https://stackblitz.com/github/facebook/lexical/tree/d99563ccd/examples/vanilla-js | grep -o '<title>[^<]*</title>'
<title>Lexical Vanilla Js Example - StackBlitz</title>
$ curl -sL https://stackblitz.com/github/nonexistent-org-zz/lexical/tree/main/examples/vanilla-js | grep -o '<title>[^<]*</title>'
<title>StackBlitz</title>
```

(d99563c is today's main, so StackBlitz follows the rename rather than
serving a cached import.)

### After

```
$ git grep -lE 'github\.com/facebook/lexical|facebook\.github\.io/lexical|pkg\.pr\.new/facebook|facebook/lexical#[0-9]' -- . ':!CHANGELOG.md' \
    | grep -vxFf <(files changed by #9497 and #9498) | wc -l
       0
$ git grep -lE 'facebook/lexical' -- . ':!CHANGELOG.md' | grep -vxFf <(...) \
    | xargs git grep -hoE '[a-z./=?]*facebook/lexical' -- | sort | uniq -c
   2 //contrib.rocks/image?repo=facebook/lexical
   1 //img.shields.io/github/actions/workflow/status/facebook/lexical
  34 //stackblitz.com/github/facebook/lexical
```

Every new `github.com/meta/lexical` URL in the diff (92 unique):

```
$ ... | xargs -P 6 -I{} curl -s -o /dev/null -w '%{http_code} {}\n' {} | awk '{print $1}' | sort | uniq -c
  89 200
   1 301
   2 404
```

The 301 is `https://github.com/meta/lexical.git` in the maintainers guide's
package.json sample; the 404s are `/settings/variables/actions` (needs repo
admin) and the synthetic `blob/main/index.ts#L4` fixture in
`typedocExternalLinks.test.ts`.

```
$ pnpm run ci-check
Changeset check passed: 4 pending changeset(s) valid.
Found 0 errors
(exit 0: tsc, tsc-test, tsc-scripts, tsc-extension, tsc-website, flow, prettier, lint, check-changesets)

$ pnpm exec vitest --project unit --project scripts-unit --no-watch <the 26 changed test files>
 Test Files  26 passed (26)
      Tests  1018 passed (1018)

$ (cd packages/lexical-website && pnpm run build)
[SUCCESS] Generated static files in "build".
$ grep -rlE 'github\.com/facebook/lexical' --include='*.html' packages/lexical-website/build | wc -l
       0
$ grep -rhoE 'stackblitz\.com/github/[a-z]+/lexical' --include='*.html' packages/lexical-website/build | sort | uniq -c
  22 stackblitz.com/github/meta/lexical
```

The playground e2e specs touched here (`Links.spec.mjs`,
`Autocomplete.spec.mjs`) were not run; their change is the same URL on both
the typed input and the expected `href`.

This branch was successfully deployed

2 active deployments
Preview – lexical — f6c0bced Deployed Oct 28, 2026 by vercel[bot]
Preview – lexical-playground — f6c0bced Deployed Oct 28, 2026 by vercel[bot]
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants