File Size Overall
  • There are 309 files with 28,862 lines of code.
    • 1 very long files (1,452 lines of code)
    • 5 long files (3,683 lines of code)
    • 23 medium size files (7,212 lines of code)
    • 58 small files (7,834 lines of code)
    • 222 very small files (8,681 lines of code)
5% | 12% | 24% | 27% | 30%
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
ts11% | 11% | 22% | 25% | 30%
tsx0% | 14% | 26% | 30% | 28%
js0% | 0% | 85% | 0% | 14%
sql0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 100%
webmanifest0% | 0% | 0% | 0% | 100%
mjs0% | 0% | 0% | 0% | 100%
toml0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
src5% | 12% | 24% | 27% | 29%
cdk0% | 0% | 94% | 0% | 5%
ROOT0% | 0% | 0% | 0% | 100%
scripts0% | 0% | 0% | 0% | 100%
.github0% | 0% | 0% | 0% | 100%
docker0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
themes.ts
in src/apps/frontend/src
1452 118
HistoryPage.stories.tsx
in src/apps/frontend/src/history
909 88
notifications-repository.dbtest.ts
in src/packages/database/repositories
779 70
CreateAppAlertTab.stories.tsx
in src/apps/frontend/src/compose
730 50
index.dbtest.ts
in src/apps/backend/routers/notifications
711 31
CreateAppAlertForm.stories.tsx
in src/apps/frontend/src/compose
554 58
CreateNewsletterEmailTab.stories.tsx
in src/apps/frontend/src/compose
499 46
notification-send-request.ts
in src/apps/backend/routers/notifications/schemas
454 -
DispatchReport.tsx
in src/apps/frontend/src/send
422 5
CreateNewsletterEmailForm.stories.tsx
in src/apps/frontend/src/compose
412 40
audiences.ts
in src/packages/config
409 -
DispatchLandingPage.stories.tsx
in src/apps/frontend/src/compose
360 33
index.ts
in src/apps/backend/routers/notifications
340 4
331 1
client.ts
in src/packages/services/braze
317 1
HistoryView.stories.tsx
in src/apps/frontend/src/history
316 35
HistoryTable.tsx
in src/apps/frontend/src/history
301 -
PreviousNotificationsBar.tsx
in src/apps/frontend/src/compose
297 9
DispatchReport.stories.tsx
in src/apps/frontend/src/send
291 28
notifications-repository.ts
in src/packages/database/repositories
287 12
api-fixtures.ts
in src/apps/frontend/src/testing
287 -
SendFailedModal.tsx
in src/apps/frontend/src/send
281 3
LatestPublishedContentPanel.stories.tsx
in src/apps/frontend/src/latest-content
277 25
mockServiceWorker.js
in src/apps/frontend/public
232 11
schemas.ts
in src/apps/frontend/src
229 -
persist-notification.ts
in src/apps/backend/persistence
224 1
ArticleImportControl.tsx
in src/apps/frontend/src/compose
222 1
TestEmailForm.tsx
in src/apps/frontend/src/send
217 1
SideNavigationPanel.tsx
in src/apps/frontend/src/compose
207 2
TestEmailForm.stories.tsx
in src/apps/frontend/src/send
199 19
NotificationAlert.tsx
in src/apps/frontend/src
191 -
flag-icons.tsx
in src/apps/frontend/src/ui
186 -
client.ts
in src/apps/frontend/src/api-client
175 2
ArticlePreviewCard.stories.tsx
in src/apps/frontend/src/compose
172 23
index.ts
in src/apps/backend/routers/content
170 -
client.ts
in src/packages/services/capi
169 -
LatestPublishedContentPanel.tsx
in src/apps/frontend/src/latest-content
169 -
dispatch-app-push.ts
in src/apps/backend/notification-channels/app-push
169 1
NotificationAlert.stories.tsx
in src/apps/frontend/src
161 4
PreviousNotificationsBar.stories.tsx
in src/apps/frontend/src/compose
160 13
NotificationTextInput.tsx
in src/apps/frontend/src/compose
159 2
HTMLPreview.tsx
in src/apps/frontend/src/preview
157 4
DispatchLandingPage.tsx
in src/apps/frontend/src/compose
151 -
capi.ts
in src/packages/models
149 -
form-validation.tsx
in src/apps/frontend/src/utils
149 1
index.ts
in src/apps/backend/routers/grafana
149 2
dispatch-newsletter-test.ts
in src/apps/backend/notification-channels/newsletter
149 1
Tooltip.tsx
in src/apps/frontend/src/ui
146 -
ArticleThumbnailImageFormField.tsx
in src/apps/frontend/src/compose
145 -
notification-history-mapper.ts
in src/apps/frontend/src/utils
145 1
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
themes.ts
in src/apps/frontend/src
1452 ~10k–30k 140 ~50 ~30
HistoryPage.stories.tsx
in src/apps/frontend/src/history
909 ~5k–15k 69 ~70 ~15
notifications-repository.dbtest.ts
in src/packages/database/repositories
779 ~5k–15k 72 ~70 ~15
CreateAppAlertTab.stories.tsx
in src/apps/frontend/src/compose
730 ~5k–15k 64 ~50 ~15
index.ts
in src/apps/backend/routers/notifications
340 ~2k–5k 134 ~30 ~10
CreateAppAlertForm.stories.tsx
in src/apps/frontend/src/compose
554 ~3k–10k 80 ~50 ~15
audiences.ts
in src/packages/config
409 ~2k–7k 88 ~70 ~5
index.dbtest.ts
in src/apps/backend/routers/notifications
711 ~3k–10k 48 ~70 ~10
331 ~2k–5k 100 ~20 ~15
notification-send-request.ts
in src/apps/backend/routers/notifications/schemas
454 ~3k–7k 67 ~70 ~7
notifications-repository.ts
in src/packages/database/repositories
287 ~2k–5k 80 ~30 ~10
CreateNewsletterEmailTab.stories.tsx
in src/apps/frontend/src/compose
499 ~3k–7k 42 ~50 ~10
HistoryView.stories.tsx
in src/apps/frontend/src/history
316 ~2k–5k 65 ~30 ~10
HistoryTable.tsx
in src/apps/frontend/src/history
301 ~2k–5k 54 ~30 ~7
DispatchReport.tsx
in src/apps/frontend/src/send
422 ~2k–7k 34 ~50 ~7
DispatchLandingPage.stories.tsx
in src/apps/frontend/src/compose
360 ~2k–7k 33 ~50 ~7
CreateNewsletterEmailForm.stories.tsx
in src/apps/frontend/src/compose
412 ~2k–7k 25 ~150 ~3
DispatchReport.stories.tsx
in src/apps/frontend/src/send
291 ~2k–5k 33 ~50 ~5
app.ts
in src/apps/backend
95 ~500–1.5k 101 ~10 ~7
index.ts
in src/apps/backend/routers/channels
137 ~700–2k 68 ~20 ~7

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
themes.ts
in src/apps/frontend/src
1452 118
HistoryPage.stories.tsx
in src/apps/frontend/src/history
909 88
notifications-repository.dbtest.ts
in src/packages/database/repositories
779 70
CreateAppAlertForm.stories.tsx
in src/apps/frontend/src/compose
554 58
CreateAppAlertTab.stories.tsx
in src/apps/frontend/src/compose
730 50
CreateNewsletterEmailTab.stories.tsx
in src/apps/frontend/src/compose
499 46
CreateNewsletterEmailForm.stories.tsx
in src/apps/frontend/src/compose
412 40
HistoryView.stories.tsx
in src/apps/frontend/src/history
316 35
DispatchLandingPage.stories.tsx
in src/apps/frontend/src/compose
360 33
index.dbtest.ts
in src/apps/backend/routers/notifications
711 31
DispatchReport.stories.tsx
in src/apps/frontend/src/send
291 28
LatestPublishedContentPanel.stories.tsx
in src/apps/frontend/src/latest-content
277 25
ArticlePreviewCard.stories.tsx
in src/apps/frontend/src/compose
172 23
TestEmailForm.stories.tsx
in src/apps/frontend/src/send
199 19
notifications.ts
in src/packages/database/schema
77 14
PreviousNotificationsBar.stories.tsx
in src/apps/frontend/src/compose
160 13
notifications-repository.ts
in src/packages/database/repositories
287 12
NotificationTextInput.stories.tsx
in src/apps/frontend/src/compose
131 12
DispatchLandingHistoryView.stories.tsx
in src/apps/frontend/src/history
129 12
notification-dispatches.ts
in src/packages/database/schema
69 11
mockServiceWorker.js
in src/apps/frontend/public
232 11
MainLayout.stories.tsx
in src/apps/frontend/src/layout
97 10
PreviousNotificationsBar.tsx
in src/apps/frontend/src/compose
297 9
DeliveryAndTimingSelector.stories.tsx
in src/apps/frontend/src/send
100 9
database.ts
in src/apps/backend/utils/test-utils
106 9
DispatchCreateNotificationModal.stories.tsx
in src/apps/frontend/src/compose
97 8
DispatchInformationModal.stories.tsx
in src/apps/frontend/src/compose
73 7
DispatchTile.stories.tsx
in src/apps/frontend/src/layout
70 6
AndroidAlertPreview.stories.tsx
in src/apps/frontend/src/preview
62 6
NewsletterEmailPreviewSection.stories.tsx
in src/apps/frontend/src/preview
111 6
PreviewToggle.stories.tsx
in src/apps/frontend/src/preview
82 6
IPhoneAlertPreview.stories.tsx
in src/apps/frontend/src/preview
58 5
DispatchReport.tsx
in src/apps/frontend/src/send
422 5
index.ts
in src/apps/backend/routers/channels
137 5
RefreshButton.stories.tsx
in src/apps/frontend/src/ui
31 4
Tooltip.stories.tsx
in src/apps/frontend/src/ui
47 4
SideNavigationPanel.stories.tsx
in src/apps/frontend/src/compose
60 4
useNotificationHistory.ts
in src/apps/frontend/src/hooks
143 4
HTMLPreview.tsx
in src/apps/frontend/src/preview
157 4
NotificationAlert.stories.tsx
in src/apps/frontend/src
161 4
index.ts
in src/apps/backend/routers/notifications
340 4
CollapsibleSection.stories.tsx
in src/apps/frontend/src/ui
66 3
EmptyState.stories.tsx
in src/apps/frontend/src/ui
35 3
NoPermissionsTab.stories.tsx
in src/apps/frontend/src/layout
22 3
NotFoundTab.stories.tsx
in src/apps/frontend/src/layout
21 3
CharacterCount.tsx
in src/apps/frontend/src/compose
85 3
SendFailedModal.tsx
in src/apps/frontend/src/send
281 3
test-helpers.ts
in src/packages/database
112 2
notification-dispatches-repository.ts
in src/packages/database/repositories
40 2
relations.ts
in src/packages/database/schema
15 2
Files With Long Lines (Top 34)

There are 34 files with lines longer than 120 characters. In total, there are 71 long lines.

File# lines# units# long lines
flag-icons.tsx
in src/apps/frontend/src/ui
186 - 11
notification-send-request.ts
in src/apps/backend/routers/notifications/schemas
454 - 11
mock-fetch-email.ts
in src/apps/frontend/src/testing
69 - 7
api-fixtures.ts
in src/apps/frontend/src/testing
287 - 3
capi-fixtures.ts
in src/apps/frontend/src/testing
78 - 3
0007_add_notifications_article_id.sql
in src/packages/database/migrations
28 - 2
0000_initial.sql
in src/packages/database/migrations
33 - 2
runtime-connection-string.ts
in src/packages/database
30 - 2
CreateNewsletterEmailTab.stories.tsx
in src/apps/frontend/src/compose
499 46 2
CreateAppAlertTab.stories.tsx
in src/apps/frontend/src/compose
730 50 2
HistoryPage.stories.tsx
in src/apps/frontend/src/history
909 88 2
index.dbtest.ts
in src/apps/backend/routers/notifications
711 31 2
331 1 1
0006_add_notifications_sender_index.sql
in src/packages/database/migrations
1 - 1
0005_structured_dispatch_targets.sql
in src/packages/database/migrations
79 - 1
2 - 1
notifications-repository.dbtest.ts
in src/packages/database/repositories
779 70 1
prepare-and-apply-remote-db-migrations.ts
in src/packages/database/scripts/env/remote
47 1 1
start-remote-db-port-forward.ts
in src/packages/database/scripts/env/remote
60 - 1
aws.ts
in src/packages/database/scripts/env/remote/helpers
110 - 1
ssm.ts
in src/packages/config
119 2 1
capi.ts
in src/packages/models
149 - 1
preview.ts
in src/packages/models/api-contract
25 - 1
client.ts
in src/packages/services/mobile-n10n
132 - 1
client.ts
in src/packages/services/braze
317 1 1
GuardianLogo.tsx
in src/apps/frontend/src/ui
31 - 1
MainLayout.stories.tsx
in src/apps/frontend/src/layout
97 10 1
Editions.stories.tsx
in src/apps/frontend/src/segment
48 1 1
CreateNewsletterEmailForm.stories.tsx
in src/apps/frontend/src/compose
412 40 1
CreateAppAlertForm.stories.tsx
in src/apps/frontend/src/compose
554 58 1
form-validation.tsx
in src/apps/frontend/src/utils
149 1 1
SendConfirmationModal.stories.tsx
in src/apps/frontend/src/send
47 1 1
themes.ts
in src/apps/frontend/src
1452 118 1
index.ts
in src/apps/backend/routers/grafana
149 2 1
Correlations

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

src/apps/frontend/src/compose/ArticlePreviewCard.tsx x: 30 commits (all time) y: 78 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.tsx x: 23 commits (all time) y: 61 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.tsx x: 28 commits (all time) y: 55 lines of code src/apps/frontend/src/ui/LiveIndicator.tsx x: 5 commits (all time) y: 38 lines of code src/apps/frontend/src/utils/pillar-colors.ts x: 5 commits (all time) y: 22 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.stories.tsx x: 11 commits (all time) y: 129 lines of code src/apps/frontend/src/themes.ts x: 140 commits (all time) y: 1452 lines of code src/apps/frontend/src/compose/ScrollWrapper.tsx x: 9 commits (all time) y: 39 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.tsx x: 18 commits (all time) y: 107 lines of code src/apps/frontend/src/history/HistoryTable.tsx x: 54 commits (all time) y: 301 lines of code src/apps/frontend/src/history/HistoryView.stories.tsx x: 65 commits (all time) y: 316 lines of code src/apps/frontend/src/history/HistoryView.tsx x: 70 commits (all time) y: 114 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.stories.tsx x: 80 commits (all time) y: 554 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.stories.tsx x: 25 commits (all time) y: 412 lines of code src/apps/frontend/src/compose/NotificationFormWrapper.tsx x: 38 commits (all time) y: 116 lines of code src/apps/frontend/src/frontend.tsx x: 41 commits (all time) y: 55 lines of code src/apps/frontend/src/hooks/useUnsavedChanges.ts x: 2 commits (all time) y: 20 lines of code src/apps/frontend/src/navigation/UnsavedChangesContext.ts x: 2 commits (all time) y: 4 lines of code src/apps/frontend/src/compose/AppAlertReplaceImageSection.tsx x: 37 commits (all time) y: 106 lines of code src/apps/frontend/src/compose/DispatchLandingPage.tsx x: 26 commits (all time) y: 151 lines of code src/apps/frontend/src/hooks/useImageUrlCheck.ts x: 2 commits (all time) y: 106 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.stories.tsx x: 12 commits (all time) y: 160 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.tsx x: 19 commits (all time) y: 297 lines of code src/apps/frontend/src/ui/Tooltip.tsx x: 18 commits (all time) y: 146 lines of code src/apps/frontend/src/utils/relative-time.ts x: 17 commits (all time) y: 88 lines of code src/apps/backend/middleware/serve-index.ts x: 39 commits (all time) y: 53 lines of code src/apps/frontend/src/compose/DispatchInformationModal.stories.tsx x: 5 commits (all time) y: 73 lines of code src/apps/frontend/src/compose/DispatchInformationModal.tsx x: 10 commits (all time) y: 84 lines of code src/apps/frontend/src/compose/DispatchLandingPage.stories.tsx x: 33 commits (all time) y: 360 lines of code src/apps/frontend/src/support-links.ts x: 5 commits (all time) y: 2 lines of code src/apps/frontend/src/testing/app-config.ts x: 9 commits (all time) y: 20 lines of code src/packages/models/frontend-app-config.ts x: 23 commits (all time) y: 13 lines of code cdk/lib/notifications.ts x: 100 commits (all time) y: 331 lines of code src/apps/backend/routers/content/index.ts x: 39 commits (all time) y: 170 lines of code src/apps/frontend/src/compose/ArticlePreviewCard.stories.tsx x: 40 commits (all time) y: 172 lines of code src/apps/frontend/src/testing/capi-fixtures.ts x: 13 commits (all time) y: 78 lines of code src/apps/frontend/src/utils/article-presentation.ts x: 18 commits (all time) y: 30 lines of code src/apps/frontend/src/utils/article-thumbnail.ts x: 21 commits (all time) y: 27 lines of code src/apps/frontend/src/NotificationAlert.stories.tsx x: 12 commits (all time) y: 161 lines of code src/apps/frontend/src/NotificationAlert.tsx x: 13 commits (all time) y: 191 lines of code src/apps/frontend/src/history/HistoryAudienceFilter.tsx x: 21 commits (all time) y: 103 lines of code src/apps/frontend/src/history/HistoryPage.stories.tsx x: 69 commits (all time) y: 909 lines of code src/apps/frontend/src/history/HistorySenderFilter.tsx x: 15 commits (all time) y: 112 lines of code src/apps/frontend/src/layout/DispatchTile.stories.tsx x: 15 commits (all time) y: 70 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.stories.tsx x: 10 commits (all time) y: 22 lines of code src/apps/frontend/src/segment/Editions.stories.tsx x: 12 commits (all time) y: 48 lines of code src/apps/frontend/src/segment/Editions.tsx x: 18 commits (all time) y: 45 lines of code src/apps/frontend/src/segment/EditionsFormField.tsx x: 15 commits (all time) y: 32 lines of code src/apps/frontend/src/segment/edition-options.ts x: 10 commits (all time) y: 12 lines of code src/apps/frontend/src/send/DispatchReport.tsx x: 34 commits (all time) y: 422 lines of code src/apps/frontend/src/testing/handlers/channels.ts x: 15 commits (all time) y: 81 lines of code src/apps/frontend/src/ui/PreviewPillList.stories.tsx x: 19 commits (all time) y: 32 lines of code src/apps/frontend/src/utils/audience-edition-label.ts x: 3 commits (all time) y: 45 lines of code src/apps/frontend/src/utils/display-text-helpers.ts x: 22 commits (all time) y: 24 lines of code src/apps/frontend/src/utils/format-dispatch-target.ts x: 7 commits (all time) y: 35 lines of code src/apps/frontend/src/utils/notification-history-mapper.ts x: 22 commits (all time) y: 145 lines of code src/packages/config/audiences.ts x: 88 commits (all time) y: 409 lines of code src/apps/frontend/.storybook/main.ts x: 29 commits (all time) y: 11 lines of code src/apps/frontend/.storybook/preview.tsx x: 53 commits (all time) y: 42 lines of code src/apps/frontend/src/AccessControlledLayout.tsx x: 10 commits (all time) y: 27 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.stories.tsx x: 64 commits (all time) y: 730 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.stories.tsx x: 14 commits (all time) y: 97 lines of code src/apps/frontend/src/compose/NotificationFormProvider.stories.tsx x: 30 commits (all time) y: 128 lines of code src/apps/frontend/src/hooks/useNotificationHistory.ts x: 52 commits (all time) y: 143 lines of code src/apps/frontend/src/hooks/useRelativeTime.ts x: 11 commits (all time) y: 75 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.stories.tsx x: 20 commits (all time) y: 56 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.stories.tsx x: 31 commits (all time) y: 277 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.tsx x: 44 commits (all time) y: 169 lines of code src/apps/frontend/src/latest-content/latest-published-content.ts x: 15 commits (all time) y: 126 lines of code src/apps/frontend/src/send/TestEmailForm.stories.tsx x: 21 commits (all time) y: 199 lines of code src/apps/frontend/src/testing/handlers/notifications.ts x: 9 commits (all time) y: 27 lines of code src/apps/frontend/src/ui/EmptyState.tsx x: 16 commits (all time) y: 32 lines of code src/packages/models/capi.ts x: 27 commits (all time) y: 149 lines of code src/packages/services/capi/client.ts x: 34 commits (all time) y: 169 lines of code src/apps/frontend/src/compose/NotificationTabLayout.tsx x: 20 commits (all time) y: 101 lines of code src/apps/frontend/src/compose/NoSendPermissionWarning.tsx x: 6 commits (all time) y: 28 lines of code src/apps/frontend/src/layout/NoPermissionsTab.stories.tsx x: 6 commits (all time) y: 22 lines of code src/apps/frontend/src/layout/NoPermissionsTab.tsx x: 5 commits (all time) y: 25 lines of code src/apps/frontend/src/compose/ArticleImportControl.tsx x: 31 commits (all time) y: 222 lines of code src/apps/frontend/src/hooks/usePreviousNotifications.ts x: 7 commits (all time) y: 26 lines of code src/apps/frontend/src/testing/api-fixtures.ts x: 21 commits (all time) y: 287 lines of code src/apps/frontend/src/utils/history-send-time.ts x: 14 commits (all time) y: 62 lines of code src/packages/models/index.ts x: 45 commits (all time) y: 8 lines of code src/apps/frontend/src/compose/ReviewWarning.tsx x: 8 commits (all time) y: 62 lines of code src/apps/frontend/src/history/HistoryFilters.tsx x: 33 commits (all time) y: 32 lines of code src/apps/frontend/src/preview/PreviewToggle.stories.tsx x: 25 commits (all time) y: 82 lines of code src/apps/frontend/src/preview/PreviewToggle.tsx x: 15 commits (all time) y: 51 lines of code src/apps/frontend/src/ui/CollapsibleSection.stories.tsx x: 2 commits (all time) y: 66 lines of code src/apps/frontend/src/ui/CollapsibleSection.tsx x: 2 commits (all time) y: 60 lines of code src/apps/frontend/src/ui/SendTimeTooltip.tsx x: 12 commits (all time) y: 42 lines of code src/apps/frontend/src/App.tsx x: 78 commits (all time) y: 61 lines of code src/apps/frontend/src/layout/MainLayout.tsx x: 31 commits (all time) y: 118 lines of code src/apps/frontend/src/layout/NotFoundTab.tsx x: 6 commits (all time) y: 29 lines of code src/apps/frontend/src/routes.ts x: 26 commits (all time) y: 97 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.tsx x: 48 commits (all time) y: 127 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.tsx x: 34 commits (all time) y: 48 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.tsx x: 25 commits (all time) y: 129 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.stories.tsx x: 42 commits (all time) y: 499 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.tsx x: 40 commits (all time) y: 54 lines of code src/apps/frontend/src/send/DispatchReport.stories.tsx x: 33 commits (all time) y: 291 lines of code src/apps/frontend/src/compose/ArticleThumbnailImageFormField.tsx x: 45 commits (all time) y: 145 lines of code src/apps/frontend/src/testing/story-fixtures.ts x: 15 commits (all time) y: 38 lines of code src/apps/frontend/src/utils/build-request-payloads.ts x: 36 commits (all time) y: 129 lines of code src/apps/frontend/src/utils/notification-forms.ts x: 26 commits (all time) y: 86 lines of code src/apps/backend/persistence/persist-notification.ts x: 38 commits (all time) y: 224 lines of code src/apps/backend/routers/notifications/index.ts x: 134 commits (all time) y: 340 lines of code src/apps/backend/routers/notifications/schemas/notification-list-query.ts x: 47 commits (all time) y: 125 lines of code src/apps/backend/routers/notifications/schemas/notification-send-request.ts x: 67 commits (all time) y: 454 lines of code src/apps/backend/utils/test-utils/database.ts x: 33 commits (all time) y: 106 lines of code src/apps/frontend/src/history/ClearHistoryFiltersButton.tsx x: 23 commits (all time) y: 34 lines of code src/apps/frontend/src/history/HistoryAlertTypeFilter.tsx x: 13 commits (all time) y: 107 lines of code src/apps/frontend/src/history/HistoryChannelFilter.tsx x: 9 commits (all time) y: 96 lines of code src/apps/frontend/src/history/HistoryFailureTooltip.tsx x: 14 commits (all time) y: 121 lines of code src/apps/frontend/src/history/HistoryPage.tsx x: 61 commits (all time) y: 120 lines of code src/apps/frontend/src/history/HistoryStatusFilter.tsx x: 16 commits (all time) y: 96 lines of code src/apps/frontend/src/segment/SegmentPicker.tsx x: 18 commits (all time) y: 95 lines of code src/apps/frontend/src/send/SendInfoPreviewPill.tsx x: 17 commits (all time) y: 118 lines of code src/apps/frontend/src/types.ts x: 30 commits (all time) y: 68 lines of code src/apps/frontend/src/utils/history-search-params.ts x: 34 commits (all time) y: 132 lines of code src/apps/frontend/src/utils/option-values.ts x: 24 commits (all time) y: 43 lines of code src/packages/config/channels.ts x: 39 commits (all time) y: 20 lines of code src/packages/database/migrations/0007_add_notifications_article_id.sql x: 19 commits (all time) y: 28 lines of code src/packages/database/repositories/notifications-repository.dbtest.ts x: 72 commits (all time) y: 779 lines of code src/packages/database/repositories/notifications-repository.ts x: 80 commits (all time) y: 287 lines of code src/packages/database/schema/notifications.ts x: 28 commits (all time) y: 77 lines of code src/packages/models/notification-channel.ts x: 6 commits (all time) y: 12 lines of code src/apps/frontend/src/schemas.ts x: 23 commits (all time) y: 229 lines of code src/packages/database/index.ts x: 46 commits (all time) y: 24 lines of code src/apps/frontend/src/compose/NotificationFormContext.tsx x: 14 commits (all time) y: 73 lines of code src/apps/frontend/src/grid-client/grid-api.ts x: 4 commits (all time) y: 124 lines of code src/apps/frontend/src/grid-client/grid-url-parsing.ts x: 4 commits (all time) y: 69 lines of code src/apps/frontend/src/hooks/useLatestPublishedContent.ts x: 12 commits (all time) y: 35 lines of code src/apps/frontend/src/hooks/useNotificationSenders.ts x: 7 commits (all time) y: 21 lines of code src/apps/frontend/src/hooks/useSendNotification.ts x: 19 commits (all time) y: 58 lines of code src/apps/frontend/src/testing/grid-fixtures.ts x: 4 commits (all time) y: 18 lines of code src/apps/frontend/src/ui/RefreshButton.tsx x: 12 commits (all time) y: 52 lines of code src/apps/frontend/src/utils/form-validation.tsx x: 30 commits (all time) y: 149 lines of code src/packages/models/grid.ts x: 6 commits (all time) y: 100 lines of code src/apps/backend/routers/notifications/index.dbtest.ts x: 48 commits (all time) y: 711 lines of code src/apps/frontend/src/compose/SideNavigationPanel.stories.tsx x: 4 commits (all time) y: 60 lines of code src/apps/frontend/src/compose/SideNavigationPanel.tsx x: 4 commits (all time) y: 207 lines of code src/apps/frontend/src/history/HistoryEmptyState.tsx x: 19 commits (all time) y: 18 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.tsx x: 8 commits (all time) y: 109 lines of code src/apps/frontend/src/preview/IPhoneAlertPreview.tsx x: 13 commits (all time) y: 113 lines of code src/apps/frontend/src/send/SendConfirmationModal.tsx x: 12 commits (all time) y: 68 lines of code src/apps/frontend/src/ui/GuardianLogo.tsx x: 4 commits (all time) y: 31 lines of code src/packages/models/api-contract/history-alert-type.ts x: 5 commits (all time) y: 17 lines of code src/apps/frontend/src/compose/PreviewTextFormField.tsx x: 20 commits (all time) y: 92 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.stories.tsx x: 16 commits (all time) y: 111 lines of code src/packages/database/migrations/0006_add_notifications_sender_index.sql x: 6 commits (all time) y: 1 lines of code src/apps/frontend/src/history/HistorySearchFilter.tsx x: 6 commits (all time) y: 52 lines of code src/packages/database/test-helpers.ts x: 18 commits (all time) y: 112 lines of code src/packages/models/api-contract/audience.ts x: 16 commits (all time) y: 141 lines of code src/apps/frontend/src/hooks/useDebouncedValue.ts x: 4 commits (all time) y: 12 lines of code src/apps/frontend/src/preview/HTMLPreview.tsx x: 27 commits (all time) y: 157 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.tsx x: 9 commits (all time) y: 62 lines of code src/apps/frontend/src/send/SendFailedModal.tsx x: 21 commits (all time) y: 281 lines of code src/apps/frontend/src/testing/mock-fetch-email.ts x: 8 commits (all time) y: 69 lines of code src/apps/backend/app.ts x: 101 commits (all time) y: 95 lines of code src/apps/backend/middleware/grafana-cors.ts x: 8 commits (all time) y: 11 lines of code src/apps/backend/routers/grafana/grafana-query-request.ts x: 5 commits (all time) y: 30 lines of code src/apps/backend/routers/grafana/index.ts x: 14 commits (all time) y: 149 lines of code src/apps/frontend/src/api-client/redirect-to-login.ts x: 7 commits (all time) y: 5 lines of code src/apps/frontend/src/compose/AlertTypeFormField.tsx x: 18 commits (all time) y: 37 lines of code src/apps/frontend/src/compose/CreateFormTitle.tsx x: 11 commits (all time) y: 42 lines of code src/apps/frontend/src/compose/DeliveryOptionFormField.tsx x: 12 commits (all time) y: 30 lines of code src/apps/frontend/src/compose/KickerFormField.tsx x: 14 commits (all time) y: 40 lines of code src/apps/frontend/src/compose/NotificationFormProvider.tsx x: 15 commits (all time) y: 96 lines of code src/apps/frontend/src/compose/NotificationFormSection.tsx x: 15 commits (all time) y: 43 lines of code src/apps/frontend/src/compose/NotificationTextInput.stories.tsx x: 19 commits (all time) y: 131 lines of code src/apps/frontend/src/compose/NotificationTextInput.tsx x: 10 commits (all time) y: 159 lines of code src/apps/frontend/src/compose/SubjectFormField.tsx x: 14 commits (all time) y: 45 lines of code src/apps/frontend/src/hooks/useChannelConstraints.ts x: 10 commits (all time) y: 38 lines of code src/apps/frontend/src/layout/MainLayout.stories.tsx x: 17 commits (all time) y: 97 lines of code src/apps/frontend/src/layout/constants.ts x: 8 commits (all time) y: 2 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.stories.tsx x: 17 commits (all time) y: 62 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.tsx x: 7 commits (all time) y: 91 lines of code src/apps/frontend/src/preview/PreviewSection.tsx x: 8 commits (all time) y: 77 lines of code src/apps/frontend/src/segment/AudienceSegmentsFormField.tsx x: 13 commits (all time) y: 24 lines of code src/apps/frontend/src/segment/FlagPreviewPill.tsx x: 11 commits (all time) y: 39 lines of code src/apps/frontend/src/segment/useChannelAudiences.ts x: 16 commits (all time) y: 37 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.stories.tsx x: 16 commits (all time) y: 100 lines of code src/apps/frontend/src/send/SendConfirmationModal.stories.tsx x: 7 commits (all time) y: 47 lines of code src/apps/frontend/src/send/TestEmailForm.tsx x: 23 commits (all time) y: 217 lines of code src/apps/frontend/src/testing/mock-resolve-article-from-capi.ts x: 7 commits (all time) y: 15 lines of code src/apps/frontend/src/testing/mock-send-notification.ts x: 16 commits (all time) y: 23 lines of code src/apps/frontend/src/testing/useNotificationFormStory.tsx x: 10 commits (all time) y: 89 lines of code src/apps/frontend/src/ui/FlagAtom.tsx x: 10 commits (all time) y: 31 lines of code src/apps/frontend/src/ui/LastUpdated.tsx x: 15 commits (all time) y: 23 lines of code src/apps/frontend/src/ui/PreviewPillList.tsx x: 10 commits (all time) y: 67 lines of code src/apps/frontend/src/ui/SelectableTile.tsx x: 10 commits (all time) y: 106 lines of code src/apps/frontend/src/ui/flag-icons.tsx x: 7 commits (all time) y: 186 lines of code src/apps/frontend/src/utils/newsletter-email-subject.ts x: 7 commits (all time) y: 9 lines of code src/apps/frontend/src/utils/notification-composer-reducer.ts x: 7 commits (all time) y: 99 lines of code src/apps/backend/middleware/error-middleware.ts x: 29 commits (all time) y: 34 lines of code src/apps/backend/routers/preview/index.ts x: 22 commits (all time) y: 115 lines of code src/apps/frontend/src/ui/ExternalLink.tsx x: 4 commits (all time) y: 8 lines of code src/packages/database/schema/notification-dispatches.ts x: 20 commits (all time) y: 69 lines of code eslint.config.js x: 36 commits (all time) y: 39 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push-test.ts x: 28 commits (all time) y: 37 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push.ts x: 40 commits (all time) y: 169 lines of code src/apps/backend/notification-channels/dispatch-notification-test.ts x: 21 commits (all time) y: 32 lines of code src/apps/backend/notification-channels/dispatch-notification.ts x: 59 commits (all time) y: 43 lines of code src/apps/backend/notification-channels/test-support.ts x: 18 commits (all time) y: 87 lines of code src/apps/frontend/src/api-client/client.ts x: 8 commits (all time) y: 175 lines of code src/apps/frontend/src/index.html x: 19 commits (all time) y: 39 lines of code src/apps/frontend/src/preview/PreviewSection.stories.tsx x: 9 commits (all time) y: 10 lines of code src/apps/frontend/src/ui/RefreshButton.stories.tsx x: 11 commits (all time) y: 31 lines of code src/apps/frontend/src/utils/send-notification.ts x: 8 commits (all time) y: 53 lines of code src/packages/services/mobile-n10n/client.ts x: 21 commits (all time) y: 132 lines of code src/apps/backend/braze-client.ts x: 3 commits (all time) y: 37 lines of code src/apps/backend/middleware/permissions-middleware.ts x: 17 commits (all time) y: 33 lines of code src/apps/backend/notification-channels/dispatch-outcome.ts x: 4 commits (all time) y: 26 lines of code src/apps/backend/notification-channels/shared.ts x: 9 commits (all time) y: 48 lines of code src/apps/backend/routers/channels/index.ts x: 68 commits (all time) y: 137 lines of code src/apps/backend/utils/permissions/permissions-store.ts x: 20 commits (all time) y: 21 lines of code src/apps/frontend/bunfig.toml x: 12 commits (all time) y: 2 lines of code src/apps/frontend/src/api-client/config.ts x: 3 commits (all time) y: 1 lines of code src/apps/frontend/src/api-client/errors.ts x: 3 commits (all time) y: 55 lines of code src/apps/frontend/src/compose/ChannelDisplay.tsx x: 4 commits (all time) y: 67 lines of code src/apps/frontend/src/config/get-config.ts x: 3 commits (all time) y: 9 lines of code src/apps/frontend/src/history/HistoryPagination.tsx x: 3 commits (all time) y: 96 lines of code src/apps/frontend/src/hooks/useActiveSectionHref.ts x: 4 commits (all time) y: 4 lines of code src/apps/frontend/src/preview/DeviceAlertPreview.tsx x: 3 commits (all time) y: 31 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.tsx x: 5 commits (all time) y: 48 lines of code src/apps/frontend/src/ui/LoadingSpinner.tsx x: 3 commits (all time) y: 28 lines of code src/apps/frontend/src/utils/fetch-email-preview.ts x: 3 commits (all time) y: 15 lines of code src/packages/config/index.ts x: 46 commits (all time) y: 17 lines of code src/packages/database/client.ts x: 26 commits (all time) y: 29 lines of code src/packages/database/drizzle.config.ts x: 27 commits (all time) y: 10 lines of code src/packages/database/migrations/0000_initial.sql x: 7 commits (all time) y: 33 lines of code src/packages/database/migrations/0005_structured_dispatch_targets.sql x: 6 commits (all time) y: 79 lines of code src/packages/database/scripts/env/remote/start-remote-db-port-forward.ts x: 7 commits (all time) y: 60 lines of code src/packages/services/braze/client.ts x: 19 commits (all time) y: 317 lines of code src/apps/backend/middleware/auth-middleware.ts x: 31 commits (all time) y: 58 lines of code src/packages/database/scripts/env/remote/helpers/cli-args.ts x: 4 commits (all time) y: 49 lines of code src/packages/database/scripts/env/remote/helpers/verify-remote-database-connection.ts x: 3 commits (all time) y: 61 lines of code src/packages/services/index.ts x: 10 commits (all time) y: 4 lines of code src/packages/config/ssm.ts x: 28 commits (all time) y: 119 lines of code src/apps/backend/routers/health/index.ts x: 14 commits (all time) y: 5 lines of code docker/docker-compose.local.yml x: 17 commits (all time) y: 18 lines of code src/apps/backend/utils/test-utils/panda-auth.ts x: 15 commits (all time) y: 55 lines of code src/apps/frontend/public/mockServiceWorker.js x: 5 commits (all time) y: 232 lines of code src/apps/backend/routers/user/index.ts x: 22 commits (all time) y: 13 lines of code src/apps/frontend/src/index.ts x: 11 commits (all time) y: 12 lines of code src/apps/backend/utils/test-utils/permissions.ts x: 6 commits (all time) y: 43 lines of code src/apps/backend/utils/test-utils/server.ts x: 3 commits (all time) y: 22 lines of code dev-nginx.yaml x: 11 commits (all time) y: 5 lines of code src/apps/backend/client-assets.ts x: 10 commits (all time) y: 7 lines of code src/packages/http-logger/logger.ts x: 8 commits (all time) y: 44 lines of code lefthook.yml x: 28 commits (all time) y: 21 lines of code src/apps/backend/index.ts x: 15 commits (all time) y: 6 lines of code src/packages/http-logger/gen-req-id.ts x: 5 commits (all time) y: 8 lines of code cdk/eslint.config.mjs x: 9 commits (all time) y: 2 lines of code scripts/check-pinned-deps.ts x: 4 commits (all time) y: 53 lines of code src/apps/frontend/src/index.css x: 8 commits (all time) y: 20 lines of code
1452.0
lines of code
  min: 1.0
  average: 93.4
  25th percentile: 25.0
  median: 49.0
  75th percentile: 110.5
  max: 1452.0
0 140.0
commits (all time)
min: 2.0 | average: 19.13 | 25th percentile: 6.0 | median: 13.0 | 75th percentile: 24.0 | max: 140.0

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

src/apps/frontend/src/compose/ArticlePreviewCard.tsx x: 8 contributors (all time) y: 78 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.tsx x: 9 contributors (all time) y: 61 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.tsx x: 7 contributors (all time) y: 55 lines of code src/apps/frontend/src/ui/LiveIndicator.tsx x: 2 contributors (all time) y: 38 lines of code src/apps/frontend/src/utils/pillar-colors.ts x: 4 contributors (all time) y: 22 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.stories.tsx x: 4 contributors (all time) y: 129 lines of code src/apps/frontend/src/themes.ts x: 8 contributors (all time) y: 1452 lines of code src/apps/frontend/src/compose/ScrollWrapper.tsx x: 5 contributors (all time) y: 39 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.tsx x: 6 contributors (all time) y: 107 lines of code src/apps/frontend/src/history/HistoryTable.tsx x: 6 contributors (all time) y: 301 lines of code src/apps/frontend/src/history/HistoryView.stories.tsx x: 7 contributors (all time) y: 316 lines of code src/apps/frontend/src/history/HistoryView.tsx x: 7 contributors (all time) y: 114 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.stories.tsx x: 8 contributors (all time) y: 554 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.stories.tsx x: 7 contributors (all time) y: 412 lines of code src/apps/frontend/src/compose/NotificationFormWrapper.tsx x: 8 contributors (all time) y: 116 lines of code src/apps/frontend/src/hooks/useUnsavedChanges.ts x: 1 contributors (all time) y: 20 lines of code src/apps/frontend/src/navigation/UnsavedChangesContext.ts x: 1 contributors (all time) y: 4 lines of code src/apps/frontend/src/compose/AppAlertReplaceImageSection.tsx x: 7 contributors (all time) y: 106 lines of code src/apps/frontend/src/compose/DispatchLandingPage.tsx x: 7 contributors (all time) y: 151 lines of code src/apps/frontend/src/hooks/useImageUrlCheck.ts x: 1 contributors (all time) y: 106 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.stories.tsx x: 3 contributors (all time) y: 160 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.tsx x: 3 contributors (all time) y: 297 lines of code src/apps/frontend/src/ui/Tooltip.tsx x: 7 contributors (all time) y: 146 lines of code src/apps/frontend/src/utils/relative-time.ts x: 7 contributors (all time) y: 88 lines of code src/apps/backend/middleware/serve-index.ts x: 8 contributors (all time) y: 53 lines of code src/apps/frontend/src/compose/DispatchInformationModal.stories.tsx x: 2 contributors (all time) y: 73 lines of code src/apps/frontend/src/compose/DispatchInformationModal.tsx x: 3 contributors (all time) y: 84 lines of code src/apps/frontend/src/compose/DispatchLandingPage.stories.tsx x: 7 contributors (all time) y: 360 lines of code src/apps/frontend/src/support-links.ts x: 2 contributors (all time) y: 2 lines of code src/apps/frontend/src/testing/app-config.ts x: 6 contributors (all time) y: 20 lines of code src/packages/models/frontend-app-config.ts x: 5 contributors (all time) y: 13 lines of code cdk/lib/notifications.ts x: 9 contributors (all time) y: 331 lines of code src/apps/backend/routers/content/index.ts x: 8 contributors (all time) y: 170 lines of code src/apps/frontend/src/compose/ArticlePreviewCard.stories.tsx x: 8 contributors (all time) y: 172 lines of code src/apps/frontend/src/testing/capi-fixtures.ts x: 7 contributors (all time) y: 78 lines of code src/apps/frontend/src/utils/article-presentation.ts x: 8 contributors (all time) y: 30 lines of code src/apps/frontend/src/utils/article-thumbnail.ts x: 8 contributors (all time) y: 27 lines of code src/apps/frontend/src/NotificationAlert.stories.tsx x: 2 contributors (all time) y: 161 lines of code src/apps/frontend/src/NotificationAlert.tsx x: 2 contributors (all time) y: 191 lines of code src/apps/frontend/src/history/HistoryPage.stories.tsx x: 7 contributors (all time) y: 909 lines of code src/apps/frontend/src/history/HistorySenderFilter.tsx x: 6 contributors (all time) y: 112 lines of code src/apps/frontend/src/layout/DispatchTile.stories.tsx x: 6 contributors (all time) y: 70 lines of code src/apps/frontend/src/segment/Editions.stories.tsx x: 5 contributors (all time) y: 48 lines of code src/apps/frontend/src/segment/Editions.tsx x: 7 contributors (all time) y: 45 lines of code src/apps/frontend/src/segment/EditionsFormField.tsx x: 6 contributors (all time) y: 32 lines of code src/apps/frontend/src/segment/edition-options.ts x: 6 contributors (all time) y: 12 lines of code src/apps/frontend/src/send/DispatchReport.tsx x: 8 contributors (all time) y: 422 lines of code src/apps/frontend/src/testing/handlers/channels.ts x: 5 contributors (all time) y: 81 lines of code src/apps/frontend/src/utils/audience-edition-label.ts x: 2 contributors (all time) y: 45 lines of code src/apps/frontend/src/utils/display-text-helpers.ts x: 6 contributors (all time) y: 24 lines of code src/apps/frontend/src/utils/format-dispatch-target.ts x: 3 contributors (all time) y: 35 lines of code src/packages/config/audiences.ts x: 9 contributors (all time) y: 409 lines of code src/apps/frontend/.storybook/main.ts x: 7 contributors (all time) y: 11 lines of code src/apps/frontend/.storybook/preview.tsx x: 8 contributors (all time) y: 42 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.stories.tsx x: 9 contributors (all time) y: 730 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.stories.tsx x: 7 contributors (all time) y: 97 lines of code src/apps/frontend/src/compose/NotificationFormProvider.stories.tsx x: 7 contributors (all time) y: 128 lines of code src/apps/frontend/src/hooks/useRelativeTime.ts x: 6 contributors (all time) y: 75 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.stories.tsx x: 6 contributors (all time) y: 56 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.stories.tsx x: 6 contributors (all time) y: 277 lines of code src/apps/frontend/src/latest-content/latest-published-content.ts x: 5 contributors (all time) y: 126 lines of code src/apps/frontend/src/send/TestEmailForm.stories.tsx x: 7 contributors (all time) y: 199 lines of code src/apps/frontend/src/ui/EmptyState.tsx x: 4 contributors (all time) y: 32 lines of code src/packages/models/capi.ts x: 8 contributors (all time) y: 149 lines of code src/apps/frontend/src/compose/NotificationTabLayout.tsx x: 7 contributors (all time) y: 101 lines of code src/apps/frontend/src/compose/NoSendPermissionWarning.tsx x: 3 contributors (all time) y: 28 lines of code src/apps/frontend/src/compose/ArticleImportControl.tsx x: 9 contributors (all time) y: 222 lines of code src/apps/frontend/src/hooks/usePreviousNotifications.ts x: 2 contributors (all time) y: 26 lines of code src/apps/frontend/src/testing/api-fixtures.ts x: 9 contributors (all time) y: 287 lines of code src/apps/frontend/src/utils/history-send-time.ts x: 7 contributors (all time) y: 62 lines of code src/packages/models/index.ts x: 8 contributors (all time) y: 8 lines of code src/apps/frontend/src/compose/ReviewWarning.tsx x: 5 contributors (all time) y: 62 lines of code src/apps/frontend/src/history/HistoryFilters.tsx x: 7 contributors (all time) y: 32 lines of code src/apps/frontend/src/preview/PreviewToggle.stories.tsx x: 6 contributors (all time) y: 82 lines of code src/apps/frontend/src/preview/PreviewToggle.tsx x: 6 contributors (all time) y: 51 lines of code src/apps/frontend/src/ui/CollapsibleSection.stories.tsx x: 1 contributors (all time) y: 66 lines of code src/apps/frontend/src/ui/CollapsibleSection.tsx x: 1 contributors (all time) y: 60 lines of code src/apps/frontend/src/ui/SendTimeTooltip.tsx x: 6 contributors (all time) y: 42 lines of code src/apps/frontend/src/layout/MainLayout.tsx x: 6 contributors (all time) y: 118 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.tsx x: 8 contributors (all time) y: 127 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.tsx x: 8 contributors (all time) y: 48 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.stories.tsx x: 7 contributors (all time) y: 499 lines of code src/apps/frontend/src/send/DispatchReport.stories.tsx x: 8 contributors (all time) y: 291 lines of code src/apps/frontend/src/testing/story-fixtures.ts x: 7 contributors (all time) y: 38 lines of code src/apps/backend/persistence/persist-notification.ts x: 5 contributors (all time) y: 224 lines of code src/apps/backend/routers/notifications/index.ts x: 10 contributors (all time) y: 340 lines of code src/apps/backend/routers/notifications/schemas/notification-list-query.ts x: 7 contributors (all time) y: 125 lines of code src/apps/backend/routers/notifications/schemas/notification-send-request.ts x: 9 contributors (all time) y: 454 lines of code src/apps/backend/utils/test-utils/database.ts x: 5 contributors (all time) y: 106 lines of code src/apps/frontend/src/history/HistoryChannelFilter.tsx x: 4 contributors (all time) y: 96 lines of code src/apps/frontend/src/history/HistoryFailureTooltip.tsx x: 4 contributors (all time) y: 121 lines of code src/apps/frontend/src/history/HistoryPage.tsx x: 7 contributors (all time) y: 120 lines of code src/apps/frontend/src/history/HistoryStatusFilter.tsx x: 6 contributors (all time) y: 96 lines of code src/apps/frontend/src/types.ts x: 8 contributors (all time) y: 68 lines of code src/apps/frontend/src/utils/history-search-params.ts x: 7 contributors (all time) y: 132 lines of code src/packages/config/channels.ts x: 7 contributors (all time) y: 20 lines of code src/packages/database/repositories/notifications-repository.dbtest.ts x: 7 contributors (all time) y: 779 lines of code src/packages/database/repositories/notifications-repository.ts x: 7 contributors (all time) y: 287 lines of code src/packages/database/schema/notifications.ts x: 5 contributors (all time) y: 77 lines of code src/packages/models/notification-channel.ts x: 4 contributors (all time) y: 12 lines of code src/apps/frontend/src/schemas.ts x: 8 contributors (all time) y: 229 lines of code src/packages/database/index.ts x: 5 contributors (all time) y: 24 lines of code src/apps/frontend/src/compose/NotificationFormContext.tsx x: 7 contributors (all time) y: 73 lines of code src/apps/frontend/src/grid-client/grid-api.ts x: 3 contributors (all time) y: 124 lines of code src/apps/frontend/src/grid-client/grid-url-parsing.ts x: 3 contributors (all time) y: 69 lines of code src/apps/frontend/src/hooks/useLatestPublishedContent.ts x: 4 contributors (all time) y: 35 lines of code src/apps/frontend/src/hooks/useNotificationSenders.ts x: 5 contributors (all time) y: 21 lines of code src/apps/frontend/src/testing/grid-fixtures.ts x: 3 contributors (all time) y: 18 lines of code src/apps/frontend/src/utils/form-validation.tsx x: 9 contributors (all time) y: 149 lines of code src/packages/models/grid.ts x: 3 contributors (all time) y: 100 lines of code src/apps/backend/routers/notifications/index.dbtest.ts x: 7 contributors (all time) y: 711 lines of code src/apps/frontend/src/compose/SideNavigationPanel.stories.tsx x: 3 contributors (all time) y: 60 lines of code src/apps/frontend/src/compose/SideNavigationPanel.tsx x: 3 contributors (all time) y: 207 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.tsx x: 5 contributors (all time) y: 109 lines of code src/apps/frontend/src/send/SendConfirmationModal.tsx x: 6 contributors (all time) y: 68 lines of code src/apps/frontend/src/ui/GuardianLogo.tsx x: 3 contributors (all time) y: 31 lines of code src/packages/models/api-contract/history-alert-type.ts x: 3 contributors (all time) y: 17 lines of code src/packages/database/migrations/0006_add_notifications_sender_index.sql x: 3 contributors (all time) y: 1 lines of code src/apps/frontend/src/history/HistorySearchFilter.tsx x: 4 contributors (all time) y: 52 lines of code src/packages/models/api-contract/audience.ts x: 4 contributors (all time) y: 141 lines of code src/apps/frontend/src/preview/HTMLPreview.tsx x: 9 contributors (all time) y: 157 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.tsx x: 6 contributors (all time) y: 62 lines of code src/apps/frontend/src/send/SendFailedModal.tsx x: 7 contributors (all time) y: 281 lines of code src/apps/frontend/src/testing/mock-fetch-email.ts x: 5 contributors (all time) y: 69 lines of code src/apps/backend/app.ts x: 11 contributors (all time) y: 95 lines of code src/apps/backend/middleware/grafana-cors.ts x: 3 contributors (all time) y: 11 lines of code src/apps/backend/routers/grafana/index.ts x: 3 contributors (all time) y: 149 lines of code src/apps/frontend/src/api-client/redirect-to-login.ts x: 5 contributors (all time) y: 5 lines of code src/apps/frontend/src/compose/KickerFormField.tsx x: 6 contributors (all time) y: 40 lines of code src/apps/frontend/src/compose/NotificationTextInput.stories.tsx x: 6 contributors (all time) y: 131 lines of code src/apps/frontend/src/compose/NotificationTextInput.tsx x: 6 contributors (all time) y: 159 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.tsx x: 5 contributors (all time) y: 91 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.stories.tsx x: 6 contributors (all time) y: 100 lines of code src/apps/frontend/src/send/TestEmailForm.tsx x: 8 contributors (all time) y: 217 lines of code src/apps/frontend/src/testing/mock-send-notification.ts x: 7 contributors (all time) y: 23 lines of code src/apps/frontend/src/testing/useNotificationFormStory.tsx x: 6 contributors (all time) y: 89 lines of code src/apps/frontend/src/ui/flag-icons.tsx x: 5 contributors (all time) y: 186 lines of code src/apps/frontend/src/utils/newsletter-email-subject.ts x: 5 contributors (all time) y: 9 lines of code src/apps/frontend/src/utils/notification-composer-reducer.ts x: 5 contributors (all time) y: 99 lines of code src/apps/backend/notification-channels/newsletter/dispatch-newsletter-test.ts x: 5 contributors (all time) y: 149 lines of code eslint.config.js x: 9 contributors (all time) y: 39 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push.ts x: 5 contributors (all time) y: 169 lines of code src/apps/backend/notification-channels/dispatch-notification-test.ts x: 5 contributors (all time) y: 32 lines of code src/apps/frontend/src/api-client/client.ts x: 7 contributors (all time) y: 175 lines of code src/apps/frontend/src/index.html x: 8 contributors (all time) y: 39 lines of code src/apps/frontend/src/ui/Tooltip.stories.tsx x: 7 contributors (all time) y: 47 lines of code src/packages/services/mobile-n10n/client.ts x: 4 contributors (all time) y: 132 lines of code src/packages/utils/urls.ts x: 4 contributors (all time) y: 61 lines of code src/apps/backend/notification-channels/shared.ts x: 4 contributors (all time) y: 48 lines of code src/apps/frontend/bunfig.toml x: 4 contributors (all time) y: 2 lines of code src/apps/frontend/src/api-client/errors.ts x: 3 contributors (all time) y: 55 lines of code src/apps/frontend/src/compose/ChannelDisplay.tsx x: 3 contributors (all time) y: 67 lines of code src/apps/frontend/src/history/HistoryPagination.tsx x: 3 contributors (all time) y: 96 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.tsx x: 3 contributors (all time) y: 48 lines of code src/apps/frontend/src/send/SendButton.tsx x: 3 contributors (all time) y: 43 lines of code src/packages/config/index.ts x: 7 contributors (all time) y: 17 lines of code src/packages/database/migrations/0005_structured_dispatch_targets.sql x: 2 contributors (all time) y: 79 lines of code src/packages/database/scripts/env/remote/helpers/aws.ts x: 3 contributors (all time) y: 110 lines of code src/packages/services/braze/client.ts x: 4 contributors (all time) y: 317 lines of code src/packages/database/database-environment.ts x: 2 contributors (all time) y: 19 lines of code src/packages/database/managed-database-secret.ts x: 2 contributors (all time) y: 12 lines of code src/packages/database/runtime-connection-string.ts x: 2 contributors (all time) y: 30 lines of code src/packages/database/scripts/env/remote/helpers/cli-args.ts x: 2 contributors (all time) y: 49 lines of code src/packages/database/scripts/env/remote/helpers/verify-remote-database-connection.ts x: 2 contributors (all time) y: 61 lines of code src/packages/models/api-contract/preview.ts x: 4 contributors (all time) y: 25 lines of code src/apps/frontend/public/mockServiceWorker.js x: 3 contributors (all time) y: 232 lines of code dev-nginx.yaml x: 6 contributors (all time) y: 5 lines of code src/packages/http-logger/logger.ts x: 4 contributors (all time) y: 44 lines of code scripts/check-pinned-deps.ts x: 2 contributors (all time) y: 53 lines of code
1452.0
lines of code
  min: 1.0
  average: 93.4
  25th percentile: 25.0
  median: 49.0
  75th percentile: 110.5
  max: 1452.0
