Overview
File Change Frequency Overall
  • There are 504 files with 33,810 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 9 files changed 21-50 times (1,637 lines of code)
    • 74 files changed 6-20 times (8,740 lines of code)
    • 421 files changed 1-5 times (23,433 lines of code)
0% | 0% | 4% | 25% | 69%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 504 files with 33,810 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 1 file changed by 11-25 contributors (39 lines of code)
    • 33 files changed by 6-10 contributors (4,245 lines of code)
    • 378 files changed by 2-5 contributors (22,552 lines of code)
    • 92 files changed by 1 contributor (6,974 lines of code)
0% | <1% | 12% | 66% | 20%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
tsx, ts, js, md, json, mdx, yml, mjs, html, yaml, gitignore, txt, patch, css, svelte, sh, editorconfig, npmrc, svg, prettierignore, snap
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
tsx0% | 0% | 12% | 37% | 50%
ts0% | 0% | <1% | 18% | 81%
html0% | 0% | 0% | 33% | 66%
svelte0% | 0% | 0% | 100% | 0%
yaml0% | 0% | 0% | 100% | 0%
js0% | 0% | 0% | 5% | 94%
mjs0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
libs0% | 0% | 4% | 25% | 69%
apps0% | 0% | 0% | 87% | 12%
.github0% | 0% | 0% | 100% | 0%
scripts0% | 0% | 0% | 0% | 100%
configs0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
Grid.tsx
in libs/@guardian/react-crossword/src/components
524 - 2024-11-05 2026-05-18 42 9 +2164 / -1221 alex 49699333+dependabot[bot]
Controls.tsx
in libs/@guardian/react-crossword/src/components
434 - 2024-11-14 2025-11-13 33 8 +1691 / -813 ollie.abrahams mahesh
theme.ts
in libs/@guardian/react-crossword/src
26 - 2024-11-05 2025-12-22 30 7 +114 / -63 alex 10963046+andrew-nowak
index.ts
in libs/@guardian/libs/src
39 - 2022-08-31 2026-05-14 30 13 +174 / -130 alex mahesh
crossword.ts
in libs/@guardian/react-crossword/src/@types
54 - 2024-11-05 2025-12-22 30 6 +326 / -137 alex 10963046+andrew-nowak
Crossword.tsx
in libs/@guardian/react-crossword/src/components
98 - 2024-11-05 2025-12-22 29 8 +1500 / -1336 alex 10963046+andrew-nowak
Cell.tsx
in libs/@guardian/react-crossword/src/components
135 - 2024-11-05 2026-06-23 29 6 +453 / -233 alex peace.williams-ojomu
Clue.tsx
in libs/@guardian/react-crossword/src/components
131 - 2024-11-05 2026-05-07 24 9 +411 / -141 alex 10963046+andrew-nowak
Clues.tsx
in libs/@guardian/react-crossword/src/components
196 - 2024-11-12 2025-05-21 24 6 +707 / -364 alex 10963046+andrew-nowak
Crossword.stories.tsx
in libs/@guardian/react-crossword/src/components
152 - 2024-11-05 2025-11-03 20 5 +623 / -249 alex 114918544+andrewheguardian
AnagramHelper.tsx
in libs/@guardian/react-crossword/src/components
219 - 2024-11-29 2026-05-18 20 10 +439 / -179 ollie.abrahams 49699333+dependabot[bot]
identityAuth.ts
in libs/@guardian/identity-auth/src
139 3 2023-06-07 2024-02-28 17 3 +747 / -110 mahesh mahesh
dependabot.yml
in .github
72 - 2023-05-15 2024-05-24 16 4 +188 / -117 77005274+joecowton1 1166188+jamesmockett
token.ts
in libs/@guardian/identity-auth/src
811 8 2023-06-07 2024-08-16 16 5 +3518 / -363 mahesh 77005274+joecowton1
Grid.stories.tsx
in libs/@guardian/react-crossword/src/components
43 - 2024-11-05 2025-11-03 15 3 +385 / -323 alex 114918544+andrewheguardian
Cell.stories.tsx
in libs/@guardian/react-crossword/src/components
141 - 2024-11-05 2025-11-03 15 4 +536 / -309 alex 114918544+andrewheguardian
ScreenLayout.tsx
in libs/@guardian/react-crossword/src/layouts
145 - 2024-12-04 2025-12-22 15 6 +345 / -65 alex 10963046+andrew-nowak
labeler.yml
in .github
36 - 2022-08-13 2026-05-14 13 5 +129 / -85 alex mahesh
Clues.stories.tsx
in libs/@guardian/react-crossword/src/components
44 - 2024-11-12 2025-11-03 13 4 +165 / -110 alex 114918544+andrewheguardian
Clue.stories.tsx
in libs/@guardian/react-crossword/src/components
70 - 2024-11-12 2026-05-07 13 5 +177 / -58 alex 10963046+andrew-nowak
index.ts
in libs/@guardian/identity-auth-frontend/src
78 - 2023-08-11 2026-08-25 13 6 +239 / -29 ashcorr20 andre.silva.mindera
index.ts
in libs/@guardian/core-web-vitals/src
149 - 2022-11-14 2026-06-10 13 7 +380 / -155 alex mahesh
CAPI.ts
in libs/@guardian/react-crossword/src/@types
41 - 2024-11-05 2025-09-29 12 7 +157 / -24 alex lindsey.dew
index.ts
in libs/@guardian/source-development-kitchen/src/react-components
51 - 2024-05-23 2026-08-24 12 9 +228 / -27 1166188+jamesmockett andre.silva.mindera
storage.ts
in libs/@guardian/libs/src/storage
64 3 2022-09-01 2026-06-10 12 9 +254 / -50 alex mahesh
OAuth.ts
in libs/@guardian/identity-auth/src/@types
85 - 2023-06-07 2023-10-11 12 3 +522 / -24 mahesh ollie.abrahams
newsletters-api.ts
in libs/@guardian/newsletter-types/src/@types
97 - 2023-10-03 2026-05-29 12 6 +436 / -9 dv.bltchr george.richmond
Radio.stories.tsx
in libs/@guardian/source/src/react-components/radio
112 - 2024-05-23 2026-08-24 12 7 +461 / -87 1166188+jamesmockett andre.silva.mindera
measure.ts
in libs/@guardian/libs/src/performance/@types
24 - 2023-07-20 2026-02-02 11 6 +72 / -10 max.duval mahesh
Icons.stories.tsx
in libs/@guardian/source/src/react-components/icons
96 - 2024-05-23 2025-11-03 11 4 +1552 / -596 1166188+jamesmockett 114918544+andrewheguardian
tokenManager.ts
in libs/@guardian/identity-auth/src
144 6 2023-06-07 2023-10-11 11 3 +663 / -32 mahesh ollie.abrahams
svelte
CmpTest.svelte
in apps/github-pages/src/components
304 - 2024-03-01 2026-05-14 11 6 +488 / -139 ollie.abrahams mahesh
CoreWebVitalsPayload.ts
in libs/@guardian/core-web-vitals/src/@types
14 - 2022-11-14 2026-06-10 10 5 +42 / -24 alex mahesh
Controls.stories.tsx
in libs/@guardian/react-crossword/src/components
39 - 2024-11-27 2025-11-03 10 5 +140 / -43 alex 114918544+andrewheguardian
getMeasures.ts
in libs/@guardian/libs/src/performance
25 - 2023-07-31 2023-12-18 9 5 +115 / -45 max.duval 49699333+dependabot[bot]
Formats.stories.tsx
in libs/@guardian/react-crossword/stories
64 - 2024-11-11 2025-11-03 9 6 +156 / -15 alex 114918544+andrewheguardian
Progress.tsx
in libs/@guardian/react-crossword/src/context
103 - 2024-11-27 2025-11-13 9 4 +368 / -132 alex mahesh
index.ts
in libs/@guardian/libs/src/ophan/@types
121 - 2022-09-01 2025-05-02 9 8 +174 / -8 alex 43961396+cemms1
Radio.tsx
in libs/@guardian/source/src/react-components/radio
123 - 2024-05-23 2026-01-14 9 7 +620 / -86 1166188+jamesmockett 2102123+on-ye
Checkbox.tsx
in libs/@guardian/source/src/react-components/checkbox
133 1 2024-05-23 2026-01-14 9 7 +692 / -96 1166188+jamesmockett 2102123+on-ye
TextInput.stories.tsx
in libs/@guardian/source/src/react-components/text-input
203 - 2024-05-23 2025-11-03 9 4 +944 / -139 1166188+jamesmockett 114918544+andrewheguardian
index.ts
in libs/@guardian/source/src/react-components
321 - 2024-05-23 2025-11-26 9 5 +1013 / -66 1166188+jamesmockett mahesh
.lintstagedrc.js
in libs/@guardian/libs
6 - 2022-08-31 2024-05-24 8 4 +18 / -11 alex 1166188+jamesmockett
startPerformanceMeasure.ts
in libs/@guardian/libs/src/performance
45 - 2023-07-20 2023-10-11 8 4 +166 / -35 max.duval ollie.abrahams
parseCrosswordData.ts
in libs/@guardian/react-crossword/src/utils
82 - 2024-11-12 2026-05-18 8 4 +206 / -14 alex 49699333+dependabot[bot]
AccordionRow.tsx
in libs/@guardian/source/src/react-components/accordion
129 1 2024-05-23 2026-01-14 8 8 +509 / -22 1166188+jamesmockett 2102123+on-ye
Inline.stories.tsx
in libs/@guardian/source/src/react-components/inline
140 - 2024-05-23 2025-11-03 8 3 +653 / -144 1166188+jamesmockett 114918544+andrewheguardian
RadioGroup.stories.tsx
in libs/@guardian/source/src/react-components/radio
153 - 2024-05-23 2025-11-03 8 4 +633 / -122 1166188+jamesmockett 114918544+andrewheguardian
Ticker.tsx
in libs/@guardian/source-development-kitchen/src/react-components/ticker
172 - 2024-08-19 2025-04-29 8 5 +445 / -71 charley.campbell “luxmi.r.pillai
Link.stories.tsx
in libs/@guardian/source/src/react-components/link
188 - 2024-05-23 2025-11-26 8 5 +845 / -146 1166188+jamesmockett mahesh
Files With Most Churn (Top 50)
Based on the number of lines added and deleted across all commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
token.ts
in libs/@guardian/identity-auth/src
811 8 2023-06-07 2024-08-16 16 5 +3518 / -363 mahesh 77005274+joecowton1
Grid.tsx
in libs/@guardian/react-crossword/src/components
524 - 2024-11-05 2026-05-18 42 9 +2164 / -1221 alex 49699333+dependabot[bot]
Crossword.tsx
in libs/@guardian/react-crossword/src/components
98 - 2024-11-05 2025-12-22 29 8 +1500 / -1336 alex 10963046+andrew-nowak
Controls.tsx
in libs/@guardian/react-crossword/src/components
434 - 2024-11-14 2025-11-13 33 8 +1691 / -813 ollie.abrahams mahesh
preview-head.html
in libs/@guardian/source/.storybook
357 - 2024-05-13 2025-03-14 6 3 +1162 / -1158 alex ollie.abrahams
Icons.stories.tsx
in libs/@guardian/source/src/react-components/icons
96 - 2024-05-23 2025-11-03 11 4 +1552 / -596 1166188+jamesmockett 114918544+andrewheguardian
Button.stories.tsx
in libs/@guardian/source/src/react-components/button
225 - 2024-05-23 2025-11-03 6 3 +1558 / -300 1166188+jamesmockett 114918544+andrewheguardian
Columns.stories.tsx
in libs/@guardian/source/src/react-components/columns
310 - 2024-05-23 2025-11-03 5 4 +1620 / -188 1166188+jamesmockett 114918544+andrewheguardian
ChoiceCardGroup.stories.tsx
in libs/@guardian/source/src/react-components/choice-card
301 - 2024-05-23 2025-11-03 6 3 +1299 / -197 1166188+jamesmockett 114918544+andrewheguardian
TextInput.stories.tsx
in libs/@guardian/source/src/react-components/text-input
203 - 2024-05-23 2025-11-03 9 4 +944 / -139 1166188+jamesmockett 114918544+andrewheguardian
index.ts
in libs/@guardian/source/src/react-components
321 - 2024-05-23 2025-11-26 9 5 +1013 / -66 1166188+jamesmockett mahesh
Clues.tsx
in libs/@guardian/react-crossword/src/components
196 - 2024-11-12 2025-05-21 24 6 +707 / -364 alex 10963046+andrew-nowak
countries.ts
in libs/@guardian/libs/src/countries
998 - 2022-09-01 2023-01-16 4 3 +1009 / -10 alex max.duval
styles.ts
in libs/@guardian/source/src/react-components/button
256 - 2024-05-23 2025-11-24 8 3 +957 / -47 1166188+jamesmockett 114918544+andrewheguardian
Link.stories.tsx
in libs/@guardian/source/src/react-components/link
188 - 2024-05-23 2025-11-26 8 5 +845 / -146 1166188+jamesmockett mahesh
prize.ts
in libs/@guardian/react-crossword/stories/formats
486 - 2024-11-11 2024-11-11 1 1 +974 / -0 alex alex
cryptic.ts
in libs/@guardian/react-crossword/stories/formats
476 - 2024-11-11 2024-11-11 1 1 +954 / -0 alex alex
NumericInput.stories.tsx
in libs/@guardian/source-development-kitchen/src/react-components/numeric-input
244 - 2024-05-23 2025-11-03 6 4 +920 / -5 1166188+jamesmockett 114918544+andrewheguardian
special.ts
in libs/@guardian/react-crossword/stories/formats
449 - 2024-11-11 2024-11-11 1 1 +900 / -0 alex alex
TextArea.stories.tsx
in libs/@guardian/source/src/react-components/text-area
34 - 2024-05-23 2025-11-03 6 3 +777 / -116 1166188+jamesmockett 114918544+andrewheguardian
Label.stories.tsx
in libs/@guardian/source/src/react-components/label
170 - 2024-05-23 2025-11-03 5 3 +727 / -153 1166188+jamesmockett 114918544+andrewheguardian
Crossword.stories.tsx
in libs/@guardian/react-crossword/src/components
152 - 2024-11-05 2025-11-03 20 5 +623 / -249 alex 114918544+andrewheguardian
identityAuth.ts
in libs/@guardian/identity-auth/src
139 3 2023-06-07 2024-02-28 17 3 +747 / -110 mahesh mahesh
everyman.ts
in libs/@guardian/react-crossword/stories/formats
426 - 2024-11-11 2024-11-11 1 1 +854 / -0 alex alex
Cell.stories.tsx
in libs/@guardian/react-crossword/src/components
141 - 2024-11-05 2025-11-03 15 4 +536 / -309 alex 114918544+andrewheguardian
quiptic.ts
in libs/@guardian/react-crossword/stories/formats
421 - 2024-11-11 2024-11-11 1 1 +844 / -0 alex alex
ToggleSwitch.stories.tsx
in libs/@guardian/source-development-kitchen/src/react-components/toggle-switch
78 - 2024-05-23 2025-11-03 6 5 +577 / -259 1166188+jamesmockett 114918544+andrewheguardian
LinkButton.stories.tsx
in libs/@guardian/source/src/react-components/button
55 - 2024-05-23 2025-11-03 5 3 +699 / -136 1166188+jamesmockett 114918544+andrewheguardian
weekend.ts
in libs/@guardian/react-crossword/stories/formats
404 - 2024-11-11 2024-11-11 1 1 +810 / -0 alex alex
Inline.stories.tsx
in libs/@guardian/source/src/react-components/inline
140 - 2024-05-23 2025-11-03 8 3 +653 / -144 1166188+jamesmockett 114918544+andrewheguardian
Checkbox.tsx
in libs/@guardian/source/src/react-components/checkbox
133 1 2024-05-23 2026-01-14 9 7 +692 / -96 1166188+jamesmockett 2102123+on-ye
sourcepoint.ts
in libs/@guardian/consent-manager/src
312 11 2026-04-17 2026-08-25 3 3 +783 / -2 akinsola.lawanson 106528085+akinsola-guardian
preview-head.html
in libs/@guardian/react-crossword/.storybook
364 - 2024-11-05 2025-03-14 3 2 +782 / -1 alex ollie.abrahams
preview-head.html
in libs/@guardian/source-development-kitchen/.storybook
357 - 2024-09-06 2025-03-14 2 2 +776 / -0 alex ollie.abrahams
speedy.ts
in libs/@guardian/react-crossword/stories/formats
382 - 2024-11-11 2024-11-11 1 1 +766 / -0 alex alex
CountryCode.ts
in libs/@guardian/libs/src/countries/@types
2 - 2022-09-01 2023-01-16 4 3 +261 / -504 alex max.duval
styles.ts
in libs/@guardian/source/src/react-components/choice-card
214 - 2024-05-23 2024-12-02 3 2 +761 / -2 1166188+jamesmockett alex
CountryKey.ts
in libs/@guardian/libs/src/countries/@types
2 - 2022-09-01 2023-01-16 4 3 +259 / -502 alex max.duval
RadioGroup.stories.tsx
in libs/@guardian/source/src/react-components/radio
153 - 2024-05-23 2025-11-03 8 4 +633 / -122 1166188+jamesmockett 114918544+andrewheguardian
CheckboxGroup.stories.tsx
in libs/@guardian/source/src/react-components/checkbox
141 - 2024-05-23 2025-11-03 6 3 +609 / -123 1166188+jamesmockett 114918544+andrewheguardian
quick-cryptic.ts
in libs/@guardian/react-crossword/stories/formats
354 - 2024-11-11 2024-11-11 1 1 +710 / -0 alex alex
Grid.stories.tsx
in libs/@guardian/react-crossword/src/components
43 - 2024-11-05 2025-11-03 15 3 +385 / -323 alex 114918544+andrewheguardian
Radio.tsx
in libs/@guardian/source/src/react-components/radio
123 - 2024-05-23 2026-01-14 9 7 +620 / -86 1166188+jamesmockett 2102123+on-ye
styles.ts
in libs/@guardian/source/src/react-components/columns
164 - 2024-05-23 2024-05-31 3 2 +668 / -32 1166188+jamesmockett 1166188+jamesmockett
tokenManager.ts
in libs/@guardian/identity-auth/src
144 6 2023-06-07 2023-10-11 11 3 +663 / -32 mahesh ollie.abrahams
Cell.tsx
in libs/@guardian/react-crossword/src/components
135 - 2024-11-05 2026-06-23 29 6 +453 / -233 alex peace.williams-ojomu
Legend.stories.tsx
in libs/@guardian/source/src/react-components/label
30 - 2024-05-23 2025-11-03 5 3 +579 / -106 1166188+jamesmockett 114918544+andrewheguardian
styles.ts
in libs/@guardian/source/src/react-components/checkbox
176 - 2024-05-23 2024-08-08 3 2 +652 / -32 1166188+jamesmockett 1166188+jamesmockett
quick.ts
in libs/@guardian/react-crossword/stories/formats
324 - 2024-11-11 2024-11-11 1 1 +650 / -0 alex alex
size.ts
in libs/@guardian/source/src/foundations/size
9 - 2024-05-23 2024-08-14 4 2 +485 / -161 1166188+jamesmockett alex
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
index.ts
in libs/@guardian/libs/src
39 - 2022-08-31 2026-05-14 30 13 +174 / -130 alex mahesh
AnagramHelper.tsx
in libs/@guardian/react-crossword/src/components
219 - 2024-11-29 2026-05-18 20 10 +439 / -179 ollie.abrahams 49699333+dependabot[bot]
Grid.tsx
in libs/@guardian/react-crossword/src/components
524 - 2024-11-05 2026-05-18 42 9 +2164 / -1221 alex 49699333+dependabot[bot]
Clue.tsx
in libs/@guardian/react-crossword/src/components
131 - 2024-11-05 2026-05-07 24 9 +411 / -141 alex 10963046+andrew-nowak
storage.ts
in libs/@guardian/libs/src/storage
64 3 2022-09-01 2026-06-10 12 9 +254 / -50 alex mahesh
index.ts
in libs/@guardian/source-development-kitchen/src/react-components
51 - 2024-05-23 2026-08-24 12 9 +228 / -27 1166188+jamesmockett andre.silva.mindera
Controls.tsx
in libs/@guardian/react-crossword/src/components
434 - 2024-11-14 2025-11-13 33 8 +1691 / -813 ollie.abrahams mahesh
Crossword.tsx
in libs/@guardian/react-crossword/src/components
98 - 2024-11-05 2025-12-22 29 8 +1500 / -1336 alex 10963046+andrew-nowak
index.ts
in libs/@guardian/libs/src/ophan/@types
121 - 2022-09-01 2025-05-02 9 8 +174 / -8 alex 43961396+cemms1
AccordionRow.tsx
in libs/@guardian/source/src/react-components/accordion
129 1 2024-05-23 2026-01-14 8 8 +509 / -22 1166188+jamesmockett 2102123+on-ye
theme.ts
in libs/@guardian/react-crossword/src
26 - 2024-11-05 2025-12-22 30 7 +114 / -63 alex 10963046+andrew-nowak
index.ts
in libs/@guardian/core-web-vitals/src
149 - 2022-11-14 2026-06-10 13 7 +380 / -155 alex mahesh
Radio.stories.tsx
in libs/@guardian/source/src/react-components/radio
112 - 2024-05-23 2026-08-24 12 7 +461 / -87 1166188+jamesmockett andre.silva.mindera
CAPI.ts
in libs/@guardian/react-crossword/src/@types
41 - 2024-11-05 2025-09-29 12 7 +157 / -24 alex lindsey.dew
Radio.tsx
in libs/@guardian/source/src/react-components/radio
123 - 2024-05-23 2026-01-14 9 7 +620 / -86 1166188+jamesmockett 2102123+on-ye
Checkbox.tsx
in libs/@guardian/source/src/react-components/checkbox
133 1 2024-05-23 2026-01-14 9 7 +692 / -96 1166188+jamesmockett 2102123+on-ye
crossword.ts
in libs/@guardian/react-crossword/src/@types
54 - 2024-11-05 2025-12-22 30 6 +326 / -137 alex 10963046+andrew-nowak
Cell.tsx
in libs/@guardian/react-crossword/src/components
135 - 2024-11-05 2026-06-23 29 6 +453 / -233 alex peace.williams-ojomu
Clues.tsx
in libs/@guardian/react-crossword/src/components
196 - 2024-11-12 2025-05-21 24 6 +707 / -364 alex 10963046+andrew-nowak
ScreenLayout.tsx
in libs/@guardian/react-crossword/src/layouts
145 - 2024-12-04 2025-12-22 15 6 +345 / -65 alex 10963046+andrew-nowak
index.ts
in libs/@guardian/identity-auth-frontend/src
78 - 2023-08-11 2026-08-25 13 6 +239 / -29 ashcorr20 andre.silva.mindera
newsletters-api.ts
in libs/@guardian/newsletter-types/src/@types
97 - 2023-10-03 2026-05-29 12 6 +436 / -9 dv.bltchr george.richmond
measure.ts
in libs/@guardian/libs/src/performance/@types
24 - 2023-07-20 2026-02-02 11 6 +72 / -10 max.duval mahesh
svelte
CmpTest.svelte
in apps/github-pages/src/components
304 - 2024-03-01 2026-05-14 11 6 +488 / -139 ollie.abrahams mahesh
Formats.stories.tsx
in libs/@guardian/react-crossword/stories
64 - 2024-11-11 2025-11-03 9 6 +156 / -15 alex 114918544+andrewheguardian
TextInput.tsx
in libs/@guardian/source/src/react-components/text-input
119 - 2024-05-23 2026-01-14 7 6 +573 / -22 1166188+jamesmockett 2102123+on-ye
FocusedClue.tsx
in libs/@guardian/react-crossword/src/components
57 - 2025-02-17 2026-05-07 7 6 +74 / -8 ollie.abrahams 10963046+andrew-nowak
ToggleSwitch.tsx
in libs/@guardian/source-development-kitchen/src/react-components/toggle-switch
77 - 2024-05-23 2025-11-13 7 6 +452 / -55 1166188+jamesmockett mahesh
ChoiceCardGroup.tsx
in libs/@guardian/source/src/react-components/choice-card
94 - 2024-05-23 2026-01-14 6 6 +441 / -18 1166188+jamesmockett 2102123+on-ye
ChoiceCard.tsx
in libs/@guardian/source/src/react-components/choice-card
106 1 2024-05-23 2026-01-14 6 6 +498 / -9 1166188+jamesmockett 2102123+on-ye
TextArea.tsx
in libs/@guardian/source/src/react-components/text-area
116 - 2024-05-23 2026-01-14 6 6 +553 / -16 1166188+jamesmockett 2102123+on-ye
Select.tsx
in libs/@guardian/source/src/react-components/select
107 1 2024-05-23 2026-01-14 6 6 +493 / -16 1166188+jamesmockett 2102123+on-ye
RadioGroup.tsx
in libs/@guardian/source/src/react-components/radio
100 - 2024-05-23 2026-01-14 5 6 +448 / -16 1166188+jamesmockett 2102123+on-ye
Ticker.stories.tsx
in libs/@guardian/source-development-kitchen/src/react-components/ticker
17 - 2024-08-19 2025-11-03 5 6 +159 / -14 charley.campbell 114918544+andrewheguardian
Crossword.stories.tsx
in libs/@guardian/react-crossword/src/components
152 - 2024-11-05 2025-11-03 20 5 +623 / -249 alex 114918544+andrewheguardian
token.ts
in libs/@guardian/identity-auth/src
811 8 2023-06-07 2024-08-16 16 5 +3518 / -363 mahesh 77005274+joecowton1
Clue.stories.tsx
in libs/@guardian/react-crossword/src/components
70 - 2024-11-12 2026-05-07 13 5 +177 / -58 alex 10963046+andrew-nowak
labeler.yml
in .github
36 - 2022-08-13 2026-05-14 13 5 +129 / -85 alex mahesh
CoreWebVitalsPayload.ts
in libs/@guardian/core-web-vitals/src/@types
14 - 2022-11-14 2026-06-10 10 5 +42 / -24 alex mahesh
Controls.stories.tsx
in libs/@guardian/react-crossword/src/components
39 - 2024-11-27 2025-11-03 10 5 +140 / -43 alex 114918544+andrewheguardian
index.ts
in libs/@guardian/source/src/react-components
321 - 2024-05-23 2025-11-26 9 5 +1013 / -66 1166188+jamesmockett mahesh
getMeasures.ts
in libs/@guardian/libs/src/performance
25 - 2023-07-31 2023-12-18 9 5 +115 / -45 max.duval 49699333+dependabot[bot]
Link.stories.tsx
in libs/@guardian/source/src/react-components/link
188 - 2024-05-23 2025-11-26 8 5 +845 / -146 1166188+jamesmockett mahesh
labels.ts
in libs/@guardian/source/src/react-components/icons
195 - 2024-05-23 2025-11-26 8 5 +498 / -19 1166188+jamesmockett mahesh
Ticker.tsx
in libs/@guardian/source-development-kitchen/src/react-components/ticker
172 - 2024-08-19 2025-04-29 8 5 +445 / -71 charley.campbell “luxmi.r.pillai
storybook.js
in libs/@guardian/eslint-config/configs
16 - 2024-08-28 2026-03-02 7 5 +70 / -18 alex mahesh
ToggleSwitch.stories.tsx
in libs/@guardian/source-development-kitchen/src/react-components/toggle-switch
78 - 2024-05-23 2025-11-03 6 5 +577 / -259 1166188+jamesmockett 114918544+andrewheguardian
rollup.config.js
in libs/@guardian/source-development-kitchen
7 1 2024-05-22 2026-08-24 5 5 +25 / -0 alex andre.silva.mindera
UserFeedbackProps.ts
in libs/@guardian/source/src/react-components/user-feedback/@types
10 - 2024-05-23 2026-01-14 4 5 +75 / -6 1166188+jamesmockett 2102123+on-ye
LabelProps.ts
in libs/@guardian/source/src/react-components/label/@types
16 - 2024-05-23 2026-01-14 4 5 +135 / -6 1166188+jamesmockett 2102123+on-ye
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsline
churn
first
contributor
latest
contributor
grouped-clues.ts
in libs/@guardian/react-crossword/stories/formats
526 - 2024-11-18 2024-11-18 1 1 +527 / -0 alex alex
prize.ts
in libs/@guardian/react-crossword/stories/formats
486 - 2024-11-11 2024-11-11 1 1 +974 / -0 alex alex
cryptic.ts
in libs/@guardian/react-crossword/stories/formats
476 - 2024-11-11 2024-11-11 1 1 +954 / -0 alex alex
special.ts
in libs/@guardian/react-crossword/stories/formats
449 - 2024-11-11 2024-11-11 1 1 +900 / -0 alex alex
everyman.ts
in libs/@guardian/react-crossword/stories/formats
426 - 2024-11-11 2024-11-11 1 1 +854 / -0 alex alex
quiptic.ts
in libs/@guardian/react-crossword/stories/formats
421 - 2024-11-11 2024-11-11 1 1 +844 / -0 alex alex
weekend.ts
in libs/@guardian/react-crossword/stories/formats
404 - 2024-11-11 2024-11-11 1 1 +810 / -0 alex alex
speedy.ts
in libs/@guardian/react-crossword/stories/formats
382 - 2024-11-11 2024-11-11 1 1 +766 / -0 alex alex
quick-cryptic.ts
in libs/@guardian/react-crossword/stories/formats
354 - 2024-11-11 2024-11-11 1 1 +710 / -0 alex alex
quick.ts
in libs/@guardian/react-crossword/stories/formats
324 - 2024-11-11 2024-11-11 1 1 +650 / -0 alex alex
uneven.ts
in libs/@guardian/react-crossword/stories/formats
174 - 2024-11-12 2024-11-12 1 1 +175 / -0 ollie.abrahams ollie.abrahams
mini.ts
in libs/@guardian/react-crossword/stories/formats
170 - 2025-09-29 2025-09-29 1 1 +345 / -1 lindsey.dew lindsey.dew
mini-cryptic.ts
in libs/@guardian/react-crossword/stories/formats
170 - 2025-03-21 2025-03-21 1 1 +172 / -0 ollie.abrahams ollie.abrahams
separators.ts
in libs/@guardian/react-crossword/stories/formats
106 - 2024-11-14 2024-11-18 2 1 +119 / -10 alex alex
autoRenew.ts
in libs/@guardian/identity-auth/src
104 - 2023-06-29 2023-07-17 4 1 +304 / -6 mahesh mahesh
colourConversions.ts
in libs/@guardian/source/src/foundations/utils
102 - 2025-11-24 2025-11-24 1 1 +165 / -0 114918544+andrewheguardian 114918544+andrewheguardian
core.ts
in libs/@guardian/ab-core/src
102 - 2023-01-17 2024-01-03 2 1 +148 / -5 max.duval max.duval
position.ts
in libs/@guardian/source-development-kitchen/src/react-components/popover
95 - 2026-05-19 2026-05-19 1 1 +101 / -0 43961396+cemms1 43961396+cemms1
viewport.ts
in libs/@guardian/react-crossword/.storybook/preview
86 - 2024-11-05 2024-12-02 2 1 +198 / -16 alex alex
viewport.ts
in libs/@guardian/source-development-kitchen/.storybook/preview
86 - 2024-09-06 2024-12-02 2 1 +198 / -16 alex alex
index.ts
in libs/@guardian/ab-core/src/@types
80 - 2023-01-17 2023-11-24 3 1 +117 / -10 max.duval max.duval
typography.js
in libs/@guardian/source/src/design-tokens/cobalt-plugins
75 2 2024-08-14 2024-08-14 1 1 +114 / -0 alex alex
getCellsWithProgressForGroup.ts
in libs/@guardian/react-crossword/src/utils
71 - 2024-12-10 2025-03-19 2 1 +78 / -1 ollie.abrahams ollie.abrahams
size.js
in libs/@guardian/source/src/design-tokens/cobalt-plugins
65 2 2024-08-14 2024-08-14 1 1 +95 / -0 alex alex
Spinner.tsx
in libs/@guardian/source/src/react-components/spinner
60 - 2024-06-12 2024-06-12 1 1 +86 / -0 1166188+jamesmockett 1166188+jamesmockett
hoverColour.ts
in libs/@guardian/source/src/foundations/buttonHoverColour
55 - 2025-11-24 2025-11-24 1 1 +82 / -0 114918544+andrewheguardian 114918544+andrewheguardian
Popover.stories.tsx
in libs/@guardian/source-development-kitchen/src/react-components/popover
55 - 2026-05-19 2026-05-19 1 1 +141 / -9 43961396+cemms1 43961396+cemms1
ab.ts
in libs/@guardian/ab-core/src
55 7 2023-01-17 2024-01-03 2 1 +117 / -56 max.duval max.duval
space.js
in libs/@guardian/source/src/design-tokens/cobalt-plugins
54 2 2024-08-14 2024-08-14 1 1 +78 / -0 alex alex
breakpoints.js
in libs/@guardian/source/src/design-tokens/cobalt-plugins
50 2 2024-08-14 2024-08-14 1 1 +76 / -0 alex alex
toMatchCSS.ts
in libs/@guardian/source/lib/jest-matchers
45 - 2024-05-13 2024-05-13 1 1 +59 / -0 alex alex
palette.js
in libs/@guardian/source/src/design-tokens/cobalt-plugins
43 2 2024-08-14 2024-08-14 1 1 +67 / -0 alex alex
usAbtest.ts
in libs/@guardian/consent-manager/src
42 - 2026-08-25 2026-09-16 3 1 +78 / -25 106528085+akinsola-guardian 106528085+akinsola-guardian
context.tsx
in libs/@guardian/ab-react/src
42 - 2023-01-17 2023-01-19 2 1 +154 / -0 max.duval max.duval
palette.stories.tsx
in libs/@guardian/source/src/foundations/palette
39 - 2024-08-14 2024-09-06 2 1 +76 / -28 alex alex
hoverColour.stories.tsx
in libs/@guardian/source/src/foundations/buttonHoverColour
39 - 2025-11-24 2025-11-24 1 1 +46 / -0 114918544+andrewheguardian 114918544+andrewheguardian
setCookie.ts
in libs/@guardian/libs/src/cookies
38 - 2022-09-01 2022-09-01 1 1 +53 / -0 alex alex
theme.ts
in libs/@guardian/source-development-kitchen/src/react-components/popover
38 - 2026-05-19 2026-05-19 1 1 +48 / -0 43961396+cemms1 43961396+cemms1
getLocale.ts
in libs/@guardian/libs/src/locale
37 - 2022-09-01 2024-04-24 2 1 +63 / -1 alex alex
mjs
update-readme.mjs
in libs/@guardian/browserslist-config/scripts
35 - 2022-08-23 2024-12-02 3 1 +47 / -5 alex alex
getCellDescription.ts
in libs/@guardian/react-crossword/src/utils
34 - 2025-01-27 2025-02-20 2 1 +74 / -30 ollie.abrahams ollie.abrahams
ShowAnagramHelper.tsx
in libs/@guardian/react-crossword/src/context
33 - 2024-12-20 2025-01-30 2 1 +53 / -1 ollie.abrahams ollie.abrahams
toBeValidCSS.ts
in libs/@guardian/source/lib/jest-matchers
30 - 2024-05-13 2024-05-13 1 1 +41 / -0 alex alex
lint-node.js
in scripts
29 - 2024-10-28 2024-10-28 1 1 +74 / -0 alex alex
word-wheel.progress.ts
in libs/@guardian/react-crossword/stories/formats
28 - 2024-11-29 2024-11-29 1 1 +29 / -0 ollie.abrahams ollie.abrahams
formatClueForScreenReader.ts
in libs/@guardian/react-crossword/src/utils
28 - 2024-12-20 2025-01-27 2 1 +44 / -4 ollie.abrahams ollie.abrahams
setSessionCookie.ts
in libs/@guardian/libs/src/cookies
23 - 2022-09-01 2022-09-01 1 1 +34 / -0 alex alex
CurrentClue.tsx
in libs/@guardian/react-crossword/src/context
23 - 2024-11-27 2024-11-28 2 1 +86 / -4 alex alex
getCookie.ts
in libs/@guardian/libs/src/cookies
22 - 2022-09-01 2024-04-24 2 1 +33 / -1 alex alex
mjs
included-table.mjs
in libs/@guardian/browserslist-config/scripts
20 - 2022-08-23 2022-08-23 1 1 +26 / -0 alex alex
Correlations

File Size vs. Number of Changes: 504 points

libs/@guardian/consent-manager/src/usAbtest.ts x: 42 lines of code y: 3 # changes libs/@guardian/pulse/terrazzo.config.ts x: 34 lines of code y: 4 # changes libs/@guardian/consent-manager/src/lib/sourcepointConfig.ts x: 61 lines of code y: 3 # changes libs/@guardian/consent-manager/src/sourcepoint.ts x: 312 lines of code y: 3 # changes libs/@guardian/identity-auth-frontend/src/index.ts x: 78 lines of code y: 13 # changes libs/@guardian/pulse/eslint.config.js x: 14 lines of code y: 2 # changes libs/@guardian/pulse/rollup.config.js x: 1 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/rollup.config.js x: 7 lines of code y: 5 # changes libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.stories.tsx x: 50 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.tsx x: 23 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/disclaimer/styles.ts x: 18 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/disclaimer/theme.ts x: 11 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/index.ts x: 51 lines of code y: 12 # changes libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.tsx x: 180 lines of code y: 3 # changes libs/@guardian/source/src/foundations/palette/storybookColorPalette.tsx x: 172 lines of code y: 4 # changes libs/@guardian/source/src/react-components/radio/Radio.stories.tsx x: 112 lines of code y: 12 # changes libs/@guardian/react-crossword/src/components/Cell.tsx x: 135 lines of code y: 29 # changes libs/@guardian/core-web-vitals/src/@types/CoreWebVitalsPayload.ts x: 14 lines of code y: 10 # changes libs/@guardian/core-web-vitals/src/index.ts x: 149 lines of code y: 13 # changes libs/@guardian/libs/src/storage/storage.ts x: 64 lines of code y: 12 # changes libs/@guardian/newsletter-types/src/@types/newsletters-api.ts x: 97 lines of code y: 12 # changes libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.stories.tsx x: 55 lines of code y: 1 # changes libs/@guardian/source-development-kitchen/src/react-components/popover/position.ts x: 95 lines of code y: 1 # changes libs/@guardian/source-development-kitchen/src/react-components/popover/theme.ts x: 38 lines of code y: 1 # changes libs/@guardian/react-crossword/src/components/AnagramHelper.tsx x: 219 lines of code y: 20 # changes libs/@guardian/react-crossword/src/components/Grid.tsx x: 524 lines of code y: 42 # changes libs/@guardian/react-crossword/src/utils/parseCrosswordData.ts x: 82 lines of code y: 8 # changes libs/@guardian/source-development-kitchen/src/react-components/summary/ErrorSummary.stories.tsx x: 54 lines of code y: 4 # changes .github/labeler.yml x: 36 lines of code y: 13 # changes apps/github-pages/src/components/CmpTest.svelte x: 304 lines of code y: 11 # changes libs/@guardian/consent-manager/playwright.config.js x: 19 lines of code y: 2 # changes libs/@guardian/consent-manager/playwright/fixtures/sourcepointConfig.js x: 4 lines of code y: 2 # changes libs/@guardian/consent-manager/rollup.config.js x: 7 lines of code y: 4 # changes libs/@guardian/consent-manager/src/aus/api.ts x: 25 lines of code y: 2 # changes libs/@guardian/consent-manager/src/cmp.ts x: 62 lines of code y: 2 # changes libs/@guardian/consent-manager/src/disable.ts x: 9 lines of code y: 2 # changes libs/@guardian/consent-manager/src/export.ts x: 148 lines of code y: 3 # changes libs/@guardian/consent-manager/src/getConsentDetailsForOphan.ts x: 32 lines of code y: 2 # changes libs/@guardian/consent-manager/src/getConsentFor.ts x: 39 lines of code y: 2 # changes libs/@guardian/consent-manager/src/isConsentOrPay.ts x: 26 lines of code y: 2 # changes libs/@guardian/consent-manager/src/lib/mark.ts x: 7 lines of code y: 2 # changes libs/@guardian/consent-manager/src/lib/ophan.ts x: 77 lines of code y: 2 # changes libs/@guardian/consent-manager/src/mergeUserConsent.ts x: 140 lines of code y: 2 # changes libs/@guardian/consent-manager/src/onConsentChange.ts x: 116 lines of code y: 2 # changes libs/@guardian/consent-manager/src/server.ts x: 64 lines of code y: 2 # changes libs/@guardian/consent-manager/src/sourcepointGeolocation.ts x: 61 lines of code y: 2 # changes libs/@guardian/consent-manager/src/stub_gpp_usnat.js x: 156 lines of code y: 2 # changes libs/@guardian/consent-manager/src/stub_tcfv2.js x: 272 lines of code y: 2 # changes libs/@guardian/consent-manager/src/tcfv2/api.ts x: 47 lines of code y: 2 # changes libs/@guardian/consent-manager/src/tcfv2/getConsentState.ts x: 45 lines of code y: 2 # changes libs/@guardian/consent-manager/src/types/aus.ts x: 20 lines of code y: 2 # changes libs/@guardian/consent-manager/src/types/index.ts x: 78 lines of code y: 2 # changes libs/@guardian/consent-manager/src/types/tcfv2/index.ts x: 30 lines of code y: 2 # changes libs/@guardian/consent-manager/src/types/usnat/index.ts x: 35 lines of code y: 2 # changes libs/@guardian/consent-manager/src/vendorDataManager.ts x: 53 lines of code y: 2 # changes libs/@guardian/consent-manager/src/vendorStorageIds.ts x: 65 lines of code y: 2 # changes libs/@guardian/consent-manager/src/vendors.ts x: 48 lines of code y: 4 # changes libs/@guardian/libs/src/index.ts x: 39 lines of code y: 30 # changes libs/@guardian/react-crossword/src/components/Clue.stories.tsx x: 70 lines of code y: 13 # changes libs/@guardian/react-crossword/src/components/Clue.tsx x: 131 lines of code y: 24 # changes libs/@guardian/react-crossword/src/components/FocusedClue.tsx x: 57 lines of code y: 7 # changes libs/@guardian/react-crossword/src/utils/clueFormattingStyles.ts x: 15 lines of code y: 2 # changes libs/@guardian/libs/playwright/fixtures/sourcepointConfig.js x: 4 lines of code y: 7 # changes libs/@guardian/eslint-config/configs/storybook.js x: 16 lines of code y: 7 # changes libs/@guardian/libs/src/performance/@types/measure.ts x: 24 lines of code y: 11 # changes libs/@guardian/source/eslint.config.js x: 26 lines of code y: 6 # changes libs/@guardian/libs/src/deprecated-exports.ts x: 2 lines of code y: 4 # changes libs/@guardian/source/src/react-components/accordion/AccordionRow.tsx x: 129 lines of code y: 8 # changes libs/@guardian/source/src/react-components/button/Button.tsx x: 45 lines of code y: 4 # changes libs/@guardian/source/src/react-components/button/LinkButton.tsx x: 37 lines of code y: 4 # changes libs/@guardian/source/src/react-components/checkbox/Checkbox.tsx x: 133 lines of code y: 9 # changes libs/@guardian/source/src/react-components/choice-card/ChoiceCard.tsx x: 106 lines of code y: 6 # changes libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.tsx x: 94 lines of code y: 6 # changes libs/@guardian/source/src/react-components/label/@types/LabelProps.ts x: 16 lines of code y: 4 # changes libs/@guardian/source/src/react-components/link/ButtonLink.tsx x: 29 lines of code y: 4 # changes libs/@guardian/source/src/react-components/link/Link.tsx x: 28 lines of code y: 4 # changes libs/@guardian/source/src/react-components/radio/Radio.tsx x: 123 lines of code y: 9 # changes libs/@guardian/source/src/react-components/radio/RadioGroup.tsx x: 100 lines of code y: 5 # changes libs/@guardian/source/src/react-components/select/Option.tsx x: 11 lines of code y: 4 # changes libs/@guardian/source/src/react-components/select/Select.tsx x: 107 lines of code y: 6 # changes libs/@guardian/source/src/react-components/text-area/TextArea.tsx x: 116 lines of code y: 6 # changes libs/@guardian/source/src/react-components/text-input/TextInput.tsx x: 119 lines of code y: 7 # changes libs/@guardian/source/src/react-components/user-feedback/@types/UserFeedbackProps.ts x: 10 lines of code y: 4 # changes libs/@guardian/react-crossword/src/@types/crossword.ts x: 54 lines of code y: 30 # changes libs/@guardian/react-crossword/src/components/Crossword.tsx x: 98 lines of code y: 29 # changes libs/@guardian/react-crossword/src/layouts/ScreenLayout.tsx x: 145 lines of code y: 15 # changes libs/@guardian/react-crossword/src/theme.ts x: 26 lines of code y: 30 # changes libs/@guardian/source/src/react-components/icons/icons.ts x: 190 lines of code y: 2 # changes libs/@guardian/source/src/react-components/icons/labels.ts x: 195 lines of code y: 8 # changes libs/@guardian/source/src/react-components/index.ts x: 321 lines of code y: 9 # changes libs/@guardian/source/src/react-components/link/Link.stories.tsx x: 188 lines of code y: 8 # changes libs/@guardian/source/src/foundations/utils/colourConversions.ts x: 102 lines of code y: 1 # changes libs/@guardian/source/src/react-components/button/@types/SharedButtonProps.ts x: 17 lines of code y: 3 # changes libs/@guardian/source/src/react-components/button/styles.ts x: 256 lines of code y: 8 # changes libs/@guardian/ab-core/eslint.config.js x: 13 lines of code y: 4 # changes libs/@guardian/browserslist-config/eslint.config.mjs x: 9 lines of code y: 4 # changes libs/@guardian/eslint-config/configs/typescript.js x: 68 lines of code y: 4 # changes libs/@guardian/eslint-config/eslint.config.js x: 14 lines of code y: 5 # changes libs/@guardian/react-crossword/eslint.config.js x: 20 lines of code y: 4 # changes libs/@guardian/react-crossword/src/components/Controls.tsx x: 434 lines of code y: 33 # changes libs/@guardian/react-crossword/src/context/Progress.tsx x: 103 lines of code y: 9 # changes libs/@guardian/react-crossword/src/hooks/useCheatMode.ts x: 84 lines of code y: 4 # changes libs/@guardian/source-development-kitchen/eslint.config.js x: 20 lines of code y: 7 # changes libs/@guardian/source-development-kitchen/src/react-components/ticker/useIsInView.ts x: 51 lines of code y: 5 # changes libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.tsx x: 77 lines of code y: 7 # changes libs/@guardian/source/scripts/create-icons/get-svgs-from-figma.ts x: 66 lines of code y: 3 # changes libs/@guardian/source/src/foundations/accessibility/focus-style-manager.ts x: 55 lines of code y: 4 # changes apps/storybooks/.storybook/main.ts x: 30 lines of code y: 5 # changes libs/@guardian/react-crossword/.storybook/main.ts x: 19 lines of code y: 3 # changes libs/@guardian/react-crossword/.storybook/preview.tsx x: 58 lines of code y: 3 # changes libs/@guardian/react-crossword/src/components/AnagramHelper.stories.tsx x: 45 lines of code y: 5 # changes libs/@guardian/react-crossword/src/components/Cell.stories.tsx x: 141 lines of code y: 15 # changes libs/@guardian/react-crossword/src/components/Clues.stories.tsx x: 44 lines of code y: 13 # changes libs/@guardian/react-crossword/src/components/Controls.stories.tsx x: 39 lines of code y: 10 # changes libs/@guardian/react-crossword/src/components/Crossword.stories.tsx x: 152 lines of code y: 20 # changes libs/@guardian/react-crossword/src/components/CrosswordInteraction.stories.tsx x: 125 lines of code y: 2 # changes libs/@guardian/react-crossword/src/components/FocusedClue.stories.tsx x: 37 lines of code y: 2 # changes libs/@guardian/react-crossword/src/components/Grid.stories.tsx x: 43 lines of code y: 15 # changes libs/@guardian/react-crossword/src/components/SolutionDisplay.stories.tsx x: 40 lines of code y: 4 # changes libs/@guardian/react-crossword/src/components/WordWheel.stories.tsx x: 56 lines of code y: 4 # changes libs/@guardian/react-crossword/stories/Formats.stories.tsx x: 64 lines of code y: 9 # changes libs/@guardian/source-development-kitchen/.storybook/main.ts x: 18 lines of code y: 4 # changes libs/@guardian/source-development-kitchen/src/react-components/age-warning/AgeWarning.stories.tsx x: 10 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/divider/Divider.stories.tsx x: 41 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.stories.tsx x: 150 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterWithContents.stories.tsx x: 28 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/lines/Lines.stories.tsx x: 56 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/logo/Logo.stories.tsx x: 61 lines of code y: 4 # changes libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.stories.tsx x: 244 lines of code y: 6 # changes libs/@guardian/source-development-kitchen/src/react-components/star-rating/StarRating.stories.tsx x: 55 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/summary/InfoSummary.stories.tsx x: 45 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/tabs/Tabs.stories.tsx x: 146 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/ticker/Ticker.stories.tsx x: 17 lines of code y: 5 # changes libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.stories.tsx x: 78 lines of code y: 6 # changes libs/@guardian/source/.storybook/preview.tsx x: 77 lines of code y: 6 # changes libs/@guardian/source/src/react-components/accordion/Accordion.stories.tsx x: 68 lines of code y: 5 # changes libs/@guardian/source/src/react-components/button/Button.stories.tsx x: 225 lines of code y: 6 # changes libs/@guardian/source/src/react-components/button/LinkButton.stories.tsx x: 55 lines of code y: 5 # changes libs/@guardian/source/src/react-components/checkbox/Checkbox.stories.tsx x: 110 lines of code y: 7 # changes libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.stories.tsx x: 141 lines of code y: 6 # changes libs/@guardian/source/src/react-components/choice-card/ChoiceCard.stories.tsx x: 81 lines of code y: 5 # changes libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.stories.tsx x: 301 lines of code y: 6 # changes libs/@guardian/source/src/react-components/columns/Columns.stories.tsx x: 310 lines of code y: 5 # changes libs/@guardian/source/src/react-components/container/Container.stories.tsx x: 24 lines of code y: 4 # changes libs/@guardian/source/src/react-components/hide/Hide.stories.tsx x: 26 lines of code y: 4 # changes libs/@guardian/source/src/react-components/icons/Icons.stories.tsx x: 96 lines of code y: 11 # changes libs/@guardian/source/src/react-components/inline/Inline.stories.tsx x: 140 lines of code y: 8 # changes libs/@guardian/source/src/react-components/label/Label.stories.tsx x: 170 lines of code y: 5 # changes libs/@guardian/source/src/react-components/link/ButtonLink.stories.tsx x: 66 lines of code y: 5 # changes libs/@guardian/source/src/react-components/radio/RadioGroup.stories.tsx x: 153 lines of code y: 8 # changes libs/@guardian/source/src/react-components/select/Select.stories.tsx x: 140 lines of code y: 5 # changes libs/@guardian/source/src/react-components/stack/Stack.stories.tsx x: 28 lines of code y: 5 # changes libs/@guardian/source/src/react-components/text-area/TextArea.stories.tsx x: 34 lines of code y: 6 # changes libs/@guardian/source/src/react-components/text-input/TextInput.stories.tsx x: 203 lines of code y: 9 # changes libs/@guardian/source/src/react-components/tiles/Tiles.stories.tsx x: 94 lines of code y: 4 # changes libs/@guardian/react-crossword/src/@types/CAPI.ts x: 41 lines of code y: 12 # changes libs/@guardian/react-crossword/stories/formats/mini.ts x: 170 lines of code y: 1 # changes libs/@guardian/source/src/react-components/icons/IconExample.tsx x: 4 lines of code y: 1 # changes libs/@guardian/source/scripts/create-icons/create-icon-component.ts x: 162 lines of code y: 2 # changes libs/@guardian/react-crossword/src/components/Clues.tsx x: 196 lines of code y: 24 # changes libs/@guardian/source/src/react-components/button/theme.ts x: 91 lines of code y: 3 # changes libs/@guardian/libs/src/ophan/@types/index.ts x: 121 lines of code y: 9 # changes libs/@guardian/source-development-kitchen/src/react-components/ticker/Ticker.tsx x: 172 lines of code y: 8 # changes libs/@guardian/react-crossword/stories/formats/sunday-quick.ts x: 319 lines of code y: 2 # changes libs/@guardian/react-crossword/src/context/Data.tsx x: 51 lines of code y: 3 # changes configs/rollup/rollup.config.js x: 48 lines of code y: 5 # changes libs/@guardian/react-crossword/src/components/CrosswordButton.tsx x: 37 lines of code y: 5 # changes libs/@guardian/react-crossword/src/components/SolutionDisplay.tsx x: 140 lines of code y: 6 # changes libs/@guardian/react-crossword/src/utils/getCellsWithProgressForGroup.ts x: 71 lines of code y: 2 # changes libs/@guardian/source/src/react-components/deprecated-exports.ts x: 35 lines of code y: 5 # changes libs/@guardian/react-crossword/.storybook/preview-head.html x: 364 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/.storybook/preview-head.html x: 357 lines of code y: 2 # changes libs/@guardian/source/.storybook/preview-head.html x: 357 lines of code y: 6 # changes libs/@guardian/react-crossword/src/context/ValidAnswers.tsx x: 33 lines of code y: 5 # changes libs/@guardian/react-crossword/src/hooks/useUpdateCell.ts x: 40 lines of code y: 5 # changes libs/@guardian/react-crossword/src/utils/getCellDescription.ts x: 34 lines of code y: 2 # changes libs/@guardian/react-crossword/src/context/CurrentCell.tsx x: 20 lines of code y: 5 # changes libs/@guardian/source-development-kitchen/src/react-components/file-input/fileHelpers.ts x: 36 lines of code y: 4 # changes libs/@guardian/react-crossword/src/utils/formatClueForScreenReader.ts x: 28 lines of code y: 2 # changes libs/@guardian/react-crossword/src/context/ContextProvider.tsx x: 48 lines of code y: 7 # changes libs/@guardian/react-crossword/src/context/Theme.tsx x: 12 lines of code y: 3 # changes libs/@guardian/react-crossword/src/components/WordWheel.tsx x: 71 lines of code y: 4 # changes libs/@guardian/react-crossword/src/utils/biasedShuffle.ts x: 9 lines of code y: 1 # changes libs/@guardian/react-crossword/src/utils/getNewProgress.ts x: 6 lines of code y: 1 # changes libs/@guardian/react-crossword/src/index.ts x: 3 lines of code y: 3 # changes libs/@guardian/browserslist-config/scripts/update-readme.mjs x: 35 lines of code y: 3 # changes libs/@guardian/libs/src/logger/logger.ts x: 76 lines of code y: 3 # changes libs/@guardian/react-crossword/.storybook/preview/viewport.ts x: 86 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/file-input/styles.ts x: 88 lines of code y: 6 # changes libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.tsx x: 127 lines of code y: 4 # changes libs/@guardian/source-development-kitchen/src/react-components/numeric-input/sharedStyles.ts x: 67 lines of code y: 3 # changes libs/@guardian/source/.storybook/preview/viewport.ts x: 86 lines of code y: 6 # changes libs/@guardian/source/src/foundations/mq/mq.ts x: 105 lines of code y: 3 # changes libs/@guardian/source/src/react-components/choice-card/styles.ts x: 214 lines of code y: 3 # changes libs/@guardian/source/src/react-components/label/styles.ts x: 34 lines of code y: 3 # changes libs/@guardian/source/src/react-components/text-input/styles.ts x: 85 lines of code y: 3 # changes libs/@guardian/source/src/react-components/tiles/Tiles.tsx x: 63 lines of code y: 3 # changes libs/@guardian/react-crossword/src/utils/keydownRegex.ts x: 1 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/word-wheel.progress.ts x: 28 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/separators.ts x: 106 lines of code y: 2 # changes libs/@guardian/react-crossword/stories/formats/grouped-clues.ts x: 526 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/uneven.ts x: 174 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/cryptic.ts x: 476 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/everyman.ts x: 426 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/prize.ts x: 486 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/quick-cryptic.ts x: 354 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/quick.ts x: 324 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/quiptic.ts x: 421 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/special.ts x: 449 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/speedy.ts x: 382 lines of code y: 1 # changes libs/@guardian/react-crossword/stories/formats/weekend.ts x: 404 lines of code y: 1 # changes libs/@guardian/react-crossword/src/@types/Entry.ts x: 7 lines of code y: 3 # changes scripts/check-packages-for-tslib.mjs x: 48 lines of code y: 3 # changes libs/@guardian/source/src/react-components/select/styles.ts x: 85 lines of code y: 4 # changes scripts/lint-node.js x: 29 lines of code y: 1 # changes libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/styles.ts x: 146 lines of code y: 7 # changes libs/@guardian/browserslist-config/scripts/usage-table.mjs x: 26 lines of code y: 5 # changes libs/@guardian/eslint-config/configs/comments.js x: 20 lines of code y: 3 # changes libs/@guardian/libs/scripts/generateSvg.logger.subscriptions.ts x: 78 lines of code y: 4 # changes libs/@guardian/source/src/foundations/typography/stories/typography.stories.tsx x: 15 lines of code y: 3 # changes libs/@guardian/eslint-config/index.js x: 24 lines of code y: 5 # changes libs/@guardian/identity-auth/src/token.ts x: 811 lines of code y: 16 # changes libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.tsx x: 102 lines of code y: 4 # changes libs/@guardian/source/src/design-tokens/cobalt-plugins/breakpoints.js x: 50 lines of code y: 1 # changes libs/@guardian/source/src/design-tokens/cobalt-plugins/palette.js x: 43 lines of code y: 1 # changes libs/@guardian/source/src/design-tokens/cobalt-plugins/size.js x: 65 lines of code y: 1 # changes libs/@guardian/source/src/design-tokens/cobalt-plugins/space.js x: 54 lines of code y: 1 # changes libs/@guardian/source/src/design-tokens/cobalt-plugins/typography.js x: 75 lines of code y: 1 # changes libs/@guardian/source/src/design-tokens/lib/template.js x: 11 lines of code y: 1 # changes libs/@guardian/source/src/design-tokens/tokens.config.js x: 19 lines of code y: 1 # changes libs/@guardian/source/src/foundations/__deprecated__/colour/palette.ts x: 121 lines of code y: 3 # changes libs/@guardian/source/src/foundations/accessibility/focus-halo.ts x: 14 lines of code y: 3 # changes libs/@guardian/source/src/foundations/space/space.ts x: 1 lines of code y: 4 # changes libs/@guardian/source/src/foundations/typography/stories/TypographyPresets.tsx x: 82 lines of code y: 4 # changes libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/styles.ts x: 111 lines of code y: 3 # changes libs/@guardian/source/src/foundations/deprecated-exports.ts x: 29 lines of code y: 6 # changes libs/@guardian/source/src/react-components/checkbox/styles.ts x: 176 lines of code y: 3 # changes libs/@guardian/source/src/react-components/radio/styles.ts x: 107 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/lines/DottedLines.tsx x: 29 lines of code y: 3 # changes libs/@guardian/source-development-kitchen/src/react-components/summary/InfoSummary.tsx x: 27 lines of code y: 3 # changes scripts/deno/check-npm-scripts.ts x: 131 lines of code y: 4 # changes libs/@guardian/source/src/react-components/spinner/Spinner.tsx x: 60 lines of code y: 1 # changes libs/@guardian/source/src/react-components/inline/Inline.tsx x: 38 lines of code y: 3 # changes libs/@guardian/source/src/react-components/inline/styles.ts x: 22 lines of code y: 3 # changes libs/@guardian/source/src/react-components/columns/styles.ts x: 164 lines of code y: 3 # changes libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.tsx x: 74 lines of code y: 3 # changes .github/dependabot.yml x: 72 lines of code y: 16 # changes libs/@guardian/libs/.lintstagedrc.js x: 6 lines of code y: 8 # changes libs/@guardian/newsletter-types/rollup.config.js x: 2 lines of code y: 5 # changes libs/@guardian/source-development-kitchen/src/react-components/age-warning/AgeWarning.tsx x: 69 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/divider/Divider.tsx x: 92 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/file-input/FileInput.tsx x: 129 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterLinks.tsx x: 101 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterWithContents.tsx x: 42 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/footerLinksStyles.ts x: 110 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/star-rating/StarRating.tsx x: 82 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/toggle-switch-apps/ToggleSwitchApps.tsx x: 52 lines of code y: 2 # changes libs/@guardian/source-development-kitchen/src/react-components/toggle-switch-apps/styles.ts x: 83 lines of code y: 2 # changes libs/@guardian/source/src/foundations/accessibility/generate-source-id.ts x: 3 lines of code y: 2 # changes libs/@guardian/source/src/react-components/accordion/AccordionRowNoJS.tsx x: 108 lines of code y: 2 # changes libs/@guardian/source/src/react-components/accordion/styles.ts x: 154 lines of code y: 2 # changes libs/@guardian/source/src/react-components/checkbox/theme.ts x: 100 lines of code y: 2 # changes libs/@guardian/source/src/react-components/container/Container.tsx x: 57 lines of code y: 2 # changes libs/@guardian/source/src/react-components/container/styles.ts x: 55 lines of code y: 2 # changes libs/@guardian/source/src/react-components/footer/BackToTop.tsx x: 10 lines of code y: 2 # changes libs/@guardian/source/src/react-components/footer/styles.ts x: 58 lines of code y: 2 # changes libs/@guardian/source/src/react-components/label/theme.ts x: 40 lines of code y: 2 # changes libs/@guardian/source/src/react-components/radio/theme.ts x: 99 lines of code y: 2 # changes libs/@guardian/source/lib/jest-matchers/toMatchCSS.ts x: 45 lines of code y: 1 # changes .lintstagedrc.js x: 4 lines of code y: 4 # changes apps/github-pages/astro.config.mjs x: 8 lines of code y: 3 # changes libs/@guardian/ab-core/src/fixture.ts x: 80 lines of code y: 2 # changes libs/@guardian/ab-core/src/ophan.ts x: 107 lines of code y: 7 # changes apps/github-pages/src/utils/normaliseUrl.ts x: 3 lines of code y: 1 # changes libs/@guardian/identity-auth/src/identityAuth.ts x: 139 lines of code y: 17 # changes libs/@guardian/libs/src/performance/getMeasures.ts x: 25 lines of code y: 9 # changes libs/@guardian/ab-core/src/@types/index.ts x: 80 lines of code y: 3 # changes libs/@guardian/identity-auth/src/@types/OAuth.ts x: 85 lines of code y: 12 # changes libs/@guardian/identity-auth/src/@types/guard.ts x: 9 lines of code y: 7 # changes libs/@guardian/identity-auth/src/tokenManager.ts x: 144 lines of code y: 11 # changes libs/@guardian/libs/src/logger/subscriptions.ts x: 49 lines of code y: 3 # changes libs/@guardian/libs/src/performance/serialise.ts x: 15 lines of code y: 5 # changes libs/@guardian/libs/src/performance/startPerformanceMeasure.ts x: 45 lines of code y: 8 # changes libs/@guardian/newsletter-types/src/@types/index.ts x: 1 lines of code y: 3 # changes libs/@guardian/identity-auth/src/autoRenew.ts x: 104 lines of code y: 4 # changes libs/@guardian/identity-auth/src/crypto.ts x: 73 lines of code y: 2 # changes libs/@guardian/libs/src/loadScript/loadScript.ts x: 42 lines of code y: 5 # changes libs/@guardian/libs/src/countries/countries.ts x: 998 lines of code y: 4 # changes libs/@guardian/libs/src/ArticleElementRole/ArticleElementRole.ts x: 10 lines of code y: 1 # changes libs/@guardian/libs/src/cookies/removeCookie.ts x: 15 lines of code y: 1 # changes libs/@guardian/libs/src/cookies/setSessionCookie.ts x: 23 lines of code y: 1 # changes libs/@guardian/browserslist-config/scripts/included-table.mjs x: 20 lines of code y: 1 # changes
42.0
# changes
  min: 1.0
  average: 4.07
  25th percentile: 2.0
  median: 3.0
  75th percentile: 4.0
  max: 42.0
