Ownership is measured by how many commits each author made to each file. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated.
Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.
| File | Sole owner | Commits |
|---|---|---|
| compiler/forget/Cargo.lock | Joe Savona | 31 |
| shells/browser/chrome/manifest.json | Brian Vaughn | 26 |
| compiler/forget/packages/eslint-plugin-react-forget/src/rules/ReactForgetDiagnostics.ts | lauren | 25 |
| src/devtools/views/Tree.js | Brian Vaughn | 23 |
| src/devtools/views/SelectedElement.js | Brian Vaughn | 22 |
| compiler/forget/crates/build-hir/src/build.rs | Joe Savona | 21 |
| compiler/forget/crates/forget_semantic_analysis/src/analyzer.rs | Joe Savona | 20 |
| src/devtools/views/Settings/Settings.js | Brian Vaughn | 19 |
| src/devtools/views/InspectedElementTree.js | Brian Vaughn | 19 |
| compiler/forget/crates/forget_estree/src/generated.rs | Joe Savona | 18 |
| compiler/forget/crates/build-hir/src/builder.rs | Joe Savona | 18 |
| src/devtools/views/Profiler/Profiler.css | Brian Vaughn | 16 |
| src/devtools/types.js | Brian Vaughn | 16 |
| src/devtools/views/Element.css | Brian Vaughn | 16 |
| compiler/scripts/release/publish.js | lauren | 15 |
| compiler/forget/Cargo.toml | Joe Savona | 15 |
| src/devtools/views/TabBar.css | Brian Vaughn | 15 |
| docs/docs/refactor/00-table-of-contents.md | Pete Hunt | 15 |
| compiler/forget/crates/forget_build_hir/src/build.rs | Joe Savona | 14 |
| compiler/forget/crates/forget_estree_codegen/src/codegen.rs | Joe Savona | 14 |
| compiler/forget/crates/forget_semantic_analysis/src/scope_manager.rs | Joe Savona | 14 |
| src/hydration.js | Brian Vaughn | 14 |
| src/devtools/views/Elements.js | Brian Vaughn | 14 |
| compiler/forget/crates/fixtures/tests/fixtures_test.rs | Joe Savona | 13 |
| compiler/forget/crates/hir/src/print.rs | Joe Savona | 13 |
| compiler/forget/crates/hir/src/instruction.rs | Joe Savona | 13 |
| src/devtools/ProfilerStore.js | Brian Vaughn | 13 |
| src/devtools/views/Profiler/SidebarCommitInfo.css | Brian Vaughn | 13 |
| compiler/forget/crates/forget_hir/src/instruction.rs | Joe Savona | 12 |
| compiler/forget/crates/forget_fixtures/tests/fixtures_test.rs | Joe Savona | 12 |
| compiler/forget/crates/estree-swc/src/lib.rs | Joe Savona | 12 |
| src/devtools/views/HooksTree.js | Brian Vaughn | 12 |
| src/devtools/views/InspectedElementTree.css | Brian Vaughn | 12 |
| docs/docs/refactor/02-displaying-data.md | Pete Hunt | 12 |
| compiler/forget/crates/forget_estree_swc/src/lib.rs | Joe Savona | 11 |
| compiler/forget/crates/estree/src/lib.rs | Joe Savona | 11 |
| shells/dev/app/InspectableElements/InspectableElements.js | Brian Vaughn | 11 |
| src/hook.js | Brian Vaughn | 11 |
| src/devtools/cache.js | Brian Vaughn | 11 |
| src/devtools/views/Profiler/SnapshotSelector.css | Brian Vaughn | 11 |
| shells/browser/shared/src/panel.js | Brian Vaughn | 11 |
| src/devtools/views/TreeContext.js | Brian Vaughn | 11 |
| src/devtools/views/HooksTree.css | Brian Vaughn | 11 |
| compiler/forget/packages/babel-plugin-react-forget/src/CompilerError.ts | lauren | 10 |
| compiler/fault-tolerance-overview.md | Joseph Savona | 10 |
| compiler/forget/crates/forget_estree/src/visit.rs | Joe Savona | 10 |
| compiler/forget/crates/forget_ssa/src/enter.rs | Joe Savona | 10 |
| compiler/forget/crates/forget_estree_codegen/src/ecmascript.json | Joe Savona | 10 |
| src/devtools/views/Settings/Settings.css | Brian Vaughn | 10 |
| src/devtools/views/Profiler/SnapshotCommitList.js | Brian Vaughn | 10 |
Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.
| Author | Files owned | Solely owned | Files touched |
|---|---|---|---|
| Joe Savona | 6370 | 4098 | 8533 |
| lauren | 4775 | 3058 | 5856 |
| Brian Vaughn | 2263 | 1416 | 3819 |
| Sebastian Markbåge | 1781 | 481 | 3508 |
| Mofei Zhang | 1418 | 859 | 2565 |
| Joseph Savona | 1398 | 739 | 2350 |
| Dan Abramov | 1168 | 531 | 2731 |
| Paul O’Shannessy | 888 | 237 | 1701 |
| mofeiZ | 576 | 251 | 1044 |
| Andrew Clark | 565 | 116 | 2377 |
| Sathya Gunasekaran | 534 | 366 | 1039 |
| Sophie Alpert | 499 | 30 | 1412 |
| Dominic Gannaway | 368 | 158 | 881 |
| Xuan Huang (黄玄) | 265 | 123 | 319 |
| Jan Kassens | 239 | 35 | 4286 |
| Pete Hunt | 237 | 42 | 479 |
| Josh Story | 226 | 86 | 788 |
| jstejada | 213 | 103 | 260 |
| Michael Vitousek | 197 | 63 | 382 |
| Sebastian "Sebbie" Silbermann | 187 | 94 | 919 |
| Nathan | 183 | 7 | 410 |
| Ruslan Lesiutin | 160 | 68 | 516 |
| Vjeux | 130 | 2 | 328 |
| Nathan Hunzaker | 109 | 25 | 244 |
| Rick Hanlon | 91 | 19 | 733 |
Files touched by the most people — shared code where changes are most likely to need coordination.
| File | Contributors | Primary owner | Owner share |
|---|---|---|---|
| package.json | 108 | Brian Vaughn | 16.7% |
| docs/docs/tutorial.md | 73 | Sophie Alpert | 14.0% |
| yarn.lock | 69 | Brian Vaughn | 23.8% |
| README.md | 63 | Paul O’Shannessy | 30.6% |
| src/renderers/dom/shared/__tests__/ReactDOMComponent-test.js | 53 | Sophie Alpert | 22.1% |
| CHANGELOG.md | 47 | Dan Abramov | 36.0% |
| packages/shared/ReactFeatureFlags.js | 46 | Andrew Clark | 16.1% |
| packages/shared/forks/ReactFeatureFlags.www.js | 45 | Andrew Clark | 15.5% |
| scripts/rollup/bundles.js | 45 | Sebastian Markbåge | 23.9% |
| packages/shared/forks/ReactFeatureFlags.native-fb.js | 44 | Andrew Clark | 14.4% |
| packages/shared/forks/ReactFeatureFlags.test-renderer.js | 43 | Andrew Clark | 15.9% |
| packages/shared/forks/ReactFeatureFlags.native-oss.js | 43 | Andrew Clark | 15.3% |
| packages/shared/forks/ReactFeatureFlags.test-renderer.www.js | 42 | Andrew Clark | 15.4% |
| scripts/rollup/build.js | 42 | Dan Abramov | 23.7% |
| docs/docs/05-reusable-components.md | 40 | Sophie Alpert | 11.5% |
| packages/eslint-plugin-react-hooks/__tests__/ESLintRuleExhaustiveDeps-test.js | 39 | Dan Abramov | 34.6% |
| packages/react-reconciler/src/ReactFiberBeginWork.js | 38 | Sebastian Markbåge | 26.9% |
| packages/react-reconciler/src/ReactFiberHooks.js | 38 | Andrew Clark | 30.8% |
| .eslintrc.js | 38 | Sebastian Markbåge | 22.3% |
| packages/eslint-plugin-react-hooks/src/ExhaustiveDeps.js | 38 | Dan Abramov | 36.7% |