0 11.0
contributors (all time)
min: 1.0 | average: 5.17 | 25th percentile: 3.0 | median: 5.0 | 75th percentile: 7.0 | max: 11.0

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

src/apps/frontend/src/compose/ArticlePreviewCard.tsx x: 22 commits (30d) y: 78 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.tsx x: 23 commits (30d) y: 61 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.tsx x: 28 commits (30d) y: 55 lines of code src/apps/frontend/src/ui/LiveIndicator.tsx x: 5 commits (30d) y: 38 lines of code src/apps/frontend/src/utils/pillar-colors.ts x: 3 commits (30d) y: 22 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.stories.tsx x: 11 commits (30d) y: 129 lines of code src/apps/frontend/src/themes.ts x: 133 commits (30d) y: 1452 lines of code src/apps/frontend/src/compose/ScrollWrapper.tsx x: 9 commits (30d) y: 39 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.tsx x: 18 commits (30d) y: 107 lines of code src/apps/frontend/src/history/HistoryTable.tsx x: 54 commits (30d) y: 301 lines of code src/apps/frontend/src/history/HistoryView.stories.tsx x: 61 commits (30d) y: 316 lines of code src/apps/frontend/src/history/HistoryView.tsx x: 63 commits (30d) y: 114 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.stories.tsx x: 63 commits (30d) y: 554 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.stories.tsx x: 25 commits (30d) y: 412 lines of code src/apps/frontend/src/compose/NotificationFormWrapper.tsx x: 32 commits (30d) y: 116 lines of code src/apps/frontend/src/frontend.tsx x: 15 commits (30d) y: 55 lines of code src/apps/frontend/src/hooks/useUnsavedChanges.ts x: 2 commits (30d) y: 20 lines of code src/apps/frontend/src/navigation/UnsavedChangesContext.ts x: 2 commits (30d) y: 4 lines of code src/apps/frontend/src/compose/AppAlertReplaceImageSection.tsx x: 33 commits (30d) y: 106 lines of code src/apps/frontend/src/compose/DispatchLandingPage.tsx x: 26 commits (30d) y: 151 lines of code src/apps/frontend/src/hooks/useImageUrlCheck.ts x: 2 commits (30d) y: 106 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.stories.tsx x: 12 commits (30d) y: 160 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.tsx x: 19 commits (30d) y: 297 lines of code src/apps/frontend/src/ui/Tooltip.tsx x: 18 commits (30d) y: 146 lines of code src/apps/frontend/src/utils/relative-time.ts x: 15 commits (30d) y: 88 lines of code src/apps/backend/middleware/serve-index.ts x: 19 commits (30d) y: 53 lines of code src/apps/frontend/src/compose/DispatchInformationModal.stories.tsx x: 5 commits (30d) y: 73 lines of code src/apps/frontend/src/compose/DispatchInformationModal.tsx x: 10 commits (30d) y: 84 lines of code src/apps/frontend/src/compose/DispatchLandingPage.stories.tsx x: 33 commits (30d) y: 360 lines of code src/apps/frontend/src/support-links.ts x: 5 commits (30d) y: 2 lines of code src/apps/frontend/src/testing/app-config.ts x: 7 commits (30d) y: 20 lines of code src/packages/models/frontend-app-config.ts x: 17 commits (30d) y: 13 lines of code cdk/lib/notifications.ts x: 13 commits (30d) y: 331 lines of code src/apps/backend/routers/content/index.ts x: 14 commits (30d) y: 170 lines of code src/apps/frontend/src/compose/ArticlePreviewCard.stories.tsx x: 34 commits (30d) y: 172 lines of code src/apps/frontend/src/testing/capi-fixtures.ts x: 9 commits (30d) y: 78 lines of code src/apps/frontend/src/utils/article-presentation.ts x: 18 commits (30d) y: 30 lines of code src/apps/frontend/src/utils/article-thumbnail.ts x: 20 commits (30d) y: 27 lines of code src/apps/frontend/src/NotificationAlert.stories.tsx x: 12 commits (30d) y: 161 lines of code src/apps/frontend/src/NotificationAlert.tsx x: 13 commits (30d) y: 191 lines of code src/apps/frontend/src/history/HistoryAudienceFilter.tsx x: 21 commits (30d) y: 103 lines of code src/apps/frontend/src/history/HistoryPage.stories.tsx x: 66 commits (30d) y: 909 lines of code src/apps/frontend/src/history/HistorySenderFilter.tsx x: 15 commits (30d) y: 112 lines of code src/apps/frontend/src/layout/DispatchTile.stories.tsx x: 15 commits (30d) y: 70 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.stories.tsx x: 10 commits (30d) y: 22 lines of code src/apps/frontend/src/segment/Editions.stories.tsx x: 10 commits (30d) y: 48 lines of code src/apps/frontend/src/segment/Editions.tsx x: 14 commits (30d) y: 45 lines of code src/apps/frontend/src/segment/EditionsFormField.tsx x: 11 commits (30d) y: 32 lines of code src/apps/frontend/src/segment/audience-fallbacks.ts x: 16 commits (30d) y: 42 lines of code src/apps/frontend/src/segment/edition-options.ts x: 10 commits (30d) y: 12 lines of code src/apps/frontend/src/send/DispatchReport.tsx x: 27 commits (30d) y: 422 lines of code src/apps/frontend/src/testing/handlers/channels.ts x: 11 commits (30d) y: 81 lines of code src/apps/frontend/src/ui/PreviewPillList.stories.tsx x: 17 commits (30d) y: 32 lines of code src/apps/frontend/src/utils/audience-edition-label.ts x: 3 commits (30d) y: 45 lines of code src/apps/frontend/src/utils/format-dispatch-target.ts x: 7 commits (30d) y: 35 lines of code src/apps/frontend/src/utils/notification-history-mapper.ts x: 20 commits (30d) y: 145 lines of code src/packages/config/audiences.ts x: 16 commits (30d) y: 409 lines of code src/apps/frontend/.storybook/main.ts x: 3 commits (30d) y: 11 lines of code src/apps/frontend/.storybook/preview.tsx x: 10 commits (30d) y: 42 lines of code src/apps/frontend/src/AccessControlledLayout.tsx x: 10 commits (30d) y: 27 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.stories.tsx x: 55 commits (30d) y: 730 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.stories.tsx x: 14 commits (30d) y: 97 lines of code src/apps/frontend/src/compose/NotificationFormProvider.stories.tsx x: 26 commits (30d) y: 128 lines of code src/apps/frontend/src/hooks/useNotificationHistory.ts x: 50 commits (30d) y: 143 lines of code src/apps/frontend/src/hooks/useRelativeTime.ts x: 11 commits (30d) y: 75 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.stories.tsx x: 20 commits (30d) y: 56 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.stories.tsx x: 31 commits (30d) y: 277 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.tsx x: 44 commits (30d) y: 169 lines of code src/apps/frontend/src/latest-content/latest-published-content.ts x: 15 commits (30d) y: 126 lines of code src/apps/frontend/src/send/TestEmailForm.stories.tsx x: 18 commits (30d) y: 199 lines of code src/apps/frontend/src/testing/handlers/notifications.ts x: 9 commits (30d) y: 27 lines of code src/apps/frontend/src/ui/EmptyState.tsx x: 16 commits (30d) y: 32 lines of code src/packages/models/capi.ts x: 17 commits (30d) y: 149 lines of code src/packages/services/capi/client.ts x: 17 commits (30d) y: 169 lines of code src/apps/frontend/src/compose/NotificationTabLayout.tsx x: 17 commits (30d) y: 101 lines of code src/apps/frontend/src/compose/NoSendPermissionWarning.tsx x: 3 commits (30d) y: 28 lines of code src/apps/frontend/src/layout/NoPermissionsTab.stories.tsx x: 6 commits (30d) y: 22 lines of code src/apps/frontend/src/compose/ArticleImportControl.tsx x: 24 commits (30d) y: 222 lines of code src/apps/frontend/src/hooks/usePreviousNotifications.ts x: 7 commits (30d) y: 26 lines of code src/apps/frontend/src/testing/api-fixtures.ts x: 18 commits (30d) y: 287 lines of code src/apps/frontend/src/utils/history-send-time.ts x: 11 commits (30d) y: 62 lines of code src/packages/models/index.ts x: 17 commits (30d) y: 8 lines of code src/apps/frontend/src/compose/ReviewWarning.tsx x: 8 commits (30d) y: 62 lines of code src/apps/frontend/src/history/HistoryFilters.tsx x: 33 commits (30d) y: 32 lines of code src/apps/frontend/src/preview/PreviewToggle.stories.tsx x: 20 commits (30d) y: 82 lines of code src/apps/frontend/src/preview/PreviewToggle.tsx x: 13 commits (30d) y: 51 lines of code src/apps/frontend/src/ui/CollapsibleSection.stories.tsx x: 2 commits (30d) y: 66 lines of code src/apps/frontend/src/ui/CollapsibleSection.tsx x: 2 commits (30d) y: 60 lines of code src/apps/frontend/src/ui/SendTimeTooltip.tsx x: 12 commits (30d) y: 42 lines of code src/apps/frontend/src/App.tsx x: 24 commits (30d) y: 61 lines of code src/apps/frontend/src/layout/MainLayout.tsx x: 28 commits (30d) y: 118 lines of code src/apps/frontend/src/layout/NotFoundTab.tsx x: 3 commits (30d) y: 29 lines of code src/apps/frontend/src/routes.ts x: 24 commits (30d) y: 97 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.tsx x: 38 commits (30d) y: 127 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.tsx x: 29 commits (30d) y: 48 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.tsx x: 25 commits (30d) y: 129 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.stories.tsx x: 38 commits (30d) y: 499 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.tsx x: 36 commits (30d) y: 54 lines of code src/apps/frontend/src/send/DispatchReport.stories.tsx x: 28 commits (30d) y: 291 lines of code src/apps/frontend/src/compose/ArticleThumbnailImageFormField.tsx x: 28 commits (30d) y: 145 lines of code src/apps/frontend/src/testing/story-fixtures.ts x: 15 commits (30d) y: 38 lines of code src/apps/frontend/src/utils/build-request-payloads.ts x: 28 commits (30d) y: 129 lines of code src/apps/frontend/src/utils/notification-forms.ts x: 21 commits (30d) y: 86 lines of code src/apps/backend/persistence/persist-notification.ts x: 23 commits (30d) y: 224 lines of code src/apps/backend/routers/notifications/index.ts x: 57 commits (30d) y: 340 lines of code src/apps/backend/routers/notifications/schemas/notification-list-query.ts x: 41 commits (30d) y: 125 lines of code src/apps/backend/routers/notifications/schemas/notification-send-request.ts x: 10 commits (30d) y: 454 lines of code src/apps/backend/utils/test-utils/database.ts x: 20 commits (30d) y: 106 lines of code src/apps/frontend/src/history/ClearHistoryFiltersButton.tsx x: 23 commits (30d) y: 34 lines of code src/apps/frontend/src/history/HistoryAlertTypeFilter.tsx x: 13 commits (30d) y: 107 lines of code src/apps/frontend/src/history/HistoryChannelFilter.tsx x: 9 commits (30d) y: 96 lines of code src/apps/frontend/src/history/HistoryFailureTooltip.tsx x: 14 commits (30d) y: 121 lines of code src/apps/frontend/src/history/HistoryPage.tsx x: 55 commits (30d) y: 120 lines of code src/apps/frontend/src/history/HistoryStatusFilter.tsx x: 16 commits (30d) y: 96 lines of code src/apps/frontend/src/segment/SegmentPicker.tsx x: 15 commits (30d) y: 95 lines of code src/apps/frontend/src/send/SendInfoPreviewPill.tsx x: 14 commits (30d) y: 118 lines of code src/apps/frontend/src/types.ts x: 26 commits (30d) y: 68 lines of code src/apps/frontend/src/utils/history-search-params.ts x: 32 commits (30d) y: 132 lines of code src/apps/frontend/src/utils/option-values.ts x: 19 commits (30d) y: 43 lines of code src/packages/database/migrations/0007_add_notifications_article_id.sql x: 19 commits (30d) y: 28 lines of code src/packages/database/repositories/notifications-repository.dbtest.ts x: 58 commits (30d) y: 779 lines of code src/packages/database/repositories/notifications-repository.ts x: 65 commits (30d) y: 287 lines of code src/packages/database/schema/notifications.ts x: 19 commits (30d) y: 77 lines of code src/packages/models/notification-channel.ts x: 6 commits (30d) y: 12 lines of code src/apps/frontend/src/schemas.ts x: 21 commits (30d) y: 229 lines of code src/packages/database/index.ts x: 24 commits (30d) y: 24 lines of code src/apps/frontend/src/compose/NotificationFormContext.tsx x: 14 commits (30d) y: 73 lines of code src/apps/frontend/src/grid-client/grid-api.ts x: 4 commits (30d) y: 124 lines of code src/apps/frontend/src/grid-client/grid-url-parsing.ts x: 4 commits (30d) y: 69 lines of code src/apps/frontend/src/hooks/useLatestPublishedContent.ts x: 12 commits (30d) y: 35 lines of code src/apps/frontend/src/hooks/useSendNotification.ts x: 19 commits (30d) y: 58 lines of code src/apps/frontend/src/testing/grid-fixtures.ts x: 4 commits (30d) y: 18 lines of code src/apps/frontend/src/ui/RefreshButton.tsx x: 12 commits (30d) y: 52 lines of code src/apps/frontend/src/utils/form-validation.tsx x: 28 commits (30d) y: 149 lines of code src/packages/models/grid.ts x: 6 commits (30d) y: 100 lines of code src/apps/backend/routers/notifications/index.dbtest.ts x: 26 commits (30d) y: 711 lines of code src/apps/frontend/src/compose/SideNavigationPanel.stories.tsx x: 4 commits (30d) y: 60 lines of code src/apps/frontend/src/compose/SideNavigationPanel.tsx x: 4 commits (30d) y: 207 lines of code src/apps/frontend/src/history/HistoryEmptyState.tsx x: 19 commits (30d) y: 18 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.tsx x: 5 commits (30d) y: 109 lines of code src/apps/frontend/src/preview/IPhoneAlertPreview.tsx x: 9 commits (30d) y: 113 lines of code src/apps/frontend/src/send/SendConfirmationModal.tsx x: 12 commits (30d) y: 68 lines of code src/apps/frontend/src/ui/GuardianLogo.tsx x: 4 commits (30d) y: 31 lines of code src/packages/models/api-contract/history-alert-type.ts x: 5 commits (30d) y: 17 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.stories.tsx x: 16 commits (30d) y: 111 lines of code src/packages/database/migrations/0006_add_notifications_sender_index.sql x: 6 commits (30d) y: 1 lines of code src/apps/frontend/src/history/HistorySearchFilter.tsx x: 6 commits (30d) y: 52 lines of code src/packages/database/test-helpers.ts x: 10 commits (30d) y: 112 lines of code src/packages/models/api-contract/audience.ts x: 6 commits (30d) y: 141 lines of code src/apps/frontend/src/hooks/useDebouncedValue.ts x: 4 commits (30d) y: 12 lines of code src/apps/frontend/src/hooks/useNotificationDetail.ts x: 5 commits (30d) y: 28 lines of code src/apps/frontend/src/preview/HTMLPreview.tsx x: 23 commits (30d) y: 157 lines of code src/apps/frontend/src/preview/NewsletterEmailPreview.stories.tsx x: 6 commits (30d) y: 31 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.tsx x: 9 commits (30d) y: 62 lines of code src/apps/frontend/src/send/SendFailedModal.tsx x: 17 commits (30d) y: 281 lines of code src/apps/backend/middleware/grafana-cors.ts x: 8 commits (30d) y: 11 lines of code src/apps/backend/routers/grafana/grafana-query-request.ts x: 5 commits (30d) y: 30 lines of code src/apps/backend/routers/grafana/index.ts x: 14 commits (30d) y: 149 lines of code src/apps/frontend/src/api-client/redirect-to-login.ts x: 7 commits (30d) y: 5 lines of code src/apps/frontend/src/compose/AlertTypeFormField.tsx x: 13 commits (30d) y: 37 lines of code src/apps/frontend/src/compose/ChannelDisplay.stories.tsx x: 14 commits (30d) y: 34 lines of code src/apps/frontend/src/compose/CharacterCount.tsx x: 8 commits (30d) y: 85 lines of code src/apps/frontend/src/compose/CreateFormTitle.tsx x: 8 commits (30d) y: 42 lines of code src/apps/frontend/src/compose/DeliveryOptionFormField.tsx x: 8 commits (30d) y: 30 lines of code src/apps/frontend/src/compose/KickerFormField.tsx x: 10 commits (30d) y: 40 lines of code src/apps/frontend/src/compose/NotificationFormProvider.tsx x: 11 commits (30d) y: 96 lines of code src/apps/frontend/src/compose/NotificationFormSection.tsx x: 13 commits (30d) y: 43 lines of code src/apps/frontend/src/compose/NotificationTextInput.stories.tsx x: 17 commits (30d) y: 131 lines of code src/apps/frontend/src/compose/NotificationTextInput.tsx x: 8 commits (30d) y: 159 lines of code src/apps/frontend/src/hooks/useChannelConstraints.ts x: 8 commits (30d) y: 38 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.stories.tsx x: 14 commits (30d) y: 62 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.tsx x: 7 commits (30d) y: 91 lines of code src/apps/frontend/src/preview/PreviewSection.tsx x: 6 commits (30d) y: 77 lines of code src/apps/frontend/src/segment/AudienceSegmentsFormField.tsx x: 8 commits (30d) y: 24 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.stories.tsx x: 14 commits (30d) y: 100 lines of code src/apps/frontend/src/send/SendConfirmationModal.stories.tsx x: 7 commits (30d) y: 47 lines of code src/apps/frontend/src/send/TestEmailForm.tsx x: 19 commits (30d) y: 217 lines of code src/apps/frontend/src/testing/mock-resolve-article-from-capi.ts x: 7 commits (30d) y: 15 lines of code src/apps/frontend/src/testing/mock-send-notification.ts x: 13 commits (30d) y: 23 lines of code src/apps/frontend/src/testing/useNotificationFormStory.tsx x: 10 commits (30d) y: 89 lines of code src/apps/frontend/src/ui/LastUpdated.tsx x: 15 commits (30d) y: 23 lines of code src/apps/frontend/src/ui/PreviewPillList.tsx x: 8 commits (30d) y: 67 lines of code src/apps/frontend/src/ui/SelectableTile.tsx x: 8 commits (30d) y: 106 lines of code src/apps/frontend/src/ui/flag-icons.tsx x: 7 commits (30d) y: 186 lines of code src/apps/frontend/src/utils/newsletter-email-subject.ts x: 7 commits (30d) y: 9 lines of code src/apps/frontend/src/utils/notification-composer-reducer.ts x: 7 commits (30d) y: 99 lines of code src/apps/backend/notification-channels/newsletter/dispatch-newsletter-test.ts x: 11 commits (30d) y: 149 lines of code src/apps/backend/routers/preview/index.ts x: 7 commits (30d) y: 115 lines of code src/apps/frontend/src/ui/ExternalLink.tsx x: 4 commits (30d) y: 8 lines of code src/packages/database/schema/notification-dispatches.ts x: 13 commits (30d) y: 69 lines of code src/packages/services/email-rendering/client.ts x: 8 commits (30d) y: 97 lines of code .github/dependabot.yml x: 5 commits (30d) y: 42 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push-test.ts x: 17 commits (30d) y: 37 lines of code src/apps/backend/notification-channels/test-support.ts x: 6 commits (30d) y: 87 lines of code src/apps/frontend/src/api-client/client.ts x: 6 commits (30d) y: 175 lines of code src/apps/frontend/src/ui/LastUpdated.stories.tsx x: 12 commits (30d) y: 32 lines of code src/apps/frontend/src/ui/Tooltip.stories.tsx x: 12 commits (30d) y: 47 lines of code src/packages/services/mobile-n10n/client.ts x: 5 commits (30d) y: 132 lines of code src/packages/utils/urls.ts x: 5 commits (30d) y: 61 lines of code src/apps/backend/braze-client.ts x: 1 commits (30d) y: 37 lines of code src/apps/backend/middleware/permissions-middleware.ts x: 1 commits (30d) y: 33 lines of code src/apps/backend/middleware/static-assets-middleware.ts x: 1 commits (30d) y: 15 lines of code src/apps/backend/notification-channels/dispatch-outcome.ts x: 4 commits (30d) y: 26 lines of code src/apps/backend/notification-channels/shared.ts x: 1 commits (30d) y: 48 lines of code src/apps/backend/routers/channels/index.ts x: 1 commits (30d) y: 137 lines of code src/apps/backend/utils/permissions/permissions-store.ts x: 1 commits (30d) y: 21 lines of code src/apps/frontend/bunfig.toml x: 1 commits (30d) y: 2 lines of code src/apps/frontend/src/api-client/errors.ts x: 1 commits (30d) y: 55 lines of code src/apps/frontend/src/compose/ChannelDisplay.tsx x: 1 commits (30d) y: 67 lines of code src/apps/frontend/src/config/get-config.ts x: 1 commits (30d) y: 9 lines of code src/apps/frontend/src/history/HistoryPagination.tsx x: 1 commits (30d) y: 96 lines of code src/apps/frontend/src/hooks/useActiveSectionHref.ts x: 4 commits (30d) y: 4 lines of code src/apps/frontend/src/send/SendButton.tsx x: 1 commits (30d) y: 43 lines of code src/apps/frontend/src/ui/LoadingSpinner.tsx x: 1 commits (30d) y: 28 lines of code src/packages/database/migrations/0004_add_notifications_failed_targets.sql x: 3 commits (30d) y: 1 lines of code src/packages/database/repositories/notification-dispatches-repository.ts x: 4 commits (30d) y: 40 lines of code src/packages/database/scripts/env/remote/helpers/aws.ts x: 3 commits (30d) y: 110 lines of code src/packages/database/scripts/env/remote/start-remote-db-port-forward.ts x: 3 commits (30d) y: 60 lines of code src/packages/services/braze/client.ts x: 1 commits (30d) y: 317 lines of code
1452.0
lines of code
  min: 1.0
  average: 102.15
  25th percentile: 30.0
  median: 58.0
  75th percentile: 118.0
  max: 1452.0
