Skip to content

Upgrade to Docusaurus 3#3144

Open
karlcarstensen wants to merge 20 commits into
mainfrom
docusaurus-3
Open

Upgrade to Docusaurus 3#3144
karlcarstensen wants to merge 20 commits into
mainfrom
docusaurus-3

Conversation

@karlcarstensen

@karlcarstensen karlcarstensen commented May 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Brings the docs site green on Docusaurus 3 with future.v4: true and trailingSlash: true. Five categories of mechanical changes plus targeted swizzle rewrites for the CodeBlock theme refactor.

What changed

1. MDX 3 syntax compliance (~595 doc files)

  • HTML comments → MDX comments in 562 .md/.mdx files: → {/* … */}. Verified safe — zero occurrences inside fenced code blocks across the repo.
  • Admonition titles → bracketed syntax in 33 files (174 instances): :::note Title → :::note[Title]. The space-separated form no longer parses in Docusaurus 3 and was rendering as literal text (e.g., empty Progress Checklist admonitions on the GitLab installation pages).

2. CodeBlock theme swizzle migration (src/theme/CodeBlock/)

Docusaurus 3 rewrote the CodeBlock components around a new context provider + slot-based architecture. The site's three customizations (CustomizableValue integration in titles, copy handler, and line tokens) were ported.

3. Redirect collisions (2 deletions)

Removed docs/library/stay-up-to-date/{updating,versioning}.md. These pages had been superseded by /2.0/docs/library/guides/updating-modules and /versioning, with redirects already in src/redirects.js. The new client-redirects plugin refuses to overwrite real pages (older versions silently ignored this).

4. Internal link rewrites (~131 doc files)

Replaced 148 internal references to the deleted pages with their /2.0/docs/library/guides/... equivalents. Docusaurus 3's broken-link checker no longer trusts redirect targets, so links must point to canonical URLs.

5. Trailing-slash relative-path fixes (14 files)

The trailingSlash: true change broke a small number of pre-existing relative links (now resolving one directory deeper than intended). Converted to absolute paths or corrected ../ depth in:

  • docs/ecs-deploy-runner/maintain/{extending,updating}.md
  • docs/infrastructure-pipelines/security/{audit-log,branch-protection,controls,machine-users,multi-account,repository-access}.md
  • docs/infrastructure-pipelines/{hello-world/github-enterprise,overview/actions}.md
  • docs/guides/stay-up-to-date/cis/cis-1.5.0/deployment-walkthrough/step-{3,4,5}-*.md
  • docs/guides/stay-up-to-date/terraform/terraform-14/deployment-walkthrough/step-1-*.md
  • docs/refarch/usage/maintain-your-refarch/extending.md

6. Segment plugin runtime guard

Added src/clientModules/segmentShim.js, registered in docusaurus.config.js. The unmaintained @twilio-labs/docusaurus-plugin-segment@0.1.0 (peer-deps React 16/17) loads its onRouteDidUpdate callback in Docusaurus 3 dev mode despite skipping the inline init snippet, leaving window.analytics undefined and crashing on navigation. The shim defines window.analytics as a no-op fallback, which also hardens production against ad-blockers/CSP that block the Segment loader.

Test plan

  • yarn build exits green (currently: [SUCCESS] Generated static files in "build" in ~13s)
  • yarn start — navigate between pages, no Segment runtime error
  • Spot-check Progress Checklist admonitions render (e.g. /2.0/docs/pipelines/installation/addingexistinggitlabrepo)
  • CodeBlock visual parity with live site:
    • /2.0/docs/pipelines/installation/addinggitlabrepo (120 code blocks + $$markers$$ + titles — biggest stress test)
    • /test-customizable-value (interactive click-to-edit + sessionStorage)
    • /reference/services/app-orchestration/amazon-eks-core-services (456 code blocks at scale)
  • Copy button preserves $$marker$$ substitution when copying code with customizable values
  • Confirm /library/stay-up-to-date/updating still redirects (external-bookmark compatibility)

Out of scope

  • HTML minifier "broken anchor" warnings (default 'warn', not blocking; pre-existing)
  • ~22 broken anchors in reference docs (pre-existing, unrelated to this migration)
  • Removing the unmaintained @twilio-labs/docusaurus-plugin-segment dependency (shim makes it safe; replacement is a separate decision)

