Overview
File Change Frequency Overall
  • There are 425 files with 28,676 lines of code.
    • 4 files changed more than 100 times (1,428 lines of code)
    • 22 files changed 51-100 times (4,114 lines of code)
    • 50 files changed 21-50 times (5,624 lines of code)
    • 194 files changed 6-20 times (9,900 lines of code)
    • 155 files changed 1-5 times (7,610 lines of code)
4% | 14% | 19% | 34% | 26%
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 425 files with 28,676 lines of code.
    • 10 files changed by more than 25 contributors (3,005 lines of code)
    • 80 files changed by 11-25 contributors (7,831 lines of code)
    • 120 files changed by 6-10 contributors (6,829 lines of code)
    • 197 files changed by 2-5 contributors (10,449 lines of code)
    • 18 files changed by 1 contributor (562 lines of code)
10% | 27% | 23% | 36% | 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, ts, tsx, scss, md, sh, json, svg, yaml, js, xml, html, sbt, yml, gitignore, txt, 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
scala7% | 20% | 24% | 36% | 11%
scss23% | 12% | 28% | 29% | 5%
yaml0% | 94% | 2% | <1% | 2%
ts0% | 8% | 7% | 57% | 26%
tsx0% | 0% | 21% | 22% | 55%
html0% | 0% | 44% | 30% | 24%
js0% | 0% | 0% | 35% | 64%
xml0% | 0% | 0% | 44% | 55%
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
app19% | 31% | 13% | 30% | 5%
public3% | 4% | 18% | 34% | 38%
uploader0% | 33% | 7% | 46% | 12%
common0% | 12% | 37% | 34% | 16%
cloudformation0% | 100% | 0% | 0% | 0%
conf0% | 71% | 0% | 28% | 0%
expirer0% | 0% | 91% | 0% | 8%
pluto-message-ingestion0% | 0% | 0% | 54% | 45%
scheduler0% | 0% | 0% | 84% | 15%
ROOT0% | 0% | 0% | 100% | 0%
project0% | 0% | 0% | 100% | 0%
nginx0% | 0% | 0% | 100% | 0%
scripts0% | 0% | 0% | 0% | 100%
.github0% | 0% | 0% | 0% | 100%
.devcontainer0% | 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
PublishAtomCommand.scala
in app/model/commands
396 13 2016-11-23 2026-03-03 152 26 +2947 / -1666 akash1810 10963046+andrew-nowak
di.scala
in app
214 1 2016-06-29 2026-09-30 132 34 +1359 / -714 paul.roberts aascherson
_forms.scss
in public/video-ui/styles/components
525 - 2016-10-12 2026-08-06 124 35 +3014 / -1021 shaun.dillon lindsey.dew
UploadController.scala
in app/controllers
293 12 2017-02-07 2026-09-30 101 26 +3345 / -1851 michael.barton aascherson
Api.scala
in app/controllers
237 13 2016-06-02 2026-06-10 99 33 +1591 / -1040 paul.roberts 89925410+waisingyiu
VideoUIApp.scala
in app/controllers
93 3 2016-10-11 2026-09-30 95 27 +757 / -328 christopher.lloyd aascherson
AWS.scala
in app/util
64 1 2016-06-07 2026-06-10 79 27 +749 / -544 paul.roberts 89925410+waisingyiu
media-atom-maker-dev.yml
in cloudformation
543 - 2016-06-29 2026-10-06 79 29 +2433 / -1118 james.gorrie junyuan.xue
_video.scss
in public/video-ui/styles/layout
165 - 2016-10-27 2026-06-04 77 26 +1094 / -456 shaun lindsey.dew
AddAssetCommand.scala
in app/model/commands
176 5 2016-11-01 2026-08-06 74 25 +1728 / -844 sam.cutler aascherson
VideosApi.ts
in public/video-ui/src/services
455 14 2023-05-15 2026-09-30 69 25 +2233 / -931 david.furey aascherson
cfn-template.yaml
in uploader/src/main/resources
475 - 2017-05-09 2026-06-29 67 27 +2128 / -521 michael.barton anna.beddow
65 - 2017-01-26 2026-06-10 65 25 +363 / -221 jennifer.sivapalan 89925410+waisingyiu
main.scss
in public/video-ui/styles
43 - 2016-10-12 2025-08-12 64 22 +293 / -142 shaun.dillon 30567854+dblatcher
UpdateAtomCommand.scala
in app/model/commands
208 7 2016-11-14 2026-06-10 62 21 +1531 / -476 sam.cutler 89925410+waisingyiu
ClientConfig.scala
in app/model
43 - 2016-10-31 2026-09-30 58 22 +252 / -84 shaun.dillon aascherson
CommandException.scala
in app/model/commands
125 5 2016-11-01 2026-08-06 58 24 +658 / -147 sam.cutler aascherson
YouTubeAccess.scala
in common/src/main/scala/com/gu/media/youtube
170 5 2017-02-21 2026-05-14 58 17 +820 / -289 michael.barton lindsey.dew
ActiveAssetCommand.scala
in app/model/commands
105 3 2016-11-22 2026-07-02 56 22 +1350 / -761 reetta.vaahtoranta anna.beddow
DataStores.scala
in app/data
141 4 2017-02-21 2026-06-04 56 13 +778 / -332 michael.barton 10963046+andrew-nowak
YouTubeVideos.scala
in common/src/main/scala/com/gu/media/youtube
217 9 2017-02-21 2026-02-10 53 14 +1186 / -527 michael.barton andrew.nowak
AddAssetToAtom.scala
in uploader/src/main/scala/com/gu/media/upload
225 11 2017-05-09 2026-07-06 53 17 +1062 / -400 michael.barton 37048459+bryophyta
248 8 2017-03-27 2026-01-29 53 17 +1720 / -670 michael.barton 40991816+fweddi
UploadMetadata.scala
in common/src/main/scala/com/gu/media/upload/model
46 - 2017-03-21 2026-07-06 52 20 +342 / -148 reetta.vaahtoranta 37048459+bryophyta
_buttons.scss
in public/video-ui/styles/components
79 - 2016-10-12 2024-11-18 52 19 +556 / -261 shaun.dillon rhys.mills
package.scala
in common/src/main/scala/com/gu/media/youtube
191 10 2017-02-21 2026-04-23 51 15 +1144 / -586 michael.barton lindsey.dew
CreateAtomCommand.scala
in app/model/commands
80 1 2016-11-16 2025-10-15 47 19 +819 / -319 sam.cutler 37048459+bryophyta
DynamoAccess.scala
in common/src/main/scala/com/gu/media/aws
51 1 2017-02-21 2026-06-04 45 14 +341 / -183 michael.barton 10963046+andrew-nowak
90 8 2017-05-26 2026-07-01 45 15 +907 / -574 michael.barton anna.beddow
UploadAccess.scala
in common/src/main/scala/com/gu/media/aws
48 2 2017-02-21 2026-08-06 42 16 +372 / -170 michael.barton aascherson
VideoAsset.tsx
in public/video-ui/src/components/VideoUpload
262 8 2025-09-04 2026-08-26 42 22 +2423 / -836 david.blatcher aascherson
_topbar.scss
in public/video-ui/styles/layout
93 - 2016-10-13 2026-09-30 40 17 +541 / -255 shaun.dillon aascherson
_upload.scss
in public/video-ui/styles/layout
49 - 2017-02-07 2025-09-15 39 13 +592 / -428 michael.barton 73653255+lakshmirpillai
Permissions.scala
in common/src/main/scala/com/gu/media
59 2 2017-03-24 2026-06-16 39 22 +430 / -324 michael.barton david.furey
142 5 2017-10-02 2026-07-06 39 15 +606 / -173 michael.barton 37048459+bryophyta
MediaAtom.scala
in common/src/main/scala/com/gu/media/model
336 6 2017-10-16 2026-05-18 39 18 +1186 / -284 reetta.vaahtoranta lindsey.dew
_icons.scss
in public/video-ui/styles/layout
125 - 2017-01-11 2024-11-18 38 12 +689 / -278 chris.j.clarke rhys.mills
ExpirerLambda.scala
in expirer/src/main/scala/com/gu/media/expirer
112 3 2017-02-27 2025-11-19 36 14 +608 / -165 michael.barton 37048459+bryophyta
DeleteCommand.scala
in app/model/commands
65 2 2017-03-14 2026-04-23 35 15 +270 / -88 jonathan.hare-winton anna.beddow
s3Upload.ts
in public/video-ui/src/slices
164 1 2025-09-18 2026-09-30 35 18 +941 / -275 lakshmi.pillai aascherson
lambda-template.yaml
in uploader/src/main/resources
32 - 2017-05-09 2026-06-30 34 12 +119 / -28 michael.barton 10963046+andrew-nowak
app.scala.html
in app/views/VideoUIApp
40 - 2016-10-11 2026-09-14 34 20 +181 / -54 christopher.lloyd aascherson
Youtube.scala
in app/controllers
41 3 2016-11-21 2025-10-15 34 17 +372 / -185 christopher.lloyd 37048459+bryophyta
index.tsx
in public/video-ui/src/pages/Search
210 3 2023-06-05 2026-09-14 34 16 +1304 / -835 rhys_mills aascherson
SendToTranscoderV2.scala
in uploader/src/main/scala/com/gu/media/upload
88 2 2025-05-23 2026-07-06 32 12 +824 / -498 david.furey 37048459+bryophyta
_details-list.scss
in public/video-ui/styles/components
35 - 2016-10-27 2024-11-18 31 16 +253 / -183 shaun rhys.mills
AtomController.scala
in app/controllers
81 3 2016-06-03 2025-10-15 31 20 +388 / -183 paul.roberts 37048459+bryophyta
AwsAccess.scala
in common/src/main/scala/com/gu/media/aws
27 2 2017-02-21 2026-02-27 30 13 +256 / -147 michael.barton david.furey
MediaAtomHelpers.scala
in common/src/main/scala/com/gu/media/util
100 8 2017-06-20 2026-06-10 30 15 +886 / -353 michael.barton 89925410+waisingyiu
_variables.scss
in public/video-ui/styles/abstracts
58 - 2016-10-12 2024-11-18 29 16 +456 / -160 shaun.dillon rhys.mills
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
UploadController.scala
in app/controllers
293 12 2017-02-07 2026-09-30 101 26 +3345 / -1851 michael.barton aascherson
IconikProjectPicker.tsx
in public/video-ui/src/components/Iconik
305 2 2025-10-30 2026-09-14 22 8 +3407 / -1316 pete.faulconbridge aascherson
PublishAtomCommand.scala
in app/model/commands
396 13 2016-11-23 2026-03-03 152 26 +2947 / -1666 akash1810 10963046+andrew-nowak
_forms.scss
in public/video-ui/styles/components
525 - 2016-10-12 2026-08-06 124 35 +3014 / -1021 shaun.dillon lindsey.dew
media-atom-maker-dev.yml
in cloudformation
543 - 2016-06-29 2026-10-06 79 29 +2433 / -1118 james.gorrie junyuan.xue
VideoAsset.tsx
in public/video-ui/src/components/VideoUpload
262 8 2025-09-04 2026-08-26 42 22 +2423 / -836 david.blatcher aascherson
VideosApi.ts
in public/video-ui/src/services
455 14 2023-05-15 2026-09-30 69 25 +2233 / -931 david.furey aascherson
StandTagPicker.tsx
in public/video-ui/src/components/FormFields
327 1 2026-05-06 2026-08-06 21 8 +2149 / -997 89925410+waisingyiu lindsey.dew
ScheduledLaunch.tsx
in public/video-ui/src/components
262 4 2026-07-10 2026-09-14 10 4 +3009 / -29 junyuan.xue aascherson
cfn-template.yaml
in uploader/src/main/resources
475 - 2017-05-09 2026-06-29 67 27 +2128 / -521 michael.barton anna.beddow
Api.scala
in app/controllers
237 13 2016-06-02 2026-06-10 99 33 +1591 / -1040 paul.roberts 89925410+waisingyiu
AddAssetCommand.scala
in app/model/commands
176 5 2016-11-01 2026-08-06 74 25 +1728 / -844 sam.cutler aascherson
248 8 2017-03-27 2026-01-29 53 17 +1720 / -670 michael.barton 40991816+fweddi
index.tsx
in public/video-ui/src/pages/Search
210 3 2023-06-05 2026-09-14 34 16 +1304 / -835 rhys_mills aascherson
ActiveAssetCommand.scala
in app/model/commands
105 3 2016-11-22 2026-07-02 56 22 +1350 / -761 reetta.vaahtoranta anna.beddow
WorkflowApi.ts
in public/video-ui/src/services
298 14 2025-09-19 2026-07-08 15 10 +1681 / -394 emily.bourke aascherson
di.scala
in app
214 1 2016-06-29 2026-09-30 132 34 +1359 / -714 paul.roberts aascherson
index.tsx
in public/video-ui/src/pages/Video
229 7 2026-09-01 2026-09-14 4 2 +1931 / -83 david.furey aascherson
UpdateAtomCommand.scala
in app/model/commands
208 7 2016-11-14 2026-06-10 62 21 +1531 / -476 sam.cutler 89925410+waisingyiu
TagPicker.tsx
in public/video-ui/src/components/FormFields
471 12 2026-09-01 2026-09-14 4 2 +1855 / -136 david.furey aascherson
Create.tsx
in public/video-ui/src/components
250 2 2025-11-26 2026-09-14 22 11 +1371 / -393 freddiepreece aascherson
package.scala
in common/src/main/scala/com/gu/media/youtube
191 10 2017-02-21 2026-04-23 51 15 +1144 / -586 michael.barton lindsey.dew
YouTubeVideos.scala
in common/src/main/scala/com/gu/media/youtube
217 9 2017-02-21 2026-02-10 53 14 +1186 / -527 michael.barton andrew.nowak
YouTubePartnerApi.scala
in common/src/main/scala/com/gu/media/youtube
365 10 2018-08-21 2026-01-27 22 10 +1293 / -318 akash1810 10963046+andrew-nowak
87 1 2026-06-17 2026-08-06 9 3 +1513 / -43 pete.faulconbridge aascherson
_video.scss
in public/video-ui/styles/layout
165 - 2016-10-27 2026-06-04 77 26 +1094 / -456 shaun lindsey.dew
90 8 2017-05-26 2026-07-01 45 15 +907 / -574 michael.barton anna.beddow
MediaAtom.scala
in common/src/main/scala/com/gu/media/model
336 6 2017-10-16 2026-05-18 39 18 +1186 / -284 reetta.vaahtoranta lindsey.dew
AddAssetToAtom.scala
in uploader/src/main/scala/com/gu/media/upload
225 11 2017-05-09 2026-07-06 53 17 +1062 / -400 michael.barton 37048459+bryophyta
workflow.ts
in public/video-ui/src/slices
157 2 2025-09-16 2026-09-14 16 9 +1006 / -355 emily.bourke aascherson
SendToTranscoderV2.scala
in uploader/src/main/scala/com/gu/media/upload
88 2 2025-05-23 2026-07-06 32 12 +824 / -498 david.furey 37048459+bryophyta
AWS.scala
in app/util
64 1 2016-06-07 2026-06-10 79 27 +749 / -544 paul.roberts 89925410+waisingyiu
MediaAtomHelpers.scala
in common/src/main/scala/com/gu/media/util
100 8 2017-06-20 2026-06-10 30 15 +886 / -353 michael.barton 89925410+waisingyiu
index.tsx
in public/video-ui/src/pages/Upload
143 - 2025-10-16 2026-09-30 27 12 +890 / -330 pete.faulconbridge aascherson
s3Upload.ts
in public/video-ui/src/slices
164 1 2025-09-18 2026-09-30 35 18 +941 / -275 lakshmi.pillai aascherson
VideoItem.tsx
in public/video-ui/src/components/VideoItem
140 3 2026-08-03 2026-08-06 2 2 +1208 / -0 aascherson lindsey.dew
Header.tsx
in public/video-ui/src/components
336 11 2026-09-01 2026-09-30 7 3 +1176 / -30 david.furey aascherson
CreateAtomCommand.scala
in app/model/commands
80 1 2016-11-16 2025-10-15 47 19 +819 / -319 sam.cutler 37048459+bryophyta
video.ts
in public/video-ui/src/slices
107 - 2025-09-09 2026-09-14 22 7 +720 / -403 samhession aascherson
DataStores.scala
in app/data
141 4 2017-02-21 2026-06-04 56 13 +778 / -332 michael.barton 10963046+andrew-nowak
YouTubeAccess.scala
in common/src/main/scala/com/gu/media/youtube
170 5 2017-02-21 2026-05-14 58 17 +820 / -289 michael.barton lindsey.dew
videoCreateOptions.ts
in public/video-ui/src/constants
102 - 2025-11-27 2026-07-08 17 7 +761 / -326 freddiepreece aascherson
VideoUIApp.scala
in app/controllers
93 3 2016-10-11 2026-09-30 95 27 +757 / -328 christopher.lloyd aascherson
command-helpers.ts
in public/video-ui/src/components/FormFields/richtext/utils
137 5 2023-02-10 2026-09-14 14 9 +716 / -346 rhystmills aascherson
error.ts
in public/video-ui/src/slices
142 5 2025-08-19 2026-09-30 21 6 +884 / -165 samhession aascherson
YouTubeUploader.scala
in common/src/main/scala/com/gu/media/youtube
154 4 2017-03-21 2026-01-21 24 12 +752 / -274 reetta.vaahtoranta lindsey.dew
_upload.scss
in public/video-ui/styles/layout
49 - 2017-02-07 2025-09-15 39 13 +592 / -428 michael.barton 73653255+lakshmirpillai
VideoData.tsx
in public/video-ui/src/components/VideoData
218 - 2026-09-01 2026-09-14 4 2 +867 / -144 david.furey aascherson
_icons.scss
in public/video-ui/styles/layout
125 - 2017-01-11 2024-11-18 38 12 +689 / -278 chris.j.clarke rhys.mills
JsonConversions.scala
in common/src/main/scala/com/gu/media/util
252 - 2017-10-16 2026-06-29 27 15 +777 / -159 reetta.vaahtoranta anna.beddow
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
_forms.scss
in public/video-ui/styles/components
525 - 2016-10-12 2026-08-06 124 35 +3014 / -1021 shaun.dillon lindsey.dew
di.scala
in app
214 1 2016-06-29 2026-09-30 132 34 +1359 / -714 paul.roberts aascherson
Api.scala
in app/controllers
237 13 2016-06-02 2026-06-10 99 33 +1591 / -1040 paul.roberts 89925410+waisingyiu
media-atom-maker-dev.yml
in cloudformation
543 - 2016-06-29 2026-10-06 79 29 +2433 / -1118 james.gorrie junyuan.xue
VideoUIApp.scala
in app/controllers
93 3 2016-10-11 2026-09-30 95 27 +757 / -328 christopher.lloyd aascherson
AWS.scala
in app/util
64 1 2016-06-07 2026-06-10 79 27 +749 / -544 paul.roberts 89925410+waisingyiu
cfn-template.yaml
in uploader/src/main/resources
475 - 2017-05-09 2026-06-29 67 27 +2128 / -521 michael.barton anna.beddow
PublishAtomCommand.scala
in app/model/commands
396 13 2016-11-23 2026-03-03 152 26 +2947 / -1666 akash1810 10963046+andrew-nowak
UploadController.scala
in app/controllers
293 12 2017-02-07 2026-09-30 101 26 +3345 / -1851 michael.barton aascherson
_video.scss
in public/video-ui/styles/layout
165 - 2016-10-27 2026-06-04 77 26 +1094 / -456 shaun lindsey.dew
AddAssetCommand.scala
in app/model/commands
176 5 2016-11-01 2026-08-06 74 25 +1728 / -844 sam.cutler aascherson
VideosApi.ts
in public/video-ui/src/services
455 14 2023-05-15 2026-09-30 69 25 +2233 / -931 david.furey aascherson
65 - 2017-01-26 2026-06-10 65 25 +363 / -221 jennifer.sivapalan 89925410+waisingyiu
CommandException.scala
in app/model/commands
125 5 2016-11-01 2026-08-06 58 24 +658 / -147 sam.cutler aascherson
main.scss
in public/video-ui/styles
43 - 2016-10-12 2025-08-12 64 22 +293 / -142 shaun.dillon 30567854+dblatcher
ClientConfig.scala
in app/model
43 - 2016-10-31 2026-09-30 58 22 +252 / -84 shaun.dillon aascherson
ActiveAssetCommand.scala
in app/model/commands
105 3 2016-11-22 2026-07-02 56 22 +1350 / -761 reetta.vaahtoranta anna.beddow
VideoAsset.tsx
in public/video-ui/src/components/VideoUpload
262 8 2025-09-04 2026-08-26 42 22 +2423 / -836 david.blatcher aascherson
Permissions.scala
in common/src/main/scala/com/gu/media
59 2 2017-03-24 2026-06-16 39 22 +430 / -324 michael.barton david.furey
UpdateAtomCommand.scala
in app/model/commands
208 7 2016-11-14 2026-06-10 62 21 +1531 / -476 sam.cutler 89925410+waisingyiu
UploadMetadata.scala
in common/src/main/scala/com/gu/media/upload/model
46 - 2017-03-21 2026-07-06 52 20 +342 / -148 reetta.vaahtoranta 37048459+bryophyta
app.scala.html
in app/views/VideoUIApp
40 - 2016-10-11 2026-09-14 34 20 +181 / -54 christopher.lloyd aascherson
AtomController.scala
in app/controllers
81 3 2016-06-03 2025-10-15 31 20 +388 / -183 paul.roberts 37048459+bryophyta
_buttons.scss
in public/video-ui/styles/components
79 - 2016-10-12 2024-11-18 52 19 +556 / -261 shaun.dillon rhys.mills
CreateAtomCommand.scala
in app/model/commands
80 1 2016-11-16 2025-10-15 47 19 +819 / -319 sam.cutler 37048459+bryophyta
PanDomainAuthActions.scala
in app/controllers
44 2 2016-06-29 2025-10-15 21 19 +208 / -133 paul.roberts 37048459+bryophyta
MediaAtom.scala
in common/src/main/scala/com/gu/media/model
336 6 2017-10-16 2026-05-18 39 18 +1186 / -284 reetta.vaahtoranta lindsey.dew
s3Upload.ts
in public/video-ui/src/slices
164 1 2025-09-18 2026-09-30 35 18 +941 / -275 lakshmi.pillai aascherson
YouTubeAccess.scala
in common/src/main/scala/com/gu/media/youtube
170 5 2017-02-21 2026-05-14 58 17 +820 / -289 michael.barton lindsey.dew
AddAssetToAtom.scala
in uploader/src/main/scala/com/gu/media/upload
225 11 2017-05-09 2026-07-06 53 17 +1062 / -400 michael.barton 37048459+bryophyta
248 8 2017-03-27 2026-01-29 53 17 +1720 / -670 michael.barton 40991816+fweddi
_topbar.scss
in public/video-ui/styles/layout
93 - 2016-10-13 2026-09-30 40 17 +541 / -255 shaun.dillon aascherson
Youtube.scala
in app/controllers
41 3 2016-11-21 2025-10-15 34 17 +372 / -185 christopher.lloyd 37048459+bryophyta
_bar.scss
in public/video-ui/styles/components
101 - 2016-12-06 2025-10-09 23 17 +580 / -175 christopher.lloyd samhession
UploadAccess.scala
in common/src/main/scala/com/gu/media/aws
48 2 2017-02-21 2026-08-06 42 16 +372 / -170 michael.barton aascherson
index.tsx
in public/video-ui/src/pages/Search
210 3 2023-06-05 2026-09-14 34 16 +1304 / -835 rhys_mills aascherson
_details-list.scss
in public/video-ui/styles/components
35 - 2016-10-27 2024-11-18 31 16 +253 / -183 shaun rhys.mills
_variables.scss
in public/video-ui/styles/abstracts
58 - 2016-10-12 2024-11-18 29 16 +456 / -160 shaun.dillon rhys.mills
27 - 2017-03-27 2026-01-21 26 16 +122 / -42 michael.barton lindsey.dew
package.scala
in common/src/main/scala/com/gu/media/youtube
191 10 2017-02-21 2026-04-23 51 15 +1144 / -586 michael.barton lindsey.dew
90 8 2017-05-26 2026-07-01 45 15 +907 / -574 michael.barton anna.beddow
142 5 2017-10-02 2026-07-06 39 15 +606 / -173 michael.barton 37048459+bryophyta
DeleteCommand.scala
in app/model/commands
65 2 2017-03-14 2026-04-23 35 15 +270 / -88 jonathan.hare-winton anna.beddow
MediaAtomHelpers.scala
in common/src/main/scala/com/gu/media/util
100 8 2017-06-20 2026-06-10 30 15 +886 / -353 michael.barton 89925410+waisingyiu
_header.scss
in public/video-ui/styles/components
59 - 2017-01-24 2026-01-21 29 15 +295 / -103 reetta.vaahtoranta lindsey.dew
_grid.scss
in public/video-ui/styles/layout
86 - 2016-10-13 2025-10-16 28 15 +495 / -278 shaun.dillon 10963046+andrew-nowak
Support.scala
in app/controllers
21 1 2016-11-17 2025-10-15 27 15 +359 / -204 christopher.lloyd 37048459+bryophyta
JsonConversions.scala
in common/src/main/scala/com/gu/media/util
252 - 2017-10-16 2026-06-29 27 15 +777 / -159 reetta.vaahtoranta anna.beddow
saveVideo.ts
in public/video-ui/src/actions/VideoActions
55 - 2025-09-18 2026-07-13 15 15 +434 / -136 david.blatcher junyuanxue.is
YouTubeVideos.scala
in common/src/main/scala/com/gu/media/youtube
217 9 2017-02-21 2026-02-10 53 14 +1186 / -527 michael.barton andrew.nowak
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
make-hmac-request.js
in scripts/hmac
87 3 2017-03-29 2017-04-03 4 1 +244 / -22 akash1810 akash1810
72 2 2026-08-26 2026-09-30 6 1 +333 / -15 aascherson aascherson
CredentialsForAws.scala
in common/src/main/scala/com/gu/media/aws
55 1 2025-12-03 2026-01-26 2 1 +122 / -0 lindsey.dew lindsey.dew
GridAPI.scala
in app/schedule
51 1 2026-05-20 2026-06-04 5 1 +280 / -44 lindsey.dew lindsey.dew
50 - 2026-08-26 2026-09-30 6 1 +277 / -16 aascherson aascherson
hmac-request.js
in scripts/hmac
46 - 2017-03-29 2017-03-29 1 1 +118 / -0 akash1810 akash1810
VideoPreview.tsx
in public/video-ui/src/components/VideoPreview
41 - 2026-07-14 2026-08-06 6 1 +522 / -0 aascherson aascherson
removeStringTagDuplicates.ts
in public/video-ui/src/util
34 1 2026-07-09 2026-08-03 4 1 +337 / -1 aascherson aascherson
GridImage.tsx
in public/video-ui/src/components/GridImage
22 - 2026-07-14 2026-08-06 5 1 +244 / -12 aascherson aascherson
WorkflowLink.tsx
in public/video-ui/src/components/Workflow
19 - 2026-07-14 2026-08-06 6 1 +154 / -7 aascherson aascherson
durationHelpers.ts
in public/video-ui/src/util
16 1 2026-07-08 2026-08-03 4 1 +185 / -11 aascherson aascherson
getYouTubeTagCharCount.ts
in public/video-ui/src/util
15 1 2026-07-09 2026-07-13 2 1 +95 / -0 aascherson aascherson
VideoPublishState.tsx
in public/video-ui/src/components/VideoPublishState
15 - 2026-07-13 2026-08-03 4 1 +147 / -0 aascherson aascherson
StepFunctionsAccess.scala
in common/src/main/scala/com/gu/media/aws
10 - 2026-02-24 2026-02-27 3 1 +25 / -1 david.furey david.furey
HMACSettings.scala
in common/src/main/scala/com/gu/media/aws
10 1 2017-12-13 2017-12-15 2 1 +28 / -0 akash1810 akash1810
VideoItemError.tsx
in public/video-ui/src/components/VideoItem
9 - 2026-07-13 2026-08-03 4 1 +65 / -0 aascherson aascherson
CropOption.scala
in app/model
6 - 2026-05-19 2026-06-04 3 1 +36 / -0 lindsey.dew lindsey.dew
TestFilters.scala
in common/src/main/scala/com/gu/media/util
4 - 2017-04-19 2017-04-21 3 1 +21 / -0 jonathan.hare-winton jonathan.hare-winton
TagPicker.tsx
in public/video-ui/src/components/FormFields
471 12 2026-09-01 2026-09-14 4 2 +1855 / -136 david.furey aascherson
index.tsx
in public/video-ui/src/pages/Video
229 7 2026-09-01 2026-09-14 4 2 +1931 / -83 david.furey aascherson
VideoData.tsx
in public/video-ui/src/components/VideoData
218 - 2026-09-01 2026-09-14 4 2 +867 / -144 david.furey aascherson
DatePicker.tsx
in public/video-ui/src/components/FormFields
213 7 2026-09-01 2026-09-14 4 2 +756 / -39 david.furey aascherson
TextInputTagPicker.tsx
in public/video-ui/src/components/FormFields
204 3 2026-09-01 2026-09-14 4 2 +793 / -43 david.furey aascherson
index.tsx
in public/video-ui/src/components/YoutubeFurniture
168 5 2026-09-01 2026-09-14 4 2 +611 / -29 david.furey aascherson
ManagedField.tsx
in public/video-ui/src/components/ManagedForm
168 6 2026-09-01 2026-09-14 4 2 +679 / -43 david.furey aascherson
Targeting.tsx
in public/video-ui/src/components/Targeting
157 5 2026-09-01 2026-09-14 4 2 +632 / -83 david.furey aascherson
JobCompletedMetrics.scala
in common/src/main/scala/com/gu/media/util
148 7 2026-06-01 2026-06-10 5 2 +574 / -98 lindsey.dew 89925410+waisingyiu
parseGridMetadata.ts
in public/video-ui/src/util
148 8 2026-07-20 2026-09-14 8 2 +699 / -201 aascherson aascherson
video.ts
in public/video-ui/src/util
142 21 2026-09-01 2026-09-14 4 2 +565 / -58 david.furey aascherson
VideoItem.tsx
in public/video-ui/src/components/VideoItem
140 3 2026-08-03 2026-08-06 2 2 +1208 / -0 aascherson lindsey.dew
VideoPublishBar.tsx
in public/video-ui/src/components/VideoPublishBar
129 8 2026-09-01 2026-09-14 4 2 +467 / -5 david.furey aascherson
UploadsApi.ts
in public/video-ui/src/services
129 9 2026-09-01 2026-09-14 4 2 +626 / -17 david.furey aascherson
DurationInput.tsx
in public/video-ui/src/components/FormFields
124 4 2026-09-01 2026-09-14 4 2 +461 / -5 david.furey aascherson
VideoImages.tsx
in public/video-ui/src/components/VideoImages
124 2 2026-09-01 2026-09-14 4 2 +445 / -13 david.furey aascherson
Telemetry.scala
in common/src/main/scala/com/gu/media/telemetry
111 3 2026-05-28 2026-06-10 5 2 +468 / -110 lindsey.dew 89925410+waisingyiu
index.tsx
in public/video-ui/src/components/Flags
109 - 2026-09-01 2026-09-14 4 2 +396 / -12 david.furey aascherson
Presence.tsx
in public/video-ui/src/components
103 3 2026-09-01 2026-09-14 4 2 +417 / -15 david.furey aascherson
SelectBox.tsx
in public/video-ui/src/components/FormFields
102 - 2026-09-01 2026-09-14 4 2 +390 / -3 david.furey aascherson
VideoUsages.tsx
in public/video-ui/src/components/VideoUsages
101 1 2026-09-01 2026-09-14 4 2 +382 / -37 david.furey aascherson
ComposerPageCreate.tsx
in public/video-ui/src/components/Videos
94 - 2026-09-01 2026-09-14 4 2 +356 / -14 david.furey aascherson
tagParsers.ts
in public/video-ui/src/util
91 2 2026-07-09 2026-09-30 10 2 +601 / -43 aascherson aascherson
GridImageSelect.tsx
in public/video-ui/src/components/utils
87 1 2026-09-01 2026-09-14 4 2 +364 / -25 david.furey aascherson
Workflow.tsx
in public/video-ui/src/components/Workflow
87 5 2026-09-01 2026-09-14 4 2 +384 / -39 david.furey aascherson
85 6 2025-10-27 2026-04-27 5 2 +200 / -6 pete.faulconbridge 37048459+bryophyta
WorkflowForm.tsx
in public/video-ui/src/components/Workflow
85 - 2026-07-14 2026-09-14 8 2 +390 / -29 aascherson aascherson
process-record.ts
in pluto-message-ingestion/src
83 2 2025-09-30 2025-10-21 6 2 +208 / -28 pete.faulconbridge 37048459+bryophyta
TagSearch.tsx
in public/video-ui/src/components/TagSearch
80 4 2026-09-01 2026-09-14 4 2 +305 / -5 david.furey aascherson
TextAreaInput.tsx
in public/video-ui/src/components/FormFields
78 2 2026-09-01 2026-09-14 4 2 +293 / -2 david.furey aascherson
YoutubeUpload.tsx
in public/video-ui/src/components/VideoUpload
74 - 2026-09-01 2026-09-14 4 2 +286 / -7 david.furey aascherson
TextInput.tsx
in public/video-ui/src/components/FormFields
74 2 2026-09-01 2026-09-14 4 2 +278 / -2 david.furey aascherson
Correlations

