---

# The order of the main categories are defined in index.rst
# Sub categories orders are preserved
categories:
    overview_doc:
        - glossary
        - overview
    setup_doc:
        - setup
    contributing_doc:
        - contributing
        - bug-mgmt
    user_guide:
        - devtools-user
    source_doc:
        - mots
        - browser
        - dom
        - editor
        - layout
        - gfx
        - ipc
        - devtools
        - toolkit
        - js
        - jsloader
        - mobile/android/geckoview
        - mobile/android/fenix
        - mobile/android/focus-android
        - dom/bindings/webidl
        - modules/libpref
        - networking
        - remote
        - services
        - permissions
        - uriloader
        - widget/cocoa
        - widget/windows
        - toolkit/components/ml
        - accessible
        - media
        - code-quality
        - writing-rust-code
        - rust-components
        - tools/profiler
        - performance
        - storage
        - xpcom
        - nspr
        - security/nss
        - content-security
    build_doc:
        - mach
        - tools/try
        - build/buildsystem
        - taskcluster
        - tools/moztreedocs
        - mozbuild/vendor
    testing_doc:
        - testing/automated-testing
        - testing/treeherder-try
        - testing/sheriffed-intermittents
        - testing/tests-for-new-config
        - testing/intermittent
        - testing/debugging-intermittents
        - testing/testing-policy
        - testing/ci-configs
        - testing/browser-chrome
        - testing/chrome-tests
        - testing/marionette
        - testing/geckodriver
        - testing/test-verification
        - testing/webrender
        - testing/mochitest-plain
        - testing/xpcshell
        - testing/tps
        - web-platform
        - gtest
        - tools/fuzzing
        - tools/sanitizer
        - testing/perfdocs
        - tools/code-coverage
        - testing-rust-code
    ai_agent_tools_doc:
        - ai-agent-tools
    release_doc:
        - update-infrastructure
        - tools/update-verify
    l10n_doc:
        - intl
        - l10n
    python_doc:
        - mozbase
        - python
    fennec_doc:
        - mobile/android
    metrics_doc:
        - metrics

redirects:
    browser/browser: browser
    browser/components/newtab/docs/index.html: browser/extensions/newtab/docs/index.html
    contributing/how_to_contribute_firefox.html: contributing/contribution_quickref.html
    contributing/artifact_builds.html: contributing/build/artifact_builds.html
    contributing/linux_build.html: setup/linux_build.html
    contributing/build/linux_build.html: setup/linux_build.html
    contributing/vscode.html: contributing/editors/vscode.html
    dom/dom: dom
    layout/layout: layout
    gfx/gfx: gfx
    intl/l10n/l10n: l10n
    ipc/ipc: ipc
    modules/libpref/libpref: modules/libpref
    python/mach: mach
    python/python: python
    setup/getting_set_up.html: contributing/contributing_to_mozilla.html
    taskcluster/taskcluster: taskcluster
    testing/geckodriver/geckodriver: testing/geckodriver
    testing/marionette/marionette: testing/marionette
    toolkit/components/telemetry/telemetry: toolkit/components/telemetry
    tools/compare-locales/index.html: build/buildsystem/locales.html
    tools/docs/index.html: tools/moztreedocs/index.html
    tools/docs/contribute/how_to_contribute_firefox.html: contributing/how_to_contribute_firefox.html
    tools/docs/contribute/directory_structure.html: contributing/directory_structure.html
    tools/lint: code-quality/lint
    tools/lint/coding-style: code-quality/coding-style
    tools/static-analysis/index.html: code-quality/static-analysis.html

