File Size Overall
  • There are 35 files with 1,435 lines of code.
    • 0 very long files (0 lines of code)
    • 0 long files (0 lines of code)
    • 1 medium size files (221 lines of code)
    • 2 small files (227 lines of code)
    • 32 very small files (987 lines of code)
0% | 0% | 15% | 15% | 68%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
scala0% | 0% | 16% | 9% | 74%
yaml0% | 0% | 0% | 96% | 3%
html0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
pan-domain-auth-play0% | 0% | 59% | 0% | 40%
pan-domain-auth-verification0% | 0% | 0% | 25% | 74%
cognito0% | 0% | 0% | 100% | 0%
pan-domain-auth-core0% | 0% | 0% | 0% | 100%
pan-domain-auth-example0% | 0% | 0% | 0% | 100%
hmac0% | 0% | 0% | 0% | 100%
key-rotation0% | 0% | 0% | 0% | 100%
project0% | 0% | 0% | 0% | 100%
Longest Files (Top 35)
File# lines# units
Actions.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/action
221 14
CryptoConf.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
118 10
cognito.yaml
in cognito
109 -
OAuth.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
96 4
Settings.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
90 7
Google2FAGroupChecker.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/service
72 5
CryptoConfForRotation.scala
in key-rotation/src/main/scala
66 1
HmacAuthActions.scala
in hmac/play/play_2-9/src/main/scala/com/gu/pandahmac
54 4
CookieUtils.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
53 2
PanDomainAuthSettings.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/model
53 1
oAuthModel.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
52 3
di.scala
in pan-domain-auth-example/app
44 1
41 -
PanDomain.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
40 2
PanDomainAuthSettingsRefresher.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth
37 1
PublicSettings.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
31 1
VerifyExample.scala
in pan-domain-auth-example/app
30 1
AdminController.scala
in pan-domain-auth-example/app/controllers
27 -
CookiePayload.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
26 3
NonActiveKeyMonitoring.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal
22 1
Crypto.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
20 2
HMACSecrets.scala
in hmac/core/src/main/scala/com/gu/pandahmac
16 -
ExampleAuthActions.scala
in pan-domain-auth-example/app/controllers
16 1
HMACClient.scala
in hmac/core/src/main/scala/com/gu/pandahmac
14 1
S3BucketLoader.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
13 1
KeyHashId.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal
13 -
login.scala.html
in pan-domain-auth-example/app/views
11 -
FrequencyMap.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal
9 -
AuthenticationStatus.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model
9 -
AuthenticatedUser.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model
8 -
User.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model
8 -
HMACHeaderNames.scala
in hmac/core/src/main/scala/com/gu/pandahmac
6 -
dev-nginx.yaml
in pan-domain-auth-example
4 -
exceptions.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model
3 -
KeyPair.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
3 -
Large Files That Change Often (Top 4)
To change a file, an AI coding agent (or a person) has to read it: these files are read the most for the changes in the past year (lines × changes).
File# lines≈ tokens
to read
# changes
(1y)
≈ lines edited
per change
lines read per
line changed
41 under 1k 28 ~7 ~7
Actions.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/action
221 ~1.5k–5k 2 ~50 ~5
OAuth.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
96 ~500–1.5k 3 ~30 ~3
oAuthModel.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
52 ~300–1k 2 ~20 ~2

Tokens are lines × 7 to 14 (analysis.fileReadsForChanges). Lines edited per change are the file's lines added and deleted divided by its commits over the whole history. Agents read about 2,000 lines at a time: when a 17,000-line file was split into modules, the tokens an agent read for the same change fell by 83% (The Economic Benefit of Refactoring, 2026).

Files With Most Units (Top 21)
File# lines# units
Actions.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/action
221 14
CryptoConf.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
118 10
Settings.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
90 7
Google2FAGroupChecker.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/service
72 5
HmacAuthActions.scala
in hmac/play/play_2-9/src/main/scala/com/gu/pandahmac
54 4
OAuth.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
96 4
CookiePayload.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
26 3
oAuthModel.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
52 3
PanDomain.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
40 2
Crypto.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
20 2
CookieUtils.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
53 2
HMACClient.scala
in hmac/core/src/main/scala/com/gu/pandahmac
14 1
S3BucketLoader.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
13 1
NonActiveKeyMonitoring.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal
22 1
PublicSettings.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth
31 1
di.scala
in pan-domain-auth-example/app
44 1
VerifyExample.scala
in pan-domain-auth-example/app
30 1
ExampleAuthActions.scala
in pan-domain-auth-example/app/controllers
16 1
PanDomainAuthSettingsRefresher.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth
37 1
PanDomainAuthSettings.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/model
53 1
CryptoConfForRotation.scala
in key-rotation/src/main/scala
66 1
Files With Long Lines (Top 13)

