File Size Overall
  • There are 168 files with 12,419 lines of code.
    • 0 very long files (0 lines of code)
    • 3 long files (1,731 lines of code)
    • 13 medium size files (3,997 lines of code)
    • 16 small files (2,260 lines of code)
    • 136 very small files (4,431 lines of code)
0% | 13% | 32% | 18% | 35%
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% | 19% | 15% | 26% | 37%
xml0% | 82% | 0% | 0% | 17%
tsx0% | 0% | 60% | 11% | 28%
ts0% | 0% | 41% | 19% | 38%
less0% | 0% | 100% | 0% | 0%
sql0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 100%
java0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
scss0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
apps0% | 10% | 33% | 20% | 36%
script0% | 71% | 0% | 0% | 28%
cdk0% | 0% | 100% | 0% | 0%
ROOT0% | 0% | 0% | 0% | 100%
project0% | 0% | 0% | 0% | 100%
nginx0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
DbRuleDraft.scala
in apps/rule-manager/app/db
610 21
example-rules-new.xml
in script/js/fixtures
604 -
RuleManager.scala
in apps/rule-manager/app/service
517 16
TagsTable.tsx
in apps/rule-manager/client/src/ts/components
408 -
PaginatedRulesTable.tsx
in apps/rule-manager/client/src/ts/components/table
407 4
main.less
in apps/checker/app/assets/stylesheets
351 -
Diff.tsx
in apps/rule-manager/client/src/ts/components
342 -
RuleForm.tsx
in apps/rule-manager/client/src/ts/components
317 -
useRule.ts
in apps/rule-manager/client/src/ts/components/hooks
308 1
DbRuleLive.scala
in apps/rule-manager/app/db
305 12
RulesController.scala
in apps/rule-manager/app/controllers
298 16
MatcherPool.scala
in apps/checker/app/services
297 19
index.ts
in cdk/lib
284 1
Rules.tsx
in apps/rule-manager/client/src/ts/components/pages
260 -
RuleContent.tsx
in apps/rule-manager/client/src/ts/components
212 -
TestRule.tsx
in apps/rule-manager/client/src/ts/components/pages
208 -
CheckerRule.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
180 6
LanguageToolMatcher.scala
in apps/checker/app/matchers
177 9
DictionaryBuilder.scala
in apps/checker/app/services/collins
177 6
tags.tsx
in apps/rule-manager/client/src/ts/components/context
161 -
Tags.scala
in apps/rule-manager/app/db
155 14
SheetsRuleResource.scala
in apps/rule-manager/app/service
149 6
TyperighterChunkedAdapter.ts
in apps/rule-manager/client/src/ts/utils
145 -
RuleTesting.scala
in apps/rule-manager/app/service
143 2
useRules.ts
in apps/rule-manager/client/src/ts/components/hooks
138 1
RuleFormBatchEdit.tsx
in apps/rule-manager/client/src/ts/components
133 -
RuleTagLive.scala
in apps/rule-manager/app/db
132 10
Page.tsx
in apps/rule-manager/client/src/ts/components/layout
121 -
AppComponents.scala
in apps/checker/app
121 -
BucketRuleResource.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/rules
116 4
RuleTagDraft.scala
in apps/rule-manager/app/db
107 10
CheckerRuleForm.scala
in apps/rule-manager/app/model
105 4
dump-db.ts
in script/js
97 2
Dictionary.scala
in apps/rule-manager/app/utils
95 7
RuleHistory.tsx
in apps/rule-manager/client/src/ts/components
93 -
MatcherProvisionerService.scala
in apps/checker/app/services
91 6
featureSwitches.tsx
in apps/rule-manager/client/src/ts/components/context
90 1
useBatchRules.ts
in apps/rule-manager/client/src/ts/components/hooks
90 1
TagsController.scala
in apps/rule-manager/app/controllers
89 3
index.ts
in apps/rule-manager/client/src/ts/components/icons
84 -
AppComponents.scala
in apps/rule-manager/app
82 -
DictionaryMatcher.scala
in apps/checker/app/matchers
81 3
ApiController.scala
in apps/checker/app/controllers
78 4
example-rules-old.xml
in script/js/fixtures
75 -
SpellDictionaryBuilder.scala
in apps/checker/app/services/collins
75 3
RuleMatch.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
75 3
RuleStatus.tsx
in apps/rule-manager/client/src/ts/components
73 -
CommonConfig.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/lib
73 -
CategorySelector.tsx
in apps/rule-manager/client/src/ts/components
72 -
Header.tsx
in apps/rule-manager/client/src/ts/components/layout
70 -
Large Files That Change Often (Top 20)
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
index.ts
in cdk/lib
284 ~1.5k–5k 13 ~20 ~15
DbRuleDraft.scala
in apps/rule-manager/app/db
610 ~3k–10k 4 ~30 ~15
RuleManager.scala
in apps/rule-manager/app/service
517 ~3k–10k 2 ~20 ~20
PaginatedRulesTable.tsx
in apps/rule-manager/client/src/ts/components/table
407 ~2k–7k 2 ~50 ~10
LanguageToolMatcher.scala
in apps/checker/app/matchers
177 ~1k–3k 4 ~30 ~7
DbRuleLive.scala
in apps/rule-manager/app/db
305 ~2k–5k 2 ~30 ~10
Page.tsx
in apps/rule-manager/client/src/ts/components/layout
121 ~700–2k 4 ~20 ~5
BucketRuleResource.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/rules
116 ~700–2k 3 ~20 ~5
AppComponents.scala
in apps/checker/app
121 ~700–2k 2 ~10 ~10
HomeController.scala
in apps/rule-manager/app/controllers
58 ~300–1k 4 ~7 ~7
AppComponents.scala
in apps/rule-manager/app
82 ~500–1.5k 2 ~15 ~5
HomeController.scala
in apps/checker/app/controllers
39 under 1k 4 ~10 ~5
CommonConfig.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/lib
73 ~500–1.5k 2 ~10 ~5
DictionaryResource.scala
in apps/rule-manager/app/service
67 ~300–1k 2 ~70 ~1
AppSetup.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/lib
42 under 1k 3 ~20 ~2
30 under 1k 4 ~7 ~5
main.scala.html
in apps/checker/app/views
35 under 1k 3 ~15 ~3
dump-db.ts
in script/js
97 ~500–1.5k 1 ~100 ~1
CloudWatchClient.scala
in apps/checker/app/utils
44 under 1k 2 ~20 ~2
rules.scala.html
in apps/checker/app/views
41 under 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 50)
File# lines# units
DbRuleDraft.scala
in apps/rule-manager/app/db
610 21
MatcherPool.scala
in apps/checker/app/services
297 19
RuleManager.scala
in apps/rule-manager/app/service
517 16
RulesController.scala
in apps/rule-manager/app/controllers
298 16
Tags.scala
in apps/rule-manager/app/db
155 14
DbRuleLive.scala
in apps/rule-manager/app/db
305 12
RuleTagDraft.scala
in apps/rule-manager/app/db
107 10
RuleTagLive.scala
in apps/rule-manager/app/db
132 10
LanguageToolMatcher.scala
in apps/checker/app/matchers
177 9
Dictionary.scala
in apps/rule-manager/app/utils
95 7
SheetsRuleResource.scala
in apps/rule-manager/app/service
149 6
MatcherProvisionerService.scala
in apps/checker/app/services
91 6
DictionaryBuilder.scala
in apps/checker/app/services/collins
177 6
CheckerRule.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
180 6
CheckerRuleForm.scala
in apps/rule-manager/app/model
105 4
PaginatedRulesTable.tsx
in apps/rule-manager/client/src/ts/components/table
407 4
RegexMatcher.scala
in apps/checker/app/matchers
53 4
ApiController.scala
in apps/checker/app/controllers
78 4
MorfologikCollinsSpellerRule.java
in apps/checker/app/services/collins
32 4
BucketRuleResource.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/rules
116 4
TagsController.scala
in apps/rule-manager/app/controllers
89 3
HomeController.scala
in apps/rule-manager/app/controllers
58 3
Timer.scala
in apps/checker/app/utils
59 3
DictionaryMatcher.scala
in apps/checker/app/matchers
81 3
CapiProxyController.scala
in apps/checker/app/controllers
35 3
CollinsEnglish.java
in apps/checker/app/services/collins
29 3
SpellDictionaryBuilder.scala
in apps/checker/app/services/collins
75 3
RuleMatch.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
75 3
TextRange.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
40 3
ContentClient.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/lib
32 3
dump-db.ts
in script/js
97 2
Permissions.scala
in apps/rule-manager/app/utils
53 2
DictionaryResource.scala
in apps/rule-manager/app/service
67 2
RuleTesting.scala
in apps/rule-manager/app/service
143 2
HomeController.scala
in apps/checker/app/controllers
39 2
SentenceHelpers.scala
in apps/checker/app/services
52 2
TextBlock.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
67 2
Category.scala
in apps/common-lib/src/main/scala/com/gu/typerighter/model
14 2
index.ts
in cdk/lib
284 1
15 1
FormHelpers.scala
in apps/rule-manager/app/utils
18 1
StringHelpers.scala
in apps/rule-manager/app/utils
9 1
DB.scala
in apps/rule-manager/app/db
17 1
AppLoader.scala
in apps/rule-manager/app
19 1
vite.config.ts
in apps/rule-manager/client
46 1
featureSwitches.tsx
in apps/rule-manager/client/src/ts/components/context
90 1
useRule.ts
in apps/rule-manager/client/src/ts/components/hooks
308 1
useBatchRules.ts
in apps/rule-manager/client/src/ts/components/hooks
90 1
useRules.ts
in apps/rule-manager/client/src/ts/components/hooks
138 1
RuleDataLastUpdated.tsx
in apps/rule-manager/client/src/ts/components
37 1
Files With Long Lines (Top 25)