File Size vs. Number of Changes: 425 points

cloudformation/media-atom-maker-dev.yml x: 543 lines of code y: 79 # changes app/controllers/UploadController.scala x: 293 lines of code y: 101 # changes app/controllers/VideoUIApp.scala x: 93 lines of code y: 95 # changes app/di.scala x: 214 lines of code y: 132 # changes app/model/ClientConfig.scala x: 43 lines of code y: 58 # changes app/util/RequestLogging.scala x: 81 lines of code y: 13 # changes app/util/SentryConfig.scala x: 50 lines of code y: 6 # changes app/util/SentryTracingFilter.scala x: 72 lines of code y: 6 # changes public/video-ui/src/app.tsx x: 60 lines of code y: 19 # changes public/video-ui/src/components/Header.tsx x: 336 lines of code y: 7 # changes public/video-ui/src/components/VideoUpload/VideoTrail.fixtures.ts x: 33 lines of code y: 3 # changes public/video-ui/src/components/VideoUpload/VideoTrail.tsx x: 120 lines of code y: 21 # changes public/video-ui/src/pages/Upload/index.tsx x: 143 lines of code y: 27 # changes public/video-ui/src/services/VideosApi.ts x: 455 lines of code y: 69 # changes public/video-ui/src/slices/error.ts x: 142 lines of code y: 21 # changes public/video-ui/src/slices/s3Upload.ts x: 164 lines of code y: 35 # changes public/video-ui/src/util/config.ts x: 101 lines of code y: 16 # changes public/video-ui/src/util/errorDetails.ts x: 18 lines of code y: 7 # changes public/video-ui/src/util/tagParsers.ts x: 91 lines of code y: 10 # changes public/video-ui/src/util/validateField.ts x: 71 lines of code y: 10 # changes public/video-ui/styles/layout/_topbar.scss x: 93 lines of code y: 40 # changes vite.config.ts x: 55 lines of code y: 15 # changes .devcontainer/devenv.yaml x: 9 lines of code y: 3 # changes app/views/VideoUIApp/app.scala.html x: 40 lines of code y: 34 # changes public/video-ui/src/actions/VideoActions/createAsset.ts x: 20 lines of code y: 4 # changes public/video-ui/src/actions/VideoActions/getVideo.ts x: 27 lines of code y: 3 # changes public/video-ui/src/actions/VideoActions/videoPageCreate.ts x: 52 lines of code y: 4 # changes public/video-ui/src/actions/VideoActions/videoPageUpdate.tsx x: 36 lines of code y: 4 # changes public/video-ui/src/components/ContentChangeDetails/ContentChangeDetails.tsx x: 59 lines of code y: 5 # changes public/video-ui/src/components/Create.tsx x: 250 lines of code y: 22 # changes public/video-ui/src/components/Flags/index.tsx x: 109 lines of code y: 4 # changes public/video-ui/src/components/FormFields/DatePicker.tsx x: 213 lines of code y: 4 # changes public/video-ui/src/components/FormFields/DraggableTagList.tsx x: 129 lines of code y: 17 # changes public/video-ui/src/components/FormFields/DurationInput.tsx x: 124 lines of code y: 4 # changes public/video-ui/src/components/FormFields/PureTagPicker.tsx x: 64 lines of code y: 4 # changes public/video-ui/src/components/FormFields/RichTextField.tsx x: 143 lines of code y: 17 # changes public/video-ui/src/components/FormFields/SelectBox.tsx x: 102 lines of code y: 4 # changes public/video-ui/src/components/FormFields/TagPicker.tsx x: 471 lines of code y: 4 # changes public/video-ui/src/components/FormFields/TextAreaInput.tsx x: 78 lines of code y: 4 # changes public/video-ui/src/components/FormFields/TextInput.tsx x: 74 lines of code y: 4 # changes public/video-ui/src/components/FormFields/TextInputTagPicker.tsx x: 204 lines of code y: 4 # changes public/video-ui/src/components/FormFields/richtext/utils/command-helpers.ts x: 137 lines of code y: 14 # changes public/video-ui/src/components/FormFields/richtext/utils/keymap.ts x: 76 lines of code y: 11 # changes public/video-ui/src/components/Iconik/IconikProjectPicker.tsx x: 305 lines of code y: 22 # changes public/video-ui/src/components/ManagedForm/ManagedField.tsx x: 168 lines of code y: 4 # changes public/video-ui/src/components/ManagedForm/ManagedForm.tsx x: 56 lines of code y: 4 # changes public/video-ui/src/components/ManagedForm/ManagedSection.tsx x: 32 lines of code y: 4 # changes public/video-ui/src/components/ManagedForm/types.ts x: 2 lines of code y: 7 # changes public/video-ui/src/components/Pluto/PlutoProjectPicker.tsx x: 75 lines of code y: 17 # changes public/video-ui/src/components/Presence.tsx x: 103 lines of code y: 4 # changes public/video-ui/src/components/ReactApp.tsx x: 140 lines of code y: 26 # changes public/video-ui/src/components/ScheduledLaunch.tsx x: 262 lines of code y: 10 # changes public/video-ui/src/components/TagSearch/TagSearch.tsx x: 80 lines of code y: 4 # changes public/video-ui/src/components/Tags/TagFieldValue.tsx x: 34 lines of code y: 4 # changes public/video-ui/src/components/Targeting/Targeting.tsx x: 157 lines of code y: 4 # changes public/video-ui/src/components/VideoData/VideoData.tsx x: 218 lines of code y: 4 # changes public/video-ui/src/components/VideoPublishBar/VideoPublishBar.tsx x: 129 lines of code y: 4 # changes public/video-ui/src/components/VideoUpload/AddAssetFromURL.tsx x: 61 lines of code y: 4 # changes public/video-ui/src/components/VideoUpload/AddSelfHostedAsset.tsx x: 54 lines of code y: 4 # changes public/video-ui/src/components/VideoUpload/VideoAsset.fixtures.ts x: 121 lines of code y: 4 # changes public/video-ui/src/components/VideoUsages/VideoUsages.tsx x: 101 lines of code y: 4 # changes public/video-ui/src/components/Videos/AdvancedActions.tsx x: 65 lines of code y: 4 # changes public/video-ui/src/components/Videos/ComposerPageCreate.tsx x: 94 lines of code y: 4 # changes public/video-ui/src/components/Workflow/Workflow.tsx x: 87 lines of code y: 4 # changes public/video-ui/src/components/Workflow/WorkflowForm.tsx x: 85 lines of code y: 8 # changes public/video-ui/src/components/utils/Modal.tsx x: 76 lines of code y: 14 # changes public/video-ui/src/components/utils/YouTubeEmbed.tsx x: 24 lines of code y: 4 # changes public/video-ui/src/constants/blankVideoData.ts x: 31 lines of code y: 13 # changes public/video-ui/src/pages/Search/index.tsx x: 210 lines of code y: 34 # changes public/video-ui/src/pages/Training/index.tsx x: 19 lines of code y: 3 # changes public/video-ui/src/pages/Video/index.tsx x: 229 lines of code y: 4 # changes public/video-ui/src/pages/Video/tabs/Iconik.tsx x: 90 lines of code y: 15 # changes public/video-ui/src/pages/Video/tabs/Pluto.tsx x: 69 lines of code y: 4 # changes public/video-ui/src/routes.tsx x: 55 lines of code y: 18 # changes public/video-ui/src/services/TargetingApi.ts x: 52 lines of code y: 3 # changes public/video-ui/src/slices/video.ts x: 107 lines of code y: 22 # changes public/video-ui/src/slices/workflow.ts x: 157 lines of code y: 16 # changes public/video-ui/src/util/cleanVideoData.ts x: 18 lines of code y: 3 # changes public/video-ui/src/util/getComposerData.ts x: 51 lines of code y: 4 # changes public/video-ui/src/util/parseGridMetadata.ts x: 148 lines of code y: 8 # changes public/video-ui/src/util/video.ts x: 142 lines of code y: 4 # changes public/video-ui/src/actions/VideoActions/deleteAsset.ts x: 41 lines of code y: 10 # changes public/video-ui/src/actions/VideoActions/updateVideo.ts x: 5 lines of code y: 8 # changes public/video-ui/src/components/ActivateButton.tsx x: 60 lines of code y: 4 # changes public/video-ui/src/components/VideoUpload/VideoAsset.tsx x: 262 lines of code y: 42 # changes public/video-ui/src/slices/search.ts x: 45 lines of code y: 10 # changes public/video-ui/src/types/tags.ts x: 16 lines of code y: 7 # changes public/video-ui/src/components/FormFields/CheckBox.tsx x: 49 lines of code y: 5 # changes public/video-ui/src/components/FormFields/StandTagPicker.tsx x: 327 lines of code y: 21 # changes public/video-ui/src/components/VideoItem/VideoItem.tsx x: 140 lines of code y: 2 # changes public/video-ui/src/components/VideoSearch/VideoSearch.tsx x: 31 lines of code y: 4 # changes public/video-ui/src/pages/Help/HelpPage.tsx x: 55 lines of code y: 3 # changes public/video-ui/src/pages/Video/tabs/Management.tsx x: 33 lines of code y: 8 # changes public/video-ui/src/util/getTagDisplayNames.ts x: 45 lines of code y: 4 # changes public/video-ui/src/util/hasIconikOrPlutoProject.ts x: 4 lines of code y: 5 # changes public/video-ui/src/util/removeTagDuplicates.ts x: 7 lines of code y: 5 # changes public/video-ui/src/util/storeMiddleware.ts x: 21 lines of code y: 17 # changes public/video-ui/styles/components/_forms.scss x: 525 lines of code y: 124 # changes app/model/commands/AddAssetCommand.scala x: 176 lines of code y: 74 # changes app/model/commands/CommandException.scala x: 125 lines of code y: 58 # changes app/util/AssetVersionManager.scala x: 87 lines of code y: 9 # changes app/util/UploadDecorator.scala x: 36 lines of code y: 18 # changes common/src/main/scala/com/gu/media/aws/UploadAccess.scala x: 48 lines of code y: 42 # changes common/src/main/scala/com/gu/media/iconik/IconikModels.scala x: 115 lines of code y: 11 # changes pluto-message-ingestion/src/types.ts x: 68 lines of code y: 11 # changes public/video-ui/src/components/ErrorBoundary/ErrorBoundary.tsx x: 26 lines of code y: 5 # changes public/video-ui/src/components/GridImage/GridImage.tsx x: 22 lines of code y: 5 # changes public/video-ui/src/components/ManagedForm/index.ts x: 3 lines of code y: 5 # changes public/video-ui/src/components/ScheduleRecap.tsx x: 30 lines of code y: 6 # changes public/video-ui/src/components/VideoPreview/VideoPreview.tsx x: 41 lines of code y: 6 # changes public/video-ui/src/components/Workflow/WorkflowLink.tsx x: 19 lines of code y: 6 # changes public/video-ui/src/constants/privacyStates.ts x: 12 lines of code y: 5 # changes public/video-ui/src/pages/Video/tabs/Targeting.tsx x: 21 lines of code y: 7 # changes public/video-ui/src/pages/Video/tabs/Usage.tsx x: 30 lines of code y: 7 # changes public/video-ui/src/pages/Video/tabs/Workflow.tsx x: 52 lines of code y: 8 # changes public/video-ui/src/services/IconikApi.ts x: 47 lines of code y: 8 # changes public/video-ui/src/components/VideoItem/VideoItemError.tsx x: 9 lines of code y: 4 # changes public/video-ui/src/components/VideoPublishState/VideoPublishState.tsx x: 15 lines of code y: 4 # changes public/video-ui/src/pages/Video/tabs/Furniture.tsx x: 70 lines of code y: 5 # changes public/video-ui/src/pages/Video/tabs/YoutubeFurniture.tsx x: 62 lines of code y: 5 # changes public/video-ui/src/util/durationHelpers.ts x: 16 lines of code y: 4 # changes public/video-ui/src/util/getYouTubeTagCharCount.ts x: 15 lines of code y: 2 # changes public/video-ui/src/components/EditSaveCancel.tsx x: 46 lines of code y: 3 # changes public/video-ui/src/actions/PresenceActions/reportError.ts x: 12 lines of code y: 4 # changes public/video-ui/src/actions/VideoActions/createVideo.ts x: 20 lines of code y: 15 # changes public/video-ui/src/actions/VideoActions/publishVideo.ts x: 14 lines of code y: 13 # changes public/video-ui/src/actions/VideoActions/revertAsset.ts x: 19 lines of code y: 13 # changes public/video-ui/src/components/DeleteButton.tsx x: 65 lines of code y: 2 # changes public/video-ui/src/components/FormFields/ExpireNow.tsx x: 42 lines of code y: 14 # changes public/video-ui/src/components/FormFields/RichTextEditor.tsx x: 78 lines of code y: 7 # changes public/video-ui/src/components/FormFields/richtext/config.ts x: 15 lines of code y: 6 # changes public/video-ui/src/components/FormFields/richtext/createSchema.ts x: 68 lines of code y: 6 # changes public/video-ui/src/components/FormFields/richtext/menu.ts x: 102 lines of code y: 8 # changes public/video-ui/src/components/FormFields/richtext/setup.ts x: 53 lines of code y: 9 # changes public/video-ui/src/components/FormFields/richtext/utils/linkValidator.ts x: 87 lines of code y: 7 # changes public/video-ui/src/components/FormFields/richtext/utils/listsHelpers.ts x: 33 lines of code y: 6 # changes public/video-ui/src/components/FormFields/richtext/utils/richTextHelpers.ts x: 21 lines of code y: 10 # changes public/video-ui/src/components/FormFields/tags/allowTags.ts x: 40 lines of code y: 7 # changes public/video-ui/src/components/Pluto/PlutoProjectLink.tsx x: 26 lines of code y: 4 # changes public/video-ui/src/components/utils/VideoEmbed.tsx x: 65 lines of code y: 7 # changes public/video-ui/src/constants/ErrorMessages.ts x: 5 lines of code y: 9 # changes public/video-ui/src/constants/FieldNotification.ts x: 12 lines of code y: 6 # changes public/video-ui/src/constants/imageFields.ts x: 5 lines of code y: 6 # changes public/video-ui/src/constants/videoCreateOptions.ts x: 102 lines of code y: 17 # changes public/video-ui/src/services/GridMetadata.ts x: 11 lines of code y: 5 # changes public/video-ui/src/services/KeywordsApi.ts x: 73 lines of code y: 19 # changes public/video-ui/src/services/WorkflowApi.ts x: 298 lines of code y: 15 # changes public/video-ui/src/services/YoutubeApi.ts x: 22 lines of code y: 4 # changes public/video-ui/src/services/apiRequest.ts x: 94 lines of code y: 11 # changes public/video-ui/src/services/capi.ts x: 61 lines of code y: 15 # changes public/video-ui/src/services/presence.ts x: 75 lines of code y: 4 # changes public/video-ui/src/services/tagmanager.ts x: 44 lines of code y: 18 # changes public/video-ui/src/slices/checkedFormFields.ts x: 25 lines of code y: 7 # changes public/video-ui/src/slices/editState.ts x: 13 lines of code y: 4 # changes public/video-ui/src/slices/formFieldsWarning.ts x: 16 lines of code y: 5 # changes public/video-ui/src/slices/path.ts x: 17 lines of code y: 4 # changes public/video-ui/src/slices/uploads.ts x: 23 lines of code y: 10 # changes public/video-ui/src/slices/usage.ts x: 83 lines of code y: 8 # changes public/video-ui/src/slices/videos.ts x: 54 lines of code y: 9 # changes public/video-ui/src/util/channelAllowed.ts x: 17 lines of code y: 9 # changes public/video-ui/src/util/dateHelpers.ts x: 7 lines of code y: 6 # changes public/video-ui/src/util/getAspectRatio.ts x: 26 lines of code y: 7 # changes public/video-ui/src/util/getGridMediaId.ts x: 30 lines of code y: 16 # changes public/video-ui/src/util/getProductionOffice.ts x: 34 lines of code y: 9 # changes public/video-ui/src/util/getVideoBlock.ts x: 38 lines of code y: 6 # changes public/video-ui/src/util/hasUnpublishedChanges.ts x: 19 lines of code y: 7 # changes public/video-ui/src/util/isVideoPublished.ts x: 13 lines of code y: 6 # changes public/video-ui/src/util/storeAccessor.ts x: 8 lines of code y: 4 # changes public/video-ui/src/util/videoPublishCheck.ts x: 9 lines of code y: 7 # changes app/util/UploadBuilder.scala x: 142 lines of code y: 39 # changes common/src/main/scala/com/gu/media/upload/model/UploadMetadata.scala x: 46 lines of code y: 52 # changes uploader/src/main/scala/com/gu/media/upload/AddAssetToAtom.scala x: 225 lines of code y: 53 # changes uploader/src/main/scala/com/gu/media/upload/SendToTranscoderV2.scala x: 88 lines of code y: 32 # changes app/model/commands/ActiveAssetCommand.scala x: 105 lines of code y: 56 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/HLSOutputGroup.scala x: 65 lines of code y: 14 # changes app/util/StepFunctions.scala x: 90 lines of code y: 45 # changes common/src/main/scala/com/gu/media/upload/model/MediaConvertEvent.scala x: 79 lines of code y: 8 # changes uploader/src/main/scala/com/gu/media/upload/AddSubtitlesToMP4.scala x: 91 lines of code y: 15 # changes uploader/src/main/scala/com/gu/media/upload/FfMpeg.scala x: 79 lines of code y: 9 # changes uploader/src/main/scala/com/gu/media/upload/TranscoderComplete.scala x: 148 lines of code y: 11 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/AudioOutput.scala x: 27 lines of code y: 5 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/CaptionsOutput.scala x: 39 lines of code y: 6 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/VideoOutput.scala x: 54 lines of code y: 18 # changes uploader/src/main/resources/lambda-template.yaml x: 32 lines of code y: 34 # changes common/src/main/scala/com/gu/media/util/JsonConversions.scala x: 252 lines of code y: 27 # changes common/src/main/scala/com/gu/media/util/MediaAtomImplicits.scala x: 63 lines of code y: 15 # changes uploader/src/main/resources/cfn-template.yaml x: 475 lines of code y: 67 # changes uploader/src/main/scala/com/gu/media/upload/m3u8/Codecs.scala x: 8 lines of code y: 3 # changes common/src/main/scala/com/gu/media/Permissions.scala x: 59 lines of code y: 39 # changes public/video-ui/src/util/setupStore.ts x: 56 lines of code y: 14 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/SharedCodecSettings.scala x: 83 lines of code y: 12 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/FileOutputGroup.scala x: 44 lines of code y: 13 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/MP4Output.scala x: 48 lines of code y: 16 # changes project/StateMachine.scala x: 37 lines of code y: 10 # changes common/src/main/scala/com/gu/media/aws/SecretsManagerAccess.scala x: 19 lines of code y: 4 # changes common/src/main/scala/com/gu/media/aws/AwsV2Util.scala x: 19 lines of code y: 5 # changes app/controllers/Api.scala x: 237 lines of code y: 99 # changes app/model/commands/UpdateAtomCommand.scala x: 208 lines of code y: 62 # changes app/util/AWS.scala x: 64 lines of code y: 79 # changes common/src/main/scala/com/gu/media/config/Stage.scala x: 20 lines of code y: 3 # changes common/src/main/scala/com/gu/media/telemetry/Telemetry.scala x: 111 lines of code y: 5 # changes common/src/main/scala/com/gu/media/upload/model/StepFunctionEvent.scala x: 34 lines of code y: 3 # changes common/src/main/scala/com/gu/media/util/JobCompletedMetrics.scala x: 148 lines of code y: 5 # changes common/src/main/scala/com/gu/media/util/MediaAtomHelpers.scala x: 100 lines of code y: 30 # changes conf/riff-raff.yaml x: 65 lines of code y: 65 # changes app/controllers/Healthcheck.scala x: 25 lines of code y: 9 # changes app/data/DataStores.scala x: 141 lines of code y: 56 # changes common/src/main/scala/com/gu/media/aws/DynamoAccess.scala x: 51 lines of code y: 45 # changes common/src/main/scala/com/gu/media/aws/SNSAccess.scala x: 14 lines of code y: 11 # changes common/src/main/scala/com/gu/media/model/PlutoIntegrationData.scala x: 103 lines of code y: 18 # changes public/video-ui/src/components/VideoSelectBar/VideoSelectBar.tsx x: 50 lines of code y: 7 # changes public/video-ui/src/slices/config.ts x: 17 lines of code y: 13 # changes app/model/CropOption.scala x: 6 lines of code y: 3 # changes app/schedule/GridAPI.scala x: 51 lines of code y: 5 # changes common/src/main/scala/com/gu/media/util/AspectRatio.scala x: 36 lines of code y: 7 # changes public/video-ui/src/constants/TagTypes.ts x: 26 lines of code y: 11 # changes public/video-ui/styles/layout/_video.scss x: 165 lines of code y: 77 # changes common/src/main/scala/com/gu/media/model/MediaAtom.scala x: 336 lines of code y: 39 # changes public/video-ui/src/constants/requiredForDefaultVideo.ts x: 11 lines of code y: 3 # changes common/src/main/scala/com/gu/media/youtube/YouTubeAccess.scala x: 170 lines of code y: 58 # changes public/video-ui/src/util/imageHelpers.ts x: 49 lines of code y: 8 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/WebVTTOutput.scala x: 38 lines of code y: 4 # changes app/data/IconikStore.scala x: 85 lines of code y: 5 # changes app/model/commands/DeleteCommand.scala x: 65 lines of code y: 35 # changes common/src/main/scala/com/gu/media/model/Asset.scala x: 42 lines of code y: 16 # changes common/src/main/scala/com/gu/media/model/ClientAsset.scala x: 152 lines of code y: 22 # changes common/src/main/scala/com/gu/media/upload/PlutoUploadActions.scala x: 21 lines of code y: 27 # changes common/src/main/scala/com/gu/media/youtube/package.scala x: 191 lines of code y: 51 # changes uploader/src/main/scala/com/gu/media/upload/S3Helpers.scala x: 33 lines of code y: 4 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/JobSettingsBuilder.scala x: 52 lines of code y: 5 # changes app/controllers/IconikController.scala x: 154 lines of code y: 12 # changes common/src/main/scala/com/gu/media/model/VideoAsset.scala x: 30 lines of code y: 19 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/CaptionsHelpers.scala x: 35 lines of code y: 2 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/JPEGOutput.scala x: 38 lines of code y: 2 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/model.scala x: 14 lines of code y: 2 # changes common/src/main/scala/com/gu/media/upload/UploadKeys.scala x: 61 lines of code y: 17 # changes public/video-ui/src/slices/youtube.ts x: 47 lines of code y: 7 # changes app/model/commands/PublishAtomCommand.scala x: 396 lines of code y: 152 # changes common/src/main/scala/com/gu/media/ses/Mailer.scala x: 81 lines of code y: 21 # changes uploader/src/main/scala/com/gu/media/upload/SendToPluto.scala x: 47 lines of code y: 17 # changes common/src/main/scala/com/gu/media/aws/AwsAccess.scala x: 27 lines of code y: 30 # changes common/src/main/scala/com/gu/media/aws/StepFunctionsAccess.scala x: 10 lines of code y: 3 # changes common/src/main/scala/com/gu/media/lambda/LambdaWithParams.scala x: 20 lines of code y: 9 # changes common/src/main/scala/com/gu/media/upload/model/Upload.scala x: 55 lines of code y: 21 # changes uploader/src/main/scala/com/gu/media/upload/CompleteMultipartCopy.scala x: 65 lines of code y: 10 # changes uploader/src/main/scala/com/gu/media/upload/GetChunkFromS3.scala x: 48 lines of code y: 15 # changes uploader/src/main/scala/com/gu/media/upload/MultipartCopyChunkInS3.scala x: 73 lines of code y: 9 # changes uploader/src/main/scala/com/gu/media/upload/UploadChunkToYouTube.scala x: 47 lines of code y: 23 # changes public/video-ui/src/constants/youTubeKeywords.ts x: 5 lines of code y: 7 # changes app/util/ThumbnailGenerator.scala x: 91 lines of code y: 20 # changes common/src/main/scala/com/gu/media/Settings.scala x: 36 lines of code y: 20 # changes common/src/main/scala/com/gu/media/youtube/YouTubeVideos.scala x: 217 lines of code y: 53 # changes app/data/AtomListStore.scala x: 248 lines of code y: 53 # changes common/src/main/scala/com/gu/media/model/VideoPlayerFormat.scala x: 29 lines of code y: 8 # changes common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala x: 365 lines of code y: 22 # changes app/util/CredentialsGenerator.scala x: 61 lines of code y: 9 # changes common/src/main/scala/com/gu/media/aws/AwsCredentials.scala x: 50 lines of code y: 18 # changes common/src/main/scala/com/gu/media/aws/CredentialsForAws.scala x: 55 lines of code y: 2 # changes .github/dependabot.yml x: 17 lines of code y: 2 # changes app/model/MediaAtomSummary.scala x: 27 lines of code y: 26 # changes app/util/S3ImageUtil.scala x: 105 lines of code y: 7 # changes common/src/main/scala/com/gu/media/model/Platform.scala x: 39 lines of code y: 11 # changes public/video-ui/styles/components/_header.scss x: 59 lines of code y: 29 # changes public/video-ui/styles/components/_modal.scss x: 33 lines of code y: 12 # changes app/model/commands/SubtitleFileUploadCommand.scala x: 42 lines of code y: 7 # changes app/util/SubtitleUtil.scala x: 34 lines of code y: 7 # changes common/src/main/scala/com/gu/media/aws/S3Access.scala x: 19 lines of code y: 11 # changes common/src/main/scala/com/gu/media/lambda/LambdaBase.scala x: 41 lines of code y: 21 # changes common/src/main/scala/com/gu/media/lambda/LambdaYoutubeCredentials.scala x: 25 lines of code y: 8 # changes common/src/main/scala/com/gu/media/youtube/YouTubeUploader.scala x: 154 lines of code y: 24 # changes common/src/main/scala/com/gu/media/aws/KinesisAccess.scala x: 63 lines of code y: 29 # changes common/src/main/scala/com/gu/media/aws/MediaConvertAccess.scala x: 17 lines of code y: 8 # changes app/util/NotifyingAtomPublisher.scala x: 55 lines of code y: 9 # changes common/src/main/scala/com/gu/media/aws/SQSAccess.scala x: 13 lines of code y: 13 # changes common/src/main/scala/com/gu/media/iconik/IconikUploadActions.scala x: 50 lines of code y: 8 # changes common/src/main/scala/com/gu/media/CapiAccess.scala x: 109 lines of code y: 21 # changes common/src/main/scala/com/gu/media/aws/SESSettings.scala x: 18 lines of code y: 17 # changes common/src/main/scala/com/gu/media/model/IconikData.scala x: 29 lines of code y: 2 # changes public/video-ui/src/slices/iconik.ts x: 72 lines of code y: 2 # changes expirer/src/main/scala/com/gu/media/expirer/ExpirerLambda.scala x: 112 lines of code y: 36 # changes public/video-ui/src/services/PlutoApi.ts x: 32 lines of code y: 7 # changes common/src/main/scala/com/gu/media/iconik/IconikDataStore.scala x: 16 lines of code y: 2 # changes common/src/main/scala/com/gu/media/iconik/IconikDynamoStore.scala x: 71 lines of code y: 2 # changes pluto-message-ingestion/eslint.config.mjs x: 27 lines of code y: 4 # changes pluto-message-ingestion/scripts/aws.js x: 53 lines of code y: 6 # changes public/video-ui/styles/components/_video-trail.scss x: 52 lines of code y: 6 # changes pluto-message-ingestion/scripts/test-pluto-lambda-CODE.js x: 58 lines of code y: 5 # changes pluto-message-ingestion/src/index.ts x: 18 lines of code y: 4 # changes pluto-message-ingestion/src/process-record.ts x: 83 lines of code y: 6 # changes public/video-ui/styles/layout/_grid.scss x: 86 lines of code y: 28 # changes app/controllers/AtomController.scala x: 81 lines of code y: 31 # changes app/controllers/JsonRequestParsing.scala x: 31 lines of code y: 12 # changes app/controllers/Login.scala x: 16 lines of code y: 8 # changes app/controllers/PanDomainAuthActions.scala x: 44 lines of code y: 21 # changes app/controllers/PlutoController.scala x: 125 lines of code y: 19 # changes app/controllers/Youtube.scala x: 41 lines of code y: 34 # changes app/model/WorkflowMediaAtom.scala x: 9 lines of code y: 8 # changes app/model/YouTubeMessage.scala x: 24 lines of code y: 9 # changes app/model/commands/Command.scala x: 13 lines of code y: 10 # changes app/model/commands/CreateAtomCommand.scala x: 80 lines of code y: 47 # changes app/model/commands/CreateWorkflowAtomCommand.scala x: 107 lines of code y: 11 # changes app/model/commands/DeleteAssetCommand.scala x: 57 lines of code y: 8 # changes app/model/commands/DeleteAssetListCommand.scala x: 61 lines of code y: 6 # changes app/model/commands/SubtitleFileDeleteCommand.scala x: 18 lines of code y: 5 # changes app/model/transcoder/JobStatus.scala x: 9 lines of code y: 10 # changes app/util/ActivateAssetRequest.scala x: 12 lines of code y: 12 # changes app/util/CORSable.scala x: 29 lines of code y: 5 # changes app/util/YouTube.scala x: 43 lines of code y: 20 # changes common/src/main/scala/com/gu/media/logging/LambdaElkLoggingFormat.scala x: 30 lines of code y: 4 # changes common/src/main/scala/com/gu/media/logging/Logging.scala x: 23 lines of code y: 4 # changes common/src/main/scala/com/gu/media/logging/YoutubeRequestLogger.scala x: 44 lines of code y: 7 # changes common/src/main/scala/com/gu/media/model/AdSettings.scala x: 29 lines of code y: 4 # changes common/src/main/scala/com/gu/media/model/AssetType.scala x: 26 lines of code y: 8 # changes common/src/main/scala/com/gu/media/model/Category.scala x: 35 lines of code y: 6 # changes common/src/main/scala/com/gu/media/model/ChangeRecord.scala x: 34 lines of code y: 10 # changes common/src/main/scala/com/gu/media/model/ContentChangeDetails.scala x: 39 lines of code y: 14 # changes common/src/main/scala/com/gu/media/model/Image.scala x: 63 lines of code y: 9 # changes common/src/main/scala/com/gu/media/model/Metadata.scala x: 29 lines of code y: 3 # changes common/src/main/scala/com/gu/media/model/PlutoData.scala x: 22 lines of code y: 8 # changes common/src/main/scala/com/gu/media/pluto/PlutoCommissionDataStore.scala x: 40 lines of code y: 14 # changes common/src/main/scala/com/gu/media/pluto/PlutoProject.scala x: 60 lines of code y: 16 # changes common/src/main/scala/com/gu/media/pluto/PlutoProjectDataStore.scala x: 57 lines of code y: 17 # changes common/src/main/scala/com/gu/media/upload/model/UploadCredentials.scala x: 16 lines of code y: 9 # changes common/src/main/scala/com/gu/media/upload/model/UploadProgress.scala x: 29 lines of code y: 16 # changes common/src/main/scala/com/gu/media/upload/model/UploadRequest.scala x: 13 lines of code y: 11 # changes common/src/main/scala/com/gu/media/upload/model/UploadStatus.scala x: 27 lines of code y: 18 # changes common/src/main/scala/com/gu/media/util/HMACClient.scala x: 44 lines of code y: 4 # changes common/src/main/scala/com/gu/media/util/InputStreamRequestBody.scala x: 41 lines of code y: 4 # changes common/src/main/scala/com/gu/media/util/JsonDate.scala x: 26 lines of code y: 6 # changes common/src/main/scala/com/gu/media/util/MAMLogger.scala x: 28 lines of code y: 7 # changes common/src/main/scala/com/gu/media/util/ThriftUtil.scala x: 129 lines of code y: 8 # changes common/src/main/scala/com/gu/media/youtube/YouTubeProcessingStatus.scala x: 108 lines of code y: 11 # changes common/src/main/scala/com/gu/media/youtube/YoutubeUrl.scala x: 12 lines of code y: 8 # changes scheduler/src/main/scala/com.gu.media.scheduler/SchedulerLambda.scala x: 62 lines of code y: 11 # changes public/video-ui/styles/layout/_common.scss x: 50 lines of code y: 20 # changes public/video-ui/styles/components/_bar.scss x: 101 lines of code y: 23 # changes public/video-ui/src/slices/targeting.ts x: 95 lines of code y: 5 # changes pluto-message-ingestion/src/hmac-request.ts x: 50 lines of code y: 3 # changes pluto-message-ingestion/src/logging.ts x: 26 lines of code y: 2 # changes public/video-ui/src/constants/requiredForComposer.ts x: 11 lines of code y: 7 # changes public/video-ui/src/util/getTextFromHtml.ts x: 4 lines of code y: 7 # changes public/video-ui/src/actions/VideoActions/deleteVideo.ts x: 15 lines of code y: 3 # changes public/video-ui/styles/abstracts/_mixins.scss x: 24 lines of code y: 23 # changes public/video-ui/styles/layout/_upload.scss x: 49 lines of code y: 39 # changes public/video-ui/src/logger.ts x: 8 lines of code y: 2 # changes public/video-ui/src/slices/pluto.ts x: 44 lines of code y: 6 # changes public/video-ui/styles/components/_presence.scss x: 62 lines of code y: 14 # changes public/video-ui/styles/main.scss x: 43 lines of code y: 64 # changes common/src/main/scala/com/gu/media/upload/model/UploadPart.scala x: 8 lines of code y: 6 # changes app/views/VideoUIApp/layout.scala.html x: 27 lines of code y: 15 # changes public/video-ui/src/constants/appUpdatedFields.ts x: 1 lines of code y: 4 # changes public/video-ui/src/constants/dates.ts x: 4 lines of code y: 4 # changes public/video-ui/src/constants/defaultWorkflowStatusData.ts x: 5 lines of code y: 4 # changes public/video-ui/src/constants/formNames.ts x: 6 lines of code y: 4 # changes public/video-ui/src/constants/videoEditValidation.ts x: 14 lines of code y: 4 # changes public/video-ui/styles/abstracts/_variables.scss x: 58 lines of code y: 29 # changes public/video-ui/styles/base/_helpers.scss x: 47 lines of code y: 16 # changes public/video-ui/styles/base/_typography.scss x: 40 lines of code y: 10 # changes public/video-ui/styles/components/_advanced.scss x: 17 lines of code y: 6 # changes public/video-ui/styles/components/_asset-list.scss x: 59 lines of code y: 20 # changes public/video-ui/styles/components/_buttons.scss x: 79 lines of code y: 52 # changes public/video-ui/styles/components/_detail.scss x: 21 lines of code y: 8 # changes public/video-ui/styles/components/_details-list.scss x: 35 lines of code y: 31 # changes public/video-ui/styles/components/_expiry-date.scss x: 15 lines of code y: 7 # changes public/video-ui/styles/components/_grid-embedder.scss x: 24 lines of code y: 15 # changes public/video-ui/styles/components/_scheduledLaunch.scss x: 25 lines of code y: 6 # changes public/video-ui/styles/components/_section-header.scss x: 12 lines of code y: 9 # changes public/video-ui/styles/components/_tables.scss x: 20 lines of code y: 5 # changes public/video-ui/styles/components/_targeting.scss x: 7 lines of code y: 4 # changes public/video-ui/styles/components/_usage.scss x: 24 lines of code y: 8 # changes public/video-ui/styles/layout/_icons.scss x: 125 lines of code y: 38 # changes app/views/authError.scala.html x: 13 lines of code y: 2 # changes conf/logback.xml x: 26 lines of code y: 9 # changes common/src/main/scala/com/gu/media/aws/HMACSettings.scala x: 10 lines of code y: 2 # changes common/src/main/scala/com/gu/media/util/TestFilters.scala x: 4 lines of code y: 3 # changes scripts/hmac/hmac-request.js x: 46 lines of code y: 1 # changes
152.0
# changes
  min: 1.0
  average: 14.28
  25th percentile: 4.0
  median: 7.0
  75th percentile: 16.0
  max: 152.0
