guardian / atom-workshop
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 205 files with 8,678 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 4 files changed 51-100 times (393 lines of code)
    • 22 files changed 21-50 times (1,591 lines of code)
    • 97 files changed 6-20 times (4,693 lines of code)
    • 82 files changed 1-5 times (2,001 lines of code)
0% | 4% | 18% | 54% | 23%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 205 files with 8,678 lines of code.
    • 1 file changed by more than 25 contributors (20 lines of code)
    • 27 files changed by 11-25 contributors (1,807 lines of code)
    • 61 files changed by 6-10 contributors (3,481 lines of code)
    • 90 files changed by 2-5 contributors (2,754 lines of code)
    • 26 files changed by 1 contributor (616 lines of code)
<1% | 20% | 40% | 31% | 7%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
js, scss, scala, svg, snap, yaml, sh, sbt, md, json, html, rb, xml, babelrc, gitignore, txt, eslintignore, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
scala0% | 24% | 31% | 44% | <1%
js0% | 2% | 16% | 60% | 20%
sbt0% | 74% | 25% | 0% | 0%
scss0% | 0% | 18% | 37% | 44%
html0% | 0% | 0% | 70% | 29%
xml0% | 0% | 0% | 100% | 0%
yaml0% | 0% | 0% | 100% | 0%
rb0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
app0% | 23% | 27% | 47% | 1%
public0% | 1% | 17% | 55% | 25%
ROOT0% | 54% | 0% | 45% | 0%
project0% | 0% | 100% | 0% | 0%
conf0% | 0% | 0% | 100% | 0%
utils0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
build.sbt
in root
20 - 2017-01-12 2024-10-30 98 26 susie.coleman@guardian.co.uk 74301289+codingwithrach@use...
App.scala
in app/controllers
176 10 2017-01-13 2025-05-06 54 19 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
Config.scala
in app/config
59 2 2017-01-13 2025-05-06 52 22 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
atomData.js
in public/js/constants
138 9 2017-02-09 2025-05-06 52 24 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
AtomEdit.js
in public/js/components/AtomEdit
117 7 2017-02-09 2025-05-06 49 24 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
101 8 2017-02-08 2025-05-06 47 19 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
59 - 2017-01-13 2024-10-30 45 18 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
main.scss
in public/styles
37 - 2017-01-17 2025-05-06 42 20 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
_forms.scss
in public/styles/components
246 - 2017-01-17 2019-05-29 30 9 christopher.lloyd@theguardi... lawr@lauragonzalez.cc
TimelineItem.js
in public/js/components/AtomEdit/CustomEditors/TimelineFields
123 1 2017-06-05 2024-10-30 29 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
ClientConfig.scala
in app/models
28 - 2017-02-01 2025-05-06 27 15 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
Header.js
in public/js/components/Header
46 1 2017-02-09 2024-10-30 27 13 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
37 - 2022-12-06 2024-10-30 26 13 33927854+rebecca-thompson@u... 74301289+codingwithrach@use...
app.js
in public/js
52 2 2017-01-17 2024-10-30 26 14 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
capi.js
in public/js/services
92 - 2017-02-28 2024-10-30 26 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
AtomCreateGenericInfo.js
in public/js/components/AtomCreate
96 3 2017-02-09 2025-05-06 26 12 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
plugins.sbt
in project
7 - 2017-01-12 2024-10-30 25 14 maria-livia.chiorean@guardi... 74301289+codingwithrach@use...
FormFieldArrayWrapper.js
in public/js/components/FormFields
114 1 2017-02-16 2024-10-30 24 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
58 5 2017-02-01 2024-10-30 23 13 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
AtomsApi.js
in public/js/services
82 - 2017-02-02 2024-10-30 23 12 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
FormFieldImageSelect.js
in public/js/components/FormFields
117 3 2017-02-03 2024-10-30 22 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
Errors.scala
in app/models
19 - 2017-02-01 2024-10-30 21 14 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
FormFieldCheckbox.js
in public/js/components/FormFields
23 - 2017-02-02 2024-10-30 21 10 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
rootReducer.js
in public/js/reducers
39 - 2017-01-24 2019-02-06 21 13 shaun@shaundillon.info ajwl@users.noreply.github.com
QAItem.js
in public/js/components/AtomEdit/CustomEditors/QAndAFields
47 1 2017-06-05 2024-10-30 21 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
ProfileItem.js
in public/js/components/AtomEdit/CustomEditors/ProfileFields
51 - 2017-06-05 2024-10-30 21 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
TimelineEditor.js
in public/js/components/AtomEdit/CustomEditors
27 - 2017-06-05 2024-10-30 20 10 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
BaseApp.js
in public/js
39 - 2017-02-08 2024-10-30 20 11 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
GuideItem.js
in public/js/components/AtomEdit/CustomEditors/GuideFields
51 - 2017-06-05 2024-10-30 20 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
FormFieldSelectBox.js
in public/js/components/FormFields
67 4 2017-01-26 2024-10-30 20 11 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
AtomLogic.scala
in app/util
76 8 2017-02-15 2024-10-30 20 12 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
AtomEmbed.js
in public/js/components/AtomEmbed
106 1 2017-03-02 2024-10-30 20 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
17 - 2017-01-12 2025-04-17 19 14 susie.coleman@guardian.co.uk jonathon.herbert@guardian.c...
AtomEditHeader.js
in public/js/components/AtomEdit
62 1 2017-02-27 2024-10-30 19 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
19 1 2017-02-01 2024-10-30 18 8 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
Page.js
in public/js/components
32 2 2017-02-09 2024-10-30 18 9 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
FormFieldTextInput.js
in public/js/components/FormFields
34 1 2017-01-26 2024-10-30 18 9 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
Support.scala
in app/controllers
36 3 2017-02-28 2024-10-30 18 9 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
FormFieldRadioButtons.js
in public/js/components/FormFields
44 2 2017-01-26 2024-10-30 18 9 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
ManagedEditorField.js
in public/js/components/ManagedEditor
60 3 2017-02-15 2024-10-30 17 11 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
_toolbar.scss
in public/styles/layout
205 - 2017-01-17 2019-05-02 17 6 christopher.lloyd@theguardi... lawr@lauragonzalez.cc
index.scala.html
in app/views
31 - 2017-01-12 2024-10-30 16 12 maria-livia.chiorean@guardi... 74301289+codingwithrach@use...
atomDataExtractors.js
in public/js/util
43 4 2017-03-07 2024-10-30 16 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
AtomList.js
in public/js/components/AtomList
95 7 2017-03-06 2024-10-30 16 9 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
FormFieldTagPicker.js
in public/js/components/FormFields
95 1 2017-02-28 2024-10-30 16 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
ExplainerEditor.js
in public/js/components/AtomEdit/CustomEditors
21 - 2017-02-16 2024-10-30 15 10 shaun@shaundillon.info 74301289+codingwithrach@use...
CTAEditor.js
in public/js/components/AtomEdit/CustomEditors
42 - 2017-02-14 2024-10-30 15 9 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
AtomListItem.js
in public/js/components/AtomListItem
87 1 2017-03-06 2024-10-30 15 8 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
AtomStats.js
in public/js/components/AtomStats
113 5 2017-02-09 2024-10-30 15 8 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
PanDomainAuthActions.scala
in app/controllers
28 2 2017-01-16 2024-10-30 14 5 maria-livia.chiorean@guardi... 74301289+codingwithrach@use...
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
build.sbt
in root
20 - 2017-01-12 2024-10-30 98 26 susie.coleman@guardian.co.uk 74301289+codingwithrach@use...
atomData.js
in public/js/constants
138 9 2017-02-09 2025-05-06 52 24 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
AtomEdit.js
in public/js/components/AtomEdit
117 7 2017-02-09 2025-05-06 49 24 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
Config.scala
in app/config
59 2 2017-01-13 2025-05-06 52 22 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
main.scss
in public/styles
37 - 2017-01-17 2025-05-06 42 20 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
App.scala
in app/controllers
176 10 2017-01-13 2025-05-06 54 19 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
101 8 2017-02-08 2025-05-06 47 19 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
59 - 2017-01-13 2024-10-30 45 18 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
ClientConfig.scala
in app/models
28 - 2017-02-01 2025-05-06 27 15 philip.mcmahon@guardian.co.uk frederick.obrien@guardian.c...
app.js
in public/js
52 2 2017-01-17 2024-10-30 26 14 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
plugins.sbt
in project
7 - 2017-01-12 2024-10-30 25 14 maria-livia.chiorean@guardi... 74301289+codingwithrach@use...
Errors.scala
in app/models
19 - 2017-02-01 2024-10-30 21 14 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
17 - 2017-01-12 2025-04-17 19 14 susie.coleman@guardian.co.uk jonathon.herbert@guardian.c...
Header.js
in public/js/components/Header
46 1 2017-02-09 2024-10-30 27 13 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
37 - 2022-12-06 2024-10-30 26 13 33927854+rebecca-thompson@u... 74301289+codingwithrach@use...
58 5 2017-02-01 2024-10-30 23 13 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
rootReducer.js
in public/js/reducers
39 - 2017-01-24 2019-02-06 21 13 shaun@shaundillon.info ajwl@users.noreply.github.com
AtomCreateGenericInfo.js
in public/js/components/AtomCreate
96 3 2017-02-09 2025-05-06 26 12 christopher.lloyd@theguardi... frederick.obrien@guardian.c...
capi.js
in public/js/services
92 - 2017-02-28 2024-10-30 26 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
FormFieldArrayWrapper.js
in public/js/components/FormFields
114 1 2017-02-16 2024-10-30 24 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
AtomsApi.js
in public/js/services
82 - 2017-02-02 2024-10-30 23 12 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
FormFieldImageSelect.js
in public/js/components/FormFields
117 3 2017-02-03 2024-10-30 22 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
AtomLogic.scala
in app/util
76 8 2017-02-15 2024-10-30 20 12 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
index.scala.html
in app/views
31 - 2017-01-12 2024-10-30 16 12 maria-livia.chiorean@guardi... 74301289+codingwithrach@use...
atomDataExtractors.js
in public/js/util
43 4 2017-03-07 2024-10-30 16 12 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
BaseApp.js
in public/js
39 - 2017-02-08 2024-10-30 20 11 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
FormFieldSelectBox.js
in public/js/components/FormFields
67 4 2017-01-26 2024-10-30 20 11 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
ManagedEditorField.js
in public/js/components/ManagedEditor
60 3 2017-02-15 2024-10-30 17 11 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
FormFieldCheckbox.js
in public/js/components/FormFields
23 - 2017-02-02 2024-10-30 21 10 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
AtomEmbed.js
in public/js/components/AtomEmbed
106 1 2017-03-02 2024-10-30 20 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
TimelineEditor.js
in public/js/components/AtomEdit/CustomEditors
27 - 2017-06-05 2024-10-30 20 10 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
AtomEditHeader.js
in public/js/components/AtomEdit
62 1 2017-02-27 2024-10-30 19 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
FormFieldTagPicker.js
in public/js/components/FormFields
95 1 2017-02-28 2024-10-30 16 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
ExplainerEditor.js
in public/js/components/AtomEdit/CustomEditors
21 - 2017-02-16 2024-10-30 15 10 shaun@shaundillon.info 74301289+codingwithrach@use...
FormFieldDateInput.js
in public/js/components/FormFields
52 1 2017-03-20 2024-10-30 14 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
AtomRoot.js
in public/js/components/AtomRoot
53 1 2017-03-02 2024-10-30 14 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
CreateTargetForm.js
in public/js/components/AtomEmbed
89 2 2017-03-20 2024-10-30 12 10 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
_forms.scss
in public/styles/components
246 - 2017-01-17 2019-05-29 30 9 christopher.lloyd@theguardi... lawr@lauragonzalez.cc
TimelineItem.js
in public/js/components/AtomEdit/CustomEditors/TimelineFields
123 1 2017-06-05 2024-10-30 29 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
QAItem.js
in public/js/components/AtomEdit/CustomEditors/QAndAFields
47 1 2017-06-05 2024-10-30 21 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
ProfileItem.js
in public/js/components/AtomEdit/CustomEditors/ProfileFields
51 - 2017-06-05 2024-10-30 21 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
GuideItem.js
in public/js/components/AtomEdit/CustomEditors/GuideFields
51 - 2017-06-05 2024-10-30 20 9 regis.kuckaertz@theguardian... 74301289+codingwithrach@use...
Support.scala
in app/controllers
36 3 2017-02-28 2024-10-30 18 9 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
Page.js
in public/js/components
32 2 2017-02-09 2024-10-30 18 9 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
FormFieldRadioButtons.js
in public/js/components/FormFields
44 2 2017-01-26 2024-10-30 18 9 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
FormFieldTextInput.js
in public/js/components/FormFields
34 1 2017-01-26 2024-10-30 18 9 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
AtomList.js
in public/js/components/AtomList
95 7 2017-03-06 2024-10-30 16 9 philip.mcmahon@guardian.co.uk 74301289+codingwithrach@use...
CTAEditor.js
in public/js/components/AtomEdit/CustomEditors
42 - 2017-02-14 2024-10-30 15 9 christopher.lloyd@theguardi... 74301289+codingwithrach@use...
EditHeader.js
in public/js/components/Header
165 1 2017-03-22 2024-10-30 13 9 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
validators.js
in public/js/util
16 - 2017-02-15 2024-10-29 12 9 shaun.dillon@guardian.co.uk 74301289+codingwithrach@use...
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
_suggestions.scss
in public/styles/components
75 - 2017-11-10 2017-11-10 1 1 tom.forbes@theguardian.com tom.forbes@theguardian.com
_tables.scss
in public/styles/components
66 - 2017-01-17 2017-01-18 2 1 christopher.lloyd@theguardi... christopher.lloyd@theguardi...
getSuggestedContent.js
in public/js/actions/AtomActions
58 4 2017-08-07 2017-11-10 3 1 tom.forbes@theguardian.com tom.forbes@theguardian.com
urlParameters.js
in public/js/util
44 3 2017-04-10 2017-04-10 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
getExternalAtom.js
in public/js/actions/ExternalAtomActions
36 4 2017-03-22 2017-03-22 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
icons.js
in public/js/util
34 - 2017-03-06 2017-03-06 1 1 philip.mcmahon@guardian.co.uk philip.mcmahon@guardian.co.uk
storeMiddleware.js
in public/js/util
34 - 2017-04-10 2017-04-10 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
store.js
in public/js/util
28 1 2017-04-10 2017-05-02 2 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
_fonts.scss
in public/styles/base
27 - 2017-01-17 2017-01-18 2 1 christopher.lloyd@theguardi... christopher.lloyd@theguardi...
_targeting.scss
in public/styles/components
25 - 2017-03-20 2017-03-20 1 1 christopher.lloyd@theguardi... christopher.lloyd@theguardi...
_hover-expander.scss
in public/styles/components
24 - 2019-05-13 2019-05-14 2 1 lawr@lauragonzalez.cc lawr@lauragonzalez.cc
_usages-list.scss
in public/styles/components
21 - 2017-03-06 2017-03-06 1 1 philip.mcmahon@guardian.co.uk philip.mcmahon@guardian.co.uk
_lists.scss
in public/styles/components
14 - 2019-05-02 2019-05-14 3 1 lawr@lauragonzalez.cc lawr@lauragonzalez.cc
_icons.scss
in public/styles/components
14 - 2017-03-06 2017-03-06 1 1 philip.mcmahon@guardian.co.uk philip.mcmahon@guardian.co.uk
formErrorsReducer.js
in public/js/reducers
13 1 2017-04-03 2017-04-03 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
_details-list.scss
in public/styles/components
13 - 2017-03-06 2017-03-06 1 1 philip.mcmahon@guardian.co.uk philip.mcmahon@guardian.co.uk
ophan.js
in public/js/services
12 - 2017-11-10 2017-11-10 1 1 tom.forbes@theguardian.com tom.forbes@theguardian.com
BrowseHeader.js
in public/js/components/Header
11 1 2017-03-22 2017-03-22 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
_message-bar.scss
in public/styles/components
11 - 2017-04-11 2017-04-11 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
flattenFormErrors.js
in public/js/util
10 - 2019-05-13 2019-05-14 2 1 lawr@lauragonzalez.cc lawr@lauragonzalez.cc
suggestedContentReducer.js
in public/js/reducers
8 1 2017-08-07 2017-08-08 2 1 tom.forbes@theguardian.com tom.forbes@theguardian.com
suggestionsForLatestContent.js
in public/js/reducers
8 1 2017-11-10 2017-11-10 1 1 tom.forbes@theguardian.com tom.forbes@theguardian.com
atomListReducer.js
in public/js/reducers
8 1 2017-03-06 2017-03-06 1 1 philip.mcmahon@guardian.co.uk philip.mcmahon@guardian.co.uk
externalAtomReducer.js
in public/js/reducers
8 1 2017-03-22 2017-03-22 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
updateQueryParams.js
in public/js/actions/QueryParamsActions
7 1 2017-04-10 2017-04-10 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
updateFormErrors.js
in public/js/actions/FormErrorActions
7 1 2017-04-03 2017-04-03 1 1 shaun.dillon@guardian.co.uk shaun.dillon@guardian.co.uk
CommonsDivision.js
in public/js/components/CommonsDivisions
151 8 2018-01-26 2018-01-29 2 2 tom.forbes@theguardian.com regis.kuckaertz@theguardian...
_commons-divisions.scss
in public/styles/components
59 - 2018-01-26 2018-01-29 2 2 tom.forbes@theguardian.com regis.kuckaertz@theguardian...
saveStateReducer.js
in public/js/reducers
54 1 2017-02-27 2017-03-02 2 2 christopher.lloyd@theguardi... shaun@shaundillon.info
getStatus.js
in public/js/actions/WorkflowActions
47 5 2017-09-28 2017-11-02 3 2 reetta.vaahtoranta@guardian... rvaahtoranta@gmail.com
_buttons.scss
in public/styles/components
43 - 2017-01-17 2017-04-13 4 2 christopher.lloyd@theguardi... philip.mcmahon@guardian.co.uk
_helpers.scss
in public/styles/base
42 - 2017-01-17 2017-03-22 7 2 christopher.lloyd@theguardi... christopher.lloyd@theguardi...
_loader.scss
in public/styles/components
39 - 2017-02-27 2017-02-27 1 2 christopher.lloyd@theguardi... shaun@shaundillon.info
trackInWorkflow.js
in public/js/actions/WorkflowActions
37 4 2017-09-28 2017-11-02 3 2 reetta.vaahtoranta@guardian... rvaahtoranta@gmail.com
takeDownAtom.js
in public/js/actions/AtomActions
36 4 2017-03-02 2017-03-02 1 2 christopher.lloyd@theguardi... shaun@shaundillon.info
publishAtom.js
in public/js/actions/AtomActions
36 4 2017-02-27 2017-02-27 1 2 christopher.lloyd@theguardi... shaun@shaundillon.info
getAtomList.js
in public/js/actions/AtomListActions
34 4 2017-03-06 2017-05-02 4 2 philip.mcmahon@guardian.co.uk shaun.dillon@guardian.co.uk
_search-suggestions.scss
in public/styles/components
33 - 2018-03-07 2018-03-22 4 2 regis_kuckaertz@34452.gnm.int regis_kuckaertz@34452.gnm.int
searchSuggestionsReducer.js
in public/js/reducers
32 1 2018-03-14 2018-03-22 2 2 regis.kuckaertz@theguardian... regis_kuckaertz@34452.gnm.int
search.js
in public/js/actions/SearchSuggestionsActions
30 4 2018-03-14 2018-03-22 2 2 regis.kuckaertz@theguardian... regis_kuckaertz@34452.gnm.int
AWS.scala
in app/config
27 - 2022-11-03 2024-10-30 8 2 33927854+rebecca-thompson@u... 74301289+codingwithrach@use...
getProductionOffice.js
in public/js/util
26 3 2017-09-28 2017-11-02 2 2 reetta.vaahtoranta@guardian... rvaahtoranta@gmail.com
audioPageDataReducer.js
in public/js/reducers
26 1 2019-02-05 2019-02-07 3 2 anna,leach@theguardian.com ajwl@users.noreply.github.com
Parliament.js
in public/js/services
23 - 2018-01-26 2018-01-29 2 2 tom.forbes@theguardian.com regis.kuckaertz@theguardian...
_workflow.scss
in public/styles/components
14 - 2017-09-28 2017-11-02 3 2 reetta.vaahtoranta@guardian... rvaahtoranta@gmail.com
update.js
in public/js/actions/SearchSuggestionsActions
12 2 2018-03-14 2018-03-22 2 2 regis.kuckaertz@theguardian... regis_kuckaertz@34452.gnm.int
cancel.js
in public/js/actions/SearchSuggestionsActions
11 2 2018-03-14 2018-03-22 2 2 regis.kuckaertz@theguardian... regis_kuckaertz@34452.gnm.int
errorReducer.js
in public/js/reducers
10 1 2017-01-24 2017-04-11 2 2 shaun@shaundillon.info shaun.dillon@guardian.co.uk
_atom-actions.scss
in public/styles/components
10 - 2017-07-18 2017-09-13 2 2 regis.kuckaertz@theguardian... tom.forbes@theguardian.com
commonsDivisionsReducer.js
in public/js/reducers
8 1 2018-01-26 2018-01-29 2 2 tom.forbes@theguardian.com regis.kuckaertz@theguardian...
Correlations

File Size vs. Number of Changes: 206 points

app/config/Config.scala x: 59 lines of code y: 52 # changes app/controllers/App.scala x: 176 lines of code y: 54 # changes app/models/ClientConfig.scala x: 28 lines of code y: 27 # changes app/util/AtomElementBuilders.scala x: 101 lines of code y: 47 # changes app/util/AtomUpdateOperations.scala x: 17 lines of code y: 11 # changes public/js/components/AtomCreate/AtomCreateGenericInfo.js x: 96 lines of code y: 26 # changes public/js/components/AtomEdit/AtomEdit.js x: 117 lines of code y: 49 # changes public/js/constants/atomData.js x: 138 lines of code y: 52 # changes public/styles/main.scss x: 37 lines of code y: 42 # changes riff-raff.yaml x: 17 lines of code y: 19 # changes app/AppComponents.scala x: 59 lines of code y: 45 # changes build.sbt x: 20 lines of code y: 98 # changes project/Dependencies.scala x: 37 lines of code y: 26 # changes public/js/components/AppMessage/AppMessage.js x: 9 lines of code y: 7 # changes public/js/components/AtomCreate/AtomCreateExternalApp.js x: 27 lines of code y: 12 # changes public/js/components/AtomEdit/AtomEditHeader.js x: 62 lines of code y: 19 # changes public/js/components/AtomEdit/CustomEditors/CTAEditor.js x: 42 lines of code y: 15 # changes public/js/components/AtomEdit/CustomEditors/CommonsDivisionEditor.js x: 46 lines of code y: 8 # changes public/js/components/AtomEdit/CustomEditors/ExplainerEditor.js x: 21 lines of code y: 15 # changes public/js/components/AtomEdit/CustomEditors/QAndAEditor.js x: 30 lines of code y: 14 # changes public/js/components/AtomEdit/CustomEditors/TimelineEditor.js x: 27 lines of code y: 20 # changes public/js/components/AtomEdit/EmbeddedAtomPick.js x: 44 lines of code y: 10 # changes public/js/components/AtomEmbed/CreateTargetForm.js x: 89 lines of code y: 12 # changes public/js/components/AtomRoot/AtomRoot.js x: 53 lines of code y: 14 # changes public/js/components/AtomStats/AtomStats.js x: 113 lines of code y: 15 # changes public/js/components/ContentSuggestions/ContentSuggestions.js x: 115 lines of code y: 7 # changes public/js/components/ContentSuggestions/CopyUrlButton.js x: 33 lines of code y: 7 # changes public/js/components/ExternalAtom/ExternalAtom.js x: 60 lines of code y: 7 # changes public/js/components/FormFields/FormFieldArrayWrapper.js x: 114 lines of code y: 24 # changes public/js/components/FormFields/FormFieldCheckbox.js x: 23 lines of code y: 21 # changes public/js/components/FormFields/FormFieldCheckboxGroup.js x: 49 lines of code y: 9 # changes public/js/components/FormFields/FormFieldDateInput.js x: 52 lines of code y: 14 # changes public/js/components/FormFields/FormFieldDateTextInput.js x: 45 lines of code y: 12 # changes public/js/components/FormFields/FormFieldImageSelect.js x: 117 lines of code y: 22 # changes public/js/components/FormFields/FormFieldMultiSelect.js x: 69 lines of code y: 7 # changes public/js/components/FormFields/FormFieldNumericInput.js x: 33 lines of code y: 9 # changes public/js/components/FormFields/FormFieldRadioButtons.js x: 44 lines of code y: 18 # changes public/js/components/FormFields/FormFieldRichTextEditor.js x: 55 lines of code y: 5 # changes public/js/components/FormFields/FormFieldSelectBox.js x: 67 lines of code y: 20 # changes public/js/components/FormFields/FormFieldTagPicker.js x: 95 lines of code y: 16 # changes public/js/components/FormFields/FormFieldTextInput.js x: 34 lines of code y: 18 # changes public/js/components/FormFields/SearchFields/SearchCheckboxGroup.js x: 57 lines of code y: 9 # changes public/js/components/FormFields/SearchFields/SearchSelectBox.js x: 32 lines of code y: 8 # changes public/js/components/FormFields/SearchFields/SearchSuggestions.js x: 94 lines of code y: 10 # changes public/js/components/FormFields/SearchFields/SearchTextInput.js x: 30 lines of code y: 11 # changes public/js/components/Header/Header.js x: 46 lines of code y: 27 # changes public/js/components/ManagedEditor/ManagedEditorField.js x: 60 lines of code y: 17 # changes public/js/components/ManagedEditor/ManagedEditorForm.js x: 35 lines of code y: 12 # changes public/js/components/Page.js x: 32 lines of code y: 18 # changes public/js/components/Utilities/Modal.js x: 29 lines of code y: 11 # changes public/js/components/Utilities/PresenceIndicator.js x: 33 lines of code y: 11 # changes public/js/components/Utilities/ShowErrors.js x: 27 lines of code y: 8 # changes public/js/components/Workflow/Workflow.js x: 130 lines of code y: 10 # changes app/controllers/PanDomainAuthActions.scala x: 28 lines of code y: 14 # changes app/services/Permissions.scala x: 24 lines of code y: 10 # changes app/views/authError.scala.html x: 13 lines of code y: 4 # changes project/plugins.sbt x: 7 lines of code y: 25 # changes public/js/app.js x: 52 lines of code y: 26 # changes public/js/components/AtomEdit/CustomEditors/GuideFields/GuideItem.js x: 51 lines of code y: 20 # changes public/js/components/AtomEdit/CustomEditors/ProfileFields/ProfileItem.js x: 51 lines of code y: 21 # changes public/js/components/AtomEdit/CustomEditors/QAndAFields/QAItem.js x: 47 lines of code y: 21 # changes public/js/components/AtomEdit/CustomEditors/TimelineFields/TimelineItem.js x: 123 lines of code y: 29 # changes public/js/components/Header/DeleteAtom.js x: 32 lines of code y: 10 # changes app/AppLoader.scala x: 29 lines of code y: 14 # changes app/controllers/ExplainerReindexController.scala x: 70 lines of code y: 12 # changes app/controllers/Login.scala x: 12 lines of code y: 11 # changes app/controllers/Support.scala x: 36 lines of code y: 18 # changes app/db/AtomDataStores.scala x: 19 lines of code y: 18 # changes app/db/AtomWorkshopDB.scala x: 58 lines of code y: 23 # changes app/db/ExplainerDB.scala x: 23 lines of code y: 8 # changes app/models/APIResponse.scala x: 20 lines of code y: 13 # changes app/models/Errors.scala x: 19 lines of code y: 21 # changes app/util/AtomLogic.scala x: 76 lines of code y: 20 # changes conf/logback.xml x: 29 lines of code y: 9 # changes public/js/BaseApp.js x: 39 lines of code y: 20 # changes public/js/actions/AtomActions/getSuggestionsForLatestContent.js x: 119 lines of code y: 7 # changes public/js/actions/AtomActions/updateAtom.js x: 52 lines of code y: 7 # changes public/js/actions/ParliamentActions/getLatestCommonsDivisions.js x: 77 lines of code y: 7 # changes public/js/components/AtomEdit/CustomEditors/AudioEditor.js x: 18 lines of code y: 11 # changes public/js/components/AtomEdit/CustomEditors/AudioFields/AutomaticDataFetch.js x: 54 lines of code y: 7 # changes public/js/components/AtomEdit/CustomEditors/AudioFields/ManualDataInput.js x: 45 lines of code y: 7 # changes public/js/components/AtomEdit/CustomEditors/GuideEditor.js x: 38 lines of code y: 13 # changes public/js/components/AtomEdit/CustomEditors/ProfileEditor.js x: 35 lines of code y: 13 # changes public/js/components/AtomEmbed/AtomEmbed.js x: 106 lines of code y: 20 # changes public/js/components/AtomEmbed/CurrentTargets.js x: 116 lines of code y: 10 # changes public/js/components/AtomListItem/AtomListItem.js x: 87 lines of code y: 15 # changes public/js/components/CommonsDivisions/CommonsDivisions.js x: 50 lines of code y: 7 # changes public/js/components/Header/EditHeader.js x: 165 lines of code y: 13 # changes public/js/components/List/List.js x: 22 lines of code y: 7 # changes public/js/components/Utilities/HoverExpander.js x: 7 lines of code y: 7 # changes public/js/constants/atomPropType.js x: 8 lines of code y: 6 # changes public/js/constants/errorPropType.js x: 5 lines of code y: 6 # changes public/js/services/AtomsApi.js x: 82 lines of code y: 23 # changes public/js/util/atomDataExtractors.js x: 43 lines of code y: 16 # changes public/js/util/validateField.js x: 25 lines of code y: 9 # changes public/js/util/wordLimits.js x: 12 lines of code y: 7 # changes app/controllers/Healthcheck.scala x: 7 lines of code y: 10 # changes app/util/CORSable.scala x: 16 lines of code y: 7 # changes app/views/index.scala.html x: 31 lines of code y: 16 # changes public/js/services/TargetingApi.js x: 69 lines of code y: 8 # changes public/js/services/WorkflowApi.js x: 105 lines of code y: 11 # changes public/js/services/capi.js x: 92 lines of code y: 26 # changes public/js/util/validators.js x: 16 lines of code y: 12 # changes public/styles/components/_atom-search.scss x: 88 lines of code y: 6 # changes public/js/components/AtomCreate/AtomCreateTypeSelect.js x: 51 lines of code y: 12 # changes public/js/constants/queryParams.js x: 7 lines of code y: 2 # changes public/styles/components/_forms.scss x: 246 lines of code y: 30 # changes public/js/actions/AtomActions/getAudioPageData.js x: 82 lines of code y: 5 # changes public/js/util/flattenFormErrors.js x: 10 lines of code y: 2 # changes public/styles/components/_hover-expander.scss x: 24 lines of code y: 2 # changes public/styles/components/_lists.scss x: 14 lines of code y: 3 # changes public/js/util/uriEncodeParams.js x: 10 lines of code y: 4 # changes public/styles/base/_base.scss x: 22 lines of code y: 10 # changes public/styles/components/_modal.scss x: 28 lines of code y: 5 # changes public/styles/layout/_toolbar.scss x: 205 lines of code y: 17 # changes public/js/reducers/audioPageDataReducer.js x: 26 lines of code y: 3 # changes public/js/reducers/rootReducer.js x: 39 lines of code y: 21 # changes public/styles/components/_audio.scss x: 6 lines of code y: 2 # changes public/js/services/presence.js x: 28 lines of code y: 8 # changes public/js/reducers/queryParamsReducer.js x: 15 lines of code y: 4 # changes public/js/actions/AtomActions/deleteAtom.js x: 30 lines of code y: 3 # changes public/js/reducers/atomReducer.js x: 28 lines of code y: 11 # changes public/js/actions/SearchSuggestionsActions/cancel.js x: 11 lines of code y: 2 # changes public/js/actions/SearchSuggestionsActions/search.js x: 30 lines of code y: 2 # changes public/js/actions/SearchSuggestionsActions/update.js x: 12 lines of code y: 2 # changes public/js/reducers/searchSuggestionsReducer.js x: 32 lines of code y: 2 # changes public/styles/components/_atom.scss x: 34 lines of code y: 4 # changes public/styles/components/_search-suggestions.scss x: 33 lines of code y: 4 # changes app/models/CreateAtomFields.scala x: 2 lines of code y: 5 # changes public/js/components/CommonsDivisions/CommonsDivision.js x: 151 lines of code y: 2 # changes public/js/reducers/commonsDivisionsReducer.js x: 8 lines of code y: 2 # changes public/js/services/Parliament.js x: 23 lines of code y: 2 # changes public/styles/components/_commons-divisions.scss x: 59 lines of code y: 2 # changes public/js/util/imageHelpers.js x: 74 lines of code y: 9 # changes public/js/actions/AtomActions/getSuggestedContent.js x: 58 lines of code y: 3 # changes public/js/reducers/suggestionsForLatestContent.js x: 8 lines of code y: 1 # changes public/js/services/ophan.js x: 12 lines of code y: 1 # changes public/styles/components/_suggestions.scss x: 75 lines of code y: 1 # changes public/js/actions/WorkflowActions/getStatus.js x: 47 lines of code y: 3 # changes public/js/actions/WorkflowActions/trackInWorkflow.js x: 37 lines of code y: 3 # changes public/js/constants/workflow.js x: 5 lines of code y: 2 # changes public/js/util/getProductionOffice.js x: 26 lines of code y: 2 # changes public/styles/components/_atom-editor.scss x: 58 lines of code y: 11 # changes public/styles/components/form-fields/_image-select.scss x: 43 lines of code y: 5 # changes public/js/reducers/atomUsagesReducer.js x: 8 lines of code y: 3 # changes public/js/actions/AtomActions/getAtomUsages.js x: 46 lines of code y: 4 # changes public/styles/components/_atom-create.scss x: 23 lines of code y: 11 # changes public/js/util/configurePresence.js x: 4 lines of code y: 4 # changes public/js/util/store.js x: 28 lines of code y: 2 # changes public/styles/components/_buttons.scss x: 43 lines of code y: 4 # changes public/styles/components/_message-bar.scss x: 11 lines of code y: 1 # changes public/js/actions/QueryParamsActions/updateQueryParams.js x: 7 lines of code y: 1 # changes public/js/util/storeMiddleware.js x: 34 lines of code y: 1 # changes public/js/util/urlParameters.js x: 44 lines of code y: 1 # changes public/js/reducers/formErrorsReducer.js x: 13 lines of code y: 1 # changes public/js/actions/AtomActions/getAtom.js x: 37 lines of code y: 6 # changes public/js/actions/ExternalAtomActions/getExternalAtom.js x: 36 lines of code y: 1 # changes public/styles/base/_typography.scss x: 31 lines of code y: 12 # changes public/styles/components/_atom-card.scss x: 39 lines of code y: 4 # changes public/styles/components/_page.scss x: 18 lines of code y: 5 # changes public/styles/base/_helpers.scss x: 42 lines of code y: 7 # changes public/js/services/pandaFetch.js x: 34 lines of code y: 7 # changes public/styles/components/_targeting.scss x: 25 lines of code y: 1 # changes public/js/util/publishState.js x: 26 lines of code y: 5 # changes public/styles/components/_presence-list.scss x: 16 lines of code y: 2 # changes public/styles/components/_icons.scss x: 14 lines of code y: 1 # changes public/styles/components/_usages-list.scss x: 21 lines of code y: 1 # changes public/js/reducers/saveStateReducer.js x: 54 lines of code y: 2 # changes public/js/actions/AtomActions/createAtom.js x: 38 lines of code y: 6 # changes public/js/constants/saveStateVals.js x: 3 lines of code y: 1 # changes public/styles/components/_loader.scss x: 39 lines of code y: 1 # changes public/js/constants/FieldError.js x: 6 lines of code y: 1 # changes public/js/components/ManagedEditor/index.js x: 2 lines of code y: 1 # changes public/js/util/logger.js x: 6 lines of code y: 3 # changes public/js/util/storeAccessor.js x: 7 lines of code y: 4 # changes app/models/Version.scala x: 4 lines of code y: 2 # changes public/styles/base/_fonts.scss x: 27 lines of code y: 2 # changes public/styles/components/_tables.scss x: 66 lines of code y: 2 # changes
98.0
# changes
  min: 1.0
  average: 10.59
  25th percentile: 2.0
  median: 7.0
  75th percentile: 14.0
  max: 98.0
0 246.0
lines of code
min: 2.0 | average: 42.16 | 25th percentile: 16.0 | median: 32.0 | 75th percentile: 52.25 | max: 246.0

Number of Contributors vs. Number of Changes: 206 points

app/config/Config.scala x: 22 # contributors y: 52 # changes app/controllers/App.scala x: 19 # contributors y: 54 # changes app/models/ClientConfig.scala x: 15 # contributors y: 27 # changes app/util/AtomElementBuilders.scala x: 19 # contributors y: 47 # changes app/util/AtomUpdateOperations.scala x: 7 # contributors y: 11 # changes public/js/components/AtomCreate/AtomCreateGenericInfo.js x: 12 # contributors y: 26 # changes public/js/components/AtomEdit/AtomEdit.js x: 24 # contributors y: 49 # changes public/js/constants/atomData.js x: 24 # contributors y: 52 # changes public/styles/main.scss x: 20 # contributors y: 42 # changes riff-raff.yaml x: 14 # contributors y: 19 # changes app/AppComponents.scala x: 18 # contributors y: 45 # changes build.sbt x: 26 # contributors y: 98 # changes project/Dependencies.scala x: 13 # contributors y: 26 # changes public/js/components/AppMessage/AppMessage.js x: 5 # contributors y: 7 # changes public/js/components/AtomCreate/AtomCreateExternalApp.js x: 6 # contributors y: 12 # changes public/js/components/AtomEdit/AtomEditHeader.js x: 10 # contributors y: 19 # changes public/js/components/AtomEdit/CustomEditors/CTAEditor.js x: 9 # contributors y: 15 # changes public/js/components/AtomEdit/CustomEditors/CommonsDivisionEditor.js x: 6 # contributors y: 8 # changes public/js/components/AtomEdit/CustomEditors/ExplainerEditor.js x: 10 # contributors y: 15 # changes public/js/components/AtomEdit/CustomEditors/QAndAEditor.js x: 6 # contributors y: 14 # changes public/js/components/AtomEdit/CustomEditors/TimelineEditor.js x: 10 # contributors y: 20 # changes public/js/components/AtomEdit/EmbeddedAtomPick.js x: 6 # contributors y: 10 # changes public/js/components/AtomEmbed/CreateTargetForm.js x: 10 # contributors y: 12 # changes public/js/components/AtomRoot/AtomRoot.js x: 10 # contributors y: 14 # changes public/js/components/AtomStats/AtomStats.js x: 8 # contributors y: 15 # changes public/js/components/FormFields/FormFieldArrayWrapper.js x: 12 # contributors y: 24 # changes public/js/components/FormFields/FormFieldCheckbox.js x: 10 # contributors y: 21 # changes public/js/components/FormFields/FormFieldCheckboxGroup.js x: 6 # contributors y: 9 # changes public/js/components/FormFields/FormFieldImageSelect.js x: 12 # contributors y: 22 # changes public/js/components/FormFields/FormFieldNumericInput.js x: 8 # contributors y: 9 # changes public/js/components/FormFields/FormFieldRadioButtons.js x: 9 # contributors y: 18 # changes public/js/components/FormFields/FormFieldRichTextEditor.js x: 4 # contributors y: 5 # changes public/js/components/FormFields/FormFieldSelectBox.js x: 11 # contributors y: 20 # changes public/js/components/FormFields/FormFieldTagPicker.js x: 10 # contributors y: 16 # changes public/js/components/FormFields/SearchFields/SearchSelectBox.js x: 5 # contributors y: 8 # changes public/js/components/Header/Header.js x: 13 # contributors y: 27 # changes public/js/components/ManagedEditor/ManagedEditorField.js x: 11 # contributors y: 17 # changes public/js/components/ManagedEditor/ManagedEditorForm.js x: 8 # contributors y: 12 # changes public/js/components/Utilities/Modal.js x: 6 # contributors y: 11 # changes public/js/components/Utilities/PresenceIndicator.js x: 9 # contributors y: 11 # changes app/controllers/PanDomainAuthActions.scala x: 5 # contributors y: 14 # changes app/services/Permissions.scala x: 5 # contributors y: 10 # changes app/views/authError.scala.html x: 3 # contributors y: 4 # changes project/plugins.sbt x: 14 # contributors y: 25 # changes public/js/app.js x: 14 # contributors y: 26 # changes public/js/components/AtomEdit/CustomEditors/GuideFields/GuideItem.js x: 9 # contributors y: 20 # changes public/js/components/AtomEdit/CustomEditors/ProfileFields/ProfileItem.js x: 9 # contributors y: 21 # changes public/js/components/AtomEdit/CustomEditors/TimelineFields/TimelineItem.js x: 9 # contributors y: 29 # changes public/js/components/Header/DeleteAtom.js x: 8 # contributors y: 10 # changes app/config/AWS.scala x: 2 # contributors y: 8 # changes app/controllers/Login.scala x: 5 # contributors y: 11 # changes app/db/AtomDataStores.scala x: 8 # contributors y: 18 # changes app/db/AtomWorkshopDB.scala x: 13 # contributors y: 23 # changes app/db/ExplainerDB.scala x: 4 # contributors y: 8 # changes app/models/APIResponse.scala x: 7 # contributors y: 13 # changes app/models/Errors.scala x: 14 # contributors y: 21 # changes app/services/AtomPublishers.scala x: 5 # contributors y: 12 # changes app/util/AtomLogic.scala x: 12 # contributors y: 20 # changes conf/logback.xml x: 4 # contributors y: 9 # changes public/js/actions/AtomActions/getSuggestionsForLatestContent.js x: 4 # contributors y: 7 # changes public/js/actions/AtomActions/updateAtom.js x: 7 # contributors y: 7 # changes public/js/components/AtomList/AtomList.js x: 9 # contributors y: 16 # changes public/js/components/Header/EditHeader.js x: 9 # contributors y: 13 # changes public/js/constants/atomPropType.js x: 4 # contributors y: 6 # changes public/js/constants/errorPropType.js x: 5 # contributors y: 6 # changes public/js/services/AtomsApi.js x: 12 # contributors y: 23 # changes public/js/util/atomDataExtractors.js x: 12 # contributors y: 16 # changes public/js/util/validators.js x: 9 # contributors y: 12 # changes public/styles/components/_atom-search.scss x: 6 # contributors y: 6 # changes public/js/components/AtomCreate/AtomCreateTypeSelect.js x: 7 # contributors y: 12 # changes public/js/constants/queryParams.js x: 3 # contributors y: 2 # changes public/styles/components/_forms.scss x: 9 # contributors y: 30 # changes public/js/util/flattenFormErrors.js x: 1 # contributors y: 2 # changes public/styles/components/_lists.scss x: 1 # contributors y: 3 # changes public/styles/base/_base.scss x: 4 # contributors y: 10 # changes public/styles/components/_modal.scss x: 3 # contributors y: 5 # changes public/styles/layout/_toolbar.scss x: 6 # contributors y: 17 # changes public/js/reducers/audioPageDataReducer.js x: 2 # contributors y: 3 # changes public/js/reducers/rootReducer.js x: 13 # contributors y: 21 # changes public/styles/components/_audio.scss x: 2 # contributors y: 2 # changes public/js/services/presence.js x: 7 # contributors y: 8 # changes public/js/actions/AtomActions/deleteAtom.js x: 3 # contributors y: 3 # changes public/styles/components/_search-suggestions.scss x: 2 # contributors y: 4 # changes public/js/reducers/suggestionsForLatestContent.js x: 1 # contributors y: 1 # changes public/styles/layout/_atom-list.scss x: 6 # contributors y: 7 # changes public/styles/components/_atom-editor.scss x: 4 # contributors y: 11 # changes public/js/util/configurePresence.js x: 6 # contributors y: 4 # changes public/styles/base/_typography.scss x: 4 # contributors y: 12 # changes public/styles/base/_helpers.scss x: 2 # contributors y: 7 # changes public/js/actions/AtomActions/takeDownAtom.js x: 2 # contributors y: 1 # changes public/js/constants/fieldError.js x: 3 # contributors y: 1 # changes utils/dynamo_export.rb x: 4 # contributors y: 2 # changes
98.0
# changes
  min: 1.0
  average: 10.59
  25th percentile: 2.0
  median: 7.0
  75th percentile: 14.0
  max: 98.0
0 26.0
# contributors
min: 1.0 | average: 5.92 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 8.25 | max: 26.0

Number of Contributors vs. File Size: 206 points

app/config/Config.scala x: 22 # contributors y: 59 lines of code app/controllers/App.scala x: 19 # contributors y: 176 lines of code app/models/ClientConfig.scala x: 15 # contributors y: 28 lines of code app/util/AtomElementBuilders.scala x: 19 # contributors y: 101 lines of code app/util/AtomUpdateOperations.scala x: 7 # contributors y: 17 lines of code public/js/components/AtomCreate/AtomCreateGenericInfo.js x: 12 # contributors y: 96 lines of code public/js/components/AtomEdit/AtomEdit.js x: 24 # contributors y: 117 lines of code public/js/constants/atomData.js x: 24 # contributors y: 138 lines of code public/styles/main.scss x: 20 # contributors y: 37 lines of code riff-raff.yaml x: 14 # contributors y: 17 lines of code app/AppComponents.scala x: 18 # contributors y: 59 lines of code build.sbt x: 26 # contributors y: 20 lines of code project/Dependencies.scala x: 13 # contributors y: 37 lines of code public/js/components/AppMessage/AppMessage.js x: 5 # contributors y: 9 lines of code public/js/components/AtomCreate/AtomCreateExternalApp.js x: 6 # contributors y: 27 lines of code public/js/components/AtomEdit/AtomEditHeader.js x: 10 # contributors y: 62 lines of code public/js/components/AtomEdit/CustomEditors/CTAEditor.js x: 9 # contributors y: 42 lines of code public/js/components/AtomEdit/CustomEditors/CommonsDivisionEditor.js x: 6 # contributors y: 46 lines of code public/js/components/AtomEdit/CustomEditors/ExplainerEditor.js x: 10 # contributors y: 21 lines of code public/js/components/AtomEdit/CustomEditors/QAndAEditor.js x: 6 # contributors y: 30 lines of code public/js/components/AtomEdit/CustomEditors/TimelineEditor.js x: 10 # contributors y: 27 lines of code public/js/components/AtomEdit/EmbeddedAtomPick.js x: 6 # contributors y: 44 lines of code public/js/components/AtomEmbed/CreateTargetForm.js x: 10 # contributors y: 89 lines of code public/js/components/AtomRoot/AtomRoot.js x: 10 # contributors y: 53 lines of code public/js/components/AtomStats/AtomStats.js x: 8 # contributors y: 113 lines of code public/js/components/ContentSuggestions/ContentSuggestions.js x: 5 # contributors y: 115 lines of code public/js/components/ContentSuggestions/CopyUrlButton.js x: 5 # contributors y: 33 lines of code public/js/components/ExternalAtom/ExternalAtom.js x: 5 # contributors y: 60 lines of code public/js/components/FormFields/FormFieldArrayWrapper.js x: 12 # contributors y: 114 lines of code public/js/components/FormFields/FormFieldCheckbox.js x: 10 # contributors y: 23 lines of code public/js/components/FormFields/FormFieldCheckboxGroup.js x: 6 # contributors y: 49 lines of code public/js/components/FormFields/FormFieldDateInput.js x: 10 # contributors y: 52 lines of code public/js/components/FormFields/FormFieldDateTextInput.js x: 6 # contributors y: 45 lines of code public/js/components/FormFields/FormFieldImageSelect.js x: 12 # contributors y: 117 lines of code public/js/components/FormFields/FormFieldMultiSelect.js x: 5 # contributors y: 69 lines of code public/js/components/FormFields/FormFieldNumericInput.js x: 8 # contributors y: 33 lines of code public/js/components/FormFields/FormFieldRadioButtons.js x: 9 # contributors y: 44 lines of code public/js/components/FormFields/FormFieldRichTextEditor.js x: 4 # contributors y: 55 lines of code public/js/components/FormFields/FormFieldSelectBox.js x: 11 # contributors y: 67 lines of code public/js/components/FormFields/FormFieldTagPicker.js x: 10 # contributors y: 95 lines of code public/js/components/FormFields/FormFieldTextInput.js x: 9 # contributors y: 34 lines of code public/js/components/FormFields/SearchFields/SearchCheckboxGroup.js x: 8 # contributors y: 57 lines of code public/js/components/FormFields/SearchFields/SearchSelectBox.js x: 5 # contributors y: 32 lines of code public/js/components/FormFields/SearchFields/SearchSuggestions.js x: 6 # contributors y: 94 lines of code public/js/components/FormFields/SearchFields/SearchTextInput.js x: 7 # contributors y: 30 lines of code public/js/components/Header/Header.js x: 13 # contributors y: 46 lines of code public/js/components/ManagedEditor/ManagedEditorField.js x: 11 # contributors y: 60 lines of code public/js/components/ManagedEditor/ManagedEditorForm.js x: 8 # contributors y: 35 lines of code public/js/components/Page.js x: 9 # contributors y: 32 lines of code public/js/components/Utilities/Modal.js x: 6 # contributors y: 29 lines of code public/js/components/Utilities/PresenceIndicator.js x: 9 # contributors y: 33 lines of code public/js/components/Workflow/Workflow.js x: 6 # contributors y: 130 lines of code app/controllers/PanDomainAuthActions.scala x: 5 # contributors y: 28 lines of code app/services/Permissions.scala x: 5 # contributors y: 24 lines of code app/views/authError.scala.html x: 3 # contributors y: 13 lines of code project/plugins.sbt x: 14 # contributors y: 7 lines of code public/js/app.js x: 14 # contributors y: 52 lines of code public/js/components/AtomEdit/CustomEditors/GuideFields/GuideItem.js x: 9 # contributors y: 51 lines of code public/js/components/AtomEdit/CustomEditors/QAndAFields/QAItem.js x: 9 # contributors y: 47 lines of code public/js/components/AtomEdit/CustomEditors/TimelineFields/TimelineItem.js x: 9 # contributors y: 123 lines of code public/js/components/Header/DeleteAtom.js x: 8 # contributors y: 32 lines of code app/config/AWS.scala x: 2 # contributors y: 27 lines of code app/controllers/ExplainerReindexController.scala x: 6 # contributors y: 70 lines of code app/controllers/Login.scala x: 5 # contributors y: 12 lines of code app/controllers/Support.scala x: 9 # contributors y: 36 lines of code app/db/AtomDataStores.scala x: 8 # contributors y: 19 lines of code app/db/AtomWorkshopDB.scala x: 13 # contributors y: 58 lines of code app/db/ExplainerDB.scala x: 4 # contributors y: 23 lines of code app/models/APIResponse.scala x: 7 # contributors y: 20 lines of code app/models/Errors.scala x: 14 # contributors y: 19 lines of code app/services/AtomPublishers.scala x: 5 # contributors y: 27 lines of code app/util/AtomLogic.scala x: 12 # contributors y: 76 lines of code conf/logback.xml x: 4 # contributors y: 29 lines of code public/js/BaseApp.js x: 11 # contributors y: 39 lines of code public/js/actions/AtomActions/getSuggestionsForLatestContent.js x: 4 # contributors y: 119 lines of code public/js/actions/AtomActions/updateAtom.js x: 7 # contributors y: 52 lines of code public/js/actions/ParliamentActions/getLatestCommonsDivisions.js x: 5 # contributors y: 77 lines of code public/js/components/AtomEdit/CustomEditors/AudioEditor.js x: 5 # contributors y: 18 lines of code public/js/components/AtomEdit/CustomEditors/AudioFields/AutomaticDataFetch.js x: 5 # contributors y: 54 lines of code public/js/components/AtomEdit/CustomEditors/AudioFields/ManualDataInput.js x: 5 # contributors y: 45 lines of code public/js/components/AtomEdit/CustomEditors/GuideEditor.js x: 7 # contributors y: 38 lines of code public/js/components/AtomEdit/CustomEditors/ProfileEditor.js x: 7 # contributors y: 35 lines of code public/js/components/AtomEmbed/AtomEmbed.js x: 10 # contributors y: 106 lines of code public/js/components/AtomEmbed/CurrentTargets.js x: 8 # contributors y: 116 lines of code public/js/components/AtomList/AtomList.js x: 9 # contributors y: 95 lines of code public/js/components/AtomListItem/AtomListItem.js x: 8 # contributors y: 87 lines of code public/js/components/CommonsDivisions/CommonsDivisions.js x: 5 # contributors y: 50 lines of code public/js/components/Header/EditHeader.js x: 9 # contributors y: 165 lines of code public/js/components/List/List.js x: 4 # contributors y: 22 lines of code public/js/components/Utilities/HoverExpander.js x: 4 # contributors y: 7 lines of code public/js/constants/atomPropType.js x: 4 # contributors y: 8 lines of code public/js/constants/errorPropType.js x: 5 # contributors y: 5 lines of code public/js/services/AtomsApi.js x: 12 # contributors y: 82 lines of code public/js/util/atomDataExtractors.js x: 12 # contributors y: 43 lines of code public/js/util/validateField.js x: 8 # contributors y: 25 lines of code public/js/util/wordLimits.js x: 4 # contributors y: 12 lines of code app/controllers/Healthcheck.scala x: 6 # contributors y: 7 lines of code app/util/CORSable.scala x: 5 # contributors y: 16 lines of code app/views/index.scala.html x: 12 # contributors y: 31 lines of code public/js/services/WorkflowApi.js x: 5 # contributors y: 105 lines of code public/js/services/capi.js x: 12 # contributors y: 92 lines of code public/js/util/validators.js x: 9 # contributors y: 16 lines of code public/styles/components/_atom-search.scss x: 6 # contributors y: 88 lines of code public/js/components/AtomCreate/AtomCreateTypeSelect.js x: 7 # contributors y: 51 lines of code public/js/constants/queryParams.js x: 3 # contributors y: 7 lines of code public/styles/components/_forms.scss x: 9 # contributors y: 246 lines of code public/js/actions/AtomActions/getAudioPageData.js x: 4 # contributors y: 82 lines of code public/js/util/flattenFormErrors.js x: 1 # contributors y: 10 lines of code public/styles/components/_hover-expander.scss x: 1 # contributors y: 24 lines of code public/styles/components/_lists.scss x: 1 # contributors y: 14 lines of code public/js/util/uriEncodeParams.js x: 3 # contributors y: 10 lines of code public/styles/components/_modal.scss x: 3 # contributors y: 28 lines of code public/styles/layout/_toolbar.scss x: 6 # contributors y: 205 lines of code public/js/reducers/audioPageDataReducer.js x: 2 # contributors y: 26 lines of code public/js/reducers/rootReducer.js x: 13 # contributors y: 39 lines of code public/styles/components/_audio.scss x: 2 # contributors y: 6 lines of code public/js/services/presence.js x: 7 # contributors y: 28 lines of code public/js/reducers/queryParamsReducer.js x: 3 # contributors y: 15 lines of code public/js/actions/AtomActions/deleteAtom.js x: 3 # contributors y: 30 lines of code public/js/actions/SearchSuggestionsActions/cancel.js x: 2 # contributors y: 11 lines of code public/js/actions/SearchSuggestionsActions/search.js x: 2 # contributors y: 30 lines of code public/js/actions/SearchSuggestionsActions/update.js x: 2 # contributors y: 12 lines of code public/js/reducers/searchSuggestionsReducer.js x: 2 # contributors y: 32 lines of code public/styles/components/_atom.scss x: 3 # contributors y: 34 lines of code public/styles/components/_search-suggestions.scss x: 2 # contributors y: 33 lines of code app/models/CreateAtomFields.scala x: 3 # contributors y: 2 lines of code public/js/components/CommonsDivisions/CommonsDivision.js x: 2 # contributors y: 151 lines of code public/js/reducers/commonsDivisionsReducer.js x: 2 # contributors y: 8 lines of code public/js/services/Parliament.js x: 2 # contributors y: 23 lines of code public/styles/components/_commons-divisions.scss x: 2 # contributors y: 59 lines of code public/js/util/imageHelpers.js x: 6 # contributors y: 74 lines of code public/js/actions/AtomActions/getSuggestedContent.js x: 1 # contributors y: 58 lines of code public/js/reducers/suggestionsForLatestContent.js x: 1 # contributors y: 8 lines of code public/js/services/ophan.js x: 1 # contributors y: 12 lines of code public/styles/components/_suggestions.scss x: 1 # contributors y: 75 lines of code public/styles/layout/_atom-list.scss x: 6 # contributors y: 50 lines of code public/js/actions/WorkflowActions/getStatus.js x: 2 # contributors y: 47 lines of code public/js/actions/WorkflowActions/trackInWorkflow.js x: 2 # contributors y: 37 lines of code public/js/constants/workflow.js x: 2 # contributors y: 5 lines of code public/styles/components/_workflow.scss x: 2 # contributors y: 14 lines of code public/styles/components/_atom-actions.scss x: 2 # contributors y: 10 lines of code public/styles/components/_atom-editor.scss x: 4 # contributors y: 58 lines of code public/styles/components/form-fields/_image-select.scss x: 4 # contributors y: 43 lines of code public/js/actions/AtomActions/getAtomUsages.js x: 3 # contributors y: 46 lines of code public/styles/components/_atom-create.scss x: 6 # contributors y: 23 lines of code public/js/util/configurePresence.js x: 6 # contributors y: 4 lines of code public/js/actions/AtomListActions/getAtomList.js x: 2 # contributors y: 34 lines of code public/js/util/store.js x: 1 # contributors y: 28 lines of code public/styles/components/_buttons.scss x: 2 # contributors y: 43 lines of code public/styles/components/_message-bar.scss x: 1 # contributors y: 11 lines of code public/js/actions/QueryParamsActions/updateQueryParams.js x: 1 # contributors y: 7 lines of code public/js/util/storeMiddleware.js x: 1 # contributors y: 34 lines of code public/js/util/urlParameters.js x: 1 # contributors y: 44 lines of code public/js/reducers/formErrorsReducer.js x: 1 # contributors y: 13 lines of code public/js/actions/AtomActions/getAtom.js x: 5 # contributors y: 37 lines of code public/js/actions/ExternalAtomActions/getExternalAtom.js x: 1 # contributors y: 36 lines of code public/styles/base/_typography.scss x: 4 # contributors y: 31 lines of code public/styles/components/_atom-card.scss x: 3 # contributors y: 39 lines of code public/styles/components/_page.scss x: 3 # contributors y: 18 lines of code public/styles/base/_helpers.scss x: 2 # contributors y: 42 lines of code public/js/services/pandaFetch.js x: 5 # contributors y: 34 lines of code public/styles/components/_targeting.scss x: 1 # contributors y: 25 lines of code public/js/util/publishState.js x: 3 # contributors y: 26 lines of code public/js/reducers/presenceClientReducer.js x: 3 # contributors y: 8 lines of code public/styles/components/_presence-list.scss x: 3 # contributors y: 16 lines of code public/styles/components/_atom-embed.scss x: 2 # contributors y: 7 lines of code public/styles/components/_usages-list.scss x: 1 # contributors y: 21 lines of code public/js/actions/AtomActions/takeDownAtom.js x: 2 # contributors y: 36 lines of code public/js/reducers/saveStateReducer.js x: 2 # contributors y: 54 lines of code public/js/actions/AtomActions/createAtom.js x: 5 # contributors y: 38 lines of code public/js/constants/saveStateVals.js x: 2 # contributors y: 3 lines of code public/styles/components/_loader.scss x: 2 # contributors y: 39 lines of code public/js/constants/fieldError.js x: 3 # contributors y: 6 lines of code public/js/components/ManagedEditor/index.js x: 2 # contributors y: 2 lines of code utils/dynamo_export.rb x: 4 # contributors y: 24 lines of code utils/dynamo_import.rb x: 4 # contributors y: 30 lines of code app/models/Version.scala x: 2 # contributors y: 4 lines of code public/styles/base/_fonts.scss x: 1 # contributors y: 27 lines of code public/styles/components/_tables.scss x: 1 # contributors y: 66 lines of code
246.0
lines of code
  min: 2.0
  average: 42.16
  25th percentile: 16.0
  median: 32.0
  75th percentile: 52.25
  max: 246.0
0 26.0
# contributors
min: 1.0 | average: 5.92 | 25th percentile: 2.0 | median: 5.0 | 75th percentile: 8.25 | max: 26.0