0 133.0
commits (30d)
min: 1.0 | average: 14.04 | 25th percentile: 5.0 | median: 10.0 | 75th percentile: 18.0 | max: 133.0

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

src/apps/frontend/src/compose/ArticlePreviewCard.tsx x: 8 contributors (30d) y: 78 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.tsx x: 9 contributors (30d) y: 61 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.tsx x: 7 contributors (30d) y: 55 lines of code src/apps/frontend/src/ui/LiveIndicator.tsx x: 2 contributors (30d) y: 38 lines of code src/apps/frontend/src/utils/pillar-colors.ts x: 2 contributors (30d) y: 22 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.stories.tsx x: 4 contributors (30d) y: 129 lines of code src/apps/frontend/src/themes.ts x: 8 contributors (30d) y: 1452 lines of code src/apps/frontend/src/compose/ScrollWrapper.tsx x: 5 contributors (30d) y: 39 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.tsx x: 6 contributors (30d) y: 107 lines of code src/apps/frontend/src/history/HistoryTable.tsx x: 6 contributors (30d) y: 301 lines of code src/apps/frontend/src/history/HistoryView.stories.tsx x: 7 contributors (30d) y: 316 lines of code src/apps/frontend/src/history/HistoryView.tsx x: 7 contributors (30d) y: 114 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.stories.tsx x: 8 contributors (30d) y: 554 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.stories.tsx x: 7 contributors (30d) y: 412 lines of code src/apps/frontend/src/compose/NotificationFormWrapper.tsx x: 8 contributors (30d) y: 116 lines of code src/apps/frontend/src/frontend.tsx x: 6 contributors (30d) y: 55 lines of code src/apps/frontend/src/hooks/useUnsavedChanges.ts x: 1 contributors (30d) y: 20 lines of code src/apps/frontend/src/navigation/UnsavedChangesContext.ts x: 1 contributors (30d) y: 4 lines of code src/apps/frontend/src/compose/AppAlertReplaceImageSection.tsx x: 7 contributors (30d) y: 106 lines of code src/apps/frontend/src/compose/DispatchLandingPage.tsx x: 7 contributors (30d) y: 151 lines of code src/apps/frontend/src/hooks/useImageUrlCheck.ts x: 1 contributors (30d) y: 106 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.stories.tsx x: 3 contributors (30d) y: 160 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.tsx x: 3 contributors (30d) y: 297 lines of code src/apps/frontend/src/ui/Tooltip.tsx x: 7 contributors (30d) y: 146 lines of code src/apps/frontend/src/utils/relative-time.ts x: 6 contributors (30d) y: 88 lines of code src/apps/backend/middleware/serve-index.ts x: 5 contributors (30d) y: 53 lines of code src/apps/frontend/src/compose/DispatchInformationModal.stories.tsx x: 2 contributors (30d) y: 73 lines of code src/apps/frontend/src/compose/DispatchInformationModal.tsx x: 3 contributors (30d) y: 84 lines of code src/apps/frontend/src/compose/DispatchLandingPage.stories.tsx x: 7 contributors (30d) y: 360 lines of code src/apps/frontend/src/support-links.ts x: 2 contributors (30d) y: 2 lines of code src/apps/frontend/src/testing/app-config.ts x: 4 contributors (30d) y: 20 lines of code src/packages/models/frontend-app-config.ts x: 5 contributors (30d) y: 13 lines of code cdk/lib/notifications.ts x: 5 contributors (30d) y: 331 lines of code src/apps/backend/routers/content/index.ts x: 7 contributors (30d) y: 170 lines of code src/apps/frontend/src/compose/ArticlePreviewCard.stories.tsx x: 8 contributors (30d) y: 172 lines of code src/apps/frontend/src/testing/capi-fixtures.ts x: 6 contributors (30d) y: 78 lines of code src/apps/frontend/src/utils/article-presentation.ts x: 8 contributors (30d) y: 30 lines of code src/apps/frontend/src/utils/article-thumbnail.ts x: 8 contributors (30d) y: 27 lines of code src/apps/frontend/src/NotificationAlert.stories.tsx x: 2 contributors (30d) y: 161 lines of code src/apps/frontend/src/NotificationAlert.tsx x: 2 contributors (30d) y: 191 lines of code src/apps/frontend/src/history/HistoryPage.stories.tsx x: 7 contributors (30d) y: 909 lines of code src/apps/frontend/src/history/HistorySenderFilter.tsx x: 6 contributors (30d) y: 112 lines of code src/apps/frontend/src/layout/DispatchTile.stories.tsx x: 6 contributors (30d) y: 70 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.stories.tsx x: 6 contributors (30d) y: 22 lines of code src/apps/frontend/src/segment/Editions.stories.tsx x: 4 contributors (30d) y: 48 lines of code src/apps/frontend/src/segment/Editions.tsx x: 7 contributors (30d) y: 45 lines of code src/apps/frontend/src/segment/EditionsFormField.tsx x: 6 contributors (30d) y: 32 lines of code src/apps/frontend/src/segment/edition-options.ts x: 6 contributors (30d) y: 12 lines of code src/apps/frontend/src/send/DispatchReport.tsx x: 8 contributors (30d) y: 422 lines of code src/apps/frontend/src/testing/handlers/channels.ts x: 4 contributors (30d) y: 81 lines of code src/apps/frontend/src/utils/audience-edition-label.ts x: 2 contributors (30d) y: 45 lines of code src/apps/frontend/src/utils/display-text-helpers.ts x: 6 contributors (30d) y: 24 lines of code src/apps/frontend/src/utils/format-dispatch-target.ts x: 3 contributors (30d) y: 35 lines of code src/packages/config/audiences.ts x: 7 contributors (30d) y: 409 lines of code src/apps/frontend/.storybook/main.ts x: 2 contributors (30d) y: 11 lines of code src/apps/frontend/.storybook/preview.tsx x: 6 contributors (30d) y: 42 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.stories.tsx x: 9 contributors (30d) y: 730 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.stories.tsx x: 7 contributors (30d) y: 97 lines of code src/apps/frontend/src/compose/NotificationFormProvider.stories.tsx x: 7 contributors (30d) y: 128 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.stories.tsx x: 6 contributors (30d) y: 277 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.tsx x: 8 contributors (30d) y: 169 lines of code src/apps/frontend/src/latest-content/latest-published-content.ts x: 5 contributors (30d) y: 126 lines of code src/apps/frontend/src/send/TestEmailForm.stories.tsx x: 7 contributors (30d) y: 199 lines of code src/apps/frontend/src/ui/EmptyState.tsx x: 4 contributors (30d) y: 32 lines of code src/packages/models/capi.ts x: 8 contributors (30d) y: 149 lines of code src/apps/frontend/src/compose/NotificationTabLayout.tsx x: 7 contributors (30d) y: 101 lines of code src/apps/frontend/src/compose/NoSendPermissionWarning.tsx x: 2 contributors (30d) y: 28 lines of code src/apps/frontend/src/compose/ArticleImportControl.tsx x: 9 contributors (30d) y: 222 lines of code src/apps/frontend/src/testing/api-fixtures.ts x: 8 contributors (30d) y: 287 lines of code src/apps/frontend/src/utils/history-send-time.ts x: 7 contributors (30d) y: 62 lines of code src/packages/models/index.ts x: 7 contributors (30d) y: 8 lines of code src/apps/frontend/src/compose/ReviewWarning.tsx x: 5 contributors (30d) y: 62 lines of code src/apps/frontend/src/history/HistoryFilters.tsx x: 7 contributors (30d) y: 32 lines of code src/apps/frontend/src/preview/PreviewToggle.stories.tsx x: 6 contributors (30d) y: 82 lines of code src/apps/frontend/src/preview/PreviewToggle.tsx x: 5 contributors (30d) y: 51 lines of code src/apps/frontend/src/ui/CollapsibleSection.stories.tsx x: 1 contributors (30d) y: 66 lines of code src/apps/frontend/src/ui/CollapsibleSection.tsx x: 1 contributors (30d) y: 60 lines of code src/apps/frontend/src/layout/MainLayout.tsx x: 5 contributors (30d) y: 118 lines of code src/apps/frontend/src/layout/NotFoundTab.tsx x: 2 contributors (30d) y: 29 lines of code src/apps/frontend/src/routes.ts x: 6 contributors (30d) y: 97 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.tsx x: 8 contributors (30d) y: 127 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.tsx x: 8 contributors (30d) y: 48 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.stories.tsx x: 7 contributors (30d) y: 499 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.tsx x: 8 contributors (30d) y: 54 lines of code src/apps/frontend/src/testing/story-fixtures.ts x: 7 contributors (30d) y: 38 lines of code src/apps/frontend/src/utils/notification-forms.ts x: 7 contributors (30d) y: 86 lines of code src/apps/backend/persistence/persist-notification.ts x: 4 contributors (30d) y: 224 lines of code src/apps/backend/routers/notifications/index.ts x: 7 contributors (30d) y: 340 lines of code src/apps/backend/routers/notifications/schemas/notification-list-query.ts x: 7 contributors (30d) y: 125 lines of code src/apps/backend/routers/notifications/schemas/notification-send-request.ts x: 3 contributors (30d) y: 454 lines of code src/apps/backend/utils/test-utils/database.ts x: 5 contributors (30d) y: 106 lines of code src/apps/frontend/src/history/HistoryChannelFilter.tsx x: 4 contributors (30d) y: 96 lines of code src/apps/frontend/src/history/HistoryFailureTooltip.tsx x: 4 contributors (30d) y: 121 lines of code src/apps/frontend/src/history/HistoryPage.tsx x: 7 contributors (30d) y: 120 lines of code src/apps/frontend/src/segment/SegmentPicker.tsx x: 5 contributors (30d) y: 95 lines of code src/apps/frontend/src/send/SendInfoPreviewPill.tsx x: 6 contributors (30d) y: 118 lines of code src/apps/frontend/src/types.ts x: 8 contributors (30d) y: 68 lines of code src/apps/frontend/src/utils/history-search-params.ts x: 7 contributors (30d) y: 132 lines of code src/packages/database/migrations/0007_add_notifications_article_id.sql x: 3 contributors (30d) y: 28 lines of code src/packages/database/repositories/notifications-repository.dbtest.ts x: 7 contributors (30d) y: 779 lines of code src/packages/database/repositories/notifications-repository.ts x: 7 contributors (30d) y: 287 lines of code src/packages/database/schema/notifications.ts x: 4 contributors (30d) y: 77 lines of code src/packages/models/notification-channel.ts x: 4 contributors (30d) y: 12 lines of code src/apps/frontend/src/schemas.ts x: 7 contributors (30d) y: 229 lines of code src/packages/database/index.ts x: 5 contributors (30d) y: 24 lines of code src/apps/frontend/src/compose/NotificationFormContext.tsx x: 7 contributors (30d) y: 73 lines of code src/apps/frontend/src/grid-client/grid-api.ts x: 3 contributors (30d) y: 124 lines of code src/apps/frontend/src/grid-client/grid-url-parsing.ts x: 3 contributors (30d) y: 69 lines of code src/apps/frontend/src/hooks/useLatestPublishedContent.ts x: 4 contributors (30d) y: 35 lines of code src/apps/frontend/src/hooks/useNotificationSenders.ts x: 5 contributors (30d) y: 21 lines of code src/apps/frontend/src/testing/grid-fixtures.ts x: 3 contributors (30d) y: 18 lines of code src/apps/frontend/src/utils/form-validation.tsx x: 9 contributors (30d) y: 149 lines of code src/packages/models/grid.ts x: 3 contributors (30d) y: 100 lines of code src/apps/backend/routers/notifications/index.dbtest.ts x: 5 contributors (30d) y: 711 lines of code src/apps/frontend/src/compose/SideNavigationPanel.stories.tsx x: 3 contributors (30d) y: 60 lines of code src/apps/frontend/src/compose/SideNavigationPanel.tsx x: 3 contributors (30d) y: 207 lines of code src/apps/frontend/src/history/HistoryEmptyState.tsx x: 7 contributors (30d) y: 18 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.tsx x: 4 contributors (30d) y: 109 lines of code src/apps/frontend/src/preview/IPhoneAlertPreview.tsx x: 5 contributors (30d) y: 113 lines of code src/apps/frontend/src/send/SendConfirmationModal.tsx x: 6 contributors (30d) y: 68 lines of code src/apps/frontend/src/ui/GuardianLogo.tsx x: 3 contributors (30d) y: 31 lines of code src/packages/models/api-contract/history-alert-type.ts x: 3 contributors (30d) y: 17 lines of code src/packages/database/migrations/0006_add_notifications_sender_index.sql x: 3 contributors (30d) y: 1 lines of code src/apps/frontend/src/history/HistorySearchFilter.tsx x: 4 contributors (30d) y: 52 lines of code src/packages/models/api-contract/audience.ts x: 4 contributors (30d) y: 141 lines of code src/apps/frontend/src/preview/HTMLPreview.tsx x: 8 contributors (30d) y: 157 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.tsx x: 6 contributors (30d) y: 62 lines of code src/apps/frontend/src/send/SendFailedModal.tsx x: 7 contributors (30d) y: 281 lines of code src/apps/backend/middleware/grafana-cors.ts x: 3 contributors (30d) y: 11 lines of code src/apps/backend/routers/grafana/index.ts x: 3 contributors (30d) y: 149 lines of code src/apps/frontend/src/api-client/redirect-to-login.ts x: 5 contributors (30d) y: 5 lines of code src/apps/frontend/src/compose/CharacterCount.tsx x: 5 contributors (30d) y: 85 lines of code src/apps/frontend/src/compose/CreateFormTitle.tsx x: 5 contributors (30d) y: 42 lines of code src/apps/frontend/src/compose/DeliveryOptionFormField.tsx x: 5 contributors (30d) y: 30 lines of code src/apps/frontend/src/compose/NotificationTextInput.stories.tsx x: 6 contributors (30d) y: 131 lines of code src/apps/frontend/src/compose/NotificationTextInput.tsx x: 5 contributors (30d) y: 159 lines of code src/apps/frontend/src/layout/constants.ts x: 4 contributors (30d) y: 2 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.tsx x: 5 contributors (30d) y: 91 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.stories.tsx x: 6 contributors (30d) y: 100 lines of code src/apps/frontend/src/send/TestEmailForm.tsx x: 7 contributors (30d) y: 217 lines of code src/apps/frontend/src/ui/LastUpdated.tsx x: 7 contributors (30d) y: 23 lines of code src/apps/frontend/src/ui/PreviewPillList.tsx x: 5 contributors (30d) y: 67 lines of code src/apps/frontend/src/ui/flag-icons.tsx x: 5 contributors (30d) y: 186 lines of code src/apps/frontend/src/utils/newsletter-email-subject.ts x: 5 contributors (30d) y: 9 lines of code src/apps/frontend/src/utils/notification-composer-reducer.ts x: 5 contributors (30d) y: 99 lines of code src/apps/backend/notification-channels/newsletter/dispatch-newsletter-test.ts x: 5 contributors (30d) y: 149 lines of code src/apps/backend/routers/preview/index.ts x: 4 contributors (30d) y: 115 lines of code src/packages/database/schema/notification-dispatches.ts x: 5 contributors (30d) y: 69 lines of code .github/dependabot.yml x: 4 contributors (30d) y: 42 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push.ts x: 5 contributors (30d) y: 169 lines of code src/apps/backend/notification-channels/test-support.ts x: 4 contributors (30d) y: 87 lines of code src/apps/frontend/src/api-client/client.ts x: 5 contributors (30d) y: 175 lines of code src/apps/frontend/src/preview/PreviewSection.stories.tsx x: 4 contributors (30d) y: 10 lines of code src/apps/frontend/src/ui/Tooltip.stories.tsx x: 7 contributors (30d) y: 47 lines of code src/packages/services/mobile-n10n/client.ts x: 4 contributors (30d) y: 132 lines of code src/packages/utils/urls.ts x: 4 contributors (30d) y: 61 lines of code src/apps/backend/braze-client.ts x: 1 contributors (30d) y: 37 lines of code src/apps/backend/middleware/permissions-middleware.ts x: 1 contributors (30d) y: 33 lines of code src/apps/backend/middleware/static-assets-middleware.ts x: 1 contributors (30d) y: 15 lines of code src/apps/backend/notification-channels/shared.ts x: 1 contributors (30d) y: 48 lines of code src/apps/backend/routers/channels/index.ts x: 1 contributors (30d) y: 137 lines of code src/apps/frontend/src/api-client/errors.ts x: 1 contributors (30d) y: 55 lines of code src/apps/frontend/src/config/get-config.ts x: 1 contributors (30d) y: 9 lines of code src/apps/frontend/src/history/HistoryPagination.tsx x: 1 contributors (30d) y: 96 lines of code src/apps/frontend/src/send/SendButton.tsx x: 1 contributors (30d) y: 43 lines of code src/apps/frontend/src/ui/LoadingSpinner.tsx x: 1 contributors (30d) y: 28 lines of code src/packages/database/migrations/0005_structured_dispatch_targets.sql x: 2 contributors (30d) y: 79 lines of code src/packages/database/scripts/env/remote/helpers/aws.ts x: 2 contributors (30d) y: 110 lines of code src/packages/database/scripts/env/remote/start-remote-db-port-forward.ts x: 2 contributors (30d) y: 60 lines of code src/packages/services/braze/client.ts x: 1 contributors (30d) y: 317 lines of code
1452.0
lines of code
  min: 1.0
  average: 102.15
  25th percentile: 30.0
  median: 58.0
  75th percentile: 118.0
  max: 1452.0