Summary by CodeRabbit

  • New Features

    • Added progress checklists to installation and migration guides for tracking workflow steps
    • Added browser compatibility layer for analytics
  • Documentation

    • Standardized admonition and callout syntax across guides and tutorials
    • Updated spell-checker directives for improved documentation rendering
  • Refactoring

    • Simplified code block components and styling
    • Enhanced copy button with improved state management and accessibility
  • Chores

    • Updated platform dependencies and build configuration
    • Enhanced Vercel build process for improved sitemap metadata handling

@vercel

vercel Bot commented May 15, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
docs Error Error Jun 6, 2026 5:56am

Request Review

@coderabbitai

coderabbitai Bot commented May 15, 2026

Copy link
Copy Markdown
Contributor

Too much diff to scan? Review this PR in Change Stack to start with the highest-impact changes.

Review Change Stack

Warning

Review limit reached

@karlcarstensen, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 42 minutes and 18 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 1e936a07-58fe-48e1-be26-d26d517b6b08

📥 Commits

Reviewing files that changed from the base of the PR and between 153afdf and 6ba7a88.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (5)
  • docs/2.0/docs/pipelines/installation/addinggitlabrepo.mdx
  • docs/2.0/docs/pipelines/installation/addingnewrepo.mdx
  • docusaurus.config.js
  • jest.config.js
  • package.json

Walkthrough

This PR modernizes the documentation site and component architecture by upgrading to Docusaurus v4 features, standardizing documentation markup syntax across installation guides, refactoring code block components to use shared theming and context, and updating build configuration with dependency upgrades and infrastructure improvements.

Changes

Documentation markup and content updates

