How many people understand each part?
2 of 25 modules depend on one person
Is there a safety net for changes?
tests run in CI and live in a central test directory; tying them to individual modules would need a coverage run
How much scaffolding did nobody remove?
43 in source, 399 in tests (kept, not work), 6 untouched for 3+ years, 304 external issues to check
Does it build from scratch?
1 gap that makes the build less reproducible (no lockfile)
Is the documentation real?
2 day-one questions are unanswered: how to restore a backup; where the secrets live and how to rotate them
Who holds the keys?
answered by a person, not by a scanner
Where knowledge is concentrated
Read from who changed what, not from a staffing plan. Contributors are labelled, not named: this is about how knowledge is spread, never about a person.
| Module | Changes | People | Reading |
|---|---|---|---|
packages/js |
97 | 14 | risk one person made 63% of the changes |
lib/mcp |
2 | 1 | risk one person has ever touched it |
Scaffolding nobody removed
Code written because of an external problem, oldest first, from the source only. A comment in a test that links to an issue is usually the regression test for that bug, so a closed issue there is a reason to keep the test, not to remove it. This project has 399 of those and they are not listed here.
| Untouched | Where | Recorded reason |
|---|---|---|
| 6.3 yr | bin/eslint.js:29Note: See - https://github.com/nodejs/node/blob/master/doc/api/process.md#processstdin - https://github.com/nodejs/node/blob/master/doc/api/ |
github:nodejs/node#7439 |
| 5.0 yr | lib/linter/linter.js:68eslint-disable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/4#issuecomment-778805577 * @te |
github:jsdoc-type-pratt-parser/jsdoc-type-pratt-parser#4 |
| 5.0 yr | lib/linter/linter.js:73eslint-enable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/4#issuecomment-778805577 |
github:jsdoc-type-pratt-parser/jsdoc-type-pratt-parser#4 |
| 4.3 yr | docs/src/assets/js/focus-visible.js:276It is important to wrap all references to global window and document in these checks to support server-side rendering use cases @see https:/ |
github:WICG/focus-visible#199 |
| 1.8 yr | lib/shared/text-table.js:5This modification addresses a performance issue reported in https://github.com/eslint/eslint/issues/18709 |
github:eslint/eslint#18709 |
| 1.4 yr | Makefile.js:775Check if id is present in title @param {string} id id to check for @returns {boolean} true if present @private @todo Will remove this check |
unmarked |
| 1.4 yr | webpack.config.js:35We want to remove `transform-unicode-regex` convert because of https://github.com/eslint/eslint/pull/12662. |
github:eslint/eslint#12662 |
| 1.4 yr | lib/shared/runtime-info.js:174Indicate intent for imports, remove ambiguity for Knip (see: https://github.com/eslint/eslint/pull/18005#discussion_r1484422616) |
github:eslint/eslint#18005 |
| 1.4 yr | lib/rules/comma-dangle.js:288Extend the range of the fix to include surrounding tokens to ensure that the element after which the comma is removed stays _last_. This int |
github:eslint/eslint#15660 |
| 1.4 yr | lib/rules/comma-dangle.js:350Extend the range of the fix to include surrounding tokens to ensure that the element after which the comma is inserted stays _last_. This in |
github:eslint/eslint#15660 |
| 1.4 yr | lib/rules/func-call-spacing.js:176Only autofix if there is no newline https://github.com/eslint/eslint/issues/7787 |
github:eslint/eslint#7787 |
| 1.4 yr | lib/rules/func-call-spacing.js:216Only autofix if there is no newline https://github.com/eslint/eslint/issues/7787 But if `?.` exists, it doesn't hide no-unexpected-multiline |
github:eslint/eslint#7787 |
The same report, on your own repository
npx ancient-code .
Everything on this page came out of that one command, run against a full clone. It is free and open source, it needs no account, and your code never leaves your machine.