Skip to content

chore: dead code removal validation, DO NOT MERGE (AI-assisted) - #12751

Draft
slorber wants to merge 15 commits into
mainfrom
claude/docusaurus-dead-code-8251e7
Draft

slorber wants to merge 15 commits into
mainfrom
claude/docusaurus-dead-code-8251e7

Conversation

@slorber

@slorber slorber commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Warning

Do not merge. This is a validation PR: it removes all the dead code found in one place so that CI checks everything at once. Each commit is self-contained, and will become its own standalone PR once approved.

Motivation

Find the dead code of the repository, check that removing it is safe, and prevent new dead code.

Knip already runs in CI, so the remaining dead code hides in Knip's blind spots. I combined:

  • Knip in stricter modes: --production + ignoreExportsUsedInFile (code only kept alive by tests, the main technique of TkDodo's talk), --include-entry-exports, namespace members, duplicates
  • Knip with temporarily narrowed entries (wildcard package exports, vendored code)
  • Scripts for what Knip doesn't cover: CSS module classes, theme components, @theme/* declarations, test fixtures, snapshots, translation keys, plugin options, static assets, tooling config paths, ESLint globs, workflow scripts
  • A one-off type-aware @typescript-eslint/no-unnecessary-condition run (dead branches)
  • Removing each item, then running the affected tests (which caught one false positive, see Methodology)

Removed in this PR

One commit per future standalone PR:

Commit What Evidence
a05c8a6 website: toggleListItem util + its test Only used by its test since the showcase refactor (#10023)
93ac94f blog: validateAuthorsMap() Exact copy of validateAuthorsMapInput(), only used by tests
b63c72f docs: CategoryMetadataFilenameBase constant Zero references
0aa62ee css-cascade-layers: DEFAULT_OPTIONS used in the schema Only used by tests, the schema duplicated its value
89f52e0 ideal-image fork: MediaWithDefaults + commented-out getScreenWidth, supportsWebp, fetchLoader, and commented-out tests Never imported, inherited from react-ideal-image
121a098 Test fixtures: docs bad-id-site, bad-slug-on-doc-home-site, utils vcs/__tests__/__fixtures__/simple-site No test reads them, unused since #3245 / #11512
12c7900 theme-common: internal useTreeifiedTOC() hook Added in #6729, never used by a theme, only by its test. Exported from /internal
9325a16 website: 9 unused CSS module classes, and an unused CSS module (+ import) in the MDX/React docs Never referenced (some since 2020)
aa6dae5 debug: unused .active CSS class The activeStyle prop does it since #3392
1ebe867 translations: stale Icelandic theme.docs.DocCard.categoryDescription key Replaced by .plurals in #9851. Review: I moved its translation to the untranslated plurals key (1 atriði|{count} atriði)
8d1da61 Commented-out code: emojiUtils, useTOCHighlight, sidebars validation, contentTitle debug console.log
c8bc13b Tooling config entries for removed paths: jest/vendor (cspell, oxfmt, stylelint), templates/facebook (ESLint), website/docusaurus.config.js (oxfmt), docusaurus-migrate (Vitest), website/netlifyDeployPreview + .cache-loader (gitignore), .svg oxfmt pattern typo Paths removed by #12010, #9026, #9317, #9400, #4447, #4089
bcea849 deps: @svgr/core (plugin-svgr) and react-router-dom (theme-classic) moved to devDependencies Only imported by tests

Preventing new dead code

Commit What
af05625 Knip: new lint:knip:production CI check (production mode, scoped to packages/*) reporting exports and dependencies only used by tests. Fail on Knip config hints (and remove the 3 existing ones). Stop treating the ideal-image fork internals as theme entries
d926b9f Translations: test failing on localized messages missing from the base files. The update script only logs them, which is how the Icelandic stale key survived for 2.5 years

I checked that the new Knip config catches a planted test-only export and a planted test-only dependency, and the re-added MediaWithDefaults.

Needs a decision (not in this PR)

Wildcard ./lib/* and ./src/* package exports: Knip's biggest blind spot

plugin-content-docs, plugin-content-blog, theme-live-codeblock and theme-mermaid export ./lib/* and ./src/*, added for Jest 28 (#7243). They make every file a public entry, so Knip never reports their unused exports. Without them, Knip finds CategoryMetadataFilenameBase (removed above), ~20 unnecessary export keywords, and 2 Schema exports. Removing them is a breaking change for deep imports (our own website/_dogfooding/docs-tests-sidebars.js imports @docusaurus/plugin-content-docs/lib/sidebars/types). The blog markdownLoader.ts would then need a Knip entry.

Public API exports unused by the monorepo

Undocumented, removing them is breaking:

Exports of @docusaurus/utils, plugin-content-docs/client and docusaurus-types only used internally are probably used by third-party plugins: I'd keep them.

Low-value leftovers
  • Unreferenced static images: website/static/img/slash-introducing.png, img/meta_opensource_logo.svg. Public URLs, maybe hot-linked: I'd keep them
  • Hardcoded debug switches making their branch dead: const DEBUG = false (utils/src/moduleUtils.ts), const disableOptimization = false (core/src/server/brokenLinks.ts). Intentional, I'd keep them
  • Commented-out propTypes in the ideal-image fork (Media, IdealImage): they document props, duplicated by plugin-ideal-image.d.ts
  • Not dead, but modernizable: the groupBy() polyfill of theme-common (TODO 2025: replace by std Object.groupBy), Object.groupBy is now Baseline Widely Available

Checked, nothing to remove

Details
  • Theme components: all referenced through @theme/* imports, routes or MDX. All declare module '@theme/*' have an implementation, module-type-aliases matches the core exports
  • Theme translations: base files match the code (existing test), only 1 stale localized key (fixed above)
  • Plugin and theme options: every option validated by Joi is read
  • Snapshots: no obsolete snapshots, no orphan .snap files
  • Website components and exports, dev scripts, workflow scripts, ESLint files globs: all used
  • Future flags: already cleaned up by the v4 work. TODO Docusaurus v4 markers are planned removals (DocSearch v3...), not dead code
  • Type-aware no-unnecessary-condition: ~70 hits, nearly all defensive checks of untyped user input. Not dead code, and too noisy for CI
  • Knip namespace members/duplicates: only false positives (minifyFunctions.ts is loaded by path in worker processes)

Methodology notes and side findings

  • cli.test.ts of the docs plugin contains a literal NUL byte (an invalid "foo\0bar" version name in an inline snapshot), so ripgrep/grep silently skip it as a binary file. It made site-with-custom-i18n-path look unused, but removing it failed the tests: that fixture is kept.
  • Bug, not dead code: admin/test-bad-package/README.mdx checks ReactVersion twice, so its React DOM version check never runs (the second check should use ReactDOMVersion).
  • CSS module classes and __fixtures__ aren't covered by any of our tools: I used one-off scripts. Not worth a permanent check IMHO.

Test Plan

Locally: packages build, all tests (only the 2 known sandbox-only /tmp failures of writeRedirectFiles.test.ts, same as main), typecheck:tests, website typecheck, pnpm lint (including both Knip checks). This PR: full CI, Argos (CSS changes must produce no visual diff).

Argos results: no screenshot changes. The styles.css text snapshot changed as expected: the removed CSS rules, plus a reorder of theme-classic code block and inline TOC rules inside the same @layer docusaurus.theme-classic, because the MDX/React docs page doesn't import its CSS module anymore. These rules target different elements, so the order doesn't matter, and the screenshots confirm it.

Test links

Deploy preview: https://deploy-preview-12751--docusaurus-2.netlify.app/ (website CSS cleanup: home, MDX and React docs, debug panel)

🤖 Generated with Claude Code (AI-assisted)

slorber and others added 15 commits October 21, 2026 12:01
Only used by its own test since the showcase refactor (#10023).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…isted)

validateAuthorsMap() was an exact copy of validateAuthorsMapInput(), and only
tests used it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…AI-assisted)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ma (AI-assisted)

DEFAULT_OPTIONS was only used by tests. Using it in the schema, like the
other plugins do, keeps the tested defaults and the real defaults in sync.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-ideal-image fork (AI-assisted)

- MediaWithDefaults: never imported
- Commented-out getScreenWidth(), supportsWebp() and fetchLoader()
- Commented-out tests, and the test import they left unused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No test reads these fixture sites:

- docs bad-id-site: unused since the docs plugin refactor (#3245)
- docs bad-slug-on-doc-home-site: unused since the docs plugin refactor (#3245)
- utils vcs simple-site: added with the VCS API (#11512), never read

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…AI-assisted)

Added with the flat TOC refactor (#6729), but no theme ever used it: themes
use useFilteredAndTreeifiedTOC. Only its own test called it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ssisted)

These CSS module classes are not used by any component anymore, and the
React MDX docs page imported a CSS module it doesn't use since the MDX v2
docs rewrite (#8941).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The active nav link is styled with the activeStyle prop since the plugin was
released (#3392), so the CSS module class was never applied.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…on key (AI-assisted)

theme.docs.DocCard.categoryDescription was replaced by the .plurals key in
#9851, but the Icelandic translation (#9928) still declared the old key, and
the new key was untranslated. Move the translation to the plurals key:
"atriði" is the same in singular and plural.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e files (AI-assisted)

The update script only logs an error for these stale localized messages, so
they can remain unnoticed for a long time.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…AI-assisted)

- jest/vendor: removed with the Vitest migration (#12010)
- templates/facebook: removed in #9026
- website/docusaurus.config.js: now a TypeScript file (#9317)
- docusaurus-migrate: removed in #9400
- website/netlifyDeployPreview: removed in #4447
- .cache-loader: cache-loader was removed with Webpack 5 (#4089)
- .svg: a typo for the *.svg pattern right below
- commented-out website/i18n/fr gitignore negations

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…(AI-assisted)

- plugin-svgr: @svgr/core is only used by tests (@svgr/webpack depends on it)
- theme-classic: react-router-dom is only used by tests, theme components use
  @docusaurus/router

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es (AI-assisted)

- New lint:knip:production check: Knip production mode ignores the tests, so
  it reports the exports and dependencies of published packages that only
  tests use. Exports also used in their own file are not reported: functions
  are often exported only to be tested.
- Fail on Knip configuration hints, so that the config doesn't accumulate
  useless entries, and remove the 3 existing ones.
- Don't treat the internal modules of the react-ideal-image fork as theme
  component entries, so that Knip reports the unused ones.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@slorber slorber added pr: maintenance This PR does not produce any behavior differences to end users when upgrading. Argos Add this label to run UI visual regression tests. See argos.yml GH action. labels Oct 21, 2026
@meta-cla meta-cla Bot added the CLA Signed Signed Facebook CLA label Oct 21, 2026
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@slorber slorber added the status: don't merge yet This PR is completed, but we are still waiting for other things to be ready. label Oct 21, 2026
@github-actions

Copy link
Copy Markdown

Size Change: -718 B (-0.01%)

Total Size: 12.1 MB

📦 View Changed
Filename Size Change
website/build/assets/css/styles.**********.css 145 kB -718 B (-0.49%)
ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/codeTranslations.json 2 B 0 B
website/.docusaurus/docusaurus.config.mjs 28.5 kB 0 B
website/.docusaurus/globalData.json 38.2 kB 0 B
website/.docusaurus/i18n.json 1.36 kB 0 B
website/.docusaurus/registry.js 179 kB 0 B
website/.docusaurus/routes.js 88.8 kB 0 B
website/.docusaurus/routesChunkNames.json 93.9 kB 0 B
website/.docusaurus/site-metadata.json 2.59 kB 0 B
website/build/assets/js/main.**********.js 757 kB 0 B
website/build/assets/js/runtime~main.**********.js 41.8 kB 0 B
website/build/blog.html 79.2 kB 0 B
website/build/blog/2017/12/14/introducing-docusaurus.html 67.5 kB +1 B (0%)
website/build/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus.html 46.5 kB +1 B (0%)
website/build/blog/2018/09/11/Towards-Docusaurus-2.html 51 kB +6 B (+0.01%)
website/build/blog/2018/12/14/Happy-First-Birthday-Slash.html 30.5 kB +1 B (0%)
website/build/blog/2019/12/30/docusaurus-2019-recap.html 41.6 kB +1 B (0%)
website/build/blog/2020/01/07/tribute-to-endi.html 34 kB +1 B (0%)
website/build/blog/2021/01/19/docusaurus-2020-recap.html 53.1 kB +1 B (0%)
website/build/blog/2021/03/09/releasing-docusaurus-i18n.html 49 kB +1 B (0%)
website/build/blog/2021/05/12/announcing-docusaurus-two-beta.html 49.6 kB +1 B (0%)
website/build/blog/2021/11/21/algolia-docsearch-migration.html 56 kB +1 B (0%)
website/build/blog/2022/01/24/docusaurus-2021-recap.html 44.7 kB +1 B (0%)
website/build/blog/2022/08/01/announcing-docusaurus-2.0.html 137 kB +1 B (0%)
website/build/blog/2022/09/01/docusaurus-2.1.html 52.1 kB +1 B (0%)
website/build/blog/archive.html 24.8 kB 0 B
website/build/blog/authors.html 52.1 kB 0 B
website/build/blog/authors/j-marcey.html 72.3 kB 0 B
website/build/blog/authors/josh-cena.html 48.5 kB 0 B
website/build/blog/authors/lex-111.html 57.4 kB 0 B
website/build/blog/authors/slorber.html 83.1 kB 0 B
website/build/blog/authors/slorber/page/2.html 82.3 kB 0 B
website/build/blog/authors/slorber/page/3.html 85.9 kB 0 B
website/build/blog/authors/slorber/page/4.html 98.6 kB 0 B
website/build/blog/authors/slorber/page/5.html 55 kB 0 B
website/build/blog/authors/yangshun.html 68.2 kB 0 B
website/build/blog/authors/zpao.html 49 kB 0 B
website/build/blog/page/2.html 78.4 kB 0 B
website/build/blog/page/3.html 82.8 kB 0 B
website/build/blog/page/4.html 87.3 kB 0 B
website/build/blog/page/5.html 74.7 kB 0 B
website/build/blog/page/6.html 42.1 kB 0 B
website/build/blog/preparing-your-site-for-docusaurus-v3.html 130 kB +1 B (0%)
website/build/blog/releases/2.2.html 52.2 kB +1 B (0%)
website/build/blog/releases/2.3.html 62.8 kB 0 B
website/build/blog/releases/2.4.html 66.7 kB +1 B (0%)
website/build/blog/releases/3.0.html 109 kB +1 B (0%)
website/build/blog/releases/3.1.html 54.9 kB +1 B (0%)
website/build/blog/releases/3.2.html 50.7 kB +1 B (0%)
website/build/blog/releases/3.3.html 58 kB +1 B (0%)
website/build/blog/releases/3.4.html 57.2 kB 0 B
website/build/blog/releases/3.5.html 59.9 kB +1 B (0%)
website/build/blog/releases/3.6.html 77.1 kB 0 B
website/build/blog/releases/3.7.html 52.6 kB +1 B (0%)
website/build/blog/releases/3.8.html 88.4 kB 0 B
website/build/blog/releases/3.9.html 62.7 kB +1 B (0%)
website/build/blog/releases/3.10.html 93.5 kB +1 B (0%)
website/build/blog/tags.html 28.7 kB 0 B
website/build/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing.html 127 kB +1 B (0%)
website/build/docs.html 50.5 kB 0 B
website/build/docs/advanced.html 31.7 kB 0 B
website/build/docs/advanced/architecture.html 30.3 kB +4 B (+0.01%)
website/build/docs/advanced/client.html 71.7 kB 0 B
website/build/docs/advanced/plugins.html 55.6 kB +1 B (0%)
website/build/docs/advanced/routing.html 70.9 kB +1 B (0%)
website/build/docs/advanced/ssg.html 75.5 kB +1 B (0%)
website/build/docs/api/docusaurus-config.html 237 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin.html 51.6 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-html-links.html 36.8 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text.html 35.8 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading.html 37.1 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages.html 40.8 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/logger.html 39.2 kB +1 B (0%)
website/build/docs/api/misc/create-docusaurus.html 38.4 kB +8 B (+0.02%)
website/build/docs/api/misc/docusaurus-init/index.html 361 B 0 B
website/build/docs/api/plugin-methods.html 61.9 kB 0 B
website/build/docs/api/plugin-methods/extend-infrastructure.html 75.9 kB 0 B
website/build/docs/api/plugin-methods/i18n-lifecycles.html 58.2 kB +1 B (0%)
website/build/docs/api/plugin-methods/lifecycle-apis.html 163 kB 0 B
website/build/docs/api/plugin-methods/static-methods.html 45.2 kB +1 B (0%)
website/build/docs/api/plugins.html 32.6 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-client-redirects.html 60.2 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-content-blog.html 185 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-docs.html 192 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-pages.html 75.2 kB +6 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-css-cascade-layers.html 58.1 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-debug.html 48.5 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-google-gtag.html 48.3 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-google-tag-manager.html 48.2 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-ideal-image.html 57.9 kB +4 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-pwa.html 118 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-rsdoctor.html 41.5 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-sitemap.html 91.2 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-svgr.html 57.5 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-vercel-analytics.html 41.2 kB +1 B (0%)
website/build/docs/api/themes.html 30.2 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-classic.html 44.1 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-live-codeblock.html 37.1 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-mermaid.html 35.9 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-search-algolia.html 33.6 kB 0 B
website/build/docs/api/themes/configuration.html 254 kB +1 B (0%)
website/build/docs/blog.html 201 kB 0 B
website/build/docs/browser-support.html 47.3 kB 0 B
website/build/docs/category/getting-started.html 28.5 kB 0 B
website/build/docs/category/guides.html 39 kB 0 B
website/build/docs/category/miscellaneous.html 28.3 kB 0 B
website/build/docs/cli.html 67.4 kB 0 B
website/build/docs/configuration.html 93.8 kB +1 B (0%)
website/build/docs/create-doc.html 62.3 kB +1 B (0%)
website/build/docs/creating-pages.html 57.7 kB +1 B (0%)
website/build/docs/deployment.html 67.5 kB 0 B
website/build/docs/deployment/github-pages.html 120 kB 0 B
website/build/docs/deployment/netlify.html 39.3 kB 0 B
website/build/docs/deployment/vercel.html 33.3 kB 0 B
website/build/docs/docs-introduction.html 50.7 kB 0 B
website/build/docs/docs-multi-instance.html 74.8 kB +1 B (0%)
website/build/docs/docusaurus-core.html 227 kB 0 B
website/build/docs/guides/whats-next.html 33.3 kB 0 B
website/build/docs/i18n/crowdin.html 148 kB 0 B
website/build/docs/i18n/git.html 81.1 kB +8 B (+0.01%)
website/build/docs/i18n/introduction.html 49.9 kB 0 B
website/build/docs/i18n/tutorial.html 170 kB 0 B
website/build/docs/installation.html 71.5 kB 0 B
website/build/docs/introduction/index.html 280 B 0 B
website/build/docs/markdown-features.html 85.7 kB 0 B
website/build/docs/markdown-features/admonitions.html 118 kB +1 B (0%)
website/build/docs/markdown-features/assets.html 93.6 kB 0 B
website/build/docs/markdown-features/code-blocks.html 223 kB 0 B
website/build/docs/markdown-features/diagrams.html 61.9 kB 0 B
website/build/docs/markdown-features/head-metadata.html 51.6 kB +1 B (0%)
website/build/docs/markdown-features/links.html 41.4 kB +6 B (+0.01%)
website/build/docs/markdown-features/math-equations.html 92.8 kB 0 B
website/build/docs/markdown-features/plugins.html 96.8 kB +1 B (0%)
website/build/docs/markdown-features/react.html 131 kB 0 B
website/build/docs/markdown-features/tabs.html 141 kB 0 B
website/build/docs/markdown-features/toc.html 88.1 kB 0 B
website/build/docs/migration.html 39.3 kB +1 B (0%)
website/build/docs/migration/v3.html 192 kB 0 B
website/build/docs/playground.html 32 kB 0 B
website/build/docs/resources/index.html 325 B 0 B
website/build/docs/search.html 125 kB +1 B (0%)
website/build/docs/seo.html 89.1 kB 0 B
website/build/docs/sidebar.html 137 kB 0 B
website/build/docs/sidebar/autogenerated.html 148 kB +1 B (0%)
website/build/docs/sidebar/items.html 176 kB +1 B (0%)
website/build/docs/sidebar/multiple-sidebars.html 62.8 kB +1 B (0%)
website/build/docs/static-assets.html 55.1 kB 0 B
website/build/docs/styling-layout.html 140 kB 0 B
website/build/docs/support/index.html 319 B 0 B
website/build/docs/swizzling.html 113 kB 0 B
website/build/docs/team/index.html 310 B 0 B
website/build/docs/typescript-support.html 67.3 kB 0 B
website/build/docs/using-plugins.html 107 kB 0 B
website/build/docs/versioning.html 93.3 kB 0 B
website/build/index.html 37.1 kB 0 B

compressed-size-action::DOCUSAURUS_INFRA_FASTER

@netlify

netlify Bot commented Oct 21, 2026

Copy link
Copy Markdown

✅ [V2]

Name Link
🔨 Latest commit af05625
🔍 Latest deploy log https://app.netlify.com/projects/docusaurus-2/deploys/6ad89213b72aae518fb8cc96
😎 Deploy Preview https://deploy-preview-12751--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions

Copy link
Copy Markdown

⚡️ Lighthouse report for the deploy preview of this PR

URL Performance Accessibility Best Practices SEO Report
/ 🟠 65 🟢 98 🟢 100 🟢 100 Report
/docs/installation 🟠 63 🟢 97 🟢 100 🟢 100 Report
/docs/category/getting-started 🟠 75 🟢 100 🟢 100 🟠 86 Report
/blog 🟠 72 🟢 96 🟢 100 🟠 86 Report
/blog/preparing-your-site-for-docusaurus-v3 🟠 73 🟢 92 🟢 100 🟢 100 Report
/blog/tags/release 🟠 73 🟢 96 🟢 100 🟠 86 Report
/blog/tags 🟠 76 🟢 100 🟢 100 🟠 86 Report

@github-actions

Copy link
Copy Markdown

Size Change: -718 B (-0.01%)

Total Size: 12.1 MB

📦 View Changed
Filename Size Change
website/build/assets/css/styles.**********.css 145 kB -718 B (-0.49%)
ℹ️ View Unchanged
Filename Size Change
website/.docusaurus/codeTranslations.json 2 B 0 B
website/.docusaurus/docusaurus.config.mjs 28.5 kB 0 B
website/.docusaurus/globalData.json 38.2 kB 0 B
website/.docusaurus/i18n.json 1.36 kB 0 B
website/.docusaurus/registry.js 179 kB 0 B
website/.docusaurus/routes.js 88.8 kB 0 B
website/.docusaurus/routesChunkNames.json 93.9 kB 0 B
website/.docusaurus/site-metadata.json 2.59 kB 0 B
website/build/assets/js/main.**********.js 756 kB 0 B
website/build/assets/js/runtime~main.**********.js 41.6 kB 0 B
website/build/blog.html 79.2 kB 0 B
website/build/blog/2017/12/14/introducing-docusaurus.html 67.5 kB +1 B (0%)
website/build/blog/2018/04/30/How-I-Converted-Profilo-To-Docusaurus.html 46.5 kB +1 B (0%)
website/build/blog/2018/09/11/Towards-Docusaurus-2.html 51 kB +6 B (+0.01%)
website/build/blog/2018/12/14/Happy-First-Birthday-Slash.html 30.5 kB +1 B (0%)
website/build/blog/2019/12/30/docusaurus-2019-recap.html 41.6 kB +1 B (0%)
website/build/blog/2020/01/07/tribute-to-endi.html 34 kB +1 B (0%)
website/build/blog/2021/01/19/docusaurus-2020-recap.html 53.1 kB +1 B (0%)
website/build/blog/2021/03/09/releasing-docusaurus-i18n.html 49 kB +1 B (0%)
website/build/blog/2021/05/12/announcing-docusaurus-two-beta.html 49.6 kB +1 B (0%)
website/build/blog/2021/11/21/algolia-docsearch-migration.html 56 kB +1 B (0%)
website/build/blog/2022/01/24/docusaurus-2021-recap.html 44.7 kB +1 B (0%)
website/build/blog/2022/08/01/announcing-docusaurus-2.0.html 137 kB +1 B (0%)
website/build/blog/2022/09/01/docusaurus-2.1.html 52.1 kB +1 B (0%)
website/build/blog/archive.html 24.8 kB 0 B
website/build/blog/authors.html 52.1 kB 0 B
website/build/blog/authors/j-marcey.html 72.3 kB 0 B
website/build/blog/authors/josh-cena.html 48.5 kB 0 B
website/build/blog/authors/lex-111.html 57.4 kB 0 B
website/build/blog/authors/slorber.html 83.1 kB 0 B
website/build/blog/authors/slorber/page/2.html 82.3 kB 0 B
website/build/blog/authors/slorber/page/3.html 85.9 kB 0 B
website/build/blog/authors/slorber/page/4.html 98.6 kB 0 B
website/build/blog/authors/slorber/page/5.html 55 kB 0 B
website/build/blog/authors/yangshun.html 68.2 kB 0 B
website/build/blog/authors/zpao.html 49 kB 0 B
website/build/blog/page/2.html 78.4 kB 0 B
website/build/blog/page/3.html 82.8 kB 0 B
website/build/blog/page/4.html 87.3 kB 0 B
website/build/blog/page/5.html 74.7 kB 0 B
website/build/blog/page/6.html 42.1 kB 0 B
website/build/blog/preparing-your-site-for-docusaurus-v3.html 130 kB +1 B (0%)
website/build/blog/releases/2.2.html 52.2 kB +1 B (0%)
website/build/blog/releases/2.3.html 62.8 kB 0 B
website/build/blog/releases/2.4.html 66.7 kB +1 B (0%)
website/build/blog/releases/3.0.html 109 kB +1 B (0%)
website/build/blog/releases/3.1.html 54.9 kB +1 B (0%)
website/build/blog/releases/3.2.html 50.7 kB +1 B (0%)
website/build/blog/releases/3.3.html 58 kB +1 B (0%)
website/build/blog/releases/3.4.html 57.2 kB 0 B
website/build/blog/releases/3.5.html 59.9 kB +1 B (0%)
website/build/blog/releases/3.6.html 77.1 kB 0 B
website/build/blog/releases/3.7.html 52.6 kB +1 B (0%)
website/build/blog/releases/3.8.html 88.4 kB 0 B
website/build/blog/releases/3.9.html 62.7 kB +1 B (0%)
website/build/blog/releases/3.10.html 93.5 kB +1 B (0%)
website/build/blog/tags.html 28.7 kB 0 B
website/build/blog/upgrading-frontend-dependencies-with-confidence-using-visual-regression-testing.html 127 kB +1 B (0%)
website/build/docs.html 50.5 kB 0 B
website/build/docs/advanced.html 31.7 kB 0 B
website/build/docs/advanced/architecture.html 30.3 kB +4 B (+0.01%)
website/build/docs/advanced/client.html 71.7 kB 0 B
website/build/docs/advanced/plugins.html 55.6 kB +1 B (0%)
website/build/docs/advanced/routing.html 70.9 kB +1 B (0%)
website/build/docs/advanced/ssg.html 75.5 kB +1 B (0%)
website/build/docs/api/docusaurus-config.html 237 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin.html 51.6 kB 0 B
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-html-links.html 36.8 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/no-untranslated-text.html 35.8 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/prefer-docusaurus-heading.html 37.1 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/eslint-plugin/string-literal-i18n-messages.html 40.8 kB +1 B (0%)
website/build/docs/api/misc/@docusaurus/logger.html 39.2 kB +1 B (0%)
website/build/docs/api/misc/create-docusaurus.html 38.4 kB +8 B (+0.02%)
website/build/docs/api/misc/docusaurus-init/index.html 361 B 0 B
website/build/docs/api/plugin-methods.html 61.9 kB 0 B
website/build/docs/api/plugin-methods/extend-infrastructure.html 75.9 kB 0 B
website/build/docs/api/plugin-methods/i18n-lifecycles.html 58.2 kB +1 B (0%)
website/build/docs/api/plugin-methods/lifecycle-apis.html 163 kB 0 B
website/build/docs/api/plugin-methods/static-methods.html 45.2 kB +1 B (0%)
website/build/docs/api/plugins.html 32.6 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-client-redirects.html 60.2 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-content-blog.html 185 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-docs.html 192 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-content-pages.html 75.2 kB +6 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-css-cascade-layers.html 58.1 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-debug.html 48.5 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-google-gtag.html 48.3 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-google-tag-manager.html 48.2 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-ideal-image.html 57.9 kB +4 B (+0.01%)
website/build/docs/api/plugins/@docusaurus/plugin-pwa.html 118 kB +1 B (0%)
website/build/docs/api/plugins/@docusaurus/plugin-rsdoctor.html 41.5 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-sitemap.html 91.2 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-svgr.html 57.5 kB 0 B
website/build/docs/api/plugins/@docusaurus/plugin-vercel-analytics.html 41.2 kB +1 B (0%)
website/build/docs/api/themes.html 30.2 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-classic.html 44.1 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-live-codeblock.html 37.1 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-mermaid.html 35.9 kB +1 B (0%)
website/build/docs/api/themes/@docusaurus/theme-search-algolia.html 33.6 kB 0 B
website/build/docs/api/themes/configuration.html 254 kB +1 B (0%)
website/build/docs/blog.html 201 kB 0 B
website/build/docs/browser-support.html 47.3 kB 0 B
website/build/docs/category/getting-started.html 28.5 kB 0 B
website/build/docs/category/guides.html 39 kB 0 B
website/build/docs/category/miscellaneous.html 28.3 kB 0 B
website/build/docs/cli.html 67.4 kB 0 B
website/build/docs/configuration.html 93.8 kB +1 B (0%)
website/build/docs/create-doc.html 62.3 kB +1 B (0%)
website/build/docs/creating-pages.html 57.7 kB +1 B (0%)
website/build/docs/deployment.html 67.5 kB 0 B
website/build/docs/deployment/github-pages.html 120 kB 0 B
website/build/docs/deployment/netlify.html 39.3 kB 0 B
website/build/docs/deployment/vercel.html 33.3 kB 0 B
website/build/docs/docs-introduction.html 50.7 kB 0 B
website/build/docs/docs-multi-instance.html 74.8 kB +1 B (0%)
website/build/docs/docusaurus-core.html 227 kB 0 B
website/build/docs/guides/whats-next.html 33.3 kB 0 B
website/build/docs/i18n/crowdin.html 148 kB 0 B
website/build/docs/i18n/git.html 81.1 kB +8 B (+0.01%)
website/build/docs/i18n/introduction.html 49.9 kB 0 B
website/build/docs/i18n/tutorial.html 170 kB 0 B
website/build/docs/installation.html 71.5 kB 0 B
website/build/docs/introduction/index.html 280 B 0 B
website/build/docs/markdown-features.html 85.7 kB 0 B
website/build/docs/markdown-features/admonitions.html 118 kB +1 B (0%)
website/build/docs/markdown-features/assets.html 93.6 kB 0 B
website/build/docs/markdown-features/code-blocks.html 223 kB 0 B
website/build/docs/markdown-features/diagrams.html 61.9 kB 0 B
website/build/docs/markdown-features/head-metadata.html 51.6 kB +1 B (0%)
website/build/docs/markdown-features/links.html 41.4 kB +6 B (+0.01%)
website/build/docs/markdown-features/math-equations.html 92.8 kB 0 B
website/build/docs/markdown-features/plugins.html 96.8 kB +1 B (0%)
website/build/docs/markdown-features/react.html 131 kB 0 B
website/build/docs/markdown-features/tabs.html 141 kB 0 B
website/build/docs/markdown-features/toc.html 88.1 kB 0 B
website/build/docs/migration.html 39.3 kB +1 B (0%)
website/build/docs/migration/v3.html 192 kB 0 B
website/build/docs/playground.html 32 kB 0 B
website/build/docs/resources/index.html 325 B 0 B
website/build/docs/search.html 125 kB +1 B (0%)
website/build/docs/seo.html 89.1 kB 0 B
website/build/docs/sidebar.html 137 kB 0 B
website/build/docs/sidebar/autogenerated.html 148 kB +1 B (0%)
website/build/docs/sidebar/items.html 176 kB +1 B (0%)
website/build/docs/sidebar/multiple-sidebars.html 62.8 kB +1 B (0%)
website/build/docs/static-assets.html 55.1 kB 0 B
website/build/docs/styling-layout.html 140 kB 0 B
website/build/docs/support/index.html 319 B 0 B
website/build/docs/swizzling.html 113 kB 0 B
website/build/docs/team/index.html 310 B 0 B
website/build/docs/typescript-support.html 67.3 kB 0 B
website/build/docs/using-plugins.html 107 kB 0 B
website/build/docs/versioning.html 93.3 kB 0 B
website/build/index.html 37.1 kB 0 B

compressed-size-action::DOCUSAURUS_INFRA_SLOWER

@argos-ci

argos-ci Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
screenshots (Inspect) ✅ No changes detected - Oct 21, 2026, 10:28 AM
text-snapshots (Inspect) ⚠️ Changes detected (Review) 1 changed Oct 21, 2026, 10:29 AM

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Argos Add this label to run UI visual regression tests. See argos.yml GH action. CLA Signed Signed Facebook CLA pr: maintenance This PR does not produce any behavior differences to end users when upgrading. status: don't merge yet This PR is completed, but we are still waiting for other things to be ready.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant