Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
67,949
in the current tree
Bus Factor
1
Jake Bailey is primary owner of 63,098 of 67,949 files
Single-Owner Files
64,384
94.8% of tracked files
Contributors
247
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
.github/workflows/create-cherry-pick-pr.ymlJake Bailey14
tsc/internal/vfs/vfs_test.goJake Bailey12
tsc/internal/checker/types_test.goJake Bailey9
tsc/internal/vfs/osvfs/realpath_test.goJake Bailey9
.github/workflows/close-issues.ymlJake Bailey9
tsc/internal/project/checkerpool_test.goJake Bailey8
tsc/internal/vfs/osvfs/os_test.goJake Bailey7
tsc/internal/bundled/libs/lib.dom.d.tsJake Bailey7
tsc/internal/bundled/libs/lib.webworker.d.tsJake Bailey7
tsc/internal/lsp/server_projectinfo_test.goJake Bailey6
Table: the 100 most-changed of 64,384 single-owner files
FileSole ownerCommits
.github/workflows/create-cherry-pick-pr.ymlJake Bailey14
tsc/internal/vfs/vfs_test.goJake Bailey12
tsc/internal/checker/types_test.goJake Bailey9
tsc/internal/vfs/osvfs/realpath_test.goJake Bailey9
.github/workflows/close-issues.ymlJake Bailey9
tsc/internal/project/checkerpool_test.goJake Bailey8
tsc/internal/vfs/osvfs/os_test.goJake Bailey7
tsc/internal/bundled/libs/lib.dom.d.tsJake Bailey7
tsc/internal/bundled/libs/lib.webworker.d.tsJake Bailey7
tsc/internal/lsp/server_projectinfo_test.goJake Bailey6
tsc/internal/lsp/server_progress_test.goJake Bailey5
tsc/internal/vfs/vfsmatch/vfsmatch_test.goJake Bailey5
tools/go.modJake Bailey5
tools/go.sumJake Bailey5
tsc/internal/transformers/estransforms/usestrict.goJake Bailey5
tsc/internal/bundled/libs/lib.es2020.intl.d.tsJake Bailey5
tsc/internal/bundled/libs/lib.es2020.bigint.d.tsJake Bailey5
.github/skills/api-client/SKILL.mdAndrew Branch5
tsc/cmd/tsc/lsp.goJake Bailey4
tools/pipelines/steps/setup-node-npm-ci.ymlJake Bailey4
.github/actions/setup-go/action.ymlJake Bailey4
tsc/internal/fswatch/fsevents_darwin_ffi.goJake Bailey4
tsc/internal/bundled/libs/lib.es2015.collection.d.tsJake Bailey4
tsc/internal/parser/testdata/fuzz/FuzzParser/02b74efe61495c2aJake Bailey4
tsc/internal/parser/testdata/fuzz/FuzzParser/9ce2d994c65c7bfeJake Bailey4
tsc/testdata/baselines/reference/compiler/subpathImportDeclarationEmit.symbolsJake Bailey4
tsc/internal/bundled/libs/lib.es2015.iterable.d.tsJake Bailey4
tsc/internal/bundled/libs/lib.dom.iterable.d.tsJake Bailey4
tsc/internal/bundled/libs/lib.es2017.sharedmemory.d.tsJake Bailey4
tsc/internal/bundled/libs/lib.es2022.intl.d.tsJake Bailey4
tsc/internal/bundled/libs/lib.webworker.iterable.d.tsJake Bailey4
packages/typescript/src/vscode/extensionApi.tsAndrew Branch4
tools/customlint/plugin.goJake Bailey3
tsc/cmd/tsc/sys.goJake Bailey3
tsc/internal/checker/tracer_test.goJake Bailey3
tsc/internal/tracing/tracing_test.goJake Bailey3
tsc/internal/vfs/vfsmatch/bench_test.goJake Bailey3
tsc/internal/vfs/vfsmock/wrapper_test.goJake Bailey3
tools/pipelines/steps/setup-vsce.ymlJake Bailey3
tools/pipelines/localization-update.ymlJake Bailey3
tools/pipelines/steps/create-github-app-token.ymlJake Bailey3
tsc/internal/diagnostics/diagnostics_test.goJake Bailey3
tsc/internal/fswatch/README.mdJake Bailey3
tsc/internal/fswatch/fsevents_darwin_ffi.sJake Bailey3
tsc/internal/lsp/lsproto/structcodec.goJake Bailey3
NOTICE.txtJake Bailey3
go.workJake Bailey3
tsc/internal/lsp/progress_test.goJake Bailey3
.git-blame-ignore-revsJake Bailey3
tsc/internal/fourslash/tests/quickinfoVerbosityNamespaceInterfaceHeritageCrash_test.goJake Bailey3
tsc/internal/fourslash/tests/quickinfoVerbosityNamespaceInterfaceHeritageIntersectionCrash_test.goJake Bailey3
tsc/testdata/baselines/reference/fourslash/findAllReferences/findAllRefsCommonJsRequire.baseline.jsoncJake Bailey3
tsc/testdata/baselines/reference/lsp/stackSanitizer/genericSecretWorkaround.mdJake Bailey3
tsc/internal/fourslash/tests/documentHighlightImportPath_test.goJake Bailey3
tsc/internal/fourslash/tests/goToDefinitionPreferSourceDefinition_test.goJake Bailey3
tsc/internal/fourslash/tests/hoverAliasInImportedFile_test.goJake Bailey3
tsc/internal/fourslash/tests/unreachableCodeDiagnostics_test.goJake Bailey3
tsc/internal/bundled/libs/lib.es2018.intl.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2015.core.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2015.symbol.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2017.string.d.tsJake Bailey3
tsc/testdata/baselines/reference/compiler/automaticTypeDirectiveResolutionBundler.symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/automaticTypeDirectiveResolutionBundler.typesJake Bailey3
tsc/testdata/baselines/reference/compiler/blockedScopeVariableNotUnused1.jsJake Bailey3
tsc/testdata/baselines/reference/compiler/blockedScopeVariableNotUnused1.symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/blockedScopeVariableNotUnused1.typesJake Bailey3
tsc/testdata/baselines/reference/compiler/declarationEmitExpandoArrowFunctionParameter.jsJake Bailey3
tsc/testdata/baselines/reference/compiler/declarationEmitExpandoArrowFunctionParameter.symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=false).errors.txtJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=false).jsJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=false).symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=false).typesJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=true).errors.txtJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=true).jsJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=true).symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/deduplicatePackages(deduplicatepackages=true).typesJake Bailey3
tsc/testdata/baselines/reference/compiler/packageDeduplicationDuplicateGlobals.jsJake Bailey3
tsc/testdata/baselines/reference/compiler/packageDeduplicationDuplicateGlobals.symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/subpathImportDeclarationEmit.typesJake Bailey3
tsc/testdata/baselines/reference/compiler/subpathImportsJS.jsJake Bailey3
tsc/testdata/baselines/reference/compiler/subpathImportsJS.symbolsJake Bailey3
tsc/testdata/baselines/reference/compiler/subpathImportsJS.typesJake Bailey3
tsc/testdata/baselines/reference/compiler/superCallInJSWithWrongBaseTypeArgumentCount2(strict=false).errors.txtJake Bailey3
tsc/testdata/baselines/reference/conformance/typeTagForMultipleVariableDeclarations.errors.txtJake Bailey3
tsc/internal/bundled/libs/lib.es2020.symbol.wellknown.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2022.regexp.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.esnext.intl.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2015.symbol.wellknown.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2016.intl.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2017.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2020.sharedmemory.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2020.string.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2021.intl.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2021.weakref.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2022.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2022.error.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2023.array.d.tsJake Bailey3
tsc/internal/bundled/libs/lib.es2024.sharedmemory.d.tsJake Bailey3
tsc/testdata/baselines/reference/compiler/exportAssignmentMerging6.symbolsAnders Hejlsberg3
tsc/testdata/baselines/reference/compiler/exportAssignmentMerging6.typesAnders Hejlsberg3

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Jake Bailey63,09860,80964,104
Cameron709709976
Oleksandr Tarasiuk6113801,173
Copilot6004771,174
Andrew Branch4623401,165
Ryan Cavanaugh450443479
Mateusz Burzyński386235531
Wesley Wigham328221617
Gabriela Araujo Britto2941761,318
Sheetal Nandi24180705
Anders Hejlsberg189161660
John Favret18582390
navya9singh5225106
graphemecluster441451
Daniel Rosenwasser4241203
Ron Buckton215109
Isabel Duan1913228
Nathan Shively-Sanders1612103
xu0o0141145
Daniel Lockyer141415
Dayong Lee101012
udit8519
Eugene Kalinin8811
Shooks889
Max Schwenk7416

