strict
strict is the future stricter tier for repositories that want more opinionated Docusaurus-site enforcement.
What it configures todayโ
strict includes all of recommended, plus the stricter Docusaurus page-module and site-source CSS rules:
no-conflicting-config-link-propsno-empty-config-link-destinationsno-empty-config-link-labelsno-conflicting-theme-config-metadata-keysno-empty-head-tagsno-duplicate-footer-column-titlesno-duplicate-footer-link-item-destinationsno-duplicate-footer-link-item-labelsno-duplicate-head-tagsno-duplicate-navbar-item-destinationsno-duplicate-i18n-localesno-duplicate-navbar-item-labelsno-duplicate-plugin-pwa-head-tagsno-duplicate-theme-config-metadata-keysno-empty-footer-link-columnsno-empty-theme-config-metadatano-empty-navbar-dropdown-itemsno-empty-navbar-item-objectsno-duplicate-sidebar-doc-idsno-empty-sidebar-categoriesno-mixed-sidebar-link-kindsno-redundant-social-card-metadatano-svg-social-card-imageno-use-base-url-for-internal-link-componentsprefer-css-modules-in-site-srcprefer-head-tag-attributes-objectprefer-i18n-default-locale-firstprefer-theme-config-metadata-name-for-twitter-tagsprefer-theme-config-metadata-property-for-og-tagsno-page-css-module-imports-in-componentsprefer-use-base-url-for-static-assetsrequire-default-export-pagesrequire-head-tag-attributes-when-no-inner-htmlrequire-head-tag-tag-namerequire-theme-config-color-mode-objectvalidate-theme-config-color-mode-default-modevalidate-theme-config-color-mode-switch-flagsno-conflicting-theme-config-color-mode-flagsrequire-theme-config-announcement-bar-idvalidate-theme-config-announcement-bar-is-closeablerequire-base-url-issue-banner-enabledrequire-base-url-slashesrequire-i18n-default-locale-in-localesrequire-plugin-pwa-debugrequire-plugin-pwa-offline-mode-activation-strategiesrequire-plugin-pwa-setuprequire-pages-plugin-excludesrequire-site-config-fieldsrequire-site-url-originrequire-trailing-slash-explicitrequire-theme-config-imagevalidate-navbar-item-position
The recommended link-semantics rules also remain enabled here, so strict covers both config/sidebar correctness and component-level routing conventions.
If you only want Docusaurus config/theme/plugin enforcement without the broader page-module and CSS architecture rules, use config instead.
Flat config exampleโ
import docusaurus2 from "eslint-plugin-docusaurus-2";
export default [docusaurus2.configs.strict];
When to use itโ
Use strict if you are intentionally adopting the strongest future tier and are comfortable with that preset becoming more opinionated over time.