# Please do not add more exceptions to these warnings. Generally they should be
# fixable. If you need help please ask in the firefox-source-docs channel on Matrix.
allowed_warnings:
    # General warnings that need consideration/fixing.
    - "WARNING: document isn't included in any toctree"
    - "WARNING: duplicate label"
    - "WARNING: local id not found in doc"
    - "WARNING: 'myst' cross-reference target not found"
    - "WARNING: Lexing literal_block"
    - "WARNING: dot command 'dot' cannot be run \\(needed for graphviz output\\)"
    # Specific warnings allowed when the allow list was created.
    - "accessible/HCMMediaQueries\\.md:.*: WARNING: Lexing literal_block"
    - "js/Debugger/Debugger\\.md:.*: WARNING: Duplicate reference definition"
    - "l10n/migrations/localizations\\.md:.* ERROR: Anonymous hyperlink mismatch"
    - "mobile/android/geckoview/contributor/geckoview-architecture\\.md:.*: WARNING: Duplicate explicit target name"
    - "networking/http/prioritization\\.md:.*: ERROR: At least one body element must separate transitions"
    - "networking/http/prioritization\\.md:.*: ERROR: Document may not end with a transition"
    - "testing/automated-testing/manifest-sandbox\\.md:.*: WARNING: download file not readable"
    - "UITour-lib.Mozilla.UITour.* WARNING: duplicate class description of Mozilla.UITour"
    - "mobile/android/shared/android/device_testing\\.md:.*: WARNING: Pygments lexer name"
    - "widget/windows/windows-pointing-device/index.md:.*: WARNING: image file not readable"
    # Unknown document warnings
    # Undefined label warnings.
    - "code-quality/.*\\.md:.*: WARNING: undefined label"
    - "crash-reporting/index\\.rst:.*: WARNING: undefined label"
    - "dom/navigation/nav_replace\\.md:.*: WARNING: undefined label"
    - "devtools-user/page_inspector/how_to/work_with_animations/index\\.(rst|md):.*: WARNING: undefined label"
    - "js/build\\.rst:.*: WARNING: undefined label"
    - "layout/Reftest\\.md:.*: WARNING: undefined label"
    - "mots/index.md:.*: WARNING: undefined label"
    - "nspr/.* WARNING: undefined label"
    - "tools/fuzzing/fuzzing_interface\\.md:.*: WARNING: undefined label"
    - "tools/fuzzing/index\\.md:.*: WARNING: undefined label"
    - "tools/try/selectors/chooser\\.md:.*: WARNING: undefined label"
    - "tools/try/tasks\\.md:.*: WARNING: undefined label"
    # Bug 1915274 - Clean up documentation warnings in NSS
    - "security/nss/.* WARNING: undefined label"
    # Various python issues
    - "\\.py:.*: ERROR: Unexpected indentation."
    - "\\.py:.* WARNING: duplicate object description"
    - "docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:.*: ERROR: Unexpected indentation."
    - "docstring of mozbuild.vendor.moz_yaml.VALID_SOURCE_HOSTS:.*: WARNING: Inline emphasis start-string without end-string"
    - "process_define_file:.*: WARNING: Inline emphasis start-string without end-string"
    - "docstring of marionette_driver.*: WARNING: Field list ends without a blank line"
    - "missing attribute .* in object mozprocess.ProcessHandlerMixin"
    - "WARNING: autodoc: failed to import module"
    - "WARNING: invalid signature for automodule \\('mozbuild.action.xpidl-process'\\)"
    - "WARNING: don't know which module to import for autodocumenting"
    # This file has various warnings that need investigation.
    - "python/mozbuild/mozbuild/frontend/context\\.py"
    # mozbuild.sphinx extension warnings.
    - "WARNING: the mozbuild.sphinx extension does not declare"
    - "WARNING: doing serial read"

