-
Command line execution (CLI mode): Yes
| fileCount | authorCount | commitCount | daysSinceLastCommit | daysSinceLastCreation | daysSinceLastModification | |
|---|---|---|---|---|---|---|
| count | 251.000000 | 251.000000 | 251.000000 | 251.000000 | 251.000000 | 251.000000 |
| mean | 20.318725 | 12.776892 | 125.561753 | 195.159363 | 529.565737 | 215.151394 |
| std | 95.313430 | 42.242609 | 429.580557 | 148.746410 | 466.991073 | 226.175775 |
| min | 1.000000 | 2.000000 | 2.000000 | 38.000000 | 45.000000 | 37.000000 |
| 25% | 2.000000 | 2.000000 | 5.000000 | 75.000000 | 217.000000 | 74.000000 |
| 50% | 4.000000 | 4.000000 | 23.000000 | 192.000000 | 370.000000 | 199.000000 |
| 75% | 12.000000 | 9.000000 | 66.000000 | 229.000000 | 606.000000 | 248.000000 |
| max | 1369.000000 | 570.000000 | 4807.000000 | 705.000000 | 1690.000000 | 1633.000000 |
| directoryPath | directoryParentPath | directoryName | fileCount | firstFile | mostFrequentFileExtension | authorCount | mainAuthor | secondAuthor | commitCount | daysSinceLastCommit | daysSinceLastCreation | daysSinceLastModification | lastCommitDate | lastCreationDate | lastModificationDate | maxCommitSha | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | react-router-7.13.0/examples/custom-query-parsing/types | react-router-7.13.0/examples/custom-query-parsing | types | 1 | react-router-7.13.0/examples/custom-query-parsing/types/jsurl.d.ts | ts | 3 | Logan McAnsh | Matt Brophy | 5 | 705 | 1593 | 1593 | 2024-03-27 | 2021-10-20 | 2021-10-20 | dd0de338dfb32e38d1f4b091b3442ae55515edc3 |
| 1 | react-router-7.13.0/integration/helpers/cloudflare-dev-proxy-template/app/routes | react-router-7.13.0/integration/helpers/cloudflare-dev-proxy-template/app | routes | 1 | react-router-7.13.0/integration/helpers/cloudflare-dev-proxy-template/app/routes/_index.tsx | tsx | 4 | Jacob Ebey | Mark Dalgleish | 19 | 361 | 370 | 370 | 2025-03-06 | 2025-02-24 | 2025-02-24 | f8b1a47883109f968702ff272a370070577ca2ed |
| 2 | react-router-7.13.0/integration/helpers/cloudflare-dev-proxy-template/public | react-router-7.13.0/integration/helpers/cloudflare-dev-proxy-template | public | 1 | react-router-7.13.0/integration/helpers/cloudflare-dev-proxy-template/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 3 | 361 | 370 | 370 | 2025-03-06 | 2025-02-24 | 2025-02-24 | c838b33e3f6c41c263ee8522a336539db23d7ad5 |
| 3 | react-router-7.13.0/integration/helpers/rsc-vite-framework/app/routes | react-router-7.13.0/integration/helpers/rsc-vite-framework/app | routes | 1 | react-router-7.13.0/integration/helpers/rsc-vite-framework/app/routes/_index.tsx | tsx | 2 | Mark Dalgleish | Matt Brophy | 3 | 207 | 217 | 217 | 2025-08-07 | 2025-07-28 | 2025-07-28 | ed1196fffdf832d6e68ed17de08027065d24051e |
| 4 | react-router-7.13.0/integration/helpers/rsc-vite-framework/public | react-router-7.13.0/integration/helpers/rsc-vite-framework | public | 1 | react-router-7.13.0/integration/helpers/rsc-vite-framework/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 3 | 207 | 217 | 217 | 2025-08-07 | 2025-07-28 | 2025-07-28 | ed1196fffdf832d6e68ed17de08027065d24051e |
| 5 | react-router-7.13.0/integration/helpers/rsc-vite/public | react-router-7.13.0/integration/helpers/rsc-vite | public | 1 | react-router-7.13.0/integration/helpers/rsc-vite/public/favicon.ico | ico | 2 | Jacob Ebey | Matt Brophy | 4 | 229 | 248 | 248 | 2025-07-16 | 2025-06-26 | 2025-06-26 | f153b191e1c52bc8fb0e485bfd5d8ec2a8752104 |
| 6 | react-router-7.13.0/integration/helpers/vite-5-template/app/routes | react-router-7.13.0/integration/helpers/vite-5-template/app | routes | 1 | react-router-7.13.0/integration/helpers/vite-5-template/app/routes/_index.tsx | tsx | 6 | Jacob Ebey | Mark Dalgleish | 21 | 437 | 440 | 440 | 2024-12-20 | 2024-12-17 | 2024-12-17 | f8b1a47883109f968702ff272a370070577ca2ed |
| 7 | react-router-7.13.0/integration/helpers/vite-5-template/public | react-router-7.13.0/integration/helpers/vite-5-template | public | 1 | react-router-7.13.0/integration/helpers/vite-5-template/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 3 | 437 | 440 | 440 | 2024-12-20 | 2024-12-17 | 2024-12-17 | 5115991bfaef708b91dd4793831a3b2b2825a618 |
| 8 | react-router-7.13.0/integration/helpers/vite-6-template/app/routes | react-router-7.13.0/integration/helpers/vite-6-template/app | routes | 1 | react-router-7.13.0/integration/helpers/vite-6-template/app/routes/_index.tsx | tsx | 2 | Mark Dalgleish | Matt Brophy | 3 | 437 | 440 | 440 | 2024-12-20 | 2024-12-17 | 2024-12-17 | 5115991bfaef708b91dd4793831a3b2b2825a618 |
| 9 | react-router-7.13.0/integration/helpers/vite-6-template/public | react-router-7.13.0/integration/helpers/vite-6-template | public | 1 | react-router-7.13.0/integration/helpers/vite-6-template/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 3 | 437 | 440 | 440 | 2024-12-20 | 2024-12-17 | 2024-12-17 | 5115991bfaef708b91dd4793831a3b2b2825a618 |
| 10 | react-router-7.13.0/integration/helpers/vite-7-beta-template/app/routes | react-router-7.13.0/integration/helpers/vite-7-beta-template/app | routes | 1 | react-router-7.13.0/integration/helpers/vite-7-beta-template/app/routes/_index.tsx | tsx | 2 | Mark Dalgleish | Matt Brophy | 3 | 248 | 269 | 269 | 2025-06-27 | 2025-06-05 | 2025-06-05 | d424be65a191065a6a47015f91164974ab715d62 |
| 11 | react-router-7.13.0/integration/helpers/vite-7-beta-template/public | react-router-7.13.0/integration/helpers/vite-7-beta-template | public | 1 | react-router-7.13.0/integration/helpers/vite-7-beta-template/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 3 | 248 | 269 | 269 | 2025-06-27 | 2025-06-05 | 2025-06-05 | d424be65a191065a6a47015f91164974ab715d62 |
| 12 | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/app/routes | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/app | routes | 1 | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/app/routes/_index.tsx | tsx | 2 | Mark Dalgleish | Matt Brophy | 3 | 361 | 370 | 370 | 2025-03-06 | 2025-02-24 | 2025-02-24 | c838b33e3f6c41c263ee8522a336539db23d7ad5 |
| 13 | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/public | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template | public | 1 | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/public/favicon.ico | ico | 4 | Jacob Ebey | Mark Dalgleish | 18 | 361 | 370 | 370 | 2025-03-06 | 2025-02-24 | 2025-02-24 | f8b1a47883109f968702ff272a370070577ca2ed |
| 14 | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/workers | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template | workers | 1 | react-router-7.13.0/integration/helpers/vite-plugin-cloudflare-template/workers/app.ts | ts | 2 | Mark Dalgleish | Matt Brophy | 12 | 221 | 370 | 220 | 2025-07-24 | 2025-02-24 | 2025-07-24 | f77ca631ab6016e138716edf785c20d70b2855df |
| 15 | react-router-7.13.0/integration/helpers/vite-rolldown-template/app/routes | react-router-7.13.0/integration/helpers/vite-rolldown-template/app | routes | 1 | react-router-7.13.0/integration/helpers/vite-rolldown-template/app/routes/_index.tsx | tsx | 2 | Mark Dalgleish | Matt Brophy | 3 | 319 | 325 | 325 | 2025-04-17 | 2025-04-11 | 2025-04-11 | c97fd4c1e43e880787986dd23352e045ff4de4c5 |
| 16 | react-router-7.13.0/integration/helpers/vite-rolldown-template/public | react-router-7.13.0/integration/helpers/vite-rolldown-template | public | 1 | react-router-7.13.0/integration/helpers/vite-rolldown-template/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 3 | 319 | 325 | 325 | 2025-04-17 | 2025-04-11 | 2025-04-11 | c97fd4c1e43e880787986dd23352e045ff4de4c5 |
| 17 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/basic/app/routes | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/basic/app | routes | 1 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/basic/app/routes/home.tsx | tsx | 2 | Mark Dalgleish | Michael Jackson | 3 | 465 | 487 | 487 | 2024-11-22 | 2024-10-31 | 2024-10-31 | c6afcf85f2003d93e77f901e2b4ecdef5e83fd97 |
| 18 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/basic/public | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/basic | public | 1 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/basic/public/favicon.ico | ico | 2 | Mark Dalgleish | Michael Jackson | 3 | 465 | 487 | 487 | 2024-11-22 | 2024-10-31 | 2024-10-31 | c6afcf85f2003d93e77f901e2b4ecdef5e83fd97 |
| 19 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/blank | react-router-7.13.0/packages/create-react-router/__tests__/fixtures | blank | 1 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/blank/package.json | json | 2 | Mark Dalgleish | Michael Jackson | 3 | 465 | 487 | 487 | 2024-11-22 | 2024-10-31 | 2024-10-31 | c6afcf85f2003d93e77f901e2b4ecdef5e83fd97 |
| 20 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/with-ignored-dir | react-router-7.13.0/packages/create-react-router/__tests__/fixtures | with-ignored-dir | 1 | react-router-7.13.0/packages/create-react-router/__tests__/fixtures/with-ignored-dir/package.json | json | 2 | Mark Dalgleish | Michael Jackson | 3 | 465 | 487 | 487 | 2024-11-22 | 2024-10-31 | 2024-10-31 | c6afcf85f2003d93e77f901e2b4ecdef5e83fd97 |
| 21 | react-router-7.13.0/packages/react-router-architect/sessions | react-router-7.13.0/packages/react-router-architect | sessions | 1 | react-router-7.13.0/packages/react-router-architect/sessions/arcTableSessionStorage.ts | ts | 3 | Mark Dalgleish | Matt Brophy | 10 | 221 | 593 | 220 | 2025-07-24 | 2024-07-16 | 2025-07-24 | eed3ebd417e2522f527eee4fba098785ceb3dcfb |
| 22 | react-router-7.13.0/packages/react-router-cloudflare/sessions | react-router-7.13.0/packages/react-router-cloudflare | sessions | 1 | react-router-7.13.0/packages/react-router-cloudflare/sessions/workersKVStorage.ts | ts | 3 | Mark Dalgleish | Matt Brophy | 10 | 221 | 594 | 220 | 2025-07-24 | 2024-07-15 | 2025-07-24 | eed3ebd417e2522f527eee4fba098785ceb3dcfb |
| 23 | react-router-7.13.0/packages/react-router-dev/__tests__/fixtures/basic/app/routes | react-router-7.13.0/packages/react-router-dev/__tests__/fixtures/basic/app | routes | 1 | react-router-7.13.0/packages/react-router-dev/__tests__/fixtures/basic/app/routes/_index.tsx | tsx | 6 | Jacob Ebey | Mark Dalgleish | 25 | 409 | 410 | 410 | 2025-01-17 | 2025-01-16 | 2025-01-16 | fbe8ac244eedb8556dd0faf00dfbe1f78e461120 |
| 24 | react-router-7.13.0/packages/react-router-dev/__tests__/fixtures/basic/public | react-router-7.13.0/packages/react-router-dev/__tests__/fixtures/basic | public | 1 | react-router-7.13.0/packages/react-router-dev/__tests__/fixtures/basic/public/favicon.ico | ico | 2 | Mark Dalgleish | Matt Brophy | 4 | 409 | 410 | 410 | 2025-01-17 | 2025-01-16 | 2025-01-16 | c364bd450e5e8811bd4d24f7e5fe5489d361a66f |
| 25 | react-router-7.13.0/packages/react-router-express/__tests__ | react-router-7.13.0/packages/react-router-express | __tests__ | 1 | react-router-7.13.0/packages/react-router-express/__tests__/server-test.ts | ts | 12 | Chance Strickland | Hiroshi Ogawa | 72 | 221 | 618 | 220 | 2025-07-24 | 2024-06-21 | 2025-07-24 | fbe8ac244eedb8556dd0faf00dfbe1f78e461120 |
| 26 | react-router-7.13.0/packages/react-router-node/__tests__ | react-router-7.13.0/packages/react-router-node | __tests__ | 1 | react-router-7.13.0/packages/react-router-node/__tests__/sessions-test.ts | ts | 9 | Alexandru Bereghici | Chance Strickland | 36 | 124 | 618 | 123 | 2025-10-29 | 2024-06-21 | 2025-10-29 | fbe8ac244eedb8556dd0faf00dfbe1f78e461120 |
| 27 | react-router-7.13.0/packages/react-router-node/sessions | react-router-7.13.0/packages/react-router-node | sessions | 1 | react-router-7.13.0/packages/react-router-node/sessions/fileStorage.ts | ts | 14 | Alex Anderson | Alexandru Bereghici | 53 | 124 | 618 | 123 | 2025-10-29 | 2024-06-21 | 2025-10-29 | fbe8ac244eedb8556dd0faf00dfbe1f78e461120 |
| 28 | react-router-7.13.0/packages/react-router/__tests__/__snapshots__ | react-router-7.13.0/packages/react-router/__tests__ | __snapshots__ | 1 | react-router-7.13.0/packages/react-router/__tests__/__snapshots__/route-matching-test.tsx.snap | snap | 3 | Chance Strickland | Matt Brophy | 7 | 705 | 1690 | 1633 | 2024-03-27 | 2021-07-15 | 2021-09-10 | eff2bd9148de1849fb93519f59262e4b53e8d823 |
| 29 | react-router-7.13.0/packages/react-router/__tests__/dom/components | react-router-7.13.0/packages/react-router/__tests__/dom | components | 1 | react-router-7.13.0/packages/react-router/__tests__/dom/components/LazyComponent.tsx | tsx | 2 | Matt Brophy | Michael Jackson | 14 | 465 | 670 | 670 | 2024-11-22 | 2024-04-30 | 2024-04-30 | f8b1a47883109f968702ff272a370070577ca2ed |
Shows how many commits had changed one file, how many had changed two files, and so on. The chart is limited to 30 lines for improved readability. The data preview also includes overall statistics including the number of commits that are filtered out in the chart.
Sum of commits that changed more than 30 files (each) = 503
Max changed files with one commit = 1061
| filesPerCommit | commitCount | |
|---|---|---|
| count | 181.000000 | 181.000000 |
| mean | 155.243094 | 58.729282 |
| std | 194.719503 | 371.026143 |
| min | 1.000000 | 1.000000 |
| 25% | 46.000000 | 1.000000 |
| 50% | 91.000000 | 2.000000 |
| 75% | 164.000000 | 8.000000 |
| max | 1061.000000 | 4555.000000 |
| filesPerCommit | commitCount | |
|---|---|---|
| 0 | 1 | 4555 |
| 1 | 2 | 1756 |
| 2 | 3 | 875 |
| 3 | 4 | 551 |
| 4 | 5 | 467 |
| 5 | 6 | 281 |
| 6 | 7 | 194 |
| 7 | 8 | 151 |
| 8 | 9 | 98 |
| 9 | 10 | 130 |
| 10 | 11 | 127 |
| 11 | 12 | 252 |
| 12 | 13 | 90 |
| 13 | 14 | 78 |
| 14 | 15 | 49 |
| 15 | 16 | 45 |
| 16 | 17 | 41 |
| 17 | 18 | 37 |
| 18 | 19 | 44 |
| 19 | 20 | 32 |
| 20 | 21 | 34 |
| 21 | 22 | 21 |
| 22 | 23 | 77 |
| 23 | 24 | 26 |
| 24 | 25 | 30 |
| 25 | 26 | 12 |
| 26 | 27 | 15 |
| 27 | 28 | 20 |
| 28 | 29 | 18 |
| 29 | 30 | 21 |
This section analyzes files that where changed together within the same commit and provides several metrics to quantify the strength of the co-change relationship:
- Commit Count: The number of commits in which two files were changed together.
- Commit Lift: A ratio that indicates whether the co-change pattern is stronger than random chance, given how often each file changes.
- Jaccard Similarity: The ratio of commits involving either file that also involved both files.
The following tables show the top pairwise changed files based on these metrics. The following charts show how these metrics are distributed across pairs of files that were changed together.
| fileExtensionPair | fileExtensionPairCount | |
|---|---|---|
| 0 | ts↔ts | 971 |
| 1 | json↔json | 556 |
| 2 | ts↔tsx | 279 |
| 3 | tsx↔tsx | 230 |
| fileExtensionPair | updateCommitCount | GroupRank | filePair | filePairWithRelativePath | |
|---|---|---|---|---|---|
| 0 | ts↔ts | 37 | 1 | context↔index | packages/react-router/lib/context.ts↔packages/react-router/index.ts |
| 1 | ts↔ts | 29 | 2 | utils↔router | packages/react-router/lib/router/utils.ts↔packages/react-router/lib/router/router.ts |
| 2 | ts↔ts | 27 | 3 | catch-boundary-test↔error-boundary-test | integration/catch-boundary-test.ts↔integration/error-boundary-test.ts |
| 3 | ts↔ts | 25 | 4 | action-test↔catch-boundary-test | integration/action-test.ts↔integration/catch-boundary-test.ts |
| 4 | ts↔ts | 22 | 5 | action-test↔catch-boundary-data-test | integration/action-test.ts↔integration/catch-boundary-data-test.ts |
| 5 | ts↔ts | 21 | 6 | vite↔vite-css-test | integration/helpers/vite.ts↔integration/vite-css-test.ts |
| 6 | ts↔ts | 20 | 7 | catch-boundary-data-test↔error-boundary-test | integration/catch-boundary-data-test.ts↔integration/error-boundary-test.ts |
| 7 | ts↔ts | 19 | 8 | plugin↔vite | packages/react-router-dev/vite/plugin.ts↔integration/helpers/vite.ts |
| 8 | ts↔ts | 18 | 9 | server↔single-fetch | packages/react-router/lib/server-runtime/server.ts↔packages/react-router/lib/server-runtime/single-fetch.ts |
| 9 | ts↔ts | 17 | 10 | plugin↔server | packages/react-router-dev/vite/plugin.ts↔packages/react-router/lib/server-runtime/server.ts |
| 10 | json↔json | 326 | 1 | package↔package | packages/react-router-dom/package.json↔packages/react-router/package.json |
| 11 | json↔json | 26 | 2 | package↔package | examples/auth/package.json↔examples/basic/package.json |
| 12 | json↔json | 25 | 3 | package↔package | packages/react-router-dev/package.json↔packages/react-router/package.json |
| 13 | json↔json | 24 | 4 | package↔package | packages/react-router-dev/package.json↔packages/react-router-express/package.json |
| 14 | json↔json | 23 | 5 | package↔package | packages/react-router-express/package.json↔packages/react-router-node/package.json |
| 15 | json↔json | 22 | 6 | package↔package | packages/react-router-cloudflare/package.json↔packages/react-router-dev/package.json |
| 16 | json↔json | 21 | 7 | package↔package | packages/react-router-architect/package.json↔packages/react-router-cloudflare/package.json |
| 17 | json↔json | 20 | 8 | package↔package | packages/create-react-router/package.json↔packages/react-router-dev/package.json |
| 18 | json↔json | 19 | 9 | package↔package | packages/react-router-dev/package.json↔packages/react-router-fs-routes/package.json |
| 19 | json↔json | 18 | 10 | package↔package | packages/create-react-router/package.json↔packages/react-router/package.json |
| 20 | ts↔tsx | 69 | 1 | index↔components | packages/react-router/index.ts↔packages/react-router/lib/components.tsx |
| 21 | ts↔tsx | 58 | 2 | index↔hooks | packages/react-router/index.ts↔packages/react-router/lib/hooks.tsx |
| 22 | ts↔tsx | 50 | 3 | context↔components | packages/react-router/lib/context.ts↔packages/react-router/lib/components.tsx |
| 23 | ts↔tsx | 45 | 4 | context↔hooks | packages/react-router/lib/context.ts↔packages/react-router/lib/hooks.tsx |
| 24 | ts↔tsx | 31 | 5 | index↔data-memory-router-test | packages/react-router/index.ts↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 25 | ts↔tsx | 23 | 6 | index↔lib | packages/react-router/index.ts↔packages/react-router/lib/dom/lib.tsx |
| 26 | ts↔tsx | 21 | 7 | router↔components | packages/react-router/lib/router/router.ts↔packages/react-router/lib/components.tsx |
| 27 | ts↔tsx | 19 | 8 | context↔data-memory-router-test | packages/react-router/lib/context.ts↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 28 | ts↔tsx | 17 | 9 | index↔hydrated-router | packages/react-router/index.ts↔packages/react-router/lib/dom-export/hydrated-router.tsx |
| 29 | ts↔tsx | 15 | 10 | server↔single-fetch | packages/react-router/lib/server-runtime/server.ts↔packages/react-router/lib/dom/ssr/single-fetch.tsx |
| 30 | tsx↔tsx | 78 | 1 | components↔hooks | packages/react-router/lib/components.tsx↔packages/react-router/lib/hooks.tsx |
| 31 | tsx↔tsx | 43 | 2 | hooks↔data-memory-router-test | packages/react-router/lib/hooks.tsx↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 32 | tsx↔tsx | 35 | 3 | components↔data-memory-router-test | packages/react-router/lib/components.tsx↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 33 | tsx↔tsx | 33 | 4 | components↔lib | packages/react-router/lib/components.tsx↔packages/react-router/lib/dom/lib.tsx |
| 34 | tsx↔tsx | 20 | 5 | hooks↔lib | packages/react-router/lib/hooks.tsx↔packages/react-router/lib/dom/lib.tsx |
| 35 | tsx↔tsx | 18 | 6 | hydrated-router↔single-fetch | packages/react-router/lib/dom-export/hydrated-router.tsx↔packages/react-router/lib/dom/ssr/single-fetch.tsx |
| 36 | tsx↔tsx | 17 | 7 | components↔hydrated-router | packages/react-router/lib/components.tsx↔packages/react-router/lib/dom-export/hydrated-router.tsx |
| 37 | tsx↔tsx | 15 | 8 | lib↔server | packages/react-router/lib/dom/lib.tsx↔packages/react-router/lib/dom/server.tsx |
| 38 | tsx↔tsx | 14 | 9 | components↔server | packages/react-router/lib/components.tsx↔packages/react-router/lib/dom/server.tsx |
| 39 | tsx↔tsx | 13 | 10 | hydrated-router↔lib | packages/react-router/lib/dom-export/hydrated-router.tsx↔packages/react-router/lib/dom/lib.tsx |
The commit min confidence is the commit count where both files were changed divided by the commit count of the file with the least commits. This metric is useful to identify pairs of files that are frequently changed together and is not biased by single files that are changed very often.
| fileExtensionPair | updateCommitMinConfidence | GroupRank | filePair | filePairWithRelativePath | |
|---|---|---|---|---|---|
| 0 | ts↔ts | 1.000000 | 1 | vite-dev-test↔vite-absolute-base-test | integration/vite-dev-test.ts↔integration/vite-absolute-base-test.ts |
| 1 | ts↔ts | 0.800000 | 2 | vite-dotenv-test↔vite-node-env-test | integration/vite-dotenv-test.ts↔integration/vite-node-env-test.ts |
| 2 | ts↔ts | 0.750000 | 3 | routes↔routes | packages/react-router-dev/config/routes.ts↔packages/react-router-dev/routes.ts |
| 3 | ts↔ts | 0.666667 | 4 | index↔index | packages/react-router/index.ts↔packages/react-router-dom/index.ts |
| 4 | ts↔ts | 0.555556 | 5 | plugin↔dev | packages/react-router-dev/vite/plugin.ts↔packages/react-router/lib/server-runtime/dev.ts |
| 5 | ts↔ts | 0.500000 | 6 | router↔lazy-discovery-test | packages/react-router/lib/router/router.ts↔packages/react-router/__tests__/router/lazy-discovery-test.ts |
| 6 | ts↔ts | 0.444444 | 7 | router↔redirects-test | packages/react-router/lib/router/router.ts↔packages/react-router/__tests__/router/redirects-test.ts |
| 7 | ts↔ts | 0.428571 | 8 | sessions-test↔fileStorage | packages/react-router-node/__tests__/sessions-test.ts↔packages/react-router-node/sessions/fileStorage.ts |
| 8 | ts↔ts | 0.423729 | 9 | catch-boundary-data-test↔catch-boundary-test | integration/catch-boundary-data-test.ts↔integration/catch-boundary-test.ts |
| 9 | ts↔ts | 0.421875 | 10 | catch-boundary-test↔error-boundary-test | integration/catch-boundary-test.ts↔integration/error-boundary-test.ts |
| 10 | json↔json | 1.000000 | 1 | package↔package-lock | examples/view-transitions/package.json↔examples/view-transitions/package-lock.json |
| 11 | json↔json | 0.702703 | 2 | package↔package | examples/auth/package.json↔examples/basic/package.json |
| 12 | json↔json | 0.694444 | 3 | package↔package | examples/basic/package.json↔examples/custom-link/package.json |
| 13 | json↔json | 0.676471 | 4 | package↔package | examples/auth/package.json↔examples/custom-filter-link/package.json |
| 14 | json↔json | 0.666667 | 5 | package↔package | examples/basic/package.json↔examples/custom-query-parsing/package.json |
| 15 | json↔json | 0.656250 | 6 | package↔package | examples/auth/package.json↔examples/multi-app/package.json |
| 16 | json↔json | 0.650000 | 7 | package-lock↔package-lock | examples/error-boundaries/package-lock.json↔examples/notes/package-lock.json |
| 17 | json↔json | 0.638889 | 8 | package↔package | examples/custom-link/package.json↔examples/modal/package.json |
| 18 | json↔json | 0.621622 | 9 | package↔package | examples/auth/package.json↔examples/modal/package.json |
| 19 | json↔json | 0.606061 | 10 | package↔package | examples/custom-filter-link/package.json↔examples/custom-query-parsing/package.json |
| 20 | ts↔tsx | 0.500000 | 1 | router↔context-middleware-test | packages/react-router/lib/router/router.ts↔packages/react-router/__tests__/router/context-middleware-test.tsx |
| 21 | ts↔tsx | 0.466667 | 2 | global↔hydrated-router | packages/react-router/lib/dom/global.ts↔packages/react-router/lib/dom-export/hydrated-router.tsx |
| 22 | ts↔tsx | 0.450450 | 3 | context↔components | packages/react-router/lib/context.ts↔packages/react-router/lib/components.tsx |
| 23 | ts↔tsx | 0.405405 | 4 | context↔hooks | packages/react-router/lib/context.ts↔packages/react-router/lib/hooks.tsx |
| 24 | ts↔tsx | 0.384615 | 5 | context↔entry.client | packages/react-router/lib/context.ts↔examples/ssr-data-router/src/entry.client.tsx |
| 25 | ts↔tsx | 0.363636 | 6 | rsc-test↔entry.rsc | integration/rsc/rsc-test.ts↔integration/helpers/rsc-vite/src/entry.rsc.tsx |
| 26 | ts↔tsx | 0.347826 | 7 | index↔app | packages/react-router/index.ts↔examples/data-router/src/app.tsx |
| 27 | ts↔tsx | 0.344444 | 8 | index↔data-memory-router-test | packages/react-router/index.ts↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 28 | ts↔tsx | 0.333333 | 9 | dev↔components | packages/react-router/lib/server-runtime/dev.ts↔packages/react-router/lib/dom/ssr/components.tsx |
| 29 | ts↔tsx | 0.322430 | 10 | index↔components | packages/react-router/index.ts↔packages/react-router/lib/components.tsx |
| 30 | tsx↔tsx | 0.500000 | 1 | entry.browser↔entry.browser | integration/helpers/rsc-vite/src/entry.browser.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 31 | tsx↔tsx | 0.477778 | 2 | hooks↔data-memory-router-test | packages/react-router/lib/hooks.tsx↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 32 | tsx↔tsx | 0.444444 | 3 | client-on-error-test↔components | packages/react-router/__tests__/dom/client-on-error-test.tsx↔packages/react-router/lib/components.tsx |
| 33 | tsx↔tsx | 0.434783 | 4 | components↔app | packages/react-router/lib/components.tsx↔examples/data-router/src/app.tsx |
| 34 | tsx↔tsx | 0.428571 | 5 | navigate-test↔same-component-lifecycle-test | packages/react-router/__tests__/navigate-test.tsx↔packages/react-router/__tests__/same-component-lifecycle-test.tsx |
| 35 | tsx↔tsx | 0.416667 | 6 | entry.ssr↔entry.ssr | integration/helpers/rsc-vite/src/entry.ssr.tsx↔playground/rsc-vite/src/entry.ssr.tsx |
| 36 | tsx↔tsx | 0.409091 | 7 | hooks↔entry.server | packages/react-router/lib/hooks.tsx↔examples/ssr-data-router/src/entry.server.tsx |
| 37 | tsx↔tsx | 0.400000 | 8 | entry.rsc↔entry.rsc | integration/helpers/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.rsc.tsx |
| 38 | tsx↔tsx | 0.391304 | 9 | data-memory-router-test↔app | packages/react-router/__tests__/data-memory-router-test.tsx↔examples/data-router/src/app.tsx |
| 39 | tsx↔tsx | 0.388889 | 10 | components↔data-memory-router-test | packages/react-router/lib/components.tsx↔packages/react-router/__tests__/data-memory-router-test.tsx |
| fileExtensionPair | updateCommitLift | GroupRank | filePair | filePairWithRelativePath | |
|---|---|---|---|---|---|
| 0 | ts↔ts | 149.850000 | 1 | vite-dev-custom-entry-test↔vite-absolute-base-test | integration/vite-dev-custom-entry-test.ts↔integration/vite-absolute-base-test.ts |
| 1 | ts↔ts | 141.035294 | 2 | vite-loader-context-test↔vite-node-env-test | integration/vite-loader-context-test.ts↔integration/vite-node-env-test.ts |
| 2 | ts↔ts | 116.766234 | 3 | sessions-test↔fileStorage | packages/react-router-node/__tests__/sessions-test.ts↔packages/react-router-node/sessions/fileStorage.ts |
| 3 | ts↔ts | 112.387500 | 4 | sessions-test↔sessions | packages/react-router/__tests__/server-runtime/sessions-test.ts↔packages/react-router/lib/server-runtime/sessions.ts |
| 4 | ts↔ts | 99.074380 | 5 | remove-exports-test↔remove-exports | packages/react-router-dev/vite/remove-exports-test.ts↔packages/react-router-dev/vite/remove-exports.ts |
| 5 | ts↔ts | 88.800000 | 6 | vite-dotenv-test↔vite-node-env-test | integration/vite-dotenv-test.ts↔integration/vite-node-env-test.ts |
| 6 | ts↔ts | 86.451923 | 7 | routes↔routes | packages/react-router-dev/config/routes.ts↔packages/react-router-dev/routes.ts |
| 7 | ts↔ts | 78.868421 | 8 | vite-server-bundles-test↔vite-node-env-test | integration/vite-server-bundles-test.ts↔integration/vite-node-env-test.ts |
| 8 | ts↔ts | 76.846154 | 9 | flatRoutes-test↔flatRoutes | packages/react-router-fs-routes/__tests__/flatRoutes-test.ts↔packages/react-router-fs-routes/flatRoutes.ts |
| 9 | ts↔ts | 74.925000 | 10 | virtual-route-config↔virtual-route-modules | packages/react-router-dev/vite/rsc/virtual-route-config.ts↔packages/react-router-dev/vite/rsc/virtual-route-modules.ts |
| 10 | json↔json | 428.142857 | 1 | package↔package-lock | examples/view-transitions/package.json↔examples/view-transitions/package-lock.json |
| 11 | json↔json | 138.323077 | 2 | package-lock↔package-lock | examples/basic-data-router/package-lock.json↔examples/lazy-loading-router-provider/package-lock.json |
| 12 | json↔json | 99.900000 | 3 | package-lock↔package-lock | examples/basic-data-router/package-lock.json↔examples/navigation-blocking/package-lock.json |
| 13 | json↔json | 94.642105 | 4 | package-lock↔package-lock | examples/basic-data-router/package-lock.json↔examples/custom-filter-link/package-lock.json |
| 14 | json↔json | 89.910000 | 5 | package-lock↔package-lock | examples/basic-data-router/package-lock.json↔examples/custom-link/package-lock.json |
| 15 | json↔json | 88.547727 | 6 | package-lock↔package-lock | examples/error-boundaries/package-lock.json↔examples/notes/package-lock.json |
| 16 | json↔json | 86.451923 | 7 | package↔package-lock | examples/lazy-loading-router-provider/package.json↔examples/lazy-loading-router-provider/package-lock.json |
| 17 | json↔json | 85.628571 | 8 | package-lock↔package-lock | examples/auth/package-lock.json↔examples/basic-data-router/package-lock.json |
| 18 | json↔json | 82.961938 | 9 | package↔package | examples/error-boundaries/package.json↔examples/notes/package.json |
| 19 | json↔json | 81.736364 | 10 | package-lock↔package-lock | examples/basic-data-router/package-lock.json↔examples/error-boundaries/package-lock.json |
| 20 | ts↔tsx | 31.003448 | 1 | global↔components-test | packages/react-router/lib/dom/global.ts↔packages/react-router/__tests__/dom/ssr/components-test.tsx |
| 21 | ts↔tsx | 25.948052 | 2 | rsc-test↔entry.rsc | integration/rsc/rsc-test.ts↔integration/helpers/rsc-vite/src/entry.rsc.tsx |
| 22 | ts↔tsx | 25.615385 | 3 | rsc-nojs-test↔server.ssr | integration/rsc/rsc-nojs-test.ts↔packages/react-router/lib/rsc/server.ssr.tsx |
| 23 | ts↔tsx | 24.802759 | 4 | serverHandoff↔components-test | packages/react-router/lib/server-runtime/serverHandoff.ts↔packages/react-router/__tests__/dom/ssr/components-test.tsx |
| 24 | ts↔tsx | 22.704545 | 5 | lazy-discovery-test↔partial-hydration-test | packages/react-router/__tests__/router/lazy-discovery-test.ts↔packages/react-router/__tests__/dom/partial-hydration-test.tsx |
| 25 | ts↔tsx | 19.211538 | 6 | index↔server | packages/react-router-dom/index.ts↔packages/react-router/lib/dom/server.tsx |
| 26 | ts↔tsx | 18.731250 | 7 | entry↔scroll-restoration-test | packages/react-router/lib/dom/ssr/entry.ts↔packages/react-router/__tests__/dom/scroll-restoration-test.tsx |
| 27 | ts↔tsx | 17.839286 | 8 | rsc-test↔entry.ssr | integration/rsc/rsc-test.ts↔packages/react-router-dev/config/default-rsc-entries/entry.ssr.tsx |
| 28 | ts↔tsx | 15.369231 | 9 | global↔hydrated-router | packages/react-router/lib/dom/global.ts↔packages/react-router/lib/dom-export/hydrated-router.tsx |
| 29 | ts↔tsx | 15.290816 | 10 | manifest↔routes-test-stub | packages/react-router-dev/manifest.ts↔packages/react-router/lib/dom/ssr/routes-test-stub.tsx |
| 30 | tsx↔tsx | 249.750000 | 1 | App↔App | examples/modal/src/App.tsx↔examples/search-params/src/App.tsx |
| 31 | tsx↔tsx | 136.227273 | 2 | App↔App | examples/auth/src/App.tsx↔examples/modal/src/App.tsx |
| 32 | tsx↔tsx | 115.269231 | 3 | entry.client↔App | examples/ssr-data-router/src/entry.client.tsx↔examples/ssr-data-router/src/App.tsx |
| 33 | tsx↔tsx | 112.387500 | 4 | entry.rsc↔entry.browser | playground/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 34 | tsx↔tsx | 108.981818 | 5 | entry.rsc↔entry.rsc | integration/helpers/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.rsc.tsx |
| 35 | tsx↔tsx | 107.035714 | 6 | App↔App | examples/custom-query-parsing/src/App.tsx↔examples/modal/src/App.tsx |
| 36 | tsx↔tsx | 107.035714 | 7 | entry.browser↔entry.browser | integration/helpers/rsc-vite/src/entry.browser.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 37 | tsx↔tsx | 102.170455 | 8 | entry.rsc↔entry.browser | integration/helpers/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 38 | tsx↔tsx | 99.900000 | 9 | Router-test↔descendant-routes-warning-test | packages/react-router/__tests__/Router-test.tsx↔packages/react-router/__tests__/descendant-routes-warning-test.tsx |
| 39 | tsx↔tsx | 83.250000 | 10 | entry.ssr↔entry.ssr | packages/react-router-dev/config/default-rsc-entries/entry.ssr.tsx↔playground/rsc-vite/src/entry.ssr.tsx |
| fileExtensionPair | updateCommitJaccardSimilarity | GroupRank | filePair | filePairWithRelativePath | |
|---|---|---|---|---|---|
| 0 | ts↔ts | 0.259615 | 1 | catch-boundary-test↔error-boundary-test | integration/catch-boundary-test.ts↔integration/error-boundary-test.ts |
| 1 | ts↔ts | 0.247525 | 2 | catch-boundary-data-test↔catch-boundary-test | integration/catch-boundary-data-test.ts↔integration/catch-boundary-test.ts |
| 2 | ts↔ts | 0.222222 | 3 | remove-exports-test↔remove-exports | packages/react-router-dev/vite/remove-exports-test.ts↔packages/react-router-dev/vite/remove-exports.ts |
| 3 | ts↔ts | 0.208333 | 4 | action-test↔catch-boundary-test | integration/action-test.ts↔integration/catch-boundary-test.ts |
| 4 | ts↔ts | 0.200000 | 5 | sessions-test↔fileStorage | packages/react-router-node/__tests__/sessions-test.ts↔packages/react-router-node/sessions/fileStorage.ts |
| 5 | ts↔ts | 0.197917 | 6 | catch-boundary-test↔transition-test | integration/catch-boundary-test.ts↔integration/transition-test.ts |
| 6 | ts↔ts | 0.195652 | 7 | serverHandoff↔global | packages/react-router/lib/server-runtime/serverHandoff.ts↔packages/react-router/lib/dom/global.ts |
| 7 | ts↔ts | 0.194175 | 8 | catch-boundary-data-test↔error-boundary-test | integration/catch-boundary-data-test.ts↔integration/error-boundary-test.ts |
| 8 | ts↔ts | 0.191919 | 9 | typegen-test↔generate | integration/typegen-test.ts↔packages/react-router-dev/typegen/generate.ts |
| 9 | ts↔ts | 0.191304 | 10 | action-test↔catch-boundary-data-test | integration/action-test.ts↔integration/catch-boundary-data-test.ts |
| 10 | json↔json | 0.541667 | 1 | package↔package | examples/auth/package.json↔examples/search-params/package.json |
| 11 | json↔json | 0.530612 | 2 | package↔package | examples/auth/package.json↔examples/basic/package.json |
| 12 | json↔json | 0.520833 | 3 | package↔package | examples/auth/package.json↔examples/custom-link/package.json |
| 13 | json↔json | 0.510204 | 4 | package↔package | examples/basic/package.json↔examples/custom-link/package.json |
| 14 | json↔json | 0.500000 | 5 | package↔package | examples/custom-query-parsing/package.json↔examples/lazy-loading/package.json |
| 15 | json↔json | 0.489362 | 6 | package↔package | examples/custom-filter-link/package.json↔examples/custom-link/package.json |
| 16 | json↔json | 0.479167 | 7 | package↔package | examples/auth/package.json↔examples/custom-filter-link/package.json |
| 17 | json↔json | 0.477273 | 8 | package↔package | examples/custom-query-parsing/package.json↔examples/multi-app/package.json |
| 18 | json↔json | 0.469388 | 9 | package↔package | examples/basic/package.json↔examples/custom-filter-link/package.json |
| 19 | json↔json | 0.468085 | 10 | package↔package | examples/custom-link/package.json↔examples/custom-query-parsing/package.json |
| 20 | ts↔tsx | 0.188011 | 1 | index↔components | packages/react-router/index.ts↔packages/react-router/lib/components.tsx |
| 21 | ts↔tsx | 0.180000 | 2 | global↔components-test | packages/react-router/lib/dom/global.ts↔packages/react-router/__tests__/dom/ssr/components-test.tsx |
| 22 | ts↔tsx | 0.176678 | 3 | context↔components | packages/react-router/lib/context.ts↔packages/react-router/lib/components.tsx |
| 23 | ts↔tsx | 0.149502 | 4 | context↔hooks | packages/react-router/lib/context.ts↔packages/react-router/lib/hooks.tsx |
| 24 | ts↔tsx | 0.148338 | 5 | index↔hooks | packages/react-router/index.ts↔packages/react-router/lib/hooks.tsx |
| 25 | ts↔tsx | 0.144444 | 6 | server.rsc↔browser | packages/react-router/lib/rsc/server.rsc.ts↔packages/react-router/lib/rsc/browser.tsx |
| 26 | ts↔tsx | 0.142857 | 7 | single-fetch-test↔single-fetch | integration/single-fetch-test.ts↔packages/react-router/lib/dom/ssr/single-fetch.tsx |
| 27 | ts↔tsx | 0.130841 | 8 | global↔hydrated-router | packages/react-router/lib/dom/global.ts↔packages/react-router/lib/dom-export/hydrated-router.tsx |
| 28 | ts↔tsx | 0.125000 | 9 | serverHandoff↔components-test | packages/react-router/lib/server-runtime/serverHandoff.ts↔packages/react-router/__tests__/dom/ssr/components-test.tsx |
| 29 | ts↔tsx | 0.119048 | 10 | server.rsc↔server.ssr | packages/react-router/lib/rsc/server.rsc.ts↔packages/react-router/lib/rsc/server.ssr.tsx |
| 30 | tsx↔tsx | 0.333333 | 1 | App↔App | examples/modal/src/App.tsx↔examples/search-params/src/App.tsx |
| 31 | tsx↔tsx | 0.235294 | 2 | entry.rsc↔entry.rsc | integration/helpers/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.rsc.tsx |
| 32 | tsx↔tsx | 0.222222 | 3 | entry.browser↔entry.browser | integration/helpers/rsc-vite/src/entry.browser.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 33 | tsx↔tsx | 0.214286 | 4 | App↔App | examples/auth/src/App.tsx↔examples/modal/src/App.tsx |
| 34 | tsx↔tsx | 0.208333 | 5 | entry.ssr↔entry.ssr | integration/helpers/rsc-vite/src/entry.ssr.tsx↔playground/rsc-vite/src/entry.ssr.tsx |
| 35 | tsx↔tsx | 0.205805 | 6 | components↔hooks | packages/react-router/lib/components.tsx↔packages/react-router/lib/hooks.tsx |
| 36 | tsx↔tsx | 0.200000 | 7 | entry.ssr↔entry.ssr | packages/react-router-dev/config/default-rsc-entries/entry.ssr.tsx↔playground/rsc-vite/src/entry.ssr.tsx |
| 37 | tsx↔tsx | 0.190476 | 8 | useHref-basename-test↔useHref-test | packages/react-router/__tests__/useHref-basename-test.tsx↔packages/react-router/__tests__/useHref-test.tsx |
| 38 | tsx↔tsx | 0.187500 | 9 | entry.rsc↔entry.browser | integration/helpers/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 39 | tsx↔tsx | 0.176471 | 10 | App↔App | examples/custom-query-parsing/src/App.tsx↔examples/modal/src/App.tsx |
Find those pairwise changed files that have a high rank in many metrics by calculating a combined (weighted) score based on the ranks of each metric. This is useful to identify pairs of files that score high in most metrics, which indicates a strong co-change relationship.
| fileExtensionPair | filePair | combinedMetricsScore | updateCommitCountExtensionRank | updateCommitMinConfidenceExtensionRank | updateCommitJaccardSimilarityExtensionRank | updateCommitLiftExtensionRank | updateCommitCount | updateCommitMinConfidence | updateCommitJaccardSimilarity | updateCommitLift | filePairWithRelativePath | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | json↔json | package-lock↔package-lock | 42 | 14 | 7 | 15 | 6 | 13 | 0.650000 | 0.448276 | 88.547727 | examples/error-boundaries/package-lock.json↔examples/notes/package-lock.json |
| 1 | json↔json | package↔package | 45 | 2 | 2 | 1 | 40 | 26 | 0.702703 | 0.541667 | 56.918919 | examples/auth/package.json↔examples/search-params/package.json |
| 2 | json↔json | package↔package | 45 | 2 | 2 | 1 | 40 | 26 | 0.702703 | 0.541667 | 56.918919 | examples/search-params/package.json↔examples/ssr/package.json |
| 3 | json↔json | package↔package | 45 | 2 | 2 | 1 | 40 | 26 | 0.702703 | 0.541667 | 56.918919 | examples/auth/package.json↔examples/ssr/package.json |
| 4 | json↔json | package↔package-lock | 45 | 24 | 1 | 19 | 1 | 3 | 1.000000 | 0.428571 | 428.142857 | examples/view-transitions/package.json↔examples/view-transitions/package-lock.json |
| 5 | json↔json | package↔package | 47 | 6 | 5 | 5 | 31 | 22 | 0.666667 | 0.500000 | 60.545455 | examples/custom-query-parsing/package.json↔examples/lazy-loading/package.json |
| 6 | json↔json | package↔package | 47 | 6 | 5 | 5 | 31 | 22 | 0.666667 | 0.500000 | 60.545455 | examples/custom-query-parsing/package.json↔examples/route-objects/package.json |
| 7 | json↔json | package↔package | 47 | 6 | 5 | 5 | 31 | 22 | 0.666667 | 0.500000 | 60.545455 | examples/lazy-loading/package.json↔examples/route-objects/package.json |
| 8 | json↔json | package↔package | 51 | 3 | 3 | 3 | 42 | 25 | 0.694444 | 0.520833 | 56.250000 | examples/auth/package.json↔examples/custom-link/package.json |
| 9 | json↔json | package↔package | 51 | 3 | 3 | 3 | 42 | 25 | 0.694444 | 0.520833 | 56.250000 | examples/custom-link/package.json↔examples/search-params/package.json |
| 10 | tsx↔tsx | App↔App | 23 | 20 | 1 | 1 | 1 | 3 | 0.500000 | 0.333333 | 249.750000 | examples/modal/src/App.tsx↔examples/search-params/src/App.tsx |
| 11 | tsx↔tsx | App↔App | 27 | 20 | 1 | 4 | 2 | 3 | 0.500000 | 0.214286 | 136.227273 | examples/auth/src/App.tsx↔examples/modal/src/App.tsx |
| 12 | tsx↔tsx | App↔App | 27 | 20 | 1 | 4 | 2 | 3 | 0.500000 | 0.214286 | 136.227273 | examples/auth/src/App.tsx↔examples/search-params/src/App.tsx |
| 13 | tsx↔tsx | entry.browser↔entry.browser | 30 | 19 | 1 | 3 | 7 | 4 | 0.500000 | 0.222222 | 107.035714 | integration/helpers/rsc-vite/src/entry.browser.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 14 | tsx↔tsx | entry.client↔App | 33 | 20 | 1 | 9 | 3 | 3 | 0.500000 | 0.187500 | 115.269231 | examples/ssr-data-router/src/entry.client.tsx↔examples/ssr-data-router/src/App.tsx |
| 15 | tsx↔tsx | entry.rsc↔entry.rsc | 34 | 19 | 8 | 2 | 5 | 4 | 0.400000 | 0.235294 | 108.981818 | integration/helpers/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.rsc.tsx |
| 16 | tsx↔tsx | App↔App | 37 | 20 | 1 | 10 | 6 | 3 | 0.500000 | 0.176471 | 107.035714 | examples/custom-query-parsing/src/App.tsx↔examples/modal/src/App.tsx |
| 17 | tsx↔tsx | App↔App | 37 | 20 | 1 | 10 | 6 | 3 | 0.500000 | 0.176471 | 107.035714 | examples/custom-query-parsing/src/App.tsx↔examples/search-params/src/App.tsx |
| 18 | tsx↔tsx | entry.ssr↔entry.ssr | 43 | 18 | 6 | 5 | 14 | 5 | 0.416667 | 0.208333 | 73.455882 | integration/helpers/rsc-vite/src/entry.ssr.tsx↔playground/rsc-vite/src/entry.ssr.tsx |
| 19 | tsx↔tsx | entry.rsc↔entry.browser | 43 | 20 | 12 | 7 | 4 | 3 | 0.375000 | 0.200000 | 112.387500 | playground/rsc-vite/src/entry.rsc.tsx↔playground/rsc-vite/src/entry.browser.tsx |
| 20 | ts↔ts | vite-loader-context-test↔vite-node-env-test | 30 | 23 | 2 | 3 | 2 | 4 | 0.800000 | 0.222222 | 141.035294 | integration/vite-loader-context-test.ts↔integration/vite-node-env-test.ts |
| 21 | ts↔ts | sessions-test↔fileStorage | 40 | 24 | 8 | 5 | 3 | 3 | 0.428571 | 0.200000 | 116.766234 | packages/react-router-node/__tests__/sessions-test.ts↔packages/react-router-node/sessions/fileStorage.ts |
| 22 | ts↔ts | sessions-test↔sessions | 52 | 24 | 19 | 5 | 4 | 3 | 0.375000 | 0.200000 | 112.387500 | packages/react-router/__tests__/server-runtime/sessions-test.ts↔packages/react-router/lib/server-runtime/sessions.ts |
| 23 | ts↔ts | remove-exports-test↔remove-exports | 53 | 23 | 22 | 3 | 5 | 4 | 0.363636 | 0.222222 | 99.074380 | packages/react-router-dev/vite/remove-exports-test.ts↔packages/react-router-dev/vite/remove-exports.ts |
| 24 | ts↔ts | vite-dev-custom-entry-test↔vite-absolute-base-test | 53 | 24 | 1 | 27 | 1 | 3 | 1.000000 | 0.150000 | 149.850000 | integration/vite-dev-custom-entry-test.ts↔integration/vite-absolute-base-test.ts |
| 25 | ts↔ts | vite-dotenv-test↔vite-loader-context-test | 59 | 20 | 12 | 11 | 16 | 7 | 0.411765 | 0.189189 | 45.705882 | integration/vite-dotenv-test.ts↔integration/vite-loader-context-test.ts |
| 26 | ts↔ts | vite-dotenv-test↔vite-node-env-test | 63 | 23 | 2 | 32 | 6 | 4 | 0.800000 | 0.142857 | 88.800000 | integration/vite-dotenv-test.ts↔integration/vite-node-env-test.ts |
| 27 | ts↔ts | serverHandoff↔global | 66 | 18 | 23 | 7 | 18 | 9 | 0.360000 | 0.195652 | 35.964000 | packages/react-router/lib/server-runtime/serverHandoff.ts↔packages/react-router/lib/dom/global.ts |
| 28 | ts↔ts | vite-server-bundles-test↔vite-node-env-test | 77 | 22 | 1 | 46 | 8 | 5 | 1.000000 | 0.131579 | 78.868421 | integration/vite-server-bundles-test.ts↔integration/vite-node-env-test.ts |
| 29 | ts↔ts | vite-dev-test↔vite-dev-custom-entry-test | 78 | 17 | 6 | 25 | 30 | 10 | 0.500000 | 0.153846 | 27.245455 | integration/vite-dev-test.ts↔integration/vite-dev-custom-entry-test.ts |
| 30 | ts↔tsx | global↔hydrated-router | 30 | 11 | 2 | 8 | 9 | 14 | 0.466667 | 0.130841 | 15.369231 | packages/react-router/lib/dom/global.ts↔packages/react-router/lib/dom-export/hydrated-router.tsx |
| 31 | ts↔tsx | global↔components-test | 33 | 16 | 14 | 2 | 1 | 9 | 0.310345 | 0.180000 | 31.003448 | packages/react-router/lib/dom/global.ts↔packages/react-router/__tests__/dom/ssr/components-test.tsx |
| 32 | ts↔tsx | rsc-test↔entry.rsc | 49 | 21 | 6 | 20 | 2 | 4 | 0.363636 | 0.081633 | 25.948052 | integration/rsc/rsc-test.ts↔integration/helpers/rsc-vite/src/entry.rsc.tsx |
| 33 | ts↔tsx | server.rsc↔browser | 51 | 12 | 19 | 6 | 14 | 13 | 0.270833 | 0.144444 | 14.757955 | packages/react-router/lib/rsc/server.rsc.ts↔packages/react-router/lib/rsc/browser.tsx |
| 34 | ts↔tsx | serverHandoff↔components-test | 58 | 19 | 26 | 9 | 4 | 6 | 0.240000 | 0.125000 | 24.802759 | packages/react-router/lib/server-runtime/serverHandoff.ts↔packages/react-router/__tests__/dom/ssr/components-test.tsx |
| 35 | ts↔tsx | rsc-test↔browser | 63 | 15 | 27 | 9 | 12 | 10 | 0.238095 | 0.125000 | 14.866071 | integration/rsc/rsc-test.ts↔packages/react-router/lib/rsc/browser.tsx |
| 36 | ts↔tsx | server.rsc↔server.ssr | 64 | 15 | 23 | 10 | 16 | 10 | 0.256410 | 0.119048 | 13.972028 | packages/react-router/lib/rsc/server.rsc.ts↔packages/react-router/lib/rsc/server.ssr.tsx |
| 37 | ts↔tsx | rsc-nojs-test↔server.ssr | 64 | 22 | 9 | 30 | 3 | 3 | 0.333333 | 0.066667 | 25.615385 | integration/rsc/rsc-nojs-test.ts↔packages/react-router/lib/rsc/server.ssr.tsx |
| 38 | ts↔tsx | lazy-discovery-test↔partial-hydration-test | 69 | 20 | 32 | 12 | 5 | 5 | 0.227273 | 0.106383 | 22.704545 | packages/react-router/__tests__/router/lazy-discovery-test.ts↔packages/react-router/__tests__/dom/partial-hydration-test.tsx |
| 39 | ts↔tsx | context↔components | 70 | 3 | 3 | 3 | 61 | 50 | 0.450450 | 0.176678 | 6.081081 | packages/react-router/lib/context.ts↔packages/react-router/lib/components.tsx |
A pair (count, confidence, jaccard, lift) is Pareto-optimal if there is no other pair that is better or equal in all metrics and strictly better in at least one. In other words, it is not "dominated" by any other pair.
The frontier = the “best tradeoffs.”
| filePair | combinedMetricsScore | updateCommitCount | updateCommitMinConfidence | updateCommitJaccardSimilarity | updateCommitLift | updateCommitCountExtensionRank | updateCommitMinConfidenceExtensionRank | updateCommitJaccardSimilarityExtensionRank | updateCommitLiftExtensionRank | filePairWithRelativePath | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | context↔components | 70 | 50 | 0.450450 | 0.176678 | 6.081081 | 3 | 3 | 3 | 61 | packages/react-router/lib/context.ts↔packages/react-router/lib/components.tsx |
| 1 | components↔hooks | 159 | 78 | 0.351351 | 0.205805 | 4.480851 | 1 | 15 | 6 | 137 | packages/react-router/lib/components.tsx↔packages/react-router/lib/hooks.tsx |
| 2 | package↔package | 247 | 326 | 0.515008 | 0.332653 | 2.293430 | 1 | 24 | 31 | 191 | packages/react-router-dom/package.json↔packages/react-router/package.json |
| 3 | package↔package | 47 | 22 | 0.666667 | 0.500000 | 60.545455 | 6 | 5 | 5 | 31 | examples/custom-query-parsing/package.json↔examples/lazy-loading/package.json |
| 4 | package↔package | 47 | 22 | 0.666667 | 0.500000 | 60.545455 | 6 | 5 | 5 | 31 | examples/custom-query-parsing/package.json↔examples/route-objects/package.json |
| 5 | package↔package | 47 | 22 | 0.666667 | 0.500000 | 60.545455 | 6 | 5 | 5 | 31 | examples/lazy-loading/package.json↔examples/route-objects/package.json |
| 6 | package↔package | 45 | 26 | 0.702703 | 0.541667 | 56.918919 | 2 | 2 | 1 | 40 | examples/auth/package.json↔examples/search-params/package.json |
| 7 | package↔package | 45 | 26 | 0.702703 | 0.541667 | 56.918919 | 2 | 2 | 1 | 40 | examples/search-params/package.json↔examples/ssr/package.json |
| 8 | package↔package | 45 | 26 | 0.702703 | 0.541667 | 56.918919 | 2 | 2 | 1 | 40 | examples/auth/package.json↔examples/ssr/package.json |
| 9 | hooks↔data-memory-router-test | 138 | 43 | 0.477778 | 0.152482 | 6.093191 | 2 | 2 | 16 | 118 | packages/react-router/lib/hooks.tsx↔packages/react-router/__tests__/data-memory-router-test.tsx |
| 10 | catch-boundary-test↔error-boundary-test | 89 | 27 | 0.421875 | 0.259615 | 18.871035 | 3 | 10 | 1 | 75 | integration/catch-boundary-test.ts↔integration/error-boundary-test.ts |
| 11 | vite-loader-context-test↔vite-node-env-test | 30 | 4 | 0.800000 | 0.222222 | 141.035294 | 23 | 2 | 3 | 2 | integration/vite-loader-context-test.ts↔integration/vite-node-env-test.ts |
| 12 | vite-server-bundles-test↔vite-node-env-test | 77 | 5 | 1.000000 | 0.131579 | 78.868421 | 22 | 1 | 46 | 8 | integration/vite-server-bundles-test.ts↔integration/vite-node-env-test.ts |
| 13 | package-lock↔package-lock | 61 | 6 | 0.600000 | 0.352941 | 138.323077 | 21 | 11 | 27 | 2 | examples/basic-data-router/package-lock.json↔examples/lazy-loading-router-provider/package-lock.json |
| 14 | package-lock↔package-lock | 42 | 13 | 0.650000 | 0.448276 | 88.547727 | 14 | 7 | 15 | 6 | examples/error-boundaries/package-lock.json↔examples/notes/package-lock.json |
| 15 | package↔package-lock | 45 | 3 | 1.000000 | 0.428571 | 428.142857 | 24 | 1 | 19 | 1 | examples/view-transitions/package.json↔examples/view-transitions/package-lock.json |
| fileExtensionPair | filePair | combinedMetricsScore | updateCommitCount | updateCommitMinConfidence | updateCommitJaccardSimilarity | updateCommitLift | updateCommitCountExtensionRank | updateCommitMinConfidenceExtensionRank | updateCommitJaccardSimilarityExtensionRank | updateCommitLiftExtensionRank | filePairWithRelativePath | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ts↔ts | plugin↔client-data-test | 1484 | 3 | 0.044776 | 0.010274 | 0.588570 | 24 | 236 | 484 | 740 | packages/react-router-dev/vite/plugin.ts↔integration/client-data-test.ts |
| 1 | ts↔ts | server↔vite | 1476 | 3 | 0.028037 | 0.013216 | 0.683155 | 24 | 244 | 470 | 738 | packages/react-router/lib/server-runtime/server.ts↔integration/helpers/vite.ts |
| 2 | ts↔ts | plugin↔router | 1471 | 6 | 0.032258 | 0.014706 | 0.424024 | 21 | 243 | 466 | 741 | packages/react-router-dev/vite/plugin.ts↔packages/react-router/lib/router/router.ts |
| word | frequency | |
|---|---|---|
| 0 | Michael Jackson | 1906 |
| 1 | Matt Brophy | 1761 |
| 2 | Ryan Florence | 1271 |
| 3 | Chance Strickland | 420 |
| 4 | Pedro Cattori | 405 |
| 5 | Mark Dalgleish | 386 |
| 6 | Jimmy Jia | 381 |
| 7 | Remix Run Bot | 361 |
| 8 | Tim Dorr | 340 |
| 9 | Logan McAnsh | 254 |