There are 25 files with lines longer than 120 characters. In total, there are 80 long lines.

File# lines# units# long lines
example-rules-new.xml
in script/js/fixtures
604 - 38
example-rules-old.xml
in script/js/fixtures
75 - 8
main.less
in apps/checker/app/assets/stylesheets
351 - 3
CollinsEnglish.java
in apps/checker/app/services/collins
29 3 3
index.ts
in cdk/lib
284 1 2
69 - 2
Logo.tsx
in apps/rule-manager/client/src/ts/components/layout
20 - 2
PaginatedRulesTable.tsx
in apps/rule-manager/client/src/ts/components/table
407 4 2
LanguageToolMatcher.scala
in apps/checker/app/matchers
177 9 2
main.scala.html
in apps/checker/app/views
35 - 2
MorfologikCollinsSpellerRule.java
in apps/checker/app/services/collins
32 4 2
CreateRuleForm.scala
in apps/rule-manager/app/model
54 - 1
UpdateRuleForm.scala
in apps/rule-manager/app/model
49 - 1
RuleManager.scala
in apps/rule-manager/app/service
517 16 1
13.sql
in apps/rule-manager/conf/evolutions/default
10 - 1
11.sql
in apps/rule-manager/conf/evolutions/default
26 - 1
TagsTable.tsx
in apps/rule-manager/client/src/ts/components
408 - 1
search.tsx
in apps/rule-manager/client/src/ts/components/icons
24 - 1
downChevron.tsx
in apps/rule-manager/client/src/ts/components/icons
16 - 1
Rules.tsx
in apps/rule-manager/client/src/ts/components/pages
260 - 1
RuleForm.tsx
in apps/rule-manager/client/src/ts/components
317 - 1
RuleFormBatchEdit.tsx
in apps/rule-manager/client/src/ts/components
133 - 1
DictionaryMatcher.scala
in apps/checker/app/matchers
81 3 1
rules.scala.html
in apps/checker/app/views
41 - 1
DictionaryBuilder.scala
in apps/checker/app/services/collins
177 6 1
Correlations

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

