github.com-microsoft-fluentui
all · 22 devs · built 2026-08-09
Repository snapshot
Monthly reports
No monthly reports available yet.
Performance over time
ETV stacked by Growth, Maintenance and Fixes — 90-day moving average, normalized to ETV / month.
Average performance per developer
ETV per active developer per month — 30-day moving average.
Active developers over time
Unique developers committing each day — 90-day moving average.
Knowledge concentration
How dependent is this repo on a small number of contributors? Higher top-1 share = higher key-person risk.
Dmytro Kirpa owns 15.0 % of commits.
Top contributors
Most impactful commits
Top 20 by ETV in the all-time window.
- 11.9ETVfeat(web-components): generate SSR templates and stylesheets into src/ (#36259) ## Previous Behavior SSR template HTML and stylesheet CSS were generated at build time and written only to `dist/`. The output had no presence in `src/`, was never committed, and contributors had no way to inspect the DSD output without running a build. ## New Behavior SSR templates and stylesheets are now generated next to their `*.template.ts` / `*.styles.ts` siblings in `src/` and committed to the repo. This makes the DSD output visible during the WC v3 alpha. `yarn compile` no longer regenerates them; it copies `src/**/*.template.html` and `src/**/*.styles.css` into `dist/esm/`. `yarn generate:ssr` runs the harness's `generateFTemplates` and `generateStylesheets` with `outDir: 'src'` and formats the result with Prettier. `yarn check:ssr` runs the generators against a staging directory and compares the result to `src/` and the working tree. It reports `unchanged`, `created`, `updated`, `stale`, `handEdited`, and `conflicts`, and exits non-zero when stale, hand-edited, or conflicting files appear. `yarn compile` is extended to copy `src/**/*.template.html` and `src/**/*.styles.css` into `dist/esm/` after `tsc`, preserving subdirectory structure. The old `build:ssr`, `build:ssr:styles`, and `build:ssr:templates` scripts were removed.John Kreitlow · 3fc293f0 · 2026-06-11
- 4.5ETVtest(react-menu): add hook-level regression tests for react-menu components (#36080)Victor Genaev · cb0574cc · 2026-05-15
- 3.8ETVfix(web-components): harden component lifecycle for SSR/DSD hydration scenarios (#35838)John Kreitlow · da4bf9e4 · 2026-04-06
- 2.7ETVfeat(web-components): add Dropdown, Listbox, and Option components (#32116)John Kreitlow · f706fe1a · 2025-02-03
- 2.4ETVchore: migrate v9 packages to use eslint flat configs (#35418)Victor Genaev · e3c76a57 · 2025-11-12
- 2.4ETVfeat(react-toast): headless toast implementation (#36059) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>Dmytro Kirpa · da3b7a4f · 2026-05-28
- 2.3ETVfix(react-components,react-charts): migrate to R19 compatible JSX.* namespace types (#34923)Martin Hochel · bbaeb73e · 2025-07-31
- 2.2ETVfeat(motion): Add Stagger choreography component (#34705)Robert Penner · ead2f273 · 2025-11-06
- 2.1ETVfeat(react-headless-components-preview): add Popover & positioning (#36006)Victor Genaev · d44cd64b · 2026-05-01
- 2.1ETVfeat(react-headless-components-preview): add Tag family (#36230)Victor Genaev · ecb629c1 · 2026-05-27
- 2.0ETVfeat(react-headless-components-preview): add Menu component and stories (#36110)Victor Genaev · 9204ee11 · 2026-05-19
- 1.9ETVfeat(web-components): add SSR support via Declarative Shadow DOM modules (#36247) ## Previous Behavior `@fluentui/web-components` had no server-side rendering path. Components were defined and rendered only on the client, so SSR frameworks could not pre-render Fluent web components into HTML and hydrate them on load. The e2e tests ran against a custom harness that only covered client-side rendering. ## New Behavior `@fluentui/web-components` now supports SSR via Declarative Shadow DOM, built on `@microsoft/fast-element` and `@microsoft/fast-html`. Every component in the package ships a paired `define-async.ts` / `*.definition-async.ts` module so its template can render on the server and hydrate on the client. The build also emits two new asset types alongside the JS modules, one pair per component (42 of each), exposed through new package subpath exports: - `@fluentui/web-components/<component>/template.html`: declarative HTML template wrapped in `<f-template>`, consumed by `@microsoft/fast-html` to render Declarative Shadow DOM on the server. - `@fluentui/web-components/<component>/styles.css`: plain CSS extracted from the component's styles, importable as a raw stylesheet without pulling in the component's JS. Currently, the SSR templates and styles are generated at build time and placed in the `dist` output, but we may want to provide them as src assets in the future for easier consumption and customization. New test harness modules (`test/src/entry-client.ts`, `test/src/entry-server.ts`) and a `test/ssr.html` entry point template exercise the DSD output end-to-end. The e2e pipeline runs SSR tests after CSR tests. Several components needed template or base adjustments to render correctly under SSR: tooltip (anchor positioning polyfill handling), text-input, textarea, tree, and tree-item. The `theme/set-theme` tests are skipped under SSR. ## Next Steps This PR lays the groundwork for SSR support in `@fluentui/web-components`, but there are still some follow-up tasks to complete: - Update to the latest `@microsoft/fast-element` and remove the `@microsoft/fast-html` dependency, as DSD rendering will be directly supported in FAST in the next major release. - Provide more detailed documentation and examples for using the SSR templates and styles. - Add more comprehensive SSR tests covering edge cases and hydration scenarios.John Kreitlow · 8ee8c7e1 · 2026-05-27
- 1.9ETVfeat(chart-web-components): Create chart web components - Donut and Horizontal Bar Chart (#33084) Co-authored-by: Anush Gupta <74965306+Anush2303@users.noreply.github.com> Co-authored-by: krkshitij <110246001+krkshitij@users.noreply.github.com> Co-authored-by: v-baambati <132879294+v-baambati@users.noreply.github.com> Co-authored-by: Kumar Kshitij <kumarkshitij@microsoft.com>Atishay Jain (atisjai) · 5964b11d · 2025-01-14
- 1.8ETVtest(react-teaching-popover): add hook regression tests (#36201)Victor Genaev · a316c33f · 2026-05-14
- 1.7ETVfeat(react-headless-components-preview): add TagPicker (#36285)Victor Genaev · 88fc286a · 2026-08-01
- 1.7ETVfeat(babel-preset-storybook-full-source): add opt-in per-story fullSource slicing (#36404)Martin Hochel · 90a83b2d · 2026-07-27
- 1.5ETVfeat(react-headless-components-preview): add Dialog component (#35996) Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Dmytro Kirpa <dmytrokirpa@users.noreply.github.com> Co-authored-by: Copilot <copilot@github.com>Dmytro Kirpa · 4756919f · 2026-04-23
- 1.5ETVfeat(react-integration-tester): implement `rit` CLI (#35172)Martin Hochel · 3caf684a · 2025-09-11
- 1.5ETVdocs(web-components): match storybook argTypes to custom element manifest (#36271)Dave Rupert · d88afcef · 2026-06-10
- 1.5ETVfeat(react-headless-components-preview): add Nav component and stories (#36213)Dmytro Kirpa · b7214c31 · 2026-05-21