0 543.0
lines of code
min: 1.0 | average: 67.47 | 25th percentile: 20.0 | median: 44.0 | 75th percentile: 81.0 | max: 543.0

Number of Contributors vs. Number of Changes: 425 points

cloudformation/media-atom-maker-dev.yml x: 29 # contributors y: 79 # changes app/controllers/UploadController.scala x: 26 # contributors y: 101 # changes app/controllers/VideoUIApp.scala x: 27 # contributors y: 95 # changes app/di.scala x: 34 # contributors y: 132 # changes app/model/ClientConfig.scala x: 22 # contributors y: 58 # changes app/util/RequestLogging.scala x: 8 # contributors y: 13 # changes app/util/SentryConfig.scala x: 1 # contributors y: 6 # changes public/video-ui/src/app.tsx x: 7 # contributors y: 19 # changes public/video-ui/src/components/Header.tsx x: 3 # contributors y: 7 # changes public/video-ui/src/components/VideoUpload/VideoTrail.fixtures.ts x: 2 # contributors y: 3 # changes public/video-ui/src/components/VideoUpload/VideoTrail.tsx x: 12 # contributors y: 21 # changes public/video-ui/src/pages/Upload/index.tsx x: 12 # contributors y: 27 # changes public/video-ui/src/services/VideosApi.ts x: 25 # contributors y: 69 # changes public/video-ui/src/slices/error.ts x: 6 # contributors y: 21 # changes public/video-ui/src/slices/s3Upload.ts x: 18 # contributors y: 35 # changes public/video-ui/src/util/config.ts x: 6 # contributors y: 16 # changes public/video-ui/src/util/tagParsers.ts x: 2 # contributors y: 10 # changes public/video-ui/src/util/validateField.ts x: 7 # contributors y: 10 # changes public/video-ui/styles/layout/_topbar.scss x: 17 # contributors y: 40 # changes vite.config.ts x: 9 # contributors y: 15 # changes app/views/VideoUIApp/app.scala.html x: 20 # contributors y: 34 # changes public/video-ui/src/actions/VideoActions/createAsset.ts x: 2 # contributors y: 4 # changes public/video-ui/src/components/ContentChangeDetails/ContentChangeDetails.tsx x: 2 # contributors y: 5 # changes public/video-ui/src/components/Create.tsx x: 11 # contributors y: 22 # changes public/video-ui/src/components/FormFields/DraggableTagList.tsx x: 7 # contributors y: 17 # changes public/video-ui/src/components/FormFields/RichTextField.tsx x: 13 # contributors y: 17 # changes public/video-ui/src/components/FormFields/richtext/utils/command-helpers.ts x: 9 # contributors y: 14 # changes public/video-ui/src/components/FormFields/richtext/utils/keymap.ts x: 7 # contributors y: 11 # changes public/video-ui/src/components/Iconik/IconikProjectPicker.tsx x: 8 # contributors y: 22 # changes public/video-ui/src/components/ManagedForm/types.ts x: 4 # contributors y: 7 # changes public/video-ui/src/components/Pluto/PlutoProjectPicker.tsx x: 8 # contributors y: 17 # changes public/video-ui/src/components/ReactApp.tsx x: 11 # contributors y: 26 # changes public/video-ui/src/components/ScheduledLaunch.tsx x: 4 # contributors y: 10 # changes public/video-ui/src/components/VideoUpload/VideoAsset.fixtures.ts x: 3 # contributors y: 4 # changes public/video-ui/src/components/Workflow/WorkflowForm.tsx x: 2 # contributors y: 8 # changes public/video-ui/src/components/utils/Modal.tsx x: 8 # contributors y: 14 # changes public/video-ui/src/pages/Search/index.tsx x: 16 # contributors y: 34 # changes public/video-ui/src/pages/Video/tabs/Iconik.tsx x: 5 # contributors y: 15 # changes public/video-ui/src/routes.tsx x: 10 # contributors y: 18 # changes public/video-ui/src/slices/video.ts x: 7 # contributors y: 22 # changes public/video-ui/src/slices/workflow.ts x: 9 # contributors y: 16 # changes public/video-ui/src/actions/VideoActions/deleteAsset.ts x: 6 # contributors y: 10 # changes public/video-ui/src/actions/VideoActions/updateVideo.ts x: 6 # contributors y: 8 # changes public/video-ui/src/components/VideoUpload/VideoAsset.tsx x: 22 # contributors y: 42 # changes public/video-ui/src/slices/search.ts x: 10 # contributors y: 10 # changes public/video-ui/src/types/tags.ts x: 2 # contributors y: 7 # changes public/video-ui/src/components/FormFields/StandTagPicker.tsx x: 8 # contributors y: 21 # changes public/video-ui/src/components/VideoItem/VideoItem.tsx x: 2 # contributors y: 2 # changes public/video-ui/src/constants/themeOverrides.ts x: 4 # contributors y: 4 # changes public/video-ui/src/pages/Video/tabs/Management.tsx x: 4 # contributors y: 8 # changes public/video-ui/src/util/hasIconikOrPlutoProject.ts x: 3 # contributors y: 5 # changes public/video-ui/src/util/storeMiddleware.ts x: 11 # contributors y: 17 # changes public/video-ui/styles/components/_forms.scss x: 35 # contributors y: 124 # changes app/model/commands/AddAssetCommand.scala x: 25 # contributors y: 74 # changes app/model/commands/CommandException.scala x: 24 # contributors y: 58 # changes app/util/AssetVersionManager.scala x: 3 # contributors y: 9 # changes app/util/UploadDecorator.scala x: 12 # contributors y: 18 # changes common/src/main/scala/com/gu/media/aws/UploadAccess.scala x: 16 # contributors y: 42 # changes common/src/main/scala/com/gu/media/iconik/IconikModels.scala x: 5 # contributors y: 11 # changes public/video-ui/src/components/GridImage/GridImage.tsx x: 1 # contributors y: 5 # changes public/video-ui/src/components/ScheduleRecap.tsx x: 3 # contributors y: 6 # changes public/video-ui/src/pages/Video/tabs/Workflow.tsx x: 3 # contributors y: 8 # changes public/video-ui/src/components/VideoItem/VideoItemError.tsx x: 1 # contributors y: 4 # changes public/video-ui/src/actions/VideoActions/saveVideo.ts x: 15 # contributors y: 15 # changes public/video-ui/src/util/getYouTubeTagCharCount.ts x: 1 # contributors y: 2 # changes public/video-ui/src/components/EditSaveCancel.tsx x: 3 # contributors y: 3 # changes public/video-ui/src/actions/PresenceActions/reportError.ts x: 5 # contributors y: 4 # changes public/video-ui/src/actions/VideoActions/createVideo.ts x: 10 # contributors y: 15 # changes public/video-ui/src/components/DeleteButton.tsx x: 3 # contributors y: 2 # changes public/video-ui/src/components/FormFields/ExpireNow.tsx x: 11 # contributors y: 14 # changes public/video-ui/src/components/FormFields/RichTextEditor.tsx x: 7 # contributors y: 7 # changes public/video-ui/src/components/FormFields/richtext/config.ts x: 6 # contributors y: 6 # changes public/video-ui/src/components/FormFields/richtext/setup.ts x: 6 # contributors y: 9 # changes public/video-ui/src/components/FormFields/richtext/utils/linkValidator.ts x: 6 # contributors y: 7 # changes public/video-ui/src/components/FormFields/tags/allowTags.ts x: 5 # contributors y: 7 # changes public/video-ui/src/constants/ErrorMessages.ts x: 8 # contributors y: 9 # changes public/video-ui/src/constants/FieldNotification.ts x: 5 # contributors y: 6 # changes public/video-ui/src/services/GridMetadata.ts x: 4 # contributors y: 5 # changes public/video-ui/src/services/KeywordsApi.ts x: 11 # contributors y: 19 # changes public/video-ui/src/services/apiRequest.ts x: 9 # contributors y: 11 # changes public/video-ui/src/services/capi.ts x: 12 # contributors y: 15 # changes public/video-ui/src/services/tagmanager.ts x: 8 # contributors y: 18 # changes public/video-ui/src/slices/editState.ts x: 6 # contributors y: 4 # changes public/video-ui/src/slices/formFieldsWarning.ts x: 6 # contributors y: 5 # changes public/video-ui/src/slices/uploads.ts x: 8 # contributors y: 10 # changes public/video-ui/src/slices/usage.ts x: 7 # contributors y: 8 # changes public/video-ui/src/slices/videos.ts x: 9 # contributors y: 9 # changes public/video-ui/src/util/getGridMediaId.ts x: 11 # contributors y: 16 # changes app/util/UploadBuilder.scala x: 15 # contributors y: 39 # changes common/src/main/scala/com/gu/media/upload/model/UploadMetadata.scala x: 20 # contributors y: 52 # changes uploader/src/main/scala/com/gu/media/upload/AddAssetToAtom.scala x: 17 # contributors y: 53 # changes uploader/src/main/scala/com/gu/media/upload/SendToTranscoderV2.scala x: 12 # contributors y: 32 # changes app/model/commands/ActiveAssetCommand.scala x: 22 # contributors y: 56 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/EncodingConfig.scala x: 2 # contributors y: 6 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/HLSOutputGroup.scala x: 5 # contributors y: 14 # changes app/util/StepFunctions.scala x: 15 # contributors y: 45 # changes uploader/src/main/scala/com/gu/media/upload/AddSubtitlesToMP4.scala x: 4 # contributors y: 15 # changes uploader/src/main/scala/com/gu/media/upload/TranscoderComplete.scala x: 4 # contributors y: 11 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/VideoOutput.scala x: 7 # contributors y: 18 # changes uploader/src/main/resources/lambda-template.yaml x: 12 # contributors y: 34 # changes common/src/main/scala/com/gu/media/util/JsonConversions.scala x: 15 # contributors y: 27 # changes common/src/main/scala/com/gu/media/util/MediaAtomImplicits.scala x: 11 # contributors y: 15 # changes uploader/src/main/resources/cfn-template.yaml x: 27 # contributors y: 67 # changes common/src/main/scala/com/gu/media/Permissions.scala x: 22 # contributors y: 39 # changes public/video-ui/src/util/setupStore.ts x: 7 # contributors y: 14 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/SharedCodecSettings.scala x: 6 # contributors y: 12 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/FileOutputGroup.scala x: 5 # contributors y: 13 # changes uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/MP4Output.scala x: 7 # contributors y: 16 # changes app/controllers/Api.scala x: 33 # contributors y: 99 # changes app/model/commands/UpdateAtomCommand.scala x: 21 # contributors y: 62 # changes app/util/AWS.scala x: 27 # contributors y: 79 # changes common/src/main/scala/com/gu/media/util/MediaAtomHelpers.scala x: 15 # contributors y: 30 # changes conf/riff-raff.yaml x: 25 # contributors y: 65 # changes uploader/src/main/scala/com/gu/media/upload/JobMetricsPublisher.scala x: 2 # contributors y: 9 # changes app/data/DataStores.scala x: 13 # contributors y: 56 # changes common/src/main/scala/com/gu/media/aws/DynamoAccess.scala x: 14 # contributors y: 45 # changes common/src/main/scala/com/gu/media/model/PlutoIntegrationData.scala x: 11 # contributors y: 18 # changes app/model/CropOption.scala x: 1 # contributors y: 3 # changes public/video-ui/styles/layout/_video.scss x: 26 # contributors y: 77 # changes common/src/main/scala/com/gu/media/model/MediaAtom.scala x: 18 # contributors y: 39 # changes common/src/main/scala/com/gu/media/youtube/YouTubeAccess.scala x: 17 # contributors y: 58 # changes public/video-ui/src/util/imageHelpers.ts x: 5 # contributors y: 8 # changes app/model/commands/DeleteCommand.scala x: 15 # contributors y: 35 # changes common/src/main/scala/com/gu/media/model/Asset.scala x: 14 # contributors y: 16 # changes common/src/main/scala/com/gu/media/model/ClientAsset.scala x: 14 # contributors y: 22 # changes common/src/main/scala/com/gu/media/upload/PlutoUploadActions.scala x: 13 # contributors y: 27 # changes common/src/main/scala/com/gu/media/youtube/package.scala x: 15 # contributors y: 51 # changes public/video-ui/styles/components/_prosemirror.scss x: 5 # contributors y: 9 # changes app/controllers/IconikController.scala x: 5 # contributors y: 12 # changes common/src/main/scala/com/gu/media/model/VideoAsset.scala x: 14 # contributors y: 19 # changes common/src/main/scala/com/gu/media/upload/UploadKeys.scala x: 10 # contributors y: 17 # changes app/model/commands/PublishAtomCommand.scala x: 26 # contributors y: 152 # changes common/src/main/scala/com/gu/media/ses/Mailer.scala x: 11 # contributors y: 21 # changes common/src/main/scala/com/gu/media/aws/AwsAccess.scala x: 13 # contributors y: 30 # changes common/src/main/scala/com/gu/media/lambda/LambdaWithParams.scala x: 7 # contributors y: 9 # changes uploader/src/main/scala/com/gu/media/upload/CompleteMultipartCopy.scala x: 9 # contributors y: 10 # changes uploader/src/main/scala/com/gu/media/upload/UploadChunkToYouTube.scala x: 8 # contributors y: 23 # changes app/util/ThumbnailGenerator.scala x: 9 # contributors y: 20 # changes common/src/main/scala/com/gu/media/Settings.scala x: 12 # contributors y: 20 # changes common/src/main/scala/com/gu/media/youtube/YouTubeVideos.scala x: 14 # contributors y: 53 # changes common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala x: 10 # contributors y: 22 # changes common/src/main/scala/com/gu/media/aws/AwsCredentials.scala x: 14 # contributors y: 18 # changes app/model/MediaAtomSummary.scala x: 16 # contributors y: 26 # changes common/src/main/scala/com/gu/media/model/Platform.scala x: 10 # contributors y: 11 # changes public/video-ui/styles/components/_header.scss x: 15 # contributors y: 29 # changes public/video-ui/styles/components/_modal.scss x: 9 # contributors y: 12 # changes common/src/main/scala/com/gu/media/youtube/YouTubeUploader.scala x: 12 # contributors y: 24 # changes common/src/main/scala/com/gu/media/aws/KinesisAccess.scala x: 12 # contributors y: 29 # changes expirer/src/main/resources/logback.xml x: 4 # contributors y: 3 # changes expirer/src/main/scala/com/gu/media/expirer/ExpirerLambda.scala x: 14 # contributors y: 36 # changes public/video-ui/styles/layout/_grid.scss x: 15 # contributors y: 28 # changes app/controllers/AtomController.scala x: 20 # contributors y: 31 # changes app/controllers/JsonRequestParsing.scala x: 10 # contributors y: 12 # changes app/controllers/PanDomainAuthActions.scala x: 19 # contributors y: 21 # changes app/controllers/PlutoController.scala x: 8 # contributors y: 19 # changes app/controllers/Youtube.scala x: 17 # contributors y: 34 # changes app/model/WorkflowMediaAtom.scala x: 8 # contributors y: 8 # changes app/model/commands/CreateAtomCommand.scala x: 19 # contributors y: 47 # changes app/model/commands/SubtitleFileDeleteCommand.scala x: 5 # contributors y: 5 # changes app/util/ActivateAssetRequest.scala x: 11 # contributors y: 12 # changes app/util/YoutubeResponse.scala x: 8 # contributors y: 6 # changes common/src/main/scala/com/gu/media/model/AssetType.scala x: 9 # contributors y: 8 # changes common/src/main/scala/com/gu/media/model/ContentChangeDetails.scala x: 10 # contributors y: 14 # changes common/src/main/scala/com/gu/media/pluto/PlutoProject.scala x: 10 # contributors y: 16 # changes common/src/main/scala/com/gu/media/pluto/PlutoProjectDataStore.scala x: 9 # contributors y: 17 # changes common/src/main/scala/com/gu/media/upload/model/UploadCredentials.scala x: 10 # contributors y: 9 # changes common/src/main/scala/com/gu/media/util/JsonDate.scala x: 4 # contributors y: 6 # changes common/src/main/scala/com/gu/media/util/MAMLogger.scala x: 10 # contributors y: 7 # changes public/video-ui/styles/layout/_common.scss x: 11 # contributors y: 20 # changes public/video-ui/styles/components/_bar.scss x: 17 # contributors y: 23 # changes public/video-ui/styles/abstracts/_mixins.scss x: 14 # contributors y: 23 # changes public/video-ui/styles/layout/_upload.scss x: 13 # contributors y: 39 # changes public/video-ui/styles/components/_presence.scss x: 6 # contributors y: 14 # changes public/video-ui/styles/main.scss x: 22 # contributors y: 64 # changes public/video-ui/styles/abstracts/_variables.scss x: 16 # contributors y: 29 # changes public/video-ui/styles/base/_helpers.scss x: 13 # contributors y: 16 # changes public/video-ui/styles/components/_buttons.scss x: 19 # contributors y: 52 # changes public/video-ui/styles/components/_details-list.scss x: 16 # contributors y: 31 # changes public/video-ui/styles/layout/_icons.scss x: 12 # contributors y: 38 # changes scripts/hmac/hmac-request.js x: 1 # contributors y: 1 # changes
152.0
# changes
  min: 1.0
  average: 14.28
  25th percentile: 4.0
  median: 7.0
  75th percentile: 16.0
  max: 152.0
