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
14,955
in the current tree
Bus Factor
2
2 authors are primary owner of 7,860 of 14,955 files
Single-Owner Files
11,415
76.3% of tracked files
Contributors
692
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
libs/core/modules/recursive_load.rsBartek Iwańczuk12
ext/node/ops/module_hooks.rsBartek Iwańczuk10
tests/specs/node/module_register_hooks_esm/__test__.jsoncBartek Iwańczuk9
libs/cli_parser/src/lib.rsBartek Iwańczuk6
tests/specs/test/hooks/async_error.outBartek Iwańczuk6
libs/core/ops_metrics.rsBartek Iwańczuk5
libs/core/source_map.rsBartek Iwańczuk5
libs/config/clippy.tomlDavid Sherret5
tests/registry/npm/@babel/parser/registry.jsonDavid Sherret5
tests/registry/npm/@ljharb/has-package-exports-patterns/registry.jsonDavid Sherret5
Table: the 100 most-changed of 11,415 single-owner files
FileSole ownerCommits
libs/core/modules/recursive_load.rsBartek Iwańczuk12
ext/node/ops/module_hooks.rsBartek Iwańczuk10
tests/specs/node/module_register_hooks_esm/__test__.jsoncBartek Iwańczuk9
libs/cli_parser/src/lib.rsBartek Iwańczuk6
tests/specs/test/hooks/async_error.outBartek Iwańczuk6
libs/core/ops_metrics.rsBartek Iwańczuk5
libs/core/source_map.rsBartek Iwańczuk5
libs/config/clippy.tomlDavid Sherret5
tests/registry/npm/@babel/parser/registry.jsonDavid Sherret5
tests/registry/npm/@ljharb/has-package-exports-patterns/registry.jsonDavid Sherret5
tests/registry/npm/@vue/compiler-core/registry.jsonDavid Sherret5
tests/registry/npm/@vue/compiler-dom/registry.jsonDavid Sherret5
tests/registry/npm/@vue/compiler-sfc/registry.jsonDavid Sherret5
tests/registry/npm/@vue/compiler-ssr/registry.jsonDavid Sherret5
tests/registry/npm/@vue/reactivity-transform/registry.jsonDavid Sherret5
tests/registry/npm/@vue/reactivity/registry.jsonDavid Sherret5
tests/registry/npm/@vue/runtime-core/registry.jsonDavid Sherret5
tests/registry/npm/@vue/runtime-dom/registry.jsonDavid Sherret5
tests/registry/npm/@vue/server-renderer/registry.jsonDavid Sherret5
tests/registry/npm/@vue/shared/registry.jsonDavid Sherret5
tests/registry/npm/ajv-formats/registry.jsonDavid Sherret5
tests/registry/npm/ajv/registry.jsonDavid Sherret5
tests/registry/npm/ansi-regex/registry.jsonDavid Sherret5
tests/registry/npm/ansi-styles/registry.jsonDavid Sherret5
tests/registry/npm/asn1/registry.jsonDavid Sherret5
tests/registry/npm/assertion-error/registry.jsonDavid Sherret5
tests/registry/npm/bcrypt-pbkdf/registry.jsonDavid Sherret5
tests/registry/npm/buildcheck/registry.jsonDavid Sherret5
tests/registry/npm/camelcase/registry.jsonDavid Sherret5
tests/registry/npm/chai/registry.jsonDavid Sherret5
tests/registry/npm/chalk/registry.jsonDavid Sherret5
tests/registry/npm/check-error/registry.jsonDavid Sherret5
tests/registry/npm/cliui/registry.jsonDavid Sherret5
tests/registry/npm/color-convert/registry.jsonDavid Sherret5
tests/registry/npm/color-name/registry.jsonDavid Sherret5
tests/registry/npm/cowsay/registry.jsonDavid Sherret5
tests/registry/npm/cpu-features/registry.jsonDavid Sherret5
tests/registry/npm/crypto-js/registry.jsonDavid Sherret5
tests/registry/npm/decamelize/registry.jsonDavid Sherret5
tests/registry/npm/deep-eql/registry.jsonDavid Sherret5
tests/registry/npm/define-properties/registry.jsonDavid Sherret5
tests/registry/npm/emoji-regex/registry.jsonDavid Sherret5
tests/registry/npm/estree-walker/registry.jsonDavid Sherret5
tests/registry/npm/fast-deep-equal/registry.jsonDavid Sherret5
tests/registry/npm/find-up/registry.jsonDavid Sherret5
tests/registry/npm/fs-extra/registry.jsonDavid Sherret5
tests/registry/npm/function-bind/registry.jsonDavid Sherret5
tests/registry/npm/get-caller-file/registry.jsonDavid Sherret5
tests/registry/npm/get-func-name/registry.jsonDavid Sherret5
tests/registry/npm/get-intrinsic/registry.jsonDavid Sherret5
tests/registry/npm/get-stdin/registry.jsonDavid Sherret5
tests/registry/npm/globals/registry.jsonDavid Sherret5
tests/registry/npm/graceful-fs/registry.jsonDavid Sherret5
tests/registry/npm/has-flag/registry.jsonDavid Sherret5
tests/registry/npm/has-package-exports/registry.jsonDavid Sherret5
tests/registry/npm/has-property-descriptors/registry.jsonDavid Sherret5
tests/registry/npm/has-symbols/registry.jsonDavid Sherret5
tests/registry/npm/has/registry.jsonDavid Sherret5
tests/registry/npm/is-fullwidth-code-point/registry.jsonDavid Sherret5
tests/registry/npm/js-tokens/registry.jsonDavid Sherret5
tests/registry/npm/json-schema-traverse/registry.jsonDavid Sherret5
tests/registry/npm/jsonfile/registry.jsonDavid Sherret5
tests/registry/npm/locate-path/registry.jsonDavid Sherret5
tests/registry/npm/loose-envify/registry.jsonDavid Sherret5
tests/registry/npm/loupe/registry.jsonDavid Sherret5
tests/registry/npm/magic-string/registry.jsonDavid Sherret5
tests/registry/npm/mkdirp/registry.jsonDavid Sherret5
tests/registry/npm/nan/registry.jsonDavid Sherret5
tests/registry/npm/nanoid/registry.jsonDavid Sherret5
tests/registry/npm/object-keys/registry.jsonDavid Sherret5
tests/registry/npm/p-limit/registry.jsonDavid Sherret5
tests/registry/npm/p-locate/registry.jsonDavid Sherret5
tests/registry/npm/p-try/registry.jsonDavid Sherret5
tests/registry/npm/path-exists/registry.jsonDavid Sherret5
tests/registry/npm/pathval/registry.jsonDavid Sherret5
tests/registry/npm/picocolors/registry.jsonDavid Sherret5
tests/registry/npm/postcss/registry.jsonDavid Sherret5
tests/registry/npm/preact-render-to-string/registry.jsonDavid Sherret5
tests/registry/npm/preact/registry.jsonDavid Sherret5
tests/registry/npm/pretty-format/registry.jsonDavid Sherret5
tests/registry/npm/punycode/registry.jsonDavid Sherret5
tests/registry/npm/react-dom/registry.jsonDavid Sherret5
tests/registry/npm/react/registry.jsonDavid Sherret5
tests/registry/npm/require-directory/registry.jsonDavid Sherret5
tests/registry/npm/require-from-string/registry.jsonDavid Sherret5
tests/registry/npm/require-main-filename/registry.jsonDavid Sherret5
tests/registry/npm/safer-buffer/registry.jsonDavid Sherret5
tests/registry/npm/scheduler/registry.jsonDavid Sherret5
tests/registry/npm/set-blocking/registry.jsonDavid Sherret5
tests/registry/npm/source-map-js/registry.jsonDavid Sherret5
tests/registry/npm/source-map/registry.jsonDavid Sherret5
tests/registry/npm/sourcemap-codec/registry.jsonDavid Sherret5
tests/registry/npm/ssh2/registry.jsonDavid Sherret5
tests/registry/npm/string-width/registry.jsonDavid Sherret5
tests/registry/npm/strip-ansi/registry.jsonDavid Sherret5
tests/registry/npm/strip-final-newline/registry.jsonDavid Sherret5
tests/registry/npm/supports-color/registry.jsonDavid Sherret5
tests/registry/npm/supports-esm/registry.jsonDavid Sherret5
tests/registry/npm/tweetnacl/registry.jsonDavid Sherret5
tests/registry/npm/type-detect/registry.jsonDavid Sherret5

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
David Sherret4,1163,2075,348
Bartek Iwańczuk3,7442,9565,251
Nathan Whitaker1,4329432,665
Mohammad Sulaiman1,0771,0171,161
Matt Mastracci6585641,167
em5394201,002
HasanAlrimawi463415605
Marvin Hagemeister305229546
Leo Kettmeir304201754
Kenta Moriuchi275171,313
Nayeem Rahman237186485
Felipe Cardozo134126241
Divy12584638
Yoshiya Hinosawa11157338
Luca Casonato10966474
nathanwhitbot9983276
Fibi9890194
crowlbot8775185
snek8038312
denobot72385
Luna7170144
Asher Gomez6933335
Yusuke Tanaka6243185
Satya Rohith5943202
Daniel Osvaldo Rahmanto3620216

