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
21,732
in the current tree
Bus Factor
1
Alexander Akait is primary owner of 12,293 of 21,732 files
Single-Owner Files
18,521
85.2% of tracked files
Contributors
707
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
docs/syntax.mdAlexander Akait35
tooling/generate-js-data.jsAlexander Akait24
tooling/generate-html-data.jsAlexander Akait21
test/statsCases/analyzable-esm-fallbacks/test.config.jsAlexander Akait18
lib/html/data.jsAlexander Akait17
test/statsCases/analyzable-esm-fallbacks/__snapshots__/StatsTest.snapAlexander Akait17
lib/html/syntax-printer.jsAlexander Akait16
test/statsCases/analyzable-esm-fallbacks/webpack.config.jsAlexander Akait16
tooling/compare-js-tools.jsAlexander Akait15
lib/javascript/syntax-printer-data.jsAlexander Akait15
Table: the 100 most-changed of 18,521 single-owner files
FileSole ownerCommits
docs/syntax.mdAlexander Akait35
tooling/generate-js-data.jsAlexander Akait24
tooling/generate-html-data.jsAlexander Akait21
test/statsCases/analyzable-esm-fallbacks/test.config.jsAlexander Akait18
lib/html/data.jsAlexander Akait17
test/statsCases/analyzable-esm-fallbacks/__snapshots__/StatsTest.snapAlexander Akait17
lib/html/syntax-printer.jsAlexander Akait16
test/statsCases/analyzable-esm-fallbacks/webpack.config.jsAlexander Akait16
tooling/compare-js-tools.jsAlexander Akait15
lib/javascript/syntax-printer-data.jsAlexander Akait15
docs/architecture.mdAlexander Akait12
tooling/generate-types.jsAlexander Akait12
lib/context/ContextModule.jsAlexander Akait12
lib/module/Module.jsAlexander Akait11
test/configCases/html/minimize-transforms/__snapshots__/ConfigCacheTest.snapAlexander Akait11
test/configCases/html/minimize-transforms/__snapshots__/ConfigTest.snapAlexander Akait11
test/specCases/cssParsing-webpack.spectest.jsAlexander Akait10
tooling/COMPARE_TOOLS.mdAlexander Akait10
schemas/plugins/css/CssAutoOrModuleParserOptions.check.jsAlexander Akait10
lib/hmr/HotModuleReplacementPlugin.jsAlexander Akait10
lib/module/NormalModuleFactory.jsAlexander Akait10
lib/javascript/data.jsAlexander Akait9
test/specCases/html5lib.spectest.jsAlexander Akait9
test/configCases/html/minimize-round-trip/test.config.jsAlexander Akait9
schemas/plugins/dll/DllReferencePlugin.check.jsAlexander Akait8
schemas/plugins/ids/HashedModuleIdsPlugin.check.jsAlexander Akait8
schemas/plugins/json/JsonModulesPluginGenerator.check.jsAlexander Akait8
lib/define/DefinePlugin.jsAlexander Akait8
lib/dependencies/css/CssIcssExportDependency.jsAlexander Akait8
lib/dependencies/esm/ESMImportDependencyParserPlugin.jsAlexander Akait8
test/unitCases/SourceProcessor.unittest.jsAlexander Akait8
docs/pull-requests.mdAlexander Akait8
test/configCases/css/minimize-corpus/__snapshots__/ConfigCacheTest.snapAlexander Akait8
test/configCases/css/minimize-corpus/__snapshots__/ConfigTest.snapAlexander Akait8
test/configCases/css/minimize-environment/__snapshots__/ConfigCacheTest.snapAlexander Akait8
test/configCases/css/minimize-environment/__snapshots__/ConfigTest.snapAlexander Akait8
test/configCases/css/minimize/test.config.jsAlexander Akait8
test/unitCases/javascript/parser.unittest.jsAlexander Akait7
schemas/plugins/SSRManifestPlugin.check.jsAlexander Akait7
test/templates/ConfigTestCases.jsAlexander Akait7
test/unitCases/RuntimeTemplate.unittest.jsAlexander Akait7
lib/resolve/IgnorePlugin.jsAlexander Akait7
lib/devtool/EvalSourceMapDevToolPlugin.jsAlexander Akait7
lib/runtime/RuntimeModule.jsAlexander Akait7
test/configCases/html/minimize/test.config.jsAlexander Akait7
test/configCases/css/postcss-modules-plugins/postcss-modules-extract-imports.modules.cssAlexander Akait7
test/configCases/sharing/provide-module/index.jsTobias Koppers7
schemas/plugins/output/CleanOptions.check.jsAlexander Akait6
docs/verifying.mdAlexander Akait6
lib/fs/FileSystemInfo.jsAlexander Akait6
lib/optimize/FlagDependencyExportsPlugin.jsAlexander Akait6
lib/output/CopyPlugin.jsAlexander Akait6
test/templates/HotTestCases.jsAlexander Akait6
test/templates/TestCases.jsAlexander Akait6
lib/optimize/FlagDependencyUsagePlugin.jsAlexander Akait6
lib/dependencies/commonjs/CommonJsPlugin.jsAlexander Akait6
test/unitCases/Compiler.unittest.jsAlexander Akait6
test/helpers/terserSources.jsAlexander Akait6
test/configCases/css/minimize-merge-distant-rules/__snapshots__/ConfigCacheTest.snapAlexander Akait6
test/configCases/css/minimize-merge-distant-rules/__snapshots__/ConfigTest.snapAlexander Akait6
test/configCases/css/minimize-rewrite-custom-properties/__snapshots__/ConfigCacheTest.snapAlexander Akait6
test/configCases/css/minimize-rewrite-custom-properties/__snapshots__/ConfigTest.snapAlexander Akait6
lib/dependencies/esm/ESMEvaluatedImportSpecifierDependency.jsAlexander Akait6
lib/template/TemplatedPathPlugin.jsAlexander Akait6
test/configCases/css/css-loader/index.jsAlexander Akait6
lib/dependencies/esm/ESMAcceptDependency.jsAlexander Akait6
lib/dependencies/esm/ESMCompatibilityDependency.jsAlexander Akait6
test/configCases/css/minimize-strings/__snapshots__/ConfigCacheTest.snapAlexander Akait6
test/configCases/css/minimize-strings/__snapshots__/ConfigTest.snapAlexander Akait6
lib/util/LocConverter.jsAlexander Akait6
test/WebpackCli.longtest.jsAlexander Akait6
test/configCases/target/universal-all-module-types/test.filter.jsAlexander Akait6
test/configCases/analyzable/circular-chunk-hashes/webpack.config.jsAlexander Akait6
test/configCases/css/css-loader/__snapshots__/ConfigCacheTest.snapAlexander Akait6
test/configCases/css/css-loader/__snapshots__/ConfigTest.snapAlexander Akait6
test/configCases/css/postcss-modules-plugins/postcss-modules-local-by-default.local.modules.cssAlexander Akait6
test/configCases/worker/blob/test.filter.jsAlexander Akait6
examples/nodejs-addons/README.mdAlexander Akait6
test/configCases/css/webpack-ignore/style.cssalexander-akait6
test/cases/side-effects/dynamic-reexports/index.jsTobias Koppers6
test/unitCases/css/parser.unittest.jsAlexander Akait5
lib/config/cli.jsAlexander Akait5
lib/dependencies/css/CssUrlDependency.jsAlexander Akait5
lib/dependencies/esm/ESMImportGuard.jsAlexander Akait5
lib/dependencies/esm/ESMLiveExportParserPlugin.jsAlexander Akait5
schemas/plugins/dll/DllPlugin.check.jsAlexander Akait5
lib/performance/HotspotsPlugin.jsAlexander Akait5
lib/dependencies/esm/ESMDetectionParserPlugin.jsAlexander Akait5
lib/wasm/AsyncWebAssemblyJavascriptGenerator.jsAlexander Akait5
lib/wasm/AsyncWebAssemblyParser.jsAlexander Akait5
lib/javascript/regexp.jsAlexander Akait5
test/unitCases/cssIdentifier.unittest.jsAlexander Akait5
test/configCases/css/minimize-web-corpus/__snapshots__/ConfigCacheTest.snapAlexander Akait5
test/configCases/css/minimize-web-corpus/__snapshots__/ConfigTest.snapAlexander Akait5
lib/logging/ProgressPlugin.jsAlexander Akait5
test/configCases/runtime/on-chunks-loaded-priority/DeferredPriorityRuntimeModule.jsAlexander Akait5
test/specCases/test262-parser.spectest.jsAlexander Akait5
test/configCases/css/minimize-merge-distant-rules/style.cssAlexander Akait5
test/configCases/css/minimize-merge-distant-rules/test.config.jsAlexander Akait5
lib/dependencies/amd/AMDRequireArrayDependency.jsAlexander Akait5

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
Alexander Akait12,29311,36713,903
Tobias Koppers3,6152,5394,311
hai-x1,3811,1101,680
alexander-akait9095611,635
Xiao8677701,102
Sebastian Beltran450426578
Raj Aryan434362518
Ivan Kopeykin235176401
Gengkun139118217
Aviv Keller13585618
Jack Works605681
Sergey Melyukov5246186
Nitin Kumar4640220
Sean Larkin4641126
Florent Cailhol4234243
Fy403674
magic-akari383254
Tim Sebastian373475
Ryuya291982
Sam Brett252335
ScriptedAlchemy242241
Juan Lomán232332
Bazyli Brzóska220254
xiaoxiaojx22838
Landon Crapo222229

Showing top 25 of 707 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
package.json113Tobias Koppers60.1%
README.md105Tobias Koppers36.3%
types.d.ts98Alexander Akait32.1%
lib/Compilation.js75Tobias Koppers55.9%
schemas/WebpackOptions.json75Tobias Koppers36.8%
yarn.lock66Tobias Koppers30.3%
lib/Compiler.js54Tobias Koppers45.4%
lib/NormalModule.js53Tobias Koppers47.7%
bin/webpack.js40Tobias Koppers52.4%
lib/config/defaults.js36Alexander Akait34.0%
lib/optimize/ConcatenatedModule.js35Tobias Koppers50.2%
schemas/WebpackOptions.check.js32Alexander Akait47.6%
lib/webpack.js32Tobias Koppers59.3%
lib/Chunk.js31Tobias Koppers52.0%
test/__snapshots__/Cli.basictest.js.snap28Alexander Akait58.3%
lib/ModuleFilenameHelpers.js28Tobias Koppers22.5%
lib/javascript/JavascriptParser.js27Alexander Akait30.7%
lib/index.js25Tobias Koppers32.5%
lib/ProgressPlugin.js25Tobias Koppers45.3%
lib/optimize/SplitChunksPlugin.js23Tobias Koppers48.6%