github.com-facebook-docusaurus
all · 2 devs · built 2026-06-13
Repository snapshot
Monthly reports
Highlights
- Major refactoring and upgrade of the entire monorepo to *ESLint 9* and its flat configuration system, resolving numerous linting errors and improving code quality [7518645e · Sébastien Lorber].
- Successful migration of the project's test suite from *Jest to Vitest*, significantly enhancing the testing infrastructure [be553e02 · Sébastien Lorber].
- Extensive refactoring of the test suite to adopt *Explicit Resource Management* (ERM) and explicit Vitest imports, improving maintainability and reliability across almost all packages [9759b8ee · Sébastien Lorber], [057ab88f · Sébastien Lorber].
- Upgrades to *Stylelint* and adoption of *modern Node.js APIs* across core packages, streamlining the codebase and improving performance [ff28bdf0 · Sébastien Lorber], [98a605fe · Sébastien Lorber].
- Enhancements to the *dev-server* CLI with new options for *HTTPS support* [a846a0fd · Sébastien Lorber].
- Significant documentation improvements, including new sections for *AI/Agents community plugins*, *Markdown tables*, and guidance on *TypeScript ambient types* [99c26cdb · Timothy Jordan], [d7a8ae3c · Bansidhar kadiya], [7e3edcee · Mark Feng].
- Critical CI/CD improvements, such as restoring the *CodeQL workflow* and refining permissions for sensitive processes, enhancing security and reliability [4a65684a · Sébastien Lorber], [2fec1c70 · Sébastien Lorber].
- Breaking changes to remove deprecated APIs, including *`useColorMode`*, *`postBuild({head})`*, and the *Google Analytics plugin*, streamlining the core framework and ensuring adherence to modern practices [e35d0987 · Sébastien Lorber], [34656d72 · Sébastien Lorber], [1dba8e8e · Sébastien Lorber].
Observations
- Commit volume increased by 47% this period (55 commits) compared to the 38-commit 2-month average, indicating a period of heightened development activity.
- The *maintenance* score saw a substantial increase of 279% (2 this period vs 1-point 2-month average), reflecting a strong focus on internal upgrades, refactoring, and code quality improvements, particularly around *ESLint*, *Vitest*, and *Node.js API* modernization.
- The *waste* score surged by 324% (1 this period vs 0-point 2-month average), primarily driven by fixes in the *dev-server HTTPS configuration* [d478043e · Ben Maurer], *MDX loader link transformation* [aeae3002 · Thanasis Katsios], *client-redirects* [8434a8e0 · Danyal Ahmed], and *bundler HTML minification* [f981fd05 · Sébastien Lorber]. This suggests that while development was active, some areas required immediate rework.
- The *grow* score remained stable at 0, consistent with the 2-month average, indicating that the increased activity was not directed towards new feature development classified as 'grow' type.
- Multiple commits addressed issues within the *CI/CD pipeline*, such as restricting sensitive workflows on forks [13a5ce0a · Sébastien Lorber] and fixing Node `ERR_INTERNAL_ASSERTION` errors under Yarn PnP [c94af61d · Sébastien Lorber], highlighting ongoing efforts to stabilize and secure the build process.
- The *dev-server* component was a hotspot for activity, receiving both a feature documentation update for *HTTPS options* [a846a0fd · Sébastien Lorber] and a critical fix for *non-RSA TLS certs* [d478043e · Ben Maurer], indicating rapid iteration and bug resolution in this area.
- Extensive work was done on the *test suite*, with several commits dedicated to migrating from *Jest to Vitest* [be553e02 · Sébastien Lorber], refactoring for *Explicit Resource Management* [9759b8ee · Sébastien Lorber], and standardizing *Vitest imports* [057ab88f · Sébastien Lorber], demonstrating a significant investment in improving testing infrastructure.
Performance over time
ETV stacked by Growth, Maintenance and Fixes.
Average performance per developer
ETV per active developer per month.
Active developers over time
Unique developers committing each day.
Knowledge concentration
How dependent is this repo on a small number of contributors? Higher top-1 share = higher key-person risk.
Sébastien Lorber owns 99.5 % of commits.
Top contributors
Most impactful commits
Top 20 by ETV in the all-time window.
- 1.4ETVfeat(core): New siteConfig `future.experimental_vcs` API + `future.experimental_faster.gitEagerVcs` flag (#11512) Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · acc66c14 · 2025-11-14
- 1.0ETVrefactor(ideal-image-plugin): internalize legacy component code (#11010) * almost working * refactor: apply lint autofix * cspell ignore * refactor: apply lint autofix * type fixes --------- Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · fcee060f · 2025-03-19
- 1.0ETVfeat(core): Add `siteConfig.markdown.hooks`, deprecate `siteConfig.onBrokenMarkdownLinks` (#11283)Sébastien Lorber · 96c38d5f · 2025-06-24
- 0.9ETVfeat(core): add `i18n.localeConfigs.translate` + skip translation process if `i18n/<locale>` dir doesn't exist (#11304)Sébastien Lorber · 1808945c · 2025-07-07
- 0.7ETVchore(monorepo): upgrade to Jest 30 (#11702) Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · 81248ee5 · 2026-01-30
- 0.7ETVfeat(theme): new CSS cascade layers plugin + built-in `v4.useCssCascadeLayers` future flag (#11142) Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · abd04a2b · 2025-05-22
- 0.5ETVfeat(core): Docusaurus Faster - SSG worker threads (#10826) Co-authored-by: Sébastien Lorber <slorber@users.noreply.github.com> Co-authored-by: Mariusz Krzaczkowski <m.krzaczkowski@yetiforce.com> Co-authored-by: João Victor Lopes <joaof.victor@hotmail.com> Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · 98aab813 · 2025-01-27
- 0.5ETVrefactor(theme): introduce CodeBlockContextProvider + split into smaller components (#11062) * introduce CodeBlockContextProvider * refactor: apply lint autofix * add comment * move wordWrap to context * Refactor button components * remove console logs * Extract more code block components * Extract CodeBlockLineToken subcomponent * add TODOs --------- Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · 31b279fe · 2025-04-04
- 0.5ETVfeat(core): Add `i18n.localeConfigs[locale].{url,baseUrl}` config options (#11316) Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · 2febb76f · 2025-07-28
- 0.5ETVfix(theme): navbar mobile sidebar should allow clicking dropdown parent link (#11053) * try to repro + initial fix * Use HTML button * extract useItemCollapsible() * Split DropdownNavbarItem into Mobile/Desktop subcomponents * Add aria labels to button * cleanup prop types * aria label * add translations * cleanup types * Split DefaultNavbarItem into Mobile/Desktop subcomponents * revert change * type fixSébastien Lorber · 16e30029 · 2025-04-03
- 0.5ETVrefactor(monorepo): migrate to pnpm 11 (#12109)Sébastien Lorber · 96b32dd2 · 2026-06-04
- 0.5ETVchore(website): split changelog per version + adjust changelog plugin implementation (#11287)Sébastien Lorber · e82cd488 · 2025-06-24
- 0.5ETVfeat(theme): Allow resetting colorMode to System/OS value (#10987) * make it work * fix * Try to fix accessibility issues * add translations * rename 'auto' to 'system' * refactor: apply lint autofix * rename 'auto' to 'system' * remove title prop * typo * use shorter title * refactor: apply lint autofix * document useColorMode tradeoffs + data-attribute variables --------- Co-authored-by: slorber <749374+slorber@users.noreply.github.com> Co-authored-by: nasso Co-authored-by: OzakIOneSébastien Lorber · 7cf94c03 · 2025-03-14
- 0.4ETVchore(monorepo): upgrade monorepo to ESLint 9 (#12024) * ESLint 10 * remove backup * Fix header * downgrade to ESLint 9 - fix some errors * fix more errors * fix more errors * fix more errors * fix more errors * fix more errors * fix more errors * fix more errors * all eslint errors fixed! * refactor: apply lint autofix * snapshot * fix ESLint tests * snapshot * lockfile * fix eslint plugin docs types * syncpack ignore * restore eslint-plugin-eslint-plugin, upgrade it + fix new plugin lint errors --------- Co-authored-by: slorber <749374+slorber@users.noreply.github.com>Sébastien Lorber · 7518645e · 2026-05-15
- 0.4ETVfeat(theme): Split `<DocCard>`, improve extensibility, better handling of emoji icons, stable classNames (#11734)Sébastien Lorber · eac406c8 · 2026-02-13
- 0.4ETVfeat(cli): `write-heading-ids` CLI now supports the `--syntax` option (#11777)Sébastien Lorber · 71515552 · 2026-03-05
- 0.4ETVrefactor(live-codeblock): refactor live code block theme components (#11077)Sébastien Lorber · 29d19a68 · 2025-04-10
- 0.4ETVrefactor(theme): CodeBlock, centralize metadata parsing + refactor theme component (#11059) * fix import duplicated * centralize parsing of code block metadata * split logic into many subcomponents * extract getCodeBlockClassName * fix duplicate useCodeWordWrap() call * simplify JSX * move ensureLanguageClassName logic to theme-common * fix line highlighting bug * rename tokens to lines * Extract Pre/Code subcomponents * Add tests for metadata language * Add tests for metadata className * Add tests for metadata title * Add tests for metadata line highlighting * Add tests for metadata lineNumbersStartSébastien Lorber · d28210d3 · 2025-04-04
- 0.4ETVfeat(theme): make it possible to provide your own page title formatter (#11090)Sébastien Lorber · 730ce485 · 2025-04-11
- 0.4ETVfeat(docs): sidebar item `key` attribute - fix docs translations key conflicts (#11228)Sébastien Lorber · da085368 · 2025-07-03