# Paths to exclude from documentation staging to avoid duplicate builds
    - "bug-pipeline\\.md:.*: WARNING: Duplicate explicit target name"
    - "devtools-user/web_console/remoting/index\\.(rst|md):.*: WARNING: Duplicate explicit target name"
    - "dom/navigation/BrowsingContext\\.md:.*: WARNING: Duplicate explicit target name"
    - "overview/index\\.md:.*: WARNING: toctree contains reference to nonexisting document 'mobile/android/overview'"
    - "devtools-user/3d_view/index\\.(rst|md):.*: WARNING: unknown document"
    - "devtools-user/debugger-api/index\\.(rst|md):.*: WARNING: unknown document"
    - "devtools-user/memory/aggregate_view/index\\.(rst|md):.*: WARNING: unknown document"
    - "devtools-user/migrating_from_firebug/index\\.(rst|md):.*: WARNING: unknown document"
    - "devtools-user/network_monitor/index\\.(rst|md):.*: WARNING: unknown document"
    - "devtools-user/tips/index\\.(rst|md):.*: WARNING: unknown document"
    - "devtools-user/tools_toolbox/index\\.(rst|md):.*: WARNING: unknown document"
    - "bug-mgmt/guides/bug-types\\.md:.*: WARNING: undefined label"
    - "bug-mgmt/policies/triage-bugzilla\\.md:.*: WARNING: undefined label"
    - "bug-mgmt/processes/fixing-security-bugs\\.md:.*: WARNING: undefined label"
    - "bug-mgmt/processes/labels\\.md:.*: WARNING: undefined label"
    - "bug-mgmt/processes/security-approval\\.md:.*: WARNING: undefined label"
    - "gtest/index\\.md:.*: WARNING: undefined label"
    - "jsloader/jsloader-api\\.md:.*: WARNING: undefined label"
    - "jsloader/system-modules\\.md:.*: WARNING: undefined label"
    - "devtools-user/page_inspector/how_to/examine_and_edit_css/index\\.(rst|md):.*: WARNING: undefined label"
    - "devtools-user/tips/index\\.(rst|md):.*: WARNING: undefined label"
    - "devtools-user/web_console/console_messages/index\\.(rst|md):.*: ERROR: Undefined substitution referenced"
    # mdn-imported content with image width values that confuse the parser.
    - "devtools-user/.*: WARNING: 'image': Invalid option value for 'width'"
    - "crash-reporting/index\\.md:.*: WARNING: undefined label"
    - "crash-reporting/searching_crash_reports\\.md:.*: WARNING: undefined label"
    - "js/build\\.md:.*: WARNING: undefined label"
    - "overview/gecko\\.rst:.*: WARNING: undefined label"
    - "WARNING: toctree contains reference to document 'contributing/build/supported'"
    - "supported\\.rst:.*: CRITICAL: Problems with \"include\" directive path"
    - "WARNING: undefined label: 'writing-xpcom-interface'"
    - "WARNING: undefined label: 'waiving-xray-vision'"
    - "WARNING: undefined label: 'uri-loader-service'"
    - "WARNING: undefined label: 'external_helper_app_service'"
    - "WARNING: undefined label: 'defining_xpcom_components'"
    - "ipc/ipdl\\.md:.*: WARNING: Duplicate explicit target name"
    - "ipc/processes\\.md:.*: WARNING: Duplicate explicit target name"
    - "setup/building_with_debug_symbols\\.md:.*: WARNING: undefined label"
    - "setup/configuring_build_options\\.md:.*: WARNING: undefined label"
    - "setup/contributing_code\\.md:.*: WARNING: undefined label"
    - "setup/linux_32bit_build_on_64bit_OS\\.md:.*: WARNING: undefined label"
    - "setup/linux_build\\.md:.*: WARNING: undefined label"
    - "setup/macos_build\\.md:.*: WARNING: undefined label"
    - "setup/windows_build\\.md:.*: WARNING: undefined label"
    - "setup/windows_wsl_build\\.md:.*: WARNING: undefined label"
    - "WARNING: glossary terms must not be separated by empty lines"
    - "contributing/.*\\.md:.*: WARNING: undefined label"
    - "permissions\\.py:.*: ERROR: Unknown target name: \"server-locations\\.txt\""
    - "layout/Reftest\\.md:.*: WARNING: undefined label"
    - "taskcluster/release-promotion-action\\.md:.*: WARNING: undefined label"
    - "toolkit/components/messaging-system/docs/index\\.md:.*: WARNING: undefined label"
    - "toolkit/components/telemetry/data/event-ping\\.md:.*: WARNING: undefined label"
    - "toolkit/components/telemetry/obsolete/collection/custom-pings\\.md:.*: WARNING: undefined label"
    - "toolkit/components/telemetry/data/install-ping\\.md:.*: ERROR: Document or section may not begin with a transition"
    - "toolkit/mozapps/extensions/addon-manager/AMRemoteSettings-overview\\.md:.*: WARNING: undefined label"
exclude_patterns:
    - js/src/doc/Debugger

# JSDoc must run successfully for dirs specified, so running
# tree-wide (the default) will not work currently.
# When adding more paths to this list, please ensure that they are not
# excluded from the valid-jsdoc and require-jsdoc sections in the top-level
# eslint-rollouts.config.mjs.
js_source_paths:
    - browser/components/backup
    - browser/components/backup/actors
    - browser/components/backup/resources
    - browser/components/customizableui
    - browser/components/extensions
    - browser/components/migration
    - browser/components/migration/content
    - browser/components/mozcachedohttp
    - browser/components/mozcachedohttp/actors
    - browser/components/uitour
    - browser/components/urlbar
    - browser/components/urlbar/content
    - js/xpconnect/loader
    - remote/marionette
    - testing/mochitest/BrowserTestUtils
    - testing/mochitest/tests/SimpleTest/SimpleTest.js
    - testing/mochitest/tests/SimpleTest/EventUtils.js
    - testing/modules/Assert.sys.mjs
    - testing/modules/TestUtils.sys.mjs
    - toolkit/actors
    - toolkit/components/extensions
    - toolkit/components/extensions/parent
    - toolkit/components/ml/content/backends/ONNXPipeline.mjs
    - toolkit/modules/BrowserUtils.sys.mjs
    - toolkit/mozapps/extensions
    - toolkit/components/prompts/src
    - toolkit/components/pictureinpicture
    - toolkit/components/pictureinpicture/content
    # This is limited to SearchService.sys.mjs for now, as we only need to
    # generate docs for that file currently. Other search files
    # (e.g. SearchEngineSelector) are failing due to
    # https://github.com/pyodide/sphinx-js/issues/242 or a variant of it.
    - toolkit/components/search/SearchService.sys.mjs
    - toolkit/components/uniffi-bindgen-gecko-js/components/generated
