guardian / commercial-canaries
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 12 files with 828 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 4 files changed 21-50 times (477 lines of code)
    • 1 file changed 6-20 times (47 lines of code)
    • 7 files changed 1-5 times (304 lines of code)
0% | 0% | 57% | 5% | 36%
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 12 files with 828 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 3 files changed by 11-25 contributors (347 lines of code)
    • 1 file changed by 6-10 contributors (130 lines of code)
    • 2 files changed by 2-5 contributors (138 lines of code)
    • 6 files changed by 1 contributor (213 lines of code)
0% | 41% | 15% | 16% | 25%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
js, json, ts, md, yaml, gitignore, txt, sh, mjs, editorconfig, eslintignore, snap
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
js0% | 0% | 53% | 0% | 46%
ts0% | 0% | 73% | 26% | 0%
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
src0% | 0% | 53% | 0% | 46%
cdk0% | 0% | 73% | 26% | 0%
ROOT0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 12)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
109 5 2020-12-08 2025-04-23 48 15 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
126 6 2020-12-08 2025-04-23 46 14 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
112 5 2020-12-08 2025-04-23 44 15 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
130 1 2022-05-25 2025-04-22 36 10 lander45@hotmail.co.uk 43961396+cemms1@users.norep...
regions.ts
in cdk/lib
47 - 2022-05-25 2025-04-22 6 3 lander45@hotmail.co.uk 43961396+cemms1@users.norep...
page.js
in src/utils
56 - 2025-04-10 2025-04-23 3 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
cmp.js
in src/utils
91 1 2025-04-10 2025-04-22 3 3 emma-jo.imber@guardian.co.uk 43961396+cemms1@users.norep...
constants.js
in src/utils
11 - 2025-04-10 2025-04-14 2 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
2 - 2025-03-25 2025-03-25 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
logging.js
in src/utils
8 - 2025-04-10 2025-04-10 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
config.js
in src/utils
15 - 2025-04-16 2025-04-16 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
adverts.js
in src/utils
121 - 2025-04-14 2025-04-14 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
Files With Most Contributors (Top 12)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
109 5 2020-12-08 2025-04-23 48 15 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
112 5 2020-12-08 2025-04-23 44 15 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
126 6 2020-12-08 2025-04-23 46 14 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
130 1 2022-05-25 2025-04-22 36 10 lander45@hotmail.co.uk 43961396+cemms1@users.norep...
regions.ts
in cdk/lib
47 - 2022-05-25 2025-04-22 6 3 lander45@hotmail.co.uk 43961396+cemms1@users.norep...
cmp.js
in src/utils
91 1 2025-04-10 2025-04-22 3 3 emma-jo.imber@guardian.co.uk 43961396+cemms1@users.norep...
page.js
in src/utils
56 - 2025-04-10 2025-04-23 3 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
constants.js
in src/utils
11 - 2025-04-10 2025-04-14 2 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
2 - 2025-03-25 2025-03-25 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
config.js
in src/utils
15 - 2025-04-16 2025-04-16 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
logging.js
in src/utils
8 - 2025-04-10 2025-04-10 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
adverts.js
in src/utils
121 - 2025-04-14 2025-04-14 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
Files With Least Contributors (Top 12)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
adverts.js
in src/utils
121 - 2025-04-14 2025-04-14 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
page.js
in src/utils
56 - 2025-04-10 2025-04-23 3 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
config.js
in src/utils
15 - 2025-04-16 2025-04-16 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
constants.js
in src/utils
11 - 2025-04-10 2025-04-14 2 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
logging.js
in src/utils
8 - 2025-04-10 2025-04-10 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
2 - 2025-03-25 2025-03-25 1 1 43961396+cemms1@users.norep... 43961396+cemms1@users.norep...
cmp.js
in src/utils
91 1 2025-04-10 2025-04-22 3 3 emma-jo.imber@guardian.co.uk 43961396+cemms1@users.norep...
regions.ts
in cdk/lib
47 - 2022-05-25 2025-04-22 6 3 lander45@hotmail.co.uk 43961396+cemms1@users.norep...
130 1 2022-05-25 2025-04-22 36 10 lander45@hotmail.co.uk 43961396+cemms1@users.norep...
126 6 2020-12-08 2025-04-23 46 14 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
112 5 2020-12-08 2025-04-23 44 15 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
109 5 2020-12-08 2025-04-23 48 15 ioanna.kyprianou@guardian.c... 43961396+cemms1@users.norep...
Correlations

File Size vs. Number of Changes: 12 points

src/cmp_aus.js x: 112 lines of code y: 44 # changes src/cmp_ccpa.js x: 109 lines of code y: 48 # changes src/cmp_tcfv2.js x: 126 lines of code y: 46 # changes src/utils/page.js x: 56 lines of code y: 3 # changes cdk/lib/commercial-canaries.ts x: 130 lines of code y: 36 # changes cdk/lib/regions.ts x: 47 lines of code y: 6 # changes src/utils/cmp.js x: 91 lines of code y: 3 # changes src/utils/config.js x: 15 lines of code y: 1 # changes src/utils/adverts.js x: 121 lines of code y: 1 # changes src/utils/constants.js x: 11 lines of code y: 2 # changes src/utils/logging.js x: 8 lines of code y: 1 # changes eslint.config.mjs x: 2 lines of code y: 1 # changes
48.0
# changes
  min: 1.0
  average: 16.0
  25th percentile: 1.0
  median: 3.0
  75th percentile: 42.0
  max: 48.0
0 130.0
lines of code
min: 2.0 | average: 69.0 | 25th percentile: 12.0 | median: 73.5 | 75th percentile: 118.75 | max: 130.0

Number of Contributors vs. Number of Changes: 12 points

src/cmp_aus.js x: 15 # contributors y: 44 # changes src/cmp_ccpa.js x: 15 # contributors y: 48 # changes src/cmp_tcfv2.js x: 14 # contributors y: 46 # changes src/utils/page.js x: 1 # contributors y: 3 # changes cdk/lib/commercial-canaries.ts x: 10 # contributors y: 36 # changes cdk/lib/regions.ts x: 3 # contributors y: 6 # changes src/utils/cmp.js x: 3 # contributors y: 3 # changes src/utils/config.js x: 1 # contributors y: 1 # changes src/utils/constants.js x: 1 # contributors y: 2 # changes
48.0
# changes
  min: 1.0
  average: 16.0
  25th percentile: 1.0
  median: 3.0
  75th percentile: 42.0
  max: 48.0
0 15.0
# contributors
min: 1.0 | average: 5.5 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 13.0 | max: 15.0

Number of Contributors vs. File Size: 12 points

src/cmp_aus.js x: 15 # contributors y: 112 lines of code src/cmp_ccpa.js x: 15 # contributors y: 109 lines of code src/cmp_tcfv2.js x: 14 # contributors y: 126 lines of code src/utils/page.js x: 1 # contributors y: 56 lines of code cdk/lib/commercial-canaries.ts x: 10 # contributors y: 130 lines of code cdk/lib/regions.ts x: 3 # contributors y: 47 lines of code src/utils/cmp.js x: 3 # contributors y: 91 lines of code src/utils/config.js x: 1 # contributors y: 15 lines of code src/utils/adverts.js x: 1 # contributors y: 121 lines of code src/utils/constants.js x: 1 # contributors y: 11 lines of code src/utils/logging.js x: 1 # contributors y: 8 lines of code eslint.config.mjs x: 1 # contributors y: 2 lines of code
130.0
lines of code
  min: 2.0
  average: 69.0
  25th percentile: 12.0
  median: 73.5
  75th percentile: 118.75
  max: 130.0
0 15.0
# contributors
min: 1.0 | average: 5.5 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 13.0 | max: 15.0