apps/rule-manager/app/db/DbRuleDraft.scala x: 104 commits (all time) y: 610 lines of code apps/rule-manager/app/service/RuleManager.scala x: 100 commits (all time) y: 517 lines of code project/ViteBuildHook.scala x: 6 commits (all time) y: 15 lines of code cdk/lib/index.ts x: 79 commits (all time) y: 284 lines of code apps/rule-manager/client/src/ts/components/table/PaginatedRulesTable.tsx x: 26 commits (all time) y: 407 lines of code apps/checker/app/controllers/HomeController.scala x: 36 commits (all time) y: 39 lines of code apps/checker/app/controllers/RulesController.scala x: 36 commits (all time) y: 26 lines of code apps/checker/app/views/index.scala.html x: 4 commits (all time) y: 4 lines of code apps/checker/app/views/main.scala.html x: 7 commits (all time) y: 35 lines of code apps/checker/app/views/rules.scala.html x: 22 commits (all time) y: 41 lines of code apps/rule-manager/app/controllers/HomeController.scala x: 51 commits (all time) y: 58 lines of code apps/rule-manager/app/views/index.scala.html x: 18 commits (all time) y: 33 lines of code apps/rule-manager/client/src/ts/components/layout/Page.tsx x: 50 commits (all time) y: 121 lines of code apps/checker/app/matchers/LanguageToolMatcher.scala x: 31 commits (all time) y: 177 lines of code apps/checker/app/services/collins/CollinsEnglish.java x: 4 commits (all time) y: 29 lines of code apps/rule-manager/app/db/DbRuleLive.scala x: 47 commits (all time) y: 305 lines of code riff-raff.yaml x: 39 commits (all time) y: 30 lines of code apps/checker/app/AppComponents.scala x: 86 commits (all time) y: 121 lines of code apps/checker/app/AppLoader.scala x: 18 commits (all time) y: 19 lines of code apps/checker/app/utils/CheckerConfig.scala x: 27 commits (all time) y: 22 lines of code apps/checker/app/utils/CloudWatchClient.scala x: 10 commits (all time) y: 44 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/controllers/PandaAuthController.scala x: 13 commits (all time) y: 30 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/AppSetup.scala x: 10 commits (all time) y: 42 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/CommonConfig.scala x: 47 commits (all time) y: 73 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/rules/BucketRuleResource.scala x: 36 commits (all time) y: 116 lines of code apps/rule-manager/app/AppComponents.scala x: 78 commits (all time) y: 82 lines of code apps/rule-manager/app/service/DictionaryResource.scala x: 8 commits (all time) y: 67 lines of code apps/rule-manager/app/utils/LocalStack.scala x: 4 commits (all time) y: 20 lines of code apps/rule-manager/app/utils/RuleManagerConfig.scala x: 25 commits (all time) y: 21 lines of code script/js/dump-db.ts x: 3 commits (all time) y: 97 lines of code apps/rule-manager/client/src/ts/components/hooks/useRules.ts x: 47 commits (all time) y: 138 lines of code apps/rule-manager/client/src/ts/components/pages/Rules.tsx x: 46 commits (all time) y: 260 lines of code apps/rule-manager/conf/evolutions/default/17.sql x: 8 commits (all time) y: 12 lines of code apps/rule-manager/client/vite.config.ts x: 14 commits (all time) y: 46 lines of code script/js/compare-rule-xml.js x: 5 commits (all time) y: 69 lines of code apps/rule-manager/app/model/CreateRuleForm.scala x: 20 commits (all time) y: 54 lines of code apps/rule-manager/app/model/UpdateRuleForm.scala x: 32 commits (all time) y: 49 lines of code apps/rule-manager/app/utils/StringHelpers.scala x: 2 commits (all time) y: 9 lines of code apps/rule-manager/client/src/ts/components/RuleContent.tsx x: 63 commits (all time) y: 212 lines of code apps/rule-manager/client/src/ts/components/hooks/useRule.ts x: 73 commits (all time) y: 308 lines of code apps/rule-manager/conf/evolutions/default/16.sql x: 2 commits (all time) y: 2 lines of code apps/rule-manager/app/controllers/RulesController.scala x: 173 commits (all time) y: 298 lines of code apps/checker/app/matchers/DictionaryMatcher.scala x: 37 commits (all time) y: 81 lines of code apps/checker/app/services/EntityHelper.scala x: 17 commits (all time) y: 63 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/ContentClient.scala x: 12 commits (all time) y: 32 lines of code apps/rule-manager/app/service/RuleTesting.scala x: 37 commits (all time) y: 143 lines of code apps/rule-manager/client/src/ts/components/RuleForm.tsx x: 118 commits (all time) y: 317 lines of code apps/rule-manager/client/src/ts/components/RuleFormSection.tsx x: 17 commits (all time) y: 33 lines of code apps/rule-manager/client/src/ts/components/form/SectionHeader.tsx x: 4 commits (all time) y: 5 lines of code apps/rule-manager/client/src/ts/components/icons/index.ts x: 45 commits (all time) y: 84 lines of code apps/rule-manager/client/src/ts/components/pages/Rule.tsx x: 10 commits (all time) y: 33 lines of code apps/rule-manager/client/src/ts/components/pages/TestRule.tsx x: 8 commits (all time) y: 208 lines of code apps/rule-manager/client/src/ts/utils/TyperighterChunkedAdapter.ts x: 5 commits (all time) y: 145 lines of code apps/rule-manager/client/src/ts/utils/jsonSeq.ts x: 3 commits (all time) y: 39 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/JsonHelpers.scala x: 9 commits (all time) y: 16 lines of code apps/checker/app/services/MatcherProvisionerService.scala x: 29 commits (all time) y: 91 lines of code apps/checker/app/services/MatcherPool.scala x: 50 commits (all time) y: 297 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/CheckerRule.scala x: 16 commits (all time) y: 180 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/RuleMatch.scala x: 20 commits (all time) y: 75 lines of code apps/rule-manager/client/src/ts/components/CategorySelector.tsx x: 39 commits (all time) y: 72 lines of code apps/rule-manager/client/src/ts/components/RuleFormBatchEdit.tsx x: 15 commits (all time) y: 133 lines of code apps/rule-manager/client/src/ts/constants/constants.ts x: 20 commits (all time) y: 52 lines of code apps/checker/app/services/SentenceHelpers.scala x: 31 commits (all time) y: 52 lines of code apps/rule-manager/app/utils/Dictionary.scala x: 4 commits (all time) y: 95 lines of code apps/rule-manager/client/src/ts/components/layout/Breadcrumbs.tsx x: 6 commits (all time) y: 14 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Category.scala x: 12 commits (all time) y: 14 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/fixtures/RuleMatchFixtures.scala x: 10 commits (all time) y: 20 lines of code apps/rule-manager/client/src/ts/components/Diff.tsx x: 21 commits (all time) y: 342 lines of code apps/rule-manager/client/src/ts/components/TagsSelector.tsx x: 32 commits (all time) y: 41 lines of code apps/rule-manager/client/src/ts/components/TagsTable.tsx x: 37 commits (all time) y: 408 lines of code apps/rule-manager/client/src/ts/components/context/tags.tsx x: 3 commits (all time) y: 161 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/TaggedWordlist.scala x: 2 commits (all time) y: 14 lines of code apps/rule-manager/client/src/ts/components/PageNotFound.tsx x: 14 commits (all time) y: 60 lines of code apps/rule-manager/client/src/ts/components/layout/FullHeightContentWithFixedHeader.tsx x: 2 commits (all time) y: 28 lines of code apps/rule-manager/client/src/ts/components/layout/Header.tsx x: 32 commits (all time) y: 70 lines of code apps/rule-manager/client/src/ts/index.tsx x: 24 commits (all time) y: 11 lines of code apps/rule-manager/app/model/PaginatedResponse.scala x: 3 commits (all time) y: 13 lines of code apps/rule-manager/client/src/css/theme.scss x: 7 commits (all time) y: 8 lines of code apps/rule-manager/client/src/ts/components/RuleStatus.tsx x: 25 commits (all time) y: 73 lines of code apps/rule-manager/client/src/ts/components/rule/ConciseRuleStatus.tsx x: 2 commits (all time) y: 39 lines of code apps/rule-manager/conf/evolutions/default/14.sql x: 3 commits (all time) y: 10 lines of code apps/checker/app/model/Check.scala x: 27 commits (all time) y: 42 lines of code apps/checker/app/services/collins/MorfologikCollinsSpellerRule.java x: 5 commits (all time) y: 32 lines of code apps/rule-manager/client/src/ts/components/context/featureSwitches.tsx x: 28 commits (all time) y: 90 lines of code apps/checker/app/services/collins/DictionaryBuilder.scala x: 2 commits (all time) y: 177 lines of code apps/checker/app/services/collins/SpellDictionaryBuilder.scala x: 2 commits (all time) y: 75 lines of code apps/rule-manager/client/src/ts/components/modals/Reason.tsx x: 14 commits (all time) y: 64 lines of code apps/rule-manager/client/src/ts/components/modals/Revert.tsx x: 4 commits (all time) y: 58 lines of code apps/checker/app/controllers/CapiProxyController.scala x: 30 commits (all time) y: 35 lines of code apps/checker/app/model/MatcherError.scala x: 5 commits (all time) y: 14 lines of code apps/checker/app/model/MatcherResponse.scala x: 14 commits (all time) y: 20 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/SafeXMLParser.scala x: 4 commits (all time) y: 16 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Document.scala x: 11 commits (all time) y: 17 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Suggestion.scala x: 18 commits (all time) y: 31 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/TextBlock.scala x: 18 commits (all time) y: 67 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/TextRange.scala x: 12 commits (all time) y: 40 lines of code apps/rule-manager/app/db/RuleTagLive.scala x: 19 commits (all time) y: 132 lines of code apps/rule-manager/app/model/CheckerRuleForm.scala x: 9 commits (all time) y: 105 lines of code apps/rule-manager/client/src/ts/components/helpers/errors.ts x: 4 commits (all time) y: 14 lines of code apps/rule-manager/conf/evolutions/default/13.sql x: 5 commits (all time) y: 10 lines of code apps/rule-manager/app/db/RuleTagDraft.scala x: 21 commits (all time) y: 107 lines of code apps/checker/app/controllers/ApiController.scala x: 35 commits (all time) y: 78 lines of code apps/checker/app/matchers/RegexMatcher.scala x: 19 commits (all time) y: 53 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/HMACClient.scala x: 3 commits (all time) y: 15 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/CheckSingleRule.scala x: 3 commits (all time) y: 29 lines of code apps/rule-manager/app/controllers/TagsController.scala x: 27 commits (all time) y: 89 lines of code apps/rule-manager/client/src/css/reset.css x: 11 commits (all time) y: 32 lines of code apps/rule-manager/client/src/css/typography.css x: 6 commits (all time) y: 35 lines of code apps/rule-manager/client/src/ts/components/FeatureSwitches.tsx x: 6 commits (all time) y: 40 lines of code apps/rule-manager/client/src/ts/components/Label.tsx x: 7 commits (all time) y: 17 lines of code apps/rule-manager/client/src/ts/components/LineBreak.tsx x: 7 commits (all time) y: 10 lines of code apps/rule-manager/client/src/ts/components/RuleDataLastUpdated.tsx x: 6 commits (all time) y: 37 lines of code apps/rule-manager/client/src/ts/components/RuleHistory.tsx x: 12 commits (all time) y: 93 lines of code apps/rule-manager/client/src/ts/components/helpers/hasCreateEditPermissions.ts x: 5 commits (all time) y: 6 lines of code apps/rule-manager/client/src/ts/components/hooks/useBatchRules.ts x: 15 commits (all time) y: 90 lines of code apps/rule-manager/client/src/ts/components/hooks/useDebounce.ts x: 5 commits (all time) y: 9 lines of code apps/rule-manager/client/src/ts/components/hooks/usePeriodicRefresh.ts x: 6 commits (all time) y: 10 lines of code apps/rule-manager/client/src/ts/components/icons/search.tsx x: 8 commits (all time) y: 24 lines of code apps/rule-manager/client/src/ts/components/layout/Logo.tsx x: 6 commits (all time) y: 20 lines of code apps/rule-manager/client/src/ts/utils/api.ts x: 11 commits (all time) y: 42 lines of code apps/rule-manager/client/src/ts/utils/date.ts x: 6 commits (all time) y: 2 lines of code apps/rule-manager/client/src/ts/utils/error.ts x: 8 commits (all time) y: 6 lines of code apps/rule-manager/client/src/ts/utils/rule.ts x: 15 commits (all time) y: 31 lines of code apps/rule-manager/client/src/ts/utils/window.tsx x: 9 commits (all time) y: 24 lines of code apps/rule-manager/app/db/Tags.scala x: 20 commits (all time) y: 155 lines of code apps/rule-manager/app/db/DbRule.scala x: 57 commits (all time) y: 40 lines of code apps/rule-manager/app/service/SheetsRuleResource.scala x: 12 commits (all time) y: 149 lines of code apps/rule-manager/conf/evolutions/default/12.sql x: 6 commits (all time) y: 8 lines of code apps/rule-manager/conf/evolutions/default/11.sql x: 7 commits (all time) y: 26 lines of code apps/rule-manager/conf/evolutions/default/10.sql x: 3 commits (all time) y: 2 lines of code apps/rule-manager/app/utils/Errors.scala x: 3 commits (all time) y: 3 lines of code apps/rule-manager/conf/evolutions/default/8.sql x: 7 commits (all time) y: 5 lines of code apps/rule-manager/app/utils/FormHelpers.scala x: 3 commits (all time) y: 18 lines of code apps/rule-manager/app/utils/Permissions.scala x: 12 commits (all time) y: 53 lines of code apps/rule-manager/conf/evolutions/default/5.sql x: 9 commits (all time) y: 12 lines of code apps/rule-manager/conf/evolutions/default/6.sql x: 3 commits (all time) y: 23 lines of code apps/checker/app/utils/Matcher.scala x: 10 commits (all time) y: 17 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/CheckerRuleResource.scala x: 2 commits (all time) y: 7 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/PatternToken.scala x: 13 commits (all time) y: 27 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Text.scala x: 12 commits (all time) y: 12 lines of code apps/rule-manager/app/AppLoader.scala x: 22 commits (all time) y: 19 lines of code apps/checker/conf/logback.xml x: 4 commits (all time) y: 28 lines of code apps/rule-manager/conf/evolutions/default/1.sql x: 8 commits (all time) y: 15 lines of code apps/checker/app/utils/RuleMatchHelpers.scala x: 11 commits (all time) y: 14 lines of code apps/checker/app/utils/Timer.scala x: 9 commits (all time) y: 59 lines of code nginx/nginx-mapping.yml x: 9 commits (all time) y: 9 lines of code script/js/fixtures/example-rules-new.xml x: 2 commits (all time) y: 604 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/Loggable.scala x: 3 commits (all time) y: 5 lines of code apps/checker/app/assets/stylesheets/main.less x: 2 commits (all time) y: 351 lines of code
610.0
lines of code
  min: 2.0
  average: 73.92
  25th percentile: 14.0
  median: 33.0
  75th percentile: 80.25
  max: 610.0