0 9.0
contributors (30d)
min: 1.0 | average: 4.69 | 25th percentile: 3.0 | median: 5.0 | 75th percentile: 7.0 | max: 9.0

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

src/apps/frontend/src/compose/ArticlePreviewCard.tsx x: 30 commits (90d) y: 78 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.tsx x: 23 commits (90d) y: 61 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.tsx x: 28 commits (90d) y: 55 lines of code src/apps/frontend/src/ui/LiveIndicator.tsx x: 5 commits (90d) y: 38 lines of code src/apps/frontend/src/utils/pillar-colors.ts x: 5 commits (90d) y: 22 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.stories.tsx x: 11 commits (90d) y: 129 lines of code src/apps/frontend/src/themes.ts x: 140 commits (90d) y: 1452 lines of code src/apps/frontend/src/compose/ScrollWrapper.tsx x: 9 commits (90d) y: 39 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.tsx x: 18 commits (90d) y: 107 lines of code src/apps/frontend/src/history/HistoryTable.tsx x: 54 commits (90d) y: 301 lines of code src/apps/frontend/src/history/HistoryView.stories.tsx x: 65 commits (90d) y: 316 lines of code src/apps/frontend/src/history/HistoryView.tsx x: 70 commits (90d) y: 114 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.stories.tsx x: 80 commits (90d) y: 554 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.stories.tsx x: 25 commits (90d) y: 412 lines of code src/apps/frontend/src/compose/NotificationFormWrapper.tsx x: 38 commits (90d) y: 116 lines of code src/apps/frontend/src/frontend.tsx x: 41 commits (90d) y: 55 lines of code src/apps/frontend/src/hooks/useUnsavedChanges.ts x: 2 commits (90d) y: 20 lines of code src/apps/frontend/src/navigation/UnsavedChangesContext.ts x: 2 commits (90d) y: 4 lines of code src/apps/frontend/src/compose/AppAlertReplaceImageSection.tsx x: 37 commits (90d) y: 106 lines of code src/apps/frontend/src/compose/DispatchLandingPage.tsx x: 26 commits (90d) y: 151 lines of code src/apps/frontend/src/hooks/useImageUrlCheck.ts x: 2 commits (90d) y: 106 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.stories.tsx x: 12 commits (90d) y: 160 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.tsx x: 19 commits (90d) y: 297 lines of code src/apps/frontend/src/ui/Tooltip.tsx x: 18 commits (90d) y: 146 lines of code src/apps/frontend/src/utils/relative-time.ts x: 17 commits (90d) y: 88 lines of code src/apps/backend/middleware/serve-index.ts x: 39 commits (90d) y: 53 lines of code src/apps/frontend/src/compose/DispatchInformationModal.stories.tsx x: 5 commits (90d) y: 73 lines of code src/apps/frontend/src/compose/DispatchInformationModal.tsx x: 10 commits (90d) y: 84 lines of code src/apps/frontend/src/compose/DispatchLandingPage.stories.tsx x: 33 commits (90d) y: 360 lines of code src/apps/frontend/src/support-links.ts x: 5 commits (90d) y: 2 lines of code src/apps/frontend/src/testing/app-config.ts x: 9 commits (90d) y: 20 lines of code src/packages/models/frontend-app-config.ts x: 23 commits (90d) y: 13 lines of code cdk/lib/notifications.ts x: 100 commits (90d) y: 331 lines of code src/apps/backend/routers/content/index.ts x: 39 commits (90d) y: 170 lines of code src/apps/frontend/src/compose/ArticlePreviewCard.stories.tsx x: 40 commits (90d) y: 172 lines of code src/apps/frontend/src/testing/capi-fixtures.ts x: 13 commits (90d) y: 78 lines of code src/apps/frontend/src/utils/article-presentation.ts x: 18 commits (90d) y: 30 lines of code src/apps/frontend/src/utils/article-thumbnail.ts x: 21 commits (90d) y: 27 lines of code src/apps/frontend/src/NotificationAlert.stories.tsx x: 12 commits (90d) y: 161 lines of code src/apps/frontend/src/NotificationAlert.tsx x: 13 commits (90d) y: 191 lines of code src/apps/frontend/src/history/HistoryAudienceFilter.tsx x: 21 commits (90d) y: 103 lines of code src/apps/frontend/src/history/HistoryPage.stories.tsx x: 69 commits (90d) y: 909 lines of code src/apps/frontend/src/history/HistorySenderFilter.tsx x: 15 commits (90d) y: 112 lines of code src/apps/frontend/src/layout/DispatchTile.stories.tsx x: 15 commits (90d) y: 70 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.stories.tsx x: 10 commits (90d) y: 22 lines of code src/apps/frontend/src/segment/Editions.stories.tsx x: 12 commits (90d) y: 48 lines of code src/apps/frontend/src/segment/Editions.tsx x: 18 commits (90d) y: 45 lines of code src/apps/frontend/src/segment/EditionsFormField.tsx x: 15 commits (90d) y: 32 lines of code src/apps/frontend/src/segment/edition-options.ts x: 10 commits (90d) y: 12 lines of code src/apps/frontend/src/send/DispatchReport.tsx x: 34 commits (90d) y: 422 lines of code src/apps/frontend/src/testing/handlers/channels.ts x: 15 commits (90d) y: 81 lines of code src/apps/frontend/src/ui/PreviewPillList.stories.tsx x: 19 commits (90d) y: 32 lines of code src/apps/frontend/src/utils/audience-edition-label.ts x: 3 commits (90d) y: 45 lines of code src/apps/frontend/src/utils/display-text-helpers.ts x: 22 commits (90d) y: 24 lines of code src/apps/frontend/src/utils/format-dispatch-target.ts x: 7 commits (90d) y: 35 lines of code src/apps/frontend/src/utils/notification-history-mapper.ts x: 22 commits (90d) y: 145 lines of code src/packages/config/audiences.ts x: 88 commits (90d) y: 409 lines of code src/apps/frontend/.storybook/main.ts x: 29 commits (90d) y: 11 lines of code src/apps/frontend/.storybook/preview.tsx x: 53 commits (90d) y: 42 lines of code src/apps/frontend/src/AccessControlledLayout.tsx x: 10 commits (90d) y: 27 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.stories.tsx x: 64 commits (90d) y: 730 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.stories.tsx x: 14 commits (90d) y: 97 lines of code src/apps/frontend/src/compose/NotificationFormProvider.stories.tsx x: 30 commits (90d) y: 128 lines of code src/apps/frontend/src/hooks/useNotificationHistory.ts x: 52 commits (90d) y: 143 lines of code src/apps/frontend/src/hooks/useRelativeTime.ts x: 11 commits (90d) y: 75 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.stories.tsx x: 20 commits (90d) y: 56 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.stories.tsx x: 31 commits (90d) y: 277 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.tsx x: 44 commits (90d) y: 169 lines of code src/apps/frontend/src/latest-content/latest-published-content.ts x: 15 commits (90d) y: 126 lines of code src/apps/frontend/src/send/TestEmailForm.stories.tsx x: 21 commits (90d) y: 199 lines of code src/apps/frontend/src/testing/handlers/notifications.ts x: 9 commits (90d) y: 27 lines of code src/apps/frontend/src/ui/EmptyState.tsx x: 16 commits (90d) y: 32 lines of code src/packages/models/capi.ts x: 27 commits (90d) y: 149 lines of code src/packages/services/capi/client.ts x: 34 commits (90d) y: 169 lines of code src/apps/frontend/src/compose/NotificationTabLayout.tsx x: 20 commits (90d) y: 101 lines of code src/apps/frontend/src/compose/NoSendPermissionWarning.tsx x: 6 commits (90d) y: 28 lines of code src/apps/frontend/src/layout/NoPermissionsTab.stories.tsx x: 6 commits (90d) y: 22 lines of code src/apps/frontend/src/layout/NoPermissionsTab.tsx x: 5 commits (90d) y: 25 lines of code src/apps/frontend/src/compose/ArticleImportControl.tsx x: 31 commits (90d) y: 222 lines of code src/apps/frontend/src/hooks/usePreviousNotifications.ts x: 7 commits (90d) y: 26 lines of code src/apps/frontend/src/testing/api-fixtures.ts x: 21 commits (90d) y: 287 lines of code src/apps/frontend/src/utils/history-send-time.ts x: 14 commits (90d) y: 62 lines of code src/packages/models/index.ts x: 45 commits (90d) y: 8 lines of code src/apps/frontend/src/compose/ReviewWarning.tsx x: 8 commits (90d) y: 62 lines of code src/apps/frontend/src/history/HistoryFilters.tsx x: 33 commits (90d) y: 32 lines of code src/apps/frontend/src/preview/PreviewToggle.stories.tsx x: 25 commits (90d) y: 82 lines of code src/apps/frontend/src/preview/PreviewToggle.tsx x: 15 commits (90d) y: 51 lines of code src/apps/frontend/src/ui/CollapsibleSection.stories.tsx x: 2 commits (90d) y: 66 lines of code src/apps/frontend/src/ui/CollapsibleSection.tsx x: 2 commits (90d) y: 60 lines of code src/apps/frontend/src/ui/SendTimeTooltip.tsx x: 12 commits (90d) y: 42 lines of code src/apps/frontend/src/App.tsx x: 78 commits (90d) y: 61 lines of code src/apps/frontend/src/layout/MainLayout.tsx x: 31 commits (90d) y: 118 lines of code src/apps/frontend/src/layout/NotFoundTab.tsx x: 6 commits (90d) y: 29 lines of code src/apps/frontend/src/routes.ts x: 26 commits (90d) y: 97 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.tsx x: 48 commits (90d) y: 127 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.tsx x: 34 commits (90d) y: 48 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.tsx x: 25 commits (90d) y: 129 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.stories.tsx x: 42 commits (90d) y: 499 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.tsx x: 40 commits (90d) y: 54 lines of code src/apps/frontend/src/send/DispatchReport.stories.tsx x: 33 commits (90d) y: 291 lines of code src/apps/frontend/src/compose/ArticleThumbnailImageFormField.tsx x: 45 commits (90d) y: 145 lines of code src/apps/frontend/src/testing/story-fixtures.ts x: 15 commits (90d) y: 38 lines of code src/apps/frontend/src/utils/build-request-payloads.ts x: 36 commits (90d) y: 129 lines of code src/apps/frontend/src/utils/notification-forms.ts x: 26 commits (90d) y: 86 lines of code src/apps/backend/persistence/persist-notification.ts x: 38 commits (90d) y: 224 lines of code src/apps/backend/routers/notifications/index.ts x: 134 commits (90d) y: 340 lines of code src/apps/backend/routers/notifications/schemas/notification-list-query.ts x: 47 commits (90d) y: 125 lines of code src/apps/backend/routers/notifications/schemas/notification-send-request.ts x: 67 commits (90d) y: 454 lines of code src/apps/backend/utils/test-utils/database.ts x: 33 commits (90d) y: 106 lines of code src/apps/frontend/src/history/ClearHistoryFiltersButton.tsx x: 23 commits (90d) y: 34 lines of code src/apps/frontend/src/history/HistoryAlertTypeFilter.tsx x: 13 commits (90d) y: 107 lines of code src/apps/frontend/src/history/HistoryChannelFilter.tsx x: 9 commits (90d) y: 96 lines of code src/apps/frontend/src/history/HistoryFailureTooltip.tsx x: 14 commits (90d) y: 121 lines of code src/apps/frontend/src/history/HistoryPage.tsx x: 61 commits (90d) y: 120 lines of code src/apps/frontend/src/history/HistoryStatusFilter.tsx x: 16 commits (90d) y: 96 lines of code src/apps/frontend/src/segment/SegmentPicker.tsx x: 18 commits (90d) y: 95 lines of code src/apps/frontend/src/send/SendInfoPreviewPill.tsx x: 17 commits (90d) y: 118 lines of code src/apps/frontend/src/types.ts x: 30 commits (90d) y: 68 lines of code src/apps/frontend/src/utils/history-search-params.ts x: 34 commits (90d) y: 132 lines of code src/apps/frontend/src/utils/option-values.ts x: 24 commits (90d) y: 43 lines of code src/packages/config/channels.ts x: 39 commits (90d) y: 20 lines of code src/packages/database/migrations/0007_add_notifications_article_id.sql x: 19 commits (90d) y: 28 lines of code src/packages/database/repositories/notifications-repository.dbtest.ts x: 72 commits (90d) y: 779 lines of code src/packages/database/repositories/notifications-repository.ts x: 80 commits (90d) y: 287 lines of code src/packages/database/schema/notifications.ts x: 28 commits (90d) y: 77 lines of code src/packages/models/notification-channel.ts x: 6 commits (90d) y: 12 lines of code src/apps/frontend/src/schemas.ts x: 23 commits (90d) y: 229 lines of code src/packages/database/index.ts x: 46 commits (90d) y: 24 lines of code src/apps/frontend/src/compose/NotificationFormContext.tsx x: 14 commits (90d) y: 73 lines of code src/apps/frontend/src/grid-client/grid-api.ts x: 4 commits (90d) y: 124 lines of code src/apps/frontend/src/grid-client/grid-url-parsing.ts x: 4 commits (90d) y: 69 lines of code src/apps/frontend/src/hooks/useLatestPublishedContent.ts x: 12 commits (90d) y: 35 lines of code src/apps/frontend/src/hooks/useNotificationSenders.ts x: 7 commits (90d) y: 21 lines of code src/apps/frontend/src/hooks/useSendNotification.ts x: 19 commits (90d) y: 58 lines of code src/apps/frontend/src/testing/grid-fixtures.ts x: 4 commits (90d) y: 18 lines of code src/apps/frontend/src/ui/RefreshButton.tsx x: 12 commits (90d) y: 52 lines of code src/apps/frontend/src/utils/form-validation.tsx x: 30 commits (90d) y: 149 lines of code src/packages/models/grid.ts x: 6 commits (90d) y: 100 lines of code src/apps/backend/routers/notifications/index.dbtest.ts x: 48 commits (90d) y: 711 lines of code src/apps/frontend/src/compose/SideNavigationPanel.stories.tsx x: 4 commits (90d) y: 60 lines of code src/apps/frontend/src/compose/SideNavigationPanel.tsx x: 4 commits (90d) y: 207 lines of code src/apps/frontend/src/history/HistoryEmptyState.tsx x: 19 commits (90d) y: 18 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.tsx x: 8 commits (90d) y: 109 lines of code src/apps/frontend/src/preview/IPhoneAlertPreview.tsx x: 13 commits (90d) y: 113 lines of code src/apps/frontend/src/send/SendConfirmationModal.tsx x: 12 commits (90d) y: 68 lines of code src/apps/frontend/src/ui/GuardianLogo.tsx x: 4 commits (90d) y: 31 lines of code src/packages/models/api-contract/history-alert-type.ts x: 5 commits (90d) y: 17 lines of code src/apps/frontend/src/compose/PreviewTextFormField.tsx x: 20 commits (90d) y: 92 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.stories.tsx x: 16 commits (90d) y: 111 lines of code src/packages/database/migrations/0006_add_notifications_sender_index.sql x: 6 commits (90d) y: 1 lines of code src/apps/frontend/src/history/HistorySearchFilter.tsx x: 6 commits (90d) y: 52 lines of code src/packages/database/test-helpers.ts x: 18 commits (90d) y: 112 lines of code src/packages/models/api-contract/audience.ts x: 16 commits (90d) y: 141 lines of code src/apps/frontend/src/hooks/useDebouncedValue.ts x: 4 commits (90d) y: 12 lines of code src/apps/frontend/src/preview/HTMLPreview.tsx x: 27 commits (90d) y: 157 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.tsx x: 9 commits (90d) y: 62 lines of code src/apps/frontend/src/send/SendFailedModal.tsx x: 21 commits (90d) y: 281 lines of code src/apps/frontend/src/testing/mock-fetch-email.ts x: 8 commits (90d) y: 69 lines of code src/apps/backend/app.ts x: 101 commits (90d) y: 95 lines of code src/apps/backend/middleware/grafana-cors.ts x: 8 commits (90d) y: 11 lines of code src/apps/backend/routers/grafana/grafana-query-request.ts x: 5 commits (90d) y: 30 lines of code src/apps/backend/routers/grafana/index.ts x: 14 commits (90d) y: 149 lines of code src/apps/frontend/src/api-client/redirect-to-login.ts x: 7 commits (90d) y: 5 lines of code src/apps/frontend/src/compose/AlertTypeFormField.tsx x: 18 commits (90d) y: 37 lines of code src/apps/frontend/src/compose/CreateFormTitle.tsx x: 11 commits (90d) y: 42 lines of code src/apps/frontend/src/compose/DeliveryOptionFormField.tsx x: 12 commits (90d) y: 30 lines of code src/apps/frontend/src/compose/KickerFormField.tsx x: 14 commits (90d) y: 40 lines of code src/apps/frontend/src/compose/NotificationFormProvider.tsx x: 15 commits (90d) y: 96 lines of code src/apps/frontend/src/compose/NotificationFormSection.tsx x: 15 commits (90d) y: 43 lines of code src/apps/frontend/src/compose/NotificationTextInput.stories.tsx x: 19 commits (90d) y: 131 lines of code src/apps/frontend/src/compose/NotificationTextInput.tsx x: 10 commits (90d) y: 159 lines of code src/apps/frontend/src/compose/SubjectFormField.tsx x: 14 commits (90d) y: 45 lines of code src/apps/frontend/src/hooks/useChannelConstraints.ts x: 10 commits (90d) y: 38 lines of code src/apps/frontend/src/layout/MainLayout.stories.tsx x: 17 commits (90d) y: 97 lines of code src/apps/frontend/src/layout/constants.ts x: 8 commits (90d) y: 2 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.stories.tsx x: 17 commits (90d) y: 62 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.tsx x: 7 commits (90d) y: 91 lines of code src/apps/frontend/src/preview/PreviewSection.tsx x: 8 commits (90d) y: 77 lines of code src/apps/frontend/src/segment/AudienceSegmentsFormField.tsx x: 13 commits (90d) y: 24 lines of code src/apps/frontend/src/segment/FlagPreviewPill.tsx x: 11 commits (90d) y: 39 lines of code src/apps/frontend/src/segment/useChannelAudiences.ts x: 16 commits (90d) y: 37 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.stories.tsx x: 16 commits (90d) y: 100 lines of code src/apps/frontend/src/send/SendConfirmationModal.stories.tsx x: 7 commits (90d) y: 47 lines of code src/apps/frontend/src/send/TestEmailForm.tsx x: 23 commits (90d) y: 217 lines of code src/apps/frontend/src/testing/mock-resolve-article-from-capi.ts x: 7 commits (90d) y: 15 lines of code src/apps/frontend/src/testing/mock-send-notification.ts x: 16 commits (90d) y: 23 lines of code src/apps/frontend/src/testing/useNotificationFormStory.tsx x: 10 commits (90d) y: 89 lines of code src/apps/frontend/src/ui/FlagAtom.tsx x: 10 commits (90d) y: 31 lines of code src/apps/frontend/src/ui/LastUpdated.tsx x: 15 commits (90d) y: 23 lines of code src/apps/frontend/src/ui/PreviewPillList.tsx x: 10 commits (90d) y: 67 lines of code src/apps/frontend/src/ui/SelectableTile.tsx x: 10 commits (90d) y: 106 lines of code src/apps/frontend/src/ui/flag-icons.tsx x: 7 commits (90d) y: 186 lines of code src/apps/frontend/src/utils/newsletter-email-subject.ts x: 7 commits (90d) y: 9 lines of code src/apps/frontend/src/utils/notification-composer-reducer.ts x: 7 commits (90d) y: 99 lines of code src/apps/backend/middleware/error-middleware.ts x: 29 commits (90d) y: 34 lines of code src/apps/backend/routers/preview/index.ts x: 22 commits (90d) y: 115 lines of code src/apps/frontend/src/ui/ExternalLink.tsx x: 4 commits (90d) y: 8 lines of code src/packages/database/schema/notification-dispatches.ts x: 20 commits (90d) y: 69 lines of code eslint.config.js x: 36 commits (90d) y: 39 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push-test.ts x: 28 commits (90d) y: 37 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push.ts x: 40 commits (90d) y: 169 lines of code src/apps/backend/notification-channels/dispatch-notification-test.ts x: 21 commits (90d) y: 32 lines of code src/apps/backend/notification-channels/dispatch-notification.ts x: 59 commits (90d) y: 43 lines of code src/apps/backend/notification-channels/test-support.ts x: 18 commits (90d) y: 87 lines of code src/apps/frontend/src/api-client/client.ts x: 8 commits (90d) y: 175 lines of code src/apps/frontend/src/index.html x: 19 commits (90d) y: 39 lines of code src/apps/frontend/src/preview/PreviewSection.stories.tsx x: 9 commits (90d) y: 10 lines of code src/apps/frontend/src/ui/RefreshButton.stories.tsx x: 11 commits (90d) y: 31 lines of code src/apps/frontend/src/utils/send-notification.ts x: 8 commits (90d) y: 53 lines of code src/packages/services/mobile-n10n/client.ts x: 21 commits (90d) y: 132 lines of code src/apps/backend/braze-client.ts x: 3 commits (90d) y: 37 lines of code src/apps/backend/middleware/permissions-middleware.ts x: 17 commits (90d) y: 33 lines of code src/apps/backend/notification-channels/dispatch-outcome.ts x: 4 commits (90d) y: 26 lines of code src/apps/backend/notification-channels/shared.ts x: 9 commits (90d) y: 48 lines of code src/apps/backend/routers/channels/index.ts x: 68 commits (90d) y: 137 lines of code src/apps/backend/utils/permissions/permissions-store.ts x: 20 commits (90d) y: 21 lines of code src/apps/frontend/bunfig.toml x: 12 commits (90d) y: 2 lines of code src/apps/frontend/src/api-client/config.ts x: 3 commits (90d) y: 1 lines of code src/apps/frontend/src/api-client/errors.ts x: 3 commits (90d) y: 55 lines of code src/apps/frontend/src/compose/ChannelDisplay.tsx x: 4 commits (90d) y: 67 lines of code src/apps/frontend/src/config/get-config.ts x: 3 commits (90d) y: 9 lines of code src/apps/frontend/src/history/HistoryPagination.tsx x: 3 commits (90d) y: 96 lines of code src/apps/frontend/src/hooks/useActiveSectionHref.ts x: 4 commits (90d) y: 4 lines of code src/apps/frontend/src/preview/DeviceAlertPreview.tsx x: 3 commits (90d) y: 31 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.tsx x: 5 commits (90d) y: 48 lines of code src/apps/frontend/src/ui/LoadingSpinner.tsx x: 3 commits (90d) y: 28 lines of code src/apps/frontend/src/utils/fetch-email-preview.ts x: 3 commits (90d) y: 15 lines of code src/packages/config/index.ts x: 46 commits (90d) y: 17 lines of code src/packages/database/client.ts x: 26 commits (90d) y: 29 lines of code src/packages/database/drizzle.config.ts x: 27 commits (90d) y: 10 lines of code src/packages/database/migrations/0000_initial.sql x: 7 commits (90d) y: 33 lines of code src/packages/database/migrations/0005_structured_dispatch_targets.sql x: 6 commits (90d) y: 79 lines of code src/packages/database/scripts/env/remote/start-remote-db-port-forward.ts x: 7 commits (90d) y: 60 lines of code src/packages/services/braze/client.ts x: 19 commits (90d) y: 317 lines of code src/apps/backend/middleware/auth-middleware.ts x: 31 commits (90d) y: 58 lines of code src/packages/database/scripts/env/remote/helpers/cli-args.ts x: 4 commits (90d) y: 49 lines of code src/packages/database/scripts/env/remote/helpers/verify-remote-database-connection.ts x: 3 commits (90d) y: 61 lines of code src/packages/services/index.ts x: 10 commits (90d) y: 4 lines of code src/packages/config/ssm.ts x: 28 commits (90d) y: 119 lines of code src/apps/backend/routers/health/index.ts x: 14 commits (90d) y: 5 lines of code docker/docker-compose.local.yml x: 17 commits (90d) y: 18 lines of code src/apps/backend/utils/test-utils/panda-auth.ts x: 15 commits (90d) y: 55 lines of code src/apps/frontend/public/mockServiceWorker.js x: 5 commits (90d) y: 232 lines of code src/apps/backend/routers/user/index.ts x: 22 commits (90d) y: 13 lines of code src/apps/frontend/src/index.ts x: 11 commits (90d) y: 12 lines of code src/apps/backend/utils/test-utils/permissions.ts x: 6 commits (90d) y: 43 lines of code src/apps/backend/utils/test-utils/server.ts x: 3 commits (90d) y: 22 lines of code dev-nginx.yaml x: 11 commits (90d) y: 5 lines of code src/apps/backend/client-assets.ts x: 10 commits (90d) y: 7 lines of code src/packages/http-logger/logger.ts x: 8 commits (90d) y: 44 lines of code lefthook.yml x: 28 commits (90d) y: 21 lines of code src/apps/backend/index.ts x: 15 commits (90d) y: 6 lines of code src/packages/http-logger/gen-req-id.ts x: 5 commits (90d) y: 8 lines of code cdk/eslint.config.mjs x: 9 commits (90d) y: 2 lines of code scripts/check-pinned-deps.ts x: 4 commits (90d) y: 53 lines of code src/apps/frontend/src/index.css x: 8 commits (90d) y: 20 lines of code
1452.0
lines of code
  min: 1.0
  average: 93.4
  25th percentile: 25.0
  median: 49.0
  75th percentile: 110.5
  max: 1452.0
0 140.0
commits (90d)
min: 2.0 | average: 19.13 | 25th percentile: 6.0 | median: 13.0 | 75th percentile: 24.0 | max: 140.0

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

src/apps/frontend/src/compose/ArticlePreviewCard.tsx x: 8 contributors (90d) y: 78 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.tsx x: 9 contributors (90d) y: 61 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.tsx x: 7 contributors (90d) y: 55 lines of code src/apps/frontend/src/ui/LiveIndicator.tsx x: 2 contributors (90d) y: 38 lines of code src/apps/frontend/src/utils/pillar-colors.ts x: 4 contributors (90d) y: 22 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.stories.tsx x: 4 contributors (90d) y: 129 lines of code src/apps/frontend/src/themes.ts x: 8 contributors (90d) y: 1452 lines of code src/apps/frontend/src/compose/ScrollWrapper.tsx x: 5 contributors (90d) y: 39 lines of code src/apps/frontend/src/history/DispatchLandingHistoryView.tsx x: 6 contributors (90d) y: 107 lines of code src/apps/frontend/src/history/HistoryTable.tsx x: 6 contributors (90d) y: 301 lines of code src/apps/frontend/src/history/HistoryView.stories.tsx x: 7 contributors (90d) y: 316 lines of code src/apps/frontend/src/history/HistoryView.tsx x: 7 contributors (90d) y: 114 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.stories.tsx x: 8 contributors (90d) y: 554 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailForm.stories.tsx x: 7 contributors (90d) y: 412 lines of code src/apps/frontend/src/compose/NotificationFormWrapper.tsx x: 8 contributors (90d) y: 116 lines of code src/apps/frontend/src/hooks/useUnsavedChanges.ts x: 1 contributors (90d) y: 20 lines of code src/apps/frontend/src/navigation/UnsavedChangesContext.ts x: 1 contributors (90d) y: 4 lines of code src/apps/frontend/src/compose/AppAlertReplaceImageSection.tsx x: 7 contributors (90d) y: 106 lines of code src/apps/frontend/src/compose/DispatchLandingPage.tsx x: 7 contributors (90d) y: 151 lines of code src/apps/frontend/src/hooks/useImageUrlCheck.ts x: 1 contributors (90d) y: 106 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.stories.tsx x: 3 contributors (90d) y: 160 lines of code src/apps/frontend/src/compose/PreviousNotificationsBar.tsx x: 3 contributors (90d) y: 297 lines of code src/apps/frontend/src/ui/Tooltip.tsx x: 7 contributors (90d) y: 146 lines of code src/apps/frontend/src/utils/relative-time.ts x: 7 contributors (90d) y: 88 lines of code src/apps/backend/middleware/serve-index.ts x: 8 contributors (90d) y: 53 lines of code src/apps/frontend/src/compose/DispatchInformationModal.stories.tsx x: 2 contributors (90d) y: 73 lines of code src/apps/frontend/src/compose/DispatchInformationModal.tsx x: 3 contributors (90d) y: 84 lines of code src/apps/frontend/src/compose/DispatchLandingPage.stories.tsx x: 7 contributors (90d) y: 360 lines of code src/apps/frontend/src/support-links.ts x: 2 contributors (90d) y: 2 lines of code src/apps/frontend/src/testing/app-config.ts x: 6 contributors (90d) y: 20 lines of code src/packages/models/frontend-app-config.ts x: 5 contributors (90d) y: 13 lines of code cdk/lib/notifications.ts x: 9 contributors (90d) y: 331 lines of code src/apps/backend/routers/content/index.ts x: 8 contributors (90d) y: 170 lines of code src/apps/frontend/src/compose/ArticlePreviewCard.stories.tsx x: 8 contributors (90d) y: 172 lines of code src/apps/frontend/src/testing/capi-fixtures.ts x: 7 contributors (90d) y: 78 lines of code src/apps/frontend/src/utils/article-presentation.ts x: 8 contributors (90d) y: 30 lines of code src/apps/frontend/src/utils/article-thumbnail.ts x: 8 contributors (90d) y: 27 lines of code src/apps/frontend/src/NotificationAlert.stories.tsx x: 2 contributors (90d) y: 161 lines of code src/apps/frontend/src/NotificationAlert.tsx x: 2 contributors (90d) y: 191 lines of code src/apps/frontend/src/history/HistoryPage.stories.tsx x: 7 contributors (90d) y: 909 lines of code src/apps/frontend/src/history/HistorySenderFilter.tsx x: 6 contributors (90d) y: 112 lines of code src/apps/frontend/src/layout/DispatchTile.stories.tsx x: 6 contributors (90d) y: 70 lines of code src/apps/frontend/src/segment/Editions.stories.tsx x: 5 contributors (90d) y: 48 lines of code src/apps/frontend/src/segment/Editions.tsx x: 7 contributors (90d) y: 45 lines of code src/apps/frontend/src/segment/EditionsFormField.tsx x: 6 contributors (90d) y: 32 lines of code src/apps/frontend/src/segment/edition-options.ts x: 6 contributors (90d) y: 12 lines of code src/apps/frontend/src/send/DispatchReport.tsx x: 8 contributors (90d) y: 422 lines of code src/apps/frontend/src/testing/handlers/channels.ts x: 5 contributors (90d) y: 81 lines of code src/apps/frontend/src/utils/audience-edition-label.ts x: 2 contributors (90d) y: 45 lines of code src/apps/frontend/src/utils/display-text-helpers.ts x: 6 contributors (90d) y: 24 lines of code src/apps/frontend/src/utils/format-dispatch-target.ts x: 3 contributors (90d) y: 35 lines of code src/packages/config/audiences.ts x: 9 contributors (90d) y: 409 lines of code src/apps/frontend/.storybook/main.ts x: 7 contributors (90d) y: 11 lines of code src/apps/frontend/.storybook/preview.tsx x: 8 contributors (90d) y: 42 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.stories.tsx x: 9 contributors (90d) y: 730 lines of code src/apps/frontend/src/compose/DispatchCreateNotificationModal.stories.tsx x: 7 contributors (90d) y: 97 lines of code src/apps/frontend/src/compose/NotificationFormProvider.stories.tsx x: 7 contributors (90d) y: 128 lines of code src/apps/frontend/src/hooks/useRelativeTime.ts x: 6 contributors (90d) y: 75 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentCard.stories.tsx x: 6 contributors (90d) y: 56 lines of code src/apps/frontend/src/latest-content/LatestPublishedContentPanel.stories.tsx x: 6 contributors (90d) y: 277 lines of code src/apps/frontend/src/latest-content/latest-published-content.ts x: 5 contributors (90d) y: 126 lines of code src/apps/frontend/src/send/TestEmailForm.stories.tsx x: 7 contributors (90d) y: 199 lines of code src/apps/frontend/src/ui/EmptyState.tsx x: 4 contributors (90d) y: 32 lines of code src/packages/models/capi.ts x: 8 contributors (90d) y: 149 lines of code src/apps/frontend/src/compose/NotificationTabLayout.tsx x: 7 contributors (90d) y: 101 lines of code src/apps/frontend/src/compose/NoSendPermissionWarning.tsx x: 3 contributors (90d) y: 28 lines of code src/apps/frontend/src/compose/ArticleImportControl.tsx x: 9 contributors (90d) y: 222 lines of code src/apps/frontend/src/hooks/usePreviousNotifications.ts x: 2 contributors (90d) y: 26 lines of code src/apps/frontend/src/testing/api-fixtures.ts x: 9 contributors (90d) y: 287 lines of code src/apps/frontend/src/utils/history-send-time.ts x: 7 contributors (90d) y: 62 lines of code src/packages/models/index.ts x: 8 contributors (90d) y: 8 lines of code src/apps/frontend/src/compose/ReviewWarning.tsx x: 5 contributors (90d) y: 62 lines of code src/apps/frontend/src/history/HistoryFilters.tsx x: 7 contributors (90d) y: 32 lines of code src/apps/frontend/src/preview/PreviewToggle.stories.tsx x: 6 contributors (90d) y: 82 lines of code src/apps/frontend/src/preview/PreviewToggle.tsx x: 6 contributors (90d) y: 51 lines of code src/apps/frontend/src/ui/CollapsibleSection.stories.tsx x: 1 contributors (90d) y: 66 lines of code src/apps/frontend/src/ui/CollapsibleSection.tsx x: 1 contributors (90d) y: 60 lines of code src/apps/frontend/src/ui/SendTimeTooltip.tsx x: 6 contributors (90d) y: 42 lines of code src/apps/frontend/src/layout/MainLayout.tsx x: 6 contributors (90d) y: 118 lines of code src/apps/frontend/src/compose/CreateAppAlertForm.tsx x: 8 contributors (90d) y: 127 lines of code src/apps/frontend/src/compose/CreateAppAlertTab.tsx x: 8 contributors (90d) y: 48 lines of code src/apps/frontend/src/compose/CreateNewsletterEmailTab.stories.tsx x: 7 contributors (90d) y: 499 lines of code src/apps/frontend/src/send/DispatchReport.stories.tsx x: 8 contributors (90d) y: 291 lines of code src/apps/frontend/src/testing/story-fixtures.ts x: 7 contributors (90d) y: 38 lines of code src/apps/backend/persistence/persist-notification.ts x: 5 contributors (90d) y: 224 lines of code src/apps/backend/routers/notifications/index.ts x: 10 contributors (90d) y: 340 lines of code src/apps/backend/routers/notifications/schemas/notification-list-query.ts x: 7 contributors (90d) y: 125 lines of code src/apps/backend/routers/notifications/schemas/notification-send-request.ts x: 9 contributors (90d) y: 454 lines of code src/apps/backend/utils/test-utils/database.ts x: 5 contributors (90d) y: 106 lines of code src/apps/frontend/src/history/HistoryChannelFilter.tsx x: 4 contributors (90d) y: 96 lines of code src/apps/frontend/src/history/HistoryFailureTooltip.tsx x: 4 contributors (90d) y: 121 lines of code src/apps/frontend/src/history/HistoryPage.tsx x: 7 contributors (90d) y: 120 lines of code src/apps/frontend/src/history/HistoryStatusFilter.tsx x: 6 contributors (90d) y: 96 lines of code src/apps/frontend/src/types.ts x: 8 contributors (90d) y: 68 lines of code src/apps/frontend/src/utils/history-search-params.ts x: 7 contributors (90d) y: 132 lines of code src/packages/config/channels.ts x: 7 contributors (90d) y: 20 lines of code src/packages/database/repositories/notifications-repository.dbtest.ts x: 7 contributors (90d) y: 779 lines of code src/packages/database/repositories/notifications-repository.ts x: 7 contributors (90d) y: 287 lines of code src/packages/database/schema/notifications.ts x: 5 contributors (90d) y: 77 lines of code src/packages/models/notification-channel.ts x: 4 contributors (90d) y: 12 lines of code src/apps/frontend/src/schemas.ts x: 8 contributors (90d) y: 229 lines of code src/packages/database/index.ts x: 5 contributors (90d) y: 24 lines of code src/apps/frontend/src/compose/NotificationFormContext.tsx x: 7 contributors (90d) y: 73 lines of code src/apps/frontend/src/grid-client/grid-api.ts x: 3 contributors (90d) y: 124 lines of code src/apps/frontend/src/grid-client/grid-url-parsing.ts x: 3 contributors (90d) y: 69 lines of code src/apps/frontend/src/hooks/useLatestPublishedContent.ts x: 4 contributors (90d) y: 35 lines of code src/apps/frontend/src/hooks/useNotificationSenders.ts x: 5 contributors (90d) y: 21 lines of code src/apps/frontend/src/testing/grid-fixtures.ts x: 3 contributors (90d) y: 18 lines of code src/apps/frontend/src/utils/form-validation.tsx x: 9 contributors (90d) y: 149 lines of code src/packages/models/grid.ts x: 3 contributors (90d) y: 100 lines of code src/apps/backend/routers/notifications/index.dbtest.ts x: 7 contributors (90d) y: 711 lines of code src/apps/frontend/src/compose/SideNavigationPanel.stories.tsx x: 3 contributors (90d) y: 60 lines of code src/apps/frontend/src/compose/SideNavigationPanel.tsx x: 3 contributors (90d) y: 207 lines of code src/apps/frontend/src/preview/AndroidAlertPreview.tsx x: 5 contributors (90d) y: 109 lines of code src/apps/frontend/src/send/SendConfirmationModal.tsx x: 6 contributors (90d) y: 68 lines of code src/apps/frontend/src/ui/GuardianLogo.tsx x: 3 contributors (90d) y: 31 lines of code src/packages/models/api-contract/history-alert-type.ts x: 3 contributors (90d) y: 17 lines of code src/packages/database/migrations/0006_add_notifications_sender_index.sql x: 3 contributors (90d) y: 1 lines of code src/apps/frontend/src/history/HistorySearchFilter.tsx x: 4 contributors (90d) y: 52 lines of code src/packages/models/api-contract/audience.ts x: 4 contributors (90d) y: 141 lines of code src/apps/frontend/src/preview/HTMLPreview.tsx x: 9 contributors (90d) y: 157 lines of code src/apps/frontend/src/preview/NewsletterEmailPreviewSection.tsx x: 6 contributors (90d) y: 62 lines of code src/apps/frontend/src/send/SendFailedModal.tsx x: 7 contributors (90d) y: 281 lines of code src/apps/frontend/src/testing/mock-fetch-email.ts x: 5 contributors (90d) y: 69 lines of code src/apps/backend/app.ts x: 11 contributors (90d) y: 95 lines of code src/apps/backend/middleware/grafana-cors.ts x: 3 contributors (90d) y: 11 lines of code src/apps/backend/routers/grafana/index.ts x: 3 contributors (90d) y: 149 lines of code src/apps/frontend/src/api-client/redirect-to-login.ts x: 5 contributors (90d) y: 5 lines of code src/apps/frontend/src/compose/KickerFormField.tsx x: 6 contributors (90d) y: 40 lines of code src/apps/frontend/src/compose/NotificationTextInput.stories.tsx x: 6 contributors (90d) y: 131 lines of code src/apps/frontend/src/compose/NotificationTextInput.tsx x: 6 contributors (90d) y: 159 lines of code src/apps/frontend/src/preview/AppAlertPreviewSection.tsx x: 5 contributors (90d) y: 91 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.stories.tsx x: 6 contributors (90d) y: 100 lines of code src/apps/frontend/src/send/TestEmailForm.tsx x: 8 contributors (90d) y: 217 lines of code src/apps/frontend/src/testing/mock-send-notification.ts x: 7 contributors (90d) y: 23 lines of code src/apps/frontend/src/testing/useNotificationFormStory.tsx x: 6 contributors (90d) y: 89 lines of code src/apps/frontend/src/ui/flag-icons.tsx x: 5 contributors (90d) y: 186 lines of code src/apps/frontend/src/utils/newsletter-email-subject.ts x: 5 contributors (90d) y: 9 lines of code src/apps/frontend/src/utils/notification-composer-reducer.ts x: 5 contributors (90d) y: 99 lines of code src/apps/backend/notification-channels/newsletter/dispatch-newsletter-test.ts x: 5 contributors (90d) y: 149 lines of code eslint.config.js x: 9 contributors (90d) y: 39 lines of code src/apps/backend/notification-channels/app-push/dispatch-app-push.ts x: 5 contributors (90d) y: 169 lines of code src/apps/backend/notification-channels/dispatch-notification-test.ts x: 5 contributors (90d) y: 32 lines of code src/apps/frontend/src/api-client/client.ts x: 7 contributors (90d) y: 175 lines of code src/apps/frontend/src/index.html x: 8 contributors (90d) y: 39 lines of code src/apps/frontend/src/ui/Tooltip.stories.tsx x: 7 contributors (90d) y: 47 lines of code src/packages/services/mobile-n10n/client.ts x: 4 contributors (90d) y: 132 lines of code src/packages/utils/urls.ts x: 4 contributors (90d) y: 61 lines of code src/apps/backend/notification-channels/shared.ts x: 4 contributors (90d) y: 48 lines of code src/apps/frontend/bunfig.toml x: 4 contributors (90d) y: 2 lines of code src/apps/frontend/src/api-client/errors.ts x: 3 contributors (90d) y: 55 lines of code src/apps/frontend/src/compose/ChannelDisplay.tsx x: 3 contributors (90d) y: 67 lines of code src/apps/frontend/src/history/HistoryPagination.tsx x: 3 contributors (90d) y: 96 lines of code src/apps/frontend/src/send/DeliveryAndTimingSelector.tsx x: 3 contributors (90d) y: 48 lines of code src/apps/frontend/src/send/SendButton.tsx x: 3 contributors (90d) y: 43 lines of code src/packages/config/index.ts x: 7 contributors (90d) y: 17 lines of code src/packages/database/migrations/0005_structured_dispatch_targets.sql x: 2 contributors (90d) y: 79 lines of code src/packages/database/scripts/env/remote/helpers/aws.ts x: 3 contributors (90d) y: 110 lines of code src/packages/services/braze/client.ts x: 4 contributors (90d) y: 317 lines of code src/packages/database/database-environment.ts x: 2 contributors (90d) y: 19 lines of code src/packages/database/managed-database-secret.ts x: 2 contributors (90d) y: 12 lines of code src/packages/database/runtime-connection-string.ts x: 2 contributors (90d) y: 30 lines of code src/packages/database/scripts/env/remote/helpers/cli-args.ts x: 2 contributors (90d) y: 49 lines of code src/packages/database/scripts/env/remote/helpers/verify-remote-database-connection.ts x: 2 contributors (90d) y: 61 lines of code src/packages/models/api-contract/preview.ts x: 4 contributors (90d) y: 25 lines of code src/apps/frontend/public/mockServiceWorker.js x: 3 contributors (90d) y: 232 lines of code dev-nginx.yaml x: 6 contributors (90d) y: 5 lines of code src/packages/http-logger/logger.ts x: 4 contributors (90d) y: 44 lines of code scripts/check-pinned-deps.ts x: 2 contributors (90d) y: 53 lines of code
1452.0
lines of code
  min: 1.0
  average: 93.4
  25th percentile: 25.0
  median: 49.0
  75th percentile: 110.5
  max: 1452.0
0 11.0
contributors (90d)
min: 1.0 | average: 5.17 | 25th percentile: 3.0 | median: 5.0 | 75th percentile: 7.0 | max: 11.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...