diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml
new file mode 100644
index 000000000000..ead69cdc94dc
--- /dev/null
+++ b/.github/codeql/codeql-config.yml
@@ -0,0 +1,21 @@
+name: Docusaurus CodeQL config
+
+paths-ignore:
+ - '**/__fixtures__/**'
+ - website/_dogfooding/_asset-tests/badSyntax.js
+
+# We can disable various rules because Docusaurus has no runtime
+# The inputs (files, CLI args) are usually controlled locally
+query-filters:
+ # Many false positives
+ # Example: https://github.com/facebook/docusaurus/security/code-scanning/168
+ - exclude:
+ id: js/path-injection
+ # Many false positives
+ # Example: https://github.com/facebook/docusaurus/security/code-scanning/150
+ - exclude:
+ id: js/polynomial-redos
+ # - exclude:
+ # id: js/command-line-injection
+ # - exclude:
+ # id: js/indirect-command-line-injection
diff --git a/.github/workflows/argos.yml b/.github/workflows/argos.yml
index b89ec760483b..3ecfe0a27299 100644
--- a/.github/workflows/argos.yml
+++ b/.github/workflows/argos.yml
@@ -26,7 +26,12 @@ jobs:
# Argos is heavy to run
# We only want to trigger Argos on PRs with the 'Argos' label
# See https://stackoverflow.com/questions/62325286/run-github-actions-when-pull-requests-have-a-specific-label
- if: ${{ (github.event_name != 'pull_request' && github.ref_name == 'main') || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Argos')) }}
+ if: |
+ github.repository == 'facebook/docusaurus' &&
+ (
+ (github.event_name != 'pull_request' && github.ref_name == 'main') ||
+ (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Argos'))
+ )
runs-on: ubuntu-latest
steps:
- name: Check out repository code
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 000000000000..74b25a3fa4be
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,40 @@
+name: CodeQL
+
+on:
+ push:
+ branches:
+ - main
+ - docusaurus-v**
+ pull_request:
+ branches:
+ - main
+ - docusaurus-v**
+ schedule:
+ - cron: 25 22 * * 3
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
+jobs:
+ analyze:
+ name: Analyze
+ if: github.repository == 'facebook/docusaurus'
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@4e94bd11f71e507f7f87df81788dff88d1dacbfb # 4.31.0
+ with:
+ languages: javascript-typescript
+ config-file: ./.github/codeql/codeql-config.yml
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@4e94bd11f71e507f7f87df81788dff88d1dacbfb # 4.31.0
diff --git a/.github/workflows/continuous-releases.yml b/.github/workflows/continuous-releases.yml
index 3076ff7ab379..6e4554098a81 100644
--- a/.github/workflows/continuous-releases.yml
+++ b/.github/workflows/continuous-releases.yml
@@ -17,6 +17,7 @@ concurrency:
jobs:
release:
name: Continuous Releases
+ if: github.repository == 'facebook/docusaurus'
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/lint-autofix.yml b/.github/workflows/lint-autofix.yml
index 527b32ab6d79..87c88368285e 100644
--- a/.github/workflows/lint-autofix.yml
+++ b/.github/workflows/lint-autofix.yml
@@ -46,7 +46,7 @@ jobs:
run: yarn lint:spelling:fix
- name: AutoFix Dependency versions
- run: yarn lint:spelling:fix
+ run: yarn lint:syncpack:fix
- name: Print Diff
run: git diff
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 873fc2ef1309..861a9e10c6b6 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -38,6 +38,7 @@ permissions:
jobs:
publish:
name: Publish NPM release
+ if: github.repository == 'facebook/docusaurus'
runs-on: ubuntu-latest
steps:
- name: Checkout
diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx
index f87a0f8867f4..846cbf34f054 100644
--- a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Category/index.tsx
@@ -135,11 +135,7 @@ function CollapseButton({
}
function CategoryLinkLabel({label}: {label: string}) {
- return (
-
- {label}
-
- );
+ return {label};
}
export default function DocSidebarItemCategory(props: Props): ReactNode {
diff --git a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx
index 70b0d1ddae38..629b3ef7f884 100644
--- a/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx
+++ b/packages/docusaurus-theme-classic/src/theme/DocSidebarItem/Link/index.tsx
@@ -17,11 +17,7 @@ import type {Props} from '@theme/DocSidebarItem/Link';
import styles from './styles.module.css';
function LinkLabel({label}: {label: string}) {
- return (
-
- {label}
-
- );
+ return {label};
}
export default function DocSidebarItemLink({
diff --git a/project-words.txt b/project-words.txt
index 51627fb1725b..dbf4e671161c 100644
--- a/project-words.txt
+++ b/project-words.txt
@@ -143,6 +143,8 @@ lifecycles
lightningcss
Linkify
linkify
+llms
+llmstxt
longlonglonglonglonglonglonglonglonglonglonglong
Lorber
lorber
diff --git a/website/community/2-resources.mdx b/website/community/2-resources.mdx
index 0c48942355ee..9f721551c83b 100644
--- a/website/community/2-resources.mdx
+++ b/website/community/2-resources.mdx
@@ -52,6 +52,13 @@ See the showcase
- [docusaurus-plugin-moesif](https://github.com/Moesif/docusaurus-plugin-moesif) - Adds [Moesif API Analytics](https://www.moesif.com/) to track user behavior and pinpoint where developers drop off in your activation funnel.
- [docusaurus-plugin-yandex-metrica](https://github.com/sgromkov/docusaurus-plugin-yandex-metrica) - Adds [Yandex Metrika](https://metrika.yandex.ru/) counter for evaluating site traffic and analyzing user behavior.
+### AI / Agents {/* #ai-agents */}
+
+- [docusaurus-plugin-copy-page-button](https://github.com/portdeveloper/docusaurus-plugin-copy-page-button) - Adds a "Copy page" button that exports doc pages as clean Markdown for use with ChatGPT, Claude, and Gemini. Used by Ethereum, Sui, Monad, and Flare docs.
+- [docusaurus-plugin-llms](https://github.com/rachfop/docusaurus-plugin-llms) - Generates `llms.txt` and `llms-full.txt` files from your docs, following the [llmstxt.org](https://llmstxt.org/) standard.
+- [docusaurus-plugin-llms-txt](https://github.com/din0s/docusaurus-plugin-llms-txt) - Generates a concatenated Markdown `llms.txt` file from your documentation.
+- [expose-markdown-docusaurus-plugin](https://github.com/FlyNumber/markdown_docusaurus_plugin) - Exposes your /docs Markdown files as raw `.md` URLs (for LLM consumption).
+
### Features {/* #features */}
- [docusaurus-theme-github-codeblock](https://github.com/saucelabs/docusaurus-theme-github-codeblock). A Docusaurus plugin that supports referencing code examples from public GitHub repositories
@@ -73,8 +80,6 @@ See the showcase
- [docusaurus-i18n](https://github.com/moonrailgun/docusaurus-i18n) - Auto-translate docusaurus documents with openai.
- [docusaurus-plugin-glossary](https://github.com/mcclowes/docusaurus-plugin-glossary) - A docusaurus plugin for helping users understand key terms.
- [docusaurus-plugin-cookie-consent](https://github.com/mcclowes/docusaurus-plugin-cookie-consent) - A Docusaurus plugin for allowing users to opt in/out of cookies, and accessing those settings in code.
-- [expose-markdown-docusaurus-plugin](https://github.com/FlyNumber/markdown_docusaurus_plugin) - A Docusaurus plugin that exposes your /docs Markdown files as raw .md URLs. (For LLM's and such).
-- [docusaurus-plugin-copy-page-button](https://github.com/portdeveloper/docusaurus-plugin-copy-page-button) - Adds a "Copy page" button that exports doc pages as clean markdown for use with ChatGPT, Claude, and Gemini. Used by Ethereum, Sui, Monad, and Flare docs.
## Enterprise usage {/* #enterprise-usage */}
diff --git a/yarn.lock b/yarn.lock
index fec9ccbf8b7b..b37e0f170e84 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -17847,9 +17847,9 @@ tmp-promise@^3.0.3:
tmp "^0.2.0"
tmp@^0.2.0, tmp@^0.2.1, tmp@^0.2.4, tmp@~0.2.1:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8"
- integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.7.tgz#26f4db11d1601ce8012dcb8a798ece1c06a99059"
+ integrity sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==
to-regex-range@^5.0.1:
version "5.0.1"