John Kreitlow
90d · built 2026-09-08
Performance
What John Kreitlow shipped in the selected window, measured in ETV, and how it compares with the 90 days before it.
Effective capacity
+12.4engineers
delivers like 13.4 (13.4x pre-AI)
Output (ETV)
15.1ETV
+69.6% vs 8.9 prior
Features share
84.4%
+69.6 pp vs prior window
Fixes share
0.3%
−43.3 pp vs prior window
Work mix
84.4% Features12.1% Maintenance2% Tests1.3% Docs0.3% Fixes
6 commits over 90 days, ending 2026-09-08.
Daily performance
Daily ETV, stacked by Features, Maintenance, Tests, Docs and Fixes.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 10 by ETV in the last 90 days.
- 12.8ETVfeat(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.github.com-microsoft-fluentui · 3fc293f0 · 2026-06-11
- 1.1ETVchore(web-components): Upgrade Fluent Web Components to FAST Element v3 (#36351) # Pull Request ## 📖 Description Upgrade the Fluent Web Components (`@fluentui/web-components`) and Chart Web Components (`@fluentui/chart-web-components`) from FAST Element v2 to v3. The bulk of this change migrates the async (SSR) component definitions away from the `@microsoft/fast-html` `RenderableFASTElement(...).defineAsync(...)` pattern to FAST Element v3's declarative API. Each `*.definition-async.ts` now exports a `declarativeDefinition` built from `declarativeTemplate()` and the `FluentDesignSystem` registry, and each `define-async.ts` registers it with the standard `Element.define(...)` call. This drops the `@microsoft/fast-html` runtime dependency entirely. Supporting changes: - Bump `@microsoft/fast-element` from `^2.0.0` to `^3.0.0` in both `web-components` and `chart-web-components`. - Fix timing bugs and race conditions surfaced by the v3 declarative hydration flow. This is a prerelease-level change for `@fluentui/web-components` and a patch for `@fluentui/chart-web-components`.github.com-microsoft-fluentui · cb3684e3 · 2026-06-26
- 1.0ETVrefactor(web-components): replace compose() with plain definition objects (#36337) ## Previous Behavior Component definitions across `@fluentui/web-components` and `@fluentui/chart-web-components` were created with the `Element.compose()` API. Each `define.ts` then registered the element by calling `definition.define(FluentDesignSystem.registry)`, and benchmarks imported the composed `definition` directly to register elements. ## New Behavior Each component definition is now a plain `PartialFASTElementDefinition` object that includes `name`, `registry`, `styles`, and `template`. Registration happens by calling `Element.define(definition)` in each `define.ts`, and benchmarks import the component's `define.js` side-effect module instead of composing the definition themselves. The generated API report and `tensile.config.js` are updated to match. Behavior is functionally equivalent; this is an internal refactor that removes the `compose()` pattern.github.com-microsoft-fluentui · 19d82d85 · 2026-06-24
- 0.1ETVdocs(web-components): Update v2 to v3 migration doc (#36372) ## Previous Behavior The V2 → V3 migration guide (`packages/web-components/src/_docs/developer/migration.mdx`) was a high-level, snapshot-style document. It listed what was new in v3 as bullet points and relied heavily on large comparison tables, but gave little concrete guidance on how to actually update code — installation, component registration, theming, and per-component markup changes were sparse or missing. ## New Behavior The migration guide is rewritten to be a practical, task-oriented reference for moving from v2 (`2.6.1`) to v3: - Reframes the intro around v3 being a ground-up rewrite and calls out the concrete breaking areas: imports, component registration, theming, and form-control markup. - Adds a **Major Changes** overview (FAST Element v3 foundation, individual component exports, new registration model, token-based theming, `ElementInternals`, smaller bundle). - Adds a real **Bundle Size Comparison** table (v2.6.1 vs v3.0.0, with minified/gzip/brotli sizes and percentage reductions). - Adds **Usage** guidance covering installation, the `@microsoft/fast-element` peer dependency, side-effect `define` imports for individual components, `web-components.js`, and importing a component's class/template/styles/definition. - Documents the new **Theming** model, replacing design tokens and `DesignSystemProvider` with `setTheme()` (page-level and element-level, plus unsetting). - Updates the Storybook `Meta` title from "V2 → V3 Migration Guide" to "V2 to V3 Migration Guide" and the page heading to "Migration Guide".github.com-microsoft-fluentui · 88ae4e37 · 2026-07-06
- 0.1ETVdocs(web-components): add component sticker sheet page to storybook (#36367) Adds a new Sticker Sheet page to the Web Components storybook site. The new page is located under Concepts -> Developer -> Sticker Sheet, and includes all Fluent Web Components.github.com-microsoft-fluentui · da54a2c1 · 2026-07-02
- 0.0ETVdocs(web-components): fix sticker sheet quirks (#36373) ## Previous Behavior * The indeterminate `<fluent-checkbox>` example wasn't wired up correctly. * The `<fluent-accordion>` example felt a bit separated. ## New Behavior * The `indeterminate` flag is set when the page is loaded. * The accordion example uses single expand mode.github.com-microsoft-fluentui · a1c768b8 · 2026-07-06