Showing top 25 of 247 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
tsc/internal/checker/checker.go45Anders Hejlsberg25.1%
package.json42Jake Bailey26.6%
README.md42Wesley Wigham12.3%
CONTRIBUTING.md36Daniel Rosenwasser16.9%
.gitignore27Wesley Wigham18.5%
tsc/internal/compiler/program.go23Jake Bailey39.6%
tsc/internal/ast/utilities.go23Anders Hejlsberg21.1%
tsc/internal/ast/ast.go21Jake Bailey22.8%
tsc/internal/parser/parser.go21Jake Bailey24.8%
tsc/internal/checker/utilities.go20Jake Bailey26.9%
tsc/internal/scanner/scanner.go20Jake Bailey29.9%
tsc/internal/tsoptions/tsconfigparsing.go20Jake Bailey24.4%
tsc/internal/ls/completions.go19Gabriela Araujo Britto24.8%
tsc/internal/checker/relater.go19Anders Hejlsberg38.9%
tsc/internal/lsp/server.go18Jake Bailey44.8%
tsc/internal/printer/printer.go18Jake Bailey23.4%
tsc/internal/checker/nodebuilderimpl.go18Jake Bailey39.8%
tsc/internal/transformers/declarations/transform.go18Wesley Wigham28.2%
package-lock.json17TypeScript Bot85.0%
tsc/internal/api/session.go17Andrew Branch46.9%