Layer / File(s) Summary
Spell-checker directive standardization
docs/2.0/docs/library/guides/integrate-tfc.md, docs/2.0/docs/library/tutorials/deploying-your-first-gruntwork-module.md, docs/2.0/docs/patcher/guides/promotion-workflows.md, docs/2.0/docs/patcher/tutorials/applying-first-patch.md, docs/2.0/docs/patcher/tutorials/authoring-first-patch.md, docs/2.0/docs/pipelines/guides/extending-pipelines.md
Converts spell-checker markers from HTML comments (<!-- spell-checker: ... -->) to JSX-style syntax ({/* spell-checker: ... */}) for alignment with Docusaurus rendering and Markdown processing standards.
Admonition callout syntax standardization
docs/2.0/docs/pipelines/tutorials/deploying-your-first-infrastructure-change.mdx, docs/2.0/docs/pipelines/tutorials/destroying-infrastructure.mdx, docs/2.0/docs/pipelines/previous-versions/upgrading-gitlab-v1-to-v2.md, docs/2.0/docs/pipelines/installation/*
Updates Docusaurus admonition syntax to bracketed form (e.g., :::caution[Permissions Required], :::tip[Don't Panic!]) across cloud-specific sections in tutorials and guides for consistent rendering.
Progress Checklist integration across installation guides
docs/2.0/docs/pipelines/installation/addingexistinggitlabrepo.mdx, docs/2.0/docs/pipelines/installation/addingexistingrepo.mdx, docs/2.0/docs/pipelines/installation/addinggitlabrepo.mdx, docs/2.0/docs/pipelines/installation/addingnewrepo.mdx, docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md
Adds standardized Progress Checklist callout blocks (:::note[Progress Checklist]) and PersistentCheckbox components throughout multi-cloud (AWS/Azure/GCP) installation workflows, including repository setup, bootstrapping, and completion checkpoints.
Miscellaneous documentation updates
docs/2.0/docs/overview/concepts/gruntworkplatform.md, docs/2.0/way/why/velocity.md, docs/library/stay-up-to-date/updating.md, docs/library/stay-up-to-date/versioning.md
Updates placeholder syntax in concept documentation from HTML comments to JSX style, replaces TODO comment markers, and removes legacy Docusaurus Redirect imports and rules from deprecated pages.

Code block component refactoring

Layer / File(s) Summary
CopyButton refactoring to context-based code access
src/theme/CodeBlock/CopyButton/index.tsx, src/theme/CodeBlock/CopyButton/styles.module.css
Refactors CopyButton to read code from CodeBlockContext instead of props, replaces clipboard logic with navigator.clipboard.writeText with dynamic fallback to copy-text-to-clipboard, integrates shared Docusaurus Button component, and uses translate helpers for localized aria-label and title strings. Adds MIT license header to styles module.
CodeBlockLine token and customizable value handling
src/theme/CodeBlock/Line/index.tsx
Refactors CodeBlockLine to safely handle tokenized content without in-place mutation, replaces $$id$$ markers with CustomizableValue segments, fixes newline-only line rendering via fixLineBreak helper, and uses LineToken component instead of raw span elements for per-token markup.
CodeBlockTitle wrapper implementation
src/theme/CodeBlock/Title/index.tsx
Implements CodeBlockTitle component that conditionally parses string children via parseCustomizableValues or passes through non-string content unchanged, aligning with Docusaurus theming slot/wrapper contract.

Build configuration and infrastructure updates

Layer / File(s) Summary
Docusaurus v4 future features and optimization
docusaurus.config.js
Enables Docusaurus v4 feature set, configures fasterConfig with rspack persistent cache, SWC/HTML/CSS/JS minifiers and loaders, MDX cross-compiler cache, and SSG worker threads for performance improvements.
Core site configuration and client modules
docusaurus.config.js
Registers segment analytics shim as client module via require.resolve, sets projectName, enables trailing slashes, and establishes core site metadata configuration for v4 compatibility.
Custom sitemap generation with source file path resolution
docusaurus.config.js
Implements custom createSitemapItems function to resolve relative metadata.sourceFilePath to absolute paths, fixing Docusaurus 3.10 lastmod generation issues in sitemap output.
Theme configuration, Algolia, metadata, and navbar updates
docusaurus.config.js
Updates themeConfig to include Algolia search configuration, color mode defaults, docs sidebar auto-collapse settings, zoomSelector for images, and expands global metadata with SEO keywords plus build-time and build-version meta tags.
TypeScript, package dependencies, and Jest configuration updates
package.json, tsconfig.json, jest.config.js
Upgrades TypeScript to v6.0.0, adds @types/config devDependency, pins plugin-image-zoom to GitHub commit hash for reliability, updates Jest testPathIgnorePatterns to exclude claude, build, and docusaurus directories, and configures tsconfig ignoreDeprecations for TypeScript 6.0 compatibility.
Build scripts, gitignore, and analytics fallback
scripts/vercelbuild.sh, .gitignore, src/clientModules/segmentShim.js, src/components/CustomizableValue.tsx, tests/scripts/sidebar-lib.spec.ts
Adds git history unshallow fetch to vercelbuild.sh for proper sitemap lastmod generation, updates .gitignore to exclude .claude/ directory, implements segment analytics Proxy shim for graceful fallback when loader is blocked, removes console.log debug statement from CustomizableValue parsing, and adds TypeScript type annotations to test helper functions.

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • gruntwork-io/docs#3149: Both PRs modify docusaurus.config.js's sitemap configuration and lastmod generation handling for Docusaurus 3.10+ compatibility.

Suggested reviewers

  • oredavids
  • yhakbar

🚀 Documentation blooms in colors new,
Components dance with context true,
Docusaurus takes flight with v4's might,
Build times shrink—what a delight! ✨
From checkboxes to spell-check's way,
This PR ships a better day.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 21.43% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Upgrade to Docusaurus 3' accurately reflects the primary purpose of this comprehensive pull request, which migrates the documentation site to Docusaurus 3 with associated tooling and code updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docusaurus-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.

❤️ Share

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

Comment thread README.md Outdated
> `docs-sourcer`'s `src/services/content-service.ts` to `{/* ##DOCS-SOURCER-START`
> and `##DOCS-SOURCER-END */}`, release a new version, then this repo's existing
> file format works directly. After that, the `<!-- -->` wrappers can be removed
> from these files.

@oredavids oredavids May 19, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The docs-sourcer has two usage mechanisms:

  • on demand: to run plugins when desired
  • webhook-integration: the docs-sourcer is deployed as an app and responds to GitHub events to open PRs automatically for preview usecases and module releases in the IAC library repos

The integration means we can't rely on

do not run yarn run-docs-sourcer (or yarn regenerate)

since we would likely break docs on the next automated release.

The docs-sourcer needs to be updated first to align with the v3 required changes and then used to regenerate all its content so we can merge that in as prep for the v3 migration. That would

  1. Make this PR significantly easier to review.
  2. Ensure the metadata signature is updated by the tool that generated the automated content.
  3. Prevent breaking the webhook-integration

The next steps as I see them are:

  • Itemizing all the changes that need to happen in the docs-sourcer. I already noted the metadata comment wrapping, link updates, Github discussion body updates(they contain html comments)
  • Dropping all changes to files that have the docs-sourcer metadata from this PR
  • Implementing the changes in docs-sourcer
  • Doing a re-run with the new docs-sourcer to correctly update content it manages
  • Coordinating the merge of those changes with the actual v3 change.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is really helpful context. All 1058 sourcer-managed files reset to main's content.

docs-sourcer could implement the v3-compat changes:

  • Wrap blocks in {/* … */}
  • Same for /END_… markers

Until docs-sourcer ships these updates, any automated PR it opens against this branch will use HTML comments and break the v3 build

Comment thread src/theme/CodeBlock/CopyButton/styles.module.css
Comment thread src/theme/CodeBlock/CopyButton/index.tsx

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
docs/2.0/docs/pipelines/installation/addinggitlabrepo.mdx (1)

456-459: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix the broken --template-url quoting in the Azure boilerplate example.

Line 458 is missing the closing ' around the template URL, so the command won’t run when copied.

Suggested fix
-  --template-url 'github.com/gruntwork-io/terragrunt-scale-catalog//templates/boilerplate/azure/gitlab/infrastructure-live?ref=v1.11.0 \
+  --template-url 'github.com/gruntwork-io/terragrunt-scale-catalog//templates/boilerplate/azure/gitlab/infrastructure-live?ref=v1.11.0' \
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/2.0/docs/pipelines/installation/addinggitlabrepo.mdx` around lines 456 -
459, The `--template-url` argument in the Azure boilerplate example is missing
the closing quote; update the example so the `--template-url` value is enclosed
in matching single quotes (i.e., add the missing trailing '\'' after v1.11.0) so
the shell command using the `boilerplate` CLI with `--template-url
'github.com/...?ref=v1.11.0'` runs correctly.
docs/2.0/docs/pipelines/installation/addingnewrepo.mdx (1)