0 35.0
# contributors
min: 1.0 | average: 7.18 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 10.0 | max: 35.0

Number of Contributors vs. File Size: 425 points

cloudformation/media-atom-maker-dev.yml x: 29 # contributors y: 543 lines of code app/controllers/UploadController.scala x: 26 # contributors y: 293 lines of code app/controllers/VideoUIApp.scala x: 27 # contributors y: 93 lines of code app/di.scala x: 34 # contributors y: 214 lines of code app/model/ClientConfig.scala x: 22 # contributors y: 43 lines of code app/util/RequestLogging.scala x: 8 # contributors y: 81 lines of code app/util/SentryConfig.scala x: 1 # contributors y: 50 lines of code app/util/SentryTracingFilter.scala x: 1 # contributors y: 72 lines of code public/video-ui/src/app.tsx x: 7 # contributors y: 60 lines of code public/video-ui/src/components/Header.tsx x: 3 # contributors y: 336 lines of code public/video-ui/src/components/VideoUpload/VideoTrail.fixtures.ts x: 2 # contributors y: 33 lines of code public/video-ui/src/components/VideoUpload/VideoTrail.tsx x: 12 # contributors y: 120 lines of code public/video-ui/src/pages/Upload/index.tsx x: 12 # contributors y: 143 lines of code public/video-ui/src/services/VideosApi.ts x: 25 # contributors y: 455 lines of code public/video-ui/src/slices/error.ts x: 6 # contributors y: 142 lines of code public/video-ui/src/slices/s3Upload.ts x: 18 # contributors y: 164 lines of code public/video-ui/src/util/config.ts x: 6 # contributors y: 101 lines of code public/video-ui/src/util/errorDetails.ts x: 3 # contributors y: 18 lines of code public/video-ui/src/util/tagParsers.ts x: 2 # contributors y: 91 lines of code public/video-ui/src/util/validateField.ts x: 7 # contributors y: 71 lines of code public/video-ui/styles/layout/_topbar.scss x: 17 # contributors y: 93 lines of code vite.config.ts x: 9 # contributors y: 55 lines of code .devcontainer/devenv.yaml x: 2 # contributors y: 9 lines of code app/views/VideoUIApp/app.scala.html x: 20 # contributors y: 40 lines of code public/video-ui/src/actions/VideoActions/createAsset.ts x: 2 # contributors y: 20 lines of code public/video-ui/src/actions/VideoActions/getVideo.ts x: 2 # contributors y: 27 lines of code public/video-ui/src/actions/VideoActions/videoPageCreate.ts x: 2 # contributors y: 52 lines of code public/video-ui/src/actions/VideoActions/videoPageUpdate.tsx x: 2 # contributors y: 36 lines of code public/video-ui/src/components/ContentChangeDetails/ContentChangeDetails.tsx x: 2 # contributors y: 59 lines of code public/video-ui/src/components/Create.tsx x: 11 # contributors y: 250 lines of code public/video-ui/src/components/Flags/index.tsx x: 2 # contributors y: 109 lines of code public/video-ui/src/components/FormFields/DatePicker.tsx x: 2 # contributors y: 213 lines of code public/video-ui/src/components/FormFields/DraggableTagList.tsx x: 7 # contributors y: 129 lines of code public/video-ui/src/components/FormFields/DurationInput.tsx x: 2 # contributors y: 124 lines of code public/video-ui/src/components/FormFields/PureTagPicker.tsx x: 2 # contributors y: 64 lines of code public/video-ui/src/components/FormFields/RichTextField.tsx x: 13 # contributors y: 143 lines of code public/video-ui/src/components/FormFields/SelectBox.tsx x: 2 # contributors y: 102 lines of code public/video-ui/src/components/FormFields/TagPicker.tsx x: 2 # contributors y: 471 lines of code public/video-ui/src/components/FormFields/TextAreaInput.tsx x: 2 # contributors y: 78 lines of code public/video-ui/src/components/FormFields/TextInput.tsx x: 2 # contributors y: 74 lines of code public/video-ui/src/components/FormFields/TextInputTagPicker.tsx x: 2 # contributors y: 204 lines of code public/video-ui/src/components/FormFields/richtext/utils/command-helpers.ts x: 9 # contributors y: 137 lines of code public/video-ui/src/components/FormFields/richtext/utils/keymap.ts x: 7 # contributors y: 76 lines of code public/video-ui/src/components/Iconik/IconikProjectPicker.tsx x: 8 # contributors y: 305 lines of code public/video-ui/src/components/ManagedForm/ManagedField.tsx x: 2 # contributors y: 168 lines of code public/video-ui/src/components/ManagedForm/ManagedForm.tsx x: 2 # contributors y: 56 lines of code public/video-ui/src/components/ManagedForm/ManagedSection.tsx x: 2 # contributors y: 32 lines of code public/video-ui/src/components/ManagedForm/types.ts x: 4 # contributors y: 2 lines of code public/video-ui/src/components/Pluto/PlutoProjectPicker.tsx x: 8 # contributors y: 75 lines of code public/video-ui/src/components/Presence.tsx x: 2 # contributors y: 103 lines of code public/video-ui/src/components/ReactApp.tsx x: 11 # contributors y: 140 lines of code public/video-ui/src/components/ScheduledLaunch.tsx x: 4 # contributors y: 262 lines of code public/video-ui/src/components/TagSearch/TagSearch.tsx x: 2 # contributors y: 80 lines of code public/video-ui/src/components/Targeting/Targeting.tsx x: 2 # contributors y: 157 lines of code public/video-ui/src/components/VideoData/VideoData.tsx x: 2 # contributors y: 218 lines of code public/video-ui/src/components/VideoPublishBar/VideoPublishBar.tsx x: 2 # contributors y: 129 lines of code public/video-ui/src/components/VideoUpload/AddAssetFromURL.tsx x: 2 # contributors y: 61 lines of code public/video-ui/src/components/VideoUpload/AddSelfHostedAsset.tsx x: 2 # contributors y: 54 lines of code public/video-ui/src/components/VideoUpload/VideoAsset.fixtures.ts x: 3 # contributors y: 121 lines of code public/video-ui/src/components/Videos/AdvancedActions.tsx x: 2 # contributors y: 65 lines of code public/video-ui/src/components/Videos/ComposerPageCreate.tsx x: 2 # contributors y: 94 lines of code public/video-ui/src/components/Workflow/Workflow.tsx x: 2 # contributors y: 87 lines of code public/video-ui/src/components/Workflow/WorkflowForm.tsx x: 2 # contributors y: 85 lines of code public/video-ui/src/components/utils/YouTubeEmbed.tsx x: 2 # contributors y: 24 lines of code public/video-ui/src/constants/blankVideoData.ts x: 8 # contributors y: 31 lines of code public/video-ui/src/pages/Search/index.tsx x: 16 # contributors y: 210 lines of code public/video-ui/src/pages/Training/index.tsx x: 2 # contributors y: 19 lines of code public/video-ui/src/pages/Video/index.tsx x: 2 # contributors y: 229 lines of code public/video-ui/src/pages/Video/tabs/Iconik.tsx x: 5 # contributors y: 90 lines of code public/video-ui/src/pages/Video/tabs/Pluto.tsx x: 2 # contributors y: 69 lines of code public/video-ui/src/routes.tsx x: 10 # contributors y: 55 lines of code public/video-ui/src/slices/video.ts x: 7 # contributors y: 107 lines of code public/video-ui/src/slices/workflow.ts x: 9 # contributors y: 157 lines of code public/video-ui/src/util/getComposerData.ts x: 2 # contributors y: 51 lines of code public/video-ui/src/util/parseGridMetadata.ts x: 2 # contributors y: 148 lines of code public/video-ui/src/util/video.ts x: 2 # contributors y: 142 lines of code public/video-ui/src/actions/VideoActions/deleteAsset.ts x: 6 # contributors y: 41 lines of code public/video-ui/src/actions/VideoActions/updateVideo.ts x: 6 # contributors y: 5 lines of code public/video-ui/src/components/VideoUpload/VideoAsset.tsx x: 22 # contributors y: 262 lines of code public/video-ui/src/slices/search.ts x: 10 # contributors y: 45 lines of code public/video-ui/src/types/tags.ts x: 2 # contributors y: 16 lines of code public/video-ui/src/components/FormFields/CheckBox.tsx x: 2 # contributors y: 49 lines of code public/video-ui/src/components/FormFields/StandTagPicker.tsx x: 8 # contributors y: 327 lines of code public/video-ui/src/components/VideoItem/VideoItem.tsx x: 2 # contributors y: 140 lines of code public/video-ui/src/constants/themeOverrides.ts x: 4 # contributors y: 36 lines of code public/video-ui/src/pages/Video/tabs/Management.tsx x: 4 # contributors y: 33 lines of code public/video-ui/src/util/getTagDisplayNames.ts x: 2 # contributors y: 45 lines of code public/video-ui/src/util/hasIconikOrPlutoProject.ts x: 3 # contributors y: 4 lines of code public/video-ui/src/util/removeTagDuplicates.ts x: 2 # contributors y: 7 lines of code public/video-ui/src/util/storeMiddleware.ts x: 11 # contributors y: 21 lines of code public/video-ui/styles/components/_forms.scss x: 35 # contributors y: 525 lines of code app/model/commands/AddAssetCommand.scala x: 25 # contributors y: 176 lines of code app/model/commands/CommandException.scala x: 24 # contributors y: 125 lines of code app/util/AssetVersionManager.scala x: 3 # contributors y: 87 lines of code app/util/UploadDecorator.scala x: 12 # contributors y: 36 lines of code common/src/main/scala/com/gu/media/aws/UploadAccess.scala x: 16 # contributors y: 48 lines of code common/src/main/scala/com/gu/media/iconik/IconikModels.scala x: 5 # contributors y: 115 lines of code pluto-message-ingestion/src/types.ts x: 5 # contributors y: 68 lines of code public/video-ui/src/components/GridImage/GridImage.tsx x: 1 # contributors y: 22 lines of code public/video-ui/src/components/ManagedForm/index.ts x: 2 # contributors y: 3 lines of code public/video-ui/src/components/ScheduleRecap.tsx x: 3 # contributors y: 30 lines of code public/video-ui/src/components/VideoPreview/VideoPreview.tsx x: 1 # contributors y: 41 lines of code public/video-ui/src/components/Workflow/WorkflowLink.tsx x: 1 # contributors y: 19 lines of code public/video-ui/src/constants/privacyStates.ts x: 2 # contributors y: 12 lines of code public/video-ui/src/pages/Video/tabs/Targeting.tsx x: 3 # contributors y: 21 lines of code public/video-ui/src/pages/Video/tabs/Workflow.tsx x: 3 # contributors y: 52 lines of code public/video-ui/src/services/IconikApi.ts x: 6 # contributors y: 47 lines of code public/video-ui/src/components/VideoItem/VideoItemError.tsx x: 1 # contributors y: 9 lines of code public/video-ui/src/components/VideoPublishState/VideoPublishState.tsx x: 1 # contributors y: 15 lines of code public/video-ui/src/pages/Video/tabs/Furniture.tsx x: 3 # contributors y: 70 lines of code public/video-ui/src/pages/Video/tabs/YoutubeFurniture.tsx x: 3 # contributors y: 62 lines of code public/video-ui/src/util/removeStringTagDuplicates.ts x: 1 # contributors y: 34 lines of code public/video-ui/src/actions/VideoActions/saveVideo.ts x: 15 # contributors y: 55 lines of code public/video-ui/src/components/EditSaveCancel.tsx x: 3 # contributors y: 46 lines of code public/video-ui/src/actions/PresenceActions/reportError.ts x: 5 # contributors y: 12 lines of code public/video-ui/src/actions/VideoActions/createVideo.ts x: 10 # contributors y: 20 lines of code public/video-ui/src/actions/VideoActions/publishVideo.ts x: 8 # contributors y: 14 lines of code public/video-ui/src/actions/VideoActions/revertAsset.ts x: 8 # contributors y: 19 lines of code public/video-ui/src/components/DeleteButton.tsx x: 3 # contributors y: 65 lines of code public/video-ui/src/components/FormFields/ExpireNow.tsx x: 11 # contributors y: 42 lines of code public/video-ui/src/components/FormFields/RichTextEditor.tsx x: 7 # contributors y: 78 lines of code public/video-ui/src/components/FormFields/richtext/config.ts x: 6 # contributors y: 15 lines of code public/video-ui/src/components/FormFields/richtext/createSchema.ts x: 6 # contributors y: 68 lines of code public/video-ui/src/components/FormFields/richtext/setup.ts x: 6 # contributors y: 53 lines of code public/video-ui/src/components/FormFields/richtext/utils/linkValidator.ts x: 6 # contributors y: 87 lines of code public/video-ui/src/components/FormFields/richtext/utils/listsHelpers.ts x: 6 # contributors y: 33 lines of code public/video-ui/src/components/FormFields/tags/allowTags.ts x: 5 # contributors y: 40 lines of code public/video-ui/src/components/Pluto/PlutoProjectLink.tsx x: 5 # contributors y: 26 lines of code public/video-ui/src/components/utils/VideoEmbed.tsx x: 6 # contributors y: 65 lines of code public/video-ui/src/constants/ErrorMessages.ts x: 8 # contributors y: 5 lines of code public/video-ui/src/constants/imageFields.ts x: 5 # contributors y: 5 lines of code public/video-ui/src/constants/videoCreateOptions.ts x: 7 # contributors y: 102 lines of code public/video-ui/src/services/GridMetadata.ts x: 4 # contributors y: 11 lines of code public/video-ui/src/services/KeywordsApi.ts x: 11 # contributors y: 73 lines of code public/video-ui/src/services/WorkflowApi.ts x: 10 # contributors y: 298 lines of code public/video-ui/src/services/YoutubeApi.ts x: 4 # contributors y: 22 lines of code public/video-ui/src/services/apiRequest.ts x: 9 # contributors y: 94 lines of code public/video-ui/src/services/capi.ts x: 12 # contributors y: 61 lines of code public/video-ui/src/services/presence.ts x: 5 # contributors y: 75 lines of code public/video-ui/src/services/tagmanager.ts x: 8 # contributors y: 44 lines of code public/video-ui/src/slices/checkedFormFields.ts x: 6 # contributors y: 25 lines of code public/video-ui/src/slices/editState.ts x: 6 # contributors y: 13 lines of code public/video-ui/src/slices/gridMetadata.ts x: 4 # contributors y: 26 lines of code public/video-ui/src/slices/path.ts x: 5 # contributors y: 17 lines of code public/video-ui/src/slices/uploads.ts x: 8 # contributors y: 23 lines of code public/video-ui/src/slices/usage.ts x: 7 # contributors y: 83 lines of code public/video-ui/src/util/channelAllowed.ts x: 8 # contributors y: 17 lines of code public/video-ui/src/util/dateHelpers.ts x: 5 # contributors y: 7 lines of code public/video-ui/src/util/getGridMediaId.ts x: 11 # contributors y: 30 lines of code public/video-ui/src/util/getProductionOffice.ts x: 8 # contributors y: 34 lines of code public/video-ui/src/util/getVideoBlock.ts x: 5 # contributors y: 38 lines of code public/video-ui/src/util/hasUnpublishedChanges.ts x: 7 # contributors y: 19 lines of code public/video-ui/src/util/isVideoPublished.ts x: 5 # contributors y: 13 lines of code public/video-ui/src/util/storeAccessor.ts x: 4 # contributors y: 8 lines of code public/video-ui/src/util/videoPublishCheck.ts x: 5 # contributors y: 9 lines of code app/util/UploadBuilder.scala x: 15 # contributors y: 142 lines of code common/src/main/scala/com/gu/media/upload/model/UploadMetadata.scala x: 20 # contributors y: 46 lines of code uploader/src/main/scala/com/gu/media/upload/AddAssetToAtom.scala x: 17 # contributors y: 225 lines of code uploader/src/main/scala/com/gu/media/upload/SendToTranscoderV2.scala x: 12 # contributors y: 88 lines of code app/model/commands/ActiveAssetCommand.scala x: 22 # contributors y: 105 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/HLSOutputGroup.scala x: 5 # contributors y: 65 lines of code app/util/StepFunctions.scala x: 15 # contributors y: 90 lines of code common/src/main/scala/com/gu/media/upload/model/MediaConvertEvent.scala x: 3 # contributors y: 79 lines of code uploader/src/main/scala/com/gu/media/upload/AddSubtitlesToMP4.scala x: 4 # contributors y: 91 lines of code uploader/src/main/scala/com/gu/media/upload/TranscoderComplete.scala x: 4 # contributors y: 148 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/CaptionsOutput.scala x: 3 # contributors y: 39 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/VideoOutput.scala x: 7 # contributors y: 54 lines of code uploader/src/main/resources/lambda-template.yaml x: 12 # contributors y: 32 lines of code common/src/main/scala/com/gu/media/util/JsonConversions.scala x: 15 # contributors y: 252 lines of code common/src/main/scala/com/gu/media/util/MediaAtomImplicits.scala x: 11 # contributors y: 63 lines of code uploader/src/main/resources/cfn-template.yaml x: 27 # contributors y: 475 lines of code common/src/main/scala/com/gu/media/Permissions.scala x: 22 # contributors y: 59 lines of code public/video-ui/src/util/setupStore.ts x: 7 # contributors y: 56 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/SharedCodecSettings.scala x: 6 # contributors y: 83 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/FileOutputGroup.scala x: 5 # contributors y: 44 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/MP4Output.scala x: 7 # contributors y: 48 lines of code project/StateMachine.scala x: 6 # contributors y: 37 lines of code common/src/main/scala/com/gu/media/aws/SecretsManagerAccess.scala x: 4 # contributors y: 19 lines of code common/src/main/scala/com/gu/media/aws/AwsV2Util.scala x: 6 # contributors y: 19 lines of code app/controllers/Api.scala x: 33 # contributors y: 237 lines of code app/model/commands/UpdateAtomCommand.scala x: 21 # contributors y: 208 lines of code app/util/AWS.scala x: 27 # contributors y: 64 lines of code common/src/main/scala/com/gu/media/telemetry/Telemetry.scala x: 2 # contributors y: 111 lines of code common/src/main/scala/com/gu/media/util/MediaAtomHelpers.scala x: 15 # contributors y: 100 lines of code conf/riff-raff.yaml x: 25 # contributors y: 65 lines of code app/controllers/Healthcheck.scala x: 8 # contributors y: 25 lines of code app/data/DataStores.scala x: 13 # contributors y: 141 lines of code common/src/main/scala/com/gu/media/aws/DynamoAccess.scala x: 14 # contributors y: 51 lines of code common/src/main/scala/com/gu/media/aws/SNSAccess.scala x: 9 # contributors y: 14 lines of code common/src/main/scala/com/gu/media/model/PlutoIntegrationData.scala x: 11 # contributors y: 103 lines of code public/video-ui/src/components/VideoSelectBar/VideoSelectBar.tsx x: 3 # contributors y: 50 lines of code app/model/CropOption.scala x: 1 # contributors y: 6 lines of code common/src/main/scala/com/gu/media/util/AspectRatio.scala x: 5 # contributors y: 36 lines of code public/video-ui/src/constants/TagTypes.ts x: 7 # contributors y: 26 lines of code public/video-ui/styles/layout/_video.scss x: 26 # contributors y: 165 lines of code common/src/main/scala/com/gu/media/model/MediaAtom.scala x: 18 # contributors y: 336 lines of code common/src/main/scala/com/gu/media/youtube/YouTubeAccess.scala x: 17 # contributors y: 170 lines of code public/video-ui/src/util/imageHelpers.ts x: 5 # contributors y: 49 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/WebVTTOutput.scala x: 2 # contributors y: 38 lines of code common/src/main/scala/com/gu/media/iconik/IconikInMemoryStore.scala x: 2 # contributors y: 22 lines of code app/model/commands/DeleteCommand.scala x: 15 # contributors y: 65 lines of code common/src/main/scala/com/gu/media/model/Asset.scala x: 14 # contributors y: 42 lines of code common/src/main/scala/com/gu/media/model/ClientAsset.scala x: 14 # contributors y: 152 lines of code common/src/main/scala/com/gu/media/upload/PlutoUploadActions.scala x: 13 # contributors y: 21 lines of code common/src/main/scala/com/gu/media/youtube/package.scala x: 15 # contributors y: 191 lines of code public/video-ui/styles/components/_prosemirror.scss x: 5 # contributors y: 79 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/JobSettingsBuilder.scala x: 4 # contributors y: 52 lines of code app/controllers/IconikController.scala x: 5 # contributors y: 154 lines of code app/views/VideoUIApp/notInIconik.scala.html x: 3 # contributors y: 9 lines of code common/src/main/scala/com/gu/media/model/VideoAsset.scala x: 14 # contributors y: 30 lines of code uploader/src/main/scala/com/gu/media/upload/mediaconvert/model.scala x: 2 # contributors y: 14 lines of code common/src/main/scala/com/gu/media/upload/UploadKeys.scala x: 10 # contributors y: 61 lines of code public/video-ui/src/slices/youtube.ts x: 4 # contributors y: 47 lines of code app/model/commands/PublishAtomCommand.scala x: 26 # contributors y: 396 lines of code common/src/main/scala/com/gu/media/ses/Mailer.scala x: 11 # contributors y: 81 lines of code uploader/src/main/scala/com/gu/media/upload/SendToPluto.scala x: 11 # contributors y: 47 lines of code common/src/main/scala/com/gu/media/aws/AwsAccess.scala x: 13 # contributors y: 27 lines of code common/src/main/scala/com/gu/media/lambda/LambdaWithParams.scala x: 7 # contributors y: 20 lines of code common/src/main/scala/com/gu/media/upload/model/Upload.scala x: 12 # contributors y: 55 lines of code uploader/src/main/scala/com/gu/media/upload/CompleteMultipartCopy.scala x: 9 # contributors y: 65 lines of code uploader/src/main/scala/com/gu/media/upload/GetChunkFromS3.scala x: 9 # contributors y: 48 lines of code uploader/src/main/scala/com/gu/media/upload/MultipartCopyChunkInS3.scala x: 7 # contributors y: 73 lines of code uploader/src/main/scala/com/gu/media/upload/UploadChunkToYouTube.scala x: 8 # contributors y: 47 lines of code app/util/ThumbnailGenerator.scala x: 9 # contributors y: 91 lines of code common/src/main/scala/com/gu/media/youtube/YouTubeVideos.scala x: 14 # contributors y: 217 lines of code app/data/AtomListStore.scala x: 17 # contributors y: 248 lines of code common/src/main/scala/com/gu/media/model/VideoPlayerFormat.scala x: 4 # contributors y: 29 lines of code common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala x: 10 # contributors y: 365 lines of code common/src/main/scala/com/gu/media/aws/CredentialsForAws.scala x: 1 # contributors y: 55 lines of code .github/dependabot.yml x: 3 # contributors y: 17 lines of code app/model/MediaAtomSummary.scala x: 16 # contributors y: 27 lines of code app/util/S3ImageUtil.scala x: 6 # contributors y: 105 lines of code common/src/main/scala/com/gu/media/model/Platform.scala x: 10 # contributors y: 39 lines of code public/video-ui/styles/components/_header.scss x: 15 # contributors y: 59 lines of code public/video-ui/styles/components/_modal.scss x: 9 # contributors y: 33 lines of code common/src/main/scala/com/gu/media/aws/S3Access.scala x: 9 # contributors y: 19 lines of code common/src/main/scala/com/gu/media/youtube/YouTubeUploader.scala x: 12 # contributors y: 154 lines of code common/src/main/scala/com/gu/media/aws/KinesisAccess.scala x: 12 # contributors y: 63 lines of code common/src/main/scala/com/gu/media/CapiAccess.scala x: 8 # contributors y: 109 lines of code common/src/main/scala/com/gu/media/aws/SESSettings.scala x: 10 # contributors y: 18 lines of code common/src/main/scala/com/gu/media/model/IconikData.scala x: 2 # contributors y: 29 lines of code public/video-ui/src/slices/iconik.ts x: 2 # contributors y: 72 lines of code expirer/src/main/scala/com/gu/media/expirer/ExpirerLambda.scala x: 14 # contributors y: 112 lines of code public/video-ui/src/services/PlutoApi.ts x: 4 # contributors y: 32 lines of code public/video-ui/styles/components/_video-trail.scss x: 5 # contributors y: 52 lines of code pluto-message-ingestion/src/process-record.ts x: 2 # contributors y: 83 lines of code public/video-ui/styles/layout/_grid.scss x: 15 # contributors y: 86 lines of code app/controllers/AtomController.scala x: 20 # contributors y: 81 lines of code app/controllers/JsonRequestParsing.scala x: 10 # contributors y: 31 lines of code app/controllers/Login.scala x: 7 # contributors y: 16 lines of code app/controllers/PanDomainAuthActions.scala x: 19 # contributors y: 44 lines of code app/controllers/PlutoController.scala x: 8 # contributors y: 125 lines of code app/controllers/Support.scala x: 15 # contributors y: 21 lines of code app/controllers/Youtube.scala x: 17 # contributors y: 41 lines of code app/model/WorkflowMediaAtom.scala x: 8 # contributors y: 9 lines of code app/model/YouTubeMessage.scala x: 9 # contributors y: 24 lines of code app/model/commands/Command.scala x: 10 # contributors y: 13 lines of code app/model/commands/CreateAtomCommand.scala x: 19 # contributors y: 80 lines of code app/model/commands/CreateWorkflowAtomCommand.scala x: 9 # contributors y: 107 lines of code app/model/commands/DeleteAssetListCommand.scala x: 6 # contributors y: 61 lines of code app/model/commands/SubtitleFileDeleteCommand.scala x: 5 # contributors y: 18 lines of code app/model/transcoder/JobStatus.scala x: 10 # contributors y: 9 lines of code app/util/ActivateAssetRequest.scala x: 11 # contributors y: 12 lines of code app/util/CORSable.scala x: 5 # contributors y: 29 lines of code app/util/YouTube.scala x: 12 # contributors y: 43 lines of code common/src/main/scala/com/gu/media/logging/LambdaElkLoggingFormat.scala x: 5 # contributors y: 30 lines of code common/src/main/scala/com/gu/media/logging/Logging.scala x: 5 # contributors y: 23 lines of code common/src/main/scala/com/gu/media/logging/YoutubeRequestLogger.scala x: 7 # contributors y: 44 lines of code common/src/main/scala/com/gu/media/model/AssetType.scala x: 9 # contributors y: 26 lines of code common/src/main/scala/com/gu/media/model/Category.scala x: 6 # contributors y: 35 lines of code common/src/main/scala/com/gu/media/model/Image.scala x: 9 # contributors y: 63 lines of code common/src/main/scala/com/gu/media/model/PrivacyStatus.scala x: 6 # contributors y: 27 lines of code common/src/main/scala/com/gu/media/pluto/PlutoCommissionDataStore.scala x: 8 # contributors y: 40 lines of code common/src/main/scala/com/gu/media/pluto/PlutoProjectDataStore.scala x: 9 # contributors y: 57 lines of code common/src/main/scala/com/gu/media/upload/model/UploadCredentials.scala x: 10 # contributors y: 16 lines of code common/src/main/scala/com/gu/media/upload/model/UploadProgress.scala x: 11 # contributors y: 29 lines of code common/src/main/scala/com/gu/media/upload/model/UploadStatus.scala x: 10 # contributors y: 27 lines of code common/src/main/scala/com/gu/media/util/HMACClient.scala x: 4 # contributors y: 44 lines of code common/src/main/scala/com/gu/media/util/InputStreamRequestBody.scala x: 5 # contributors y: 41 lines of code common/src/main/scala/com/gu/media/util/MAMLogger.scala x: 10 # contributors y: 28 lines of code common/src/main/scala/com/gu/media/util/ThriftUtil.scala x: 6 # contributors y: 129 lines of code common/src/main/scala/com/gu/media/youtube/MediaAtomYoutubeDescriptionHandler.scala x: 9 # contributors y: 20 lines of code common/src/main/scala/com/gu/media/youtube/YouTubeProcessingStatus.scala x: 10 # contributors y: 108 lines of code common/src/main/scala/com/gu/media/youtube/YoutubeUrl.scala x: 6 # contributors y: 12 lines of code scheduler/src/main/scala/com.gu.media.scheduler/SchedulerLambda.scala x: 7 # contributors y: 62 lines of code public/video-ui/styles/layout/_common.scss x: 11 # contributors y: 50 lines of code public/video-ui/styles/components/_bar.scss x: 17 # contributors y: 101 lines of code public/video-ui/src/slices/targeting.ts x: 3 # contributors y: 95 lines of code public/video-ui/src/util/getTextFromHtml.ts x: 5 # contributors y: 4 lines of code public/video-ui/styles/abstracts/_mixins.scss x: 14 # contributors y: 24 lines of code public/video-ui/styles/layout/_upload.scss x: 13 # contributors y: 49 lines of code public/video-ui/src/logger.ts x: 3 # contributors y: 8 lines of code public/video-ui/src/slices/pluto.ts x: 3 # contributors y: 44 lines of code public/video-ui/styles/components/_presence.scss x: 6 # contributors y: 62 lines of code common/src/main/scala/com/gu/media/upload/model/UploadPart.scala x: 6 # contributors y: 8 lines of code nginx/nginx-mappings.yml x: 6 # contributors y: 4 lines of code public/video-ui/src/constants/appUpdatedFields.ts x: 2 # contributors y: 1 lines of code public/video-ui/src/constants/defaultWorkflowStatusData.ts x: 2 # contributors y: 5 lines of code public/video-ui/styles/abstracts/_variables.scss x: 16 # contributors y: 58 lines of code public/video-ui/styles/base/_fonts.scss x: 5 # contributors y: 34 lines of code public/video-ui/styles/base/_helpers.scss x: 13 # contributors y: 47 lines of code public/video-ui/styles/base/_typography.scss x: 7 # contributors y: 40 lines of code public/video-ui/styles/components/_advanced.scss x: 4 # contributors y: 17 lines of code public/video-ui/styles/components/_asset-list.scss x: 12 # contributors y: 59 lines of code public/video-ui/styles/components/_buttons.scss x: 19 # contributors y: 79 lines of code public/video-ui/styles/components/_detail.scss x: 8 # contributors y: 21 lines of code public/video-ui/styles/components/_details-list.scss x: 16 # contributors y: 35 lines of code public/video-ui/styles/components/_grid-embedder.scss x: 10 # contributors y: 24 lines of code public/video-ui/styles/components/_keywords.scss x: 5 # contributors y: 47 lines of code public/video-ui/styles/components/_scheduledLaunch.scss x: 3 # contributors y: 25 lines of code public/video-ui/styles/components/_section-header.scss x: 9 # contributors y: 12 lines of code public/video-ui/styles/components/_tables.scss x: 5 # contributors y: 20 lines of code public/video-ui/styles/layout/_icons.scss x: 12 # contributors y: 125 lines of code conf/logback.xml x: 8 # contributors y: 26 lines of code uploader/src/main/resources/logback.xml x: 3 # contributors y: 11 lines of code common/src/main/scala/com/gu/media/util/TestFilters.scala x: 1 # contributors y: 4 lines of code scripts/hmac/make-hmac-request.js x: 1 # contributors y: 87 lines of code scripts/hmac/hmac-request.js x: 1 # contributors y: 46 lines of code
543.0
lines of code
  min: 1.0
  average: 67.47
  25th percentile: 20.0
  median: 44.0
  75th percentile: 81.0
  max: 543.0
0 35.0
# contributors
min: 1.0 | average: 7.18 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 10.0 | max: 35.0

Number of Changes vs. Line Churn: 1550 points

cloudformation/media-atom-maker-dev.yml x: 79 # changes y: 3551 line churn app/controllers/UploadController.scala x: 101 # changes y: 5196 line churn .github/workflows/ci.yaml x: 22 # changes y: 412 line churn app/controllers/VideoUIApp.scala x: 95 # changes y: 1085 line churn app/di.scala x: 132 # changes y: 2073 line churn app/model/ClientConfig.scala x: 58 # changes y: 336 line churn app/util/RequestLogging.scala x: 13 # changes y: 556 line churn app/util/SentryConfig.scala x: 6 # changes y: 293 line churn build.sbt x: 228 # changes y: 2955 line churn conf/CODE.public.conf x: 7 # changes y: 32 line churn conf/application.conf x: 26 # changes y: 121 line churn package.json x: 166 # changes y: 1732 line churn public/video-ui/src/app.tsx x: 19 # changes y: 647 line churn public/video-ui/src/components/Header.tsx x: 7 # changes y: 1206 line churn public/video-ui/src/components/VideoUpload/VideoTrail.fixtures.ts x: 3 # changes y: 114 line churn public/video-ui/src/components/VideoUpload/VideoTrail.tsx x: 21 # changes y: 574 line churn public/video-ui/src/pages/Upload/index.tsx x: 27 # changes y: 1220 line churn public/video-ui/src/services/VideosApi.ts x: 69 # changes y: 3164 line churn public/video-ui/src/slices/error.ts x: 21 # changes y: 1049 line churn public/video-ui/src/slices/s3Upload.ts x: 35 # changes y: 1216 line churn public/video-ui/src/util/config.ts x: 16 # changes y: 752 line churn public/video-ui/src/util/tagParsers.ts x: 10 # changes y: 644 line churn public/video-ui/src/util/validateField.ts x: 10 # changes y: 360 line churn public/video-ui/styles/layout/_topbar.scss x: 40 # changes y: 796 line churn vite.config.ts x: 15 # changes y: 291 line churn yarn.lock x: 123 # changes y: 153853 line churn .eslintrc.js x: 27 # changes y: 372 line churn .github/workflows/sbt-dependency-graph.yaml x: 12 # changes y: 139 line churn .tool-versions x: 8 # changes y: 19 line churn app/views/VideoUIApp/app.scala.html x: 34 # changes y: 235 line churn docs/01-dev-setup.md x: 16 # changes y: 341 line churn docs/03-running.md x: 20 # changes y: 351 line churn pluto-message-ingestion/yarn.lock x: 42 # changes y: 52347 line churn public/video-ui/src/actions/VideoActions/createAsset.js x: 41 # changes y: 714 line churn public/video-ui/src/actions/VideoActions/createAsset.ts x: 4 # changes y: 72 line churn public/video-ui/src/actions/VideoActions/getVideo.js x: 37 # changes y: 775 line churn public/video-ui/src/actions/VideoActions/videoPageUpdate.jsx x: 11 # changes y: 424 line churn public/video-ui/src/components/ContentChangeDetails/ContentChangeDetails.tsx x: 5 # changes y: 360 line churn public/video-ui/src/components/Create.tsx x: 22 # changes y: 1764 line churn public/video-ui/src/components/Flags/index.jsx x: 22 # changes y: 750 line churn public/video-ui/src/components/FormFields/DatePicker.tsx x: 4 # changes y: 795 line churn public/video-ui/src/components/FormFields/DraggableTagList.tsx x: 17 # changes y: 712 line churn public/video-ui/src/components/FormFields/TagPicker.jsx x: 31 # changes y: 3177 line churn public/video-ui/src/components/FormFields/TagPicker.test.jsx x: 20 # changes y: 1217 line churn public/video-ui/src/components/FormFields/TagPicker.tsx x: 4 # changes y: 1991 line churn public/video-ui/src/components/FormFields/TextInputTagPicker.jsx x: 19 # changes y: 1398 line churn public/video-ui/src/components/FormFields/richtext/utils/command-helpers.ts x: 14 # changes y: 1062 line churn public/video-ui/src/components/Header.jsx x: 38 # changes y: 2532 line churn public/video-ui/src/components/Iconik/IconikProjectPicker.tsx x: 22 # changes y: 4723 line churn public/video-ui/src/components/ManagedForm/ManagedField.jsx x: 15 # changes y: 1055 line churn public/video-ui/src/components/ManagedForm/ManagedForm.jsx x: 9 # changes y: 370 line churn public/video-ui/src/components/Presence.jsx x: 9 # changes y: 727 line churn public/video-ui/src/components/ScheduledLaunch.tsx x: 10 # changes y: 3038 line churn public/video-ui/src/components/TagSearch/TagSearch.jsx x: 12 # changes y: 626 line churn public/video-ui/src/components/VideoData/VideoData.jsx x: 42 # changes y: 1505 line churn public/video-ui/src/components/VideoImages/VideoImages.jsx x: 28 # changes y: 870 line churn public/video-ui/src/components/VideoPublishBar/VideoPublishBar.jsx x: 29 # changes y: 852 line churn public/video-ui/src/components/VideoUsages/VideoUsages.jsx x: 13 # changes y: 727 line churn public/video-ui/src/components/YoutubeFurniture/index.jsx x: 26 # changes y: 1070 line churn public/video-ui/src/components/utils/Modal.tsx x: 14 # changes y: 484 line churn public/video-ui/src/pages/Search/index.tsx x: 34 # changes y: 2139 line churn public/video-ui/src/pages/Video/index.jsx x: 66 # changes y: 4761 line churn public/video-ui/src/routes.tsx x: 18 # changes y: 515 line churn public/video-ui/src/services/UploadsApi.js x: 65 # changes y: 2749 line churn public/video-ui/src/slices/workflow.ts x: 16 # changes y: 1361 line churn public/video-ui/src/util/getComposerData.js x: 59 # changes y: 1112 line churn public/video-ui/src/util/parseGridMetadata.ts x: 8 # changes y: 900 line churn public/video-ui/src/util/video.js x: 50 # changes y: 1476 line churn scripts/start.sh x: 24 # changes y: 194 line churn .gitignore x: 45 # changes y: 102 line churn public/video-ui/src/components/VideoUpload/VideoAsset.test.tsx x: 24 # changes y: 2437 line churn public/video-ui/src/components/VideoUpload/VideoAsset.tsx x: 42 # changes y: 3259 line churn public/video-ui/src/components/FormFields/CheckBox.tsx x: 5 # changes y: 638 line churn public/video-ui/src/components/FormFields/StandTagPicker.tsx x: 21 # changes y: 3146 line churn public/video-ui/src/components/Icon.tsx x: 5 # changes y: 1894 line churn public/video-ui/src/components/VideoItem/VideoItem.tsx x: 2 # changes y: 1208 line churn public/video-ui/src/components/VideoItem/index.jsx x: 22 # changes y: 1891 line churn public/video-ui/src/util/getTagDisplayNames.js x: 24 # changes y: 860 line churn public/video-ui/src/util/storeMiddleware.ts x: 17 # changes y: 305 line churn public/video-ui/styles/components/_forms.scss x: 124 # changes y: 4035 line churn app/model/commands/AddAssetCommand.scala x: 74 # changes y: 2572 line churn app/model/commands/CommandException.scala x: 58 # changes y: 805 line churn app/util/AssetVersionManager.scala x: 9 # changes y: 1556 line churn common/src/main/scala/com/gu/media/aws/UploadAccess.scala x: 42 # changes y: 542 line churn pluto-message-ingestion/package.json x: 44 # changes y: 375 line churn pluto-message-ingestion/src/process-record.test.ts x: 11 # changes y: 721 line churn public/video-ui/src/components/Icon.jsx x: 15 # changes y: 1582 line churn public/video-ui/src/components/ScheduledLaunch/ScheduledLaunch.jsx x: 18 # changes y: 4847 line churn public/video-ui/styles/vendor/_normalize.scss x: 16 # changes y: 3768 line churn scripts/backfill-asset-versions.sh x: 8 # changes y: 3614 line churn app/controllers/DebugController.scala x: 2 # changes y: 68 line churn conf/routes x: 170 # changes y: 1001 line churn public/video-ui/src/util/tagParsers.js x: 19 # changes y: 531 line churn public/video-ui/src/services/WorkflowApi.ts x: 15 # changes y: 2075 line churn public/video-ui/src/test/getAspectRatio.spec.ts x: 6 # changes y: 689 line churn app/util/UploadBuilder.scala x: 39 # changes y: 779 line churn common/src/main/scala/com/gu/media/upload/model/UploadMetadata.scala x: 52 # changes y: 490 line churn test/controllers/UploadControllerTest.scala x: 26 # changes y: 2254 line churn test/model/ClientAssetTest.scala x: 28 # changes y: 1229 line churn uploader/src/main/scala/com/gu/media/upload/AddAssetToAtom.scala x: 53 # changes y: 1462 line churn uploader/src/main/scala/com/gu/media/upload/SendToTranscoderV2.scala x: 32 # changes y: 1322 line churn app/model/commands/ActiveAssetCommand.scala x: 56 # changes y: 2111 line churn app/util/StepFunctions.scala x: 45 # changes y: 1481 line churn common/src/test/scala/com/gu/media/upload/model/MediaConvertEventTest.scala x: 7 # changes y: 1726 line churn common/src/main/scala/com/gu/media/util/JsonConversions.scala x: 27 # changes y: 936 line churn uploader/src/main/resources/cfn-template.yaml x: 67 # changes y: 2649 line churn app/controllers/Api.scala x: 99 # changes y: 2631 line churn app/model/commands/UpdateAtomCommand.scala x: 62 # changes y: 2007 line churn app/util/AWS.scala x: 79 # changes y: 1293 line churn common/src/main/scala/com/gu/media/util/MediaAtomHelpers.scala x: 30 # changes y: 1239 line churn conf/riff-raff.yaml x: 65 # changes y: 584 line churn app/data/DataStores.scala x: 56 # changes y: 1110 line churn expirer/src/test/scala/com/gu/media/ExpirerLambdaTest.scala x: 39 # changes y: 465 line churn pluto-message-ingestion/scripts/yarn.lock x: 8 # changes y: 17486 line churn public/video-ui/styles/layout/_video.scss x: 77 # changes y: 1550 line churn app/util/Metrics.scala x: 1 # changes y: 288 line churn common/src/main/scala/com/gu/media/model/MediaAtom.scala x: 39 # changes y: 1470 line churn app/model/commands/DeleteCommand.scala x: 35 # changes y: 358 line churn common/src/main/scala/com/gu/media/youtube/package.scala x: 51 # changes y: 1730 line churn uploader/src/main/scala/com/gu/media/upload/JobSettingsBuilder.scala x: 5 # changes y: 1576 line churn app/model/commands/PublishAtomCommand.scala x: 152 # changes y: 4613 line churn common/src/main/scala/com/gu/media/aws/AwsAccess.scala x: 30 # changes y: 403 line churn uploader/src/main/resources/state-machine.json x: 32 # changes y: 1064 line churn uploader/src/main/scala/com/gu/media/upload/GetTranscodingProgressV2.scala x: 18 # changes y: 805 line churn uploader/src/main/scala/com/gu/media/upload/UploadChunkToYouTube.scala x: 23 # changes y: 320 line churn app/data/AtomListStore.scala x: 53 # changes y: 2390 line churn test/data/CapiBackedAtomListStoreSpec.scala x: 11 # changes y: 2298 line churn project/plugins.sbt x: 48 # changes y: 316 line churn public/video-ui/styles/components/_header.scss x: 29 # changes y: 398 line churn expirer/src/main/scala/com/gu/media/expirer/ExpirerLambda.scala x: 36 # changes y: 773 line churn test/ThriftUtilSpec.scala x: 55 # changes y: 1356 line churn public/video-ui/src/components/VideoUpload/VideoTrail.jsx x: 23 # changes y: 959 line churn app/controllers/AtomController.scala x: 31 # changes y: 571 line churn app/model/commands/CreateAtomCommand.scala x: 47 # changes y: 1138 line churn README.md x: 38 # changes y: 671 line churn public/video-ui/src/components/ReactApp.jsx x: 20 # changes y: 1147 line churn public/video-ui/src/actions/UploadActions/s3Upload.js x: 30 # changes y: 1104 line churn public/video-ui/src/services/WorkflowApi.js x: 50 # changes y: 2184 line churn public/video-ui/src/components/VideoUpload/VideoAsset.jsx x: 16 # changes y: 2058 line churn public/video-ui/src/reducers/videoReducer.js x: 47 # changes y: 583 line churn public/video-ui/styles/main.scss x: 64 # changes y: 435 line churn public/video-ui/src/services/pandaReqwest.js x: 34 # changes y: 936 line churn public/video-ui/src/components/FormFields/DatePicker.js x: 31 # changes y: 1390 line churn public/video-ui/src/components/FormFields/TagPicker.js x: 38 # changes y: 3642 line churn public/video-ui/src/components/Header.js x: 80 # changes y: 2329 line churn public/video-ui/src/components/ManagedForm/ManagedField.js x: 52 # changes y: 1234 line churn public/video-ui/src/components/ReactApp.js x: 57 # changes y: 988 line churn public/video-ui/src/components/ScheduledLaunch/ScheduledLaunch.js x: 17 # changes y: 1839 line churn public/video-ui/src/components/VideoData/VideoData.js x: 87 # changes y: 2986 line churn public/video-ui/src/components/VideoPreview/VideoPreview.js x: 51 # changes y: 950 line churn public/video-ui/src/components/VideoPublishBar/VideoPublishBar.js x: 63 # changes y: 1856 line churn public/video-ui/src/components/VideoUpload/VideoAsset.js x: 20 # changes y: 1840 line churn public/video-ui/src/components/VideoUpload/VideoTrail.js x: 43 # changes y: 2709 line churn public/video-ui/src/components/VideoUsages/VideoUsages.js x: 39 # changes y: 2255 line churn public/video-ui/src/components/Workflow/Workflow.js x: 37 # changes y: 1390 line churn public/video-ui/src/components/utils/GridImageSelect.js x: 33 # changes y: 1200 line churn public/video-ui/src/components/utils/SaveButton.js x: 31 # changes y: 761 line churn public/video-ui/src/pages/Video/index.js x: 22 # changes y: 2704 line churn public/video-ui/styles/components/_buttons.scss x: 52 # changes y: 817 line churn public/video-ui/src/constants/videoEditValidation.js x: 32 # changes y: 370 line churn public/video-ui/src/services/VideosApi.js x: 109 # changes y: 3561 line churn public/video-ui/src/components/FormFields/ScribeEditor.js x: 29 # changes y: 2296 line churn public/video-ui/src/components/Video/Display.js x: 136 # changes y: 5990 line churn public/video-ui/src/components/VideoUpload/VideoUpload.js x: 52 # changes y: 3174 line churn project/Dependencies.scala x: 66 # changes y: 844 line churn app/controllers/Api2.scala x: 111 # changes y: 3644 line churn cloudformation/media-atom-maker.yaml x: 37 # changes y: 4912 line churn app/controllers/MainApp.scala x: 42 # changes y: 631 line churn app/model/MediaAtom.scala x: 48 # changes y: 2512 line churn app/util/ThriftUtil.scala x: 11 # changes y: 1283 line churn public/video-ui/src/components/VideoEdit/VideoEdit.js x: 57 # changes y: 2697 line churn public/video-ui/src/components/FormFields/ComposerTagPicker.js x: 6 # changes y: 1462 line churn public/video-ui/src/components/YoutubeMetaData/YoutubeMetaData.js x: 25 # changes y: 1273 line churn common/src/main/scala/com/gu/media/upload/actions/UploadActionHandler.scala x: 21 # changes y: 1644 line churn cloudformation/media-atom-maker.json x: 58 # changes y: 6627 line churn public/video-ui/src/components/VideoAssets/VideoAssets.js x: 41 # changes y: 1352 line churn public/video-ui/src/components/VideoEdit/formComponents/VideoTitle.js x: 28 # changes y: 356 line churn app/util/Youtube.scala x: 34 # changes y: 2491 line churn test/ApiSpec.scala x: 35 # changes y: 2134 line churn public/beta/jspm.config.js x: 4 # changes y: 2544 line churn
153853.0
line churn
  min: 1.0
  average: 516.9
  25th percentile: 70.0
  median: 170.0
  75th percentile: 404.0
  max: 153853.0
0 228.0
# changes
min: 1.0 | average: 10.84 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 12.0 | max: 228.0

Number of Contributors vs. Line Churn: 425 points

cloudformation/media-atom-maker-dev.yml x: 29 # contributors y: 3551 line churn app/controllers/UploadController.scala x: 26 # contributors y: 5196 line churn app/controllers/VideoUIApp.scala x: 27 # contributors y: 1085 line churn app/di.scala x: 34 # contributors y: 2073 line churn app/model/ClientConfig.scala x: 22 # contributors y: 336 line churn app/util/RequestLogging.scala x: 8 # contributors y: 556 line churn app/util/SentryConfig.scala x: 1 # contributors y: 293 line churn app/util/SentryTracingFilter.scala x: 1 # contributors y: 348 line churn public/video-ui/src/app.tsx x: 7 # contributors y: 647 line churn public/video-ui/src/components/Header.tsx x: 3 # contributors y: 1206 line churn public/video-ui/src/components/VideoUpload/VideoTrail.fixtures.ts x: 2 # contributors y: 114 line churn public/video-ui/src/components/VideoUpload/VideoTrail.tsx x: 12 # contributors y: 574 line churn public/video-ui/src/pages/Upload/index.tsx x: 12 # contributors y: 1220 line churn public/video-ui/src/services/VideosApi.ts x: 25 # contributors y: 3164 line churn public/video-ui/src/slices/error.ts x: 6 # contributors y: 1049 line churn public/video-ui/src/slices/s3Upload.ts x: 18 # contributors y: 1216 line churn public/video-ui/src/util/config.ts x: 6 # contributors y: 752 line churn public/video-ui/src/util/errorDetails.ts x: 3 # contributors y: 107 line churn public/video-ui/src/util/tagParsers.ts x: 2 # contributors y: 644 line churn public/video-ui/src/util/validateField.ts x: 7 # contributors y: 360 line churn public/video-ui/styles/layout/_topbar.scss x: 17 # contributors y: 796 line churn vite.config.ts x: 9 # contributors y: 291 line churn .devcontainer/devenv.yaml x: 2 # contributors y: 142 line churn app/views/VideoUIApp/app.scala.html x: 20 # contributors y: 235 line churn public/video-ui/src/actions/VideoActions/createAsset.ts x: 2 # contributors y: 72 line churn public/video-ui/src/actions/VideoActions/getVideo.ts x: 2 # contributors y: 88 line churn public/video-ui/src/actions/VideoActions/videoPageCreate.ts x: 2 # contributors y: 210 line churn public/video-ui/src/components/ContentChangeDetails/ContentChangeDetails.tsx x: 2 # contributors y: 360 line churn public/video-ui/src/components/Create.tsx x: 11 # contributors y: 1764 line churn public/video-ui/src/components/Flags/index.tsx x: 2 # contributors y: 408 line churn public/video-ui/src/components/FormFields/DatePicker.tsx x: 2 # contributors y: 795 line churn public/video-ui/src/components/FormFields/DraggableTagList.tsx x: 7 # contributors y: 712 line churn public/video-ui/src/components/FormFields/DurationInput.tsx x: 2 # contributors y: 466 line churn public/video-ui/src/components/FormFields/PureTagPicker.tsx x: 2 # contributors y: 304 line churn public/video-ui/src/components/FormFields/RichTextField.tsx x: 13 # contributors y: 799 line churn public/video-ui/src/components/FormFields/TagPicker.tsx x: 2 # contributors y: 1991 line churn public/video-ui/src/components/FormFields/TextInput.tsx x: 2 # contributors y: 280 line churn public/video-ui/src/components/FormFields/TextInputTagPicker.tsx x: 2 # contributors y: 836 line churn public/video-ui/src/components/FormFields/richtext/utils/command-helpers.ts x: 9 # contributors y: 1062 line churn public/video-ui/src/components/FormFields/richtext/utils/keymap.ts x: 7 # contributors y: 442 line churn public/video-ui/src/components/Iconik/IconikProjectPicker.tsx x: 8 # contributors y: 4723 line churn public/video-ui/src/components/ManagedForm/ManagedField.tsx x: 2 # contributors y: 722 line churn public/video-ui/src/components/ManagedForm/ManagedSection.tsx x: 2 # contributors y: 167 line churn public/video-ui/src/components/ManagedForm/types.ts x: 4 # contributors y: 59 line churn public/video-ui/src/components/Pluto/PlutoProjectPicker.tsx x: 8 # contributors y: 828 line churn public/video-ui/src/components/Presence.tsx x: 2 # contributors y: 432 line churn public/video-ui/src/components/ReactApp.tsx x: 11 # contributors y: 593 line churn public/video-ui/src/components/ScheduledLaunch.tsx x: 4 # contributors y: 3038 line churn public/video-ui/src/components/TagSearch/TagSearch.tsx x: 2 # contributors y: 310 line churn public/video-ui/src/components/Tags/TagFieldValue.tsx x: 2 # contributors y: 150 line churn public/video-ui/src/components/Targeting/Targeting.tsx x: 2 # contributors y: 715 line churn public/video-ui/src/components/VideoData/VideoData.tsx x: 2 # contributors y: 1011 line churn public/video-ui/src/components/VideoPublishBar/VideoPublishBar.tsx x: 2 # contributors y: 472 line churn public/video-ui/src/components/VideoUpload/AddAssetFromURL.tsx x: 2 # contributors y: 231 line churn public/video-ui/src/components/VideoUpload/VideoAsset.fixtures.ts x: 3 # contributors y: 402 line churn public/video-ui/src/components/VideoUsages/VideoUsages.tsx x: 2 # contributors y: 419 line churn public/video-ui/src/components/Videos/AdvancedActions.tsx x: 2 # contributors y: 256 line churn public/video-ui/src/components/Videos/ComposerPageCreate.tsx x: 2 # contributors y: 370 line churn public/video-ui/src/components/utils/Modal.tsx x: 8 # contributors y: 484 line churn public/video-ui/src/constants/blankVideoData.ts x: 8 # contributors y: 146 line churn public/video-ui/src/pages/Search/index.tsx x: 16 # contributors y: 2139 line churn public/video-ui/src/pages/Video/index.tsx x: 2 # contributors y: 2014 line churn public/video-ui/src/pages/Video/tabs/Iconik.tsx x: 5 # contributors y: 450 line churn public/video-ui/src/routes.tsx x: 10 # contributors y: 515 line churn public/video-ui/src/slices/video.ts x: 7 # contributors y: 1123 line churn public/video-ui/src/slices/workflow.ts x: 9 # contributors y: 1361 line churn public/video-ui/src/util/parseGridMetadata.ts x: 2 # contributors y: 900 line churn public/video-ui/src/util/video.ts x: 2 # contributors y: 623 line churn public/video-ui/src/actions/VideoActions/deleteAsset.ts x: 6 # contributors y: 193 line churn public/video-ui/src/actions/VideoActions/updateVideo.ts x: 6 # contributors y: 39 line churn public/video-ui/src/components/VideoUpload/VideoAsset.tsx x: 22 # contributors y: 3259 line churn public/video-ui/src/slices/search.ts x: 10 # contributors y: 403 line churn public/video-ui/src/components/FormFields/StandTagPicker.tsx x: 8 # contributors y: 3146 line churn public/video-ui/src/components/VideoItem/VideoItem.tsx x: 2 # contributors y: 1208 line churn public/video-ui/src/constants/themeOverrides.ts x: 4 # contributors y: 506 line churn public/video-ui/src/pages/Help/HelpPage.tsx x: 2 # contributors y: 549 line churn public/video-ui/src/pages/Video/tabs/Management.tsx x: 4 # contributors y: 410 line churn public/video-ui/src/util/getTagDisplayNames.ts x: 2 # contributors y: 566 line churn public/video-ui/src/util/hasIconikOrPlutoProject.ts x: 3 # contributors y: 46 line churn public/video-ui/src/util/storeMiddleware.ts x: 11 # contributors y: 305 line churn public/video-ui/styles/components/_forms.scss x: 35 # contributors y: 4035 line churn app/model/commands/AddAssetCommand.scala x: 25 # contributors y: 2572 line churn app/model/commands/CommandException.scala x: 24 # contributors y: 805 line churn app/util/AssetVersionManager.scala x: 3 # contributors y: 1556 line churn app/util/UploadDecorator.scala x: 12 # contributors y: 337 line churn common/src/main/scala/com/gu/media/aws/UploadAccess.scala x: 16 # contributors y: 542 line churn common/src/main/scala/com/gu/media/iconik/IconikModels.scala x: 5 # contributors y: 425 line churn pluto-message-ingestion/src/types.ts x: 5 # contributors y: 463 line churn public/video-ui/src/components/GridImage/GridImage.tsx x: 1 # contributors y: 256 line churn public/video-ui/src/components/ManagedForm/index.ts x: 2 # contributors y: 42 line churn public/video-ui/src/components/ScheduleRecap.tsx x: 3 # contributors y: 330 line churn public/video-ui/src/components/VideoPreview/VideoPreview.tsx x: 1 # contributors y: 522 line churn public/video-ui/src/components/Workflow/WorkflowLink.tsx x: 1 # contributors y: 161 line churn public/video-ui/src/constants/privacyStates.ts x: 2 # contributors y: 195 line churn public/video-ui/src/constants/queryParams.ts x: 2 # contributors y: 36 line churn public/video-ui/src/pages/Video/tabs/Targeting.tsx x: 3 # contributors y: 280 line churn public/video-ui/src/pages/Video/tabs/Usage.tsx x: 3 # contributors y: 370 line churn public/video-ui/src/pages/Video/tabs/Workflow.tsx x: 3 # contributors y: 500 line churn public/video-ui/src/services/IconikApi.ts x: 6 # contributors y: 178 line churn public/video-ui/src/components/VideoItem/VideoItemError.tsx x: 1 # contributors y: 65 line churn public/video-ui/src/pages/Video/tabs/Furniture.tsx x: 3 # contributors y: 640 line churn public/video-ui/src/pages/Video/tabs/YoutubeFurniture.tsx x: 3 # contributors y: 536 line churn public/video-ui/src/util/durationHelpers.ts x: 1 # contributors y: 196 line churn public/video-ui/src/util/removeStringTagDuplicates.ts x: 1 # contributors y: 338 line churn public/video-ui/src/actions/VideoActions/saveVideo.ts x: 15 # contributors y: 570 line churn public/video-ui/src/util/getYouTubeTagCharCount.ts x: 1 # contributors y: 95 line churn public/video-ui/src/components/EditSaveCancel.tsx x: 3 # contributors y: 204 line churn public/video-ui/src/actions/PresenceActions/reportError.ts x: 5 # contributors y: 43 line churn public/video-ui/src/actions/VideoActions/createVideo.ts x: 10 # contributors y: 290 line churn public/video-ui/src/actions/VideoActions/publishVideo.ts x: 8 # contributors y: 266 line churn public/video-ui/src/actions/VideoActions/revertAsset.ts x: 8 # contributors y: 376 line churn public/video-ui/src/components/DeleteButton.tsx x: 3 # contributors y: 219 line churn public/video-ui/src/components/FormFields/ExpireNow.tsx x: 11 # contributors y: 267 line churn public/video-ui/src/components/FormFields/RichTextEditor.tsx x: 7 # contributors y: 786 line churn public/video-ui/src/components/FormFields/richtext/createSchema.ts x: 6 # contributors y: 383 line churn public/video-ui/src/components/FormFields/richtext/menu.ts x: 6 # contributors y: 604 line churn public/video-ui/src/components/FormFields/richtext/setup.ts x: 6 # contributors y: 248 line churn public/video-ui/src/components/FormFields/richtext/utils/linkValidator.ts x: 6 # contributors y: 434 line churn public/video-ui/src/components/FormFields/richtext/utils/listsHelpers.ts x: 6 # contributors y: 282 line churn public/video-ui/src/components/FormFields/richtext/utils/richTextHelpers.ts x: 10 # contributors y: 183 line churn public/video-ui/src/components/FormFields/tags/allowTags.ts x: 5 # contributors y: 218 line churn public/video-ui/src/components/Pluto/PlutoProjectLink.tsx x: 5 # contributors y: 99 line churn public/video-ui/src/components/utils/VideoEmbed.tsx x: 6 # contributors y: 359 line churn public/video-ui/src/constants/ErrorMessages.ts x: 8 # contributors y: 35 line churn public/video-ui/src/constants/imageFields.ts x: 5 # contributors y: 22 line churn public/video-ui/src/constants/videoCreateOptions.ts x: 7 # contributors y: 1087 line churn public/video-ui/src/services/GridMetadata.ts x: 4 # contributors y: 64 line churn public/video-ui/src/services/KeywordsApi.ts x: 11 # contributors y: 629 line churn public/video-ui/src/services/WorkflowApi.ts x: 10 # contributors y: 2075 line churn public/video-ui/src/services/YoutubeApi.ts x: 4 # contributors y: 84 line churn public/video-ui/src/services/apiRequest.ts x: 9 # contributors y: 370 line churn public/video-ui/src/services/capi.ts x: 12 # contributors y: 522 line churn public/video-ui/src/services/presence.ts x: 5 # contributors y: 407 line churn public/video-ui/src/services/tagmanager.ts x: 8 # contributors y: 325 line churn public/video-ui/src/slices/checkedFormFields.ts x: 6 # contributors y: 212 line churn public/video-ui/src/slices/editState.ts x: 6 # contributors y: 90 line churn public/video-ui/src/slices/formFieldsWarning.ts x: 6 # contributors y: 121 line churn public/video-ui/src/slices/gridMetadata.ts x: 4 # contributors y: 129 line churn public/video-ui/src/slices/path.ts x: 5 # contributors y: 71 line churn public/video-ui/src/slices/uploads.ts x: 8 # contributors y: 190 line churn public/video-ui/src/slices/usage.ts x: 7 # contributors y: 759 line churn public/video-ui/src/slices/videos.ts x: 9 # contributors y: 325 line churn public/video-ui/src/util/channelAllowed.ts x: 8 # contributors y: 120 line churn public/video-ui/src/util/getGridMediaId.ts x: 11 # contributors y: 201 line churn public/video-ui/src/util/getProductionOffice.ts x: 8 # contributors y: 182 line churn public/video-ui/src/util/getVideoBlock.ts x: 5 # contributors y: 166 line churn public/video-ui/src/util/hasUnpublishedChanges.ts x: 7 # contributors y: 118 line churn public/video-ui/src/util/storeAccessor.ts x: 4 # contributors y: 28 line churn app/util/UploadBuilder.scala x: 15 # contributors y: 779 line churn common/src/main/scala/com/gu/media/upload/model/UploadMetadata.scala x: 20 # contributors y: 490 line churn uploader/src/main/scala/com/gu/media/upload/AddAssetToAtom.scala x: 17 # contributors y: 1462 line churn uploader/src/main/scala/com/gu/media/upload/SendToTranscoderV2.scala x: 12 # contributors y: 1322 line churn app/model/commands/ActiveAssetCommand.scala x: 22 # contributors y: 2111 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/HLSOutputGroup.scala x: 5 # contributors y: 588 line churn app/util/StepFunctions.scala x: 15 # contributors y: 1481 line churn uploader/src/main/scala/com/gu/media/upload/AddSubtitlesToMP4.scala x: 4 # contributors y: 356 line churn uploader/src/main/scala/com/gu/media/upload/TranscoderComplete.scala x: 4 # contributors y: 389 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/VideoOutput.scala x: 7 # contributors y: 409 line churn uploader/src/main/resources/lambda-template.yaml x: 12 # contributors y: 147 line churn common/src/main/scala/com/gu/media/util/JsonConversions.scala x: 15 # contributors y: 936 line churn uploader/src/main/resources/cfn-template.yaml x: 27 # contributors y: 2649 line churn common/src/main/scala/com/gu/media/Permissions.scala x: 22 # contributors y: 754 line churn public/video-ui/src/util/setupStore.ts x: 7 # contributors y: 290 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/SharedCodecSettings.scala x: 6 # contributors y: 403 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/FileOutputGroup.scala x: 5 # contributors y: 188 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/MP4Output.scala x: 7 # contributors y: 601 line churn common/src/main/scala/com/gu/media/aws/AwsV2Util.scala x: 6 # contributors y: 67 line churn app/controllers/Api.scala x: 33 # contributors y: 2631 line churn app/model/commands/UpdateAtomCommand.scala x: 21 # contributors y: 2007 line churn app/util/AWS.scala x: 27 # contributors y: 1293 line churn common/src/main/scala/com/gu/media/telemetry/Telemetry.scala x: 2 # contributors y: 578 line churn common/src/main/scala/com/gu/media/util/JobCompletedMetrics.scala x: 2 # contributors y: 672 line churn common/src/main/scala/com/gu/media/util/MediaAtomHelpers.scala x: 15 # contributors y: 1239 line churn conf/riff-raff.yaml x: 25 # contributors y: 584 line churn app/controllers/Healthcheck.scala x: 8 # contributors y: 129 line churn app/data/DataStores.scala x: 13 # contributors y: 1110 line churn common/src/main/scala/com/gu/media/aws/DynamoAccess.scala x: 14 # contributors y: 524 line churn common/src/main/scala/com/gu/media/aws/SNSAccess.scala x: 9 # contributors y: 87 line churn public/video-ui/src/slices/config.ts x: 8 # contributors y: 340 line churn app/model/CropOption.scala x: 1 # contributors y: 36 line churn app/schedule/GridAPI.scala x: 1 # contributors y: 324 line churn public/video-ui/src/constants/TagTypes.ts x: 7 # contributors y: 150 line churn public/video-ui/styles/layout/_video.scss x: 26 # contributors y: 1550 line churn common/src/main/scala/com/gu/media/model/MediaAtom.scala x: 18 # contributors y: 1470 line churn common/src/main/scala/com/gu/media/youtube/YouTubeAccess.scala x: 17 # contributors y: 1109 line churn public/video-ui/src/util/imageHelpers.ts x: 5 # contributors y: 534 line churn app/model/commands/DeleteCommand.scala x: 15 # contributors y: 358 line churn common/src/main/scala/com/gu/media/model/Asset.scala x: 14 # contributors y: 192 line churn common/src/main/scala/com/gu/media/model/ClientAsset.scala x: 14 # contributors y: 636 line churn common/src/main/scala/com/gu/media/upload/PlutoUploadActions.scala x: 13 # contributors y: 535 line churn common/src/main/scala/com/gu/media/youtube/package.scala x: 15 # contributors y: 1730 line churn public/video-ui/styles/components/_prosemirror.scss x: 5 # contributors y: 909 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/JobSettingsBuilder.scala x: 4 # contributors y: 202 line churn app/controllers/IconikController.scala x: 5 # contributors y: 767 line churn app/views/VideoUIApp/notInIconik.scala.html x: 3 # contributors y: 36 line churn pluto-message-ingestion/scripts/test-iconik-upsert-CODE.js x: 3 # contributors y: 140 line churn common/src/main/scala/com/gu/media/model/VideoAsset.scala x: 14 # contributors y: 129 line churn common/src/main/scala/com/gu/media/upload/UploadKeys.scala x: 10 # contributors y: 369 line churn public/video-ui/src/slices/youtube.ts x: 4 # contributors y: 236 line churn app/model/commands/PublishAtomCommand.scala x: 26 # contributors y: 4613 line churn common/src/main/scala/com/gu/media/ses/Mailer.scala x: 11 # contributors y: 598 line churn common/src/main/scala/com/gu/media/aws/AwsAccess.scala x: 13 # contributors y: 403 line churn common/src/main/scala/com/gu/media/lambda/LambdaWithParams.scala x: 7 # contributors y: 88 line churn common/src/main/scala/com/gu/media/upload/model/Upload.scala x: 12 # contributors y: 306 line churn uploader/src/main/scala/com/gu/media/upload/AddUploadDataToCache.scala x: 8 # contributors y: 66 line churn uploader/src/main/scala/com/gu/media/upload/CompleteMultipartCopy.scala x: 9 # contributors y: 276 line churn uploader/src/main/scala/com/gu/media/upload/GetChunkFromS3.scala x: 9 # contributors y: 241 line churn uploader/src/main/scala/com/gu/media/upload/MultipartCopyChunkInS3.scala x: 7 # contributors y: 342 line churn app/util/ThumbnailGenerator.scala x: 9 # contributors y: 555 line churn common/src/main/scala/com/gu/media/Settings.scala x: 12 # contributors y: 192 line churn common/src/main/scala/com/gu/media/youtube/YouTubeVideos.scala x: 14 # contributors y: 1713 line churn app/data/AtomListStore.scala x: 17 # contributors y: 2390 line churn common/src/main/scala/com/gu/media/model/VideoPlayerFormat.scala x: 4 # contributors y: 110 line churn common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala x: 10 # contributors y: 1611 line churn common/src/main/scala/com/gu/media/aws/AwsCredentials.scala x: 14 # contributors y: 488 line churn common/src/main/scala/com/gu/media/aws/CredentialsForAws.scala x: 1 # contributors y: 122 line churn .github/dependabot.yml x: 3 # contributors y: 80 line churn app/model/MediaAtomSummary.scala x: 16 # contributors y: 164 line churn app/util/S3ImageUtil.scala x: 6 # contributors y: 524 line churn common/src/main/scala/com/gu/media/model/Platform.scala x: 10 # contributors y: 261 line churn public/video-ui/styles/components/_header.scss x: 15 # contributors y: 398 line churn public/video-ui/styles/components/_modal.scss x: 9 # contributors y: 458 line churn app/util/SubtitleUtil.scala x: 6 # contributors y: 160 line churn common/src/main/scala/com/gu/media/aws/S3Access.scala x: 9 # contributors y: 120 line churn common/src/main/scala/com/gu/media/lambda/LambdaBase.scala x: 11 # contributors y: 447 line churn common/src/main/scala/com/gu/media/youtube/YouTubeUploader.scala x: 12 # contributors y: 1026 line churn common/src/main/scala/com/gu/media/aws/KinesisAccess.scala x: 12 # contributors y: 451 line churn app/util/NotifyingAtomPublisher.scala x: 7 # contributors y: 191 line churn common/src/main/scala/com/gu/media/iconik/IconikUploadActions.scala x: 3 # contributors y: 781 line churn common/src/main/scala/com/gu/media/CapiAccess.scala x: 8 # contributors y: 814 line churn common/src/main/scala/com/gu/media/aws/SESSettings.scala x: 10 # contributors y: 121 line churn expirer/src/main/scala/com/gu/media/expirer/ExpirerLambda.scala x: 14 # contributors y: 773 line churn public/video-ui/src/services/PlutoApi.ts x: 4 # contributors y: 158 line churn public/video-ui/styles/layout/_grid.scss x: 15 # contributors y: 773 line churn app/controllers/AtomController.scala x: 20 # contributors y: 571 line churn app/controllers/JsonRequestParsing.scala x: 10 # contributors y: 158 line churn app/controllers/Login.scala x: 7 # contributors y: 65 line churn app/controllers/PanDomainAuthActions.scala x: 19 # contributors y: 341 line churn app/controllers/PlutoController.scala x: 8 # contributors y: 628 line churn app/controllers/Youtube.scala x: 17 # contributors y: 557 line churn app/model/WorkflowMediaAtom.scala x: 8 # contributors y: 41 line churn app/model/YouTubeMessage.scala x: 9 # contributors y: 133 line churn app/model/commands/Command.scala x: 10 # contributors y: 68 line churn app/model/commands/CreateAtomCommand.scala x: 19 # contributors y: 1138 line churn app/model/commands/CreateWorkflowAtomCommand.scala x: 9 # contributors y: 425 line churn app/model/commands/SubtitleFileDeleteCommand.scala x: 5 # contributors y: 113 line churn app/model/transcoder/JobStatus.scala x: 10 # contributors y: 52 line churn app/util/ActivateAssetRequest.scala x: 11 # contributors y: 166 line churn app/util/YouTube.scala x: 12 # contributors y: 270 line churn common/src/main/scala/com/gu/media/logging/YoutubeRequestLogger.scala x: 7 # contributors y: 134 line churn common/src/main/scala/com/gu/media/model/ChangeRecord.scala x: 9 # contributors y: 149 line churn common/src/main/scala/com/gu/media/pluto/PlutoProjectDataStore.scala x: 9 # contributors y: 580 line churn common/src/main/scala/com/gu/media/upload/model/UploadProgress.scala x: 11 # contributors y: 148 line churn common/src/main/scala/com/gu/media/upload/model/UploadStatus.scala x: 10 # contributors y: 226 line churn common/src/main/scala/com/gu/media/util/InputStreamRequestBody.scala x: 5 # contributors y: 149 line churn common/src/main/scala/com/gu/media/util/ThriftUtil.scala x: 6 # contributors y: 489 line churn common/src/main/scala/com/gu/media/youtube/MediaAtomYoutubeDescriptionHandler.scala x: 9 # contributors y: 77 line churn common/src/main/scala/com/gu/media/youtube/YouTubeProcessingStatus.scala x: 10 # contributors y: 562 line churn common/src/main/scala/com/gu/media/youtube/YoutubeUrl.scala x: 6 # contributors y: 47 line churn public/video-ui/styles/components/_bar.scss x: 17 # contributors y: 755 line churn public/video-ui/src/actions/VideoActions/getPublishedVideo.ts x: 3 # contributors y: 96 line churn public/video-ui/styles/abstracts/_mixins.scss x: 14 # contributors y: 181 line churn public/video-ui/styles/layout/_upload.scss x: 13 # contributors y: 1020 line churn public/video-ui/src/slices/pluto.ts x: 3 # contributors y: 262 line churn public/video-ui/styles/components/_presence.scss x: 6 # contributors y: 292 line churn public/video-ui/styles/main.scss x: 22 # contributors y: 435 line churn app/views/VideoUIApp/layout.scala.html x: 9 # contributors y: 328 line churn public/video-ui/src/constants/appUpdatedFields.ts x: 2 # contributors y: 4 line churn public/video-ui/styles/abstracts/_variables.scss x: 16 # contributors y: 616 line churn public/video-ui/styles/base/_base.scss x: 3 # contributors y: 175 line churn public/video-ui/styles/base/_helpers.scss x: 13 # contributors y: 426 line churn public/video-ui/styles/base/_typography.scss x: 7 # contributors y: 260 line churn public/video-ui/styles/components/_asset-list.scss x: 12 # contributors y: 703 line churn public/video-ui/styles/components/_buttons.scss x: 19 # contributors y: 817 line churn public/video-ui/styles/components/_details-list.scss x: 16 # contributors y: 436 line churn public/video-ui/styles/components/_grid-embedder.scss x: 10 # contributors y: 220 line churn public/video-ui/styles/components/_keywords.scss x: 5 # contributors y: 315 line churn public/video-ui/styles/components/_tables.scss x: 5 # contributors y: 514 line churn public/video-ui/styles/layout/_icons.scss x: 12 # contributors y: 967 line churn public/video-ui/styles/layout/_tabs.scss x: 4 # contributors y: 216 line churn conf/logback.xml x: 8 # contributors y: 212 line churn scripts/hmac/make-hmac-request.js x: 1 # contributors y: 266 line churn
5196.0
line churn
  min: 4.0
  average: 473.68
  25th percentile: 104.5
  median: 266.0
  75th percentile: 545.5
  max: 5196.0
0 35.0
# contributors
min: 1.0 | average: 7.18 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 10.0 | max: 35.0

File Size vs. Line Churn: 425 points

cloudformation/media-atom-maker-dev.yml x: 543 lines of code y: 3551 line churn app/controllers/UploadController.scala x: 293 lines of code y: 5196 line churn app/controllers/VideoUIApp.scala x: 93 lines of code y: 1085 line churn app/di.scala x: 214 lines of code y: 2073 line churn app/model/ClientConfig.scala x: 43 lines of code y: 336 line churn app/util/RequestLogging.scala x: 81 lines of code y: 556 line churn app/util/SentryConfig.scala x: 50 lines of code y: 293 line churn app/util/SentryTracingFilter.scala x: 72 lines of code y: 348 line churn public/video-ui/src/app.tsx x: 60 lines of code y: 647 line churn public/video-ui/src/components/Header.tsx x: 336 lines of code y: 1206 line churn public/video-ui/src/components/VideoUpload/VideoTrail.fixtures.ts x: 33 lines of code y: 114 line churn public/video-ui/src/components/VideoUpload/VideoTrail.tsx x: 120 lines of code y: 574 line churn public/video-ui/src/pages/Upload/index.tsx x: 143 lines of code y: 1220 line churn public/video-ui/src/services/VideosApi.ts x: 455 lines of code y: 3164 line churn public/video-ui/src/slices/error.ts x: 142 lines of code y: 1049 line churn public/video-ui/src/slices/s3Upload.ts x: 164 lines of code y: 1216 line churn public/video-ui/src/util/config.ts x: 101 lines of code y: 752 line churn public/video-ui/src/util/errorDetails.ts x: 18 lines of code y: 107 line churn public/video-ui/src/util/tagParsers.ts x: 91 lines of code y: 644 line churn public/video-ui/src/util/validateField.ts x: 71 lines of code y: 360 line churn public/video-ui/styles/layout/_topbar.scss x: 93 lines of code y: 796 line churn vite.config.ts x: 55 lines of code y: 291 line churn .devcontainer/devenv.yaml x: 9 lines of code y: 142 line churn app/views/VideoUIApp/app.scala.html x: 40 lines of code y: 235 line churn public/video-ui/src/actions/VideoActions/createAsset.ts x: 20 lines of code y: 72 line churn public/video-ui/src/actions/VideoActions/getVideo.ts x: 27 lines of code y: 88 line churn public/video-ui/src/actions/VideoActions/videoPageCreate.ts x: 52 lines of code y: 210 line churn public/video-ui/src/actions/VideoActions/videoPageUpdate.tsx x: 36 lines of code y: 137 line churn public/video-ui/src/components/ContentChangeDetails/ContentChangeDetails.tsx x: 59 lines of code y: 360 line churn public/video-ui/src/components/Create.tsx x: 250 lines of code y: 1764 line churn public/video-ui/src/components/Flags/index.tsx x: 109 lines of code y: 408 line churn public/video-ui/src/components/FormFields/DatePicker.tsx x: 213 lines of code y: 795 line churn public/video-ui/src/components/FormFields/DraggableTagList.tsx x: 129 lines of code y: 712 line churn public/video-ui/src/components/FormFields/DurationInput.tsx x: 124 lines of code y: 466 line churn public/video-ui/src/components/FormFields/PureTagPicker.tsx x: 64 lines of code y: 304 line churn public/video-ui/src/components/FormFields/RichTextField.tsx x: 143 lines of code y: 799 line churn public/video-ui/src/components/FormFields/SelectBox.tsx x: 102 lines of code y: 393 line churn public/video-ui/src/components/FormFields/TagPicker.tsx x: 471 lines of code y: 1991 line churn public/video-ui/src/components/FormFields/TextAreaInput.tsx x: 78 lines of code y: 295 line churn public/video-ui/src/components/FormFields/TextInput.tsx x: 74 lines of code y: 280 line churn public/video-ui/src/components/FormFields/TextInputTagPicker.tsx x: 204 lines of code y: 836 line churn public/video-ui/src/components/FormFields/richtext/utils/command-helpers.ts x: 137 lines of code y: 1062 line churn public/video-ui/src/components/FormFields/richtext/utils/keymap.ts x: 76 lines of code y: 442 line churn public/video-ui/src/components/Iconik/IconikProjectPicker.tsx x: 305 lines of code y: 4723 line churn public/video-ui/src/components/ManagedForm/ManagedField.tsx x: 168 lines of code y: 722 line churn public/video-ui/src/components/ManagedForm/ManagedForm.tsx x: 56 lines of code y: 287 line churn public/video-ui/src/components/ManagedForm/ManagedSection.tsx x: 32 lines of code y: 167 line churn public/video-ui/src/components/ManagedForm/types.ts x: 2 lines of code y: 59 line churn public/video-ui/src/components/Pluto/PlutoProjectPicker.tsx x: 75 lines of code y: 828 line churn public/video-ui/src/components/Presence.tsx x: 103 lines of code y: 432 line churn public/video-ui/src/components/ReactApp.tsx x: 140 lines of code y: 593 line churn public/video-ui/src/components/ScheduledLaunch.tsx x: 262 lines of code y: 3038 line churn public/video-ui/src/components/TagSearch/TagSearch.tsx x: 80 lines of code y: 310 line churn public/video-ui/src/components/Tags/TagFieldValue.tsx x: 34 lines of code y: 150 line churn public/video-ui/src/components/Targeting/Targeting.tsx x: 157 lines of code y: 715 line churn public/video-ui/src/components/VideoData/VideoData.tsx x: 218 lines of code y: 1011 line churn public/video-ui/src/components/VideoPublishBar/VideoPublishBar.tsx x: 129 lines of code y: 472 line churn public/video-ui/src/components/VideoUpload/AddAssetFromURL.tsx x: 61 lines of code y: 231 line churn public/video-ui/src/components/VideoUpload/AddSelfHostedAsset.tsx x: 54 lines of code y: 225 line churn public/video-ui/src/components/VideoUpload/VideoAsset.fixtures.ts x: 121 lines of code y: 402 line churn public/video-ui/src/components/VideoUpload/YoutubeUpload.tsx x: 74 lines of code y: 293 line churn public/video-ui/src/components/VideoUsages/VideoUsages.tsx x: 101 lines of code y: 419 line churn public/video-ui/src/components/Videos/AdvancedActions.tsx x: 65 lines of code y: 256 line churn public/video-ui/src/components/Videos/ComposerPageCreate.tsx x: 94 lines of code y: 370 line churn public/video-ui/src/components/Workflow/Workflow.tsx x: 87 lines of code y: 423 line churn public/video-ui/src/components/Workflow/WorkflowForm.tsx x: 85 lines of code y: 419 line churn public/video-ui/src/components/YoutubeFurniture/index.tsx x: 168 lines of code y: 640 line churn public/video-ui/src/components/utils/GridImageSelect.tsx x: 87 lines of code y: 389 line churn public/video-ui/src/components/utils/Modal.tsx x: 76 lines of code y: 484 line churn public/video-ui/src/components/utils/YouTubeEmbed.tsx x: 24 lines of code y: 108 line churn public/video-ui/src/constants/blankVideoData.ts x: 31 lines of code y: 146 line churn public/video-ui/src/pages/Search/index.tsx x: 210 lines of code y: 2139 line churn public/video-ui/src/pages/Training/index.tsx x: 19 lines of code y: 72 line churn public/video-ui/src/pages/Video/index.tsx x: 229 lines of code y: 2014 line churn public/video-ui/src/pages/Video/tabs/Iconik.tsx x: 90 lines of code y: 450 line churn public/video-ui/src/pages/Video/tabs/Pluto.tsx x: 69 lines of code y: 271 line churn public/video-ui/src/routes.tsx x: 55 lines of code y: 515 line churn public/video-ui/src/services/UploadsApi.ts x: 129 lines of code y: 643 line churn public/video-ui/src/slices/video.ts x: 107 lines of code y: 1123 line churn public/video-ui/src/slices/workflow.ts x: 157 lines of code y: 1361 line churn public/video-ui/src/util/cleanVideoData.ts x: 18 lines of code y: 68 line churn public/video-ui/src/util/getComposerData.ts x: 51 lines of code y: 164 line churn public/video-ui/src/util/parseGridMetadata.ts x: 148 lines of code y: 900 line churn public/video-ui/src/util/video.ts x: 142 lines of code y: 623 line churn public/video-ui/src/actions/VideoActions/deleteAsset.ts x: 41 lines of code y: 193 line churn public/video-ui/src/actions/VideoActions/updateVideo.ts x: 5 lines of code y: 39 line churn public/video-ui/src/components/ActivateButton.tsx x: 60 lines of code y: 218 line churn public/video-ui/src/components/VideoUpload/VideoAsset.tsx x: 262 lines of code y: 3259 line churn public/video-ui/src/slices/search.ts x: 45 lines of code y: 403 line churn public/video-ui/src/types/tags.ts x: 16 lines of code y: 105 line churn public/video-ui/src/components/DurationReset/DurationReset.tsx x: 36 lines of code y: 295 line churn public/video-ui/src/components/FormFields/CheckBox.tsx x: 49 lines of code y: 638 line churn public/video-ui/src/components/FormFields/StandTagPicker.tsx x: 327 lines of code y: 3146 line churn public/video-ui/src/components/VideoItem/VideoItem.tsx x: 140 lines of code y: 1208 line churn public/video-ui/src/components/VideoSearch/VideoSearch.tsx x: 31 lines of code y: 306 line churn public/video-ui/src/constants/themeOverrides.ts x: 36 lines of code y: 506 line churn public/video-ui/src/pages/Help/HelpPage.tsx x: 55 lines of code y: 549 line churn public/video-ui/src/pages/Video/tabs/Management.tsx x: 33 lines of code y: 410 line churn public/video-ui/src/util/getTagDisplayNames.ts x: 45 lines of code y: 566 line churn public/video-ui/src/util/hasIconikOrPlutoProject.ts x: 4 lines of code y: 46 line churn public/video-ui/src/util/removeTagDuplicates.ts x: 7 lines of code y: 90 line churn public/video-ui/src/util/storeMiddleware.ts x: 21 lines of code y: 305 line churn public/video-ui/styles/components/_forms.scss x: 525 lines of code y: 4035 line churn app/model/commands/AddAssetCommand.scala x: 176 lines of code y: 2572 line churn app/model/commands/CommandException.scala x: 125 lines of code y: 805 line churn app/util/AssetVersionManager.scala x: 87 lines of code y: 1556 line churn app/util/UploadDecorator.scala x: 36 lines of code y: 337 line churn common/src/main/scala/com/gu/media/aws/UploadAccess.scala x: 48 lines of code y: 542 line churn common/src/main/scala/com/gu/media/iconik/IconikModels.scala x: 115 lines of code y: 425 line churn pluto-message-ingestion/src/types.ts x: 68 lines of code y: 463 line churn public/video-ui/src/components/ErrorBoundary/ErrorBoundary.tsx x: 26 lines of code y: 377 line churn public/video-ui/src/components/GridImage/GridImage.tsx x: 22 lines of code y: 256 line churn public/video-ui/src/components/ManagedForm/index.ts x: 3 lines of code y: 42 line churn public/video-ui/src/components/ScheduleRecap.tsx x: 30 lines of code y: 330 line churn public/video-ui/src/components/VideoPreview/VideoPreview.tsx x: 41 lines of code y: 522 line churn public/video-ui/src/components/Workflow/WorkflowLink.tsx x: 19 lines of code y: 161 line churn public/video-ui/src/constants/privacyStates.ts x: 12 lines of code y: 195 line churn public/video-ui/src/constants/queryParams.ts x: 3 lines of code y: 36 line churn public/video-ui/src/pages/Video/tabs/Targeting.tsx x: 21 lines of code y: 280 line churn public/video-ui/src/pages/Video/tabs/Usage.tsx x: 30 lines of code y: 370 line churn public/video-ui/src/pages/Video/tabs/Workflow.tsx x: 52 lines of code y: 500 line churn public/video-ui/src/services/IconikApi.ts x: 47 lines of code y: 178 line churn public/video-ui/src/components/VideoItem/VideoItemError.tsx x: 9 lines of code y: 65 line churn public/video-ui/src/components/VideoPublishState/VideoPublishState.tsx x: 15 lines of code y: 147 line churn public/video-ui/src/pages/Video/tabs/Furniture.tsx x: 70 lines of code y: 640 line churn public/video-ui/src/pages/Video/tabs/YoutubeFurniture.tsx x: 62 lines of code y: 536 line churn public/video-ui/src/util/durationHelpers.ts x: 16 lines of code y: 196 line churn public/video-ui/src/util/removeStringTagDuplicates.ts x: 34 lines of code y: 338 line churn public/video-ui/src/actions/VideoActions/saveVideo.ts x: 55 lines of code y: 570 line churn public/video-ui/src/util/getYouTubeTagCharCount.ts x: 15 lines of code y: 95 line churn public/video-ui/src/components/EditSaveCancel.tsx x: 46 lines of code y: 204 line churn public/video-ui/src/actions/PresenceActions/reportError.ts x: 12 lines of code y: 43 line churn public/video-ui/src/actions/VideoActions/createVideo.ts x: 20 lines of code y: 290 line churn public/video-ui/src/actions/VideoActions/publishVideo.ts x: 14 lines of code y: 266 line churn public/video-ui/src/actions/VideoActions/revertAsset.ts x: 19 lines of code y: 376 line churn public/video-ui/src/components/DeleteButton.tsx x: 65 lines of code y: 219 line churn public/video-ui/src/components/FormFields/ExpireNow.tsx x: 42 lines of code y: 267 line churn public/video-ui/src/components/FormFields/RichTextEditor.tsx x: 78 lines of code y: 786 line churn public/video-ui/src/components/FormFields/richtext/config.ts x: 15 lines of code y: 191 line churn public/video-ui/src/components/FormFields/richtext/createSchema.ts x: 68 lines of code y: 383 line churn public/video-ui/src/components/FormFields/richtext/menu.ts x: 102 lines of code y: 604 line churn public/video-ui/src/components/FormFields/richtext/setup.ts x: 53 lines of code y: 248 line churn public/video-ui/src/components/FormFields/richtext/utils/linkValidator.ts x: 87 lines of code y: 434 line churn public/video-ui/src/components/FormFields/richtext/utils/listsHelpers.ts x: 33 lines of code y: 282 line churn public/video-ui/src/components/FormFields/richtext/utils/richTextHelpers.ts x: 21 lines of code y: 183 line churn public/video-ui/src/components/FormFields/tags/allowTags.ts x: 40 lines of code y: 218 line churn public/video-ui/src/components/Pluto/PlutoProjectLink.tsx x: 26 lines of code y: 99 line churn public/video-ui/src/components/utils/VideoEmbed.tsx x: 65 lines of code y: 359 line churn public/video-ui/src/constants/videoCreateOptions.ts x: 102 lines of code y: 1087 line churn public/video-ui/src/services/GridMetadata.ts x: 11 lines of code y: 64 line churn public/video-ui/src/services/KeywordsApi.ts x: 73 lines of code y: 629 line churn public/video-ui/src/services/WorkflowApi.ts x: 298 lines of code y: 2075 line churn public/video-ui/src/services/YoutubeApi.ts x: 22 lines of code y: 84 line churn public/video-ui/src/services/capi.ts x: 61 lines of code y: 522 line churn public/video-ui/src/services/presence.ts x: 75 lines of code y: 407 line churn public/video-ui/src/services/tagmanager.ts x: 44 lines of code y: 325 line churn public/video-ui/src/slices/checkedFormFields.ts x: 25 lines of code y: 212 line churn public/video-ui/src/slices/editState.ts x: 13 lines of code y: 90 line churn public/video-ui/src/slices/gridMetadata.ts x: 26 lines of code y: 129 line churn public/video-ui/src/slices/path.ts x: 17 lines of code y: 71 line churn public/video-ui/src/slices/uploads.ts x: 23 lines of code y: 190 line churn public/video-ui/src/slices/usage.ts x: 83 lines of code y: 759 line churn public/video-ui/src/slices/videos.ts x: 54 lines of code y: 325 line churn public/video-ui/src/util/channelAllowed.ts x: 17 lines of code y: 120 line churn public/video-ui/src/util/dateHelpers.ts x: 7 lines of code y: 50 line churn public/video-ui/src/util/getGridMediaId.ts x: 30 lines of code y: 201 line churn public/video-ui/src/util/getProductionOffice.ts x: 34 lines of code y: 182 line churn public/video-ui/src/util/getVideoBlock.ts x: 38 lines of code y: 166 line churn public/video-ui/src/util/hasUnpublishedChanges.ts x: 19 lines of code y: 118 line churn public/video-ui/src/util/isVideoPublished.ts x: 13 lines of code y: 74 line churn public/video-ui/src/util/storeAccessor.ts x: 8 lines of code y: 28 line churn app/util/UploadBuilder.scala x: 142 lines of code y: 779 line churn common/src/main/scala/com/gu/media/upload/model/UploadMetadata.scala x: 46 lines of code y: 490 line churn uploader/src/main/scala/com/gu/media/upload/AddAssetToAtom.scala x: 225 lines of code y: 1462 line churn uploader/src/main/scala/com/gu/media/upload/SendToTranscoderV2.scala x: 88 lines of code y: 1322 line churn app/model/commands/ActiveAssetCommand.scala x: 105 lines of code y: 2111 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/EncodingConfig.scala x: 33 lines of code y: 535 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/HLSOutputGroup.scala x: 65 lines of code y: 588 line churn app/util/StepFunctions.scala x: 90 lines of code y: 1481 line churn common/src/main/scala/com/gu/media/upload/model/MediaConvertEvent.scala x: 79 lines of code y: 218 line churn uploader/src/main/scala/com/gu/media/upload/AddSubtitlesToMP4.scala x: 91 lines of code y: 356 line churn uploader/src/main/scala/com/gu/media/upload/FfMpeg.scala x: 79 lines of code y: 392 line churn uploader/src/main/scala/com/gu/media/upload/TranscoderComplete.scala x: 148 lines of code y: 389 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/AudioOutput.scala x: 27 lines of code y: 195 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/CaptionsOutput.scala x: 39 lines of code y: 118 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/hls/VideoOutput.scala x: 54 lines of code y: 409 line churn uploader/src/main/resources/lambda-template.yaml x: 32 lines of code y: 147 line churn common/src/main/scala/com/gu/media/util/JsonConversions.scala x: 252 lines of code y: 936 line churn common/src/main/scala/com/gu/media/util/MediaAtomImplicits.scala x: 63 lines of code y: 201 line churn uploader/src/main/resources/cfn-template.yaml x: 475 lines of code y: 2649 line churn uploader/src/main/scala/com/gu/media/upload/m3u8/Codecs.scala x: 8 lines of code y: 92 line churn common/src/main/scala/com/gu/media/Permissions.scala x: 59 lines of code y: 754 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/SharedCodecSettings.scala x: 83 lines of code y: 403 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/FileOutputGroup.scala x: 44 lines of code y: 188 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/MP4Output.scala x: 48 lines of code y: 601 line churn project/StateMachine.scala x: 37 lines of code y: 175 line churn common/src/main/scala/com/gu/media/aws/SecretsManagerAccess.scala x: 19 lines of code y: 94 line churn app/controllers/Api.scala x: 237 lines of code y: 2631 line churn app/model/commands/UpdateAtomCommand.scala x: 208 lines of code y: 2007 line churn app/util/AWS.scala x: 64 lines of code y: 1293 line churn common/src/main/scala/com/gu/media/telemetry/Telemetry.scala x: 111 lines of code y: 578 line churn common/src/main/scala/com/gu/media/upload/model/StepFunctionEvent.scala x: 34 lines of code y: 111 line churn common/src/main/scala/com/gu/media/util/JobCompletedMetrics.scala x: 148 lines of code y: 672 line churn common/src/main/scala/com/gu/media/util/MediaAtomHelpers.scala x: 100 lines of code y: 1239 line churn uploader/src/main/scala/com/gu/media/upload/JobMetricsPublisher.scala x: 34 lines of code y: 185 line churn app/controllers/Healthcheck.scala x: 25 lines of code y: 129 line churn app/data/DataStores.scala x: 141 lines of code y: 1110 line churn common/src/main/scala/com/gu/media/aws/DynamoAccess.scala x: 51 lines of code y: 524 line churn common/src/main/scala/com/gu/media/aws/SNSAccess.scala x: 14 lines of code y: 87 line churn common/src/main/scala/com/gu/media/model/PlutoIntegrationData.scala x: 103 lines of code y: 586 line churn public/video-ui/src/components/VideoSelectBar/VideoSelectBar.tsx x: 50 lines of code y: 344 line churn public/video-ui/src/slices/config.ts x: 17 lines of code y: 340 line churn app/model/CropOption.scala x: 6 lines of code y: 36 line churn app/schedule/GridAPI.scala x: 51 lines of code y: 324 line churn common/src/main/scala/com/gu/media/util/AspectRatio.scala x: 36 lines of code y: 404 line churn public/video-ui/src/constants/TagTypes.ts x: 26 lines of code y: 150 line churn public/video-ui/styles/layout/_video.scss x: 165 lines of code y: 1550 line churn common/src/main/scala/com/gu/media/model/MediaAtom.scala x: 336 lines of code y: 1470 line churn public/video-ui/src/constants/requiredForDefaultVideo.ts x: 11 lines of code y: 56 line churn common/src/main/scala/com/gu/media/youtube/YouTubeAccess.scala x: 170 lines of code y: 1109 line churn public/video-ui/src/util/imageHelpers.ts x: 49 lines of code y: 534 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/file/WebVTTOutput.scala x: 38 lines of code y: 80 line churn app/data/IconikStore.scala x: 85 lines of code y: 206 line churn common/src/main/scala/com/gu/media/iconik/IconikInMemoryStore.scala x: 22 lines of code y: 66 line churn common/src/main/scala/com/gu/media/model/Asset.scala x: 42 lines of code y: 192 line churn common/src/main/scala/com/gu/media/model/ClientAsset.scala x: 152 lines of code y: 636 line churn common/src/main/scala/com/gu/media/upload/PlutoUploadActions.scala x: 21 lines of code y: 535 line churn common/src/main/scala/com/gu/media/youtube/package.scala x: 191 lines of code y: 1730 line churn public/video-ui/styles/components/_prosemirror.scss x: 79 lines of code y: 909 line churn uploader/src/main/scala/com/gu/media/upload/S3Helpers.scala x: 33 lines of code y: 192 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/JobSettingsBuilder.scala x: 52 lines of code y: 202 line churn app/controllers/IconikController.scala x: 154 lines of code y: 767 line churn app/views/VideoUIApp/notInIconik.scala.html x: 9 lines of code y: 36 line churn pluto-message-ingestion/scripts/test-iconik-upsert-CODE.js x: 50 lines of code y: 140 line churn common/src/main/scala/com/gu/media/model/VideoAsset.scala x: 30 lines of code y: 129 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/CaptionsHelpers.scala x: 35 lines of code y: 82 line churn uploader/src/main/scala/com/gu/media/upload/mediaconvert/model.scala x: 14 lines of code y: 34 line churn common/src/main/scala/com/gu/media/upload/UploadKeys.scala x: 61 lines of code y: 369 line churn public/video-ui/src/slices/youtube.ts x: 47 lines of code y: 236 line churn app/model/commands/PublishAtomCommand.scala x: 396 lines of code y: 4613 line churn common/src/main/scala/com/gu/media/ses/Mailer.scala x: 81 lines of code y: 598 line churn uploader/src/main/scala/com/gu/media/upload/SendToPluto.scala x: 47 lines of code y: 306 line churn common/src/main/scala/com/gu/media/aws/AwsAccess.scala x: 27 lines of code y: 403 line churn common/src/main/scala/com/gu/media/aws/StepFunctionsAccess.scala x: 10 lines of code y: 26 line churn common/src/main/scala/com/gu/media/lambda/LambdaWithParams.scala x: 20 lines of code y: 88 line churn uploader/src/main/scala/com/gu/media/upload/CompleteMultipartCopy.scala x: 65 lines of code y: 276 line churn uploader/src/main/scala/com/gu/media/upload/GetChunkFromS3.scala x: 48 lines of code y: 241 line churn uploader/src/main/scala/com/gu/media/upload/MultipartCopyChunkInS3.scala x: 73 lines of code y: 342 line churn uploader/src/main/scala/com/gu/media/upload/UploadChunkToYouTube.scala x: 47 lines of code y: 320 line churn app/util/ThumbnailGenerator.scala x: 91 lines of code y: 555 line churn common/src/main/scala/com/gu/media/Settings.scala x: 36 lines of code y: 192 line churn common/src/main/scala/com/gu/media/youtube/YouTubeVideos.scala x: 217 lines of code y: 1713 line churn app/data/AtomListStore.scala x: 248 lines of code y: 2390 line churn common/src/main/scala/com/gu/media/model/VideoPlayerFormat.scala x: 29 lines of code y: 110 line churn common/src/main/scala/com/gu/media/youtube/YouTubePartnerApi.scala x: 365 lines of code y: 1611 line churn app/util/CredentialsGenerator.scala x: 61 lines of code y: 330 line churn common/src/main/scala/com/gu/media/aws/AwsCredentials.scala x: 50 lines of code y: 488 line churn common/src/main/scala/com/gu/media/aws/CredentialsForAws.scala x: 55 lines of code y: 122 line churn app/model/MediaAtomSummary.scala x: 27 lines of code y: 164 line churn app/util/S3ImageUtil.scala x: 105 lines of code y: 524 line churn common/src/main/scala/com/gu/media/model/Platform.scala x: 39 lines of code y: 261 line churn public/video-ui/styles/components/_header.scss x: 59 lines of code y: 398 line churn public/video-ui/styles/components/_modal.scss x: 33 lines of code y: 458 line churn app/model/commands/SubtitleFileUploadCommand.scala x: 42 lines of code y: 250 line churn common/src/main/scala/com/gu/media/lambda/LambdaBase.scala x: 41 lines of code y: 447 line churn common/src/main/scala/com/gu/media/lambda/LambdaYoutubeCredentials.scala x: 25 lines of code y: 102 line churn common/src/main/scala/com/gu/media/youtube/YouTubeUploader.scala x: 154 lines of code y: 1026 line churn common/src/main/scala/com/gu/media/aws/KinesisAccess.scala x: 63 lines of code y: 451 line churn common/src/main/scala/com/gu/media/aws/MediaConvertAccess.scala x: 17 lines of code y: 87 line churn app/util/NotifyingAtomPublisher.scala x: 55 lines of code y: 191 line churn common/src/main/scala/com/gu/media/aws/SQSAccess.scala x: 13 lines of code y: 147 line churn common/src/main/scala/com/gu/media/iconik/IconikUploadActions.scala x: 50 lines of code y: 781 line churn common/src/main/scala/com/gu/media/CapiAccess.scala x: 109 lines of code y: 814 line churn common/src/main/scala/com/gu/media/model/IconikData.scala x: 29 lines of code y: 99 line churn public/video-ui/src/slices/iconik.ts x: 72 lines of code y: 237 line churn expirer/src/main/scala/com/gu/media/expirer/ExpirerLambda.scala x: 112 lines of code y: 773 line churn common/src/main/scala/com/gu/media/iconik/IconikDataStore.scala x: 16 lines of code y: 62 line churn common/src/main/scala/com/gu/media/iconik/IconikDynamoStore.scala x: 71 lines of code y: 182 line churn pluto-message-ingestion/scripts/aws.js x: 53 lines of code y: 159 line churn pluto-message-ingestion/scripts/test-pluto-lambda-CODE.js x: 58 lines of code y: 318 line churn pluto-message-ingestion/src/index.ts x: 18 lines of code y: 48 line churn pluto-message-ingestion/src/process-record.ts x: 83 lines of code y: 236 line churn public/video-ui/styles/layout/_grid.scss x: 86 lines of code y: 773 line churn app/controllers/PanDomainAuthActions.scala x: 44 lines of code y: 341 line churn app/controllers/PlutoController.scala x: 125 lines of code y: 628 line churn app/controllers/Support.scala x: 21 lines of code y: 563 line churn app/controllers/Youtube.scala x: 41 lines of code y: 557 line churn app/model/WorkflowMediaAtom.scala x: 9 lines of code y: 41 line churn app/model/YouTubeMessage.scala x: 24 lines of code y: 133 line churn app/model/commands/CreateAtomCommand.scala x: 80 lines of code y: 1138 line churn app/model/commands/CreateWorkflowAtomCommand.scala x: 107 lines of code y: 425 line churn app/model/commands/DeleteAssetCommand.scala x: 57 lines of code y: 201 line churn app/model/commands/DeleteAssetListCommand.scala x: 61 lines of code y: 363 line churn app/util/ActivateAssetRequest.scala x: 12 lines of code y: 166 line churn app/util/Memoize.scala x: 16 lines of code y: 50 line churn app/util/TrainingMode.scala x: 12 lines of code y: 30 line churn app/util/YouTube.scala x: 43 lines of code y: 270 line churn app/util/YoutubeResponse.scala x: 5 lines of code y: 45 line churn common/src/main/scala/com/gu/media/logging/LambdaElkLoggingFormat.scala x: 30 lines of code y: 90 line churn common/src/main/scala/com/gu/media/logging/Logging.scala x: 23 lines of code y: 73 line churn common/src/main/scala/com/gu/media/logging/YoutubeRequestLogger.scala x: 44 lines of code y: 134 line churn common/src/main/scala/com/gu/media/model/AssetType.scala x: 26 lines of code y: 104 line churn common/src/main/scala/com/gu/media/model/AuditMessage.scala x: 25 lines of code y: 105 line churn common/src/main/scala/com/gu/media/model/Category.scala x: 35 lines of code y: 110 line churn common/src/main/scala/com/gu/media/model/ContentChangeDetails.scala x: 39 lines of code y: 159 line churn common/src/main/scala/com/gu/media/model/Image.scala x: 63 lines of code y: 281 line churn common/src/main/scala/com/gu/media/model/Metadata.scala x: 29 lines of code y: 68 line churn common/src/main/scala/com/gu/media/pluto/PlutoCommissionDataStore.scala x: 40 lines of code y: 202 line churn common/src/main/scala/com/gu/media/pluto/PlutoProject.scala x: 60 lines of code y: 263 line churn common/src/main/scala/com/gu/media/pluto/PlutoProjectDataStore.scala x: 57 lines of code y: 580 line churn common/src/main/scala/com/gu/media/upload/model/UploadProgress.scala x: 29 lines of code y: 148 line churn common/src/main/scala/com/gu/media/upload/model/UploadRequest.scala x: 13 lines of code y: 48 line churn common/src/main/scala/com/gu/media/upload/model/UploadStatus.scala x: 27 lines of code y: 226 line churn common/src/main/scala/com/gu/media/util/InputStreamRequestBody.scala x: 41 lines of code y: 149 line churn common/src/main/scala/com/gu/media/util/JsonDate.scala x: 26 lines of code y: 75 line churn common/src/main/scala/com/gu/media/util/MAMLogger.scala x: 28 lines of code y: 156 line churn common/src/main/scala/com/gu/media/youtube/YouTubeProcessingStatus.scala x: 108 lines of code y: 562 line churn scheduler/src/main/scala/com.gu.media.scheduler/SchedulerLambda.scala x: 62 lines of code y: 292 line churn public/video-ui/styles/layout/_common.scss x: 50 lines of code y: 271 line churn public/video-ui/src/slices/targeting.ts x: 95 lines of code y: 636 line churn pluto-message-ingestion/src/config.ts x: 17 lines of code y: 54 line churn pluto-message-ingestion/src/hmac-request.ts x: 50 lines of code y: 158 line churn public/video-ui/src/util/getTextFromHtml.ts x: 4 lines of code y: 24 line churn public/video-ui/styles/abstracts/_mixins.scss x: 24 lines of code y: 181 line churn public/video-ui/styles/layout/_upload.scss x: 49 lines of code y: 1020 line churn public/video-ui/src/logger.ts x: 8 lines of code y: 48 line churn public/video-ui/src/slices/pluto.ts x: 44 lines of code y: 262 line churn public/video-ui/styles/main.scss x: 43 lines of code y: 435 line churn app/views/VideoUIApp/layout.scala.html x: 27 lines of code y: 328 line churn public/video-ui/src/constants/appUpdatedFields.ts x: 1 lines of code y: 4 line churn public/video-ui/src/constants/dates.ts x: 4 lines of code y: 20 line churn public/video-ui/src/constants/videoCategories.ts x: 12 lines of code y: 68 line churn public/video-ui/src/constants/videoEditValidation.ts x: 14 lines of code y: 60 line churn public/video-ui/styles/abstracts/_variables.scss x: 58 lines of code y: 616 line churn public/video-ui/styles/base/_base.scss x: 19 lines of code y: 175 line churn public/video-ui/styles/base/_fonts.scss x: 34 lines of code y: 205 line churn public/video-ui/styles/base/_helpers.scss x: 47 lines of code y: 426 line churn public/video-ui/styles/base/_typography.scss x: 40 lines of code y: 260 line churn public/video-ui/styles/components/_asset-list.scss x: 59 lines of code y: 703 line churn public/video-ui/styles/components/_buttons.scss x: 79 lines of code y: 817 line churn public/video-ui/styles/components/_detail.scss x: 21 lines of code y: 121 line churn public/video-ui/styles/components/_details-list.scss x: 35 lines of code y: 436 line churn public/video-ui/styles/components/_expiry-date.scss x: 15 lines of code y: 80 line churn public/video-ui/styles/components/_grid-embedder.scss x: 24 lines of code y: 220 line churn public/video-ui/styles/components/_tables.scss x: 20 lines of code y: 514 line churn public/video-ui/styles/components/_targeting.scss x: 7 lines of code y: 28 line churn public/video-ui/styles/layout/_icons.scss x: 125 lines of code y: 967 line churn public/video-ui/styles/layout/_tabs.scss x: 44 lines of code y: 216 line churn app/views/authError.scala.html x: 13 lines of code y: 26 line churn conf/logback.xml x: 26 lines of code y: 212 line churn uploader/src/main/resources/logback.xml x: 11 lines of code y: 39 line churn scripts/hmac/make-hmac-request.js x: 87 lines of code y: 266 line churn scripts/hmac/hmac-request.js x: 46 lines of code y: 118 line churn
5196.0
line churn
  min: 4.0
  average: 473.68
  25th percentile: 104.5
  median: 266.0
  75th percentile: 545.5
  max: 5196.0
0 543.0
lines of code
min: 1.0 | average: 67.47 | 25th percentile: 20.0 | median: 44.0 | 75th percentile: 81.0 | max: 543.0