Showing top 25 of 692 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
Cargo.lock153Bartek Iwańczuk22.1%
cli/args/flags.rs99Bartek Iwańczuk28.6%
Cargo.toml92David Sherret21.5%
cli/main.rs84Bartek Iwańczuk27.1%
cli/Cargo.toml81David Sherret24.6%
README.md72Ryan Dahl35.3%
cli/tsc/dts/lib.deno.ns.d.ts60Asher Gomez32.2%
runtime/js/99_main.js57Bartek Iwańczuk31.2%
cli/lsp/language_server.rs53David Sherret30.8%
cli/args/mod.rs47David Sherret41.5%
runtime/worker.rs47Bartek Iwańczuk32.3%
cli/file_fetcher.rs45David Sherret23.1%
runtime/web_worker.rs44Bartek Iwańczuk31.4%
cli/worker.rs43Bartek Iwańczuk33.2%
cli/lsp/tsc.rs42Nayeem Rahman23.0%
cli/build.rs41Bartek Iwańczuk28.8%
cli/tools/fmt.rs41David Sherret37.9%
runtime/Cargo.toml40denobot38.1%
cli/tools/upgrade.rs39David Sherret29.6%
cli/tsc/dts/lib.deno.unstable.d.ts37Bartek Iwańczuk17.5%