0 998.0
lines of code
min: 1.0 | average: 67.08 | 25th percentile: 13.25 | median: 36.5 | 75th percentile: 78.75 | max: 998.0

Number of Contributors vs. Number of Changes: 504 points

libs/@guardian/consent-manager/src/usAbtest.ts x: 1 # contributors y: 3 # changes libs/@guardian/pulse/terrazzo.config.ts x: 3 # contributors y: 4 # changes libs/@guardian/consent-manager/src/lib/sourcepointConfig.ts x: 3 # contributors y: 3 # changes libs/@guardian/identity-auth-frontend/src/index.ts x: 6 # contributors y: 13 # changes libs/@guardian/pulse/eslint.config.js x: 2 # contributors y: 2 # changes libs/@guardian/source-development-kitchen/rollup.config.js x: 5 # contributors y: 5 # changes libs/@guardian/source-development-kitchen/src/react-components/index.ts x: 9 # contributors y: 12 # changes libs/@guardian/source/src/foundations/palette/storybookColorPalette.tsx x: 4 # contributors y: 4 # changes libs/@guardian/source/src/react-components/radio/Radio.stories.tsx x: 7 # contributors y: 12 # changes libs/@guardian/react-crossword/src/components/Cell.tsx x: 6 # contributors y: 29 # changes libs/@guardian/core-web-vitals/src/@types/CoreWebVitalsPayload.ts x: 5 # contributors y: 10 # changes libs/@guardian/core-web-vitals/src/index.ts x: 7 # contributors y: 13 # changes libs/@guardian/newsletter-types/src/@types/newsletters-api.ts x: 6 # contributors y: 12 # changes libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.stories.tsx x: 1 # contributors y: 1 # changes libs/@guardian/react-crossword/src/components/AnagramHelper.tsx x: 10 # contributors y: 20 # changes libs/@guardian/react-crossword/src/components/Grid.tsx x: 9 # contributors y: 42 # changes libs/@guardian/react-crossword/src/utils/parseCrosswordData.ts x: 4 # contributors y: 8 # changes libs/@guardian/source-development-kitchen/src/react-components/summary/ErrorSummary.stories.tsx x: 5 # contributors y: 4 # changes .github/labeler.yml x: 5 # contributors y: 13 # changes apps/github-pages/src/components/CmpTest.svelte x: 6 # contributors y: 11 # changes libs/@guardian/consent-manager/rollup.config.js x: 2 # contributors y: 4 # changes libs/@guardian/consent-manager/src/export.ts x: 2 # contributors y: 3 # changes libs/@guardian/libs/src/index.ts x: 13 # contributors y: 30 # changes libs/@guardian/react-crossword/src/components/Clue.tsx x: 9 # contributors y: 24 # changes libs/@guardian/react-crossword/src/components/FocusedClue.tsx x: 6 # contributors y: 7 # changes libs/@guardian/react-crossword/src/utils/clueFormattingStyles.ts x: 3 # contributors y: 2 # changes libs/@guardian/libs/playwright/fixtures/sourcepointConfig.js x: 4 # contributors y: 7 # changes libs/@guardian/eslint-config/configs/storybook.js x: 5 # contributors y: 7 # changes libs/@guardian/source/eslint.config.js x: 3 # contributors y: 6 # changes libs/@guardian/source/src/react-components/accordion/AccordionRow.tsx x: 8 # contributors y: 8 # changes libs/@guardian/source/src/react-components/checkbox/Checkbox.tsx x: 7 # contributors y: 9 # changes libs/@guardian/source/src/react-components/choice-card/ChoiceCard.tsx x: 6 # contributors y: 6 # changes libs/@guardian/source/src/react-components/radio/RadioGroup.tsx x: 6 # contributors y: 5 # changes libs/@guardian/react-crossword/src/@types/crossword.ts x: 6 # contributors y: 30 # changes libs/@guardian/react-crossword/src/components/Crossword.tsx x: 8 # contributors y: 29 # changes libs/@guardian/react-crossword/src/layouts/ScreenLayout.tsx x: 6 # contributors y: 15 # changes libs/@guardian/react-crossword/src/theme.ts x: 7 # contributors y: 30 # changes libs/@guardian/source/src/react-components/icons/labels.ts x: 5 # contributors y: 8 # changes libs/@guardian/source/src/react-components/index.ts x: 5 # contributors y: 9 # changes libs/@guardian/source/src/foundations/index.ts x: 4 # contributors y: 6 # changes libs/@guardian/source/src/react-components/button/styles.ts x: 3 # contributors y: 8 # changes libs/@guardian/eslint-config/eslint.config.js x: 4 # contributors y: 5 # changes libs/@guardian/react-crossword/src/components/Controls.tsx x: 8 # contributors y: 33 # changes libs/@guardian/react-crossword/src/context/Progress.tsx x: 4 # contributors y: 9 # changes libs/@guardian/source-development-kitchen/src/react-components/ticker/useIsInView.ts x: 3 # contributors y: 5 # changes apps/storybooks/.storybook/main.ts x: 2 # contributors y: 5 # changes libs/@guardian/react-crossword/src/components/Cell.stories.tsx x: 4 # contributors y: 15 # changes libs/@guardian/react-crossword/src/components/Clues.stories.tsx x: 4 # contributors y: 13 # changes libs/@guardian/react-crossword/src/components/Crossword.stories.tsx x: 5 # contributors y: 20 # changes libs/@guardian/react-crossword/src/components/Grid.stories.tsx x: 3 # contributors y: 15 # changes libs/@guardian/react-crossword/stories/Formats.stories.tsx x: 6 # contributors y: 9 # changes libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.stories.tsx x: 5 # contributors y: 6 # changes libs/@guardian/source/src/react-components/checkbox/Checkbox.stories.tsx x: 3 # contributors y: 7 # changes libs/@guardian/source/src/react-components/icons/Icons.stories.tsx x: 4 # contributors y: 11 # changes libs/@guardian/react-crossword/src/components/Clues.tsx x: 6 # contributors y: 24 # changes libs/@guardian/libs/src/ophan/@types/index.ts x: 8 # contributors y: 9 # changes libs/@guardian/react-crossword/src/utils/getCellsWithProgressForGroup.ts x: 1 # contributors y: 2 # changes libs/@guardian/react-crossword/src/utils/getNewProgress.ts x: 3 # contributors y: 1 # changes libs/@guardian/source-development-kitchen/src/react-components/file-input/styles.ts x: 2 # contributors y: 6 # changes libs/@guardian/identity-auth/src/token.ts x: 5 # contributors y: 16 # changes .github/dependabot.yml x: 4 # contributors y: 16 # changes .lintstagedrc.js x: 1 # contributors y: 4 # changes libs/@guardian/ab-core/src/ophan.ts x: 2 # contributors y: 7 # changes libs/@guardian/identity-auth/src/identityAuth.ts x: 3 # contributors y: 17 # changes libs/@guardian/identity-auth/src/@types/OAuth.ts x: 3 # contributors y: 12 # changes libs/@guardian/identity-auth/src/tokenManager.ts x: 3 # contributors y: 11 # changes
42.0
# changes
  min: 1.0
  average: 4.07
  25th percentile: 2.0
  median: 3.0
  75th percentile: 4.0
  max: 42.0
0 13.0
# contributors
min: 1.0 | average: 2.61 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 13.0

Number of Contributors vs. File Size: 504 points

libs/@guardian/consent-manager/src/usAbtest.ts x: 1 # contributors y: 42 lines of code libs/@guardian/pulse/terrazzo.config.ts x: 3 # contributors y: 34 lines of code libs/@guardian/consent-manager/src/lib/sourcepointConfig.ts x: 3 # contributors y: 61 lines of code libs/@guardian/consent-manager/src/sourcepoint.ts x: 3 # contributors y: 312 lines of code libs/@guardian/identity-auth-frontend/src/index.ts x: 6 # contributors y: 78 lines of code libs/@guardian/pulse/eslint.config.js x: 2 # contributors y: 14 lines of code libs/@guardian/pulse/rollup.config.js x: 2 # contributors y: 1 lines of code libs/@guardian/source-development-kitchen/rollup.config.js x: 5 # contributors y: 7 lines of code libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.stories.tsx x: 2 # contributors y: 50 lines of code libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.tsx x: 2 # contributors y: 23 lines of code libs/@guardian/source-development-kitchen/src/react-components/disclaimer/styles.ts x: 2 # contributors y: 18 lines of code libs/@guardian/source-development-kitchen/src/react-components/disclaimer/theme.ts x: 2 # contributors y: 11 lines of code libs/@guardian/source-development-kitchen/src/react-components/index.ts x: 9 # contributors y: 51 lines of code libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.tsx x: 3 # contributors y: 180 lines of code libs/@guardian/source/src/foundations/palette/storybookColorPalette.tsx x: 4 # contributors y: 172 lines of code libs/@guardian/source/src/react-components/radio/Radio.stories.tsx x: 7 # contributors y: 112 lines of code libs/@guardian/react-crossword/src/components/Cell.tsx x: 6 # contributors y: 135 lines of code libs/@guardian/core-web-vitals/src/@types/CoreWebVitalsPayload.ts x: 5 # contributors y: 14 lines of code libs/@guardian/core-web-vitals/src/index.ts x: 7 # contributors y: 149 lines of code libs/@guardian/libs/src/storage/storage.ts x: 9 # contributors y: 64 lines of code libs/@guardian/newsletter-types/src/@types/newsletters-api.ts x: 6 # contributors y: 97 lines of code libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.stories.tsx x: 1 # contributors y: 55 lines of code libs/@guardian/source-development-kitchen/src/react-components/popover/position.ts x: 1 # contributors y: 95 lines of code libs/@guardian/source-development-kitchen/src/react-components/popover/theme.ts x: 1 # contributors y: 38 lines of code libs/@guardian/react-crossword/src/components/AnagramHelper.tsx x: 10 # contributors y: 219 lines of code libs/@guardian/react-crossword/src/components/Grid.tsx x: 9 # contributors y: 524 lines of code libs/@guardian/react-crossword/src/utils/parseCrosswordData.ts x: 4 # contributors y: 82 lines of code libs/@guardian/source-development-kitchen/src/react-components/summary/ErrorSummary.stories.tsx x: 5 # contributors y: 54 lines of code .github/labeler.yml x: 5 # contributors y: 36 lines of code apps/github-pages/src/components/CmpTest.svelte x: 6 # contributors y: 304 lines of code libs/@guardian/consent-manager/playwright/fixtures/sourcepointConfig.js x: 2 # contributors y: 4 lines of code libs/@guardian/consent-manager/src/aus/api.ts x: 2 # contributors y: 25 lines of code libs/@guardian/consent-manager/src/cmp.ts x: 2 # contributors y: 62 lines of code libs/@guardian/consent-manager/src/export.ts x: 2 # contributors y: 148 lines of code libs/@guardian/consent-manager/src/getConsentDetailsForOphan.ts x: 2 # contributors y: 32 lines of code libs/@guardian/consent-manager/src/getConsentFor.ts x: 2 # contributors y: 39 lines of code libs/@guardian/consent-manager/src/lib/ophan.ts x: 2 # contributors y: 77 lines of code libs/@guardian/consent-manager/src/mergeUserConsent.ts x: 2 # contributors y: 140 lines of code libs/@guardian/consent-manager/src/onConsentChange.ts x: 2 # contributors y: 116 lines of code libs/@guardian/consent-manager/src/server.ts x: 2 # contributors y: 64 lines of code libs/@guardian/consent-manager/src/stub_gpp_usnat.js x: 2 # contributors y: 156 lines of code libs/@guardian/consent-manager/src/stub_tcfv2.js x: 2 # contributors y: 272 lines of code libs/@guardian/consent-manager/src/tcfv2/api.ts x: 2 # contributors y: 47 lines of code libs/@guardian/consent-manager/src/types/tcfv2/index.ts x: 2 # contributors y: 30 lines of code libs/@guardian/consent-manager/src/vendorDataManager.ts x: 2 # contributors y: 53 lines of code libs/@guardian/libs/src/index.ts x: 13 # contributors y: 39 lines of code libs/@guardian/react-crossword/src/components/Clue.stories.tsx x: 5 # contributors y: 70 lines of code libs/@guardian/react-crossword/src/components/Clue.tsx x: 9 # contributors y: 131 lines of code libs/@guardian/react-crossword/src/components/FocusedClue.tsx x: 6 # contributors y: 57 lines of code libs/@guardian/react-crossword/src/utils/clueFormattingStyles.ts x: 3 # contributors y: 15 lines of code libs/@guardian/libs/playwright/fixtures/sourcepointConfig.js x: 4 # contributors y: 4 lines of code libs/@guardian/eslint-config/configs/storybook.js x: 5 # contributors y: 16 lines of code libs/@guardian/libs/src/performance/@types/measure.ts x: 6 # contributors y: 24 lines of code libs/@guardian/source/eslint.config.js x: 3 # contributors y: 26 lines of code libs/@guardian/libs/src/deprecated-exports.ts x: 3 # contributors y: 2 lines of code libs/@guardian/source/src/react-components/accordion/AccordionRow.tsx x: 8 # contributors y: 129 lines of code libs/@guardian/source/src/react-components/button/Button.tsx x: 5 # contributors y: 45 lines of code libs/@guardian/source/src/react-components/checkbox/Checkbox.tsx x: 7 # contributors y: 133 lines of code libs/@guardian/source/src/react-components/choice-card/ChoiceCard.tsx x: 6 # contributors y: 106 lines of code libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.tsx x: 6 # contributors y: 94 lines of code libs/@guardian/source/src/react-components/link/ButtonLink.tsx x: 5 # contributors y: 29 lines of code libs/@guardian/source/src/react-components/radio/Radio.tsx x: 7 # contributors y: 123 lines of code libs/@guardian/source/src/react-components/radio/RadioGroup.tsx x: 6 # contributors y: 100 lines of code libs/@guardian/source/src/react-components/select/Option.tsx x: 5 # contributors y: 11 lines of code libs/@guardian/source/src/react-components/select/Select.tsx x: 6 # contributors y: 107 lines of code libs/@guardian/source/src/react-components/text-area/TextArea.tsx x: 6 # contributors y: 116 lines of code libs/@guardian/source/src/react-components/text-input/TextInput.tsx x: 6 # contributors y: 119 lines of code libs/@guardian/react-crossword/src/@types/crossword.ts x: 6 # contributors y: 54 lines of code libs/@guardian/react-crossword/src/components/Crossword.tsx x: 8 # contributors y: 98 lines of code libs/@guardian/react-crossword/src/layouts/ScreenLayout.tsx x: 6 # contributors y: 145 lines of code libs/@guardian/react-crossword/src/theme.ts x: 7 # contributors y: 26 lines of code libs/@guardian/source/src/react-components/icons/icons.ts x: 2 # contributors y: 190 lines of code libs/@guardian/source/src/react-components/icons/labels.ts x: 5 # contributors y: 195 lines of code libs/@guardian/source/src/react-components/index.ts x: 5 # contributors y: 321 lines of code libs/@guardian/source/src/react-components/link/Link.stories.tsx x: 5 # contributors y: 188 lines of code libs/@guardian/source/src/foundations/index.ts x: 4 # contributors y: 26 lines of code libs/@guardian/source/src/foundations/utils/colourConversions.ts x: 1 # contributors y: 102 lines of code libs/@guardian/source/src/react-components/button/@types/SharedButtonProps.ts x: 3 # contributors y: 17 lines of code libs/@guardian/source/src/react-components/button/styles.ts x: 3 # contributors y: 256 lines of code libs/@guardian/eslint-config/configs/typescript.js x: 4 # contributors y: 68 lines of code libs/@guardian/eslint-config/eslint.config.js x: 4 # contributors y: 14 lines of code libs/@guardian/react-crossword/eslint.config.js x: 3 # contributors y: 20 lines of code libs/@guardian/react-crossword/src/components/Controls.tsx x: 8 # contributors y: 434 lines of code libs/@guardian/react-crossword/src/context/Progress.tsx x: 4 # contributors y: 103 lines of code libs/@guardian/react-crossword/src/hooks/useCheatMode.ts x: 2 # contributors y: 84 lines of code libs/@guardian/source-development-kitchen/eslint.config.js x: 4 # contributors y: 20 lines of code libs/@guardian/source-development-kitchen/src/react-components/ticker/useIsInView.ts x: 3 # contributors y: 51 lines of code libs/@guardian/source/src/foundations/accessibility/focus-style-manager.ts x: 3 # contributors y: 55 lines of code libs/@guardian/react-crossword/.storybook/preview.tsx x: 2 # contributors y: 58 lines of code libs/@guardian/react-crossword/src/components/AnagramHelper.stories.tsx x: 3 # contributors y: 45 lines of code libs/@guardian/react-crossword/src/components/Cell.stories.tsx x: 4 # contributors y: 141 lines of code libs/@guardian/react-crossword/src/components/Clues.stories.tsx x: 4 # contributors y: 44 lines of code libs/@guardian/react-crossword/src/components/Crossword.stories.tsx x: 5 # contributors y: 152 lines of code libs/@guardian/react-crossword/src/components/CrosswordInteraction.stories.tsx x: 2 # contributors y: 125 lines of code libs/@guardian/react-crossword/src/components/Grid.stories.tsx x: 3 # contributors y: 43 lines of code libs/@guardian/react-crossword/src/components/WordWheel.stories.tsx x: 3 # contributors y: 56 lines of code libs/@guardian/react-crossword/stories/Formats.stories.tsx x: 6 # contributors y: 64 lines of code libs/@guardian/source-development-kitchen/.storybook/main.ts x: 4 # contributors y: 18 lines of code libs/@guardian/source-development-kitchen/src/react-components/age-warning/AgeWarning.stories.tsx x: 3 # contributors y: 10 lines of code libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.stories.tsx x: 3 # contributors y: 150 lines of code libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterWithContents.stories.tsx x: 3 # contributors y: 28 lines of code libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.stories.tsx x: 4 # contributors y: 244 lines of code libs/@guardian/source-development-kitchen/src/react-components/tabs/Tabs.stories.tsx x: 3 # contributors y: 146 lines of code libs/@guardian/source-development-kitchen/src/react-components/ticker/Ticker.stories.tsx x: 6 # contributors y: 17 lines of code libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.stories.tsx x: 5 # contributors y: 78 lines of code libs/@guardian/source/.storybook/preview.tsx x: 3 # contributors y: 77 lines of code libs/@guardian/source/src/react-components/accordion/Accordion.stories.tsx x: 3 # contributors y: 68 lines of code libs/@guardian/source/src/react-components/button/Button.stories.tsx x: 3 # contributors y: 225 lines of code libs/@guardian/source/src/react-components/checkbox/Checkbox.stories.tsx x: 3 # contributors y: 110 lines of code libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.stories.tsx x: 3 # contributors y: 141 lines of code libs/@guardian/source/src/react-components/choice-card/ChoiceCard.stories.tsx x: 3 # contributors y: 81 lines of code libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.stories.tsx x: 3 # contributors y: 301 lines of code libs/@guardian/source/src/react-components/columns/Columns.stories.tsx x: 4 # contributors y: 310 lines of code libs/@guardian/source/src/react-components/icons/Icons.stories.tsx x: 4 # contributors y: 96 lines of code libs/@guardian/source/src/react-components/label/Label.stories.tsx x: 3 # contributors y: 170 lines of code libs/@guardian/source/src/react-components/link/ButtonLink.stories.tsx x: 3 # contributors y: 66 lines of code libs/@guardian/source/src/react-components/radio/RadioGroup.stories.tsx x: 4 # contributors y: 153 lines of code libs/@guardian/source/src/react-components/spinner/Spinner.stories.tsx x: 2 # contributors y: 43 lines of code libs/@guardian/source/src/react-components/text-input/TextInput.stories.tsx x: 4 # contributors y: 203 lines of code libs/@guardian/source/src/react-components/tiles/Tiles.stories.tsx x: 3 # contributors y: 94 lines of code libs/@guardian/react-crossword/src/@types/CAPI.ts x: 7 # contributors y: 41 lines of code libs/@guardian/react-crossword/stories/formats/mini.ts x: 1 # contributors y: 170 lines of code libs/@guardian/source/src/react-components/icons/IconExample.tsx x: 1 # contributors y: 4 lines of code libs/@guardian/source/scripts/create-icons/create-icon-component.ts x: 2 # contributors y: 162 lines of code libs/@guardian/react-crossword/src/components/Clues.tsx x: 6 # contributors y: 196 lines of code libs/@guardian/libs/src/ophan/@types/index.ts x: 8 # contributors y: 121 lines of code libs/@guardian/source-development-kitchen/src/react-components/ticker/Ticker.tsx x: 5 # contributors y: 172 lines of code libs/@guardian/react-crossword/stories/formats/sunday-quick.ts x: 2 # contributors y: 319 lines of code libs/@guardian/react-crossword/src/utils/getCellsWithProgressForGroup.ts x: 1 # contributors y: 71 lines of code libs/@guardian/react-crossword/.storybook/preview-head.html x: 2 # contributors y: 364 lines of code libs/@guardian/source-development-kitchen/.storybook/preview-head.html x: 2 # contributors y: 357 lines of code libs/@guardian/source/.storybook/preview-head.html x: 3 # contributors y: 357 lines of code libs/@guardian/react-crossword/src/context/ValidAnswers.tsx x: 4 # contributors y: 33 lines of code libs/@guardian/react-crossword/src/hooks/useUpdateCell.ts x: 4 # contributors y: 40 lines of code libs/@guardian/react-crossword/src/utils/getCellDescription.ts x: 1 # contributors y: 34 lines of code libs/@guardian/source-development-kitchen/src/react-components/file-input/fileHelpers.ts x: 3 # contributors y: 36 lines of code libs/@guardian/react-crossword/src/utils/formatClueForScreenReader.ts x: 1 # contributors y: 28 lines of code libs/@guardian/react-crossword/src/context/Theme.tsx x: 1 # contributors y: 12 lines of code libs/@guardian/react-crossword/src/components/WordWheel.tsx x: 2 # contributors y: 71 lines of code libs/@guardian/react-crossword/src/utils/biasedShuffle.ts x: 1 # contributors y: 9 lines of code libs/@guardian/react-crossword/src/utils/getNewProgress.ts x: 3 # contributors y: 6 lines of code libs/@guardian/react-crossword/src/index.ts x: 1 # contributors y: 3 lines of code libs/@guardian/react-crossword/.storybook/preview/viewport.ts x: 1 # contributors y: 86 lines of code libs/@guardian/source-development-kitchen/src/react-components/file-input/styles.ts x: 2 # contributors y: 88 lines of code libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.tsx x: 3 # contributors y: 127 lines of code libs/@guardian/source-development-kitchen/src/react-components/numeric-input/sharedStyles.ts x: 2 # contributors y: 67 lines of code libs/@guardian/source/src/foundations/mq/mq.ts x: 2 # contributors y: 105 lines of code libs/@guardian/source/src/react-components/choice-card/styles.ts x: 2 # contributors y: 214 lines of code libs/@guardian/react-crossword/src/context/CurrentClue.tsx x: 1 # contributors y: 23 lines of code libs/@guardian/react-crossword/stories/formats/separators.ts x: 1 # contributors y: 106 lines of code libs/@guardian/react-crossword/stories/formats/grouped-clues.ts x: 1 # contributors y: 526 lines of code libs/@guardian/react-crossword/stories/formats/cryptic.progress.ts x: 1 # contributors y: 18 lines of code libs/@guardian/react-crossword/stories/formats/uneven.ts x: 1 # contributors y: 174 lines of code libs/@guardian/react-crossword/stories/formats/cryptic.ts x: 1 # contributors y: 476 lines of code libs/@guardian/react-crossword/stories/formats/everyman.ts x: 1 # contributors y: 426 lines of code libs/@guardian/react-crossword/stories/formats/prize.ts x: 1 # contributors y: 486 lines of code libs/@guardian/react-crossword/stories/formats/quick-cryptic.ts x: 1 # contributors y: 354 lines of code libs/@guardian/react-crossword/stories/formats/quick.ts x: 1 # contributors y: 324 lines of code libs/@guardian/react-crossword/stories/formats/quiptic.ts x: 1 # contributors y: 421 lines of code libs/@guardian/react-crossword/stories/formats/special.ts x: 1 # contributors y: 449 lines of code libs/@guardian/react-crossword/stories/formats/speedy.ts x: 1 # contributors y: 382 lines of code libs/@guardian/react-crossword/stories/formats/weekend.ts x: 1 # contributors y: 404 lines of code libs/@guardian/source/src/react-components/select/styles.ts x: 3 # contributors y: 85 lines of code libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/styles.ts x: 4 # contributors y: 146 lines of code libs/@guardian/identity-auth/src/token.ts x: 5 # contributors y: 811 lines of code libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.tsx x: 4 # contributors y: 102 lines of code libs/@guardian/source/src/design-tokens/cobalt-plugins/breakpoints.js x: 1 # contributors y: 50 lines of code libs/@guardian/source/src/design-tokens/cobalt-plugins/size.js x: 1 # contributors y: 65 lines of code libs/@guardian/source/src/design-tokens/cobalt-plugins/typography.js x: 1 # contributors y: 75 lines of code libs/@guardian/source/src/foundations/__deprecated__/colour/palette.ts x: 2 # contributors y: 121 lines of code libs/@guardian/source/src/foundations/utils/resets.ts x: 2 # contributors y: 91 lines of code libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/styles.ts x: 2 # contributors y: 111 lines of code libs/@guardian/source/src/react-components/checkbox/styles.ts x: 2 # contributors y: 176 lines of code libs/@guardian/source/src/react-components/radio/styles.ts x: 2 # contributors y: 107 lines of code scripts/deno/check-npm-scripts.ts x: 2 # contributors y: 131 lines of code libs/@guardian/source/src/react-components/spinner/Spinner.tsx x: 1 # contributors y: 60 lines of code libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.tsx x: 3 # contributors y: 74 lines of code .github/dependabot.yml x: 4 # contributors y: 72 lines of code libs/@guardian/source-development-kitchen/src/react-components/file-input/FileInput.tsx x: 2 # contributors y: 129 lines of code libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterLinks.tsx x: 2 # contributors y: 101 lines of code libs/@guardian/source-development-kitchen/src/react-components/star-rating/StarRating.tsx x: 2 # contributors y: 82 lines of code libs/@guardian/source/lib/jest-matchers/toMatchCSS.ts x: 1 # contributors y: 45 lines of code libs/@guardian/libs/src/performance/getMeasures.ts x: 5 # contributors y: 25 lines of code libs/@guardian/ab-core/src/@types/index.ts x: 1 # contributors y: 80 lines of code libs/@guardian/identity-auth/src/@types/guard.ts x: 4 # contributors y: 9 lines of code libs/@guardian/identity-auth/src/tokenManager.ts x: 3 # contributors y: 144 lines of code libs/@guardian/libs/src/countries/countries.ts x: 3 # contributors y: 998 lines of code
998.0
lines of code
  min: 1.0
  average: 67.08
  25th percentile: 13.25
  median: 36.5
  75th percentile: 78.75
  max: 998.0
0 13.0
# contributors
min: 1.0 | average: 2.61 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 13.0

Number of Changes vs. Line Churn: 3212 points

apps/github-pages/package.json x: 74 # changes y: 439 line churn pnpm-lock.yaml x: 377 # changes y: 558190 line churn libs/@guardian/react-crossword/package.json x: 112 # changes y: 1169 line churn libs/@guardian/source/package.json x: 113 # changes y: 1553 line churn package.json x: 197 # changes y: 2456 line churn .github/workflows/codeql-analysis.yml x: 21 # changes y: 187 line churn .github/workflows/check-labels.yaml x: 11 # changes y: 36 line churn libs/@guardian/ab-core/package.json x: 78 # changes y: 706 line churn libs/@guardian/ab-react/package.json x: 87 # changes y: 917 line churn libs/@guardian/consent-manager/package.json x: 16 # changes y: 510 line churn libs/@guardian/core-web-vitals/package.json x: 118 # changes y: 1077 line churn libs/@guardian/identity-auth/package.json x: 122 # changes y: 1095 line churn libs/@guardian/libs/package.json x: 172 # changes y: 1235 line churn configs/rollup/package.json x: 46 # changes y: 181 line churn libs/@guardian/newsletter-types/package.json x: 72 # changes y: 607 line churn libs/@guardian/pulse/package.json x: 5 # changes y: 498 line churn libs/@guardian/source-development-kitchen/package.json x: 130 # changes y: 1671 line churn .github/workflows/sync-design-tokens.yml x: 1 # changes y: 85 line churn .github/workflows/sync-pulse-tokens.yml x: 2 # changes y: 126 line churn libs/@guardian/consent-manager/CHANGELOG.md x: 7 # changes y: 1582 line churn libs/@guardian/consent-manager/src/usAbtest.ts x: 3 # changes y: 103 line churn libs/@guardian/browserslist-config/CHANGELOG.md x: 19 # changes y: 180 line churn libs/@guardian/browserslist-config/package.json x: 45 # changes y: 402 line churn libs/@guardian/pulse/pulse.resolver.json x: 4 # changes y: 360 line churn libs/@guardian/pulse/src/tokens/primitives/primitives.json x: 4 # changes y: 14326 line churn libs/@guardian/identity-auth-frontend/CHANGELOG.md x: 39 # changes y: 435 line churn libs/@guardian/identity-auth-frontend/src/index.ts x: 13 # changes y: 268 line churn apps/storybooks/package.json x: 36 # changes y: 377 line churn libs/@guardian/eslint-config/package.json x: 73 # changes y: 824 line churn .changeset/config.json x: 30 # changes y: 212 line churn .github/workflows/chromatic.yml x: 25 # changes y: 260 line churn .github/workflows/ci.yml x: 66 # changes y: 1094 line churn .github/workflows/github-pages.yml x: 14 # changes y: 76 line churn .github/workflows/labeler.yml x: 10 # changes y: 37 line churn .github/workflows/npm-publish.yml x: 12 # changes y: 168 line churn .github/workflows/stale-PRs.yml x: 9 # changes y: 54 line churn Makefile x: 64 # changes y: 2811 line churn README.md x: 88 # changes y: 1479 line churn libs/@guardian/source-development-kitchen/CHANGELOG.md x: 57 # changes y: 633 line churn libs/@guardian/source/CHANGELOG.md x: 38 # changes y: 715 line churn libs/@guardian/source/src/foundations/__generated__/palette.ts x: 8 # changes y: 186 line churn libs/@guardian/source/src/foundations/tokens.test.ts x: 19 # changes y: 10176 line churn libs/@guardian/react-crossword/CHANGELOG.md x: 35 # changes y: 509 line churn libs/@guardian/react-crossword/src/components/Cell.tsx x: 29 # changes y: 686 line churn libs/@guardian/ab-core/CHANGELOG.md x: 18 # changes y: 154 line churn libs/@guardian/eslint-config/CHANGELOG.md x: 42 # changes y: 552 line churn libs/@guardian/identity-auth/CHANGELOG.md x: 43 # changes y: 408 line churn libs/@guardian/libs/CHANGELOG.md x: 111 # changes y: 2678 line churn libs/@guardian/newsletter-types/CHANGELOG.md x: 17 # changes y: 150 line churn libs/@guardian/tsconfig/package.json x: 15 # changes y: 204 line churn libs/@guardian/prettier/tsconfig.json x: 6 # changes y: 22 line churn tsconfig.base.json x: 54 # changes y: 427 line churn libs/@guardian/react-crossword/src/components/AnagramHelper.tsx x: 20 # changes y: 618 line churn libs/@guardian/react-crossword/src/components/Grid.tsx x: 42 # changes y: 3385 line churn libs/@guardian/consent-manager/src/tcfv2/__fixtures__/api.getCustomVendorConsents.json x: 2 # changes y: 13452 line churn libs/@guardian/consent-manager/src/tcfv2/__fixtures__/api.getTCData.json x: 2 # changes y: 5692 line churn libs/@guardian/libs/src/consent-management-platform/tcfv2/__fixtures__/api.getCustomVendorConsents.json x: 3 # changes y: 20178 line churn libs/@guardian/libs/src/consent-management-platform/tcfv2/__fixtures__/api.getTCData.json x: 5 # changes y: 10912 line churn libs/@guardian/libs/src/consent-management-platform/types/window.d.ts x: 28 # changes y: 548 line churn libs/@guardian/libs/src/index.test.ts x: 24 # changes y: 120 line churn libs/@guardian/react-crossword/src/components/Crossword.tsx x: 29 # changes y: 2836 line churn libs/@guardian/react-crossword/src/components/Controls.tsx x: 33 # changes y: 2504 line churn .github/workflows/changesets.yml x: 32 # changes y: 406 line churn patches/jsdom@26.1.0.patch x: 2 # changes y: 8290 line churn libs/@guardian/identity-auth/src/__tests__/token.test.ts x: 13 # changes y: 2555 line churn libs/@guardian/source/.storybook/preview-head.html x: 6 # changes y: 2320 line churn libs/@guardian/eslint-config-typescript/CHANGELOG.md x: 31 # changes y: 1037 line churn libs/@guardian/eslint-config-typescript/package.json x: 50 # changes y: 661 line churn libs/@guardian/identity-auth/src/token.ts x: 16 # changes y: 3881 line churn libs/@guardian/design-tokens/__generated__/tokens.d.ts x: 7 # changes y: 3531 line churn libs/@guardian/atoms-rendering/CHANGELOG.md x: 27 # changes y: 1176 line churn libs/@guardian/design-tokens/tokens.json x: 4 # changes y: 3177 line churn libs/@guardian/eslint-plugin-source-foundations/CHANGELOG.md x: 23 # changes y: 873 line churn libs/@guardian/eslint-plugin-source-foundations/package.json x: 37 # changes y: 951 line churn libs/@guardian/eslint-plugin-source-react-components/package.json x: 44 # changes y: 1021 line churn libs/@guardian/source-foundations/CHANGELOG.md x: 33 # changes y: 1359 line churn libs/@guardian/source-foundations/package.json x: 56 # changes y: 1065 line churn libs/@guardian/source-foundations/src/__generated__/typography/css.ts x: 3 # changes y: 3324 line churn libs/@guardian/source-foundations/src/tokens.test.ts x: 12 # changes y: 13178 line churn libs/@guardian/source-react-components-development-kitchen/CHANGELOG.md x: 50 # changes y: 2809 line churn libs/@guardian/source-react-components/src/button/Button.stories.tsx x: 12 # changes y: 2684 line churn libs/@guardian/design-tokens/tokens.d.ts x: 13 # changes y: 6722 line churn libs/@guardian/design-tokens/variables.css x: 13 # changes y: 10971 line churn libs/@guardian/browserslist-config/README.md x: 8 # changes y: 2474 line churn libs/@guardian/browserslist-config/browserslist-stats.json x: 8 # changes y: 5661 line churn libs/@csnx/design-tokens/tokens.json x: 10 # changes y: 4378 line churn libs/@csnx/design-tokens/tokens/index.js x: 13 # changes y: 4536 line churn libs/@guardian/source-foundations/src/__snapshots__/tokens.test.ts.snap x: 2 # changes y: 2628 line churn libs/@guardian/atoms-rendering/package.json x: 48 # changes y: 639 line churn workspace.json x: 26 # changes y: 187 line churn
558190.0
line churn
  min: 1.0
  average: 434.04
  25th percentile: 26.0
  median: 96.0
  75th percentile: 200.0
  max: 558190.0
0 377.0
# changes
min: 1.0 | average: 4.78 | 25th percentile: 2.0 | median: 3.0 | 75th percentile: 4.0 | max: 377.0

Number of Contributors vs. Line Churn: 504 points

libs/@guardian/consent-manager/src/usAbtest.ts x: 1 # contributors y: 103 line churn libs/@guardian/pulse/terrazzo.config.ts x: 3 # contributors y: 397 line churn libs/@guardian/consent-manager/src/lib/sourcepointConfig.ts x: 3 # contributors y: 145 line churn libs/@guardian/consent-manager/src/sourcepoint.ts x: 3 # contributors y: 785 line churn libs/@guardian/identity-auth-frontend/src/index.ts x: 6 # contributors y: 268 line churn libs/@guardian/pulse/eslint.config.js x: 2 # contributors y: 51 line churn libs/@guardian/pulse/rollup.config.js x: 2 # contributors y: 3 line churn libs/@guardian/source-development-kitchen/rollup.config.js x: 5 # contributors y: 25 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.stories.tsx x: 2 # contributors y: 168 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.tsx x: 2 # contributors y: 105 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/theme.ts x: 2 # contributors y: 39 line churn libs/@guardian/source-development-kitchen/src/react-components/index.ts x: 9 # contributors y: 255 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.tsx x: 3 # contributors y: 483 line churn libs/@guardian/source/src/foundations/palette/storybookColorPalette.tsx x: 4 # contributors y: 218 line churn libs/@guardian/source/src/react-components/radio/Radio.stories.tsx x: 7 # contributors y: 548 line churn libs/@guardian/react-crossword/src/components/Cell.tsx x: 6 # contributors y: 686 line churn libs/@guardian/core-web-vitals/src/@types/CoreWebVitalsPayload.ts x: 5 # contributors y: 66 line churn libs/@guardian/libs/src/storage/storage.ts x: 9 # contributors y: 304 line churn libs/@guardian/newsletter-types/src/@types/newsletters-api.ts x: 6 # contributors y: 445 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.stories.tsx x: 1 # contributors y: 150 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/theme.ts x: 1 # contributors y: 48 line churn libs/@guardian/react-crossword/src/components/AnagramHelper.tsx x: 10 # contributors y: 618 line churn libs/@guardian/react-crossword/src/components/Grid.tsx x: 9 # contributors y: 3385 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/ErrorSummary.stories.tsx x: 5 # contributors y: 207 line churn .github/labeler.yml x: 5 # contributors y: 214 line churn apps/github-pages/src/components/CmpTest.svelte x: 6 # contributors y: 627 line churn libs/@guardian/consent-manager/rollup.config.js x: 2 # contributors y: 20 line churn libs/@guardian/consent-manager/src/cmp.ts x: 2 # contributors y: 132 line churn libs/@guardian/consent-manager/src/export.ts x: 2 # contributors y: 376 line churn libs/@guardian/consent-manager/src/isConsentOrPay.ts x: 2 # contributors y: 64 line churn libs/@guardian/consent-manager/src/lib/ophan.ts x: 2 # contributors y: 218 line churn libs/@guardian/consent-manager/src/mergeUserConsent.ts x: 2 # contributors y: 366 line churn libs/@guardian/consent-manager/src/onConsentChange.ts x: 2 # contributors y: 308 line churn libs/@guardian/consent-manager/src/server.ts x: 2 # contributors y: 150 line churn libs/@guardian/consent-manager/src/stub_tcfv2.js x: 2 # contributors y: 576 line churn libs/@guardian/consent-manager/src/tcfv2/api.ts x: 2 # contributors y: 116 line churn libs/@guardian/consent-manager/src/types/index.ts x: 2 # contributors y: 178 line churn libs/@guardian/consent-manager/src/types/tcfv2/TCData.ts x: 2 # contributors y: 196 line churn libs/@guardian/consent-manager/src/types/usnat/index.ts x: 2 # contributors y: 80 line churn libs/@guardian/libs/src/index.ts x: 13 # contributors y: 304 line churn libs/@guardian/react-crossword/src/components/Clue.stories.tsx x: 5 # contributors y: 235 line churn libs/@guardian/react-crossword/src/components/Clue.tsx x: 9 # contributors y: 552 line churn libs/@guardian/react-crossword/src/components/FocusedClue.tsx x: 6 # contributors y: 82 line churn libs/@guardian/react-crossword/src/utils/clueFormattingStyles.ts x: 3 # contributors y: 51 line churn libs/@guardian/libs/playwright/fixtures/sourcepointConfig.js x: 4 # contributors y: 30 line churn libs/@guardian/eslint-config/configs/storybook.js x: 5 # contributors y: 88 line churn libs/@guardian/source/eslint.config.js x: 3 # contributors y: 93 line churn libs/@guardian/libs/src/deprecated-exports.ts x: 3 # contributors y: 22 line churn libs/@guardian/source/src/react-components/accordion/AccordionRow.tsx x: 8 # contributors y: 531 line churn libs/@guardian/source/src/react-components/button/Button.tsx x: 5 # contributors y: 185 line churn libs/@guardian/source/src/react-components/button/LinkButton.tsx x: 5 # contributors y: 161 line churn libs/@guardian/source/src/react-components/checkbox/Checkbox.tsx x: 7 # contributors y: 788 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCard.tsx x: 6 # contributors y: 507 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.tsx x: 6 # contributors y: 459 line churn libs/@guardian/source/src/react-components/label/@types/LabelProps.ts x: 5 # contributors y: 141 line churn libs/@guardian/source/src/react-components/radio/Radio.tsx x: 7 # contributors y: 706 line churn libs/@guardian/source/src/react-components/select/Option.tsx x: 5 # contributors y: 57 line churn libs/@guardian/source/src/react-components/text-area/TextArea.tsx x: 6 # contributors y: 569 line churn libs/@guardian/source/src/react-components/text-input/TextInput.tsx x: 6 # contributors y: 595 line churn libs/@guardian/react-crossword/src/components/Crossword.tsx x: 8 # contributors y: 2836 line churn libs/@guardian/react-crossword/src/layouts/ScreenLayout.tsx x: 6 # contributors y: 410 line churn libs/@guardian/react-crossword/src/theme.ts x: 7 # contributors y: 177 line churn libs/@guardian/source/src/react-components/icons/labels.ts x: 5 # contributors y: 517 line churn libs/@guardian/source/src/react-components/index.ts x: 5 # contributors y: 1079 line churn libs/@guardian/source/src/react-components/link/Link.stories.tsx x: 5 # contributors y: 991 line churn libs/@guardian/source/src/foundations/buttonHoverColour/hoverColour.ts x: 1 # contributors y: 82 line churn libs/@guardian/source/src/foundations/index.ts x: 4 # contributors y: 142 line churn libs/@guardian/source/src/foundations/utils/colourConversions.ts x: 1 # contributors y: 165 line churn libs/@guardian/source/src/react-components/button/@types/SharedButtonProps.ts x: 3 # contributors y: 194 line churn libs/@guardian/source/src/react-components/button/styles.ts x: 3 # contributors y: 1004 line churn libs/@guardian/eslint-config/configs/typescript.js x: 4 # contributors y: 380 line churn libs/@guardian/eslint-config/eslint.config.js x: 4 # contributors y: 56 line churn libs/@guardian/react-crossword/eslint.config.js x: 3 # contributors y: 77 line churn libs/@guardian/react-crossword/src/components/Controls.tsx x: 8 # contributors y: 2504 line churn libs/@guardian/react-crossword/src/context/Progress.tsx x: 4 # contributors y: 500 line churn libs/@guardian/source-development-kitchen/eslint.config.js x: 4 # contributors y: 81 line churn libs/@guardian/source-development-kitchen/src/react-components/ticker/useIsInView.ts x: 3 # contributors y: 176 line churn libs/@guardian/source-development-kitchen/src/react-components/ticker/useTicker.ts x: 4 # contributors y: 92 line churn libs/@guardian/source/src/foundations/accessibility/focus-style-manager.ts x: 3 # contributors y: 260 line churn libs/@guardian/react-crossword/src/components/AnagramHelper.stories.tsx x: 3 # contributors y: 64 line churn libs/@guardian/react-crossword/src/components/Cell.stories.tsx x: 4 # contributors y: 845 line churn libs/@guardian/react-crossword/src/components/Clues.stories.tsx x: 4 # contributors y: 275 line churn libs/@guardian/react-crossword/src/components/Controls.stories.tsx x: 5 # contributors y: 183 line churn libs/@guardian/react-crossword/src/components/Crossword.stories.tsx x: 5 # contributors y: 872 line churn libs/@guardian/react-crossword/src/components/CrosswordInteraction.stories.tsx x: 2 # contributors y: 199 line churn libs/@guardian/react-crossword/src/components/Grid.stories.tsx x: 3 # contributors y: 708 line churn libs/@guardian/react-crossword/stories/Formats.stories.tsx x: 6 # contributors y: 171 line churn libs/@guardian/source-development-kitchen/src/react-components/age-warning/AgeWarning.stories.tsx x: 3 # contributors y: 128 line churn libs/@guardian/source-development-kitchen/src/react-components/divider/Divider.stories.tsx x: 3 # contributors y: 164 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.stories.tsx x: 3 # contributors y: 518 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/FileInput.stories.tsx x: 3 # contributors y: 257 line churn libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterWithContents.stories.tsx x: 3 # contributors y: 113 line churn libs/@guardian/source-development-kitchen/src/react-components/logo/Logo.stories.tsx x: 3 # contributors y: 244 line churn libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.stories.tsx x: 4 # contributors y: 925 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.stories.tsx x: 5 # contributors y: 836 line churn libs/@guardian/source/.storybook/preview.tsx x: 3 # contributors y: 280 line churn libs/@guardian/source/src/react-components/accordion/Accordion.stories.tsx x: 3 # contributors y: 339 line churn libs/@guardian/source/src/react-components/button/Button.stories.tsx x: 3 # contributors y: 1858 line churn libs/@guardian/source/src/react-components/button/LinkButton.stories.tsx x: 3 # contributors y: 835 line churn libs/@guardian/source/src/react-components/checkbox/Checkbox.stories.tsx x: 3 # contributors y: 601 line churn libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.stories.tsx x: 3 # contributors y: 732 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCard.stories.tsx x: 3 # contributors y: 372 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.stories.tsx x: 3 # contributors y: 1496 line churn libs/@guardian/source/src/react-components/columns/Columns.stories.tsx x: 4 # contributors y: 1808 line churn libs/@guardian/source/src/react-components/container/Container.stories.tsx x: 3 # contributors y: 295 line churn libs/@guardian/source/src/react-components/footer/Footer.stories.tsx x: 3 # contributors y: 572 line churn libs/@guardian/source/src/react-components/hide/Hide.stories.tsx x: 3 # contributors y: 319 line churn libs/@guardian/source/src/react-components/icons/Icons.stories.tsx x: 4 # contributors y: 2148 line churn libs/@guardian/source/src/react-components/inline/Inline.stories.tsx x: 3 # contributors y: 797 line churn libs/@guardian/source/src/react-components/label/Label.stories.tsx x: 3 # contributors y: 880 line churn libs/@guardian/source/src/react-components/label/Legend.stories.tsx x: 3 # contributors y: 685 line churn libs/@guardian/source/src/react-components/link/ButtonLink.stories.tsx x: 3 # contributors y: 332 line churn libs/@guardian/source/src/react-components/radio/RadioGroup.stories.tsx x: 4 # contributors y: 755 line churn libs/@guardian/source/src/react-components/text-area/TextArea.stories.tsx x: 3 # contributors y: 893 line churn libs/@guardian/source/src/react-components/text-input/TextInput.stories.tsx x: 4 # contributors y: 1083 line churn libs/@guardian/source/src/react-components/tiles/Tiles.stories.tsx x: 3 # contributors y: 401 line churn libs/@guardian/react-crossword/stories/formats/mini.ts x: 1 # contributors y: 346 line churn libs/@guardian/source/src/react-components/icons/IconExample.tsx x: 1 # contributors y: 6 line churn libs/@guardian/react-crossword/src/components/Clues.tsx x: 6 # contributors y: 1071 line churn libs/@guardian/libs/src/ophan/@types/index.ts x: 8 # contributors y: 182 line churn libs/@guardian/react-crossword/stories/formats/sunday-quick.ts x: 2 # contributors y: 642 line churn libs/@guardian/react-crossword/stories/formats/mini-cryptic.ts x: 1 # contributors y: 172 line churn libs/@guardian/react-crossword/src/components/SolutionDisplay.tsx x: 3 # contributors y: 584 line churn libs/@guardian/react-crossword/.storybook/preview-head.html x: 2 # contributors y: 783 line churn libs/@guardian/source-development-kitchen/.storybook/preview-head.html x: 2 # contributors y: 776 line churn libs/@guardian/source/.storybook/preview-head.html x: 3 # contributors y: 2320 line churn libs/@guardian/react-crossword/src/context/ValidAnswers.tsx x: 4 # contributors y: 178 line churn libs/@guardian/react-crossword/src/hooks/useClearUserInput.ts x: 4 # contributors y: 72 line churn libs/@guardian/react-crossword/src/hooks/useUpdateCell.ts x: 4 # contributors y: 243 line churn libs/@guardian/react-crossword/src/@types/Layout.ts x: 4 # contributors y: 40 line churn libs/@guardian/react-crossword/src/utils/biasedShuffle.ts x: 1 # contributors y: 32 line churn libs/@guardian/libs/src/logger/logger.ts x: 2 # contributors y: 258 line churn libs/@guardian/react-crossword/.storybook/preview/viewport.ts x: 1 # contributors y: 214 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/styles.ts x: 2 # contributors y: 339 line churn libs/@guardian/source-development-kitchen/src/react-components/numeric-input/sharedStyles.ts x: 2 # contributors y: 239 line churn libs/@guardian/source/.storybook/preview/viewport.ts x: 2 # contributors y: 562 line churn libs/@guardian/source/src/foundations/mq/mq.ts x: 2 # contributors y: 476 line churn libs/@guardian/source/src/react-components/choice-card/styles.ts x: 2 # contributors y: 763 line churn libs/@guardian/source/src/react-components/link/styles.ts x: 2 # contributors y: 390 line churn libs/@guardian/source/src/react-components/tiles/styles.ts x: 2 # contributors y: 280 line churn libs/@guardian/react-crossword/stories/formats/word-wheel.progress.ts x: 1 # contributors y: 29 line churn libs/@guardian/react-crossword/stories/formats/separators.ts x: 1 # contributors y: 129 line churn libs/@guardian/react-crossword/stories/formats/grouped-clues.ts x: 1 # contributors y: 527 line churn libs/@guardian/react-crossword/stories/formats/cryptic.ts x: 1 # contributors y: 954 line churn libs/@guardian/react-crossword/stories/formats/everyman.ts x: 1 # contributors y: 854 line churn libs/@guardian/react-crossword/stories/formats/prize.ts x: 1 # contributors y: 974 line churn libs/@guardian/react-crossword/stories/formats/quick-cryptic.ts x: 1 # contributors y: 710 line churn libs/@guardian/react-crossword/stories/formats/quick.ts x: 1 # contributors y: 650 line churn libs/@guardian/react-crossword/stories/formats/special.ts x: 1 # contributors y: 900 line churn libs/@guardian/react-crossword/stories/formats/speedy.ts x: 1 # contributors y: 766 line churn libs/@guardian/react-crossword/stories/formats/weekend.ts x: 1 # contributors y: 810 line churn scripts/lint-node.js x: 1 # contributors y: 74 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/styles.ts x: 4 # contributors y: 635 line churn libs/@guardian/eslint-config/index.js x: 3 # contributors y: 539 line churn scripts/maintain-readme/get-package-list.mjs x: 3 # contributors y: 42 line churn libs/@guardian/identity-auth/src/token.ts x: 5 # contributors y: 3881 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.tsx x: 4 # contributors y: 339 line churn libs/@guardian/source/src/design-tokens/cobalt-plugins/typography.js x: 1 # contributors y: 114 line churn libs/@guardian/source/src/react-components/checkbox/styles.ts x: 2 # contributors y: 684 line churn libs/@guardian/source/src/react-components/radio/styles.ts x: 2 # contributors y: 405 line churn libs/@guardian/source/src/react-components/columns/styles.ts x: 2 # contributors y: 700 line churn .github/dependabot.yml x: 4 # contributors y: 305 line churn libs/@guardian/source-development-kitchen/src/react-components/divider/Divider.tsx x: 2 # contributors y: 291 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/FileInput.tsx x: 2 # contributors y: 426 line churn libs/@guardian/source-development-kitchen/src/react-components/star-rating/StarRating.tsx x: 2 # contributors y: 330 line churn libs/@guardian/source/src/react-components/accordion/styles.ts x: 2 # contributors y: 537 line churn libs/@guardian/source/src/react-components/button/theme-reader-revenue.ts x: 2 # contributors y: 264 line churn libs/@guardian/libs/src/datetime/timeAgo.ts x: 2 # contributors y: 501 line churn libs/@guardian/identity-auth/src/identityAuth.ts x: 3 # contributors y: 857 line churn libs/@guardian/identity-auth/src/tokenManager.ts x: 3 # contributors y: 695 line churn libs/@guardian/libs/src/performance/startPerformanceMeasure.ts x: 4 # contributors y: 201 line churn libs/@guardian/newsletter-types/src/@types/index.ts x: 3 # contributors y: 3 line churn libs/@guardian/identity-auth/src/autoRenew.ts x: 1 # contributors y: 310 line churn libs/@guardian/libs/src/countries/@types/CountryCode.ts x: 3 # contributors y: 765 line churn libs/@guardian/libs/src/countries/@types/CountryKey.ts x: 3 # contributors y: 761 line churn libs/@guardian/libs/src/countries/countries.ts x: 3 # contributors y: 1019 line churn
3881.0
line churn
  min: 1.0
  average: 256.47
  25th percentile: 48.5
  median: 129.0
  75th percentile: 307.5
  max: 3881.0
