Overview
File Change Frequency Overall
  • There are 811 files with 65,265 lines of code.
    • 35 files changed more than 100 times (13,793 lines of code)
    • 45 files changed 51-100 times (7,879 lines of code)
    • 150 files changed 21-50 times (12,537 lines of code)
    • 310 files changed 6-20 times (14,443 lines of code)
    • 271 files changed 1-5 times (16,613 lines of code)
21% | 12% | 19% | 22% | 25%
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 811 files with 65,265 lines of code.
    • 41 files changed by more than 25 contributors (14,291 lines of code)
    • 189 files changed by 11-25 contributors (17,328 lines of code)
    • 178 files changed by 6-10 contributors (10,440 lines of code)
    • 375 files changed by 2-5 contributors (22,771 lines of code)
    • 28 files changed by 1 contributor (435 lines of code)
21% | 26% | 15% | 34% | <1%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
scala, js, java, html, md, ts, css, json, sh, tsx, svg, yml, txt, gitignore, yaml, xml, sbt, dockerignore, feature, snap, eml, json5, py, jsonl, editorconfig, babelrc, mjs, eslintignore, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala22% | 20% | 25% | 24% | 7%
js26% | 15% | 30% | 18% | 8%
css55% | 0% | 3% | 28% | 12%
html44% | 9% | 23% | 15% | 6%
yaml0% | 28% | 46% | 8% | 15%
ts0% | 0% | 12% | 63% | 24%
tsx0% | 0% | 12% | 67% | 20%
xml0% | 0% | 80% | 0% | 20%
json50% | 0% | 0% | 100% | 0%
java0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
eml0% | 0% | 0% | 0% | 100%
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
kahuna31% | 10% | 21% | 28% | 9%
media-api50% | 18% | 20% | 8% | 2%
common-lib16% | 18% | 31% | 26% | 5%
thrall32% | 21% | 24% | 16% | 4%
image-loader26% | 42% | 5% | 23% | 2%
usage20% | 19% | 30% | 24% | 4%
dev31% | 0% | 42% | 6% | 19%
metadata-editor25% | 27% | 25% | 12% | 9%
scripts0% | 2% | <1% | 5% | 91%
ROOT0% | 100% | 0% | 0% | 0%
cropper0% | 22% | 51% | 25% | 0%
collections0% | 0% | 66% | 29% | 3%
rest-lib0% | 0% | 27% | 52% | 20%
cdk0% | 0% | 77% | 0% | 22%
leases0% | 0% | 86% | 13% | 0%
auth0% | 0% | 94% | 5% | 0%
image-embedder-lambda0% | 0% | 0% | 66% | 33%
image-counter-lambda0% | 0% | 0% | 80% | 19%
.github0% | 0% | 0% | 100% | 0%
.devcontainer0% | 0% | 0% | 100% | 0%
image-cache-purger0% | 0% | 0% | 0% | 100%
quarantine-status0% | 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
main.css
in kahuna/public/stylesheets
2605 - 2013-11-15 2026-10-06 446 53 +17864 / -8535 seb.cevey 128470622+andykilmory
MediaApi.scala
in media-api/app/controllers
711 27 2013-09-05 2026-10-06 425 52 +9108 / -6392 ben.james 128470622+andykilmory
ElasticSearch.scala
in media-api/app/lib/elasticsearch
581 24 2013-08-29 2026-10-06 297 48 +6770 / -4935 ben.james 128470622+andykilmory
results.js
in kahuna/public/js/search
730 22 2014-11-24 2026-10-06 257 35 +6496 / -3064 james.gorrie 128470622+andykilmory
results.html
in kahuna/public/js/search
240 - 2014-11-24 2026-10-06 221 33 +3305 / -2186 james.gorrie 128470622+andykilmory
view.html
in kahuna/public/js/image
195 - 2014-11-30 2026-10-06 220 35 +4449 / -4051 seb.cevey 128470622+andykilmory
controller.js
in kahuna/public/js/image
291 3 2014-12-27 2026-10-06 217 42 +2653 / -1676 seb.cevey 128470622+andykilmory
ImageResponse.scala
in media-api/app/lib
361 18 2015-05-26 2026-10-06 207 49 +2919 / -1502 kenoir 128470622+andykilmory
SupplierProcessors.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup
515 41 2015-04-29 2026-10-06 196 35 +3771 / -1526 seb.cevey 128470622+andykilmory
Mappings.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch
336 8 2013-09-25 2026-06-16 193 39 +2682 / -1530 ben.james 128470622+andykilmory
main.scala.html
in kahuna/app/views
131 - 2013-11-12 2026-10-06 188 49 +1129 / -695 ben.james 128470622+andykilmory
query.js
in kahuna/public/js/search
596 37 2014-11-24 2026-10-06 171 36 +4379 / -2125 james.gorrie 128470622+andykilmory
gr-image-metadata.html
in kahuna/public/js/components/gr-image-metadata
960 - 2015-10-14 2026-10-02 166 42 +5050 / -1566 akash1810 alex.ware
image.html
in kahuna/public/js/preview
177 - 2015-01-26 2026-05-27 163 34 +1586 / -940 james.gorrie 128470622+andykilmory
main.js
in kahuna/public/js
426 23 2015-01-03 2026-10-06 162 34 +4036 / -1655 seb.cevey 128470622+andykilmory
index.js
in kahuna/public/js/search
283 5 2014-11-24 2026-10-06 161 34 +2213 / -758 james.gorrie 128470622+andykilmory
image-editor.html
in kahuna/public/js/edits
314 - 2015-01-30 2026-10-06 149 34 +2165 / -1182 james.gorrie 128470622+andykilmory
CommonConfig.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/config
110 1 2018-03-28 2026-10-06 143 37 +1330 / -607 michael.barton 128470622+andykilmory
image.js
in kahuna/public/js/preview
161 2 2015-01-26 2026-10-02 142 36 +1106 / -477 james.gorrie alex.ware
ImageLoaderController.scala
in image-loader/app/controllers
570 13 2018-04-04 2026-09-16 141 25 +5778 / -3818 maria-livia.chiorean 128470622+andykilmory
78 - 2018-04-05 2026-09-16 132 25 +975 / -630 maria-livia.chiorean 128470622+andykilmory
EditsController.scala
in metadata-editor/app/controllers
182 15 2015-06-10 2026-09-16 128 30 +2594 / -1607 james.gorrie 128470622+andykilmory
MessageProcessor.scala
in thrall/app/lib/kinesis
189 12 2019-02-07 2026-05-27 128 25 +2213 / -1715 tony.mccrae.freelance 128470622+andykilmory
query.html
in kahuna/public/js/search
85 - 2014-11-24 2026-10-02 125 35 +1409 / -1199 james.gorrie alex.ware
UsageRights.scala
in common-lib/src/main/scala/com/gu/mediaservice/model
498 32 2015-04-15 2026-09-16 124 28 +5011 / -2886 james.gorrie 128470622+andykilmory
SearchFilters.scala
in media-api/app/lib/elasticsearch
64 3 2015-04-30 2026-05-27 122 29 +1648 / -1917 seb.cevey 128470622+andykilmory
KahunaConfig.scala
in kahuna/app/lib
76 - 2018-04-05 2026-10-06 122 35 +358 / -148 maria-livia.chiorean 128470622+andykilmory
ElasticSearch.scala
in thrall/app/lib/elasticsearch
678 36 2020-02-06 2026-06-16 119 23 +3657 / -1711 akash1810 128470622+andykilmory
S3.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
194 16 2013-10-15 2026-09-16 118 33 +2220 / -1440 ben.james 128470622+andykilmory
service-config.js
in dev/script/generate-config
256 2 2020-09-23 2026-10-06 115 28 +1072 / -242 simon 128470622+andykilmory
gr-image-metadata.js
in kahuna/public/js/components/gr-image-metadata
561 25 2015-10-14 2026-10-02 114 31 +3029 / -906 akash1810 alex.ware
view.html
in kahuna/public/js/crop
135 - 2014-11-30 2026-09-16 113 30 +1309 / -957 seb.cevey 128470622+andykilmory
MediaApiConfig.scala
in media-api/app/lib
76 - 2018-04-09 2026-10-06 108 32 +724 / -436 maria-livia.chiorean 128470622+andykilmory
MediaApiComponents.scala
in media-api/app
46 - 2018-04-09 2026-10-06 102 28 +656 / -395 maria-livia.chiorean 128470622+andykilmory
UsageApi.scala
in usage/app/controllers
382 14 2015-09-18 2026-10-06 101 35 +2310 / -724 james.gorrie 128470622+andykilmory
Uploader.scala
in image-loader/app/model
451 17 2020-09-14 2026-09-16 100 17 +2127 / -771 simon 128470622+andykilmory
media-api.js
in kahuna/public/js/services/api
106 18 2014-09-10 2026-06-17 97 26 +769 / -320 jgorrie joseph.smith
controller.js
in kahuna/public/js/crop
218 7 2014-12-27 2026-09-16 96 26 +1769 / -934 seb.cevey 128470622+andykilmory
DynamoDB.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
220 27 2014-10-29 2026-09-16 96 23 +3523 / -2571 seb.cevey 128470622+andykilmory
QuerySyntax.scala
in media-api/app/lib/querysyntax
222 30 2015-02-05 2026-06-16 92 22 +1196 / -409 seb.cevey 128470622+andykilmory
FileMetadataReader.scala
in image-loader/app/lib/imaging
222 13 2015-04-01 2026-10-02 91 31 +1449 / -611 seb.cevey alex.ware
image-editor.js
in kahuna/public/js/edits
379 14 2015-01-30 2026-10-02 91 26 +1860 / -575 james.gorrie alex.ware
KahunaController.scala
in kahuna/app/controllers
85 1 2018-04-05 2026-09-16 86 30 +445 / -257 maria-livia.chiorean 128470622+andykilmory
upload-jobs.js
in kahuna/public/js/upload/jobs
184 2 2014-11-21 2026-10-06 81 20 +1567 / -731 seb.cevey 128470622+andykilmory
ImageLoaderComponents.scala
in image-loader/app
45 - 2018-04-04 2026-09-16 78 22 +430 / -319 maria-livia.chiorean 128470622+andykilmory
ElasticSearchClient.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch
168 10 2013-09-27 2026-09-16 77 30 +1112 / -742 ben.james 128470622+andykilmory
Crops.scala
in cropper/app/lib
118 6 2013-12-11 2025-07-15 75 25 +1233 / -808 ben.james 10963046+andrew-nowak
ThrallConfig.scala
in thrall/app/lib
69 2 2018-04-05 2026-09-16 73 21 +690 / -420 maria-livia.chiorean 128470622+andykilmory
PhotographerRenamer.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup
635 1 2018-09-18 2026-09-16 73 14 +1526 / -127 mateusz.karpow 128470622+andykilmory
Projector.scala
in image-loader/app/model
187 9 2020-03-23 2026-09-16 72 12 +1164 / -670 justin.rowles.freelance 128470622+andykilmory
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
main.css
in kahuna/public/stylesheets
2605 - 2013-11-15 2026-10-06 446 53 +17864 / -8535 seb.cevey 128470622+andykilmory
MediaApi.scala
in media-api/app/controllers
711 27 2013-09-05 2026-10-06 425 52 +9108 / -6392 ben.james 128470622+andykilmory
ElasticSearch.scala
in media-api/app/lib/elasticsearch
581 24 2013-08-29 2026-10-06 297 48 +6770 / -4935 ben.james 128470622+andykilmory
ImageLoaderController.scala
in image-loader/app/controllers
570 13 2018-04-04 2026-09-16 141 25 +5778 / -3818 maria-livia.chiorean 128470622+andykilmory
results.js
in kahuna/public/js/search
730 22 2014-11-24 2026-10-06 257 35 +6496 / -3064 james.gorrie 128470622+andykilmory
view.html
in kahuna/public/js/image
195 - 2014-11-30 2026-10-06 220 35 +4449 / -4051 seb.cevey 128470622+andykilmory
UsageRights.scala
in common-lib/src/main/scala/com/gu/mediaservice/model
498 32 2015-04-15 2026-09-16 124 28 +5011 / -2886 james.gorrie 128470622+andykilmory
gr-image-metadata.html
in kahuna/public/js/components/gr-image-metadata
960 - 2015-10-14 2026-10-02 166 42 +5050 / -1566 akash1810 alex.ware
query.js
in kahuna/public/js/search
596 37 2014-11-24 2026-10-06 171 36 +4379 / -2125 james.gorrie 128470622+andykilmory
DynamoDB.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
220 27 2014-10-29 2026-09-16 96 23 +3523 / -2571 seb.cevey 128470622+andykilmory
main.js
in kahuna/public/js
426 23 2015-01-03 2026-10-06 162 34 +4036 / -1655 seb.cevey 128470622+andykilmory
results.html
in kahuna/public/js/search
240 - 2014-11-24 2026-10-06 221 33 +3305 / -2186 james.gorrie 128470622+andykilmory
ElasticSearch.scala
in thrall/app/lib/elasticsearch
678 36 2020-02-06 2026-06-16 119 23 +3657 / -1711 akash1810 128470622+andykilmory
SupplierProcessors.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup
515 41 2015-04-29 2026-10-06 196 35 +3771 / -1526 seb.cevey 128470622+andykilmory
ImageResponse.scala
in media-api/app/lib
361 18 2015-05-26 2026-10-06 207 49 +2919 / -1502 kenoir 128470622+andykilmory
controller.js
in kahuna/public/js/image
291 3 2014-12-27 2026-10-06 217 42 +2653 / -1676 seb.cevey 128470622+andykilmory
Mappings.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch
336 8 2013-09-25 2026-06-16 193 39 +2682 / -1530 ben.james 128470622+andykilmory
EditsController.scala
in metadata-editor/app/controllers
182 15 2015-06-10 2026-09-16 128 30 +2594 / -1607 james.gorrie 128470622+andykilmory
gr-image-metadata.js
in kahuna/public/js/components/gr-image-metadata
561 25 2015-10-14 2026-10-02 114 31 +3029 / -906 akash1810 alex.ware
MessageProcessor.scala
in thrall/app/lib/kinesis
189 12 2019-02-07 2026-05-27 128 25 +2213 / -1715 tony.mccrae.freelance 128470622+andykilmory
usage-rights-editor.js
in kahuna/public/js/usage-rights
220 8 2015-07-09 2025-02-13 64 21 +2370 / -1392 kenoir 128470622+andykilmory
S3.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
194 16 2013-10-15 2026-09-16 118 33 +2220 / -1440 ben.james 128470622+andykilmory
gr-collections-panel.js
in kahuna/public/js/components/gr-collections-panel
255 10 2015-11-23 2026-10-02 57 20 +2513 / -1060 ekmilner alex.ware
SearchFilters.scala
in media-api/app/lib/elasticsearch
64 3 2015-04-30 2026-05-27 122 29 +1648 / -1917 seb.cevey 128470622+andykilmory
image-editor.html
in kahuna/public/js/edits
314 - 2015-01-30 2026-10-06 149 34 +2165 / -1182 james.gorrie 128470622+andykilmory
GuardianUsageRightsConfig.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/guardian
633 - 2021-03-15 2026-09-16 41 10 +2313 / -990 ochiengolanga 128470622+andykilmory
delete-from-grid-step.tsx
in kahuna/public/js/takedown
371 - 2026-09-15 2026-10-06 10 6 +2630 / -615 junyuan.xue 128470622+andykilmory
UsageRightsConfig.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/config
176 8 2015-06-10 2025-06-09 67 17 +1830 / -1206 james.gorrie 128470622+andykilmory
UsageApi.scala
in usage/app/controllers
382 14 2015-09-18 2026-10-06 101 35 +2310 / -724 james.gorrie 128470622+andykilmory
service.js
in kahuna/public/js/edits
195 21 2015-04-02 2023-07-26 70 18 +2122 / -911 james.gorrie conal.brosnan
EsScript.scala
in scripts/src/main/scala/com/gu/mediaservice/scripts
354 7 2014-11-13 2026-06-16 69 29 +2037 / -936 james.gorrie 128470622+andykilmory
index.js
in kahuna/public/js/search
283 5 2014-11-24 2026-10-06 161 34 +2213 / -758 james.gorrie 128470622+andykilmory
gr-info-panel.html
in kahuna/public/js/components/gr-info-panel
49 - 2016-02-15 2025-01-29 28 14 +1172 / -1760 akash1810 128470622+andykilmory
Uploader.scala
in image-loader/app/model
451 17 2020-09-14 2026-09-16 100 17 +2127 / -771 simon 128470622+andykilmory
controller.js
in kahuna/public/js/crop
218 7 2014-12-27 2026-09-16 96 26 +1769 / -934 seb.cevey 128470622+andykilmory
query.html
in kahuna/public/js/search
85 - 2014-11-24 2026-10-02 125 35 +1409 / -1199 james.gorrie alex.ware
image.html
in kahuna/public/js/preview
177 - 2015-01-26 2026-05-27 163 34 +1586 / -940 james.gorrie 128470622+andykilmory
ConfigFactory.java
in scripts/src/main/java/com/gu/typesafe/config
293 60 2020-10-30 2020-11-03 2 2 +2516 / -0 simon simon.hildrew
image-editor.js
in kahuna/public/js/edits
379 14 2015-01-30 2026-10-02 91 26 +1860 / -575 james.gorrie alex.ware
UsageRightsProperty.scala
in metadata-editor/app/model
113 2 2015-06-29 2025-06-09 58 22 +1386 / -1007 james.gorrie 128470622+andykilmory
SimpleConfig.java
in scripts/src/main/java/com/gu/typesafe/config/impl
940 83 2020-10-30 2020-11-03 2 2 +2370 / -0 simon simon.hildrew
UsageRecorder.scala
in usage/app/lib
118 5 2015-10-02 2022-12-16 64 20 +1433 / -928 robert.kenny 10963046+andrew-nowak
freeImagesFilter.ts
in image-embedder-lambda/src/backfiller
549 - 2026-04-10 2026-05-27 4 2 +2286 / -30 3389563+alexduf 128470622+andykilmory
upload-jobs.js
in kahuna/public/js/upload/jobs
184 2 2014-11-21 2026-10-06 81 20 +1567 / -731 seb.cevey 128470622+andykilmory
Config.java
in scripts/src/main/java/com/gu/typesafe/config
66 - 2020-10-30 2020-11-03 2 2 +2278 / -0 simon simon.hildrew
view.html
in kahuna/public/js/crop
135 - 2014-11-30 2026-09-16 113 30 +1309 / -957 seb.cevey 128470622+andykilmory
usage-rights-editor.html
in kahuna/public/js/usage-rights
199 - 2015-07-09 2024-07-08 69 18 +1523 / -717 kenoir mateusz.karpow
ImageOperations.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/imaging
247 13 2015-09-21 2025-07-15 69 22 +1595 / -633 seb.cevey 10963046+andrew-nowak
S3Vectors.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
103 5 2025-10-01 2026-09-16 32 4 +1398 / -804 ellen.muller 128470622+andykilmory
CollectionsController.scala
in collections/app/controllers
169 9 2015-11-26 2025-12-09 47 19 +1589 / -514 james.gorrie ellen.muller
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
main.css
in kahuna/public/stylesheets
2605 - 2013-11-15 2026-10-06 446 53 +17864 / -8535 seb.cevey 128470622+andykilmory
MediaApi.scala
in media-api/app/controllers
711 27 2013-09-05 2026-10-06 425 52 +9108 / -6392 ben.james 128470622+andykilmory
ImageResponse.scala
in media-api/app/lib
361 18 2015-05-26 2026-10-06 207 49 +2919 / -1502 kenoir 128470622+andykilmory
main.scala.html
in kahuna/app/views
131 - 2013-11-12 2026-10-06 188 49 +1129 / -695 ben.james 128470622+andykilmory
ElasticSearch.scala
in media-api/app/lib/elasticsearch
581 24 2013-08-29 2026-10-06 297 48 +6770 / -4935 ben.james 128470622+andykilmory
controller.js
in kahuna/public/js/image
291 3 2014-12-27 2026-10-06 217 42 +2653 / -1676 seb.cevey 128470622+andykilmory
gr-image-metadata.html
in kahuna/public/js/components/gr-image-metadata
960 - 2015-10-14 2026-10-02 166 42 +5050 / -1566 akash1810 alex.ware
Mappings.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch
336 8 2013-09-25 2026-06-16 193 39 +2682 / -1530 ben.james 128470622+andykilmory
CommonConfig.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/config
110 1 2018-03-28 2026-10-06 143 37 +1330 / -607 michael.barton 128470622+andykilmory
query.js
in kahuna/public/js/search
596 37 2014-11-24 2026-10-06 171 36 +4379 / -2125 james.gorrie 128470622+andykilmory
image.js
in kahuna/public/js/preview
161 2 2015-01-26 2026-10-02 142 36 +1106 / -477 james.gorrie alex.ware
results.js
in kahuna/public/js/search
730 22 2014-11-24 2026-10-06 257 35 +6496 / -3064 james.gorrie 128470622+andykilmory
view.html
in kahuna/public/js/image
195 - 2014-11-30 2026-10-06 220 35 +4449 / -4051 seb.cevey 128470622+andykilmory
SupplierProcessors.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup
515 41 2015-04-29 2026-10-06 196 35 +3771 / -1526 seb.cevey 128470622+andykilmory
query.html
in kahuna/public/js/search
85 - 2014-11-24 2026-10-02 125 35 +1409 / -1199 james.gorrie alex.ware
KahunaConfig.scala
in kahuna/app/lib
76 - 2018-04-05 2026-10-06 122 35 +358 / -148 maria-livia.chiorean 128470622+andykilmory
UsageApi.scala
in usage/app/controllers
382 14 2015-09-18 2026-10-06 101 35 +2310 / -724 james.gorrie 128470622+andykilmory
image.html
in kahuna/public/js/preview
177 - 2015-01-26 2026-05-27 163 34 +1586 / -940 james.gorrie 128470622+andykilmory
main.js
in kahuna/public/js
426 23 2015-01-03 2026-10-06 162 34 +4036 / -1655 seb.cevey 128470622+andykilmory
index.js
in kahuna/public/js/search
283 5 2014-11-24 2026-10-06 161 34 +2213 / -758 james.gorrie 128470622+andykilmory
image-editor.html
in kahuna/public/js/edits
314 - 2015-01-30 2026-10-06 149 34 +2165 / -1182 james.gorrie 128470622+andykilmory
results.html
in kahuna/public/js/search
240 - 2014-11-24 2026-10-06 221 33 +3305 / -2186 james.gorrie 128470622+andykilmory
S3.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
194 16 2013-10-15 2026-09-16 118 33 +2220 / -1440 ben.james 128470622+andykilmory
MediaApiConfig.scala
in media-api/app/lib
76 - 2018-04-09 2026-10-06 108 32 +724 / -436 maria-livia.chiorean 128470622+andykilmory
QueryBuilder.scala
in media-api/app/lib/elasticsearch
188 6 2015-04-30 2026-10-02 65 32 +1087 / -598 seb.cevey alex.ware
gr-image-metadata.js
in kahuna/public/js/components/gr-image-metadata
561 25 2015-10-14 2026-10-02 114 31 +3029 / -906 akash1810 alex.ware
FileMetadataReader.scala
in image-loader/app/lib/imaging
222 13 2015-04-01 2026-10-02 91 31 +1449 / -611 seb.cevey alex.ware
EditsController.scala
in metadata-editor/app/controllers
182 15 2015-06-10 2026-09-16 128 30 +2594 / -1607 james.gorrie 128470622+andykilmory
view.html
in kahuna/public/js/crop
135 - 2014-11-30 2026-09-16 113 30 +1309 / -957 seb.cevey 128470622+andykilmory
KahunaController.scala
in kahuna/app/controllers
85 1 2018-04-05 2026-09-16 86 30 +445 / -257 maria-livia.chiorean 128470622+andykilmory
ElasticSearchClient.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch
168 10 2013-09-27 2026-09-16 77 30 +1112 / -742 ben.james 128470622+andykilmory
SearchFilters.scala
in media-api/app/lib/elasticsearch
64 3 2015-04-30 2026-05-27 122 29 +1648 / -1917 seb.cevey 128470622+andykilmory
UsageGroup.scala
in usage/app/model
246 22 2015-10-06 2026-05-27 70 29 +1333 / -510 robert.kenny 128470622+andykilmory
EsScript.scala
in scripts/src/main/scala/com/gu/mediaservice/scripts
354 7 2014-11-13 2026-06-16 69 29 +2037 / -936 james.gorrie 128470622+andykilmory
UsageRights.scala
in common-lib/src/main/scala/com/gu/mediaservice/model
498 32 2015-04-15 2026-09-16 124 28 +5011 / -2886 james.gorrie 128470622+andykilmory
service-config.js
in dev/script/generate-config
256 2 2020-09-23 2026-10-06 115 28 +1072 / -242 simon 128470622+andykilmory
MediaApiComponents.scala
in media-api/app
46 - 2018-04-09 2026-10-06 102 28 +656 / -395 maria-livia.chiorean 128470622+andykilmory
media-api.js
in kahuna/public/js/services/api
106 18 2014-09-10 2026-06-17 97 26 +769 / -320 jgorrie joseph.smith
controller.js
in kahuna/public/js/crop
218 7 2014-12-27 2026-09-16 96 26 +1769 / -934 seb.cevey 128470622+andykilmory
image-editor.js
in kahuna/public/js/edits
379 14 2015-01-30 2026-10-02 91 26 +1860 / -575 james.gorrie alex.ware
user-actions.html
in kahuna/public/js/common
47 - 2015-02-16 2026-10-06 40 26 +262 / -150 james.gorrie 128470622+andykilmory
ImageLoaderController.scala
in image-loader/app/controllers
570 13 2018-04-04 2026-09-16 141 25 +5778 / -3818 maria-livia.chiorean 128470622+andykilmory
78 - 2018-04-05 2026-09-16 132 25 +975 / -630 maria-livia.chiorean 128470622+andykilmory
MessageProcessor.scala
in thrall/app/lib/kinesis
189 12 2019-02-07 2026-05-27 128 25 +2213 / -1715 tony.mccrae.freelance 128470622+andykilmory
Crops.scala
in cropper/app/lib
118 6 2013-12-11 2025-07-15 75 25 +1233 / -808 ben.james 10963046+andrew-nowak
203 - 2017-07-07 2026-10-06 71 25 +1056 / -272 akash1810 128470622+andykilmory
Image.scala
in common-lib/src/main/scala/com/gu/mediaservice/model
148 3 2015-04-29 2026-05-27 64 25 +921 / -433 seb.cevey 128470622+andykilmory
gr-downloader.html
in kahuna/public/js/components/gr-downloader
57 - 2016-01-04 2026-09-16 39 24 +489 / -263 james.gorrie 128470622+andykilmory
ElasticSearch.scala
in thrall/app/lib/elasticsearch
678 36 2020-02-06 2026-06-16 119 23 +3657 / -1711 akash1810 128470622+andykilmory
DynamoDB.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
220 27 2014-10-29 2026-09-16 96 23 +3523 / -2571 seb.cevey 128470622+andykilmory
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
graphic-image-blur.js
in kahuna/public/js/services
54 - 2023-11-07 2023-12-12 4 1 +132 / -18 tom.richards tom.richards
ApiKeyAuthenticationProvider.scala
in rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/provider
50 4 2021-02-08 2021-02-16 2 1 +146 / -0 justin.rowles.freelance justin.rowles.freelance
index.js
in scripts/sample-images
49 2 2019-04-08 2019-04-08 1 1 +144 / -0 akash1810 akash1810
JsonDiff.scala
in common-lib/src/main/scala/com/gu/mediaservice
46 3 2021-03-09 2021-03-11 3 1 +141 / -29 justin.rowles.freelance justin.rowles.freelance
ErrorResponse.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model
21 - 2016-06-03 2016-06-03 1 1 +29 / -0 nick.satterly nick.satterly
GNM-explainer.html
in kahuna/public/js/common/blurring
20 - 2023-11-21 2023-11-22 2 1 +40 / -0 tom.richards tom.richards
FrontUsageRequest.scala
in usage/app/model
19 - 2018-08-06 2018-08-08 2 1 +48 / -0 akash1810 akash1810
EntityResponse.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model
19 - 2016-06-03 2016-06-03 1 1 +27 / -0 nick.satterly nick.satterly
UsageTableFullKey.scala
in common-lib/src/main/scala/com/gu/mediaservice/model/usage
18 3 2020-01-27 2020-01-27 1 1 +23 / -0 martin.kuzdowicz.contractor martin.kuzdowicz.contractor
Edit.scala
in metadata-editor/app/lib
16 1 2021-04-15 2021-04-19 2 1 +44 / -0 justin.rowles.freelance justin.rowles.freelance
gr-radio-list.js
in kahuna/public/js/components/gr-radio-list
15 - 2019-02-26 2019-02-27 2 1 +36 / -0 akash1810 akash1810
FutureResources.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/resource
13 1 2014-02-25 2014-02-25 1 1 +20 / -0 ben.james ben.james
getCredentials.ts
in image-counter-lambda/src
12 1 2020-01-20 2020-01-30 3 1 +34 / -2 stephen.gb.geller+git stephen.gb.geller+git
OrderedFutureRunner.scala
in thrall/app/lib
11 1 2020-02-14 2020-02-17 2 1 +26 / -0 alex.ware alex.ware
Photoshoot.scala
in common-lib/src/main/scala/com/gu/mediaservice/model
9 - 2018-07-11 2018-08-01 5 1 +54 / -30 akash1810 akash1810
RequestHeaderSyntax.scala
in common-lib/src/main/scala/com/gu/mediaservice/syntax
9 - 2013-11-28 2013-12-13 3 1 +67 / -39 ben.james ben.james
theseus-angular.js
in kahuna/public/js/util
8 - 2017-11-10 2017-11-22 2 1 +24 / -0 richard.beddington richard.beddington
RoundedExpiration.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/aws
8 1 2024-08-02 2024-08-09 4 1 +39 / -5 tony.mccrae tony.mccrae
grid-dev-auth.yml
in dev/cloudformation
7 - 2020-04-20 2020-04-28 2 1 +22 / -0 akash1810 akash1810
editOptions.js
in kahuna/public/js/util/constants
4 - 2019-02-28 2019-03-01 2 1 +10 / -0 akash1810 akash1810
SyndicationStore.scala
in metadata-editor/app/lib
4 - 2021-04-15 2021-04-29 4 1 +14 / -2 justin.rowles.freelance justin.rowles.freelance
elasticsearch.yml
in dev/elasticsearch
4 - 2020-04-22 2020-04-23 2 1 +12 / -0 akash1810 akash1810
ApiKeyAuthentication.scala
in common-lib/src/main/scala/com/gu/mediaservice/lib/auth/provider
4 - 2021-02-08 2021-02-16 2 1 +12 / -0 justin.rowles.freelance justin.rowles.freelance
AuthenticationProviderLoader.scala
in rest-lib/src/main/scala/com/gu/mediaservice/lib/config
4 - 2021-02-08 2021-02-16 2 1 +12 / -0 justin.rowles.freelance justin.rowles.freelance
gr-info-panel.css
in kahuna/public/js/components/gr-info-panel
3 - 2016-02-15 2016-02-16 2 1 +182 / -174 akash1810 akash1810
gr-delete-usages.css
in kahuna/public/js/components/gr-delete-usages
3 - 2019-02-26 2019-02-27 2 1 +6 / -0 akash1810 akash1810
gr-photoshoot.css
in kahuna/public/js/components/gr-photoshoot
3 - 2018-07-31 2018-08-01 2 1 +6 / -0 akash1810 akash1810
BatchDeletionIds.scala
in thrall/app/lib
2 - 2023-10-10 2023-10-13 2 1 +6 / -0 tom.richards tom.richards
SimpleConfig.java
in scripts/src/main/java/com/gu/typesafe/config/impl
940 83 2020-10-30 2020-11-03 2 2 +2370 / -0 simon simon.hildrew
Parseable.java
in scripts/src/main/java/com/gu/typesafe/config/impl
643 41 2020-10-30 2020-11-03 2 2 +1746 / -0 simon simon.hildrew
ConfigDocumentParser.java
in scripts/src/main/java/com/gu/typesafe/config/impl
576 20 2020-10-30 2020-11-03 2 2 +1424 / -0 simon simon.hildrew
Tokenizer.java
in scripts/src/main/java/com/gu/typesafe/config/impl
558 29 2020-10-30 2020-11-03 2 2 +1390 / -0 simon simon.hildrew
freeImagesFilter.ts
in image-embedder-lambda/src/backfiller
549 - 2026-04-10 2026-05-27 4 2 +2286 / -30 3389563+alexduf 128470622+andykilmory
SimpleConfigObject.java
in scripts/src/main/java/com/gu/typesafe/config/impl
542 37 2020-10-30 2020-11-03 3 2 +1351 / -3 simon simon.hildrew
SimpleConfigOrigin.java
in scripts/src/main/java/com/gu/typesafe/config/impl
472 29 2020-10-30 2020-11-03 2 2 +1150 / -0 simon simon.hildrew
SerializedConfigValue.java
in scripts/src/main/java/com/gu/typesafe/config/impl
440 23 2020-10-30 2020-11-03 2 2 +1056 / -0 simon simon.hildrew
ConfigImpl.java
in scripts/src/main/java/com/gu/typesafe/config/impl
422 27 2020-10-30 2020-11-03 2 2 +1078 / -0 simon simon.hildrew
Tokens.java
in scripts/src/main/java/com/gu/typesafe/config/impl
421 72 2020-10-30 2020-11-03 2 2 +1042 / -0 simon simon.hildrew
SimpleConfigList.java
in scripts/src/main/java/com/gu/typesafe/config/impl
372 35 2020-10-30 2020-11-03 2 2 +920 / -0 simon simon.hildrew
ConfigParser.java
in scripts/src/main/java/com/gu/typesafe/config/impl
330 4 2020-10-30 2020-11-03 2 2 +844 / -0 simon simon.hildrew
ConfigFactory.java
in scripts/src/main/java/com/gu/typesafe/config
293 60 2020-10-30 2020-11-03 2 2 +2516 / -0 simon simon.hildrew
AbstractConfigValue.java
in scripts/src/main/java/com/gu/typesafe/config/impl
279 37 2020-10-30 2020-11-03 2 2 +821 / -1 simon simon.hildrew
ConfigException.java
in scripts/src/main/java/com/gu/typesafe/config
277 54 2020-10-30 2020-11-03 2 2 +920 / -0 simon simon.hildrew
ResolveSource.java
in scripts/src/main/java/com/gu/typesafe/config/impl
269 19 2020-10-30 2020-11-03 2 2 +700 / -0 simon simon.hildrew
ConfigDelayedMerge.java
in scripts/src/main/java/com/gu/typesafe/config/impl
256 17 2020-10-30 2020-11-03 2 2 +684 / -0 simon simon.hildrew
ConfigBeanImpl.java
in scripts/src/main/java/com/gu/typesafe/config/impl
245 7 2020-10-30 2020-11-03 2 2 +598 / -0 simon simon.hildrew
ConfigNodeObject.java
in scripts/src/main/java/com/gu/typesafe/config/impl
241 9 2020-10-30 2020-11-03 2 2 +562 / -0 simon simon.hildrew
ConfigImplUtil.java
in scripts/src/main/java/com/gu/typesafe/config/impl
235 14 2020-10-30 2020-11-03 2 2 +604 / -0 simon simon.hildrew
ConfigDelayedMergeObject.java
in scripts/src/main/java/com/gu/typesafe/config/impl
233 29 2020-10-30 2020-11-03 2 2 +652 / -0 simon simon.hildrew
SimpleIncluder.java
in scripts/src/main/java/com/gu/typesafe/config/impl
221 1 2020-10-30 2020-11-03 2 2 +586 / -0 simon simon.hildrew
Correlations

File Size vs. Number of Changes: 811 points

kahuna/public/js/components/gr-my-uploads/gr-my-uploads.tsx x: 74 lines of code y: 16 # changes kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.tsx x: 237 lines of code y: 23 # changes kahuna/public/js/takedown/crops-and-usages.tsx x: 253 lines of code y: 5 # changes kahuna/public/js/takedown/delete-from-grid-step.tsx x: 371 lines of code y: 10 # changes kahuna/public/js/search/index.js x: 283 lines of code y: 161 # changes kahuna/public/js/search/query.js x: 596 lines of code y: 171 # changes cdk/lib/image-cache-purger.ts x: 54 lines of code y: 4 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/DateTimeUtils.scala x: 53 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessors.scala x: 515 lines of code y: 196 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfig.scala x: 110 lines of code y: 143 # changes dev/oidc-provider/app.js x: 19 lines of code y: 21 # changes dev/script/generate-config/service-config.js x: 256 lines of code y: 115 # changes image-cache-purger/src/main/scala/com/gu/mediaservice/FastlyApiKeyProvider.scala x: 35 lines of code y: 4 # changes image-cache-purger/src/main/scala/com/gu/mediaservice/FastlyPurger.scala x: 43 lines of code y: 4 # changes image-cache-purger/src/main/scala/com/gu/mediaservice/ImageCachePurger.scala x: 62 lines of code y: 4 # changes kahuna/app/KahunaComponents.scala x: 63 lines of code y: 65 # changes kahuna/app/lib/KahunaConfig.scala x: 76 lines of code y: 122 # changes kahuna/app/views/main.scala.html x: 131 lines of code y: 188 # changes kahuna/public/js/common/user-actions.html x: 47 lines of code y: 40 # changes kahuna/public/js/common/user-actions.js x: 44 lines of code y: 25 # changes kahuna/public/js/components/gr-top-bar/gr-top-bar.js x: 37 lines of code y: 23 # changes kahuna/public/js/edits/image-editor.html x: 314 lines of code y: 149 # changes kahuna/public/js/forms/datalist.html x: 13 lines of code y: 23 # changes kahuna/public/js/image/controller.js x: 291 lines of code y: 217 # changes kahuna/public/js/image/view.html x: 195 lines of code y: 220 # changes kahuna/public/js/main.js x: 426 lines of code y: 162 # changes kahuna/public/js/search/results.html x: 240 lines of code y: 221 # changes kahuna/public/js/search/results.js x: 730 lines of code y: 257 # changes kahuna/public/js/services/telemetry.ts x: 83 lines of code y: 23 # changes kahuna/public/js/takedown/controller.ts x: 26 lines of code y: 8 # changes kahuna/public/js/takedown/delete-from-content-step.tsx x: 218 lines of code y: 7 # changes kahuna/public/js/takedown/index.ts x: 94 lines of code y: 9 # changes kahuna/public/js/takedown/takedown-context.tsx x: 204 lines of code y: 7 # changes kahuna/public/js/takedown/takedown-page.tsx x: 120 lines of code y: 10 # changes kahuna/public/js/takedown/takedown-step.tsx x: 98 lines of code y: 5 # changes kahuna/public/js/takedown/view.html x: 8 lines of code y: 8 # changes kahuna/public/js/types/api.ts x: 5 lines of code y: 4 # changes kahuna/public/js/types/image.ts x: 86 lines of code y: 11 # changes kahuna/public/js/upload/controller.js x: 59 lines of code y: 53 # changes kahuna/public/js/upload/dnd-uploader.html x: 11 lines of code y: 12 # changes kahuna/public/js/upload/jobs/required-metadata-editor.html x: 172 lines of code y: 65 # changes kahuna/public/js/upload/jobs/upload-jobs.js x: 184 lines of code y: 81 # changes kahuna/public/js/upload/prompt/prompt.html x: 10 lines of code y: 19 # changes kahuna/public/js/upload/prompt/prompt.js x: 22 lines of code y: 19 # changes kahuna/public/js/util/constants/standThemeOverride.ts x: 99 lines of code y: 9 # changes kahuna/public/js/util/default-non-free-filter.js x: 11 lines of code y: 3 # changes kahuna/public/js/util/poll.ts x: 16 lines of code y: 4 # changes kahuna/public/js/window.ts x: 53 lines of code y: 32 # changes kahuna/public/stylesheets/main.css x: 2605 lines of code y: 446 # changes media-api/app/MediaApiComponents.scala x: 46 lines of code y: 102 # changes media-api/app/controllers/MediaApi.scala x: 711 lines of code y: 425 # changes media-api/app/controllers/UsageController.scala x: 111 lines of code y: 42 # changes media-api/app/lib/ContentApi.scala x: 56 lines of code y: 3 # changes media-api/app/lib/ImageResponse.scala x: 361 lines of code y: 207 # changes media-api/app/lib/MediaApiConfig.scala x: 76 lines of code y: 108 # changes media-api/app/lib/elasticsearch/ElasticSearch.scala x: 581 lines of code y: 297 # changes media-api/app/models/UsagesInContent.scala x: 19 lines of code y: 3 # changes riff-raff.yaml x: 203 lines of code y: 71 # changes usage/app/controllers/UsageApi.scala x: 382 lines of code y: 101 # changes usage/app/model/DeleteUsagesByIdsRequest.scala x: 6 lines of code y: 3 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/FieldAlias.scala x: 39 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MappingTest.scala x: 248 lines of code y: 44 # changes common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadata.scala x: 67 lines of code y: 36 # changes image-loader/app/lib/imaging/C2PADetector.scala x: 48 lines of code y: 5 # changes image-loader/app/lib/imaging/FileMetadataReader.scala x: 222 lines of code y: 91 # changes kahuna/public/js/components/gr-collections-panel/gr-collections-panel.js x: 255 lines of code y: 57 # changes kahuna/public/js/components/gr-display-crops/gr-display-crops.css x: 14 lines of code y: 8 # changes kahuna/public/js/components/gr-display-crops/gr-display-crops.html x: 28 lines of code y: 18 # changes kahuna/public/js/components/gr-image-metadata/gr-image-metadata.html x: 960 lines of code y: 166 # changes kahuna/public/js/components/gr-image-metadata/gr-image-metadata.js x: 561 lines of code y: 114 # changes kahuna/public/js/components/gr-photoshoot/gr-photoshoot.js x: 88 lines of code y: 17 # changes kahuna/public/js/components/gr-preset-labels/gr-preset-labels.js x: 58 lines of code y: 22 # changes kahuna/public/js/components/gr-sort-control/base-sort-control.tsx x: 189 lines of code y: 11 # changes kahuna/public/js/components/gr-sort-control/gr-extended-sort-control.tsx x: 105 lines of code y: 8 # changes kahuna/public/js/components/gr-sort-control/gr-sort-control.tsx x: 88 lines of code y: 34 # changes kahuna/public/js/components/gu-date-range/gu-date-range.js x: 150 lines of code y: 34 # changes kahuna/public/js/edits/image-editor.js x: 379 lines of code y: 91 # changes kahuna/public/js/edits/list-editor.js x: 182 lines of code y: 25 # changes kahuna/public/js/preview/image.js x: 161 lines of code y: 142 # changes kahuna/public/js/search/query-filter.js x: 71 lines of code y: 41 # changes kahuna/public/js/search/query.html x: 85 lines of code y: 125 # changes kahuna/public/js/upload/view.html x: 26 lines of code y: 69 # changes media-api/app/lib/elasticsearch/QueryBuilder.scala x: 188 lines of code y: 65 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/AlamyCleanUp.scala x: 97 lines of code y: 8 # changes .devcontainer/devenv.yaml x: 28 lines of code y: 7 # changes collections/app/store/CollectionsStore.scala x: 55 lines of code y: 36 # changes collections/app/store/ImageCollectionsStore.scala x: 43 lines of code y: 9 # changes common-lib/src/main/scala/com/gu/mediaservice/GridClient.scala x: 229 lines of code y: 35 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/BaseStore.scala x: 51 lines of code y: 35 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/ImageIngestOperations.scala x: 106 lines of code y: 49 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/S3ImageStorage.scala x: 44 lines of code y: 52 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/VectorUtils.scala x: 40 lines of code y: 8 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model/CollectionResponse.scala x: 47 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/auth/KeyStore.scala x: 20 lines of code y: 32 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Bedrock.scala x: 79 lines of code y: 27 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/DynamoDB.scala x: 220 lines of code y: 96 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Embedder.scala x: 27 lines of code y: 36 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Kinesis.scala x: 47 lines of code y: 36 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3.scala x: 194 lines of code y: 118 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3Vectors.scala x: 103 lines of code y: 32 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SimpleSqsMessageConsumer.scala x: 50 lines of code y: 28 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsHelpers.scala x: 16 lines of code y: 15 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsViaSnsMessageConsumer.scala x: 76 lines of code y: 20 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/PhotographerRenamer.scala x: 635 lines of code y: 73 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/dynamo/DynamoValue.scala x: 27 lines of code y: 4 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchClient.scala x: 168 lines of code y: 77 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/guardian/GuardianUsageRightsConfig.scala x: 633 lines of code y: 41 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/logging/LogConfig.scala x: 103 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/SoftDeletedMetadataTable.scala x: 37 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metrics/CloudWatchMetrics.scala x: 134 lines of code y: 35 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/usage/ItemToMediaUsage.scala x: 109 lines of code y: 26 # changes common-lib/src/main/scala/com/gu/mediaservice/model/UsageRights.scala x: 498 lines of code y: 124 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/ChildUsageMetadata.scala x: 20 lines of code y: 10 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/DigitalUsageMetadata.scala x: 28 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/DownloadUsageMetadata.scala x: 17 lines of code y: 6 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/FrontUsageMetadata.scala x: 20 lines of code y: 6 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/PrintUsageMetadata.scala x: 73 lines of code y: 27 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/SyndicationUsageMetadata.scala x: 18 lines of code y: 13 # changes image-loader/app/ImageLoaderComponents.scala x: 45 lines of code y: 78 # changes image-loader/app/controllers/ImageLoaderController.scala x: 570 lines of code y: 141 # changes image-loader/app/lib/ImageLoaderStore.scala x: 72 lines of code y: 37 # changes image-loader/app/lib/UploadStatusTable.scala x: 49 lines of code y: 17 # changes image-loader/app/model/Projector.scala x: 187 lines of code y: 72 # changes image-loader/app/model/S3IngestObject.scala x: 36 lines of code y: 18 # changes image-loader/app/model/Uploader.scala x: 451 lines of code y: 100 # changes kahuna/app/controllers/KahunaController.scala x: 85 lines of code y: 86 # changes kahuna/app/lib/FeatureSwitch.scala x: 44 lines of code y: 29 # changes kahuna/public/js/components/gr-archiver/gr-archiver.js x: 144 lines of code y: 33 # changes kahuna/public/js/components/gr-downloader/gr-downloader.html x: 57 lines of code y: 39 # changes kahuna/public/js/components/gr-downloader/gr-downloader.js x: 114 lines of code y: 37 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage-list.html x: 33 lines of code y: 32 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage.css x: 58 lines of code y: 15 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage.html x: 11 lines of code y: 30 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage.js x: 135 lines of code y: 40 # changes kahuna/public/js/components/gr-more-like-this/gr-more-like-this.js x: 28 lines of code y: 10 # changes kahuna/public/js/components/gr-sort-control/gr-sort-control.css x: 142 lines of code y: 15 # changes kahuna/public/js/components/gr-top-bar/gr-top-bar.css x: 39 lines of code y: 30 # changes kahuna/public/js/components/gr-undelete-image/gr-un-delete-image.js x: 48 lines of code y: 13 # changes kahuna/public/js/components/gr-usagerights-summary/gr-usagerights-summary.tsx x: 114 lines of code y: 6 # changes kahuna/public/js/components/gu-date-range/gu-date-range.css x: 60 lines of code y: 21 # changes kahuna/public/js/crop/index.js x: 40 lines of code y: 39 # changes kahuna/public/js/crop/view.html x: 135 lines of code y: 113 # changes kahuna/public/js/directives/ui-crop-box/ui-crop-box.js x: 99 lines of code y: 21 # changes kahuna/public/js/services/image-list.js x: 64 lines of code y: 14 # changes kahuna/public/js/services/image/usages.js x: 91 lines of code y: 39 # changes media-api/app/lib/UsageStore.scala x: 188 lines of code y: 37 # changes media-api/app/lib/elasticsearch/ElasticSearchModel.scala x: 252 lines of code y: 62 # changes media-api/app/lib/elasticsearch/HybridResult.scala x: 112 lines of code y: 9 # changes metadata-editor/app/controllers/EditsController.scala x: 182 lines of code y: 128 # changes metadata-editor/app/controllers/SyndicationController.scala x: 58 lines of code y: 8 # changes metadata-editor/app/lib/Syndication.scala x: 142 lines of code y: 27 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PandaAuthenticationProvider.scala x: 135 lines of code y: 28 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/Permissions.scala x: 12 lines of code y: 10 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PermissionsAuthorisationProvider.scala x: 54 lines of code y: 26 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/BulkRemoveFromCollection.scala x: 40 lines of code y: 2 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/EnactS3Changes.scala x: 175 lines of code y: 11 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/LoadFromS3Bucket.scala x: 45 lines of code y: 11 # changes thrall/app/ThrallComponents.scala x: 78 lines of code y: 132 # changes thrall/app/controllers/ReaperController.scala x: 202 lines of code y: 57 # changes thrall/app/lib/SyncChecker.scala x: 112 lines of code y: 17 # changes thrall/app/lib/ThrallConfig.scala x: 69 lines of code y: 73 # changes thrall/app/lib/elasticsearch/GoodToGoCheck.scala x: 88 lines of code y: 20 # changes thrall/app/views/migrationFailures.scala.html x: 90 lines of code y: 21 # changes thrall/app/views/restoreFromReplica.scala.html x: 30 lines of code y: 8 # changes thrall/app/views/upsertProject.scala.html x: 32 lines of code y: 9 # changes usage/app/lib/ContentApis.scala x: 57 lines of code y: 13 # changes usage/app/lib/UsageConfig.scala x: 64 lines of code y: 38 # changes usage/app/model/UsageRecord.scala x: 132 lines of code y: 44 # changes usage/app/model/UsageTable.scala x: 144 lines of code y: 48 # changes media-api/app/lib/UsageQuota.scala x: 35 lines of code y: 31 # changes cropper/app/lib/CropStore.scala x: 67 lines of code y: 33 # changes metadata-editor/app/lib/MetadataSqsMessageConsumer.scala x: 15 lines of code y: 9 # changes kahuna/public/js/services/api/media-api.js x: 106 lines of code y: 97 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfigWithElastic.scala x: 27 lines of code y: 22 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchConfig.scala x: 2 lines of code y: 16 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/Mappings.scala x: 336 lines of code y: 193 # changes kahuna/public/js/components/gr-chips/gr-chips.js x: 166 lines of code y: 23 # changes media-api/app/controllers/ConfigurationController.scala x: 7 lines of code y: 6 # changes media-api/app/lib/crops/CropOption.scala x: 12 lines of code y: 5 # changes media-api/app/lib/querysyntax/QuerySyntax.scala x: 222 lines of code y: 92 # changes media-api/app/lib/querysyntax/model.scala x: 23 lines of code y: 31 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/EsScript.scala x: 354 lines of code y: 69 # changes thrall/app/lib/elasticsearch/ElasticSearch.scala x: 678 lines of code y: 119 # changes kahuna/public/js/search/structured-query/syntax.ts x: 96 lines of code y: 10 # changes auth/app/auth/AuthController.scala x: 123 lines of code y: 42 # changes cdk/lib/image-embedder-lambda.ts x: 201 lines of code y: 50 # changes collections/app/controllers/ImageCollectionsController.scala x: 59 lines of code y: 45 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/ImageStorage.scala x: 29 lines of code y: 29 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/RedundantTokenRemover.scala x: 55 lines of code y: 31 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/PersistedQueries.scala x: 39 lines of code y: 17 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metrics/FutureSyntax.scala x: 21 lines of code y: 16 # changes common-lib/src/main/scala/com/gu/mediaservice/model/Embedding.scala x: 22 lines of code y: 12 # changes common-lib/src/main/scala/com/gu/mediaservice/model/Image.scala x: 148 lines of code y: 64 # changes common-lib/src/main/scala/com/gu/mediaservice/model/ThrallMessage.scala x: 109 lines of code y: 46 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/MediaUsage.scala x: 63 lines of code y: 23 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/Usage.scala x: 55 lines of code y: 23 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageReferenceType.scala x: 33 lines of code y: 12 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageStatus.scala x: 42 lines of code y: 26 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageType.scala x: 30 lines of code y: 11 # changes dev/cloudformation/grid-dev-core.yml x: 328 lines of code y: 37 # changes dev/script/generate-config/config.json5 x: 51 lines of code y: 11 # changes image-embedder-lambda/src/backfiller/backfiller.ts x: 105 lines of code y: 15 # changes image-embedder-lambda/src/backfiller/elasticSearch.ts x: 69 lines of code y: 13 # changes image-embedder-lambda/src/backfiller/freeImagesFilter.ts x: 549 lines of code y: 4 # changes image-embedder-lambda/src/embedder/constants.ts x: 3 lines of code y: 10 # changes image-embedder-lambda/src/embedder/embedder.ts x: 177 lines of code y: 17 # changes image-embedder-lambda/src/embedder/imageEmbedder.ts x: 63 lines of code y: 12 # changes image-embedder-lambda/src/embedder/imageResolver.ts x: 155 lines of code y: 13 # changes image-embedder-lambda/src/embedder/localRun.ts x: 191 lines of code y: 13 # changes image-embedder-lambda/src/embedder/models.ts x: 5 lines of code y: 10 # changes image-embedder-lambda/src/embedder/resizeImage.ts x: 50 lines of code y: 7 # changes image-embedder-lambda/src/embedder/s3Fetcher.ts x: 44 lines of code y: 7 # changes image-embedder-lambda/src/embedder/s3VectorStore.ts x: 40 lines of code y: 10 # changes image-embedder-lambda/src/embedder/thrallEventPublisher.ts x: 114 lines of code y: 12 # changes image-loader/app/lib/ImageLoaderConfig.scala x: 33 lines of code y: 58 # changes image-loader/app/model/upload/OptimiseOps.scala x: 45 lines of code y: 19 # changes image-loader/app/model/upload/UploadRequest.scala x: 22 lines of code y: 15 # changes kahuna/public/js/components/gr-archiver-status/gr-archiver-status.js x: 69 lines of code y: 21 # changes kahuna/public/js/components/gr-cql-input/syntax.ts x: 83 lines of code y: 7 # changes kahuna/public/js/components/gr-icon/gr-icon.css x: 58 lines of code y: 19 # changes kahuna/public/js/image/service.js x: 42 lines of code y: 58 # changes kahuna/public/js/preview/image.html x: 177 lines of code y: 163 # changes kahuna/public/js/search/structured-query/query-suggestions.ts x: 274 lines of code y: 8 # changes kahuna/public/js/util/get-deleted-state.js x: 21 lines of code y: 5 # changes media-api/app/lib/ImageExtras.scala x: 79 lines of code y: 44 # changes media-api/app/lib/ImagePersistenceReasons.scala x: 103 lines of code y: 17 # changes media-api/app/lib/MediaApiMetrics.scala x: 31 lines of code y: 25 # changes media-api/app/lib/elasticsearch/IsQueryFilter.scala x: 65 lines of code y: 34 # changes media-api/app/lib/elasticsearch/SearchFilters.scala x: 64 lines of code y: 122 # changes media-api/app/lib/querysyntax/Parser.scala x: 24 lines of code y: 15 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/Authorisation.scala x: 75 lines of code y: 29 # changes thrall/app/lib/ThrallMetrics.scala x: 25 lines of code y: 39 # changes thrall/app/lib/kinesis/MessageProcessor.scala x: 189 lines of code y: 128 # changes usage/app/model/UsageGroup.scala x: 246 lines of code y: 70 # changes kahuna/public/js/components/gr-sort-control/gr-sort-control-config.ts x: 44 lines of code y: 22 # changes collections/app/CollectionsComponents.scala x: 18 lines of code y: 19 # changes collections/app/controllers/CollectionsController.scala x: 169 lines of code y: 47 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/collections/CollectionsManager.scala x: 45 lines of code y: 30 # changes common-lib/src/main/scala/com/gu/mediaservice/model/Collection.scala x: 30 lines of code y: 37 # changes image-loader/app/lib/QuarantineStore.scala x: 4 lines of code y: 8 # changes kahuna/public/js/components/gr-chips/gr-text-chip.html x: 10 lines of code y: 17 # changes kahuna/public/js/components/gr-chips/gr-text-chip.js x: 95 lines of code y: 14 # changes kahuna/public/js/search/structured-query/structured-query.js x: 96 lines of code y: 33 # changes kahuna/public/js/sentry/sentry.js x: 55 lines of code y: 20 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/filters.scala x: 59 lines of code y: 12 # changes kahuna/public/js/components/gr-cql-input/gr-cql-input.ts x: 106 lines of code y: 7 # changes kahuna/public/js/components/gr-notifications-banner/gr-notifications-banner.tsx x: 228 lines of code y: 12 # changes kahuna/public/js/components/gr-panel-button/gr-panel-button.js x: 75 lines of code y: 22 # changes kahuna/public/js/components/gr-panels/gr-panels.js x: 91 lines of code y: 19 # changes kahuna/public/js/components/gr-tab-swap/gr-tab-swap.tsx x: 94 lines of code y: 6 # changes kahuna/public/js/search/syntax/syntax.html x: 178 lines of code y: 40 # changes kahuna/public/js/components/gr-cql-input/theme.ts x: 37 lines of code y: 3 # changes kahuna/public/js/components/gr-tooltip/gr-tooltip.js x: 36 lines of code y: 17 # changes kahuna/public/js/leases/leases.html x: 150 lines of code y: 48 # changes kahuna/public/js/leases/leases.js x: 267 lines of code y: 51 # changes media-api/app/controllers/SuggestionController.scala x: 39 lines of code y: 44 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/play/RequestLoggingFilter.scala x: 77 lines of code y: 16 # changes kahuna/public/js/leases/leases.css x: 140 lines of code y: 17 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/im4jwrapper/ImageMagick.scala x: 100 lines of code y: 40 # changes common-lib/src/main/scala/com/gu/mediaservice/model/Asset.scala x: 106 lines of code y: 21 # changes cropper/app/controllers/CropperController.scala x: 185 lines of code y: 49 # changes cropper/app/lib/CropSpecMetadata.scala x: 42 lines of code y: 6 # changes cropper/app/lib/Crops.scala x: 118 lines of code y: 75 # changes cropper/app/model/ExportRequest.scala x: 45 lines of code y: 15 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/logging/Stopwatch.scala x: 55 lines of code y: 12 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/ImageMetadataConverter.scala x: 141 lines of code y: 62 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/MetadataCleaner.scala x: 27 lines of code y: 38 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/UsageRightsConfig.scala x: 176 lines of code y: 67 # changes kahuna/public/js/components/gr-collections-panel/gr-collections-panel-node.html x: 79 lines of code y: 43 # changes metadata-editor/app/model/UsageRightsProperty.scala x: 113 lines of code y: 58 # changes media-api/app/lib/elasticsearch/sorts.scala x: 23 lines of code y: 22 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/BaseControllerWithLoginRedirects.scala x: 34 lines of code y: 10 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/provider/AuthenticationStatus.scala x: 10 lines of code y: 6 # changes common-lib/src/main/resources/logback.xml x: 40 lines of code y: 22 # changes usage/app/lib/CrierEventProcessor.scala x: 155 lines of code y: 26 # changes kahuna/public/js/image/index.js x: 52 lines of code y: 40 # changes kahuna/public/js/components/gr-radio-list/gr-radio-list.css x: 52 lines of code y: 6 # changes scripts/src/main/scala/com/gu/mediaservice/lib/JsonValueCodecJsValue.scala x: 88 lines of code y: 8 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/BackfillEditLastModified.scala x: 165 lines of code y: 8 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/BucketMetadata.scala x: 55 lines of code y: 10 # changes kahuna/public/js/usage-rights/usage-rights-editor.js x: 220 lines of code y: 64 # changes metadata-editor/app/controllers/EditsApi.scala x: 81 lines of code y: 66 # changes metadata-editor/app/lib/EditsConfig.scala x: 17 lines of code y: 24 # changes auth/app/auth/AuthConfig.scala x: 6 lines of code y: 17 # changes collections/app/lib/CollectionsConfig.scala x: 7 lines of code y: 18 # changes collections/app/lib/CollectionsMetrics.scala x: 13 lines of code y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/ThrallMessageSender.scala x: 83 lines of code y: 34 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/ReapableEligibiltyResources.scala x: 4 lines of code y: 7 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/DomainMetadataSpec.scala x: 43 lines of code y: 8 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/ProviderLoader.scala x: 172 lines of code y: 10 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MigrationStatusProvider.scala x: 72 lines of code y: 20 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/logging/MarkerUtils.scala x: 25 lines of code y: 12 # changes common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadataAggregator.scala x: 86 lines of code y: 7 # changes common-lib/src/main/scala/com/gu/mediaservice/model/SyndicationRights.scala x: 75 lines of code y: 24 # changes common-lib/src/main/scala/com/gu/mediaservice/syntax/package.scala x: 6 lines of code y: 14 # changes cropper/app/lib/CropperConfig.scala x: 14 lines of code y: 20 # changes kahuna/app/lib/AnnouncementsConfig.scala x: 54 lines of code y: 8 # changes kahuna/app/lib/MetadataTemplateConfig.scala x: 98 lines of code y: 16 # changes kahuna/public/js/components/gr-info-panel/gr-info-panel.js x: 56 lines of code y: 22 # changes kahuna/public/js/components/gr-metadata-validity/gr-metadata-validity.html x: 39 lines of code y: 27 # changes kahuna/public/js/components/gr-metadata-validity/gr-metadata-validity.js x: 50 lines of code y: 25 # changes kahuna/public/js/upload/manager.js x: 132 lines of code y: 38 # changes leases/app/controllers/MediaLeaseController.scala x: 136 lines of code y: 30 # changes leases/app/lib/LeaseNotifier.scala x: 26 lines of code y: 31 # changes leases/app/lib/LeasesConfig.scala x: 15 lines of code y: 16 # changes metadata-editor/app/MetadataEditorComponents.scala x: 23 lines of code y: 27 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/management/InnerServiceStatusCheckController.scala x: 58 lines of code y: 10 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/BulkDeleteS3Files.scala x: 60 lines of code y: 6 # changes thrall/app/lib/MigrationSourceWithSender.scala x: 100 lines of code y: 45 # changes thrall/app/lib/ThrallStreamProcessor.scala x: 99 lines of code y: 50 # changes thrall/app/lib/elasticsearch/EsInfo.scala x: 19 lines of code y: 14 # changes thrall/app/lib/elasticsearch/ThrallMigrationClient.scala x: 164 lines of code y: 42 # changes thrall/app/lib/kinesis/ThrallEventConsumer.scala x: 117 lines of code y: 68 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/ImageFields.scala x: 63 lines of code y: 18 # changes common-lib/src/main/scala/com/gu/mediaservice/model/ImageMetadata.scala x: 97 lines of code y: 47 # changes media-api/app/lib/elasticsearch/MatchFields.scala x: 14 lines of code y: 15 # changes kahuna/public/js/components/gr-feature-switch-panel/gr-feature-switch-panel.tsx x: 117 lines of code y: 8 # changes kahuna/public/js/components/gr-feature-switch-panel/gr-feature-switch-panel.module.css x: 85 lines of code y: 5 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/play/GridComponents.scala x: 52 lines of code y: 16 # changes usage/app/UsageComponents.scala x: 33 lines of code y: 27 # changes kahuna/public/js/components/gr-image-usage-photosales/gr-image-usage-photosales.css x: 17 lines of code y: 2 # changes dev/oidc-provider/find-account.js x: 38 lines of code y: 4 # changes kahuna/public/js/components/gr-image-cost-message/gr-image-cost-message.js x: 40 lines of code y: 12 # changes kahuna/public/js/usage-rights/usage-rights-editor.html x: 199 lines of code y: 69 # changes image-counter-lambda/src/handler.ts x: 51 lines of code y: 9 # changes kahuna/public/js/components/gr-panels/gr-panels.css x: 55 lines of code y: 19 # changes kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.tsx x: 121 lines of code y: 4 # changes common-lib/src/main/scala/com/gu/mediaservice/syntax/MessageSubjects.scala x: 23 lines of code y: 25 # changes kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.css x: 75 lines of code y: 2 # changes kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter-config.ts x: 85 lines of code y: 3 # changes kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.css x: 77 lines of code y: 6 # changes kahuna/public/js/components/gr-permissions-filter/gr-toggle-switch.css x: 96 lines of code y: 6 # changes kahuna/public/js/search/view.html x: 37 lines of code y: 61 # changes kahuna/public/js/components/gr-notifications-banner/gr-notifications-banner.css x: 78 lines of code y: 4 # changes kahuna/public/js/edits/list-editor-compact.html x: 15 lines of code y: 12 # changes thrall/app/lib/kinesis/MessageTranslator.scala x: 83 lines of code y: 22 # changes kahuna/public/js/upload/dnd-uploader.js x: 188 lines of code y: 46 # changes kahuna/public/js/upload/file-uploader.js x: 32 lines of code y: 22 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/ReapableEligibilityLoader.scala x: 4 lines of code y: 3 # changes kahuna/public/js/components/gr-add-keyword/gr-add-keyword.css x: 24 lines of code y: 3 # changes kahuna/public/js/components/gr-add-keyword/gr-add-keyword.html x: 48 lines of code y: 3 # changes kahuna/public/js/components/gr-add-keyword/gr-add-keyword.js x: 105 lines of code y: 3 # changes thrall/public/stylesheets/main.css x: 36 lines of code y: 15 # changes media-api/app/lib/elasticsearch/SyndicationFilter.scala x: 113 lines of code y: 27 # changes kahuna/public/js/components/gr-panel-button/gr-panel-button-small.html x: 49 lines of code y: 21 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/Services.scala x: 78 lines of code y: 58 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/formatting/package.scala x: 30 lines of code y: 21 # changes kahuna/public/js/edits/service.js x: 195 lines of code y: 70 # changes kahuna/public/js/metadata-templates/metadata-templates.js x: 189 lines of code y: 17 # changes kahuna/public/js/util/batch-tracking.js x: 39 lines of code y: 23 # changes thrall/app/views/migrationFailuresOverview.scala.html x: 57 lines of code y: 5 # changes thrall/app/views/previewUpsertProject.scala.html x: 29 lines of code y: 2 # changes kahuna/public/js/components/gr-syndication-rights/gr-syndication-rights.js x: 33 lines of code y: 6 # changes kahuna/public/js/components/gu-date-range/gu-date-range.html x: 90 lines of code y: 31 # changes kahuna/public/js/errors/global.js x: 80 lines of code y: 21 # changes kahuna/public/js/forms/datalist.js x: 131 lines of code y: 32 # changes kahuna/public/js/upload/recent/recent-uploads.js x: 71 lines of code y: 11 # changes kahuna/public/js/services/api/leases.js x: 173 lines of code y: 23 # changes kahuna/public/js/upload/jobs/upload-jobs.html x: 43 lines of code y: 55 # changes kahuna/public/js/errors/global.html x: 51 lines of code y: 37 # changes usage/app/lib/UsageRecorder.scala x: 118 lines of code y: 64 # changes kahuna/public/js/components/gr-image-metadata/gr-image-metadata.css x: 28 lines of code y: 16 # changes common-lib/src/main/scala/com/gu/mediaservice/ImageDataMerger.scala x: 68 lines of code y: 16 # changes kahuna/public/js/components/gr-chips/gr-chips.css x: 77 lines of code y: 10 # changes kahuna/public/js/components/gr-archiver/gr-archiver.css x: 31 lines of code y: 13 # changes kahuna/public/js/components/gr-archiver/gr-archiver.html x: 44 lines of code y: 20 # changes kahuna/public/js/components/gr-crop-image/gr-crop-image.html x: 18 lines of code y: 26 # changes kahuna/public/js/services/image/downloads.js x: 83 lines of code y: 16 # changes kahuna/public/js/components/gu-date/gu-date.js x: 87 lines of code y: 10 # changes kahuna/public/js/components/gr-add-label/gr-add-label.html x: 48 lines of code y: 33 # changes kahuna/public/js/components/gr-confirm-delete/gr-confirm-delete.js x: 29 lines of code y: 30 # changes kahuna/public/js/upload/file-uploader.html x: 13 lines of code y: 22 # changes kahuna/public/js/upload/recent/recent-uploads.html x: 16 lines of code y: 8 # changes kahuna/public/js/edits/index.js x: 5 lines of code y: 21 # changes kahuna/public/js/services/image-accessor.js x: 81 lines of code y: 33 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/IndexSettings.scala x: 46 lines of code y: 16 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/EsImageMetadata.scala x: 137 lines of code y: 5 # changes thrall/app/controllers/HealthCheck.scala x: 29 lines of code y: 33 # changes kahuna/public/js/services/api/media-cropper.js x: 54 lines of code y: 42 # changes cropper/app/CropperComponents.scala x: 18 lines of code y: 22 # changes metadata-editor/app/lib/SyndicationStore.scala x: 4 lines of code y: 4 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/ProposeS3Changes.scala x: 219 lines of code y: 2 # changes common-lib/src/main/scala/com/gu/mediaservice/JsonDiff.scala x: 46 lines of code y: 3 # changes quarantine-status/lambda/quarantine-status-lambda.py x: 58 lines of code y: 3 # changes quarantine-status/stacks/lambda.yml x: 100 lines of code y: 4 # changes kahuna/public/js/components/gu-lazy-table/gu-lazy-table.js x: 262 lines of code y: 29 # changes kahuna/public/js/services/archive.js x: 54 lines of code y: 15 # changes kahuna/public/js/services/label.js x: 86 lines of code y: 22 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/auth/ApiAccessor.scala x: 29 lines of code y: 6 # changes kahuna/public/js/components/gr-add-label/gr-add-label.js x: 77 lines of code y: 24 # changes kahuna/public/js/services/api/collections-api.js x: 146 lines of code y: 33 # changes scripts/src/main/java/com/gu/typesafe/config/Config.java x: 66 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/ConfigException.java x: 277 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/ConfigFactory.java x: 293 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/AbstractConfigObject.java x: 143 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/AbstractConfigValue.java x: 279 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigBeanImpl.java x: 245 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMerge.java x: 256 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMergeObject.java x: 233 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDocumentParser.java x: 576 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigImpl.java x: 422 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigNodeField.java x: 65 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigNodeObject.java x: 241 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigNumber.java x: 79 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigParser.java x: 330 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ConfigReference.java x: 119 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/DefaultTransformer.java x: 94 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/Parseable.java x: 643 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/Path.java x: 177 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/PathParser.java x: 207 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/PropertiesParser.java x: 154 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/ResolveSource.java x: 269 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/SerializedConfigValue.java x: 440 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfig.java x: 940 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigList.java x: 372 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigObject.java x: 542 lines of code y: 3 # changes scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigOrigin.java x: 472 lines of code y: 2 # changes scripts/src/main/java/com/gu/typesafe/config/impl/Tokenizer.java x: 558 lines of code y: 2 # changes usage/app/lib/UsageMetadataBuilder.scala x: 27 lines of code y: 20 # changes collections/app/lib/Notifications.scala x: 3 lines of code y: 14 # changes image-loader/app/lib/Notifications.scala x: 3 lines of code y: 11 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageTableFullKey.scala x: 18 lines of code y: 1 # changes common-lib/src/main/scala/com/gu/mediaservice/model/leases/MediaLease.scala x: 71 lines of code y: 15 # changes scripts/sample-images/index.js x: 49 lines of code y: 1 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/Subject.scala x: 62 lines of code y: 7 # changes kahuna/public/js/components/gr-collections-panel/gr-collections-panel.css x: 71 lines of code y: 36 # changes kahuna/public/js/services/panel.js x: 51 lines of code y: 15 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model/EntityResponse.scala x: 19 lines of code y: 1 # changes kahuna/public/js/search-query/query-syntax.js x: 32 lines of code y: 15 # changes kahuna/public/js/components/gr-chips/gr-chip-input.js x: 132 lines of code y: 4 # changes collections/app/model/Node.scala x: 41 lines of code y: 20 # changes kahuna/public/js/services/preset-label.js x: 29 lines of code y: 5 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/resource/FutureResources.scala x: 13 lines of code y: 1 # changes
446.0
# changes
  min: 1.0
  average: 22.5
  25th percentile: 4.0
  median: 10.0
  75th percentile: 23.0
  max: 446.0
0 2605.0
lines of code
min: 1.0 | average: 80.47 | 25th percentile: 16.0 | median: 40.0 | 75th percentile: 85.0 | max: 2605.0

Number of Contributors vs. Number of Changes: 811 points

kahuna/public/js/components/gr-my-uploads/gr-my-uploads.tsx x: 6 # contributors y: 16 # changes kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.tsx x: 8 # contributors y: 23 # changes kahuna/public/js/takedown/crops-and-usages.tsx x: 4 # contributors y: 5 # changes kahuna/public/js/takedown/delete-from-grid-step.tsx x: 6 # contributors y: 10 # changes kahuna/public/js/search/index.js x: 34 # contributors y: 161 # changes kahuna/public/js/search/query.js x: 36 # contributors y: 171 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/DateTimeUtils.scala x: 9 # contributors y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessors.scala x: 35 # contributors y: 196 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfig.scala x: 37 # contributors y: 143 # changes dev/oidc-provider/app.js x: 14 # contributors y: 21 # changes dev/script/generate-config/service-config.js x: 28 # contributors y: 115 # changes kahuna/app/KahunaComponents.scala x: 21 # contributors y: 65 # changes kahuna/app/lib/KahunaConfig.scala x: 35 # contributors y: 122 # changes kahuna/app/views/main.scala.html x: 49 # contributors y: 188 # changes kahuna/public/js/common/user-actions.html x: 26 # contributors y: 40 # changes kahuna/public/js/common/user-actions.js x: 16 # contributors y: 25 # changes kahuna/public/js/components/gr-top-bar/gr-top-bar.js x: 16 # contributors y: 23 # changes kahuna/public/js/edits/image-editor.html x: 34 # contributors y: 149 # changes kahuna/public/js/forms/datalist.html x: 12 # contributors y: 23 # changes kahuna/public/js/image/controller.js x: 42 # contributors y: 217 # changes kahuna/public/js/image/view.html x: 35 # contributors y: 220 # changes kahuna/public/js/main.js x: 34 # contributors y: 162 # changes kahuna/public/js/search/results.html x: 33 # contributors y: 221 # changes kahuna/public/js/search/results.js x: 35 # contributors y: 257 # changes kahuna/public/js/services/telemetry.ts x: 10 # contributors y: 23 # changes kahuna/public/js/takedown/controller.ts x: 4 # contributors y: 8 # changes kahuna/public/js/takedown/delete-from-content-step.tsx x: 4 # contributors y: 7 # changes kahuna/public/js/takedown/index.ts x: 4 # contributors y: 9 # changes kahuna/public/js/types/image.ts x: 4 # contributors y: 11 # changes kahuna/public/js/upload/controller.js x: 19 # contributors y: 53 # changes kahuna/public/js/upload/dnd-uploader.html x: 10 # contributors y: 12 # changes kahuna/public/js/upload/jobs/upload-jobs.js x: 20 # contributors y: 81 # changes kahuna/public/js/upload/prompt/prompt.html x: 13 # contributors y: 19 # changes kahuna/public/js/upload/prompt/prompt.js x: 12 # contributors y: 19 # changes kahuna/public/js/util/default-non-free-filter.js x: 4 # contributors y: 3 # changes kahuna/public/js/window.ts x: 13 # contributors y: 32 # changes kahuna/public/stylesheets/main.css x: 53 # contributors y: 446 # changes media-api/app/MediaApiComponents.scala x: 28 # contributors y: 102 # changes media-api/app/controllers/MediaApi.scala x: 52 # contributors y: 425 # changes media-api/app/controllers/UsageController.scala x: 15 # contributors y: 42 # changes media-api/app/lib/ContentApi.scala x: 3 # contributors y: 3 # changes media-api/app/lib/ImageResponse.scala x: 49 # contributors y: 207 # changes media-api/app/lib/MediaApiConfig.scala x: 32 # contributors y: 108 # changes media-api/app/lib/elasticsearch/ElasticSearch.scala x: 48 # contributors y: 297 # changes riff-raff.yaml x: 25 # contributors y: 71 # changes usage/app/controllers/UsageApi.scala x: 35 # contributors y: 101 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/FieldAlias.scala x: 10 # contributors y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MappingTest.scala x: 19 # contributors y: 44 # changes common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadata.scala x: 20 # contributors y: 36 # changes image-loader/app/lib/imaging/FileMetadataReader.scala x: 31 # contributors y: 91 # changes kahuna/public/js/components/gr-collections-panel/gr-collections-panel.js x: 20 # contributors y: 57 # changes kahuna/public/js/components/gr-display-crops/gr-display-crops.css x: 7 # contributors y: 8 # changes kahuna/public/js/components/gr-display-crops/gr-display-crops.html x: 14 # contributors y: 18 # changes kahuna/public/js/components/gr-image-metadata/gr-image-metadata.html x: 42 # contributors y: 166 # changes kahuna/public/js/components/gr-image-metadata/gr-image-metadata.js x: 31 # contributors y: 114 # changes kahuna/public/js/components/gr-photoshoot/gr-photoshoot.js x: 11 # contributors y: 17 # changes kahuna/public/js/components/gr-preset-labels/gr-preset-labels.js x: 17 # contributors y: 22 # changes kahuna/public/js/components/gr-sort-control/base-sort-control.tsx x: 7 # contributors y: 11 # changes kahuna/public/js/components/gr-sort-control/gr-extended-sort-control.tsx x: 5 # contributors y: 8 # changes kahuna/public/js/components/gr-sort-control/gr-sort-control.tsx x: 9 # contributors y: 34 # changes kahuna/public/js/components/gu-date-range/gu-date-range.js x: 17 # contributors y: 34 # changes kahuna/public/js/edits/image-editor.js x: 26 # contributors y: 91 # changes kahuna/public/js/edits/list-editor.js x: 12 # contributors y: 25 # changes kahuna/public/js/preview/image.js x: 36 # contributors y: 142 # changes kahuna/public/js/search/query-filter.js x: 17 # contributors y: 41 # changes kahuna/public/js/search/query.html x: 35 # contributors y: 125 # changes kahuna/public/js/upload/view.html x: 23 # contributors y: 69 # changes media-api/app/lib/elasticsearch/QueryBuilder.scala x: 32 # contributors y: 65 # changes .devcontainer/devenv.yaml x: 3 # contributors y: 7 # changes collections/app/store/CollectionsStore.scala x: 16 # contributors y: 36 # changes common-lib/src/main/scala/com/gu/mediaservice/GridClient.scala x: 14 # contributors y: 35 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/AttributeValueConverterProvider.scala x: 3 # contributors y: 4 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/ImageIngestOperations.scala x: 19 # contributors y: 49 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/S3ImageStorage.scala x: 23 # contributors y: 52 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/VectorUtils.scala x: 3 # contributors y: 8 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model/CollectionResponse.scala x: 5 # contributors y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/auth/KeyStore.scala x: 12 # contributors y: 32 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/AwsClientBuilderUtils.scala x: 8 # contributors y: 18 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Bedrock.scala x: 4 # contributors y: 27 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/DynamoDB.scala x: 23 # contributors y: 96 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/EC2MetadataUtils.scala x: 2 # contributors y: 2 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Embedder.scala x: 4 # contributors y: 36 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Kinesis.scala x: 15 # contributors y: 36 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3.scala x: 33 # contributors y: 118 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3Vectors.scala x: 4 # contributors y: 32 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SNS.scala x: 11 # contributors y: 19 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SimpleSqsMessageConsumer.scala x: 9 # contributors y: 28 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsHelpers.scala x: 4 # contributors y: 15 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsViaSnsMessageConsumer.scala x: 8 # contributors y: 20 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/PhotographerRenamer.scala x: 14 # contributors y: 73 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchClient.scala x: 30 # contributors y: 77 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/guardian/GuardianUsageRightsConfig.scala x: 10 # contributors y: 41 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/logging/LogConfig.scala x: 11 # contributors y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/SoftDeletedMetadataTable.scala x: 6 # contributors y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metrics/CloudWatchMetrics.scala x: 15 # contributors y: 35 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/usage/ItemToMediaUsage.scala x: 13 # contributors y: 26 # changes common-lib/src/main/scala/com/gu/mediaservice/model/UsageRights.scala x: 28 # contributors y: 124 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/ChildUsageMetadata.scala x: 5 # contributors y: 10 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/DownloadUsageMetadata.scala x: 5 # contributors y: 6 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/PrintUsageMetadata.scala x: 15 # contributors y: 27 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/SyndicationUsageMetadata.scala x: 8 # contributors y: 13 # changes image-loader/app/ImageLoaderComponents.scala x: 22 # contributors y: 78 # changes image-loader/app/controllers/ImageLoaderController.scala x: 25 # contributors y: 141 # changes image-loader/app/lib/ImageLoaderStore.scala x: 8 # contributors y: 37 # changes image-loader/app/lib/UploadStatusTable.scala x: 12 # contributors y: 17 # changes image-loader/app/model/Projector.scala x: 12 # contributors y: 72 # changes image-loader/app/model/Uploader.scala x: 17 # contributors y: 100 # changes kahuna/app/controllers/KahunaController.scala x: 30 # contributors y: 86 # changes kahuna/app/lib/FeatureSwitch.scala x: 9 # contributors y: 29 # changes kahuna/public/js/components/gr-downloader/gr-downloader.html x: 24 # contributors y: 39 # changes kahuna/public/js/components/gr-downloader/gr-downloader.js x: 23 # contributors y: 37 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage-list.html x: 20 # contributors y: 32 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage.css x: 11 # contributors y: 15 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage.html x: 18 # contributors y: 30 # changes kahuna/public/js/components/gr-image-usage/gr-image-usage.js x: 18 # contributors y: 40 # changes kahuna/public/js/components/gr-sort-control/gr-sort-control.css x: 7 # contributors y: 15 # changes kahuna/public/js/components/gr-usagerights-summary/gr-usagerights-summary.tsx x: 6 # contributors y: 6 # changes kahuna/public/js/components/gu-date-range/gu-date-range.css x: 12 # contributors y: 21 # changes kahuna/public/js/crop/controller.js x: 26 # contributors y: 96 # changes kahuna/public/js/crop/index.js x: 17 # contributors y: 39 # changes kahuna/public/js/crop/view.html x: 30 # contributors y: 113 # changes kahuna/public/js/services/image-list.js x: 12 # contributors y: 14 # changes kahuna/public/js/services/image/usages.js x: 22 # contributors y: 39 # changes kahuna/public/js/upload/controller.css x: 5 # contributors y: 5 # changes media-api/app/lib/UsageStore.scala x: 16 # contributors y: 37 # changes media-api/app/lib/elasticsearch/ElasticSearchModel.scala x: 16 # contributors y: 62 # changes media-api/app/lib/elasticsearch/HybridResult.scala x: 3 # contributors y: 9 # changes metadata-editor/app/controllers/EditsController.scala x: 30 # contributors y: 128 # changes metadata-editor/app/controllers/SyndicationController.scala x: 6 # contributors y: 8 # changes metadata-editor/app/lib/Syndication.scala x: 6 # contributors y: 27 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PandaAuthenticationProvider.scala x: 11 # contributors y: 28 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PermissionsAuthorisationProvider.scala x: 15 # contributors y: 26 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/EnactS3Changes.scala x: 8 # contributors y: 11 # changes thrall/app/ThrallComponents.scala x: 25 # contributors y: 132 # changes thrall/app/controllers/ReaperController.scala x: 10 # contributors y: 57 # changes thrall/app/controllers/ThrallController.scala x: 14 # contributors y: 62 # changes thrall/app/lib/SyncChecker.scala x: 5 # contributors y: 17 # changes thrall/app/lib/ThrallConfig.scala x: 21 # contributors y: 73 # changes thrall/app/lib/elasticsearch/GoodToGoCheck.scala x: 10 # contributors y: 20 # changes thrall/app/views/index.scala.html x: 9 # contributors y: 40 # changes usage/app/lib/UsageConfig.scala x: 17 # contributors y: 38 # changes usage/app/model/UsageRecord.scala x: 17 # contributors y: 44 # changes usage/app/model/UsageTable.scala x: 20 # contributors y: 48 # changes media-api/app/lib/UsageQuota.scala x: 19 # contributors y: 31 # changes cropper/app/lib/CropStore.scala x: 15 # contributors y: 33 # changes kahuna/public/js/services/api/media-api.js x: 26 # contributors y: 97 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfigWithElastic.scala x: 13 # contributors y: 22 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/Mappings.scala x: 39 # contributors y: 193 # changes kahuna/public/js/components/gr-chips/gr-chips.js x: 9 # contributors y: 23 # changes media-api/app/lib/querysyntax/QuerySyntax.scala x: 22 # contributors y: 92 # changes media-api/app/lib/querysyntax/model.scala x: 13 # contributors y: 31 # changes scripts/src/main/scala/com/gu/mediaservice/scripts/EsScript.scala x: 29 # contributors y: 69 # changes thrall/app/lib/elasticsearch/ElasticSearch.scala x: 23 # contributors y: 119 # changes auth/app/auth/AuthController.scala x: 22 # contributors y: 42 # changes cdk/eslint.config.mjs x: 2 # contributors y: 4 # changes cdk/lib/image-embedder-lambda.ts x: 6 # contributors y: 50 # changes collections/app/controllers/ImageCollectionsController.scala x: 20 # contributors y: 45 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/ImageStorage.scala x: 16 # contributors y: 29 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/RedundantTokenRemover.scala x: 10 # contributors y: 31 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/PersistedQueries.scala x: 8 # contributors y: 17 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ReapableEligibility.scala x: 7 # contributors y: 14 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/usage/UsageBuilder.scala x: 10 # contributors y: 16 # changes common-lib/src/main/scala/com/gu/mediaservice/model/Embedding.scala x: 3 # contributors y: 12 # changes common-lib/src/main/scala/com/gu/mediaservice/model/Image.scala x: 25 # contributors y: 64 # changes common-lib/src/main/scala/com/gu/mediaservice/model/ThrallMessage.scala x: 12 # contributors y: 46 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/MediaUsage.scala x: 14 # contributors y: 23 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/Usage.scala x: 13 # contributors y: 23 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageReferenceType.scala x: 6 # contributors y: 12 # changes dev/cloudformation/grid-dev-core.yml x: 15 # contributors y: 37 # changes image-embedder-lambda/src/backfiller/backfiller.ts x: 3 # contributors y: 15 # changes image-embedder-lambda/src/backfiller/elasticSearch.ts x: 3 # contributors y: 13 # changes image-embedder-lambda/src/embedder/embedder.ts x: 3 # contributors y: 17 # changes image-loader/app/lib/ImageLoaderConfig.scala x: 21 # contributors y: 58 # changes image-loader/app/model/upload/OptimiseOps.scala x: 10 # contributors y: 19 # changes kahuna/public/js/components/gr-icon/gr-icon.css x: 16 # contributors y: 19 # changes kahuna/public/js/components/gr-icon/gr-icon.js x: 17 # contributors y: 26 # changes media-api/app/lib/ImageExtras.scala x: 23 # contributors y: 44 # changes media-api/app/lib/elasticsearch/IsQueryFilter.scala x: 18 # contributors y: 34 # changes media-api/app/lib/elasticsearch/SearchFilters.scala x: 29 # contributors y: 122 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/Authorisation.scala x: 14 # contributors y: 29 # changes thrall/app/lib/kinesis/MessageProcessor.scala x: 25 # contributors y: 128 # changes usage/app/lib/MediaUsageBuilder.scala x: 7 # contributors y: 9 # changes kahuna/public/js/components/gr-sort-control/gr-sort-control-config.ts x: 7 # contributors y: 22 # changes collections/app/controllers/CollectionsController.scala x: 19 # contributors y: 47 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/collections/CollectionsManager.scala x: 11 # contributors y: 30 # changes kahuna/public/js/components/gr-chips/gr-text-chip.html x: 9 # contributors y: 17 # changes kahuna/public/js/sentry/sentry.js x: 9 # contributors y: 20 # changes kahuna/public/js/components/gr-panel-button/gr-panel-button.js x: 12 # contributors y: 22 # changes kahuna/public/js/search/syntax/syntax.html x: 21 # contributors y: 40 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchExecutions.scala x: 11 # contributors y: 23 # changes kahuna/public/js/leases/leases.js x: 21 # contributors y: 51 # changes rest-lib/src/main/scala/com/gu/mediaservice/lib/play/RequestLoggingFilter.scala x: 7 # contributors y: 16 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/ImageOperations.scala x: 22 # contributors y: 69 # changes cropper/app/controllers/CropperController.scala x: 22 # contributors y: 49 # changes cropper/app/lib/Crops.scala x: 25 # contributors y: 75 # changes cropper/app/model/ExportRequest.scala x: 10 # contributors y: 15 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/ImageMetadataConverter.scala x: 20 # contributors y: 62 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/UsageRightsConfig.scala x: 17 # contributors y: 67 # changes kahuna/public/js/components/gr-collections-panel/gr-collections-panel-node.html x: 16 # contributors y: 43 # changes metadata-editor/app/model/UsageRightsProperty.scala x: 22 # contributors y: 58 # changes kahuna/public/js/util/crop.js x: 11 # contributors y: 22 # changes media-api/app/lib/elasticsearch/sorts.scala x: 15 # contributors y: 22 # changes kahuna/public/js/directives/ui-crop-box/cropper-override.css x: 7 # contributors y: 20 # changes usage/app/lib/CrierEventProcessor.scala x: 6 # contributors y: 26 # changes kahuna/public/js/image/index.js x: 12 # contributors y: 40 # changes kahuna/public/js/usage-rights/usage-rights-editor.js x: 21 # contributors y: 64 # changes metadata-editor/app/controllers/EditsApi.scala x: 17 # contributors y: 66 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/ImageProcessorResources.scala x: 9 # contributors y: 9 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/GridConfigResources.scala x: 10 # contributors y: 8 # changes common-lib/src/main/scala/com/gu/mediaservice/model/leases/LeasesByMedia.scala x: 9 # contributors y: 11 # changes image-loader/app/lib/BodyParsers.scala x: 8 # contributors y: 8 # changes kahuna/public/js/components/gr-info-panel/gr-info-panel.html x: 14 # contributors y: 28 # changes kahuna/public/js/components/gr-metadata-validity/gr-metadata-validity.html x: 17 # contributors y: 27 # changes kahuna/public/js/upload/manager.js x: 13 # contributors y: 38 # changes leases/app/controllers/MediaLeaseController.scala x: 16 # contributors y: 30 # changes leases/app/lib/LeaseNotifier.scala x: 14 # contributors y: 31 # changes metadata-editor/app/MetadataEditorComponents.scala x: 18 # contributors y: 27 # changes thrall/app/lib/MigrationSourceWithSender.scala x: 10 # contributors y: 45 # changes thrall/app/lib/ThrallStreamProcessor.scala x: 14 # contributors y: 50 # changes thrall/app/lib/elasticsearch/ThrallMigrationClient.scala x: 7 # contributors y: 42 # changes thrall/app/lib/kinesis/ThrallEventConsumer.scala x: 15 # contributors y: 68 # changes common-lib/src/main/scala/com/gu/mediaservice/model/ImageMetadata.scala x: 14 # contributors y: 47 # changes usage/app/UsageComponents.scala x: 13 # contributors y: 27 # changes kahuna/public/js/util/constants/sendToCapture-config.js x: 2 # contributors y: 6 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/aws/RoundedExpiration.scala x: 1 # contributors y: 4 # changes kahuna/public/js/components/gr-image-cost-message/gr-image-cost-message.html x: 13 # contributors y: 16 # changes kahuna/public/js/usage-rights/usage-rights-editor.html x: 18 # contributors y: 69 # changes common-lib/src/main/scala/com/gu/mediaservice/syntax/MessageSubjects.scala x: 11 # contributors y: 25 # changes kahuna/public/js/search/view.html x: 18 # contributors y: 61 # changes thrall/app/lib/kinesis/MessageTranslator.scala x: 9 # contributors y: 22 # changes kahuna/public/js/services/api/loader.js x: 7 # contributors y: 25 # changes image-loader/app/lib/Downloader.scala x: 14 # contributors y: 25 # changes kahuna/public/js/upload/dnd-uploader.js x: 15 # contributors y: 46 # changes thrall/app/views/reaper.scala.html x: 2 # contributors y: 9 # changes kahuna/public/js/common/blurring/GNM-explainer.html x: 1 # contributors y: 2 # changes kahuna/public/js/components/gr-panel-button/gr-panel-button-small.html x: 13 # contributors y: 21 # changes common-lib/src/main/scala/com/gu/mediaservice/lib/config/Services.scala x: 19 # contributors y: 58 # changes kahuna/public/js/util/batch-tracking.js x: 7 # contributors y: 23 # changes kahuna/public/js/components/gr-crop-image/gr-crop-image.js x: 15 # contributors y: 24 # changes kahuna/public/js/components/gu-date-range/gu-date-range.html x: 15 # contributors y: 31 # changes kahuna/public/js/forms/datalist.js x: 8 # contributors y: 32 # changes kahuna/public/js/upload/jobs/upload-jobs.html x: 17 # contributors y: 55 # changes usage/app/lib/UsageRecorder.scala x: 20 # contributors y: 64 # changes kahuna/public/js/components/gr-archiver/gr-archiver.html x: 11 # contributors y: 20 # changes kahuna/public/js/services/image/downloads.js x: 14 # contributors y: 16 # changes kahuna/public/js/components/gr-preset-labels/gr-preset-labels.html x: 13 # contributors y: 15 # changes thrall/app/lib/FailedMigrationDetails.scala x: 5 # contributors y: 11 # changes usage/app/lib/UsageNotifier.scala x: 23 # contributors y: 40 # changes thrall/app/controllers/HealthCheck.scala x: 18 # contributors y: 33 # changes kahuna/public/js/util/async.js x: 12 # contributors y: 41 # changes kahuna/public/js/services/api/media-cropper.js x: 14 # contributors y: 42 # changes kahuna/public/js/components/gu-lazy-table/gu-lazy-table.js x: 10 # contributors y: 29 # changes kahuna/public/js/services/archive.js x: 9 # contributors y: 15 # changes kahuna/public/js/services/label.js x: 10 # contributors y: 22 # changes kahuna/public/js/services/api/collections-api.js x: 9 # contributors y: 33 # changes image-loader/app/AppLoader.scala x: 7 # contributors y: 7 # changes common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageTableFullKey.scala x: 1 # contributors y: 1 # changes kahuna/public/js/components/gr-collections-panel/gr-collections-panel.css x: 9 # contributors y: 36 # changes kahuna/public/js/services/panel.js x: 6 # contributors y: 15 # changes kahuna/public/js/upload/index.js x: 4 # contributors y: 16 # changes collections/app/model/Node.scala x: 5 # contributors y: 20 # changes
446.0
# changes
  min: 1.0
  average: 22.5
  25th percentile: 4.0
  median: 10.0
  75th percentile: 23.0
  max: 446.0
0 53.0
# contributors
min: 1.0 | average: 8.55 | 25th percentile: 3.0 | median: 6.0 | 75th percentile: 12.0 | max: 53.0

Number of Contributors vs. File Size: 811 points

kahuna/public/js/components/gr-my-uploads/gr-my-uploads.tsx x: 6 # contributors y: 74 lines of code kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.tsx x: 8 # contributors y: 237 lines of code kahuna/public/js/takedown/crops-and-usages.tsx x: 4 # contributors y: 253 lines of code kahuna/public/js/takedown/delete-from-grid-step.tsx x: 6 # contributors y: 371 lines of code kahuna/public/js/search/index.js x: 34 # contributors y: 283 lines of code kahuna/public/js/search/query.js x: 36 # contributors y: 596 lines of code cdk/lib/image-cache-purger.ts x: 4 # contributors y: 54 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/DateTimeUtils.scala x: 9 # contributors y: 53 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessors.scala x: 35 # contributors y: 515 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfig.scala x: 37 # contributors y: 110 lines of code dev/oidc-provider/app.js x: 14 # contributors y: 19 lines of code dev/script/generate-config/service-config.js x: 28 # contributors y: 256 lines of code image-cache-purger/src/main/scala/com/gu/mediaservice/FastlyApiKeyProvider.scala x: 4 # contributors y: 35 lines of code image-cache-purger/src/main/scala/com/gu/mediaservice/FastlyPurger.scala x: 4 # contributors y: 43 lines of code image-cache-purger/src/main/scala/com/gu/mediaservice/ImageCachePurger.scala x: 4 # contributors y: 62 lines of code kahuna/app/KahunaComponents.scala x: 21 # contributors y: 63 lines of code kahuna/app/lib/KahunaConfig.scala x: 35 # contributors y: 76 lines of code kahuna/app/views/main.scala.html x: 49 # contributors y: 131 lines of code kahuna/public/js/common/user-actions.html x: 26 # contributors y: 47 lines of code kahuna/public/js/common/user-actions.js x: 16 # contributors y: 44 lines of code kahuna/public/js/components/gr-top-bar/gr-top-bar.js x: 16 # contributors y: 37 lines of code kahuna/public/js/edits/image-editor.html x: 34 # contributors y: 314 lines of code kahuna/public/js/forms/datalist.html x: 12 # contributors y: 13 lines of code kahuna/public/js/image/controller.js x: 42 # contributors y: 291 lines of code kahuna/public/js/image/view.html x: 35 # contributors y: 195 lines of code kahuna/public/js/main.js x: 34 # contributors y: 426 lines of code kahuna/public/js/search/results.html x: 33 # contributors y: 240 lines of code kahuna/public/js/search/results.js x: 35 # contributors y: 730 lines of code kahuna/public/js/services/telemetry.ts x: 10 # contributors y: 83 lines of code kahuna/public/js/takedown/controller.ts x: 4 # contributors y: 26 lines of code kahuna/public/js/takedown/delete-from-content-step.tsx x: 4 # contributors y: 218 lines of code kahuna/public/js/takedown/index.ts x: 4 # contributors y: 94 lines of code kahuna/public/js/takedown/takedown-context.tsx x: 4 # contributors y: 204 lines of code kahuna/public/js/takedown/takedown-page.tsx x: 4 # contributors y: 120 lines of code kahuna/public/js/takedown/view.html x: 4 # contributors y: 8 lines of code kahuna/public/js/types/image.ts x: 4 # contributors y: 86 lines of code kahuna/public/js/upload/controller.js x: 19 # contributors y: 59 lines of code kahuna/public/js/upload/dnd-uploader.html x: 10 # contributors y: 11 lines of code kahuna/public/js/upload/jobs/required-metadata-editor.html x: 21 # contributors y: 172 lines of code kahuna/public/js/upload/jobs/upload-jobs.js x: 20 # contributors y: 184 lines of code kahuna/public/js/upload/prompt/prompt.html x: 13 # contributors y: 10 lines of code kahuna/public/js/upload/prompt/prompt.js x: 12 # contributors y: 22 lines of code kahuna/public/js/util/default-non-free-filter.js x: 4 # contributors y: 11 lines of code kahuna/public/js/window.ts x: 13 # contributors y: 53 lines of code kahuna/public/stylesheets/main.css x: 53 # contributors y: 2605 lines of code media-api/app/MediaApiComponents.scala x: 28 # contributors y: 46 lines of code media-api/app/controllers/MediaApi.scala x: 52 # contributors y: 711 lines of code media-api/app/controllers/UsageController.scala x: 15 # contributors y: 111 lines of code media-api/app/lib/ContentApi.scala x: 3 # contributors y: 56 lines of code media-api/app/lib/ImageResponse.scala x: 49 # contributors y: 361 lines of code media-api/app/lib/MediaApiConfig.scala x: 32 # contributors y: 76 lines of code media-api/app/lib/elasticsearch/ElasticSearch.scala x: 48 # contributors y: 581 lines of code media-api/app/models/UsagesInContent.scala x: 3 # contributors y: 19 lines of code riff-raff.yaml x: 25 # contributors y: 203 lines of code usage/app/controllers/UsageApi.scala x: 35 # contributors y: 382 lines of code usage/app/model/DeleteUsagesByIdsRequest.scala x: 3 # contributors y: 6 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/FieldAlias.scala x: 10 # contributors y: 39 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MappingTest.scala x: 19 # contributors y: 248 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadata.scala x: 20 # contributors y: 67 lines of code image-loader/app/lib/imaging/FileMetadataReader.scala x: 31 # contributors y: 222 lines of code kahuna/public/js/components/gr-collections-panel/gr-collections-panel.js x: 20 # contributors y: 255 lines of code kahuna/public/js/components/gr-display-crops/gr-display-crops.css x: 7 # contributors y: 14 lines of code kahuna/public/js/components/gr-display-crops/gr-display-crops.html x: 14 # contributors y: 28 lines of code kahuna/public/js/components/gr-image-metadata/gr-image-metadata.html x: 42 # contributors y: 960 lines of code kahuna/public/js/components/gr-image-metadata/gr-image-metadata.js x: 31 # contributors y: 561 lines of code kahuna/public/js/components/gr-photoshoot/gr-photoshoot.js x: 11 # contributors y: 88 lines of code kahuna/public/js/components/gr-preset-labels/gr-preset-labels.js x: 17 # contributors y: 58 lines of code kahuna/public/js/components/gr-sort-control/base-sort-control.tsx x: 7 # contributors y: 189 lines of code kahuna/public/js/components/gr-sort-control/gr-extended-sort-control.tsx x: 5 # contributors y: 105 lines of code kahuna/public/js/components/gr-sort-control/gr-sort-control.tsx x: 9 # contributors y: 88 lines of code kahuna/public/js/components/gu-date-range/gu-date-range.js x: 17 # contributors y: 150 lines of code kahuna/public/js/edits/image-editor.js x: 26 # contributors y: 379 lines of code kahuna/public/js/edits/list-editor.js x: 12 # contributors y: 182 lines of code kahuna/public/js/preview/image.js x: 36 # contributors y: 161 lines of code kahuna/public/js/search/query-filter.js x: 17 # contributors y: 71 lines of code kahuna/public/js/search/query.html x: 35 # contributors y: 85 lines of code kahuna/public/js/upload/view.html x: 23 # contributors y: 26 lines of code media-api/app/lib/elasticsearch/QueryBuilder.scala x: 32 # contributors y: 188 lines of code .devcontainer/devenv.yaml x: 3 # contributors y: 28 lines of code collections/app/store/CollectionsStore.scala x: 16 # contributors y: 55 lines of code common-lib/src/main/scala/com/gu/mediaservice/GridClient.scala x: 14 # contributors y: 229 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/BaseStore.scala x: 17 # contributors y: 51 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/ImageIngestOperations.scala x: 19 # contributors y: 106 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/S3ImageStorage.scala x: 23 # contributors y: 44 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/VectorUtils.scala x: 3 # contributors y: 40 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model/CollectionResponse.scala x: 5 # contributors y: 47 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/AwsClientBuilderUtils.scala x: 8 # contributors y: 21 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Bedrock.scala x: 4 # contributors y: 79 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/DynamoDB.scala x: 23 # contributors y: 220 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/EC2MetadataUtils.scala x: 2 # contributors y: 8 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Kinesis.scala x: 15 # contributors y: 47 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3.scala x: 33 # contributors y: 194 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3Vectors.scala x: 4 # contributors y: 103 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SNS.scala x: 11 # contributors y: 13 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SimpleSqsMessageConsumer.scala x: 9 # contributors y: 50 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsViaSnsMessageConsumer.scala x: 8 # contributors y: 76 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/PhotographerRenamer.scala x: 14 # contributors y: 635 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchClient.scala x: 30 # contributors y: 168 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/guardian/GuardianUsageRightsConfig.scala x: 10 # contributors y: 633 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/logging/LogConfig.scala x: 11 # contributors y: 103 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/SoftDeletedMetadataTable.scala x: 6 # contributors y: 37 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/metrics/CloudWatchMetrics.scala x: 15 # contributors y: 134 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/usage/ItemToMediaUsage.scala x: 13 # contributors y: 109 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/UsageRights.scala x: 28 # contributors y: 498 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/usage/ChildUsageMetadata.scala x: 5 # contributors y: 20 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/usage/DigitalUsageMetadata.scala x: 11 # contributors y: 28 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/usage/PrintUsageMetadata.scala x: 15 # contributors y: 73 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/usage/SyndicationUsageMetadata.scala x: 8 # contributors y: 18 lines of code image-loader/app/ImageLoaderComponents.scala x: 22 # contributors y: 45 lines of code image-loader/app/controllers/ImageLoaderController.scala x: 25 # contributors y: 570 lines of code image-loader/app/lib/UploadStatusTable.scala x: 12 # contributors y: 49 lines of code image-loader/app/model/Projector.scala x: 12 # contributors y: 187 lines of code image-loader/app/model/S3IngestObject.scala x: 8 # contributors y: 36 lines of code image-loader/app/model/Uploader.scala x: 17 # contributors y: 451 lines of code kahuna/app/controllers/KahunaController.scala x: 30 # contributors y: 85 lines of code kahuna/public/js/components/gr-archiver/gr-archiver.js x: 12 # contributors y: 144 lines of code kahuna/public/js/components/gr-collection-overlay/gr-collection-overlay.css x: 11 # contributors y: 54 lines of code kahuna/public/js/components/gr-downloader/gr-downloader.html x: 24 # contributors y: 57 lines of code kahuna/public/js/components/gr-downloader/gr-downloader.js x: 23 # contributors y: 114 lines of code kahuna/public/js/components/gr-image-usage/gr-image-usage-list.html x: 20 # contributors y: 33 lines of code kahuna/public/js/components/gr-image-usage/gr-image-usage.html x: 18 # contributors y: 11 lines of code kahuna/public/js/components/gr-image-usage/gr-image-usage.js x: 18 # contributors y: 135 lines of code kahuna/public/js/components/gr-sort-control/gr-sort-control.css x: 7 # contributors y: 142 lines of code kahuna/public/js/components/gr-top-bar/gr-top-bar.css x: 18 # contributors y: 39 lines of code kahuna/public/js/components/gr-undelete-image/gr-un-delete-image.js x: 8 # contributors y: 48 lines of code kahuna/public/js/components/gr-usagerights-summary/gr-usagerights-summary.tsx x: 6 # contributors y: 114 lines of code kahuna/public/js/components/gu-date-range/gu-date-range.css x: 12 # contributors y: 60 lines of code kahuna/public/js/crop/controller.js x: 26 # contributors y: 218 lines of code kahuna/public/js/crop/index.js x: 17 # contributors y: 40 lines of code kahuna/public/js/crop/view.html x: 30 # contributors y: 135 lines of code kahuna/public/js/directives/ui-crop-box/ui-crop-box.js x: 14 # contributors y: 99 lines of code kahuna/public/js/services/image-list.js x: 12 # contributors y: 64 lines of code kahuna/public/js/services/image/usages.js x: 22 # contributors y: 91 lines of code kahuna/public/js/upload/controller.css x: 5 # contributors y: 5 lines of code leases/app/lib/LeaseStore.scala x: 12 # contributors y: 36 lines of code media-api/app/lib/UsageStore.scala x: 16 # contributors y: 188 lines of code media-api/app/lib/elasticsearch/ElasticSearchModel.scala x: 16 # contributors y: 252 lines of code media-api/app/lib/elasticsearch/HybridResult.scala x: 3 # contributors y: 112 lines of code metadata-editor/app/controllers/EditsController.scala x: 30 # contributors y: 182 lines of code metadata-editor/app/controllers/SyndicationController.scala x: 6 # contributors y: 58 lines of code metadata-editor/app/lib/Syndication.scala x: 6 # contributors y: 142 lines of code rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PandaAuthenticationProvider.scala x: 11 # contributors y: 135 lines of code rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/Permissions.scala x: 6 # contributors y: 12 lines of code rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PermissionsAuthorisationProvider.scala x: 15 # contributors y: 54 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/BulkRemoveFromCollection.scala x: 2 # contributors y: 40 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/EnactS3Changes.scala x: 8 # contributors y: 175 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/LoadFromS3Bucket.scala x: 7 # contributors y: 45 lines of code thrall/app/ThrallComponents.scala x: 25 # contributors y: 78 lines of code thrall/app/controllers/ReaperController.scala x: 10 # contributors y: 202 lines of code thrall/app/controllers/ThrallController.scala x: 14 # contributors y: 251 lines of code thrall/app/views/index.scala.html x: 9 # contributors y: 132 lines of code thrall/app/views/migrationFailures.scala.html x: 8 # contributors y: 90 lines of code thrall/app/views/restoreFromReplica.scala.html x: 6 # contributors y: 30 lines of code usage/app/lib/ContentApis.scala x: 5 # contributors y: 57 lines of code usage/app/model/UsageRecord.scala x: 17 # contributors y: 132 lines of code usage/app/model/UsageTable.scala x: 20 # contributors y: 144 lines of code media-api/app/lib/UsageQuota.scala x: 19 # contributors y: 35 lines of code cropper/app/lib/CropStore.scala x: 15 # contributors y: 67 lines of code kahuna/public/js/services/api/media-api.js x: 26 # contributors y: 106 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfigWithElastic.scala x: 13 # contributors y: 27 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchConfig.scala x: 12 # contributors y: 2 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/Mappings.scala x: 39 # contributors y: 336 lines of code kahuna/public/js/components/gr-chips/gr-chips.js x: 9 # contributors y: 166 lines of code media-api/app/lib/querysyntax/QuerySyntax.scala x: 22 # contributors y: 222 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/EsScript.scala x: 29 # contributors y: 354 lines of code thrall/app/lib/elasticsearch/ElasticSearch.scala x: 23 # contributors y: 678 lines of code kahuna/public/js/search/structured-query/syntax.ts x: 3 # contributors y: 96 lines of code auth/app/auth/AuthController.scala x: 22 # contributors y: 123 lines of code cdk/lib/image-embedder-lambda.ts x: 6 # contributors y: 201 lines of code collections/app/controllers/ImageCollectionsController.scala x: 20 # contributors y: 59 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/ImageStorage.scala x: 16 # contributors y: 29 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/RedundantTokenRemover.scala x: 10 # contributors y: 55 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ReapableEligibility.scala x: 7 # contributors y: 33 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/Image.scala x: 25 # contributors y: 148 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/ThrallMessage.scala x: 12 # contributors y: 109 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/usage/MediaUsage.scala x: 14 # contributors y: 63 lines of code dev/cloudformation/grid-dev-core.yml x: 15 # contributors y: 328 lines of code image-embedder-lambda/src/backfiller/elasticSearch.ts x: 3 # contributors y: 69 lines of code image-embedder-lambda/src/backfiller/freeImagesFilter.ts x: 2 # contributors y: 549 lines of code image-embedder-lambda/src/embedder/embedder.ts x: 3 # contributors y: 177 lines of code image-embedder-lambda/src/embedder/imageResolver.ts x: 3 # contributors y: 155 lines of code image-embedder-lambda/src/embedder/localRun.ts x: 3 # contributors y: 191 lines of code image-embedder-lambda/src/embedder/resizeImage.ts x: 3 # contributors y: 50 lines of code image-embedder-lambda/src/embedder/thrallEventPublisher.ts x: 3 # contributors y: 114 lines of code image-loader/app/lib/ImageLoaderConfig.scala x: 21 # contributors y: 33 lines of code image-loader/app/model/upload/OptimiseOps.scala x: 10 # contributors y: 45 lines of code image-loader/app/model/upload/UploadRequest.scala x: 7 # contributors y: 22 lines of code kahuna/public/js/image/service.js x: 21 # contributors y: 42 lines of code kahuna/public/js/preview/image.html x: 34 # contributors y: 177 lines of code kahuna/public/js/search/structured-query/query-suggestions.ts x: 5 # contributors y: 274 lines of code kahuna/public/js/services/image-logic.js x: 17 # contributors y: 115 lines of code media-api/app/lib/ImageExtras.scala x: 23 # contributors y: 79 lines of code media-api/app/lib/elasticsearch/IsQueryFilter.scala x: 18 # contributors y: 65 lines of code media-api/app/lib/elasticsearch/SearchFilters.scala x: 29 # contributors y: 64 lines of code rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/Authorisation.scala x: 14 # contributors y: 75 lines of code thrall/app/lib/ThrallMetrics.scala x: 17 # contributors y: 25 lines of code thrall/app/lib/kinesis/MessageProcessor.scala x: 25 # contributors y: 189 lines of code usage/app/lib/MediaUsageBuilder.scala x: 7 # contributors y: 110 lines of code usage/app/model/UsageGroup.scala x: 29 # contributors y: 246 lines of code collections/app/CollectionsComponents.scala x: 13 # contributors y: 18 lines of code collections/app/controllers/CollectionsController.scala x: 19 # contributors y: 169 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/collections/CollectionsManager.scala x: 11 # contributors y: 45 lines of code image-loader/app/lib/QuarantineStore.scala x: 6 # contributors y: 4 lines of code kahuna/public/js/components/gr-chips/gr-text-chip.html x: 9 # contributors y: 10 lines of code kahuna/public/js/components/gr-chips/gr-text-chip.js x: 8 # contributors y: 95 lines of code kahuna/public/js/search/structured-query/structured-query.js x: 15 # contributors y: 96 lines of code kahuna/public/js/components/gr-notifications-banner/gr-notifications-banner.tsx x: 6 # contributors y: 228 lines of code kahuna/public/js/components/gr-panel-button/gr-panel-button.js x: 12 # contributors y: 75 lines of code kahuna/public/js/components/gr-panels/gr-panels.js x: 12 # contributors y: 91 lines of code kahuna/public/js/search/syntax/syntax.html x: 21 # contributors y: 178 lines of code kahuna/public/js/services/api/edits-api.js x: 9 # contributors y: 23 lines of code kahuna/public/js/components/gr-tooltip/gr-tooltip.js x: 11 # contributors y: 36 lines of code kahuna/public/js/leases/leases.html x: 19 # contributors y: 150 lines of code kahuna/public/js/leases/leases.js x: 21 # contributors y: 267 lines of code rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/Authentication.scala x: 10 # contributors y: 101 lines of code rest-lib/src/main/scala/com/gu/mediaservice/lib/play/RequestLoggingFilter.scala x: 7 # contributors y: 77 lines of code kahuna/public/js/leases/leases.css x: 10 # contributors y: 140 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/ImageOperations.scala x: 22 # contributors y: 247 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/im4jwrapper/ImageMagick.scala x: 18 # contributors y: 100 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/Asset.scala x: 9 # contributors y: 106 lines of code cropper/app/controllers/CropperController.scala x: 22 # contributors y: 185 lines of code cropper/app/lib/Crops.scala x: 25 # contributors y: 118 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/logging/Stopwatch.scala x: 7 # contributors y: 55 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/ImageMetadataConverter.scala x: 20 # contributors y: 141 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/MetadataCleaner.scala x: 15 # contributors y: 27 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/UsageRightsConfig.scala x: 17 # contributors y: 176 lines of code kahuna/public/js/components/gr-collections-panel/gr-collections-panel-node.html x: 16 # contributors y: 79 lines of code usage/app/lib/CrierStreamReader.scala x: 8 # contributors y: 111 lines of code usage/app/lib/CrierEventProcessor.scala x: 6 # contributors y: 155 lines of code kahuna/public/js/components/gr-radio-list/gr-radio-list.html x: 2 # contributors y: 12 lines of code scripts/src/main/scala/com/gu/mediaservice/lib/JsonValueCodecJsValue.scala x: 5 # contributors y: 88 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/BackfillEditLastModified.scala x: 5 # contributors y: 165 lines of code kahuna/public/js/usage-rights/usage-rights-editor.js x: 21 # contributors y: 220 lines of code metadata-editor/app/controllers/EditsApi.scala x: 17 # contributors y: 81 lines of code auth/app/auth/AuthConfig.scala x: 11 # contributors y: 6 lines of code collections/app/lib/CollectionsMetrics.scala x: 9 # contributors y: 13 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/ThrallMessageSender.scala x: 14 # contributors y: 83 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/GridConfigResources.scala x: 10 # contributors y: 5 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/Properties.scala x: 10 # contributors y: 24 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/ProviderLoader.scala x: 7 # contributors y: 172 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/UsageRightsMetadataMapper.scala x: 5 # contributors y: 36 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/play/RequestMetricFilter.scala x: 6 # contributors y: 43 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/SyndicationRights.scala x: 11 # contributors y: 75 lines of code common-lib/src/main/scala/com/gu/mediaservice/syntax/PlayJsonSyntax.scala x: 5 # contributors y: 25 lines of code image-loader/app/lib/BodyParsers.scala x: 8 # contributors y: 58 lines of code kahuna/app/lib/MetadataTemplateConfig.scala x: 7 # contributors y: 98 lines of code kahuna/public/js/components/gr-info-panel/gr-info-panel.html x: 14 # contributors y: 49 lines of code kahuna/public/js/upload/manager.js x: 13 # contributors y: 132 lines of code leases/app/controllers/MediaLeaseController.scala x: 16 # contributors y: 136 lines of code metadata-editor/app/MetadataEditorComponents.scala x: 18 # contributors y: 23 lines of code thrall/app/lib/elasticsearch/ThrallMigrationClient.scala x: 7 # contributors y: 164 lines of code thrall/app/lib/kinesis/ThrallEventConsumer.scala x: 15 # contributors y: 117 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/ImageFields.scala x: 10 # contributors y: 63 lines of code usage/app/UsageComponents.scala x: 13 # contributors y: 33 lines of code kahuna/public/js/components/gr-image-usage-photosales/gr-image-usage-photosales.tsx x: 2 # contributors y: 52 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/aws/RoundedExpiration.scala x: 1 # contributors y: 8 lines of code kahuna/public/js/usage-rights/usage-rights-editor.html x: 18 # contributors y: 199 lines of code kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.tsx x: 2 # contributors y: 121 lines of code kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.css x: 2 # contributors y: 75 lines of code kahuna/public/js/components/gr-my-uploads/gr-my-uploads.css x: 2 # contributors y: 49 lines of code kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter-config.ts x: 2 # contributors y: 85 lines of code kahuna/public/js/components/gr-permissions-filter/gr-toggle-switch.css x: 2 # contributors y: 96 lines of code kahuna/public/js/components/gr-notifications-banner/gr-notifications-banner.css x: 3 # contributors y: 78 lines of code kahuna/public/js/upload/dnd-uploader.js x: 15 # contributors y: 188 lines of code kahuna/public/js/services/graphic-image-blur.js x: 1 # contributors y: 54 lines of code kahuna/public/js/common/blurring/GNM-explainer.html x: 1 # contributors y: 20 lines of code kahuna/public/js/components/gr-add-keyword/gr-add-keyword.css x: 2 # contributors y: 24 lines of code kahuna/public/js/components/gr-add-keyword/gr-add-keyword.js x: 2 # contributors y: 105 lines of code media-api/app/lib/elasticsearch/SyndicationFilter.scala x: 14 # contributors y: 113 lines of code kahuna/public/js/components/gr-panel-button/gr-panel-button-small.html x: 13 # contributors y: 49 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/config/Services.scala x: 19 # contributors y: 78 lines of code kahuna/public/js/components/gr-crop-image/gr-crop-image.js x: 15 # contributors y: 39 lines of code kahuna/public/js/components/gu-date-range/gu-date-range.html x: 15 # contributors y: 90 lines of code kahuna/public/js/forms/datalist.js x: 8 # contributors y: 131 lines of code kahuna/public/js/upload/recent/recent-uploads.js x: 6 # contributors y: 71 lines of code kahuna/public/js/services/api/leases.js x: 13 # contributors y: 173 lines of code usage/app/lib/UsageRecorder.scala x: 20 # contributors y: 118 lines of code kahuna/public/js/edits/list-editor.css x: 6 # contributors y: 103 lines of code common-lib/src/main/scala/com/gu/mediaservice/ImageDataMerger.scala x: 8 # contributors y: 68 lines of code kahuna/public/js/components/gr-downloader/gr-downloader.css x: 9 # contributors y: 33 lines of code kahuna/app/views/quotas.scala.html x: 5 # contributors y: 78 lines of code usage/app/lib/UsageNotifier.scala x: 23 # contributors y: 38 lines of code kahuna/public/js/edits/index.js x: 7 # contributors y: 5 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/EsImageMetadata.scala x: 5 # contributors y: 137 lines of code kahuna/public/js/services/api/media-cropper.js x: 14 # contributors y: 54 lines of code common-lib/src/main/scala/com/gu/mediaservice/model/Edits.scala x: 9 # contributors y: 82 lines of code scripts/src/main/scala/com/gu/mediaservice/scripts/ProposeS3Changes.scala x: 2 # contributors y: 219 lines of code common-lib/src/main/scala/com/gu/mediaservice/JsonDiff.scala x: 1 # contributors y: 46 lines of code kahuna/public/js/components/gu-lazy-table/gu-lazy-table.js x: 10 # contributors y: 262 lines of code kahuna/public/js/services/api/collections-api.js x: 9 # contributors y: 146 lines of code scripts/src/main/java/com/gu/typesafe/config/Config.java x: 2 # contributors y: 66 lines of code scripts/src/main/java/com/gu/typesafe/config/ConfigException.java x: 2 # contributors y: 277 lines of code scripts/src/main/java/com/gu/typesafe/config/ConfigFactory.java x: 2 # contributors y: 293 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/AbstractConfigObject.java x: 2 # contributors y: 143 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ConfigBeanImpl.java x: 2 # contributors y: 245 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMerge.java x: 2 # contributors y: 256 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMergeObject.java x: 2 # contributors y: 233 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDocumentParser.java x: 2 # contributors y: 576 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ConfigImpl.java x: 2 # contributors y: 422 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ConfigParser.java x: 2 # contributors y: 330 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/Parseable.java x: 2 # contributors y: 643 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/Path.java x: 2 # contributors y: 177 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/PathParser.java x: 2 # contributors y: 207 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/PropertiesParser.java x: 2 # contributors y: 154 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/ResolveSource.java x: 2 # contributors y: 269 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/SerializedConfigValue.java x: 2 # contributors y: 440 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfig.java x: 2 # contributors y: 940 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigList.java x: 2 # contributors y: 372 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigObject.java x: 2 # contributors y: 542 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigOrigin.java x: 2 # contributors y: 472 lines of code scripts/src/main/java/com/gu/typesafe/config/impl/Tokenizer.java x: 2 # contributors y: 558 lines of code metadata-editor/app/lib/Notifications.scala x: 8 # contributors y: 3 lines of code kahuna/public/js/components/gr-collections-panel/gr-collections-panel.css x: 9 # contributors y: 71 lines of code common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model/ErrorResponse.scala x: 1 # contributors y: 21 lines of code kahuna/public/js/components/gr-chips/gr-chip-input.js x: 3 # contributors y: 132 lines of code
2605.0
lines of code
  min: 1.0
  average: 80.47
  25th percentile: 16.0
  median: 40.0
  75th percentile: 85.0
  max: 2605.0
0 53.0
# contributors
min: 1.0 | average: 8.55 | 25th percentile: 3.0 | median: 6.0 | 75th percentile: 12.0 | max: 53.0

Number of Changes vs. Line Churn: 4248 points

kahuna/public/js/components/gr-my-uploads/gr-my-uploads.tsx x: 16 # changes y: 370 line churn kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.tsx x: 23 # changes y: 1042 line churn e2e-tests/features/upload.feature x: 17 # changes y: 2761 line churn e2e-tests/steps/setup.ts x: 8 # changes y: 245 line churn e2e-tests/steps/upload/media-api.assertions.ts x: 4 # changes y: 256 line churn e2e-tests/steps/upload/metadata-editor.steps.ts x: 7 # changes y: 1700 line churn e2e-tests/steps/upload/recent-uploads.steps.ts x: 2 # changes y: 132 line churn e2e-tests/steps/upload/setup.ts x: 11 # changes y: 807 line churn e2e-tests/steps/upload/upload.steps.ts x: 14 # changes y: 1101 line churn kahuna/public/js/takedown/crops-and-usages.tsx x: 5 # changes y: 1254 line churn kahuna/public/js/takedown/delete-from-grid-step.tsx x: 10 # changes y: 3245 line churn kahuna/public/js/search/index.js x: 161 # changes y: 2971 line churn kahuna/public/js/search/query.js x: 171 # changes y: 6504 line churn kahuna/public/js/util/nonfree-debug.ts x: 1 # changes y: 134 line churn .github/workflows/ci.yml x: 125 # changes y: 1630 line churn .gitignore x: 71 # changes y: 193 line churn build.sbt x: 302 # changes y: 3711 line churn cdk/bin/cdk.ts x: 9 # changes y: 285 line churn cdk/package-lock.json x: 18 # changes y: 62870 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessors.scala x: 196 # changes y: 5297 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfig.scala x: 143 # changes y: 1937 line churn common-lib/src/test/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessorsTest.scala x: 112 # changes y: 6247 line churn dev/oidc-provider/app.js x: 21 # changes y: 402 line churn dev/oidc-provider/package-lock.json x: 31 # changes y: 27587 line churn dev/oidc-provider/package.json x: 15 # changes y: 80 line churn dev/script/generate-config/package-lock.json x: 42 # changes y: 5181 line churn dev/script/generate-config/package.json x: 12 # changes y: 64 line churn dev/script/generate-config/service-config.js x: 115 # changes y: 1314 line churn dev/script/start.sh x: 25 # changes y: 585 line churn e2e-tests/README.md x: 19 # changes y: 578 line churn e2e-tests/fixtures/elasticsearch/images.json x: 7 # changes y: 8740 line churn e2e-tests/images/README.md x: 13 # changes y: 674 line churn e2e-tests/package-lock.json x: 12 # changes y: 12623 line churn e2e-tests/setup/config.ts x: 10 # changes y: 797 line churn e2e-tests/setup/seed-collections.ts x: 3 # changes y: 104 line churn e2e-tests/setup/stack.ts x: 15 # changes y: 4685 line churn e2e-tests/steps/upload/dnd.steps.ts x: 6 # changes y: 276 line churn image-counter-lambda/package-lock.json x: 49 # changes y: 74604 line churn image-embedder-lambda/package-lock.json x: 49 # changes y: 168879 line churn image-embedder-lambda/package.json x: 48 # changes y: 675 line churn kahuna/app/KahunaComponents.scala x: 65 # changes y: 411 line churn kahuna/app/lib/KahunaConfig.scala x: 122 # changes y: 506 line churn kahuna/app/views/main.scala.html x: 188 # changes y: 1824 line churn kahuna/conf/routes x: 53 # changes y: 246 line churn kahuna/package-lock.json x: 176 # changes y: 724314 line churn kahuna/package.json x: 250 # changes y: 2571 line churn kahuna/public/js/common/user-actions.html x: 40 # changes y: 412 line churn kahuna/public/js/edits/image-editor.html x: 149 # changes y: 3347 line churn kahuna/public/js/image/controller.js x: 217 # changes y: 4329 line churn kahuna/public/js/image/view.html x: 220 # changes y: 8500 line churn kahuna/public/js/main.js x: 162 # changes y: 5691 line churn kahuna/public/js/search/results.html x: 221 # changes y: 5491 line churn kahuna/public/js/search/results.js x: 257 # changes y: 9560 line churn kahuna/public/js/upload/jobs/upload-jobs.js x: 81 # changes y: 2298 line churn kahuna/public/js/window.ts x: 32 # changes y: 225 line churn kahuna/public/stylesheets/main.css x: 446 # changes y: 26399 line churn media-api/app/MediaApiComponents.scala x: 102 # changes y: 1051 line churn media-api/app/controllers/MediaApi.scala x: 425 # changes y: 15500 line churn media-api/app/controllers/UsageController.scala x: 42 # changes y: 670 line churn media-api/app/lib/ImageResponse.scala x: 207 # changes y: 4421 line churn media-api/app/lib/MediaApiConfig.scala x: 108 # changes y: 1160 line churn media-api/app/lib/elasticsearch/ElasticSearch.scala x: 297 # changes y: 11705 line churn media-api/conf/routes x: 138 # changes y: 483 line churn media-api/test/lib/elasticsearch/ElasticSearchTest.scala x: 69 # changes y: 3319 line churn media-api/test/lib/elasticsearch/Fixtures.scala x: 49 # changes y: 977 line churn project/plugins.sbt x: 78 # changes y: 348 line churn scripts/README.md x: 30 # changes y: 335 line churn usage/app/controllers/UsageApi.scala x: 101 # changes y: 3034 line churn usage/conf/routes x: 54 # changes y: 157 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MappingTest.scala x: 44 # changes y: 704 line churn common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadata.scala x: 36 # changes y: 476 line churn image-loader/app/lib/imaging/FileMetadataReader.scala x: 91 # changes y: 2060 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel.js x: 57 # changes y: 3573 line churn kahuna/public/js/components/gr-display-crops/gr-display-crops.html x: 18 # changes y: 267 line churn kahuna/public/js/components/gr-image-metadata/gr-image-metadata.html x: 166 # changes y: 6616 line churn kahuna/public/js/components/gr-image-metadata/gr-image-metadata.js x: 114 # changes y: 3935 line churn kahuna/public/js/components/gr-preset-labels/gr-preset-labels.js x: 22 # changes y: 526 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control.tsx x: 34 # changes y: 1783 line churn kahuna/public/js/preview/image.js x: 142 # changes y: 1583 line churn kahuna/public/js/search/query-filter.js x: 41 # changes y: 539 line churn kahuna/public/js/upload/jobs/required-metadata-editor.js x: 76 # changes y: 1544 line churn kahuna/public/js/upload/view.html x: 69 # changes y: 998 line churn media-api/test/lib/ImageResponseTest.scala x: 20 # changes y: 565 line churn scripts/src/main/resources/alamy-grid-ids.csv x: 5 # changes y: 2856 line churn .github/workflows/push-pr.yml x: 26 # changes y: 125 line churn common-lib/src/main/scala/com/gu/mediaservice/GridClient.scala x: 35 # changes y: 1361 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/S3ImageStorage.scala x: 52 # changes y: 625 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Bedrock.scala x: 27 # changes y: 1183 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/DynamoDB.scala x: 96 # changes y: 6094 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3.scala x: 118 # changes y: 3660 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SimpleSqsMessageConsumer.scala x: 28 # changes y: 534 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/PhotographerRenamer.scala x: 73 # changes y: 1653 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchClient.scala x: 77 # changes y: 1854 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/guardian/GuardianUsageRightsConfig.scala x: 41 # changes y: 3303 line churn common-lib/src/main/scala/com/gu/mediaservice/model/UsageRights.scala x: 124 # changes y: 7897 line churn image-loader/app/controllers/ImageLoaderController.scala x: 141 # changes y: 9596 line churn image-loader/app/lib/ImageLoaderStore.scala x: 37 # changes y: 740 line churn image-loader/app/model/Projector.scala x: 72 # changes y: 1834 line churn image-loader/app/model/Uploader.scala x: 100 # changes y: 2898 line churn image-loader/conf/routes x: 46 # changes y: 184 line churn image-loader/test/scala/model/ProjectorTest.scala x: 56 # changes y: 1035 line churn kahuna/app/controllers/KahunaController.scala x: 86 # changes y: 702 line churn kahuna/app/lib/FeatureSwitch.scala x: 29 # changes y: 302 line churn kahuna/public/js/components/gr-archiver/gr-archiver.js x: 33 # changes y: 1217 line churn kahuna/public/js/components/gr-downloader/gr-downloader.html x: 39 # changes y: 752 line churn kahuna/public/js/crop/controller.js x: 96 # changes y: 2703 line churn kahuna/public/js/crop/view.html x: 113 # changes y: 2266 line churn media-api/app/lib/elasticsearch/ElasticSearchModel.scala x: 62 # changes y: 1983 line churn metadata-editor/app/controllers/EditsController.scala x: 128 # changes y: 4201 line churn thrall/app/ThrallComponents.scala x: 132 # changes y: 1605 line churn thrall/app/controllers/ReaperController.scala x: 57 # changes y: 1691 line churn usage/app/lib/UsageConfig.scala x: 38 # changes y: 600 line churn usage/test/model/UsageRecordTest.scala x: 6 # changes y: 3192 line churn media-api/app/lib/UsageQuota.scala x: 31 # changes y: 582 line churn kahuna/public/js/services/api/media-api.js x: 97 # changes y: 1089 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/Mappings.scala x: 193 # changes y: 4212 line churn media-api/app/lib/querysyntax/QuerySyntax.scala x: 92 # changes y: 1605 line churn media-api/test/lib/querysyntax/ParserTest.scala x: 12 # changes y: 4356 line churn thrall/app/lib/elasticsearch/ElasticSearch.scala x: 119 # changes y: 5368 line churn cdk/lib/__snapshots__/image-embedder-lambda.test.ts.snap x: 47 # changes y: 5725 line churn cdk/lib/image-embedder-lambda.ts x: 50 # changes y: 2085 line churn collections/app/controllers/ImageCollectionsController.scala x: 45 # changes y: 759 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Image.scala x: 64 # changes y: 1354 line churn docs/06-objects-of-interest/02-config.md x: 19 # changes y: 4640 line churn image-loader/app/lib/ImageLoaderConfig.scala x: 58 # changes y: 388 line churn kahuna/public/js/preview/image.html x: 163 # changes y: 2526 line churn media-api/app/lib/elasticsearch/SearchFilters.scala x: 122 # changes y: 3565 line churn media-api/test/scala/lib/querysyntax/ParserTest.scala x: 34 # changes y: 6263 line churn s3watcher/lambda/package-lock.json x: 35 # changes y: 109152 line churn s3watcher/lambda/package.json x: 43 # changes y: 609 line churn usage/app/model/UsageGroup.scala x: 70 # changes y: 1843 line churn image-embedder-lambda/src/index.ts x: 44 # changes y: 8038 line churn image-embedder-lambda/__tests__/fetchImage.test.ts x: 11 # changes y: 3241 line churn collections/app/controllers/CollectionsController.scala x: 47 # changes y: 2103 line churn kahuna/public/js/search/structured-query/query-suggestions.js x: 59 # changes y: 1989 line churn kahuna/public/js/search/structured-query/syntax.js x: 24 # changes y: 851 line churn common-lib/src/main/resources/application.conf x: 67 # changes y: 1616 line churn kahuna/public/js/leases/leases.js x: 51 # changes y: 1116 line churn docker-compose.yml x: 55 # changes y: 1151 line churn cropper/app/lib/Crops.scala x: 75 # changes y: 2041 line churn image-loader/test/scala/lib/imaging/FileMetadataReaderTest.scala x: 62 # changes y: 5171 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/UsageRightsConfig.scala x: 67 # changes y: 3036 line churn kahuna/public/js/usage-rights/usage-rights-editor.js x: 64 # changes y: 3762 line churn metadata-editor/app/controllers/EditsApi.scala x: 66 # changes y: 1257 line churn kahuna/public/js/components/gr-info-panel/gr-info-panel.html x: 28 # changes y: 2932 line churn thrall/app/lib/kinesis/ThrallEventConsumer.scala x: 68 # changes y: 1754 line churn thrall/test/lib/elasticsearch/ElasticSearchTest.scala x: 46 # changes y: 3755 line churn kahuna/public/js/search/view.html x: 61 # changes y: 640 line churn reaper/package-lock.json x: 13 # changes y: 11024 line churn kahuna/public/js/edits/service.js x: 70 # changes y: 3033 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/MetadataConfig.scala x: 75 # changes y: 3205 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/auth/Authentication.scala x: 63 # changes y: 2841 line churn image-loader/app/model/ImageUpload.scala x: 74 # changes y: 3716 line churn README.md x: 103 # changes y: 2773 line churn media-api/test/lib/elasticsearch/impls/elasticsearch6/MediaApiElasticSearch6Test.scala x: 31 # changes y: 3078 line churn thrall/app/lib/ElasticSearch6.scala x: 32 # changes y: 3918 line churn thrall/test/lib/ElasticSearchTestBase.scala x: 29 # changes y: 4293 line churn thrall/app/lib/ElasticSearch.scala x: 160 # changes y: 5062 line churn kahuna/public/jspm_packages/github/angular-ui/bootstrap-bower@0.13.4/ui-bootstrap-tpls.js x: 2 # changes y: 11672 line churn kahuna/public/jspm_packages/github/angular-ui/bootstrap-bower@0.13.4/ui-bootstrap.js x: 2 # changes y: 10900 line churn kahuna/public/jspm_packages/github/angular/bower-angular-animate@1.4.3/angular-animate.js x: 2 # changes y: 7448 line churn kahuna/public/jspm_packages/github/angular/bower-angular@1.4.3/angular.js x: 2 # changes y: 56734 line churn kahuna/public/jspm_packages/github/chieffancypants/angular-hotkeys@1.6.0/build/hotkeys.js x: 2 # changes y: 3298 line churn kahuna/public/jspm_packages/github/components/jquery@2.1.1/jquery.js x: 2 # changes y: 18380 line churn kahuna/public/jspm_packages/github/jmcriffey/bower-traceur@0.0.93/traceur.js x: 2 # changes y: 65650 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.0.7/angular.js x: 2 # changes y: 29698 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.1.5/angular.js x: 2 # changes y: 33756 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.0rc/angular-scenario.js x: 2 # changes y: 52624 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.0rc/angular.js x: 2 # changes y: 35808 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.0rc2/angular-scenario.js x: 2 # changes y: 59302 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.0rc3/angular-scenario.js x: 2 # changes y: 62264 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.0rc3/angular.js x: 2 # changes y: 38286 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.7/angular-scenario.js x: 2 # changes y: 65192 line churn kahuna/public/jspm_packages/github/vitalets/angular-xeditable@0.1.9/libs/angular/1.2.7/angular.js x: 2 # changes y: 41180 line churn cropper/app/controllers/Application.scala x: 88 # changes y: 3320 line churn project/Build.scala x: 141 # changes y: 1864 line churn project/Dependencies.scala x: 87 # changes y: 822 line churn cloud-formation/dev-template.json x: 54 # changes y: 7972 line churn picdar-export/src/main/scala/com.gu.mediaservice.picdarexport/PicdarExport.scala x: 44 # changes y: 5344 line churn picdar-export/src/main/scala/com.gu.mediaservice.picdarexport/lib/db/ExportDynamoDB.scala x: 33 # changes y: 3795 line churn kahuna/public/js/components/gr-panel/gr-panel.html x: 86 # changes y: 4602 line churn cloud-formation/media-service.json x: 47 # changes y: 9182 line churn kahuna/public/js/app.js x: 72 # changes y: 7734 line churn cloud-formation/template.json x: 48 # changes y: 5147 line churn
724314.0
line churn
  min: 2.0
  average: 812.74
  25th percentile: 36.0
  median: 108.0
  75th percentile: 293.0
  max: 724314.0
0 446.0
# changes
min: 1.0 | average: 8.9 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 7.0 | max: 446.0

Number of Contributors vs. Line Churn: 811 points

kahuna/public/js/components/gr-my-uploads/gr-my-uploads.tsx x: 6 # contributors y: 370 line churn kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.tsx x: 8 # contributors y: 1042 line churn kahuna/public/js/takedown/crops-and-usages.tsx x: 4 # contributors y: 1254 line churn kahuna/public/js/takedown/delete-from-grid-step.tsx x: 6 # contributors y: 3245 line churn kahuna/public/js/search/index.js x: 34 # contributors y: 2971 line churn kahuna/public/js/search/query.js x: 36 # contributors y: 6504 line churn cdk/lib/image-cache-purger.ts x: 4 # contributors y: 406 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/DateTimeUtils.scala x: 9 # contributors y: 244 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessors.scala x: 35 # contributors y: 5297 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfig.scala x: 37 # contributors y: 1937 line churn dev/oidc-provider/app.js x: 14 # contributors y: 402 line churn dev/script/generate-config/service-config.js x: 28 # contributors y: 1314 line churn image-cache-purger/src/main/scala/com/gu/mediaservice/ImageCachePurger.scala x: 4 # contributors y: 539 line churn image-cache-purger/src/main/scala/com/gu/mediaservice/LocalRun.scala x: 4 # contributors y: 266 line churn kahuna/app/KahunaComponents.scala x: 21 # contributors y: 411 line churn kahuna/app/lib/KahunaConfig.scala x: 35 # contributors y: 506 line churn kahuna/app/views/main.scala.html x: 49 # contributors y: 1824 line churn kahuna/public/js/common/user-actions.html x: 26 # contributors y: 412 line churn kahuna/public/js/common/user-actions.js x: 16 # contributors y: 251 line churn kahuna/public/js/components/gr-top-bar/gr-top-bar.js x: 16 # contributors y: 353 line churn kahuna/public/js/edits/image-editor.html x: 34 # contributors y: 3347 line churn kahuna/public/js/forms/datalist.html x: 12 # contributors y: 407 line churn kahuna/public/js/image/controller.js x: 42 # contributors y: 4329 line churn kahuna/public/js/image/view.html x: 35 # contributors y: 8500 line churn kahuna/public/js/main.js x: 34 # contributors y: 5691 line churn kahuna/public/js/search/results.html x: 33 # contributors y: 5491 line churn kahuna/public/js/search/results.js x: 35 # contributors y: 9560 line churn kahuna/public/js/services/telemetry.ts x: 10 # contributors y: 352 line churn kahuna/public/js/takedown/controller.ts x: 4 # contributors y: 173 line churn kahuna/public/js/takedown/index.ts x: 4 # contributors y: 789 line churn kahuna/public/js/takedown/takedown-context.tsx x: 4 # contributors y: 1688 line churn kahuna/public/js/takedown/takedown-page.tsx x: 4 # contributors y: 1070 line churn kahuna/public/js/takedown/takedown-step.tsx x: 4 # contributors y: 515 line churn kahuna/public/js/takedown/view.html x: 4 # contributors y: 51 line churn kahuna/public/js/upload/controller.js x: 19 # contributors y: 1433 line churn kahuna/public/js/upload/dnd-uploader.html x: 10 # contributors y: 76 line churn kahuna/public/js/upload/jobs/required-metadata-editor.html x: 21 # contributors y: 1355 line churn kahuna/public/js/upload/jobs/upload-jobs.js x: 20 # contributors y: 2298 line churn kahuna/public/js/upload/prompt/prompt.html x: 13 # contributors y: 192 line churn kahuna/public/js/upload/prompt/prompt.js x: 12 # contributors y: 187 line churn kahuna/public/js/util/constants/standThemeOverride.ts x: 4 # contributors y: 629 line churn kahuna/public/js/window.ts x: 13 # contributors y: 225 line churn kahuna/public/stylesheets/main.css x: 53 # contributors y: 26399 line churn media-api/app/MediaApiComponents.scala x: 28 # contributors y: 1051 line churn media-api/app/controllers/MediaApi.scala x: 52 # contributors y: 15500 line churn media-api/app/controllers/UsageController.scala x: 15 # contributors y: 670 line churn media-api/app/lib/ContentApi.scala x: 3 # contributors y: 340 line churn media-api/app/lib/ImageResponse.scala x: 49 # contributors y: 4421 line churn media-api/app/lib/MediaApiConfig.scala x: 32 # contributors y: 1160 line churn media-api/app/lib/elasticsearch/ElasticSearch.scala x: 48 # contributors y: 11705 line churn media-api/app/models/UsagesInContent.scala x: 3 # contributors y: 100 line churn riff-raff.yaml x: 25 # contributors y: 1328 line churn usage/app/controllers/UsageApi.scala x: 35 # contributors y: 3034 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/FieldAlias.scala x: 10 # contributors y: 211 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MappingTest.scala x: 19 # contributors y: 704 line churn common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadata.scala x: 20 # contributors y: 476 line churn image-loader/app/lib/imaging/FileMetadataReader.scala x: 31 # contributors y: 2060 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel.js x: 20 # contributors y: 3573 line churn kahuna/public/js/components/gr-display-crops/gr-display-crops.css x: 7 # contributors y: 69 line churn kahuna/public/js/components/gr-display-crops/gr-display-crops.html x: 14 # contributors y: 267 line churn kahuna/public/js/components/gr-image-metadata/gr-image-metadata.html x: 42 # contributors y: 6616 line churn kahuna/public/js/components/gr-image-metadata/gr-image-metadata.js x: 31 # contributors y: 3935 line churn kahuna/public/js/components/gr-photoshoot/gr-photoshoot.js x: 11 # contributors y: 311 line churn kahuna/public/js/components/gr-preset-labels/gr-preset-labels.js x: 17 # contributors y: 526 line churn kahuna/public/js/components/gr-sort-control/base-sort-control.tsx x: 7 # contributors y: 692 line churn kahuna/public/js/components/gr-sort-control/gr-extended-sort-control.tsx x: 5 # contributors y: 508 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control.tsx x: 9 # contributors y: 1783 line churn kahuna/public/js/components/gu-date-range/gu-date-range.js x: 17 # contributors y: 880 line churn kahuna/public/js/edits/image-editor.js x: 26 # contributors y: 2435 line churn kahuna/public/js/edits/list-editor.js x: 12 # contributors y: 617 line churn kahuna/public/js/preview/image.js x: 36 # contributors y: 1583 line churn kahuna/public/js/search/query.html x: 35 # contributors y: 2608 line churn kahuna/public/js/upload/view.html x: 23 # contributors y: 998 line churn media-api/app/lib/elasticsearch/QueryBuilder.scala x: 32 # contributors y: 1685 line churn .devcontainer/devenv.yaml x: 3 # contributors y: 199 line churn collections/app/store/CollectionsStore.scala x: 16 # contributors y: 1151 line churn common-lib/src/main/scala/com/gu/mediaservice/GridClient.scala x: 14 # contributors y: 1361 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/BaseStore.scala x: 17 # contributors y: 503 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/ImageIngestOperations.scala x: 19 # contributors y: 865 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/S3ImageStorage.scala x: 23 # contributors y: 625 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/VectorUtils.scala x: 3 # contributors y: 422 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/argo/model/CollectionResponse.scala x: 5 # contributors y: 301 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/auth/KeyStore.scala x: 12 # contributors y: 661 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/AwsClientBuilderUtils.scala x: 8 # contributors y: 369 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Bedrock.scala x: 4 # contributors y: 1183 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/DynamoDB.scala x: 23 # contributors y: 6094 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/EC2MetadataUtils.scala x: 2 # contributors y: 26 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Embedder.scala x: 4 # contributors y: 1002 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Kinesis.scala x: 15 # contributors y: 579 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3.scala x: 33 # contributors y: 3660 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3Vectors.scala x: 4 # contributors y: 2202 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SNS.scala x: 11 # contributors y: 140 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SimpleSqsMessageConsumer.scala x: 9 # contributors y: 534 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/PhotographerRenamer.scala x: 14 # contributors y: 1653 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchClient.scala x: 30 # contributors y: 1854 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/guardian/GuardianUsageRightsConfig.scala x: 10 # contributors y: 3303 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/logging/LogConfig.scala x: 11 # contributors y: 427 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/metrics/CloudWatchMetrics.scala x: 15 # contributors y: 1550 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/usage/ItemToMediaUsage.scala x: 13 # contributors y: 900 line churn common-lib/src/main/scala/com/gu/mediaservice/model/UsageRights.scala x: 28 # contributors y: 7897 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/ChildUsageMetadata.scala x: 5 # contributors y: 163 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/DigitalUsageMetadata.scala x: 11 # contributors y: 334 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/DownloadUsageMetadata.scala x: 5 # contributors y: 57 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/SyndicationUsageMetadata.scala x: 8 # contributors y: 117 line churn image-loader/app/ImageLoaderComponents.scala x: 22 # contributors y: 749 line churn image-loader/app/controllers/ImageLoaderController.scala x: 25 # contributors y: 9596 line churn image-loader/app/lib/ImageLoaderStore.scala x: 8 # contributors y: 740 line churn image-loader/app/model/Projector.scala x: 12 # contributors y: 1834 line churn image-loader/app/model/Uploader.scala x: 17 # contributors y: 2898 line churn kahuna/app/controllers/KahunaController.scala x: 30 # contributors y: 702 line churn kahuna/public/js/components/gr-archiver/gr-archiver.js x: 12 # contributors y: 1217 line churn kahuna/public/js/components/gr-downloader/gr-downloader.html x: 24 # contributors y: 752 line churn kahuna/public/js/components/gr-downloader/gr-downloader.js x: 23 # contributors y: 1314 line churn kahuna/public/js/components/gr-image-usage/gr-image-usage.html x: 18 # contributors y: 301 line churn kahuna/public/js/components/gr-image-usage/gr-image-usage.js x: 18 # contributors y: 1081 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control.css x: 7 # contributors y: 391 line churn kahuna/public/js/components/gr-top-bar/gr-top-bar.css x: 18 # contributors y: 349 line churn kahuna/public/js/components/gr-usagerights-summary/gr-usagerights-summary.tsx x: 6 # contributors y: 280 line churn kahuna/public/js/components/gu-date-range/gu-date-range.css x: 12 # contributors y: 300 line churn kahuna/public/js/crop/controller.js x: 26 # contributors y: 2703 line churn kahuna/public/js/crop/index.js x: 17 # contributors y: 301 line churn kahuna/public/js/crop/view.html x: 30 # contributors y: 2266 line churn kahuna/public/js/services/image/usages.js x: 22 # contributors y: 631 line churn media-api/app/lib/UsageStore.scala x: 16 # contributors y: 1753 line churn media-api/app/lib/elasticsearch/ElasticSearchModel.scala x: 16 # contributors y: 1983 line churn media-api/app/lib/elasticsearch/HybridResult.scala x: 3 # contributors y: 898 line churn metadata-editor/app/controllers/EditsController.scala x: 30 # contributors y: 4201 line churn metadata-editor/app/controllers/SyndicationController.scala x: 6 # contributors y: 158 line churn metadata-editor/app/lib/Syndication.scala x: 6 # contributors y: 972 line churn rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PandaAuthenticationProvider.scala x: 11 # contributors y: 787 line churn rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/Permissions.scala x: 6 # contributors y: 49 line churn rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PermissionsAuthorisationProvider.scala x: 15 # contributors y: 307 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/BulkRemoveFromCollection.scala x: 2 # contributors y: 147 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/EnactS3Changes.scala x: 8 # contributors y: 540 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/LoadFromS3Bucket.scala x: 7 # contributors y: 197 line churn thrall/app/ThrallComponents.scala x: 25 # contributors y: 1605 line churn thrall/app/controllers/ReaperController.scala x: 10 # contributors y: 1691 line churn thrall/app/lib/SyncChecker.scala x: 5 # contributors y: 546 line churn thrall/app/lib/ThrallConfig.scala x: 21 # contributors y: 1110 line churn thrall/app/lib/elasticsearch/GoodToGoCheck.scala x: 10 # contributors y: 421 line churn thrall/app/views/migrationFailures.scala.html x: 8 # contributors y: 502 line churn usage/app/lib/ContentApis.scala x: 5 # contributors y: 385 line churn usage/app/model/UsageRecord.scala x: 17 # contributors y: 1500 line churn usage/app/model/UsageTable.scala x: 20 # contributors y: 1986 line churn media-api/app/lib/UsageQuota.scala x: 19 # contributors y: 582 line churn cropper/app/lib/CropStore.scala x: 15 # contributors y: 843 line churn kahuna/public/js/services/api/media-api.js x: 26 # contributors y: 1089 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchConfig.scala x: 12 # contributors y: 47 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/Mappings.scala x: 39 # contributors y: 4212 line churn kahuna/public/js/components/gr-chips/gr-chips.js x: 9 # contributors y: 1256 line churn media-api/app/lib/querysyntax/QuerySyntax.scala x: 22 # contributors y: 1605 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/EsScript.scala x: 29 # contributors y: 2973 line churn thrall/app/lib/elasticsearch/ElasticSearch.scala x: 23 # contributors y: 5368 line churn kahuna/public/js/search/structured-query/syntax.ts x: 3 # contributors y: 654 line churn auth/app/auth/AuthController.scala x: 22 # contributors y: 909 line churn cdk/lib/image-embedder-lambda.ts x: 6 # contributors y: 2085 line churn collections/app/controllers/ImageCollectionsController.scala x: 20 # contributors y: 759 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/argo/ArgoHelpers.scala x: 17 # contributors y: 826 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/RedundantTokenRemover.scala x: 10 # contributors y: 183 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/PersistedQueries.scala x: 8 # contributors y: 304 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ReapableEligibility.scala x: 7 # contributors y: 218 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Embedding.scala x: 3 # contributors y: 230 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Image.scala x: 25 # contributors y: 1354 line churn common-lib/src/main/scala/com/gu/mediaservice/model/ThrallMessage.scala x: 12 # contributors y: 1543 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/Usage.scala x: 13 # contributors y: 349 line churn dev/cloudformation/grid-dev-core.yml x: 15 # contributors y: 1396 line churn image-embedder-lambda/src/backfiller/backfiller.ts x: 3 # contributors y: 950 line churn image-embedder-lambda/src/backfiller/freeImagesFilter.ts x: 2 # contributors y: 2316 line churn image-embedder-lambda/src/embedder/embedder.ts x: 3 # contributors y: 1604 line churn image-embedder-lambda/src/embedder/localRun.ts x: 3 # contributors y: 1457 line churn kahuna/public/js/components/gr-archiver-status/gr-archiver-status.js x: 12 # contributors y: 454 line churn kahuna/public/js/image/service.js x: 21 # contributors y: 887 line churn kahuna/public/js/preview/image.html x: 34 # contributors y: 2526 line churn kahuna/public/js/search/structured-query/query-suggestions.ts x: 5 # contributors y: 1248 line churn kahuna/public/js/services/image-logic.js x: 17 # contributors y: 678 line churn media-api/app/lib/ImageExtras.scala x: 23 # contributors y: 777 line churn media-api/app/lib/ImagePersistenceReasons.scala x: 11 # contributors y: 1027 line churn media-api/app/lib/elasticsearch/IsQueryFilter.scala x: 18 # contributors y: 575 line churn media-api/app/lib/elasticsearch/SearchFilters.scala x: 29 # contributors y: 3565 line churn rest-lib/src/main/scala/com/gu/mediaservice/lib/auth/Authorisation.scala x: 14 # contributors y: 522 line churn thrall/app/lib/ThrallMetrics.scala x: 17 # contributors y: 161 line churn thrall/app/lib/kinesis/MessageProcessor.scala x: 25 # contributors y: 3928 line churn usage/app/model/UsageGroup.scala x: 29 # contributors y: 1843 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control-config.ts x: 7 # contributors y: 453 line churn collections/app/controllers/CollectionsController.scala x: 19 # contributors y: 2103 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/collections/CollectionsManager.scala x: 11 # contributors y: 585 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Collection.scala x: 16 # contributors y: 694 line churn kahuna/public/js/components/gr-chips/gr-text-chip.html x: 9 # contributors y: 84 line churn kahuna/public/js/search/structured-query/structured-query.js x: 15 # contributors y: 1108 line churn kahuna/public/js/sentry/sentry.js x: 9 # contributors y: 450 line churn kahuna/public/js/components/gr-panels/gr-panels.js x: 12 # contributors y: 797 line churn kahuna/public/js/search/syntax/syntax.html x: 21 # contributors y: 1569 line churn kahuna/public/js/services/api/edits-api.js x: 9 # contributors y: 628 line churn media-api/app/controllers/SuggestionController.scala x: 17 # contributors y: 1325 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/ImageOperations.scala x: 22 # contributors y: 2228 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Crop.scala x: 9 # contributors y: 377 line churn cropper/app/controllers/CropperController.scala x: 22 # contributors y: 1182 line churn cropper/app/lib/Crops.scala x: 25 # contributors y: 2041 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/ImageMetadataConverter.scala x: 20 # contributors y: 1513 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/MetadataCleaner.scala x: 15 # contributors y: 437 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/UsageRightsConfig.scala x: 17 # contributors y: 3036 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel-node.html x: 16 # contributors y: 1134 line churn metadata-editor/app/model/UsageRightsProperty.scala x: 22 # contributors y: 2393 line churn kahuna/public/js/util/crop.js x: 11 # contributors y: 707 line churn usage/app/lib/CrierEventProcessor.scala x: 6 # contributors y: 752 line churn kahuna/public/js/usage-rights/usage-rights-editor.js x: 21 # contributors y: 3762 line churn metadata-editor/app/lib/EditsConfig.scala x: 14 # contributors y: 174 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/ThrallMessageSender.scala x: 14 # contributors y: 492 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/ProviderLoader.scala x: 7 # contributors y: 838 line churn kahuna/public/js/components/gr-delete-image/gr-delete-image.js x: 10 # contributors y: 1048 line churn kahuna/public/js/components/gr-info-panel/gr-info-panel.html x: 14 # contributors y: 2932 line churn kahuna/public/js/components/gr-info-panel/gr-info-panel.js x: 12 # contributors y: 1120 line churn kahuna/public/js/upload/manager.js x: 13 # contributors y: 1185 line churn metadata-editor/app/MetadataEditorComponents.scala x: 18 # contributors y: 184 line churn metadata-editor/app/lib/MetadataEditorMetrics.scala x: 11 # contributors y: 100 line churn thrall/app/lib/MigrationSourceWithSender.scala x: 10 # contributors y: 1210 line churn thrall/app/lib/ThrallStreamProcessor.scala x: 14 # contributors y: 1758 line churn thrall/app/lib/kinesis/KinesisConfig.scala x: 8 # contributors y: 662 line churn thrall/app/lib/kinesis/ThrallEventConsumer.scala x: 15 # contributors y: 1754 line churn common-lib/src/main/scala/com/gu/mediaservice/model/ImageMetadata.scala x: 14 # contributors y: 737 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/RoundedExpiration.scala x: 1 # contributors y: 44 line churn kahuna/public/js/usage-rights/usage-rights-editor.html x: 18 # contributors y: 2240 line churn kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.tsx x: 2 # contributors y: 288 line churn kahuna/public/js/search/view.html x: 18 # contributors y: 640 line churn kahuna/public/js/edits/list-editor-compact.html x: 8 # contributors y: 50 line churn kahuna/public/js/edits/list-editor-info-panel.html x: 9 # contributors y: 124 line churn kahuna/public/js/services/graphic-image-blur.js x: 1 # contributors y: 150 line churn kahuna/public/js/components/gr-add-keyword/gr-add-keyword.js x: 2 # contributors y: 320 line churn media-api/app/lib/elasticsearch/SyndicationFilter.scala x: 14 # contributors y: 1333 line churn kahuna/public/js/components/gr-panel-button/gr-panel-button-small.html x: 13 # contributors y: 632 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/Main.scala x: 15 # contributors y: 71 line churn kahuna/public/js/edits/service.js x: 18 # contributors y: 3033 line churn kahuna/public/js/util/batch-tracking.js x: 7 # contributors y: 572 line churn kahuna/public/js/forms/datalist.js x: 8 # contributors y: 1602 line churn kahuna/public/js/services/api/leases.js x: 13 # contributors y: 1029 line churn kahuna/public/js/upload/jobs/upload-jobs.html x: 17 # contributors y: 987 line churn kahuna/public/js/edits/list-editor.css x: 6 # contributors y: 444 line churn kahuna/public/js/components/gr-preset-labels/gr-preset-labels.html x: 13 # contributors y: 547 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/ProposeS3Changes.scala x: 2 # contributors y: 762 line churn kahuna/public/js/components/gu-lazy-table/gu-lazy-table.js x: 10 # contributors y: 1826 line churn kahuna/public/js/services/label.js x: 10 # contributors y: 779 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/ImageProcessorLoader.scala x: 5 # contributors y: 866 line churn kahuna/public/js/components/gr-add-label/gr-add-label.js x: 12 # contributors y: 958 line churn scripts/src/main/java/com/gu/typesafe/config/Config.java x: 2 # contributors y: 2278 line churn scripts/src/main/java/com/gu/typesafe/config/ConfigException.java x: 2 # contributors y: 920 line churn scripts/src/main/java/com/gu/typesafe/config/ConfigFactory.java x: 2 # contributors y: 2516 line churn scripts/src/main/java/com/gu/typesafe/config/ConfigParseOptions.java x: 2 # contributors y: 484 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigBeanImpl.java x: 2 # contributors y: 598 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMerge.java x: 2 # contributors y: 684 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDocumentParser.java x: 2 # contributors y: 1424 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigImpl.java x: 2 # contributors y: 1078 line churn scripts/src/main/java/com/gu/typesafe/config/impl/Parseable.java x: 2 # contributors y: 1746 line churn scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigOrigin.java x: 2 # contributors y: 1150 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel.css x: 9 # contributors y: 1223 line churn kahuna/public/js/services/panel.js x: 6 # contributors y: 1857 line churn kahuna/public/js/components/gr-info-panel/gr-info-panel.css x: 1 # contributors y: 356 line churn collections/app/model/Node.scala x: 5 # contributors y: 971 line churn
26399.0
line churn
  min: 3.0
  average: 653.45
  25th percentile: 90.0
  median: 236.0
  75th percentile: 617.0
  max: 26399.0
0 53.0
# contributors
min: 1.0 | average: 8.55 | 25th percentile: 3.0 | median: 6.0 | 75th percentile: 12.0 | max: 53.0

File Size vs. Line Churn: 811 points

kahuna/public/js/components/gr-my-uploads/gr-my-uploads.tsx x: 74 lines of code y: 370 line churn kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.tsx x: 237 lines of code y: 1042 line churn kahuna/public/js/takedown/crops-and-usages.tsx x: 253 lines of code y: 1254 line churn kahuna/public/js/takedown/delete-from-grid-step.tsx x: 371 lines of code y: 3245 line churn kahuna/public/js/search/index.js x: 283 lines of code y: 2971 line churn kahuna/public/js/search/query.js x: 596 lines of code y: 6504 line churn cdk/lib/image-cache-purger.ts x: 54 lines of code y: 406 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/DateTimeUtils.scala x: 53 lines of code y: 244 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/SupplierProcessors.scala x: 515 lines of code y: 5297 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/CommonConfig.scala x: 110 lines of code y: 1937 line churn dev/oidc-provider/app.js x: 19 lines of code y: 402 line churn dev/script/generate-config/service-config.js x: 256 lines of code y: 1314 line churn image-cache-purger/src/main/scala/com/gu/mediaservice/FastlyApiKeyProvider.scala x: 35 lines of code y: 336 line churn image-cache-purger/src/main/scala/com/gu/mediaservice/FastlyPurger.scala x: 43 lines of code y: 357 line churn image-cache-purger/src/main/scala/com/gu/mediaservice/ImageCachePurger.scala x: 62 lines of code y: 539 line churn image-cache-purger/src/main/scala/com/gu/mediaservice/LocalRun.scala x: 33 lines of code y: 266 line churn kahuna/app/KahunaComponents.scala x: 63 lines of code y: 411 line churn kahuna/app/lib/KahunaConfig.scala x: 76 lines of code y: 506 line churn kahuna/app/views/main.scala.html x: 131 lines of code y: 1824 line churn kahuna/public/js/common/user-actions.js x: 44 lines of code y: 251 line churn kahuna/public/js/edits/image-editor.html x: 314 lines of code y: 3347 line churn kahuna/public/js/forms/datalist.html x: 13 lines of code y: 407 line churn kahuna/public/js/image/controller.js x: 291 lines of code y: 4329 line churn kahuna/public/js/image/view.html x: 195 lines of code y: 8500 line churn kahuna/public/js/main.js x: 426 lines of code y: 5691 line churn kahuna/public/js/search/results.html x: 240 lines of code y: 5491 line churn kahuna/public/js/search/results.js x: 730 lines of code y: 9560 line churn kahuna/public/js/services/telemetry.ts x: 83 lines of code y: 352 line churn kahuna/public/js/takedown/controller.ts x: 26 lines of code y: 173 line churn kahuna/public/js/takedown/delete-from-content-step.tsx x: 218 lines of code y: 1259 line churn kahuna/public/js/takedown/index.ts x: 94 lines of code y: 789 line churn kahuna/public/js/takedown/takedown-context.tsx x: 204 lines of code y: 1688 line churn kahuna/public/js/takedown/takedown-page.tsx x: 120 lines of code y: 1070 line churn kahuna/public/js/takedown/takedown-step.tsx x: 98 lines of code y: 515 line churn kahuna/public/js/takedown/view.html x: 8 lines of code y: 51 line churn kahuna/public/js/types/image.ts x: 86 lines of code y: 582 line churn kahuna/public/js/upload/controller.js x: 59 lines of code y: 1433 line churn kahuna/public/js/upload/dnd-uploader.html x: 11 lines of code y: 76 line churn kahuna/public/js/upload/jobs/required-metadata-editor.html x: 172 lines of code y: 1355 line churn kahuna/public/js/upload/jobs/upload-jobs.js x: 184 lines of code y: 2298 line churn kahuna/public/js/upload/prompt/prompt.html x: 10 lines of code y: 192 line churn kahuna/public/js/upload/prompt/prompt.js x: 22 lines of code y: 187 line churn kahuna/public/js/util/constants/standThemeOverride.ts x: 99 lines of code y: 629 line churn kahuna/public/js/util/poll.ts x: 16 lines of code y: 72 line churn kahuna/public/stylesheets/main.css x: 2605 lines of code y: 26399 line churn media-api/app/MediaApiComponents.scala x: 46 lines of code y: 1051 line churn media-api/app/controllers/MediaApi.scala x: 711 lines of code y: 15500 line churn media-api/app/controllers/UsageController.scala x: 111 lines of code y: 670 line churn media-api/app/lib/ImageResponse.scala x: 361 lines of code y: 4421 line churn media-api/app/lib/MediaApiConfig.scala x: 76 lines of code y: 1160 line churn media-api/app/lib/elasticsearch/ElasticSearch.scala x: 581 lines of code y: 11705 line churn media-api/app/models/UsagesInContent.scala x: 19 lines of code y: 100 line churn riff-raff.yaml x: 203 lines of code y: 1328 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/EyeVine.scala x: 63 lines of code y: 444 line churn usage/app/controllers/UsageApi.scala x: 382 lines of code y: 3034 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/FieldAlias.scala x: 39 lines of code y: 211 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MappingTest.scala x: 248 lines of code y: 704 line churn common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadata.scala x: 67 lines of code y: 476 line churn image-loader/app/lib/imaging/C2PADetector.scala x: 48 lines of code y: 492 line churn image-loader/app/lib/imaging/FileMetadataReader.scala x: 222 lines of code y: 2060 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel.js x: 255 lines of code y: 3573 line churn kahuna/public/js/components/gr-display-crops/gr-display-crops.html x: 28 lines of code y: 267 line churn kahuna/public/js/components/gr-image-metadata/gr-image-metadata.html x: 960 lines of code y: 6616 line churn kahuna/public/js/components/gr-image-metadata/gr-image-metadata.js x: 561 lines of code y: 3935 line churn kahuna/public/js/components/gr-photoshoot/gr-photoshoot.js x: 88 lines of code y: 311 line churn kahuna/public/js/components/gr-preset-labels/gr-preset-labels.js x: 58 lines of code y: 526 line churn kahuna/public/js/components/gr-sort-control/base-sort-control.tsx x: 189 lines of code y: 692 line churn kahuna/public/js/components/gr-sort-control/gr-extended-sort-control.tsx x: 105 lines of code y: 508 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control.tsx x: 88 lines of code y: 1783 line churn kahuna/public/js/components/gu-date-range/gu-date-range.js x: 150 lines of code y: 880 line churn kahuna/public/js/edits/image-editor.js x: 379 lines of code y: 2435 line churn kahuna/public/js/edits/list-editor.js x: 182 lines of code y: 617 line churn kahuna/public/js/preview/image.js x: 161 lines of code y: 1583 line churn kahuna/public/js/search/query-filter.js x: 71 lines of code y: 539 line churn kahuna/public/js/search/query.html x: 85 lines of code y: 2608 line churn kahuna/public/js/upload/view.html x: 26 lines of code y: 998 line churn media-api/app/lib/elasticsearch/QueryBuilder.scala x: 188 lines of code y: 1685 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/AlamyCleanUp.scala x: 97 lines of code y: 611 line churn collections/app/store/CollectionsStore.scala x: 55 lines of code y: 1151 line churn common-lib/src/main/scala/com/gu/mediaservice/GridClient.scala x: 229 lines of code y: 1361 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/ImageIngestOperations.scala x: 106 lines of code y: 865 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/S3ImageStorage.scala x: 44 lines of code y: 625 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/VectorUtils.scala x: 40 lines of code y: 422 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/auth/KeyStore.scala x: 20 lines of code y: 661 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/DynamoDB.scala x: 220 lines of code y: 6094 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/Kinesis.scala x: 47 lines of code y: 579 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3.scala x: 194 lines of code y: 3660 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/S3Vectors.scala x: 103 lines of code y: 2202 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SimpleSqsMessageConsumer.scala x: 50 lines of code y: 534 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsHelpers.scala x: 16 lines of code y: 819 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/aws/SqsViaSnsMessageConsumer.scala x: 76 lines of code y: 384 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/PhotographerRenamer.scala x: 635 lines of code y: 1653 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchClient.scala x: 168 lines of code y: 1854 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/guardian/GuardianUsageRightsConfig.scala x: 633 lines of code y: 3303 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/logging/LogConfig.scala x: 103 lines of code y: 427 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/metrics/CloudWatchMetrics.scala x: 134 lines of code y: 1550 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/usage/ItemToMediaUsage.scala x: 109 lines of code y: 900 line churn common-lib/src/main/scala/com/gu/mediaservice/model/UsageRights.scala x: 498 lines of code y: 7897 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/DigitalUsageMetadata.scala x: 28 lines of code y: 334 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/SyndicationUsageMetadata.scala x: 18 lines of code y: 117 line churn image-loader/app/ImageLoaderComponents.scala x: 45 lines of code y: 749 line churn image-loader/app/controllers/ImageLoaderController.scala x: 570 lines of code y: 9596 line churn image-loader/app/lib/ImageLoaderStore.scala x: 72 lines of code y: 740 line churn image-loader/app/lib/UploadStatusTable.scala x: 49 lines of code y: 410 line churn image-loader/app/model/Projector.scala x: 187 lines of code y: 1834 line churn image-loader/app/model/Uploader.scala x: 451 lines of code y: 2898 line churn kahuna/app/controllers/KahunaController.scala x: 85 lines of code y: 702 line churn kahuna/public/js/components/gr-archiver/gr-archiver.js x: 144 lines of code y: 1217 line churn kahuna/public/js/components/gr-downloader/gr-downloader.html x: 57 lines of code y: 752 line churn kahuna/public/js/components/gr-downloader/gr-downloader.js x: 114 lines of code y: 1314 line churn kahuna/public/js/components/gr-image-usage/gr-image-usage-list.html x: 33 lines of code y: 422 line churn kahuna/public/js/components/gr-image-usage/gr-image-usage.css x: 58 lines of code y: 479 line churn kahuna/public/js/components/gr-image-usage/gr-image-usage.html x: 11 lines of code y: 301 line churn kahuna/public/js/components/gr-image-usage/gr-image-usage.js x: 135 lines of code y: 1081 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control.css x: 142 lines of code y: 391 line churn kahuna/public/js/components/gr-top-bar/gr-top-bar.css x: 39 lines of code y: 349 line churn kahuna/public/js/components/gr-usagerights-summary/gr-usagerights-summary.tsx x: 114 lines of code y: 280 line churn kahuna/public/js/components/gu-date-range/gu-date-range.css x: 60 lines of code y: 300 line churn kahuna/public/js/crop/controller.js x: 218 lines of code y: 2703 line churn kahuna/public/js/crop/view.html x: 135 lines of code y: 2266 line churn kahuna/public/js/directives/ui-crop-box/ui-crop-box.js x: 99 lines of code y: 410 line churn kahuna/public/js/services/image/usages.js x: 91 lines of code y: 631 line churn leases/app/lib/LeaseStore.scala x: 36 lines of code y: 532 line churn media-api/app/lib/elasticsearch/ElasticSearchModel.scala x: 252 lines of code y: 1983 line churn metadata-editor/app/controllers/EditsController.scala x: 182 lines of code y: 4201 line churn metadata-editor/app/controllers/SyndicationController.scala x: 58 lines of code y: 158 line churn metadata-editor/app/lib/Syndication.scala x: 142 lines of code y: 972 line churn rest-lib/src/main/scala/com/gu/mediaservice/lib/guardian/auth/PandaAuthenticationProvider.scala x: 135 lines of code y: 787 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/BulkRemoveFromCollection.scala x: 40 lines of code y: 147 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/EnactS3Changes.scala x: 175 lines of code y: 540 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/LoadFromS3Bucket.scala x: 45 lines of code y: 197 line churn thrall/app/ThrallComponents.scala x: 78 lines of code y: 1605 line churn thrall/app/controllers/ReaperController.scala x: 202 lines of code y: 1691 line churn thrall/app/controllers/ThrallController.scala x: 251 lines of code y: 1431 line churn thrall/app/lib/SyncChecker.scala x: 112 lines of code y: 546 line churn thrall/app/lib/ThrallConfig.scala x: 69 lines of code y: 1110 line churn thrall/app/lib/elasticsearch/GoodToGoCheck.scala x: 88 lines of code y: 421 line churn thrall/app/views/index.scala.html x: 132 lines of code y: 551 line churn thrall/app/views/migrationFailures.scala.html x: 90 lines of code y: 502 line churn thrall/app/views/restoreFromReplica.scala.html x: 30 lines of code y: 73 line churn thrall/app/views/upsertProject.scala.html x: 32 lines of code y: 122 line churn usage/app/lib/ContentApis.scala x: 57 lines of code y: 385 line churn usage/app/model/UsageTable.scala x: 144 lines of code y: 1986 line churn cropper/app/lib/CropStore.scala x: 67 lines of code y: 843 line churn kahuna/public/js/services/api/media-api.js x: 106 lines of code y: 1089 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/ElasticSearchConfig.scala x: 2 lines of code y: 47 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/Mappings.scala x: 336 lines of code y: 4212 line churn kahuna/public/js/components/gr-chips/gr-chips.js x: 166 lines of code y: 1256 line churn media-api/app/lib/querysyntax/QuerySyntax.scala x: 222 lines of code y: 1605 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/EsScript.scala x: 354 lines of code y: 2973 line churn thrall/app/lib/elasticsearch/ElasticSearch.scala x: 678 lines of code y: 5368 line churn kahuna/public/js/search/structured-query/syntax.ts x: 96 lines of code y: 654 line churn .github/dependabot.yml x: 32 lines of code y: 290 line churn auth/app/auth/AuthController.scala x: 123 lines of code y: 909 line churn cdk/lib/image-embedder-lambda.ts x: 201 lines of code y: 2085 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/RedundantTokenRemover.scala x: 55 lines of code y: 183 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Embedding.scala x: 22 lines of code y: 230 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Image.scala x: 148 lines of code y: 1354 line churn common-lib/src/main/scala/com/gu/mediaservice/model/ThrallMessage.scala x: 109 lines of code y: 1543 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/MediaUsage.scala x: 63 lines of code y: 289 line churn common-lib/src/main/scala/com/gu/mediaservice/model/usage/UsageReferenceType.scala x: 33 lines of code y: 91 line churn dev/cloudformation/grid-dev-core.yml x: 328 lines of code y: 1396 line churn dev/script/generate-config/config.json5 x: 51 lines of code y: 157 line churn image-embedder-lambda/src/backfiller/backfiller.ts x: 105 lines of code y: 950 line churn image-embedder-lambda/src/backfiller/elasticSearch.ts x: 69 lines of code y: 682 line churn image-embedder-lambda/src/backfiller/freeImagesFilter.ts x: 549 lines of code y: 2316 line churn image-embedder-lambda/src/embedder/embedder.ts x: 177 lines of code y: 1604 line churn image-embedder-lambda/src/embedder/imageResolver.ts x: 155 lines of code y: 1030 line churn image-embedder-lambda/src/embedder/localRun.ts x: 191 lines of code y: 1457 line churn image-embedder-lambda/src/embedder/resizeImage.ts x: 50 lines of code y: 274 line churn image-embedder-lambda/src/embedder/thrallEventPublisher.ts x: 114 lines of code y: 701 line churn kahuna/public/js/components/gr-cql-input/syntax.ts x: 83 lines of code y: 429 line churn kahuna/public/js/components/gr-icon/gr-icon.js x: 53 lines of code y: 439 line churn kahuna/public/js/components/gr-more-like-this/gr-more-like-this.css x: 33 lines of code y: 166 line churn kahuna/public/js/image/service.js x: 42 lines of code y: 887 line churn kahuna/public/js/preview/image.html x: 177 lines of code y: 2526 line churn kahuna/public/js/search/structured-query/query-suggestions.ts x: 274 lines of code y: 1248 line churn media-api/app/lib/ImageExtras.scala x: 79 lines of code y: 777 line churn media-api/app/lib/ImagePersistenceReasons.scala x: 103 lines of code y: 1027 line churn media-api/app/lib/elasticsearch/SearchFilters.scala x: 64 lines of code y: 3565 line churn thrall/app/lib/kinesis/MessageProcessor.scala x: 189 lines of code y: 3928 line churn usage/app/lib/MediaUsageBuilder.scala x: 110 lines of code y: 295 line churn usage/app/model/UsageGroup.scala x: 246 lines of code y: 1843 line churn kahuna/public/js/components/gr-sort-control/gr-sort-control-config.ts x: 44 lines of code y: 453 line churn collections/app/controllers/CollectionsController.scala x: 169 lines of code y: 2103 line churn common-lib/src/main/scala/com/gu/mediaservice/model/Collection.scala x: 30 lines of code y: 694 line churn kahuna/public/js/search/structured-query/structured-query.js x: 96 lines of code y: 1108 line churn kahuna/public/js/components/gr-notifications-banner/gr-notifications-banner.tsx x: 228 lines of code y: 938 line churn kahuna/public/js/components/gr-search-wrapper/gr-search-wrapper.html x: 25 lines of code y: 70 line churn kahuna/public/js/leases/leases.js x: 267 lines of code y: 1116 line churn media-api/app/controllers/SuggestionController.scala x: 39 lines of code y: 1325 line churn kahuna/public/js/leases/leases.css x: 140 lines of code y: 457 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/ImageOperations.scala x: 247 lines of code y: 2228 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/imaging/im4jwrapper/ImageMagick.scala x: 100 lines of code y: 551 line churn cropper/app/controllers/CropperController.scala x: 185 lines of code y: 1182 line churn cropper/app/lib/Crops.scala x: 118 lines of code y: 2041 line churn kahuna/public/js/services/api/leases-helper.js x: 42 lines of code y: 97 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/metadata/ImageMetadataConverter.scala x: 141 lines of code y: 1513 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/cleanup/MetadataCleaner.scala x: 27 lines of code y: 437 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/UsageRightsConfig.scala x: 176 lines of code y: 3036 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel-node.html x: 79 lines of code y: 1134 line churn metadata-editor/app/model/UsageRightsProperty.scala x: 113 lines of code y: 2393 line churn kahuna/public/js/util/crop.js x: 61 lines of code y: 707 line churn kahuna/public/js/directives/ui-crop-box/cropper-override.css x: 77 lines of code y: 230 line churn usage/app/lib/CrierEventProcessor.scala x: 155 lines of code y: 752 line churn media-api/app/lib/usagerights/CostCalculator.scala x: 42 lines of code y: 755 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/BackfillEditLastModified.scala x: 165 lines of code y: 390 line churn kahuna/public/js/usage-rights/usage-rights-editor.js x: 220 lines of code y: 3762 line churn metadata-editor/app/controllers/EditsApi.scala x: 81 lines of code y: 1257 line churn auth/app/auth/AuthConfig.scala x: 6 lines of code y: 114 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/ProviderLoader.scala x: 172 lines of code y: 838 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/elasticsearch/MigrationStatusProvider.scala x: 72 lines of code y: 292 line churn common-lib/src/main/scala/com/gu/mediaservice/model/FileMetadataAggregator.scala x: 86 lines of code y: 370 line churn common-lib/src/main/scala/com/gu/mediaservice/model/SyndicationRights.scala x: 75 lines of code y: 429 line churn image-loader/app/controllers/ImageLoaderManagement.scala x: 30 lines of code y: 376 line churn kahuna/app/lib/MetadataTemplateConfig.scala x: 98 lines of code y: 372 line churn kahuna/public/js/components/gr-delete-image/gr-delete-image.js x: 53 lines of code y: 1048 line churn kahuna/public/js/components/gr-info-panel/gr-info-panel.html x: 49 lines of code y: 2932 line churn kahuna/public/js/upload/manager.js x: 132 lines of code y: 1185 line churn leases/app/lib/LeaseNotifier.scala x: 26 lines of code y: 539 line churn thrall/app/lib/MigrationSourceWithSender.scala x: 100 lines of code y: 1210 line churn thrall/app/lib/ThrallStreamProcessor.scala x: 99 lines of code y: 1758 line churn thrall/app/lib/elasticsearch/ThrallMigrationClient.scala x: 164 lines of code y: 883 line churn thrall/app/lib/kinesis/KinesisConfig.scala x: 40 lines of code y: 662 line churn thrall/app/lib/kinesis/ThrallEventConsumer.scala x: 117 lines of code y: 1754 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/ImageFields.scala x: 63 lines of code y: 172 line churn common-lib/src/main/scala/com/gu/mediaservice/model/ImageMetadata.scala x: 97 lines of code y: 737 line churn kahuna/public/js/components/gr-feature-switch-panel/gr-feature-switch-panel.tsx x: 117 lines of code y: 518 line churn kahuna/public/js/usage-rights/usage-rights-editor.html x: 199 lines of code y: 2240 line churn kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.tsx x: 121 lines of code y: 288 line churn kahuna/public/js/components/gr-confirmation-modal/gr-confirmation-modal.css x: 75 lines of code y: 150 line churn kahuna/public/js/components/gr-permissions-filter/gr-permissions-filter.css x: 77 lines of code y: 202 line churn kahuna/public/js/components/gr-permissions-filter/gr-toggle-switch.css x: 96 lines of code y: 232 line churn kahuna/public/js/search/view.html x: 37 lines of code y: 640 line churn thrall/app/lib/kinesis/MessageTranslator.scala x: 83 lines of code y: 625 line churn kahuna/public/js/upload/dnd-uploader.js x: 188 lines of code y: 1414 line churn kahuna/public/js/components/gr-add-keyword/gr-add-keyword.js x: 105 lines of code y: 320 line churn kahuna/public/js/components/gr-panel-button/gr-panel-button-small.html x: 49 lines of code y: 632 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/Services.scala x: 78 lines of code y: 657 line churn kahuna/public/js/edits/service.js x: 195 lines of code y: 3033 line churn kahuna/public/js/util/batch-tracking.js x: 39 lines of code y: 572 line churn kahuna/public/js/forms/datalist.js x: 131 lines of code y: 1602 line churn kahuna/public/js/services/api/leases.js x: 173 lines of code y: 1029 line churn kahuna/public/js/upload/jobs/upload-jobs.html x: 43 lines of code y: 987 line churn usage/app/lib/UsageRecorder.scala x: 118 lines of code y: 2361 line churn common-lib/src/main/scala/com/gu/mediaservice/ImageDataMerger.scala x: 68 lines of code y: 809 line churn kahuna/public/js/components/gr-crop-image/gr-crop-image.html x: 18 lines of code y: 235 line churn image-loader/app/lib/FailureResponse.scala x: 55 lines of code y: 527 line churn kahuna/public/js/services/image-accessor.js x: 81 lines of code y: 577 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/EsImageMetadata.scala x: 137 lines of code y: 543 line churn kahuna/public/js/util/async.js x: 73 lines of code y: 1114 line churn scripts/src/main/scala/com/gu/mediaservice/scripts/ProposeS3Changes.scala x: 219 lines of code y: 762 line churn quarantine-status/stacks/lambda.yml x: 100 lines of code y: 224 line churn kahuna/public/js/components/gu-lazy-table/gu-lazy-table.js x: 262 lines of code y: 1826 line churn kahuna/public/js/services/label.js x: 86 lines of code y: 779 line churn common-lib/src/main/scala/com/gu/mediaservice/lib/config/ImageProcessorLoader.scala x: 3 lines of code y: 866 line churn kahuna/public/js/components/gr-add-label/gr-add-label.js x: 77 lines of code y: 958 line churn kahuna/public/js/services/api/collections-api.js x: 146 lines of code y: 1281 line churn scripts/src/main/java/com/gu/typesafe/config/Config.java x: 66 lines of code y: 2278 line churn scripts/src/main/java/com/gu/typesafe/config/ConfigException.java x: 277 lines of code y: 920 line churn scripts/src/main/java/com/gu/typesafe/config/ConfigFactory.java x: 293 lines of code y: 2516 line churn scripts/src/main/java/com/gu/typesafe/config/ConfigMergeable.java x: 4 lines of code y: 144 line churn scripts/src/main/java/com/gu/typesafe/config/impl/AbstractConfigObject.java x: 143 lines of code y: 434 line churn scripts/src/main/java/com/gu/typesafe/config/impl/AbstractConfigValue.java x: 279 lines of code y: 822 line churn scripts/src/main/java/com/gu/typesafe/config/impl/BadMap.java x: 105 lines of code y: 274 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigBeanImpl.java x: 245 lines of code y: 598 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigConcatenation.java x: 217 lines of code y: 586 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMerge.java x: 256 lines of code y: 684 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDelayedMergeObject.java x: 233 lines of code y: 652 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigDocumentParser.java x: 576 lines of code y: 1424 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigImpl.java x: 422 lines of code y: 1078 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigImplUtil.java x: 235 lines of code y: 604 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigNodeObject.java x: 241 lines of code y: 562 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigParser.java x: 330 lines of code y: 844 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ConfigReference.java x: 119 lines of code y: 322 line churn scripts/src/main/java/com/gu/typesafe/config/impl/DefaultTransformer.java x: 94 lines of code y: 256 line churn scripts/src/main/java/com/gu/typesafe/config/impl/Parseable.java x: 643 lines of code y: 1746 line churn scripts/src/main/java/com/gu/typesafe/config/impl/Path.java x: 177 lines of code y: 464 line churn scripts/src/main/java/com/gu/typesafe/config/impl/PathParser.java x: 207 lines of code y: 562 line churn scripts/src/main/java/com/gu/typesafe/config/impl/PropertiesParser.java x: 154 lines of code y: 420 line churn scripts/src/main/java/com/gu/typesafe/config/impl/ResolveSource.java x: 269 lines of code y: 700 line churn scripts/src/main/java/com/gu/typesafe/config/impl/SerializedConfigValue.java x: 440 lines of code y: 1056 line churn scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfig.java x: 940 lines of code y: 2370 line churn scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigList.java x: 372 lines of code y: 920 line churn scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigObject.java x: 542 lines of code y: 1354 line churn scripts/src/main/java/com/gu/typesafe/config/impl/SimpleConfigOrigin.java x: 472 lines of code y: 1150 line churn scripts/src/main/java/com/gu/typesafe/config/impl/Tokenizer.java x: 558 lines of code y: 1390 line churn usage/app/lib/UsageMetadataBuilder.scala x: 27 lines of code y: 667 line churn usage/app/model/PrintUsageRequest.scala x: 23 lines of code y: 541 line churn kahuna/public/js/components/gr-collections-panel/gr-collections-panel.css x: 71 lines of code y: 1223 line churn kahuna/public/js/services/panel.js x: 51 lines of code y: 1857 line churn kahuna/public/js/components/gr-chips/gr-chip-input.js x: 132 lines of code y: 638 line churn kahuna/public/js/components/gr-info-panel/gr-info-panel.css x: 3 lines of code y: 356 line churn collections/app/model/Node.scala x: 41 lines of code y: 971 line churn
26399.0
line churn
  min: 3.0
  average: 653.45
  25th percentile: 90.0
  median: 236.0
  75th percentile: 617.0
  max: 26399.0
0 2605.0
lines of code
min: 1.0 | average: 80.47 | 25th percentile: 16.0 | median: 40.0 | 75th percentile: 85.0 | max: 2605.0