There are 13 files with lines longer than 120 characters. In total, there are 30 long lines.

File# lines# units# long lines
CryptoConf.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
118 10 9
Actions.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/action
221 14 4
HmacAuthActions.scala
in hmac/play/play_2-9/src/main/scala/com/gu/pandahmac
54 4 3
Google2FAGroupChecker.scala
in pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/service
72 5 3
OAuth.scala
in pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service
96 4 2
CryptoConfForRotation.scala
in key-rotation/src/main/scala
66 1 2
HMACSecrets.scala
in hmac/core/src/main/scala/com/gu/pandahmac
16 - 1
NonActiveKeyMonitoring.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal
22 1 1
AuthenticatedUser.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model
8 - 1
User.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model
8 - 1
CookieUtils.scala
in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service
53 2 1
cognito.yaml
in cognito
109 - 1
VerifyExample.scala
in pan-domain-auth-example/app
30 1 1
Correlations

File Size vs. Commits (all time): 34 points

project/Dependencies.scala x: 132 commits (all time) y: 41 lines of code pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service/oAuthModel.scala x: 6 commits (all time) y: 52 lines of code pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/action/Actions.scala x: 65 commits (all time) y: 221 lines of code pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service/OAuth.scala x: 13 commits (all time) y: 96 lines of code pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/PanDomainAuthSettingsRefresher.scala x: 19 commits (all time) y: 37 lines of code pan-domain-auth-example/app/VerifyExample.scala x: 18 commits (all time) y: 30 lines of code pan-domain-auth-example/app/di.scala x: 19 commits (all time) y: 44 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/PublicSettings.scala x: 37 commits (all time) y: 31 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/S3BucketLoader.scala x: 4 commits (all time) y: 13 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/Settings.scala x: 17 commits (all time) y: 90 lines of code key-rotation/src/main/scala/CryptoConfForRotation.scala x: 2 commits (all time) y: 66 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/PanDomain.scala x: 34 commits (all time) y: 40 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/AuthenticatedUser.scala x: 8 commits (all time) y: 8 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CookieUtils.scala x: 28 commits (all time) y: 53 lines of code hmac/core/src/main/scala/com/gu/pandahmac/HMACClient.scala x: 3 commits (all time) y: 14 lines of code hmac/core/src/main/scala/com/gu/pandahmac/HMACHeaderNames.scala x: 2 commits (all time) y: 6 lines of code hmac/core/src/main/scala/com/gu/pandahmac/HMACSecrets.scala x: 2 commits (all time) y: 16 lines of code hmac/play/play_2-9/src/main/scala/com/gu/pandahmac/HmacAuthActions.scala x: 2 commits (all time) y: 54 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal/FrequencyMap.scala x: 2 commits (all time) y: 9 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal/KeyHashId.scala x: 2 commits (all time) y: 13 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal/NonActiveKeyMonitoring.scala x: 2 commits (all time) y: 22 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CryptoConf.scala x: 14 commits (all time) y: 118 lines of code pan-domain-auth-example/app/controllers/AdminController.scala x: 17 commits (all time) y: 27 lines of code pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/model/PanDomainAuthSettings.scala x: 36 commits (all time) y: 53 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/Crypto.scala x: 17 commits (all time) y: 20 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/KeyPair.scala x: 6 commits (all time) y: 3 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/AuthenticationStatus.scala x: 8 commits (all time) y: 9 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CookiePayload.scala x: 2 commits (all time) y: 26 lines of code pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/service/Google2FAGroupChecker.scala x: 23 commits (all time) y: 72 lines of code pan-domain-auth-example/dev-nginx.yaml x: 2 commits (all time) y: 4 lines of code pan-domain-auth-example/app/controllers/ExampleAuthActions.scala x: 25 commits (all time) y: 16 lines of code cognito/cognito.yaml x: 6 commits (all time) y: 109 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/User.scala x: 6 commits (all time) y: 8 lines of code
221.0
lines of code
  min: 3.0
  average: 41.88
  25th percentile: 12.0
  median: 28.5
  75th percentile: 53.25
  max: 221.0
0 132.0
commits (all time)
min: 2.0 | average: 17.21 | 25th percentile: 2.0 | median: 8.0 | 75th percentile: 20.0 | max: 132.0

File Size vs. Contributors (all time): 34 points

project/Dependencies.scala x: 31 contributors (all time) y: 41 lines of code pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service/oAuthModel.scala x: 2 contributors (all time) y: 52 lines of code pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/action/Actions.scala x: 15 contributors (all time) y: 221 lines of code pan-domain-auth-play/src/main/scala/com/gu/pandomainauth/service/OAuth.scala x: 4 contributors (all time) y: 96 lines of code pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/PanDomainAuthSettingsRefresher.scala x: 6 contributors (all time) y: 37 lines of code pan-domain-auth-example/app/VerifyExample.scala x: 8 contributors (all time) y: 30 lines of code pan-domain-auth-example/app/di.scala x: 8 contributors (all time) y: 44 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/PublicSettings.scala x: 15 contributors (all time) y: 31 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/S3BucketLoader.scala x: 3 contributors (all time) y: 13 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/Settings.scala x: 6 contributors (all time) y: 90 lines of code key-rotation/src/main/scala/CryptoConfForRotation.scala x: 1 contributors (all time) y: 66 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/PanDomain.scala x: 12 contributors (all time) y: 40 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/AuthenticatedUser.scala x: 5 contributors (all time) y: 8 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CookieUtils.scala x: 10 contributors (all time) y: 53 lines of code hmac/core/src/main/scala/com/gu/pandahmac/HMACClient.scala x: 1 contributors (all time) y: 14 lines of code hmac/core/src/main/scala/com/gu/pandahmac/HMACHeaderNames.scala x: 1 contributors (all time) y: 6 lines of code hmac/core/src/main/scala/com/gu/pandahmac/HMACSecrets.scala x: 1 contributors (all time) y: 16 lines of code hmac/play/play_2-9/src/main/scala/com/gu/pandahmac/HmacAuthActions.scala x: 1 contributors (all time) y: 54 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal/FrequencyMap.scala x: 1 contributors (all time) y: 9 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal/KeyHashId.scala x: 1 contributors (all time) y: 13 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/internal/NonActiveKeyMonitoring.scala x: 1 contributors (all time) y: 22 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CryptoConf.scala x: 2 contributors (all time) y: 118 lines of code pan-domain-auth-example/app/controllers/AdminController.scala x: 8 contributors (all time) y: 27 lines of code pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/model/PanDomainAuthSettings.scala x: 14 contributors (all time) y: 53 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/Crypto.scala x: 7 contributors (all time) y: 20 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/KeyPair.scala x: 1 contributors (all time) y: 3 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/AuthenticationStatus.scala x: 4 contributors (all time) y: 9 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CookiePayload.scala x: 1 contributors (all time) y: 26 lines of code pan-domain-auth-core/src/main/scala/com/gu/pandomainauth/service/Google2FAGroupChecker.scala x: 12 contributors (all time) y: 72 lines of code pan-domain-auth-example/dev-nginx.yaml x: 2 contributors (all time) y: 4 lines of code pan-domain-auth-example/app/controllers/ExampleAuthActions.scala x: 11 contributors (all time) y: 16 lines of code cognito/cognito.yaml x: 2 contributors (all time) y: 109 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/User.scala x: 3 contributors (all time) y: 8 lines of code pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/model/exceptions.scala x: 3 contributors (all time) y: 3 lines of code
221.0
lines of code
  min: 3.0
  average: 41.88
  25th percentile: 12.0
  median: 28.5
  75th percentile: 53.25
  max: 221.0
0 31.0
contributors (all time)
min: 1.0 | average: 5.97 | 25th percentile: 1.0 | median: 3.5 | 75th percentile: 8.5 | max: 31.0

File Size vs. Commits (30 days): 1 points

project/Dependencies.scala x: 4 commits (30d) y: 41 lines of code
41.0
lines of code
  min: 41.0
  average: 41.0
  25th percentile: 41.0
  median: 41.0
  75th percentile: 41.0
  max: 41.0
0 4.0
commits (30d)
min: 4.0 | average: 4.0 | 25th percentile: 4.0 | median: 4.0 | 75th percentile: 4.0 | max: 4.0

File Size vs. Contributors (30 days): 1 points

project/Dependencies.scala x: 1 contributors (30d) y: 41 lines of code
41.0
lines of code
  min: 41.0
  average: 41.0
  25th percentile: 41.0
  median: 41.0
  75th percentile: 41.0
  max: 41.0
0 1.0
contributors (30d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Commits (90 days): 1 points

project/Dependencies.scala x: 8 commits (90d) y: 41 lines of code
41.0
lines of code
  min: 41.0
  average: 41.0
  25th percentile: 41.0
  median: 41.0
  75th percentile: 41.0
  max: 41.0
0 8.0
commits (90d)
min: 8.0 | average: 8.0 | 25th percentile: 8.0 | median: 8.0 | 75th percentile: 8.0 | max: 8.0

File Size vs. Contributors (90 days): 1 points

project/Dependencies.scala x: 2 contributors (90d) y: 41 lines of code
41.0
lines of code
  min: 41.0
  average: 41.0
  25th percentile: 41.0
  median: 41.0
  75th percentile: 41.0
  max: 41.0
0 2.0
contributors (90d)
min: 2.0 | average: 2.0 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 2.0
About This Analysis
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...