0 13.0
# contributors
min: 1.0 | average: 2.61 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.0 | max: 13.0

File Size vs. Line Churn: 504 points

libs/@guardian/consent-manager/src/usAbtest.ts x: 42 lines of code y: 103 line churn libs/@guardian/pulse/terrazzo.config.ts x: 34 lines of code y: 397 line churn libs/@guardian/consent-manager/src/lib/sourcepointConfig.ts x: 61 lines of code y: 145 line churn libs/@guardian/consent-manager/src/sourcepoint.ts x: 312 lines of code y: 785 line churn libs/@guardian/identity-auth-frontend/src/index.ts x: 78 lines of code y: 268 line churn libs/@guardian/pulse/eslint.config.js x: 14 lines of code y: 51 line churn libs/@guardian/pulse/rollup.config.js x: 1 lines of code y: 3 line churn libs/@guardian/source-development-kitchen/rollup.config.js x: 7 lines of code y: 25 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.stories.tsx x: 50 lines of code y: 168 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/Disclaimer.tsx x: 23 lines of code y: 105 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/styles.ts x: 18 lines of code y: 60 line churn libs/@guardian/source-development-kitchen/src/react-components/disclaimer/theme.ts x: 11 lines of code y: 39 line churn libs/@guardian/source-development-kitchen/src/react-components/index.ts x: 51 lines of code y: 255 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.tsx x: 180 lines of code y: 483 line churn libs/@guardian/source/src/foundations/palette/storybookColorPalette.tsx x: 172 lines of code y: 218 line churn libs/@guardian/source/src/react-components/radio/Radio.stories.tsx x: 112 lines of code y: 548 line churn libs/@guardian/react-crossword/src/components/Cell.tsx x: 135 lines of code y: 686 line churn libs/@guardian/core-web-vitals/src/@types/CoreWebVitalsPayload.ts x: 14 lines of code y: 66 line churn libs/@guardian/core-web-vitals/src/index.ts x: 149 lines of code y: 535 line churn libs/@guardian/libs/src/storage/storage.ts x: 64 lines of code y: 304 line churn libs/@guardian/newsletter-types/src/@types/newsletters-api.ts x: 97 lines of code y: 445 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/Popover.stories.tsx x: 55 lines of code y: 150 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/position.ts x: 95 lines of code y: 101 line churn libs/@guardian/source-development-kitchen/src/react-components/popover/theme.ts x: 38 lines of code y: 48 line churn libs/@guardian/react-crossword/src/components/AnagramHelper.tsx x: 219 lines of code y: 618 line churn libs/@guardian/react-crossword/src/components/Grid.tsx x: 524 lines of code y: 3385 line churn libs/@guardian/react-crossword/src/utils/parseCrosswordData.ts x: 82 lines of code y: 220 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/ErrorSummary.stories.tsx x: 54 lines of code y: 207 line churn .github/labeler.yml x: 36 lines of code y: 214 line churn apps/github-pages/src/components/CmpTest.svelte x: 304 lines of code y: 627 line churn libs/@guardian/consent-manager/eslint.config.js x: 13 lines of code y: 38 line churn libs/@guardian/consent-manager/playwright.config.js x: 19 lines of code y: 50 line churn libs/@guardian/consent-manager/playwright/fixtures/sourcepointConfig.js x: 4 lines of code y: 8 line churn libs/@guardian/consent-manager/src/aus/api.ts x: 25 lines of code y: 56 line churn libs/@guardian/consent-manager/src/cmp.ts x: 62 lines of code y: 132 line churn libs/@guardian/consent-manager/src/disable.ts x: 9 lines of code y: 24 line churn libs/@guardian/consent-manager/src/export.ts x: 148 lines of code y: 376 line churn libs/@guardian/consent-manager/src/getConsentDetailsForOphan.ts x: 32 lines of code y: 96 line churn libs/@guardian/consent-manager/src/getConsentFor.ts x: 39 lines of code y: 100 line churn libs/@guardian/consent-manager/src/getCurrentFramework.ts x: 13 lines of code y: 30 line churn libs/@guardian/consent-manager/src/getFramework.ts x: 18 lines of code y: 44 line churn libs/@guardian/consent-manager/src/isConsentOrPay.ts x: 26 lines of code y: 64 line churn libs/@guardian/consent-manager/src/lib/ophan.ts x: 77 lines of code y: 218 line churn libs/@guardian/consent-manager/src/lib/signals.ts x: 4 lines of code y: 24 line churn libs/@guardian/consent-manager/src/mergeUserConsent.ts x: 140 lines of code y: 366 line churn libs/@guardian/consent-manager/src/onConsent.ts x: 12 lines of code y: 48 line churn libs/@guardian/consent-manager/src/onConsentChange.ts x: 116 lines of code y: 308 line churn libs/@guardian/consent-manager/src/server.ts x: 64 lines of code y: 150 line churn libs/@guardian/consent-manager/src/sourcepointGeolocation.ts x: 61 lines of code y: 154 line churn libs/@guardian/consent-manager/src/stub_gpp_usnat.js x: 156 lines of code y: 318 line churn libs/@guardian/consent-manager/src/stub_tcfv2.js x: 272 lines of code y: 576 line churn libs/@guardian/consent-manager/src/tcfv2/api.ts x: 47 lines of code y: 116 line churn libs/@guardian/consent-manager/src/tcfv2/getConsentState.ts x: 45 lines of code y: 104 line churn libs/@guardian/consent-manager/src/types/aus.ts x: 20 lines of code y: 48 line churn libs/@guardian/consent-manager/src/types/index.ts x: 78 lines of code y: 178 line churn libs/@guardian/consent-manager/src/types/tcfv2/TCData.ts x: 38 lines of code y: 196 line churn libs/@guardian/consent-manager/src/types/tcfv2/index.ts x: 30 lines of code y: 74 line churn libs/@guardian/consent-manager/src/types/usnat/index.ts x: 35 lines of code y: 80 line churn libs/@guardian/consent-manager/src/vendorDataManager.ts x: 53 lines of code y: 118 line churn libs/@guardian/consent-manager/src/vendorStorageIds.ts x: 65 lines of code y: 154 line churn libs/@guardian/consent-manager/src/vendors.ts x: 48 lines of code y: 136 line churn libs/@guardian/libs/src/index.ts x: 39 lines of code y: 304 line churn libs/@guardian/react-crossword/src/components/Clue.stories.tsx x: 70 lines of code y: 235 line churn libs/@guardian/react-crossword/src/components/Clue.tsx x: 131 lines of code y: 552 line churn libs/@guardian/react-crossword/src/components/FocusedClue.tsx x: 57 lines of code y: 82 line churn libs/@guardian/react-crossword/src/utils/clueFormattingStyles.ts x: 15 lines of code y: 51 line churn libs/@guardian/eslint-config/configs/storybook.js x: 16 lines of code y: 88 line churn libs/@guardian/libs/src/performance/@types/measure.ts x: 24 lines of code y: 82 line churn libs/@guardian/source/eslint.config.js x: 26 lines of code y: 93 line churn libs/@guardian/libs/src/deprecated-exports.ts x: 2 lines of code y: 22 line churn libs/@guardian/source/src/react-components/accordion/AccordionRow.tsx x: 129 lines of code y: 531 line churn libs/@guardian/source/src/react-components/button/Button.tsx x: 45 lines of code y: 185 line churn libs/@guardian/source/src/react-components/button/LinkButton.tsx x: 37 lines of code y: 161 line churn libs/@guardian/source/src/react-components/checkbox/Checkbox.tsx x: 133 lines of code y: 788 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCard.tsx x: 106 lines of code y: 507 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.tsx x: 94 lines of code y: 459 line churn libs/@guardian/source/src/react-components/label/@types/LabelProps.ts x: 16 lines of code y: 141 line churn libs/@guardian/source/src/react-components/link/ButtonLink.tsx x: 29 lines of code y: 143 line churn libs/@guardian/source/src/react-components/link/Link.tsx x: 28 lines of code y: 140 line churn libs/@guardian/source/src/react-components/radio/Radio.tsx x: 123 lines of code y: 706 line churn libs/@guardian/source/src/react-components/radio/RadioGroup.tsx x: 100 lines of code y: 464 line churn libs/@guardian/source/src/react-components/select/Select.tsx x: 107 lines of code y: 509 line churn libs/@guardian/source/src/react-components/text-area/TextArea.tsx x: 116 lines of code y: 569 line churn libs/@guardian/source/src/react-components/text-input/TextInput.tsx x: 119 lines of code y: 595 line churn libs/@guardian/source/src/react-components/user-feedback/@types/UserFeedbackProps.ts x: 10 lines of code y: 81 line churn libs/@guardian/react-crossword/src/@types/crossword.ts x: 54 lines of code y: 463 line churn libs/@guardian/react-crossword/src/components/Crossword.tsx x: 98 lines of code y: 2836 line churn libs/@guardian/react-crossword/src/layouts/ScreenLayout.tsx x: 145 lines of code y: 410 line churn libs/@guardian/react-crossword/src/theme.ts x: 26 lines of code y: 177 line churn libs/@guardian/source/src/react-components/icons/icons.ts x: 190 lines of code y: 218 line churn libs/@guardian/source/src/react-components/icons/labels.ts x: 195 lines of code y: 517 line churn libs/@guardian/source/src/react-components/index.ts x: 321 lines of code y: 1079 line churn libs/@guardian/source/src/react-components/link/Link.stories.tsx x: 188 lines of code y: 991 line churn libs/@guardian/source/src/foundations/buttonHoverColour/hoverColour.ts x: 55 lines of code y: 82 line churn libs/@guardian/source/src/foundations/index.ts x: 26 lines of code y: 142 line churn libs/@guardian/source/src/foundations/utils/colourConversions.ts x: 102 lines of code y: 165 line churn libs/@guardian/source/src/react-components/button/@types/SharedButtonProps.ts x: 17 lines of code y: 194 line churn libs/@guardian/source/src/react-components/button/styles.ts x: 256 lines of code y: 1004 line churn libs/@guardian/eslint-config/configs/typescript.js x: 68 lines of code y: 380 line churn libs/@guardian/react-crossword/eslint.config.js x: 20 lines of code y: 77 line churn libs/@guardian/react-crossword/src/components/Controls.tsx x: 434 lines of code y: 2504 line churn libs/@guardian/react-crossword/src/context/Progress.tsx x: 103 lines of code y: 500 line churn libs/@guardian/react-crossword/src/hooks/useCheatMode.ts x: 84 lines of code y: 218 line churn libs/@guardian/source-development-kitchen/src/react-components/ticker/useIsInView.ts x: 51 lines of code y: 176 line churn libs/@guardian/source-development-kitchen/src/react-components/ticker/useTicker.ts x: 14 lines of code y: 92 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.tsx x: 77 lines of code y: 507 line churn libs/@guardian/source/scripts/create-icons/get-svgs-from-figma.ts x: 66 lines of code y: 92 line churn libs/@guardian/source/src/foundations/accessibility/focus-style-manager.ts x: 55 lines of code y: 260 line churn apps/storybooks/.storybook/main.ts x: 30 lines of code y: 87 line churn libs/@guardian/react-crossword/.storybook/preview.tsx x: 58 lines of code y: 227 line churn libs/@guardian/react-crossword/src/components/AnagramHelper.stories.tsx x: 45 lines of code y: 64 line churn libs/@guardian/react-crossword/src/components/Cell.stories.tsx x: 141 lines of code y: 845 line churn libs/@guardian/react-crossword/src/components/Clues.stories.tsx x: 44 lines of code y: 275 line churn libs/@guardian/react-crossword/src/components/Controls.stories.tsx x: 39 lines of code y: 183 line churn libs/@guardian/react-crossword/src/components/Crossword.stories.tsx x: 152 lines of code y: 872 line churn libs/@guardian/react-crossword/src/components/CrosswordInteraction.stories.tsx x: 125 lines of code y: 199 line churn libs/@guardian/react-crossword/src/components/FocusedClue.stories.tsx x: 37 lines of code y: 46 line churn libs/@guardian/react-crossword/src/components/Grid.stories.tsx x: 43 lines of code y: 708 line churn libs/@guardian/react-crossword/src/components/SolutionDisplay.stories.tsx x: 40 lines of code y: 71 line churn libs/@guardian/react-crossword/stories/Formats.stories.tsx x: 64 lines of code y: 171 line churn libs/@guardian/source-development-kitchen/.storybook/main.ts x: 18 lines of code y: 77 line churn libs/@guardian/source-development-kitchen/.storybook/preview.tsx x: 77 lines of code y: 188 line churn libs/@guardian/source-development-kitchen/src/react-components/age-warning/AgeWarning.stories.tsx x: 10 lines of code y: 128 line churn libs/@guardian/source-development-kitchen/src/react-components/divider/Divider.stories.tsx x: 41 lines of code y: 164 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.stories.tsx x: 150 lines of code y: 518 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/FileInput.stories.tsx x: 43 lines of code y: 257 line churn libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterWithContents.stories.tsx x: 28 lines of code y: 113 line churn libs/@guardian/source-development-kitchen/src/react-components/lines/Lines.stories.tsx x: 56 lines of code y: 245 line churn libs/@guardian/source-development-kitchen/src/react-components/logo/Logo.stories.tsx x: 61 lines of code y: 244 line churn libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.stories.tsx x: 244 lines of code y: 925 line churn libs/@guardian/source-development-kitchen/src/react-components/star-rating/StarRating.stories.tsx x: 55 lines of code y: 239 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/InfoSummary.stories.tsx x: 45 lines of code y: 173 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/SuccessSummary.stories.tsx x: 43 lines of code y: 164 line churn libs/@guardian/source-development-kitchen/src/react-components/tabs/Tabs.stories.tsx x: 146 lines of code y: 479 line churn libs/@guardian/source-development-kitchen/src/react-components/ticker/Ticker.stories.tsx x: 17 lines of code y: 173 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch-apps/ToggleSwitchApps.stories.tsx x: 58 lines of code y: 242 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/ToggleSwitch.stories.tsx x: 78 lines of code y: 836 line churn libs/@guardian/source/.storybook/preview.tsx x: 77 lines of code y: 280 line churn libs/@guardian/source/src/react-components/accordion/Accordion.stories.tsx x: 68 lines of code y: 339 line churn libs/@guardian/source/src/react-components/brand/SvgGuardianBestWebsiteLogo.stories.tsx x: 14 lines of code y: 79 line churn libs/@guardian/source/src/react-components/button/Button.stories.tsx x: 225 lines of code y: 1858 line churn libs/@guardian/source/src/react-components/button/LinkButton.stories.tsx x: 55 lines of code y: 835 line churn libs/@guardian/source/src/react-components/checkbox/Checkbox.stories.tsx x: 110 lines of code y: 601 line churn libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.stories.tsx x: 141 lines of code y: 732 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCard.stories.tsx x: 81 lines of code y: 372 line churn libs/@guardian/source/src/react-components/choice-card/ChoiceCardGroup.stories.tsx x: 301 lines of code y: 1496 line churn libs/@guardian/source/src/react-components/columns/Columns.stories.tsx x: 310 lines of code y: 1808 line churn libs/@guardian/source/src/react-components/container/Container.stories.tsx x: 24 lines of code y: 295 line churn libs/@guardian/source/src/react-components/footer/BackToTop.stories.tsx x: 9 lines of code y: 50 line churn libs/@guardian/source/src/react-components/footer/Footer.stories.tsx x: 21 lines of code y: 572 line churn libs/@guardian/source/src/react-components/hide/Hide.stories.tsx x: 26 lines of code y: 319 line churn libs/@guardian/source/src/react-components/icons/Icons.stories.tsx x: 96 lines of code y: 2148 line churn libs/@guardian/source/src/react-components/inline/Inline.stories.tsx x: 140 lines of code y: 797 line churn libs/@guardian/source/src/react-components/label/Label.stories.tsx x: 170 lines of code y: 880 line churn libs/@guardian/source/src/react-components/label/Legend.stories.tsx x: 30 lines of code y: 685 line churn libs/@guardian/source/src/react-components/link/ButtonLink.stories.tsx x: 66 lines of code y: 332 line churn libs/@guardian/source/src/react-components/radio/RadioGroup.stories.tsx x: 153 lines of code y: 755 line churn libs/@guardian/source/src/react-components/select/Select.stories.tsx x: 140 lines of code y: 611 line churn libs/@guardian/source/src/react-components/spinner/Spinner.stories.tsx x: 43 lines of code y: 116 line churn libs/@guardian/source/src/react-components/stack/Stack.stories.tsx x: 28 lines of code y: 568 line churn libs/@guardian/source/src/react-components/text-area/TextArea.stories.tsx x: 34 lines of code y: 893 line churn libs/@guardian/source/src/react-components/text-input/TextInput.stories.tsx x: 203 lines of code y: 1083 line churn libs/@guardian/source/src/react-components/tiles/Tiles.stories.tsx x: 94 lines of code y: 401 line churn libs/@guardian/source/src/react-components/user-feedback/InlineSuccess.stories.tsx x: 55 lines of code y: 305 line churn libs/@guardian/react-crossword/src/@types/CAPI.ts x: 41 lines of code y: 181 line churn libs/@guardian/react-crossword/stories/formats/mini.ts x: 170 lines of code y: 346 line churn libs/@guardian/source/scripts/create-icons/create-icon-component.ts x: 162 lines of code y: 198 line churn libs/@guardian/react-crossword/src/components/Clues.tsx x: 196 lines of code y: 1071 line churn libs/@guardian/source/src/react-components/button/theme.ts x: 91 lines of code y: 381 line churn libs/@guardian/libs/src/ophan/@types/index.ts x: 121 lines of code y: 182 line churn libs/@guardian/source-development-kitchen/src/react-components/ticker/Ticker.tsx x: 172 lines of code y: 516 line churn libs/@guardian/react-crossword/stories/formats/sunday-quick.ts x: 319 lines of code y: 642 line churn libs/@guardian/react-crossword/src/context/Data.tsx x: 51 lines of code y: 149 line churn configs/rollup/rollup.config.js x: 48 lines of code y: 206 line churn libs/@guardian/react-crossword/rollup.config.js x: 6 lines of code y: 12 line churn libs/@guardian/react-crossword/stories/formats/mini-cryptic.ts x: 170 lines of code y: 172 line churn libs/@guardian/react-crossword/src/components/CrosswordButton.tsx x: 37 lines of code y: 102 line churn libs/@guardian/react-crossword/src/components/SolutionDisplay.tsx x: 140 lines of code y: 584 line churn libs/@guardian/react-crossword/src/utils/getCellsWithProgressForGroup.ts x: 71 lines of code y: 79 line churn libs/@guardian/source/src/react-components/deprecated-exports.ts x: 35 lines of code y: 268 line churn libs/@guardian/react-crossword/.storybook/preview-head.html x: 364 lines of code y: 783 line churn libs/@guardian/source-development-kitchen/.storybook/preview-head.html x: 357 lines of code y: 776 line churn libs/@guardian/source/.storybook/preview-head.html x: 357 lines of code y: 2320 line churn libs/@guardian/react-crossword/src/context/ValidAnswers.tsx x: 33 lines of code y: 178 line churn libs/@guardian/react-crossword/src/hooks/useClearUserInput.ts x: 15 lines of code y: 72 line churn libs/@guardian/react-crossword/src/hooks/useUpdateCell.ts x: 40 lines of code y: 243 line churn libs/@guardian/react-crossword/src/@types/Layout.ts x: 16 lines of code y: 40 line churn libs/@guardian/react-crossword/src/utils/getCellDescription.ts x: 34 lines of code y: 104 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/fileHelpers.ts x: 36 lines of code y: 121 line churn libs/@guardian/react-crossword/src/context/ShowAnagramHelper.tsx x: 33 lines of code y: 54 line churn libs/@guardian/react-crossword/src/utils/formatClueForScreenReader.ts x: 28 lines of code y: 48 line churn libs/@guardian/react-crossword/src/context/ContextProvider.tsx x: 48 lines of code y: 185 line churn libs/@guardian/react-crossword/src/context/Theme.tsx x: 12 lines of code y: 92 line churn libs/@guardian/react-crossword/src/components/WordWheel.tsx x: 71 lines of code y: 132 line churn libs/@guardian/react-crossword/src/utils/biasedShuffle.ts x: 9 lines of code y: 32 line churn libs/@guardian/react-crossword/stories/formats/grouped-clues.progress.ts x: 34 lines of code y: 35 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/ErrorSummary.tsx x: 34 lines of code y: 128 line churn libs/@guardian/react-crossword/src/index.ts x: 3 lines of code y: 6 line churn libs/@guardian/browserslist-config/scripts/update-readme.mjs x: 35 lines of code y: 52 line churn libs/@guardian/libs/src/countries/getCountryByCountryCode.ts x: 10 lines of code y: 34 line churn libs/@guardian/libs/src/logger/logger.ts x: 76 lines of code y: 258 line churn libs/@guardian/libs/src/switches/getSwitches.ts x: 20 lines of code y: 41 line churn libs/@guardian/react-crossword/.storybook/preview/viewport.ts x: 86 lines of code y: 214 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/styles.ts x: 88 lines of code y: 339 line churn libs/@guardian/source-development-kitchen/src/react-components/numeric-input/NumericInput.tsx x: 127 lines of code y: 477 line churn libs/@guardian/source-development-kitchen/src/react-components/numeric-input/sharedStyles.ts x: 67 lines of code y: 239 line churn libs/@guardian/source/.storybook/preview/viewport.ts x: 86 lines of code y: 562 line churn libs/@guardian/source/src/foundations/mq/mq.ts x: 105 lines of code y: 476 line churn libs/@guardian/source/src/react-components/choice-card/styles.ts x: 214 lines of code y: 763 line churn libs/@guardian/source/src/react-components/columns/Columns.tsx x: 61 lines of code y: 339 line churn libs/@guardian/source/src/react-components/link/styles.ts x: 106 lines of code y: 390 line churn libs/@guardian/source/src/react-components/text-input/styles.ts x: 85 lines of code y: 317 line churn libs/@guardian/source/src/react-components/tiles/Tiles.tsx x: 63 lines of code y: 308 line churn libs/@guardian/source/src/react-components/tiles/styles.ts x: 85 lines of code y: 280 line churn libs/@guardian/react-crossword/stories/formats/word-wheel.progress.ts x: 28 lines of code y: 29 line churn libs/@guardian/react-crossword/src/context/CurrentClue.tsx x: 23 lines of code y: 90 line churn libs/@guardian/react-crossword/stories/formats/separators.ts x: 106 lines of code y: 129 line churn libs/@guardian/react-crossword/stories/formats/grouped-clues.ts x: 526 lines of code y: 527 line churn libs/@guardian/react-crossword/stories/formats/uneven.ts x: 174 lines of code y: 175 line churn libs/@guardian/react-crossword/stories/formats/cryptic.ts x: 476 lines of code y: 954 line churn libs/@guardian/react-crossword/stories/formats/everyman.ts x: 426 lines of code y: 854 line churn libs/@guardian/react-crossword/stories/formats/prize.ts x: 486 lines of code y: 974 line churn libs/@guardian/react-crossword/stories/formats/quick-cryptic.ts x: 354 lines of code y: 710 line churn libs/@guardian/react-crossword/stories/formats/quick.ts x: 324 lines of code y: 650 line churn libs/@guardian/react-crossword/stories/formats/quiptic.ts x: 421 lines of code y: 844 line churn libs/@guardian/react-crossword/stories/formats/special.ts x: 449 lines of code y: 900 line churn libs/@guardian/react-crossword/stories/formats/speedy.ts x: 382 lines of code y: 766 line churn libs/@guardian/react-crossword/stories/formats/weekend.ts x: 404 lines of code y: 810 line churn scripts/check-packages-for-tslib.mjs x: 48 lines of code y: 165 line churn libs/@guardian/source/src/react-components/select/styles.ts x: 85 lines of code y: 303 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch/styles.ts x: 146 lines of code y: 635 line churn libs/@guardian/browserslist-config/scripts/usage-table.mjs x: 26 lines of code y: 47 line churn libs/@guardian/eslint-config/configs/comments.js x: 20 lines of code y: 117 line churn libs/@guardian/libs/playwright.config.js x: 19 lines of code y: 26 line churn libs/@guardian/eslint-config/configs/javascript.base.js x: 25 lines of code y: 95 line churn libs/@guardian/eslint-config/configs/imports.js x: 66 lines of code y: 240 line churn libs/@guardian/eslint-config/index.js x: 24 lines of code y: 539 line churn libs/@guardian/source/src/react-components/@types/Props.ts x: 6 lines of code y: 57 line churn scripts/lib/get-make-targets.mjs x: 28 lines of code y: 105 line churn scripts/list-make-targets.mjs x: 32 lines of code y: 129 line churn scripts/maintain-makefile/index.mjs x: 63 lines of code y: 234 line churn libs/@guardian/identity-auth/src/emitter.ts x: 47 lines of code y: 328 line churn libs/@guardian/identity-auth/src/token.ts x: 811 lines of code y: 3881 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/ExpandingWrapper.tsx x: 102 lines of code y: 339 line churn libs/@guardian/source/src/design-tokens/cobalt-plugins/breakpoints.js x: 50 lines of code y: 76 line churn libs/@guardian/source/src/design-tokens/cobalt-plugins/palette.js x: 43 lines of code y: 67 line churn libs/@guardian/source/src/design-tokens/cobalt-plugins/space.js x: 54 lines of code y: 78 line churn libs/@guardian/source/src/design-tokens/cobalt-plugins/typography.js x: 75 lines of code y: 114 line churn libs/@guardian/source/src/design-tokens/lib/template.js x: 11 lines of code y: 19 line churn libs/@guardian/source/src/foundations/__deprecated__/colour/palette.ts x: 121 lines of code y: 392 line churn libs/@guardian/source/src/foundations/breakpoints/breakpoints.ts x: 2 lines of code y: 112 line churn libs/@guardian/source/src/foundations/size/size.ts x: 9 lines of code y: 646 line churn libs/@guardian/source/src/foundations/space/space.ts x: 1 lines of code y: 217 line churn libs/@guardian/source/src/foundations/typography/stories/TypographyPresets.tsx x: 82 lines of code y: 280 line churn libs/@guardian/source/src/foundations/utils/convert-value.ts x: 3 lines of code y: 54 line churn libs/@guardian/source/src/foundations/utils/resets.ts x: 91 lines of code y: 358 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/styles.ts x: 111 lines of code y: 380 line churn libs/@guardian/source/src/foundations/deprecated-exports.ts x: 29 lines of code y: 353 line churn libs/@guardian/source/src/react-components/checkbox/styles.ts x: 176 lines of code y: 684 line churn libs/@guardian/source/src/react-components/radio/styles.ts x: 107 lines of code y: 405 line churn libs/@guardian/source-development-kitchen/src/react-components/lines/DottedLines.tsx x: 29 lines of code y: 255 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/InfoSummary.tsx x: 27 lines of code y: 91 line churn scripts/deno/check-npm-scripts.ts x: 131 lines of code y: 241 line churn libs/@guardian/source/src/react-components/button/shared.tsx x: 52 lines of code y: 167 line churn libs/@guardian/source/src/react-components/spinner/Spinner.tsx x: 60 lines of code y: 86 line churn libs/@guardian/source/src/react-components/spinner/theme.ts x: 9 lines of code y: 11 line churn libs/@guardian/source/src/react-components/inline/Inline.tsx x: 38 lines of code y: 163 line churn libs/@guardian/source/src/react-components/columns/styles.ts x: 164 lines of code y: 700 line churn libs/@guardian/source/src/react-components/stack/Stack.tsx x: 21 lines of code y: 126 line churn libs/@guardian/source/src/react-components/stack/styles.ts x: 14 lines of code y: 144 line churn libs/@guardian/source/src/react-components/checkbox/CheckboxGroup.tsx x: 74 lines of code y: 386 line churn .github/dependabot.yml x: 72 lines of code y: 305 line churn libs/@guardian/source-development-kitchen/src/react-components/age-warning/AgeWarning.tsx x: 69 lines of code y: 288 line churn libs/@guardian/source-development-kitchen/src/react-components/age-warning/styles.ts x: 20 lines of code y: 63 line churn libs/@guardian/source-development-kitchen/src/react-components/divider/Divider.tsx x: 92 lines of code y: 291 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/theme.ts x: 30 lines of code y: 105 line churn libs/@guardian/source-development-kitchen/src/react-components/expanding-wrapper/types.ts x: 17 lines of code y: 69 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/FileInput.tsx x: 129 lines of code y: 426 line churn libs/@guardian/source-development-kitchen/src/react-components/file-input/types.ts x: 17 lines of code y: 168 line churn libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterLinks.tsx x: 101 lines of code y: 396 line churn libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/FooterWithContents.tsx x: 42 lines of code y: 147 line churn libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/footerLinksStyles.ts x: 110 lines of code y: 366 line churn libs/@guardian/source-development-kitchen/src/react-components/footer-with-contents/footerWithContentsStyles.ts x: 39 lines of code y: 129 line churn libs/@guardian/source-development-kitchen/src/react-components/lines/Lines.tsx x: 48 lines of code y: 225 line churn libs/@guardian/source-development-kitchen/src/react-components/numeric-input/numericInputStyles.ts x: 69 lines of code y: 246 line churn libs/@guardian/source-development-kitchen/src/react-components/star-rating/StarRating.tsx x: 82 lines of code y: 330 line churn libs/@guardian/source-development-kitchen/src/react-components/summary/types.ts x: 5 lines of code y: 39 line churn libs/@guardian/source-development-kitchen/src/react-components/tabs/styles.ts x: 63 lines of code y: 210 line churn libs/@guardian/source-development-kitchen/src/react-components/tabs/tabs.tsx x: 53 lines of code y: 174 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch-apps/ToggleSwitchApps.tsx x: 52 lines of code y: 306 line churn libs/@guardian/source-development-kitchen/src/react-components/toggle-switch-apps/styles.ts x: 83 lines of code y: 294 line churn libs/@guardian/source/rollup.config.js x: 7 lines of code y: 82 line churn libs/@guardian/source/src/foundations/accessibility/description-id.ts x: 1 lines of code y: 47 line churn libs/@guardian/source/src/react-components/accordion/Accordion.tsx x: 42 lines of code y: 230 line churn libs/@guardian/source/src/react-components/accordion/AccordionRowNoJS.tsx x: 108 lines of code y: 356 line churn libs/@guardian/source/src/react-components/accordion/styles.ts x: 154 lines of code y: 537 line churn libs/@guardian/source/src/react-components/accordion/theme.ts x: 36 lines of code y: 129 line churn libs/@guardian/source/src/react-components/brand/SvgGuardianLogo.tsx x: 53 lines of code y: 227 line churn libs/@guardian/source/src/react-components/brand/SvgRoundel.tsx x: 36 lines of code y: 183 line churn libs/@guardian/source/src/react-components/brand/SvgRoundelBrand.tsx x: 8 lines of code y: 77 line churn libs/@guardian/source/src/react-components/brand/SvgRoundelBrandInverse.tsx x: 8 lines of code y: 68 line churn libs/@guardian/source/src/react-components/checkbox/theme.ts x: 100 lines of code y: 333 line churn libs/@guardian/source/src/react-components/columns/Column.tsx x: 26 lines of code y: 206 line churn libs/@guardian/source/src/react-components/container/Container.tsx x: 57 lines of code y: 269 line churn libs/@guardian/source/src/react-components/container/styles.ts x: 55 lines of code y: 183 line churn libs/@guardian/source/src/react-components/footer/styles.ts x: 58 lines of code y: 348 line churn libs/@guardian/source/src/react-components/hide/Hide.tsx x: 35 lines of code y: 203 line churn libs/@guardian/source/src/react-components/label/@types/LegendProps.ts x: 13 lines of code y: 111 line churn libs/@guardian/source/src/react-components/label/Label.tsx x: 32 lines of code y: 146 line churn libs/@guardian/source/src/react-components/label/Legend.tsx x: 33 lines of code y: 143 line churn libs/@guardian/source/src/react-components/label/theme.ts x: 40 lines of code y: 141 line churn libs/@guardian/source/src/react-components/link/@types/SharedLinkProps.ts x: 13 lines of code y: 123 line churn libs/@guardian/source/src/react-components/link/theme.ts x: 47 lines of code y: 177 line churn libs/@guardian/source/src/react-components/radio/theme.ts x: 99 lines of code y: 333 line churn libs/@guardian/source/src/react-components/user-feedback/InlineError.tsx x: 26 lines of code y: 113 line churn libs/@guardian/source/src/react-components/user-feedback/InlineSuccess.tsx x: 24 lines of code y: 107 line churn libs/@guardian/source/src/react-components/utils/themes.ts x: 10 lines of code y: 48 line churn libs/@guardian/source/lib/jest-matchers/toBeValidCSS.ts x: 30 lines of code y: 41 line churn libs/@guardian/source/lib/jest-matchers/toMatchCSS.ts x: 45 lines of code y: 59 line churn libs/@guardian/libs/src/datetime/timeAgo.ts x: 100 lines of code y: 501 line churn libs/@guardian/ab-core/src/fixture.ts x: 80 lines of code y: 107 line churn libs/@guardian/ab-core/src/ophan.ts x: 107 lines of code y: 231 line churn libs/@guardian/libs/src/cookies/getCookie.ts x: 22 lines of code y: 34 line churn libs/@guardian/libs/src/locale/getLocale.ts x: 37 lines of code y: 64 line churn libs/@guardian/identity-auth/src/identityAuth.ts x: 139 lines of code y: 857 line churn libs/@guardian/libs/src/performance/getMeasures.ts x: 25 lines of code y: 160 line churn libs/@guardian/ab-core/src/@types/index.ts x: 80 lines of code y: 127 line churn libs/@guardian/identity-auth/src/@types/OAuth.ts x: 85 lines of code y: 546 line churn libs/@guardian/identity-auth/src/tokenManager.ts x: 144 lines of code y: 695 line churn libs/@guardian/libs/src/isOneOf/isOneOf.ts x: 8 lines of code y: 120 line churn libs/@guardian/libs/src/logger/@types/logger.ts x: 6 lines of code y: 31 line churn libs/@guardian/libs/src/logger/subscriptions.ts x: 49 lines of code y: 118 line churn libs/@guardian/libs/src/performance/startPerformanceMeasure.ts x: 45 lines of code y: 201 line churn libs/@guardian/identity-auth/src/@types/Token.ts x: 107 lines of code y: 563 line churn libs/@guardian/identity-auth/src/autoRenew.ts x: 104 lines of code y: 310 line churn libs/@guardian/identity-auth/src/authState.ts x: 57 lines of code y: 308 line churn libs/@guardian/identity-auth/src/crypto.ts x: 73 lines of code y: 281 line churn libs/@guardian/ab-core/src/index.ts x: 10 lines of code y: 10 line churn libs/@guardian/libs/src/countries/@types/CountryCode.ts x: 2 lines of code y: 765 line churn libs/@guardian/libs/src/countries/@types/CountryKey.ts x: 2 lines of code y: 761 line churn libs/@guardian/libs/src/countries/countries.ts x: 998 lines of code y: 1019 line churn libs/@guardian/libs/src/cookies/removeCookie.ts x: 15 lines of code y: 26 line churn libs/@guardian/browserslist-config/scripts/included-table.mjs x: 20 lines of code y: 26 line churn libs/@guardian/browserslist-config/scripts/normalise-browser-name.mjs x: 11 lines of code y: 11 line churn
3881.0
line churn
  min: 1.0
  average: 256.47
  25th percentile: 48.5
  median: 129.0
  75th percentile: 307.5
  max: 3881.0
0 998.0
lines of code
min: 1.0 | average: 67.08 | 25th percentile: 13.25 | median: 36.5 | 75th percentile: 78.75 | max: 998.0