0 173.0
commits (all time)
min: 2.0 | average: 18.59 | 25th percentile: 5.0 | median: 10.0 | 75th percentile: 23.5 | max: 173.0

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

apps/rule-manager/app/db/DbRuleDraft.scala x: 14 contributors (all time) y: 610 lines of code apps/rule-manager/app/service/RuleManager.scala x: 11 contributors (all time) y: 517 lines of code project/ViteBuildHook.scala x: 5 contributors (all time) y: 15 lines of code cdk/lib/index.ts x: 19 contributors (all time) y: 284 lines of code apps/rule-manager/client/src/ts/components/table/PaginatedRulesTable.tsx x: 4 contributors (all time) y: 407 lines of code apps/checker/app/controllers/HomeController.scala x: 13 contributors (all time) y: 39 lines of code apps/checker/app/controllers/RulesController.scala x: 8 contributors (all time) y: 26 lines of code apps/checker/app/views/index.scala.html x: 3 contributors (all time) y: 4 lines of code apps/checker/app/views/main.scala.html x: 3 contributors (all time) y: 35 lines of code apps/checker/app/views/rules.scala.html x: 9 contributors (all time) y: 41 lines of code apps/rule-manager/app/controllers/HomeController.scala x: 14 contributors (all time) y: 58 lines of code apps/rule-manager/app/views/index.scala.html x: 5 contributors (all time) y: 33 lines of code apps/rule-manager/client/src/ts/components/layout/Page.tsx x: 7 contributors (all time) y: 121 lines of code apps/checker/app/matchers/LanguageToolMatcher.scala x: 10 contributors (all time) y: 177 lines of code apps/checker/app/services/collins/CollinsEnglish.java x: 4 contributors (all time) y: 29 lines of code apps/rule-manager/app/db/DbRuleLive.scala x: 9 contributors (all time) y: 305 lines of code riff-raff.yaml x: 12 contributors (all time) y: 30 lines of code apps/checker/app/AppComponents.scala x: 15 contributors (all time) y: 121 lines of code apps/checker/app/AppLoader.scala x: 7 contributors (all time) y: 19 lines of code apps/checker/app/utils/CheckerConfig.scala x: 11 contributors (all time) y: 22 lines of code apps/checker/app/utils/CloudWatchClient.scala x: 7 contributors (all time) y: 44 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/AppSetup.scala x: 6 contributors (all time) y: 42 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/CommonConfig.scala x: 12 contributors (all time) y: 73 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/rules/BucketRuleResource.scala x: 6 contributors (all time) y: 116 lines of code apps/rule-manager/app/AppComponents.scala x: 15 contributors (all time) y: 82 lines of code apps/rule-manager/app/service/DictionaryResource.scala x: 5 contributors (all time) y: 67 lines of code apps/rule-manager/app/utils/LocalStack.scala x: 3 contributors (all time) y: 20 lines of code apps/rule-manager/app/utils/RuleManagerConfig.scala x: 8 contributors (all time) y: 21 lines of code script/js/dump-db.ts x: 1 contributors (all time) y: 97 lines of code apps/rule-manager/client/src/ts/components/hooks/useRules.ts x: 8 contributors (all time) y: 138 lines of code apps/rule-manager/client/src/ts/components/pages/Rules.tsx x: 6 contributors (all time) y: 260 lines of code apps/rule-manager/conf/evolutions/default/17.sql x: 1 contributors (all time) y: 12 lines of code apps/rule-manager/client/vite.config.ts x: 4 contributors (all time) y: 46 lines of code script/js/compare-rule-xml.js x: 2 contributors (all time) y: 69 lines of code apps/rule-manager/app/model/CreateRuleForm.scala x: 7 contributors (all time) y: 54 lines of code apps/rule-manager/app/model/UpdateRuleForm.scala x: 9 contributors (all time) y: 49 lines of code apps/rule-manager/app/utils/StringHelpers.scala x: 1 contributors (all time) y: 9 lines of code apps/rule-manager/client/src/ts/components/RuleContent.tsx x: 10 contributors (all time) y: 212 lines of code apps/rule-manager/client/src/ts/components/hooks/useRule.ts x: 10 contributors (all time) y: 308 lines of code apps/rule-manager/conf/evolutions/default/16.sql x: 1 contributors (all time) y: 2 lines of code apps/rule-manager/app/controllers/RulesController.scala x: 15 contributors (all time) y: 298 lines of code apps/checker/app/matchers/DictionaryMatcher.scala x: 5 contributors (all time) y: 81 lines of code apps/checker/app/services/EntityHelper.scala x: 4 contributors (all time) y: 63 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/ContentClient.scala x: 6 contributors (all time) y: 32 lines of code apps/rule-manager/app/service/RuleTesting.scala x: 6 contributors (all time) y: 143 lines of code apps/rule-manager/client/src/ts/components/RuleForm.tsx x: 12 contributors (all time) y: 317 lines of code apps/rule-manager/client/src/ts/components/RuleFormSection.tsx x: 8 contributors (all time) y: 33 lines of code apps/rule-manager/client/src/ts/components/form/SectionHeader.tsx x: 2 contributors (all time) y: 5 lines of code apps/rule-manager/client/src/ts/components/icons/index.ts x: 9 contributors (all time) y: 84 lines of code apps/rule-manager/client/src/ts/components/pages/Rule.tsx x: 4 contributors (all time) y: 33 lines of code apps/rule-manager/client/src/ts/components/pages/TestRule.tsx x: 2 contributors (all time) y: 208 lines of code apps/rule-manager/client/src/ts/utils/TyperighterChunkedAdapter.ts x: 2 contributors (all time) y: 145 lines of code apps/rule-manager/client/src/ts/utils/jsonSeq.ts x: 2 contributors (all time) y: 39 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/JsonHelpers.scala x: 3 contributors (all time) y: 16 lines of code apps/checker/app/services/MatcherProvisionerService.scala x: 6 contributors (all time) y: 91 lines of code apps/checker/app/services/MatcherPool.scala x: 10 contributors (all time) y: 297 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/CheckerRule.scala x: 5 contributors (all time) y: 180 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/RuleMatch.scala x: 8 contributors (all time) y: 75 lines of code apps/rule-manager/client/src/ts/components/CategorySelector.tsx x: 10 contributors (all time) y: 72 lines of code apps/rule-manager/client/src/ts/components/RuleFormBatchEdit.tsx x: 6 contributors (all time) y: 133 lines of code apps/rule-manager/client/src/ts/constants/constants.ts x: 7 contributors (all time) y: 52 lines of code apps/rule-manager/app/utils/Dictionary.scala x: 3 contributors (all time) y: 95 lines of code apps/rule-manager/client/src/ts/components/layout/Breadcrumbs.tsx x: 3 contributors (all time) y: 14 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Category.scala x: 6 contributors (all time) y: 14 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/fixtures/RuleMatchFixtures.scala x: 6 contributors (all time) y: 20 lines of code apps/rule-manager/client/src/ts/components/Diff.tsx x: 6 contributors (all time) y: 342 lines of code apps/rule-manager/client/src/ts/components/TagsSelector.tsx x: 8 contributors (all time) y: 41 lines of code apps/rule-manager/client/src/ts/components/TagsTable.tsx x: 5 contributors (all time) y: 408 lines of code apps/rule-manager/client/src/ts/components/context/tags.tsx x: 1 contributors (all time) y: 161 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/TaggedWordlist.scala x: 2 contributors (all time) y: 14 lines of code apps/rule-manager/client/src/ts/components/PageNotFound.tsx x: 5 contributors (all time) y: 60 lines of code apps/rule-manager/client/src/ts/components/layout/FullHeightContentWithFixedHeader.tsx x: 1 contributors (all time) y: 28 lines of code apps/rule-manager/client/src/ts/components/layout/Header.tsx x: 6 contributors (all time) y: 70 lines of code apps/rule-manager/client/src/ts/index.tsx x: 7 contributors (all time) y: 11 lines of code apps/rule-manager/app/model/PaginatedResponse.scala x: 1 contributors (all time) y: 13 lines of code apps/rule-manager/client/src/css/theme.scss x: 4 contributors (all time) y: 8 lines of code apps/rule-manager/client/src/ts/components/RuleStatus.tsx x: 7 contributors (all time) y: 73 lines of code apps/rule-manager/client/src/ts/components/rule/ConciseRuleStatus.tsx x: 1 contributors (all time) y: 39 lines of code apps/checker/app/services/collins/MorfologikCollinsSpellerRule.java x: 2 contributors (all time) y: 32 lines of code apps/rule-manager/client/src/ts/components/context/featureSwitches.tsx x: 5 contributors (all time) y: 90 lines of code apps/checker/app/services/collins/DictionaryBuilder.scala x: 2 contributors (all time) y: 177 lines of code apps/checker/app/services/collins/SpellDictionaryBuilder.scala x: 2 contributors (all time) y: 75 lines of code apps/rule-manager/client/src/ts/components/modals/Reason.tsx x: 6 contributors (all time) y: 64 lines of code apps/rule-manager/client/src/ts/components/modals/Revert.tsx x: 2 contributors (all time) y: 58 lines of code apps/checker/app/controllers/CapiProxyController.scala x: 9 contributors (all time) y: 35 lines of code apps/checker/app/model/MatcherWorkComplete.scala x: 5 contributors (all time) y: 12 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Document.scala x: 5 contributors (all time) y: 17 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/Suggestion.scala x: 6 contributors (all time) y: 31 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/TextBlock.scala x: 8 contributors (all time) y: 67 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/TextRange.scala x: 6 contributors (all time) y: 40 lines of code apps/rule-manager/app/db/RuleTagLive.scala x: 5 contributors (all time) y: 132 lines of code apps/rule-manager/app/model/CheckerRuleForm.scala x: 4 contributors (all time) y: 105 lines of code apps/rule-manager/conf/evolutions/default/13.sql x: 3 contributors (all time) y: 10 lines of code apps/rule-manager/app/db/RuleTagDraft.scala x: 3 contributors (all time) y: 107 lines of code apps/checker/app/controllers/ApiController.scala x: 6 contributors (all time) y: 78 lines of code apps/checker/app/matchers/RegexMatcher.scala x: 5 contributors (all time) y: 53 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/lib/HMACClient.scala x: 2 contributors (all time) y: 15 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/CheckSingleRule.scala x: 2 contributors (all time) y: 29 lines of code apps/rule-manager/app/controllers/TagsController.scala x: 3 contributors (all time) y: 89 lines of code apps/rule-manager/client/src/css/typography.css x: 4 contributors (all time) y: 35 lines of code apps/rule-manager/client/src/ts/components/FeatureSwitches.tsx x: 4 contributors (all time) y: 40 lines of code apps/rule-manager/client/src/ts/components/LineBreak.tsx x: 6 contributors (all time) y: 10 lines of code apps/rule-manager/client/src/ts/components/RuleDataLastUpdated.tsx x: 4 contributors (all time) y: 37 lines of code apps/rule-manager/client/src/ts/components/RuleHistory.tsx x: 5 contributors (all time) y: 93 lines of code apps/rule-manager/client/src/ts/components/helpers/hasCreateEditPermissions.ts x: 4 contributors (all time) y: 6 lines of code apps/rule-manager/client/src/ts/components/hooks/usePeriodicRefresh.ts x: 4 contributors (all time) y: 10 lines of code apps/rule-manager/client/src/ts/components/icons/downChevron.tsx x: 4 contributors (all time) y: 16 lines of code apps/rule-manager/client/src/ts/components/icons/search.tsx x: 4 contributors (all time) y: 24 lines of code apps/rule-manager/client/src/ts/components/layout/Logo.tsx x: 4 contributors (all time) y: 20 lines of code apps/rule-manager/client/src/ts/utils/api.ts x: 5 contributors (all time) y: 42 lines of code apps/rule-manager/client/src/ts/utils/date.ts x: 4 contributors (all time) y: 2 lines of code apps/rule-manager/client/src/ts/utils/error.ts x: 5 contributors (all time) y: 6 lines of code apps/rule-manager/client/src/ts/utils/window.tsx x: 5 contributors (all time) y: 24 lines of code apps/rule-manager/app/db/Tags.scala x: 4 contributors (all time) y: 155 lines of code apps/rule-manager/app/db/DbRule.scala x: 10 contributors (all time) y: 40 lines of code apps/rule-manager/app/service/SheetsRuleResource.scala x: 5 contributors (all time) y: 149 lines of code apps/rule-manager/conf/evolutions/default/12.sql x: 2 contributors (all time) y: 8 lines of code apps/rule-manager/conf/evolutions/default/11.sql x: 3 contributors (all time) y: 26 lines of code apps/rule-manager/conf/evolutions/default/10.sql x: 2 contributors (all time) y: 2 lines of code apps/rule-manager/app/utils/Errors.scala x: 2 contributors (all time) y: 3 lines of code apps/rule-manager/conf/evolutions/default/9.sql x: 2 contributors (all time) y: 12 lines of code apps/rule-manager/app/db/DB.scala x: 2 contributors (all time) y: 17 lines of code apps/rule-manager/app/utils/FormHelpers.scala x: 1 contributors (all time) y: 18 lines of code apps/rule-manager/conf/evolutions/default/6.sql x: 1 contributors (all time) y: 23 lines of code apps/checker/app/utils/Matcher.scala x: 3 contributors (all time) y: 17 lines of code apps/common-lib/src/main/scala/com/gu/typerighter/model/PatternToken.scala x: 5 contributors (all time) y: 27 lines of code apps/rule-manager/app/AppLoader.scala x: 6 contributors (all time) y: 19 lines of code apps/checker/conf/logback.xml x: 3 contributors (all time) y: 28 lines of code apps/rule-manager/conf/evolutions/default/2.sql x: 1 contributors (all time) y: 4 lines of code apps/checker/app/utils/RuleMatchHelpers.scala x: 5 contributors (all time) y: 14 lines of code apps/checker/app/utils/Timer.scala x: 4 contributors (all time) y: 59 lines of code script/js/fixtures/example-rules-new.xml x: 1 contributors (all time) y: 604 lines of code script/js/fixtures/example-rules-old.xml x: 1 contributors (all time) y: 75 lines of code apps/checker/app/assets/stylesheets/main.less x: 1 contributors (all time) y: 351 lines of code
610.0
lines of code
  min: 2.0
  average: 73.92
  25th percentile: 14.0
  median: 33.0
  75th percentile: 80.25
  max: 610.0
0 19.0
contributors (all time)
min: 1.0 | average: 5.03 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 6.0 | max: 19.0

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

No data for "commits (30d)" vs. "lines of code".

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

No data for "contributors (30d)" vs. "lines of code".


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

No data for "commits (90d)" vs. "lines of code".

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

No data for "contributors (90d)" vs. "lines of code".

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...