536-562: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use distinct, correct checklist IDs for Azure plan vs apply steps.

Line 539/540 currently labels the plan section as “Run an apply,” and it reuses id="run-apply" again at Line 560. This makes the checklist ambiguous and can cause linked checkbox state.

Suggested fix
-<PersistentCheckbox
-  id="run-apply"
-  label="Run an apply in the subscription directory to provision the resources in your Azure subscription."
-/>
+<PersistentCheckbox
+  id="run-plan"
+  label="Run a plan in the subscription directory to make sure that everything is set up correctly."
+/>

...
 <PersistentCheckbox
   id="run-apply"
   label="Run an apply in the subscription directory to provision the resources in your Azure subscription."
 />
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/2.0/docs/pipelines/installation/addingnewrepo.mdx` around lines 536 -
562, The two PersistentCheckbox components reuse id="run-apply" and mislabel the
plan step; change the first checkbox (the plan section at the earlier block) to
a distinct id like id="run-plan" and update its label to "Run a plan in the
subscription directory to preview changes." Leave the later checkbox for apply
as id="run-apply" with its existing label, ensuring unique ids (e.g., run-plan
vs run-apply) so checkbox state and labels are unambiguous.
docusaurus.config.js (1)

158-208: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Duplicate sitemap keys disable the custom lastmod workaround.

The preset options define sitemap twice. The second block (Line 197 onward) overwrites the first, so createSitemapItems (Lines 169–187) never runs and the source-file-path normalization is effectively dead code.

Suggested fix
-          sitemap: {
-            lastmod: "date",
-            changefreq: null,
-            priority: null,
-            // Workaround for Docusaurus 3.10: the sitemap plugin queries
-            // future.experimental_vcs.getFileLastUpdateInfo() with a relative
-            // sourceFilePath (e.g. "docs/foo.md"), but vcsGitEager indexes by
-            // absolute path, so every <lastmod> resolves to null. Resolve each
-            // route's sourceFilePath against the site root before letting the
-            // default builder run.
-            // TODO: remove once Docusaurus fixes the path-format mismatch.
-            createSitemapItems: async ({
-              routes,
-              siteConfig,
-              defaultCreateSitemapItems,
-            }) => {
-              const path = require("path")
-              const fixRoute = (route) => {
-                const rel = route.metadata && route.metadata.sourceFilePath
-                if (rel && !path.isAbsolute(rel)) {
-                  route.metadata = {
-                    ...route.metadata,
-                    sourceFilePath: path.resolve(__dirname, rel),
-                  }
-                }
-                if (route.routes) route.routes.forEach(fixRoute)
-              }
-              routes.forEach(fixRoute)
-              return defaultCreateSitemapItems({routes, siteConfig})
-            },
-          },
+          sitemap: {
+            lastmod: "date",
+            changefreq: null,
+            priority: null,
+            filename: "sitemap.xml",
+            ignorePatterns: [
+              "/tags/**",
+              "/search",
+              "/home",
+              "/test-customizable-value",
+            ],
+            // Workaround for Docusaurus 3.10: the sitemap plugin queries
+            // future.experimental_vcs.getFileLastUpdateInfo() with a relative
+            // sourceFilePath (e.g. "docs/foo.md"), but vcsGitEager indexes by
+            // absolute path, so every <lastmod> resolves to null. Resolve each
+            // route's sourceFilePath against the site root before letting the
+            // default builder run.
+            // TODO: remove once Docusaurus fixes the path-format mismatch.
+            createSitemapItems: async ({
+              routes,
+              siteConfig,
+              defaultCreateSitemapItems,
+            }) => {
+              const path = require("path")
+              const fixRoute = (route) => {
+                const rel = route.metadata && route.metadata.sourceFilePath
+                if (rel && !path.isAbsolute(rel)) {
+                  route.metadata = {
+                    ...route.metadata,
+                    sourceFilePath: path.resolve(__dirname, rel),
+                  }
+                }
+                if (route.routes) route.routes.forEach(fixRoute)
+              }
+              routes.forEach(fixRoute)
+              return defaultCreateSitemapItems({routes, siteConfig})
+            },
+          },
...
-          sitemap: {
-            lastmod: "date",
-            changefreq: null,
-            priority: null,
-            filename: "sitemap.xml",
-            ignorePatterns: [
-              "/tags/**",
-              "/search",
-              "/home",
-              "/test-customizable-value",
-            ],
-          },
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docusaurus.config.js` around lines 158 - 208, There are two sitemap entries
so the second one overwrites the first and your createSitemapItems logic never
runs; merge them by keeping the sitemap object that contains createSitemapItems
and adding the filename and ignorePatterns from the later sitemap block into
that same sitemap object (retain lastmod/changefreq/priority as currently set),
i.e., locate the sitemap object that defines createSitemapItems (references:
createSitemapItems, routes, defaultCreateSitemapItems) and add filename:
"sitemap.xml" and the ignorePatterns array into that object, then remove the
duplicate sitemap block.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@jest.config.js`:
- Line 12: The testPathIgnorePatterns array uses regex strings and currently
contains "/.claude/" and "/.docusaurus/" which treat '.' as "any character" and
over-match; update the entries in the testPathIgnorePatterns configuration so
the dots are escaped (e.g., change "/.claude/" → "/\\.claude/" and
"/.docusaurus/" → "/\\.docusaurus/") while leaving "/node_modules/" and
"/build/" unchanged, ensuring the patterns correctly match hidden directories
only.

In `@package.json`:
- Line 64: package.json currently lists "typescript": "^6.0.0" which is
incompatible with ts-jest@27.1.3 (peer <5); update package.json's "typescript"
entry to a v4.x pin (for example "^4.9.5" or "<5") for this PR, run your package
manager to update lockfile (npm/yarn/pnpm) and re-run tests; alternatively, if
you prefer upgrading tooling, bump ts-jest/jest to versions that explicitly
support TypeScript 6 instead of changing "typescript" in package.json.

---

Outside diff comments:
In `@docs/2.0/docs/pipelines/installation/addinggitlabrepo.mdx`:
- Around line 456-459: The `--template-url` argument in the Azure boilerplate
example is missing the closing quote; update the example so the `--template-url`
value is enclosed in matching single quotes (i.e., add the missing trailing '\''
after v1.11.0) so the shell command using the `boilerplate` CLI with
`--template-url 'github.com/...?ref=v1.11.0'` runs correctly.

In `@docs/2.0/docs/pipelines/installation/addingnewrepo.mdx`:
- Around line 536-562: The two PersistentCheckbox components reuse
id="run-apply" and mislabel the plan step; change the first checkbox (the plan
section at the earlier block) to a distinct id like id="run-plan" and update its
label to "Run a plan in the subscription directory to preview changes." Leave
the later checkbox for apply as id="run-apply" with its existing label, ensuring
unique ids (e.g., run-plan vs run-apply) so checkbox state and labels are
unambiguous.

In `@docusaurus.config.js`:
- Around line 158-208: There are two sitemap entries so the second one
overwrites the first and your createSitemapItems logic never runs; merge them by
keeping the sitemap object that contains createSitemapItems and adding the
filename and ignorePatterns from the later sitemap block into that same sitemap
object (retain lastmod/changefreq/priority as currently set), i.e., locate the
sitemap object that defines createSitemapItems (references: createSitemapItems,
routes, defaultCreateSitemapItems) and add filename: "sitemap.xml" and the
ignorePatterns array into that object, then remove the duplicate sitemap block.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a63f0ef1-1650-460e-b33f-01d05b765552

📥 Commits

Reviewing files that changed from the base of the PR and between 04d3ffa and 153afdf.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (34)
  • .gitignore
  • docs/2.0/docs/library/guides/integrate-tfc.md
  • docs/2.0/docs/library/tutorials/deploying-your-first-gruntwork-module.md
  • docs/2.0/docs/overview/concepts/gruntworkplatform.md
  • docs/2.0/docs/patcher/guides/promotion-workflows.md
  • docs/2.0/docs/patcher/tutorials/applying-first-patch.md
  • docs/2.0/docs/patcher/tutorials/authoring-first-patch.md
  • docs/2.0/docs/pipelines/guides/extending-pipelines.md
  • docs/2.0/docs/pipelines/installation/addingexistinggitlabrepo.mdx
  • docs/2.0/docs/pipelines/installation/addingexistingrepo.mdx
  • docs/2.0/docs/pipelines/installation/addinggitlabrepo.mdx
  • docs/2.0/docs/pipelines/installation/addingnewrepo.mdx
  • docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md
  • docs/2.0/docs/pipelines/previous-versions/upgrading-gitlab-v1-to-v2.md
  • docs/2.0/docs/pipelines/tutorials/deploying-your-first-infrastructure-change.mdx
  • docs/2.0/docs/pipelines/tutorials/destroying-infrastructure.mdx
  • docs/2.0/way/why/velocity.md
  • docs/library/stay-up-to-date/updating.md
  • docs/library/stay-up-to-date/versioning.md
  • docusaurus.config.js
  • jest.config.js
  • package.json
  • scripts/vercelbuild.sh
  • src/clientModules/segmentShim.js
  • src/components/CustomizableValue.tsx
  • src/theme/CodeBlock/Content/Element.tsx
  • src/theme/CodeBlock/Content/String.tsx
  • src/theme/CodeBlock/Content/styles.module.css
  • src/theme/CodeBlock/CopyButton/index.tsx
  • src/theme/CodeBlock/CopyButton/styles.module.css
  • src/theme/CodeBlock/Line/index.tsx
  • src/theme/CodeBlock/Title/index.tsx
  • tests/scripts/sidebar-lib.spec.ts
  • tsconfig.json
💤 Files with no reviewable changes (6)
  • src/theme/CodeBlock/Content/String.tsx
  • docs/library/stay-up-to-date/updating.md
  • docs/library/stay-up-to-date/versioning.md
  • src/theme/CodeBlock/Content/Element.tsx
  • src/components/CustomizableValue.tsx
  • src/theme/CodeBlock/Content/styles.module.css

Comment thread jest.config.js Outdated
Comment thread package.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants