Overview
File Change Frequency Overall
  • There are 110 files with 9,602 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 12 files changed 21-50 times (2,931 lines of code)
    • 46 files changed 6-20 times (4,039 lines of code)
    • 52 files changed 1-5 times (2,632 lines of code)
0% | 0% | 30% | 42% | 27%
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 110 files with 9,602 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 3 files changed by 11-25 contributors (751 lines of code)
    • 24 files changed by 6-10 contributors (3,370 lines of code)
    • 68 files changed by 2-5 contributors (4,632 lines of code)
    • 15 files changed by 1 contributor (849 lines of code)
0% | 7% | 35% | 48% | 8%
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, html, js, md, yml, sh, sbt, txt, json, yaml, gitignore, xml, properties, css, jq, mjs
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala0% | 0% | 23% | 52% | 24%
css0% | 0% | 100% | 0% | 0%
html0% | 0% | 22% | 33% | 44%
js0% | 0% | 34% | 30% | 35%
xml0% | 0% | 0% | 58% | 41%
yaml0% | 0% | 0% | 43% | 56%
jq0% | 0% | 0% | 0% | 100%
mjs0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
app0% | 0% | 26% | 50% | 23%
frontend0% | 0% | 62% | 17% | 20%
configTools0% | 0% | 19% | 43% | 37%
example0% | 0% | 0% | 78% | 21%
conf0% | 0% | 0% | 100% | 0%
project0% | 0% | 0% | 53% | 46%
.devcontainer0% | 0% | 0% | 100% | 0%
setup0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
.github0% | 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
Janus.scala
in app/controllers
436 8 2020-03-31 2026-08-03 49 13 +1109 / -399 adamnfish adam.fisher
main.css
in frontend
816 - 2025-02-03 2026-07-30 47 8 +2700 / -492 thalia.silver adam.fisher
janus.js
in frontend
374 8 2025-02-03 2026-04-28 43 4 +2592 / -1567 thalia.silver adam.fisher
157 - 2020-03-31 2026-06-16 40 11 +393 / -164 adamnfish 1722550+kelvin-chappell
162 - 2025-04-03 2026-07-17 36 5 +541 / -249 thalia.silver 1722550+kelvin-chappell
PasskeyController.scala
in app/controllers
275 8 2025-04-03 2026-08-03 36 6 +1097 / -589 thalia.silver adam.fisher
main.scala.html
in app/views
93 - 2020-03-31 2026-08-03 34 8 +236 / -120 adamnfish adam.fisher
models.scala
in app/models
189 1 2020-03-31 2026-07-30 28 8 +281 / -45 adamnfish adam.fisher
Config.scala
in app/conf
158 12 2020-03-31 2026-06-24 27 14 +347 / -77 adamnfish justin.rowles
index.scala.html
in app/views
61 - 2020-03-31 2026-06-29 21 8 +252 / -160 adamnfish adam.fisher
awsAccounts.scala.html
in app/views/fragments
69 - 2020-03-31 2026-07-21 21 6 +207 / -174 adamnfish adam.fisher
models.scala
in configTools/src/main/scala/com/gu/janus/model
141 6 2020-03-31 2026-08-03 21 5 +437 / -119 adamnfish adam.fisher
Loader.scala
in configTools/src/main/scala/com/gu/janus/config
196 8 2020-03-31 2026-08-06 20 6 +528 / -226 adamnfish adam.fisher
UserAccess.scala
in app/logic
255 10 2020-03-31 2026-08-03 20 7 +855 / -428 adamnfish adam.fisher
Utility.scala
in app/controllers
17 - 2020-03-31 2026-06-16 19 7 +386 / -391 adamnfish 1722550+kelvin-chappell
Passkey.scala
in app/models
160 7 2025-04-08 2026-07-17 19 5 +427 / -119 1722550+kelvin-chappell 1722550+kelvin-chappell
176 7 2020-03-31 2026-05-12 19 7 +541 / -258 adamnfish justin.rowles
PasskeyDB.scala
in app/aws
253 8 2025-04-08 2026-06-16 18 4 +770 / -170 1722550+kelvin-chappell 1722550+kelvin-chappell
83 - 2020-03-31 2026-02-24 17 6 +499 / -366 adamnfish 1722550+kelvin-chappell
Passkey.scala
in app/logic
198 6 2025-03-26 2025-11-10 17 3 +804 / -288 1722550+kelvin-chappell 1722550+kelvin-chappell
Clients.scala
in app/aws
88 1 2020-03-31 2026-05-12 16 8 +210 / -48 adamnfish justin.rowles
configuredRepresentation.scala
in configTools/src/main/scala/com/gu/janus/model
58 - 2020-03-31 2026-07-30 14 4 +144 / -63 adamnfish adam.fisher
ViewHelpers.scala
in app/logic
63 4 2020-03-31 2026-06-29 14 7 +150 / -54 adamnfish adam.fisher
AccountsController.scala
in app/controllers
93 2 2026-01-19 2026-02-24 13 5 +764 / -511 justin.rowles.contractor 1722550+kelvin-chappell
Date.scala
in app/logic
99 12 2020-03-31 2026-02-05 13 7 +306 / -139 adamnfish 15648334+tjsilver
audit.scala.html
in app/views
128 - 2020-03-31 2026-07-30 13 7 +163 / -27 adamnfish adam.fisher
Access.scala
in example/src/main/scala/com/example
26 - 2020-07-24 2026-03-03 12 6 +84 / -20 whalenka88 adam.fisher
28 2 2020-03-31 2025-06-16 12 5 +88 / -48 adamnfish 1722550+kelvin-chappell
57 2 2020-03-31 2026-07-21 12 7 +173 / -70 adamnfish adam.fisher
69 4 2026-02-24 2026-05-06 12 4 +367 / -88 15648334+tjsilver 1722550+kelvin-chappell
RevokePermissions.scala
in app/controllers
118 3 2020-03-31 2025-06-17 11 7 +261 / -79 adamnfish 1722550+kelvin-chappell
developerPolicyList.scala.html
in app/views/fragments
36 - 2026-02-24 2026-04-28 10 3 +142 / -45 15648334+tjsilver adam.fisher
developerPolicyGrants.scala.html
in app/views/fragments
59 - 2026-03-05 2026-07-21 10 4 +244 / -122 thalia.silver adam.fisher
72 1 2026-02-24 2026-04-22 10 4 +349 / -35 15648334+tjsilver 1722550+kelvin-chappell
Audit.scala
in app/controllers
81 4 2020-03-31 2025-06-17 10 6 +182 / -50 adamnfish 1722550+kelvin-chappell
134 - 2020-03-31 2026-03-24 10 7 +157 / -16 adamnfish tom.matthews
AuditTrail.scala
in app/logic
169 5 2020-03-31 2026-05-06 10 4 +371 / -141 adamnfish 1722550+kelvin-chappell
Support.scala
in example/src/main/scala/com/example
37 1 2020-07-24 2025-11-27 9 5 +168 / -47 whalenka88 108136057+gu-scala-steward-...
AuthController.scala
in app/controllers
37 - 2020-03-31 2025-06-17 9 6 +100 / -44 adamnfish 1722550+kelvin-chappell
snow.js
in frontend
67 3 2025-02-03 2025-07-02 9 3 +375 / -225 thalia.silver 1722550+kelvin-chappell
Data.scala
in example/src/main/scala/com/example
11 - 2020-08-06 2026-08-03 8 5 +36 / -10 adamnfish adam.fisher
HstsFilter.scala
in app/filters
15 1 2020-03-31 2025-06-17 8 7 +38 / -15 adamnfish 1722550+kelvin-chappell
Accounts.scala
in app/logic
78 6 2026-01-19 2026-02-24 8 4 +392 / -212 justin.rowles.contractor 1722550+kelvin-chappell
173 4 2026-02-24 2026-06-24 8 3 +755 / -98 15648334+tjsilver justin.rowles
devenv.yaml
in .devcontainer
10 - 2026-03-12 2026-07-27 7 3 +107 / -10 justin.rowles.contractor 1722550+kelvin-chappell
support.scala.html
in app/views/support
31 - 2020-03-31 2026-02-10 7 4 +49 / -12 adamnfish adam.fisher
32 - 2020-03-31 2026-06-24 7 6 +66 / -10 adamnfish justin.rowles
Validation.scala
in configTools/src/main/scala/com/gu/janus
68 5 2020-03-31 2025-12-16 7 4 +147 / -38 adamnfish 1722550+kelvin-chappell
93 5 2020-03-31 2025-06-17 7 4 +249 / -127 adamnfish 1722550+kelvin-chappell
94 5 2025-04-08 2025-06-24 7 2 +166 / -61 1722550+kelvin-chappell 1722550+kelvin-chappell
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
janus.js
in frontend
374 8 2025-02-03 2026-04-28 43 4 +2592 / -1567 thalia.silver adam.fisher
main.css
in frontend
816 - 2025-02-03 2026-07-30 47 8 +2700 / -492 thalia.silver adam.fisher
PasskeyController.scala
in app/controllers
275 8 2025-04-03 2026-08-03 36 6 +1097 / -589 thalia.silver adam.fisher
Janus.scala
in app/controllers
436 8 2020-03-31 2026-08-03 49 13 +1109 / -399 adamnfish adam.fisher
UserAccess.scala
in app/logic
255 10 2020-03-31 2026-08-03 20 7 +855 / -428 adamnfish adam.fisher
AccountsController.scala
in app/controllers
93 2 2026-01-19 2026-02-24 13 5 +764 / -511 justin.rowles.contractor 1722550+kelvin-chappell
Passkey.scala
in app/logic
198 6 2025-03-26 2025-11-10 17 3 +804 / -288 1722550+kelvin-chappell 1722550+kelvin-chappell
modalUtils.js
in frontend/utils
262 2 2025-06-25 2026-09-01 6 6 +939 / -125 thalia.silver 198982749+copilot
PasskeyDB.scala
in app/aws
253 8 2025-04-08 2026-06-16 18 4 +770 / -170 1722550+kelvin-chappell 1722550+kelvin-chappell
83 - 2020-03-31 2026-02-24 17 6 +499 / -366 adamnfish 1722550+kelvin-chappell
173 4 2026-02-24 2026-06-24 8 3 +755 / -98 15648334+tjsilver justin.rowles
176 7 2020-03-31 2026-05-12 19 7 +541 / -258 adamnfish justin.rowles
162 - 2025-04-03 2026-07-17 36 5 +541 / -249 thalia.silver 1722550+kelvin-chappell
Utility.scala
in app/controllers
17 - 2020-03-31 2026-06-16 19 7 +386 / -391 adamnfish 1722550+kelvin-chappell
Loader.scala
in configTools/src/main/scala/com/gu/janus/config
196 8 2020-03-31 2026-08-06 20 6 +528 / -226 adamnfish adam.fisher
MetricsService.scala
in app/services
247 6 2026-05-01 2026-05-22 5 2 +590 / -35 justin.rowles.contractor justin.rowles
Accounts.scala
in app/logic
78 6 2026-01-19 2026-02-24 8 4 +392 / -212 justin.rowles.contractor 1722550+kelvin-chappell
snow.js
in frontend
67 3 2025-02-03 2025-07-02 9 3 +375 / -225 thalia.silver 1722550+kelvin-chappell
157 - 2020-03-31 2026-06-16 40 11 +393 / -164 adamnfish 1722550+kelvin-chappell
models.scala
in configTools/src/main/scala/com/gu/janus/model
141 6 2020-03-31 2026-08-03 21 5 +437 / -119 adamnfish adam.fisher
Passkey.scala
in app/models
160 7 2025-04-08 2026-07-17 19 5 +427 / -119 1722550+kelvin-chappell 1722550+kelvin-chappell
AuditTrail.scala
in app/logic
169 5 2020-03-31 2026-05-06 10 4 +371 / -141 adamnfish 1722550+kelvin-chappell
Policies.scala
in example/src/main/scala/com/example
108 1 2020-07-24 2025-03-05 7 5 +383 / -99 whalenka88 kelvin.chappell
69 4 2026-02-24 2026-05-06 12 4 +367 / -88 15648334+tjsilver 1722550+kelvin-chappell
DBSetupApp.scala
in setup/src/main/scala/aws
120 2 2026-06-18 2026-06-24 4 2 +415 / -31 justin.rowles.contractor justin.rowles
Date.scala
in app/logic
99 12 2020-03-31 2026-02-05 13 7 +306 / -139 adamnfish 15648334+tjsilver
passkeys.js
in frontend/utils
305 11 2025-08-07 2025-11-26 2 1 +425 / -9 1722550+kelvin-chappell 1722550+kelvin-chappell
Config.scala
in app/conf
158 12 2020-03-31 2026-06-24 27 14 +347 / -77 adamnfish justin.rowles
index.scala.html
in app/views
61 - 2020-03-31 2026-06-29 21 8 +252 / -160 adamnfish adam.fisher
72 1 2026-02-24 2026-04-22 10 4 +349 / -35 15648334+tjsilver 1722550+kelvin-chappell
awsAccounts.scala.html
in app/views/fragments
69 - 2020-03-31 2026-07-21 21 6 +207 / -174 adamnfish adam.fisher
93 5 2020-03-31 2025-06-17 7 4 +249 / -127 adamnfish 1722550+kelvin-chappell
Clients.scala
in setup/src/main/scala/aws
88 1 2026-06-23 2026-06-24 2 2 +372 / -0 justin.rowles justin.rowles
developerPolicyGrants.scala.html
in app/views/fragments
59 - 2026-03-05 2026-07-21 10 4 +244 / -122 thalia.silver adam.fisher
113 - 2026-02-24 2026-06-26 5 5 +357 / -7 15648334+tjsilver 10963046+andrew-nowak
main.scala.html
in app/views
93 - 2020-03-31 2026-08-03 34 8 +236 / -120 adamnfish adam.fisher
RevokePermissions.scala
in app/controllers
118 3 2020-03-31 2025-06-17 11 7 +261 / -79 adamnfish 1722550+kelvin-chappell
models.scala
in app/models
189 1 2020-03-31 2026-07-30 28 8 +281 / -45 adamnfish adam.fisher
160 8 2025-07-04 2026-06-16 4 1 +251 / -62 1722550+kelvin-chappell 1722550+kelvin-chappell
AuditTrailDBSetup.scala
in setup/src/main/scala/aws
86 2 2026-06-18 2026-06-24 4 2 +297 / -6 justin.rowles.contractor justin.rowles
89 - 2026-02-24 2026-06-26 5 5 +293 / -10 15648334+tjsilver 10963046+andrew-nowak
Statements.scala
in configTools/src/main/scala/com/gu/janus/policy
83 6 2020-08-27 2025-03-03 3 4 +255 / -38 adamnfish kelvin.chappell
Clients.scala
in app/aws
88 1 2020-03-31 2026-05-12 16 8 +210 / -48 adamnfish justin.rowles
57 2 2020-03-31 2026-07-21 12 7 +173 / -70 adamnfish adam.fisher
PasskeyChallengeDBSetup.scala
in setup/src/main/scala/aws
57 1 2026-06-18 2026-06-24 4 2 +226 / -10 justin.rowles.contractor justin.rowles
Audit.scala
in app/controllers
81 4 2020-03-31 2025-06-17 10 6 +182 / -50 adamnfish 1722550+kelvin-chappell
94 5 2025-04-08 2025-06-24 7 2 +166 / -61 1722550+kelvin-chappell 1722550+kelvin-chappell
BespokePolicies.scala
in example/src/main/scala/com/example
49 - 2020-10-15 2025-03-13 6 5 +177 / -46 whalenka88 108136057+gu-scala-steward-...
Support.scala
in example/src/main/scala/com/example
37 1 2020-07-24 2025-11-27 9 5 +168 / -47 whalenka88 108136057+gu-scala-steward-...
configuredRepresentation.scala
in configTools/src/main/scala/com/gu/janus/model
58 - 2020-03-31 2026-07-30 14 4 +144 / -63 adamnfish adam.fisher
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
Config.scala
in app/conf
158 12 2020-03-31 2026-06-24 27 14 +347 / -77 adamnfish justin.rowles
Janus.scala
in app/controllers
436 8 2020-03-31 2026-08-03 49 13 +1109 / -399 adamnfish adam.fisher
157 - 2020-03-31 2026-06-16 40 11 +393 / -164 adamnfish 1722550+kelvin-chappell
main.css
in frontend
816 - 2025-02-03 2026-07-30 47 8 +2700 / -492 thalia.silver adam.fisher
main.scala.html
in app/views
93 - 2020-03-31 2026-08-03 34 8 +236 / -120 adamnfish adam.fisher
models.scala
in app/models
189 1 2020-03-31 2026-07-30 28 8 +281 / -45 adamnfish adam.fisher
index.scala.html
in app/views
61 - 2020-03-31 2026-06-29 21 8 +252 / -160 adamnfish adam.fisher
Clients.scala
in app/aws
88 1 2020-03-31 2026-05-12 16 8 +210 / -48 adamnfish justin.rowles
UserAccess.scala
in app/logic
255 10 2020-03-31 2026-08-03 20 7 +855 / -428 adamnfish adam.fisher
176 7 2020-03-31 2026-05-12 19 7 +541 / -258 adamnfish justin.rowles
Utility.scala
in app/controllers
17 - 2020-03-31 2026-06-16 19 7 +386 / -391 adamnfish 1722550+kelvin-chappell
ViewHelpers.scala
in app/logic
63 4 2020-03-31 2026-06-29 14 7 +150 / -54 adamnfish adam.fisher
Date.scala
in app/logic
99 12 2020-03-31 2026-02-05 13 7 +306 / -139 adamnfish 15648334+tjsilver
audit.scala.html
in app/views
128 - 2020-03-31 2026-07-30 13 7 +163 / -27 adamnfish adam.fisher
57 2 2020-03-31 2026-07-21 12 7 +173 / -70 adamnfish adam.fisher
RevokePermissions.scala
in app/controllers
118 3 2020-03-31 2025-06-17 11 7 +261 / -79 adamnfish 1722550+kelvin-chappell
134 - 2020-03-31 2026-03-24 10 7 +157 / -16 adamnfish tom.matthews
HstsFilter.scala
in app/filters
15 1 2020-03-31 2025-06-17 8 7 +38 / -15 adamnfish 1722550+kelvin-chappell
PasskeyController.scala
in app/controllers
275 8 2025-04-03 2026-08-03 36 6 +1097 / -589 thalia.silver adam.fisher
awsAccounts.scala.html
in app/views/fragments
69 - 2020-03-31 2026-07-21 21 6 +207 / -174 adamnfish adam.fisher
Loader.scala
in configTools/src/main/scala/com/gu/janus/config
196 8 2020-03-31 2026-08-06 20 6 +528 / -226 adamnfish adam.fisher
83 - 2020-03-31 2026-02-24 17 6 +499 / -366 adamnfish 1722550+kelvin-chappell
Access.scala
in example/src/main/scala/com/example
26 - 2020-07-24 2026-03-03 12 6 +84 / -20 whalenka88 adam.fisher
Audit.scala
in app/controllers
81 4 2020-03-31 2025-06-17 10 6 +182 / -50 adamnfish 1722550+kelvin-chappell
AuthController.scala
in app/controllers
37 - 2020-03-31 2025-06-17 9 6 +100 / -44 adamnfish 1722550+kelvin-chappell
32 - 2020-03-31 2026-06-24 7 6 +66 / -10 adamnfish justin.rowles
modalUtils.js
in frontend/utils
262 2 2025-06-25 2026-09-01 6 6 +939 / -125 thalia.silver 198982749+copilot
162 - 2025-04-03 2026-07-17 36 5 +541 / -249 thalia.silver 1722550+kelvin-chappell
models.scala
in configTools/src/main/scala/com/gu/janus/model
141 6 2020-03-31 2026-08-03 21 5 +437 / -119 adamnfish adam.fisher
Passkey.scala
in app/models
160 7 2025-04-08 2026-07-17 19 5 +427 / -119 1722550+kelvin-chappell 1722550+kelvin-chappell
AccountsController.scala
in app/controllers
93 2 2026-01-19 2026-02-24 13 5 +764 / -511 justin.rowles.contractor 1722550+kelvin-chappell
28 2 2020-03-31 2025-06-16 12 5 +88 / -48 adamnfish 1722550+kelvin-chappell
Support.scala
in example/src/main/scala/com/example
37 1 2020-07-24 2025-11-27 9 5 +168 / -47 whalenka88 108136057+gu-scala-steward-...
Data.scala
in example/src/main/scala/com/example
11 - 2020-08-06 2026-08-03 8 5 +36 / -10 adamnfish adam.fisher
Policies.scala
in example/src/main/scala/com/example
108 1 2020-07-24 2025-03-05 7 5 +383 / -99 whalenka88 kelvin.chappell
BespokePolicies.scala
in example/src/main/scala/com/example
49 - 2020-10-15 2025-03-13 6 5 +177 / -46 whalenka88 108136057+gu-scala-steward-...
113 - 2026-02-24 2026-06-26 5 5 +357 / -7 15648334+tjsilver 10963046+andrew-nowak
89 - 2026-02-24 2026-06-26 5 5 +293 / -10 15648334+tjsilver 10963046+andrew-nowak
39 - 2020-03-31 2025-06-10 5 5 +52 / -6 adamnfish 1722550+kelvin-chappell
janus.js
in frontend
374 8 2025-02-03 2026-04-28 43 4 +2592 / -1567 thalia.silver adam.fisher
PasskeyDB.scala
in app/aws
253 8 2025-04-08 2026-06-16 18 4 +770 / -170 1722550+kelvin-chappell 1722550+kelvin-chappell
configuredRepresentation.scala
in configTools/src/main/scala/com/gu/janus/model
58 - 2020-03-31 2026-07-30 14 4 +144 / -63 adamnfish adam.fisher
69 4 2026-02-24 2026-05-06 12 4 +367 / -88 15648334+tjsilver 1722550+kelvin-chappell
AuditTrail.scala
in app/logic
169 5 2020-03-31 2026-05-06 10 4 +371 / -141 adamnfish 1722550+kelvin-chappell
72 1 2026-02-24 2026-04-22 10 4 +349 / -35 15648334+tjsilver 1722550+kelvin-chappell
developerPolicyGrants.scala.html
in app/views/fragments
59 - 2026-03-05 2026-07-21 10 4 +244 / -122 thalia.silver adam.fisher
Accounts.scala
in app/logic
78 6 2026-01-19 2026-02-24 8 4 +392 / -212 justin.rowles.contractor 1722550+kelvin-chappell
93 5 2020-03-31 2025-06-17 7 4 +249 / -127 adamnfish 1722550+kelvin-chappell
support.scala.html
in app/views/support
31 - 2020-03-31 2026-02-10 7 4 +49 / -12 adamnfish adam.fisher
Validation.scala
in configTools/src/main/scala/com/gu/janus
68 5 2020-03-31 2025-12-16 7 4 +147 / -38 adamnfish 1722550+kelvin-chappell
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
passkeys.js
in frontend/utils
305 11 2025-08-07 2025-11-26 2 1 +425 / -9 1722550+kelvin-chappell 1722550+kelvin-chappell
160 8 2025-07-04 2026-06-16 4 1 +251 / -62 1722550+kelvin-chappell 1722550+kelvin-chappell
Iam.scala
in configTools/src/main/scala/com/gu/janus/policy
104 2 2025-03-03 2025-03-03 1 1 +129 / -0 kelvin.chappell kelvin.chappell
51 3 2025-06-06 2025-06-06 1 1 +93 / -0 1722550+kelvin-chappell 1722550+kelvin-chappell
47 - 2026-07-28 2026-07-30 3 1 +107 / -1 adam.fisher adam.fisher
45 2 2025-06-25 2026-06-16 3 1 +91 / -16 1722550+kelvin-chappell 1722550+kelvin-chappell
permissionActions.scala.html
in app/views/fragments
33 - 2026-07-21 2026-07-21 1 1 +34 / -0 adam.fisher adam.fisher
passkeys-auth.js
in frontend
23 - 2025-08-07 2025-08-07 1 1 +25 / -0 1722550+kelvin-chappell 1722550+kelvin-chappell
Superuser.scala
in example/src/main/scala/com/example
19 - 2026-07-28 2026-07-30 2 1 +50 / -0 adam.fisher adam.fisher
Validation.scala
in app/controllers
16 1 2025-06-12 2025-06-12 1 1 +19 / -0 1722550+kelvin-chappell 1722550+kelvin-chappell
bannerCta.scala.html
in app/views/fragments
14 - 2026-06-29 2026-06-29 1 1 +37 / -3 adam.fisher adam.fisher
13 - 2026-04-24 2026-04-28 2 1 +33 / -3 adam.fisher adam.fisher
csrf.js
in frontend/utils
13 1 2025-08-07 2025-08-07 1 1 +20 / -0 1722550+kelvin-chappell 1722550+kelvin-chappell
banner.scala.html
in app/views/fragments
4 - 2026-06-29 2026-06-29 1 1 +14 / -2 adam.fisher adam.fisher
validation.scala
in configTools/src/main/scala/com/gu/janus/model
2 - 2020-03-31 2020-08-17 2 1 +7 / -6 adamnfish adamnfish
MetricsService.scala
in app/services
247 6 2026-05-01 2026-05-22 5 2 +590 / -35 justin.rowles.contractor justin.rowles
DBSetupApp.scala
in setup/src/main/scala/aws
120 2 2026-06-18 2026-06-24 4 2 +415 / -31 justin.rowles.contractor justin.rowles
94 5 2025-04-08 2025-06-24 7 2 +166 / -61 1722550+kelvin-chappell 1722550+kelvin-chappell
Clients.scala
in setup/src/main/scala/aws
88 1 2026-06-23 2026-06-24 2 2 +372 / -0 justin.rowles justin.rowles
AuditTrailDBSetup.scala
in setup/src/main/scala/aws
86 2 2026-06-18 2026-06-24 4 2 +297 / -6 justin.rowles.contractor justin.rowles
users.scala.html
in app/views
69 - 2026-01-16 2026-01-27 5 2 +162 / -14 justin.rowles.contractor justin.rowles
PasskeyChallengeDBSetup.scala
in setup/src/main/scala/aws
57 1 2026-06-18 2026-06-24 4 2 +226 / -10 justin.rowles.contractor justin.rowles
Favourites.scala
in app/logic
54 4 2020-03-31 2023-01-26 3 2 +96 / -16 adamnfish nicolas.long
PasskeyDBSetup.scala
in setup/src/main/scala/aws
53 - 2026-06-18 2026-06-24 4 2 +191 / -2 justin.rowles.contractor justin.rowles
JanusConfig.scala
in configTools/src/main/scala/com/gu/janus
39 5 2020-03-31 2023-01-26 2 2 +63 / -10 adamnfish nicolas.long
VerifyJanusData.scala
in configTools/src/main/scala/com/gu/janus
37 1 2020-09-04 2023-01-26 3 2 +60 / -21 whalenka88 nicolas.long
35 - 2025-06-03 2025-06-06 2 2 +63 / -1 15648334+tjsilver 1722550+kelvin-chappell
34 - 2026-02-27 2026-04-28 6 2 +81 / -12 adam.fisher adam.fisher
ResultHandler.scala
in app/controllers
25 1 2025-07-04 2025-11-03 3 2 +33 / -0 1722550+kelvin-chappell 1722550+kelvin-chappell
Iam.scala
in app/aws
23 1 2026-01-16 2026-02-24 2 2 +72 / -45 1722550+kelvin-chappell 1722550+kelvin-chappell
logback-test.xml
in setup/src/main/resources
23 - 2026-06-19 2026-06-24 3 2 +96 / -0 justin.rowles.contractor justin.rowles
23 1 2025-04-11 2025-04-23 4 2 +112 / -0 adam.fisher 1722550+kelvin-chappell
Revocation.scala
in app/logic
11 1 2020-03-31 2023-01-26 3 2 +19 / -4 adamnfish nicolas.long
10 1 2020-03-31 2023-01-26 3 2 +13 / -2 adamnfish nicolas.long
PlayHelpers.scala
in app/logic
7 1 2020-03-31 2023-01-26 3 2 +22 / -6 adamnfish nicolas.long
Passkey.scala
in app/logic
198 6 2025-03-26 2025-11-10 17 3 +804 / -288 1722550+kelvin-chappell 1722550+kelvin-chappell
173 4 2026-02-24 2026-06-24 8 3 +755 / -98 15648334+tjsilver justin.rowles
snow.js
in frontend
67 3 2025-02-03 2025-07-02 9 3 +375 / -225 thalia.silver 1722550+kelvin-chappell
50 - 2020-03-31 2025-03-04 3 3 +56 / -2 adamnfish 15648334+tjsilver
48 - 2020-03-31 2025-03-04 3 3 +56 / -2 adamnfish 15648334+tjsilver
developerPolicyList.scala.html
in app/views/fragments
36 - 2026-02-24 2026-04-28 10 3 +142 / -45 15648334+tjsilver adam.fisher
revoke.scala.html
in app/views
35 - 2020-03-31 2025-03-04 3 3 +42 / -2 adamnfish 15648334+tjsilver
toastMessages.js
in frontend/utils
28 2 2025-06-19 2025-07-02 5 3 +165 / -31 thalia.silver 1722550+kelvin-chappell
26 1 2025-02-03 2025-04-02 6 3 +93 / -7 thalia.silver 15648334+tjsilver
21 - 2025-08-07 2026-06-26 5 3 +29 / -5 1722550+kelvin-chappell 10963046+andrew-nowak
formUtils.js
in frontend/utils
15 1 2025-06-19 2025-07-02 4 3 +62 / -16 thalia.silver 1722550+kelvin-chappell
Writer.scala
in configTools/src/main/scala/com/gu/janus/config
14 2 2020-03-31 2025-12-16 3 3 +40 / -18 adamnfish 1722550+kelvin-chappell
dependabot.yml
in .github
13 - 2024-04-04 2025-03-28 4 3 +58 / -0 thalia.silver adam.fisher
devenv.yaml
in .devcontainer
10 - 2026-03-12 2026-07-27 7 3 +107 / -10 justin.rowles.contractor 1722550+kelvin-chappell
mjs
7 - 2025-04-24 2025-07-01 3 3 +16 / -0 thalia.silver 1722550+kelvin-chappell
Correlations

File Size vs. Number of Changes: 110 points

frontend/utils/modalUtils.js x: 262 lines of code y: 6 # changes configTools/src/main/scala/com/gu/janus/config/Loader.scala x: 196 lines of code y: 20 # changes example/src/main/scala/com/example/Data.scala x: 11 lines of code y: 8 # changes app/controllers/Janus.scala x: 436 lines of code y: 49 # changes app/controllers/PasskeyController.scala x: 275 lines of code y: 36 # changes app/logic/UserAccess.scala x: 255 lines of code y: 20 # changes app/views/main.scala.html x: 93 lines of code y: 34 # changes configTools/src/main/scala/com/gu/janus/model/models.scala x: 141 lines of code y: 21 # changes configTools/src/main/scala/com/gu/janus/model/configuredRepresentation.scala x: 58 lines of code y: 14 # changes app/models/models.scala x: 189 lines of code y: 28 # changes app/views/audit.scala.html x: 128 lines of code y: 13 # changes app/views/superuser.scala.html x: 47 lines of code y: 3 # changes example/src/main/scala/com/example/Superuser.scala x: 19 lines of code y: 2 # changes frontend/main.css x: 816 lines of code y: 47 # changes .devcontainer/devenv.yaml x: 10 lines of code y: 7 # changes app/logic/AccountOrdering.scala x: 57 lines of code y: 12 # changes app/views/fragments/awsAccounts.scala.html x: 69 lines of code y: 21 # changes app/views/fragments/developerPolicyGrants.scala.html x: 59 lines of code y: 10 # changes app/views/fragments/permissionActions.scala.html x: 33 lines of code y: 1 # changes app/models/Passkey.scala x: 160 lines of code y: 19 # changes app/views/userAccount.scala.html x: 162 lines of code y: 36 # changes app/logic/ViewHelpers.scala x: 63 lines of code y: 14 # changes app/views/fragments/banner.scala.html x: 4 lines of code y: 1 # changes app/views/fragments/bannerCta.scala.html x: 14 lines of code y: 1 # changes app/views/index.scala.html x: 61 lines of code y: 21 # changes app/views/accountPolicies.scala.html x: 113 lines of code y: 5 # changes app/views/developerPoliciesStatus.scala.html x: 89 lines of code y: 5 # changes app/views/passkeyAuth.scala.html x: 21 lines of code y: 5 # changes app/conf/Config.scala x: 158 lines of code y: 27 # changes app/services/DeveloperPolicyCachingService.scala x: 173 lines of code y: 8 # changes conf/logback.xml x: 32 lines of code y: 7 # changes setup/src/main/resources/logback-test.xml x: 23 lines of code y: 3 # changes setup/src/main/scala/aws/AuditTrailDBSetup.scala x: 86 lines of code y: 4 # changes setup/src/main/scala/aws/Clients.scala x: 88 lines of code y: 2 # changes setup/src/main/scala/aws/DBSetupApp.scala x: 120 lines of code y: 4 # changes setup/src/main/scala/aws/PasskeyChallengeDBSetup.scala x: 57 lines of code y: 4 # changes setup/src/main/scala/aws/PasskeyDBSetup.scala x: 53 lines of code y: 4 # changes app/AppComponents.scala x: 157 lines of code y: 40 # changes app/aws/PasskeyDB.scala x: 253 lines of code y: 18 # changes app/controllers/Utility.scala x: 17 lines of code y: 19 # changes app/filters/PasskeyAuthFilter.scala x: 160 lines of code y: 4 # changes app/filters/PasskeyRegistrationAuthFilter.scala x: 45 lines of code y: 3 # changes app/services/MetricsService.scala x: 247 lines of code y: 5 # changes app/aws/Clients.scala x: 88 lines of code y: 16 # changes app/aws/Federation.scala x: 176 lines of code y: 19 # changes app/logic/AuditTrail.scala x: 169 lines of code y: 10 # changes app/logic/DeveloperPolicies.scala x: 69 lines of code y: 12 # changes app/views/fragments/developerPolicyDocumentation.scala.html x: 34 lines of code y: 6 # changes app/views/fragments/developerPolicyInfoChip.scala.html x: 13 lines of code y: 2 # changes app/views/fragments/developerPolicyList.scala.html x: 36 lines of code y: 10 # changes frontend/janus.js x: 374 lines of code y: 43 # changes app/models/DeveloperPolicy.scala x: 72 lines of code y: 10 # changes app/views/credentials.scala.html x: 134 lines of code y: 10 # changes example/src/main/scala/com/example/Access.scala x: 26 lines of code y: 12 # changes app/aws/Iam.scala x: 23 lines of code y: 2 # changes app/controllers/AccountsController.scala x: 93 lines of code y: 13 # changes app/logic/Accounts.scala x: 78 lines of code y: 8 # changes app/views/accounts.scala.html x: 83 lines of code y: 17 # changes app/logic/Date.scala x: 99 lines of code y: 13 # changes app/views/users.scala.html x: 69 lines of code y: 5 # changes configTools/src/main/scala/com/gu/janus/Validation.scala x: 68 lines of code y: 7 # changes configTools/src/main/scala/com/gu/janus/config/Writer.scala x: 14 lines of code y: 3 # changes example/src/main/scala/com/example/Support.scala x: 37 lines of code y: 9 # changes frontend/utils/passkeys.js x: 305 lines of code y: 2 # changes app/logic/Passkey.scala x: 198 lines of code y: 17 # changes app/controllers/ResultHandler.scala x: 25 lines of code y: 3 # changes app/views/fragments/multiSelectHero.scala.html x: 62 lines of code y: 6 # changes frontend/passkeys-auth.js x: 23 lines of code y: 1 # changes frontend/utils/csrf.js x: 13 lines of code y: 1 # changes frontend/snow.js x: 67 lines of code y: 9 # changes frontend/utils/formUtils.js x: 15 lines of code y: 4 # changes frontend/utils/toastMessages.js x: 28 lines of code y: 5 # changes frontend/eslint.config.mjs x: 7 lines of code y: 3 # changes app/aws/PasskeyChallengeDB.scala x: 94 lines of code y: 7 # changes app/controllers/Audit.scala x: 81 lines of code y: 10 # changes app/controllers/RevokePermissions.scala x: 118 lines of code y: 11 # changes app/filters/HstsFilter.scala x: 15 lines of code y: 8 # changes app/logic/Customisation.scala x: 28 lines of code y: 12 # changes app/controllers/Validation.scala x: 16 lines of code y: 1 # changes app/views/consoleUrl.scala.html x: 39 lines of code y: 5 # changes app/views/error.scala.html x: 10 lines of code y: 4 # changes app/models/JsonErrorFormatter.scala x: 51 lines of code y: 1 # changes scripts/passkeys_aaguid_map_data.jq x: 35 lines of code y: 2 # changes project/DockerComposeHook.scala x: 23 lines of code y: 4 # changes project/RunClientHook.scala x: 26 lines of code y: 6 # changes .github/dependabot.yml x: 13 lines of code y: 4 # changes app/data/Policies.scala x: 25 lines of code y: 6 # changes app/views/support/notSupport.scala.html x: 14 lines of code y: 4 # changes example/src/main/scala/com/example/BespokePolicies.scala x: 49 lines of code y: 6 # changes example/src/main/scala/com/example/Policies.scala x: 108 lines of code y: 7 # changes app/views/revoke.scala.html x: 35 lines of code y: 3 # changes app/views/revokeConfirmation.scala.html x: 50 lines of code y: 3 # changes app/views/revokeRequest.scala.html x: 48 lines of code y: 3 # changes configTools/src/main/scala/com/gu/janus/policy/Iam.scala x: 104 lines of code y: 1 # changes configTools/src/main/scala/com/gu/janus/policy/Statements.scala x: 83 lines of code y: 3 # changes example/src/main/scala/com/example/Accounts.scala x: 11 lines of code y: 6 # changes example/src/main/scala/com/example/Main.scala x: 46 lines of code y: 5 # changes configTools/src/main/scala/com/gu/janus/JanusConfig.scala x: 39 lines of code y: 2 # changes configTools/src/main/scala/com/gu/janus/VerifyJanusData.scala x: 37 lines of code y: 3 # changes app/AppLoader.scala x: 10 lines of code y: 3 # changes app/logic/Favourites.scala x: 54 lines of code y: 3 # changes app/logic/Revocation.scala x: 11 lines of code y: 3 # changes configTools/src/main/scala/com/gu/janus/model/validation.scala x: 2 lines of code y: 2 # changes
49.0
# changes
  min: 1.0
  average: 9.69
  25th percentile: 3.0
  median: 6.0
  75th percentile: 12.0
  max: 49.0
0 816.0
lines of code
min: 2.0 | average: 87.29 | 25th percentile: 23.0 | median: 55.5 | 75th percentile: 109.25 | max: 816.0

Number of Contributors vs. Number of Changes: 110 points

frontend/utils/modalUtils.js x: 6 # contributors y: 6 # changes configTools/src/main/scala/com/gu/janus/config/Loader.scala x: 6 # contributors y: 20 # changes example/src/main/scala/com/example/Data.scala x: 5 # contributors y: 8 # changes app/controllers/Janus.scala x: 13 # contributors y: 49 # changes app/controllers/PasskeyController.scala x: 6 # contributors y: 36 # changes app/logic/UserAccess.scala x: 7 # contributors y: 20 # changes app/views/main.scala.html x: 8 # contributors y: 34 # changes configTools/src/main/scala/com/gu/janus/model/models.scala x: 5 # contributors y: 21 # changes configTools/src/main/scala/com/gu/janus/model/configuredRepresentation.scala x: 4 # contributors y: 14 # changes app/models/models.scala x: 8 # contributors y: 28 # changes app/views/audit.scala.html x: 7 # contributors y: 13 # changes app/views/superuser.scala.html x: 1 # contributors y: 3 # changes example/src/main/scala/com/example/Superuser.scala x: 1 # contributors y: 2 # changes frontend/main.css x: 8 # contributors y: 47 # changes .devcontainer/devenv.yaml x: 3 # contributors y: 7 # changes app/logic/AccountOrdering.scala x: 7 # contributors y: 12 # changes app/views/fragments/awsAccounts.scala.html x: 6 # contributors y: 21 # changes app/views/fragments/developerPolicyGrants.scala.html x: 4 # contributors y: 10 # changes app/views/fragments/permissionActions.scala.html x: 1 # contributors y: 1 # changes app/models/Passkey.scala x: 5 # contributors y: 19 # changes app/views/userAccount.scala.html x: 5 # contributors y: 36 # changes app/logic/ViewHelpers.scala x: 7 # contributors y: 14 # changes app/views/index.scala.html x: 8 # contributors y: 21 # changes app/views/accountPolicies.scala.html x: 5 # contributors y: 5 # changes app/views/passkeyAuth.scala.html x: 3 # contributors y: 5 # changes app/conf/Config.scala x: 14 # contributors y: 27 # changes app/services/DeveloperPolicyCachingService.scala x: 3 # contributors y: 8 # changes conf/logback.xml x: 6 # contributors y: 7 # changes setup/src/main/resources/logback-test.xml x: 2 # contributors y: 3 # changes setup/src/main/scala/aws/AuditTrailDBSetup.scala x: 2 # contributors y: 4 # changes setup/src/main/scala/aws/Clients.scala x: 2 # contributors y: 2 # changes app/AppComponents.scala x: 11 # contributors y: 40 # changes app/aws/PasskeyDB.scala x: 4 # contributors y: 18 # changes app/controllers/Utility.scala x: 7 # contributors y: 19 # changes app/filters/PasskeyAuthFilter.scala x: 1 # contributors y: 4 # changes app/services/MetricsService.scala x: 2 # contributors y: 5 # changes app/aws/Clients.scala x: 8 # contributors y: 16 # changes app/logic/DeveloperPolicies.scala x: 4 # contributors y: 12 # changes app/views/fragments/developerPolicyDocumentation.scala.html x: 2 # contributors y: 6 # changes app/views/fragments/developerPolicyList.scala.html x: 3 # contributors y: 10 # changes frontend/janus.js x: 4 # contributors y: 43 # changes app/views/credentials.scala.html x: 7 # contributors y: 10 # changes example/src/main/scala/com/example/Access.scala x: 6 # contributors y: 12 # changes app/controllers/AccountsController.scala x: 5 # contributors y: 13 # changes app/logic/Accounts.scala x: 4 # contributors y: 8 # changes app/views/accounts.scala.html x: 6 # contributors y: 17 # changes app/views/support/support.scala.html x: 4 # contributors y: 7 # changes configTools/src/main/scala/com/gu/janus/config/Writer.scala x: 3 # contributors y: 3 # changes example/src/main/scala/com/example/Support.scala x: 5 # contributors y: 9 # changes app/logic/Passkey.scala x: 3 # contributors y: 17 # changes app/views/fragments/multiSelectHero.scala.html x: 4 # contributors y: 6 # changes frontend/snow.js x: 3 # contributors y: 9 # changes frontend/utils/formUtils.js x: 3 # contributors y: 4 # changes app/aws/PasskeyChallengeDB.scala x: 2 # contributors y: 7 # changes app/controllers/Audit.scala x: 6 # contributors y: 10 # changes app/controllers/AuthController.scala x: 6 # contributors y: 9 # changes app/controllers/RevokePermissions.scala x: 7 # contributors y: 11 # changes app/filters/HstsFilter.scala x: 7 # contributors y: 8 # changes app/logic/Customisation.scala x: 5 # contributors y: 12 # changes app/views/error.scala.html x: 4 # contributors y: 4 # changes app/views/noPermissions.scala.html x: 4 # contributors y: 5 # changes project/RunClientHook.scala x: 3 # contributors y: 6 # changes example/src/main/scala/com/example/BespokePolicies.scala x: 5 # contributors y: 6 # changes example/src/main/scala/com/example/Policies.scala x: 5 # contributors y: 7 # changes configTools/src/main/scala/com/gu/janus/policy/Statements.scala x: 4 # contributors y: 3 # changes
49.0
# changes
  min: 1.0
  average: 9.69
  25th percentile: 3.0
  median: 6.0
  75th percentile: 12.0
  max: 49.0
0 14.0
# contributors
min: 1.0 | average: 4.05 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 5.25 | max: 14.0

Number of Contributors vs. File Size: 110 points

frontend/utils/modalUtils.js x: 6 # contributors y: 262 lines of code configTools/src/main/scala/com/gu/janus/config/Loader.scala x: 6 # contributors y: 196 lines of code example/src/main/scala/com/example/Data.scala x: 5 # contributors y: 11 lines of code app/controllers/Janus.scala x: 13 # contributors y: 436 lines of code app/controllers/PasskeyController.scala x: 6 # contributors y: 275 lines of code app/logic/UserAccess.scala x: 7 # contributors y: 255 lines of code app/views/main.scala.html x: 8 # contributors y: 93 lines of code configTools/src/main/scala/com/gu/janus/model/models.scala x: 5 # contributors y: 141 lines of code configTools/src/main/scala/com/gu/janus/model/configuredRepresentation.scala x: 4 # contributors y: 58 lines of code app/models/models.scala x: 8 # contributors y: 189 lines of code app/views/audit.scala.html x: 7 # contributors y: 128 lines of code app/views/superuser.scala.html x: 1 # contributors y: 47 lines of code example/src/main/scala/com/example/Superuser.scala x: 1 # contributors y: 19 lines of code frontend/main.css x: 8 # contributors y: 816 lines of code .devcontainer/devenv.yaml x: 3 # contributors y: 10 lines of code app/logic/AccountOrdering.scala x: 7 # contributors y: 57 lines of code app/views/fragments/awsAccounts.scala.html x: 6 # contributors y: 69 lines of code app/views/fragments/permissionActions.scala.html x: 1 # contributors y: 33 lines of code app/models/Passkey.scala x: 5 # contributors y: 160 lines of code app/views/userAccount.scala.html x: 5 # contributors y: 162 lines of code app/logic/ViewHelpers.scala x: 7 # contributors y: 63 lines of code app/views/fragments/banner.scala.html x: 1 # contributors y: 4 lines of code app/views/fragments/bannerCta.scala.html x: 1 # contributors y: 14 lines of code app/views/index.scala.html x: 8 # contributors y: 61 lines of code app/views/accountPolicies.scala.html x: 5 # contributors y: 113 lines of code app/views/developerPoliciesStatus.scala.html x: 5 # contributors y: 89 lines of code app/views/passkeyAuth.scala.html x: 3 # contributors y: 21 lines of code app/conf/Config.scala x: 14 # contributors y: 158 lines of code app/services/DeveloperPolicyCachingService.scala x: 3 # contributors y: 173 lines of code conf/logback.xml x: 6 # contributors y: 32 lines of code setup/src/main/resources/logback-test.xml x: 2 # contributors y: 23 lines of code setup/src/main/scala/aws/AuditTrailDBSetup.scala x: 2 # contributors y: 86 lines of code setup/src/main/scala/aws/Clients.scala x: 2 # contributors y: 88 lines of code setup/src/main/scala/aws/DBSetupApp.scala x: 2 # contributors y: 120 lines of code setup/src/main/scala/aws/PasskeyChallengeDBSetup.scala x: 2 # contributors y: 57 lines of code setup/src/main/scala/aws/PasskeyDBSetup.scala x: 2 # contributors y: 53 lines of code app/AppComponents.scala x: 11 # contributors y: 157 lines of code app/aws/PasskeyDB.scala x: 4 # contributors y: 253 lines of code app/controllers/Utility.scala x: 7 # contributors y: 17 lines of code app/filters/PasskeyAuthFilter.scala x: 1 # contributors y: 160 lines of code app/services/MetricsService.scala x: 2 # contributors y: 247 lines of code app/aws/Clients.scala x: 8 # contributors y: 88 lines of code app/aws/Federation.scala x: 7 # contributors y: 176 lines of code app/logic/AuditTrail.scala x: 4 # contributors y: 169 lines of code app/logic/DeveloperPolicies.scala x: 4 # contributors y: 69 lines of code app/views/fragments/developerPolicyDocumentation.scala.html x: 2 # contributors y: 34 lines of code app/views/fragments/developerPolicyList.scala.html x: 3 # contributors y: 36 lines of code frontend/janus.js x: 4 # contributors y: 374 lines of code app/models/DeveloperPolicy.scala x: 4 # contributors y: 72 lines of code app/views/credentials.scala.html x: 7 # contributors y: 134 lines of code example/src/main/scala/com/example/Access.scala x: 6 # contributors y: 26 lines of code app/controllers/AccountsController.scala x: 5 # contributors y: 93 lines of code app/logic/Accounts.scala x: 4 # contributors y: 78 lines of code app/views/accounts.scala.html x: 6 # contributors y: 83 lines of code app/views/support/support.scala.html x: 4 # contributors y: 31 lines of code app/logic/Date.scala x: 7 # contributors y: 99 lines of code app/views/users.scala.html x: 2 # contributors y: 69 lines of code configTools/src/main/scala/com/gu/janus/config/Writer.scala x: 3 # contributors y: 14 lines of code example/src/main/scala/com/example/Support.scala x: 5 # contributors y: 37 lines of code frontend/utils/passkeys.js x: 1 # contributors y: 305 lines of code app/logic/Passkey.scala x: 3 # contributors y: 198 lines of code app/views/fragments/multiSelectHero.scala.html x: 4 # contributors y: 62 lines of code frontend/passkeys-auth.js x: 1 # contributors y: 23 lines of code frontend/snow.js x: 3 # contributors y: 67 lines of code frontend/utils/toastMessages.js x: 3 # contributors y: 28 lines of code frontend/eslint.config.mjs x: 3 # contributors y: 7 lines of code app/aws/PasskeyChallengeDB.scala x: 2 # contributors y: 94 lines of code app/aws/AuditTrailDB.scala x: 4 # contributors y: 93 lines of code app/controllers/AuthController.scala x: 6 # contributors y: 37 lines of code app/controllers/RevokePermissions.scala x: 7 # contributors y: 118 lines of code app/filters/HstsFilter.scala x: 7 # contributors y: 15 lines of code app/logic/Customisation.scala x: 5 # contributors y: 28 lines of code app/views/consoleUrl.scala.html x: 5 # contributors y: 39 lines of code app/views/error.scala.html x: 4 # contributors y: 10 lines of code app/views/noPermissions.scala.html x: 4 # contributors y: 21 lines of code app/models/JsonErrorFormatter.scala x: 1 # contributors y: 51 lines of code app/data/Policies.scala x: 4 # contributors y: 25 lines of code app/views/fragments/supportUsers.scala.html x: 4 # contributors y: 120 lines of code app/views/support/notSupport.scala.html x: 4 # contributors y: 14 lines of code example/src/main/scala/com/example/BespokePolicies.scala x: 5 # contributors y: 49 lines of code example/src/main/scala/com/example/Policies.scala x: 5 # contributors y: 108 lines of code app/views/revoke.scala.html x: 3 # contributors y: 35 lines of code app/views/revokeConfirmation.scala.html x: 3 # contributors y: 50 lines of code app/views/revokeRequest.scala.html x: 3 # contributors y: 48 lines of code configTools/src/main/scala/com/gu/janus/policy/Iam.scala x: 1 # contributors y: 104 lines of code configTools/src/main/scala/com/gu/janus/policy/Statements.scala x: 4 # contributors y: 83 lines of code example/src/main/scala/com/example/Main.scala x: 4 # contributors y: 46 lines of code configTools/src/main/scala/com/gu/janus/JanusConfig.scala x: 2 # contributors y: 39 lines of code configTools/src/main/scala/com/gu/janus/VerifyJanusData.scala x: 2 # contributors y: 37 lines of code app/AppLoader.scala x: 2 # contributors y: 10 lines of code app/logic/PlayHelpers.scala x: 2 # contributors y: 7 lines of code configTools/src/main/scala/com/gu/janus/model/validation.scala x: 1 # contributors y: 2 lines of code
816.0
lines of code
  min: 2.0
  average: 87.29
  25th percentile: 23.0
  median: 55.5
  75th percentile: 109.25
  max: 816.0
0 14.0
# contributors
min: 1.0 | average: 4.05 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 5.25 | max: 14.0

Number of Changes vs. Line Churn: 288 points

frontend/package-lock.json x: 42 # changes y: 18281 line churn version.sbt x: 21 # changes y: 79 line churn conf/application.conf x: 27 # changes y: 272 line churn .github/workflows/dependency-graph.yml x: 38 # changes y: 230 line churn .github/workflows/dependency-review.yml x: 23 # changes y: 79 line churn .github/workflows/example-prj-ci.yml x: 8 # changes y: 59 line churn .github/workflows/trigger-private-janus-build.yml x: 98 # changes y: 948 line churn example/build.sbt x: 45 # changes y: 140 line churn .git-blame-ignore-revs x: 13 # changes y: 37 line churn .scalafmt.conf x: 56 # changes y: 148 line churn build.sbt x: 429 # changes y: 3011 line churn example/.scalafmt.conf x: 17 # changes y: 46 line churn example/project/build.properties x: 78 # changes y: 166 line churn example/project/plugins.sbt x: 9 # changes y: 19 line churn project/build.properties x: 80 # changes y: 179 line churn project/plugins.sbt x: 89 # changes y: 410 line churn test/logic/PasskeyTest.scala x: 18 # changes y: 402 line churn .github/workflows/stale.yml x: 18 # changes y: 106 line churn frontend/package.json x: 32 # changes y: 185 line churn frontend/utils/modalUtils.js x: 6 # changes y: 1064 line churn configTools/src/main/scala/com/gu/janus/config/Loader.scala x: 20 # changes y: 754 line churn configTools/src/test/resources/example-without-permissions-repo.conf x: 6 # changes y: 230 line churn configTools/src/test/resources/invalid.conf x: 4 # changes y: 45 line churn configTools/src/test/scala/com/gu/janus/config/LoaderTest.scala x: 21 # changes y: 1746 line churn scripts/setup.sh x: 9 # changes y: 322 line churn example/src/test/scala/com/example/DataTest.scala x: 6 # changes y: 105 line churn app/controllers/Janus.scala x: 49 # changes y: 1508 line churn app/controllers/PasskeyController.scala x: 36 # changes y: 1686 line churn app/logic/UserAccess.scala x: 20 # changes y: 1283 line churn app/views/main.scala.html x: 34 # changes y: 356 line churn configTools/src/main/scala/com/gu/janus/model/models.scala x: 21 # changes y: 556 line churn configTools/src/main/twirl/com/gu/janus/config/templates/janusData.scala.txt x: 12 # changes y: 186 line churn configTools/src/test/resources/example.conf x: 12 # changes y: 391 line churn configTools/src/test/scala/com/gu/janus/ValidationTest.scala x: 13 # changes y: 823 line churn configTools/src/test/scala/com/gu/janus/config/ConfigIntegrationTests.scala x: 9 # changes y: 171 line churn configTools/src/test/scala/com/gu/janus/config/WriterTest.scala x: 18 # changes y: 1697 line churn configTools/src/test/scala/com/gu/janus/model/PermissionTest.scala x: 3 # changes y: 185 line churn test/logic/UserAccessTest.scala x: 25 # changes y: 3427 line churn configTools/src/main/scala/com/gu/janus/model/configuredRepresentation.scala x: 14 # changes y: 207 line churn README.md x: 28 # changes y: 708 line churn app/models/models.scala x: 28 # changes y: 326 line churn app/views/audit.scala.html x: 13 # changes y: 190 line churn conf/routes x: 31 # changes y: 200 line churn example/src/main/scala/com/example/Admin.scala x: 10 # changes y: 143 line churn example/src/main/scala/com/example/Superuser.scala x: 2 # changes y: 50 line churn frontend/main.css x: 47 # changes y: 3192 line churn test/services/MetricsServiceTest.scala x: 8 # changes y: 1694 line churn .devcontainer/devenv.yaml x: 7 # changes y: 117 line churn .tool-versions x: 12 # changes y: 24 line churn app/logic/AccountOrdering.scala x: 12 # changes y: 243 line churn app/views/fragments/awsAccounts.scala.html x: 21 # changes y: 381 line churn app/views/fragments/developerPolicyGrants.scala.html x: 10 # changes y: 366 line churn app/views/fragments/permissionActions.scala.html x: 1 # changes y: 34 line churn test/logic/AccountOrderingTest.scala x: 14 # changes y: 742 line churn app/models/Passkey.scala x: 19 # changes y: 546 line churn app/views/userAccount.scala.html x: 36 # changes y: 790 line churn scripts/start.sh x: 3 # changes y: 51 line churn app/views/accountPolicies.scala.html x: 5 # changes y: 364 line churn app/views/developerPoliciesStatus.scala.html x: 5 # changes y: 303 line churn app/views/passkeyAuth.scala.html x: 5 # changes y: 34 line churn app/conf/Config.scala x: 27 # changes y: 424 line churn app/services/DeveloperPolicyCachingService.scala x: 8 # changes y: 853 line churn conf/logback.xml x: 7 # changes y: 76 line churn setup/src/main/scala/aws/AuditTrailDBSetup.scala x: 4 # changes y: 303 line churn setup/src/main/scala/aws/Clients.scala x: 2 # changes y: 372 line churn setup/src/main/scala/aws/DBSetupApp.scala x: 4 # changes y: 446 line churn setup/src/main/scala/aws/PasskeyDBSetup.scala x: 4 # changes y: 193 line churn setup/src/test/scala/aws/DBSetupAppTest.scala x: 2 # changes y: 135 line churn test/aws/AuditTrailDBTest.scala x: 16 # changes y: 637 line churn test/aws/PasskeyChallengeDBTest.scala x: 6 # changes y: 376 line churn app/AppComponents.scala x: 40 # changes y: 557 line churn app/aws/PasskeyDB.scala x: 18 # changes y: 940 line churn app/controllers/Utility.scala x: 19 # changes y: 777 line churn test/conf/ConfigTest.scala x: 14 # changes y: 546 line churn app/services/MetricsService.scala x: 5 # changes y: 625 line churn app/aws/Clients.scala x: 16 # changes y: 258 line churn app/logic/AuditTrail.scala x: 10 # changes y: 512 line churn app/logic/DeveloperPolicies.scala x: 12 # changes y: 455 line churn test/logic/DeveloperPoliciesTest.scala x: 13 # changes y: 2498 line churn frontend/janus.js x: 43 # changes y: 4159 line churn test/fixtures/Fixtures.scala x: 10 # changes y: 277 line churn test/logic/AccountsTest.scala x: 12 # changes y: 1741 line churn app/controllers/AccountsController.scala x: 13 # changes y: 1275 line churn app/logic/Accounts.scala x: 8 # changes y: 604 line churn app/services/ProvisionedRoleCachingService.scala x: 9 # changes y: 907 line churn app/views/accountRoles.scala.html x: 13 # changes y: 1629 line churn app/views/accounts.scala.html x: 17 # changes y: 865 line churn app/views/fragments/roleList.scala.html x: 12 # changes y: 1040 line churn app/views/rolesStatus.scala.html x: 11 # changes y: 1466 line churn test/logic/ProvisionedRolesTest.scala x: 8 # changes y: 2338 line churn app/logic/Date.scala x: 13 # changes y: 445 line churn app/views/users.scala.html x: 5 # changes y: 176 line churn test/logic/OwnersTest.scala x: 10 # changes y: 667 line churn app/controllers/RolesStatus.scala x: 1 # changes y: 216 line churn app/aws/SingleAccountRoleFetcher.scala x: 2 # changes y: 282 line churn test/data/ProvisionedRoleCacheTest.scala x: 2 # changes y: 474 line churn test/models/IamRoleInfoTest.scala x: 2 # changes y: 582 line churn example/src/main/scala/com/example/Support.scala x: 9 # changes y: 215 line churn app/logic/Passkey.scala x: 17 # changes y: 1092 line churn frontend/passkeys.js x: 31 # changes y: 3635 line churn example/.gitignore x: 3 # changes y: 297 line churn app/views/passkeymock/awsAccounts.scala.html x: 8 # changes y: 228 line churn app/controllers/PasskeyAuthFilter.scala x: 11 # changes y: 357 line churn frontend/snow.js x: 9 # changes y: 600 line churn frontend/passkeyNameModal.js x: 5 # changes y: 1264 line churn app/aws/PasskeyChallengeDB.scala x: 7 # changes y: 227 line churn app/aws/AuditTrailDB.scala x: 7 # changes y: 376 line churn conf/aaguid_descriptions.json x: 3 # changes y: 3818 line churn conf/passkeys_aaguid_descriptions.json x: 1 # changes y: 2180 line churn test/aws/FederationTest.scala x: 12 # changes y: 680 line churn scripts/gen_mappings.sh x: 1 # changes y: 132 line churn app/views/passkeyRegistration.scala.html x: 6 # changes y: 154 line churn test/logic/ViewHelpersTest.scala x: 8 # changes y: 339 line churn example/src/main/scala/com/example/Policies.scala x: 7 # changes y: 482 line churn public/javascripts/janus.js x: 10 # changes y: 1086 line churn public/materialize/css/materialize.css x: 3 # changes y: 26856 line churn public/materialize/font/material-design-icons/LICENSE.txt x: 3 # changes y: 1284 line churn public/materialize/font/material-design-icons/Material-Design-Icons.svg x: 3 # changes y: 2307 line churn public/materialize/js/materialize.js x: 3 # changes y: 24891 line churn public/stylesheets/main.css x: 11 # changes y: 1305 line churn package-lock.json x: 2 # changes y: 5978 line churn configTools/src/test/scala/com/gu/janus/policy/IamTest.scala x: 1 # changes y: 410 line churn example/src/main/scala/com/example/Statements.scala x: 5 # changes y: 504 line churn example/src/test/scala/com/example/StatementsTest.scala x: 4 # changes y: 330 line churn docs/cloudformation/example.template.yaml x: 3 # changes y: 318 line churn
26856.0
line churn
  min: 1.0
  average: 631.87
  25th percentile: 58.0
  median: 142.5
  75th percentile: 399.25
  max: 26856.0
0 429.0
# changes
min: 1.0 | average: 10.71 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 11.0 | max: 429.0

Number of Contributors vs. Line Churn: 110 points

frontend/utils/modalUtils.js x: 6 # contributors y: 1064 line churn configTools/src/main/scala/com/gu/janus/config/Loader.scala x: 6 # contributors y: 754 line churn example/src/main/scala/com/example/Data.scala x: 5 # contributors y: 46 line churn app/controllers/Janus.scala x: 13 # contributors y: 1508 line churn app/controllers/PasskeyController.scala x: 6 # contributors y: 1686 line churn app/logic/UserAccess.scala x: 7 # contributors y: 1283 line churn app/views/main.scala.html x: 8 # contributors y: 356 line churn configTools/src/main/scala/com/gu/janus/model/models.scala x: 5 # contributors y: 556 line churn configTools/src/main/scala/com/gu/janus/model/configuredRepresentation.scala x: 4 # contributors y: 207 line churn app/models/models.scala x: 8 # contributors y: 326 line churn app/views/audit.scala.html x: 7 # contributors y: 190 line churn app/views/superuser.scala.html x: 1 # contributors y: 108 line churn example/src/main/scala/com/example/Superuser.scala x: 1 # contributors y: 50 line churn frontend/main.css x: 8 # contributors y: 3192 line churn .devcontainer/devenv.yaml x: 3 # contributors y: 117 line churn app/logic/AccountOrdering.scala x: 7 # contributors y: 243 line churn app/views/fragments/awsAccounts.scala.html x: 6 # contributors y: 381 line churn app/views/fragments/developerPolicyGrants.scala.html x: 4 # contributors y: 366 line churn app/views/fragments/permissionActions.scala.html x: 1 # contributors y: 34 line churn app/views/userAccount.scala.html x: 5 # contributors y: 790 line churn app/logic/ViewHelpers.scala x: 7 # contributors y: 204 line churn app/views/fragments/banner.scala.html x: 1 # contributors y: 16 line churn app/views/index.scala.html x: 8 # contributors y: 412 line churn app/views/accountPolicies.scala.html x: 5 # contributors y: 364 line churn app/views/developerPoliciesStatus.scala.html x: 5 # contributors y: 303 line churn app/views/passkeyAuth.scala.html x: 3 # contributors y: 34 line churn app/conf/Config.scala x: 14 # contributors y: 424 line churn app/services/DeveloperPolicyCachingService.scala x: 3 # contributors y: 853 line churn conf/logback.xml x: 6 # contributors y: 76 line churn setup/src/main/resources/logback-test.xml x: 2 # contributors y: 96 line churn setup/src/main/scala/aws/AuditTrailDBSetup.scala x: 2 # contributors y: 303 line churn setup/src/main/scala/aws/Clients.scala x: 2 # contributors y: 372 line churn setup/src/main/scala/aws/DBSetupApp.scala x: 2 # contributors y: 446 line churn setup/src/main/scala/aws/PasskeyChallengeDBSetup.scala x: 2 # contributors y: 236 line churn setup/src/main/scala/aws/PasskeyDBSetup.scala x: 2 # contributors y: 193 line churn app/AppComponents.scala x: 11 # contributors y: 557 line churn app/aws/PasskeyDB.scala x: 4 # contributors y: 940 line churn app/controllers/Utility.scala x: 7 # contributors y: 777 line churn app/filters/PasskeyAuthFilter.scala x: 1 # contributors y: 313 line churn app/services/MetricsService.scala x: 2 # contributors y: 625 line churn app/aws/Clients.scala x: 8 # contributors y: 258 line churn app/aws/Federation.scala x: 7 # contributors y: 799 line churn app/logic/AuditTrail.scala x: 4 # contributors y: 512 line churn app/logic/DeveloperPolicies.scala x: 4 # contributors y: 455 line churn app/views/fragments/developerPolicyList.scala.html x: 3 # contributors y: 187 line churn frontend/janus.js x: 4 # contributors y: 4159 line churn app/models/DeveloperPolicy.scala x: 4 # contributors y: 384 line churn app/views/credentials.scala.html x: 7 # contributors y: 173 line churn example/src/main/scala/com/example/Access.scala x: 6 # contributors y: 104 line churn app/aws/Iam.scala x: 2 # contributors y: 117 line churn app/controllers/AccountsController.scala x: 5 # contributors y: 1275 line churn app/logic/Accounts.scala x: 4 # contributors y: 604 line churn app/views/accounts.scala.html x: 6 # contributors y: 865 line churn app/views/support/support.scala.html x: 4 # contributors y: 61 line churn app/logic/Date.scala x: 7 # contributors y: 445 line churn app/views/users.scala.html x: 2 # contributors y: 176 line churn configTools/src/main/scala/com/gu/janus/Validation.scala x: 4 # contributors y: 185 line churn configTools/src/main/scala/com/gu/janus/config/Writer.scala x: 3 # contributors y: 58 line churn example/src/main/scala/com/example/Support.scala x: 5 # contributors y: 215 line churn frontend/utils/passkeys.js x: 1 # contributors y: 434 line churn app/logic/Passkey.scala x: 3 # contributors y: 1092 line churn app/controllers/ResultHandler.scala x: 2 # contributors y: 33 line churn app/views/fragments/multiSelectHero.scala.html x: 4 # contributors y: 96 line churn frontend/passkeys-auth.js x: 1 # contributors y: 25 line churn frontend/snow.js x: 3 # contributors y: 600 line churn frontend/utils/formUtils.js x: 3 # contributors y: 78 line churn frontend/eslint.config.mjs x: 3 # contributors y: 16 line churn app/aws/PasskeyChallengeDB.scala x: 2 # contributors y: 227 line churn app/controllers/Audit.scala x: 6 # contributors y: 232 line churn app/controllers/AuthController.scala x: 6 # contributors y: 144 line churn app/controllers/RevokePermissions.scala x: 7 # contributors y: 340 line churn app/filters/HstsFilter.scala x: 7 # contributors y: 53 line churn app/logic/Customisation.scala x: 5 # contributors y: 136 line churn app/views/consoleUrl.scala.html x: 5 # contributors y: 58 line churn app/views/error.scala.html x: 4 # contributors y: 22 line churn app/views/noPermissions.scala.html x: 4 # contributors y: 45 line churn app/models/JsonErrorFormatter.scala x: 1 # contributors y: 93 line churn scripts/passkeys_aaguid_map_data.jq x: 2 # contributors y: 64 line churn project/DockerComposeHook.scala x: 2 # contributors y: 112 line churn project/RunClientHook.scala x: 3 # contributors y: 100 line churn app/data/Policies.scala x: 4 # contributors y: 100 line churn app/views/fragments/supportUsers.scala.html x: 4 # contributors y: 137 line churn example/src/main/scala/com/example/Policies.scala x: 5 # contributors y: 482 line churn configTools/src/main/scala/com/gu/janus/policy/Iam.scala x: 1 # contributors y: 129 line churn configTools/src/main/scala/com/gu/janus/policy/Statements.scala x: 4 # contributors y: 293 line churn example/src/main/scala/com/example/Main.scala x: 4 # contributors y: 174 line churn configTools/src/main/scala/com/gu/janus/JanusConfig.scala x: 2 # contributors y: 73 line churn app/AppLoader.scala x: 2 # contributors y: 15 line churn app/logic/PlayHelpers.scala x: 2 # contributors y: 28 line churn
4159.0
line churn
  min: 13.0
  average: 358.95
  25th percentile: 60.25
  median: 186.0
  75th percentile: 426.5
  max: 4159.0
0 14.0
# contributors
min: 1.0 | average: 4.05 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 5.25 | max: 14.0

File Size vs. Line Churn: 110 points

frontend/utils/modalUtils.js x: 262 lines of code y: 1064 line churn configTools/src/main/scala/com/gu/janus/config/Loader.scala x: 196 lines of code y: 754 line churn example/src/main/scala/com/example/Data.scala x: 11 lines of code y: 46 line churn app/controllers/Janus.scala x: 436 lines of code y: 1508 line churn app/controllers/PasskeyController.scala x: 275 lines of code y: 1686 line churn app/logic/UserAccess.scala x: 255 lines of code y: 1283 line churn app/views/main.scala.html x: 93 lines of code y: 356 line churn configTools/src/main/scala/com/gu/janus/model/models.scala x: 141 lines of code y: 556 line churn configTools/src/main/scala/com/gu/janus/model/configuredRepresentation.scala x: 58 lines of code y: 207 line churn app/models/models.scala x: 189 lines of code y: 326 line churn app/views/audit.scala.html x: 128 lines of code y: 190 line churn app/views/superuser.scala.html x: 47 lines of code y: 108 line churn example/src/main/scala/com/example/Superuser.scala x: 19 lines of code y: 50 line churn frontend/main.css x: 816 lines of code y: 3192 line churn .devcontainer/devenv.yaml x: 10 lines of code y: 117 line churn app/logic/AccountOrdering.scala x: 57 lines of code y: 243 line churn app/views/fragments/awsAccounts.scala.html x: 69 lines of code y: 381 line churn app/views/fragments/developerPolicyGrants.scala.html x: 59 lines of code y: 366 line churn app/views/fragments/permissionActions.scala.html x: 33 lines of code y: 34 line churn app/models/Passkey.scala x: 160 lines of code y: 546 line churn app/views/userAccount.scala.html x: 162 lines of code y: 790 line churn app/logic/ViewHelpers.scala x: 63 lines of code y: 204 line churn app/views/fragments/banner.scala.html x: 4 lines of code y: 16 line churn app/views/fragments/bannerCta.scala.html x: 14 lines of code y: 40 line churn app/views/index.scala.html x: 61 lines of code y: 412 line churn app/views/accountPolicies.scala.html x: 113 lines of code y: 364 line churn app/views/developerPoliciesStatus.scala.html x: 89 lines of code y: 303 line churn app/views/passkeyAuth.scala.html x: 21 lines of code y: 34 line churn app/conf/Config.scala x: 158 lines of code y: 424 line churn app/services/DeveloperPolicyCachingService.scala x: 173 lines of code y: 853 line churn conf/logback.xml x: 32 lines of code y: 76 line churn setup/src/main/resources/logback-test.xml x: 23 lines of code y: 96 line churn setup/src/main/scala/aws/AuditTrailDBSetup.scala x: 86 lines of code y: 303 line churn setup/src/main/scala/aws/Clients.scala x: 88 lines of code y: 372 line churn setup/src/main/scala/aws/DBSetupApp.scala x: 120 lines of code y: 446 line churn setup/src/main/scala/aws/PasskeyDBSetup.scala x: 53 lines of code y: 193 line churn app/AppComponents.scala x: 157 lines of code y: 557 line churn app/aws/PasskeyDB.scala x: 253 lines of code y: 940 line churn app/controllers/Utility.scala x: 17 lines of code y: 777 line churn app/filters/PasskeyAuthFilter.scala x: 160 lines of code y: 313 line churn app/filters/PasskeyRegistrationAuthFilter.scala x: 45 lines of code y: 107 line churn app/services/MetricsService.scala x: 247 lines of code y: 625 line churn app/aws/Clients.scala x: 88 lines of code y: 258 line churn app/aws/Federation.scala x: 176 lines of code y: 799 line churn app/logic/AuditTrail.scala x: 169 lines of code y: 512 line churn app/logic/DeveloperPolicies.scala x: 69 lines of code y: 455 line churn app/views/fragments/developerPolicyDocumentation.scala.html x: 34 lines of code y: 93 line churn app/views/fragments/developerPolicyInfoChip.scala.html x: 13 lines of code y: 36 line churn app/views/fragments/developerPolicyList.scala.html x: 36 lines of code y: 187 line churn frontend/janus.js x: 374 lines of code y: 4159 line churn app/models/DeveloperPolicy.scala x: 72 lines of code y: 384 line churn app/views/credentials.scala.html x: 134 lines of code y: 173 line churn example/src/main/scala/com/example/Access.scala x: 26 lines of code y: 104 line churn app/aws/Iam.scala x: 23 lines of code y: 117 line churn app/controllers/AccountsController.scala x: 93 lines of code y: 1275 line churn app/logic/Accounts.scala x: 78 lines of code y: 604 line churn app/views/accounts.scala.html x: 83 lines of code y: 865 line churn app/views/support/support.scala.html x: 31 lines of code y: 61 line churn app/logic/Date.scala x: 99 lines of code y: 445 line churn app/views/users.scala.html x: 69 lines of code y: 176 line churn configTools/src/main/scala/com/gu/janus/Validation.scala x: 68 lines of code y: 185 line churn configTools/src/main/scala/com/gu/janus/config/Writer.scala x: 14 lines of code y: 58 line churn example/src/main/scala/com/example/Support.scala x: 37 lines of code y: 215 line churn frontend/utils/passkeys.js x: 305 lines of code y: 434 line churn app/logic/Passkey.scala x: 198 lines of code y: 1092 line churn app/controllers/ResultHandler.scala x: 25 lines of code y: 33 line churn app/views/fragments/multiSelectHero.scala.html x: 62 lines of code y: 96 line churn frontend/passkeys-auth.js x: 23 lines of code y: 25 line churn frontend/utils/csrf.js x: 13 lines of code y: 20 line churn frontend/snow.js x: 67 lines of code y: 600 line churn frontend/utils/formUtils.js x: 15 lines of code y: 78 line churn frontend/utils/toastMessages.js x: 28 lines of code y: 196 line churn frontend/eslint.config.mjs x: 7 lines of code y: 16 line churn app/aws/PasskeyChallengeDB.scala x: 94 lines of code y: 227 line churn app/aws/AuditTrailDB.scala x: 93 lines of code y: 376 line churn app/controllers/Audit.scala x: 81 lines of code y: 232 line churn app/controllers/AuthController.scala x: 37 lines of code y: 144 line churn app/controllers/RevokePermissions.scala x: 118 lines of code y: 340 line churn app/filters/HstsFilter.scala x: 15 lines of code y: 53 line churn app/logic/Customisation.scala x: 28 lines of code y: 136 line churn app/controllers/Validation.scala x: 16 lines of code y: 19 line churn app/views/consoleUrl.scala.html x: 39 lines of code y: 58 line churn app/views/error.scala.html x: 10 lines of code y: 22 line churn app/models/JsonErrorFormatter.scala x: 51 lines of code y: 93 line churn scripts/passkeys_aaguid_map_data.jq x: 35 lines of code y: 64 line churn project/DockerComposeHook.scala x: 23 lines of code y: 112 line churn .github/dependabot.yml x: 13 lines of code y: 58 line churn app/data/Policies.scala x: 25 lines of code y: 100 line churn app/views/fragments/supportUsers.scala.html x: 120 lines of code y: 137 line churn app/views/support/notSupport.scala.html x: 14 lines of code y: 31 line churn example/src/main/scala/com/example/BespokePolicies.scala x: 49 lines of code y: 223 line churn example/src/main/scala/com/example/Policies.scala x: 108 lines of code y: 482 line churn app/views/revoke.scala.html x: 35 lines of code y: 44 line churn app/views/revokeConfirmation.scala.html x: 50 lines of code y: 58 line churn app/views/revokeRequest.scala.html x: 48 lines of code y: 58 line churn configTools/src/main/scala/com/gu/janus/policy/Iam.scala x: 104 lines of code y: 129 line churn configTools/src/main/scala/com/gu/janus/policy/Statements.scala x: 83 lines of code y: 293 line churn example/src/main/scala/com/example/Accounts.scala x: 11 lines of code y: 64 line churn example/src/main/scala/com/example/Main.scala x: 46 lines of code y: 174 line churn configTools/src/main/scala/com/gu/janus/JanusConfig.scala x: 39 lines of code y: 73 line churn configTools/src/main/scala/com/gu/janus/VerifyJanusData.scala x: 37 lines of code y: 81 line churn app/AppLoader.scala x: 10 lines of code y: 15 line churn app/logic/Favourites.scala x: 54 lines of code y: 112 line churn app/logic/PlayHelpers.scala x: 7 lines of code y: 28 line churn app/logic/Revocation.scala x: 11 lines of code y: 23 line churn configTools/src/main/scala/com/gu/janus/model/validation.scala x: 2 lines of code y: 13 line churn
4159.0
line churn
  min: 13.0
  average: 358.95
  25th percentile: 60.25
  median: 186.0
  75th percentile: 426.5
  max: 4159.0
0 816.0
lines of code
min: 2.0 | average: 87.29 | 25th percentile: 23.0 | median: 55.5 | 75th percentile: 109.25 | max: 816.0