GoogleCloudPlatform / recaptcha-edge
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 33 files with 2,492 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 2 files changed 21-50 times (460 lines of code)
    • 10 files changed 6-20 times (1,389 lines of code)
    • 21 files changed 1-5 times (643 lines of code)
0% | 0% | 18% | 55% | 25%
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 33 files with 2,492 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 27 files changed by 2-5 contributors (2,386 lines of code)
    • 6 files changed by 1 contributor (106 lines of code)
0% | 0% | 0% | 95% | 4%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
ts, json, yaml, md, js, gitignore, toml, handlebars, npmignore, tf, dockerfile, txt, html, prettierignore
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
ts0% | 0% | 21% | 62% | 15%
toml0% | 0% | 0% | 37% | 62%
tf0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
yaml0% | 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
src0% | 0% | 44% | 30% | 25%
bindings0% | 0% | 0% | 78% | 21%
ROOT0% | 0% | 0% | 0% | 100%
integration0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 33)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
policy.ts
in src
272 10 2024-10-24 2025-03-26 22 5 bsurmanski@google.com jstinson@google.com
index.ts
in src
188 7 2024-10-24 2025-04-10 21 5 bsurmanski@google.com jordan.stinson83@gmail.com
207 4 2024-10-24 2025-04-28 19 5 bsurmanski@google.com b.surmanski@gmail.com
index.ts
in bindings/akamai/src
344 24 2024-11-05 2025-03-31 17 4 b.surmanski@gmail.com jstinson@google.com
index.ts
in bindings/cloudflare/src
119 8 2024-10-24 2025-03-31 15 5 bsurmanski@google.com jstinson@google.com
index.ts
in bindings/fastly/src
187 15 2024-11-05 2025-03-31 15 4 b.surmanski@gmail.com jstinson@google.com
edge_worker.ts
in bindings/akamai/src
6 1 2024-11-05 2025-02-06 9 2 b.surmanski@gmail.com b.surmanski@gmail.com
edge_binding.ts
in bindings/xlb/src
306 20 2025-03-31 2025-04-10 7 2 jstinson@google.com jordan.stinson83@gmail.com
cloudflare_worker.ts
in bindings/cloudflare/src
9 1 2024-10-24 2025-03-31 6 3 bsurmanski@google.com jstinson@google.com
wrangler.toml
in bindings/cloudflare
20 - 2024-10-24 2024-11-28 6 3 bsurmanski@google.com sonyahyun.hs@gmail.com
index.ts
in bindings/xlb/src
78 7 2025-03-20 2025-04-10 6 2 jstinson@google.com jordan.stinson83@gmail.com
113 1 2024-10-24 2025-03-04 6 2 bsurmanski@google.com b.surmanski@gmail.com
vite.config.js
in bindings/fastly
8 1 2024-11-05 2024-12-18 5 2 b.surmanski@gmail.com b.surmanski@gmail.com
error.ts
in src
34 4 2024-10-24 2025-04-28 5 2 bsurmanski@google.com b.surmanski@gmail.com
action.ts
in src
65 13 2024-10-24 2025-03-04 5 2 bsurmanski@google.com b.surmanski@gmail.com
23 1 2024-10-24 2024-12-18 4 2 bsurmanski@google.com b.surmanski@gmail.com
fastly.toml
in bindings/fastly
34 - 2024-11-05 2025-03-04 4 2 b.surmanski@gmail.com sonyahyun.hs@gmail.com
5 - 2025-04-02 2025-04-14 3 2 jstinson@google.com jstinson@google.com
vite.config.js
in bindings/akamai
7 1 2024-11-20 2024-11-21 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
buf.gen.yaml
in bindings/xlb
7 - 2025-03-20 2025-03-24 2 2 jstinson@google.com jordan.stinson83@gmail.com
vite.config.js
in bindings/xlb
8 1 2025-03-20 2025-03-24 2 2 jstinson@google.com jordan.stinson83@gmail.com
11 - 2024-10-24 2024-11-06 2 2 bsurmanski@google.com b.surmanski@gmail.com
15 - 2024-12-18 2025-01-27 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
vite.config.ts
in bindings/cloudflare
15 1 2024-10-24 2024-11-06 2 2 bsurmanski@google.com b.surmanski@gmail.com
server.ts
in bindings/xlb/src
19 1 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
playwright.config.ts
in integration
26 1 2024-11-28 2024-12-18 2 2 sonyahyun.hs@gmail.com b.surmanski@gmail.com
soz.ts
in src
41 2 2025-01-27 2025-02-05 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
inputs.tf
in bindings/xlb/terraform
51 - 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
98 8 2025-02-05 2025-03-05 2 2 b.surmanski@gmail.com sonyahyun.hs@gmail.com
recaptcha.tf
in bindings/xlb/terraform
133 - 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
esbuild.config.js
in bindings/cloudflare
8 - 2025-04-28 2025-04-28 1 1 b.surmanski@gmail.com b.surmanski@gmail.com
esbuild.config.js
in bindings/akamai
9 - 2025-02-06 2025-02-06 1 1 b.surmanski@gmail.com b.surmanski@gmail.com
26 - 2025-03-05 2025-03-05 1 1 sonyahyun.hs@gmail.com sonyahyun.hs@gmail.com
Files With Most Contributors (Top 33)
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
policy.ts
in src
272 10 2024-10-24 2025-03-26 22 5 bsurmanski@google.com jstinson@google.com
index.ts
in src
188 7 2024-10-24 2025-04-10 21 5 bsurmanski@google.com jordan.stinson83@gmail.com
207 4 2024-10-24 2025-04-28 19 5 bsurmanski@google.com b.surmanski@gmail.com
index.ts
in bindings/cloudflare/src
119 8 2024-10-24 2025-03-31 15 5 bsurmanski@google.com jstinson@google.com
index.ts
in bindings/akamai/src
344 24 2024-11-05 2025-03-31 17 4 b.surmanski@gmail.com jstinson@google.com
index.ts
in bindings/fastly/src
187 15 2024-11-05 2025-03-31 15 4 b.surmanski@gmail.com jstinson@google.com
cloudflare_worker.ts
in bindings/cloudflare/src
9 1 2024-10-24 2025-03-31 6 3 bsurmanski@google.com jstinson@google.com
wrangler.toml
in bindings/cloudflare
20 - 2024-10-24 2024-11-28 6 3 bsurmanski@google.com sonyahyun.hs@gmail.com
edge_worker.ts
in bindings/akamai/src
6 1 2024-11-05 2025-02-06 9 2 b.surmanski@gmail.com b.surmanski@gmail.com
edge_binding.ts
in bindings/xlb/src
306 20 2025-03-31 2025-04-10 7 2 jstinson@google.com jordan.stinson83@gmail.com
index.ts
in bindings/xlb/src
78 7 2025-03-20 2025-04-10 6 2 jstinson@google.com jordan.stinson83@gmail.com
113 1 2024-10-24 2025-03-04 6 2 bsurmanski@google.com b.surmanski@gmail.com
vite.config.js
in bindings/fastly
8 1 2024-11-05 2024-12-18 5 2 b.surmanski@gmail.com b.surmanski@gmail.com
error.ts
in src
34 4 2024-10-24 2025-04-28 5 2 bsurmanski@google.com b.surmanski@gmail.com
action.ts
in src
65 13 2024-10-24 2025-03-04 5 2 bsurmanski@google.com b.surmanski@gmail.com
fastly.toml
in bindings/fastly
34 - 2024-11-05 2025-03-04 4 2 b.surmanski@gmail.com sonyahyun.hs@gmail.com
23 1 2024-10-24 2024-12-18 4 2 bsurmanski@google.com b.surmanski@gmail.com
5 - 2025-04-02 2025-04-14 3 2 jstinson@google.com jstinson@google.com
server.ts
in bindings/xlb/src
19 1 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
inputs.tf
in bindings/xlb/terraform
51 - 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
recaptcha.tf
in bindings/xlb/terraform
133 - 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
buf.gen.yaml
in bindings/xlb
7 - 2025-03-20 2025-03-24 2 2 jstinson@google.com jordan.stinson83@gmail.com
vite.config.js
in bindings/xlb
8 1 2025-03-20 2025-03-24 2 2 jstinson@google.com jordan.stinson83@gmail.com
vite.config.ts
in bindings/cloudflare
15 1 2024-10-24 2024-11-06 2 2 bsurmanski@google.com b.surmanski@gmail.com
11 - 2024-10-24 2024-11-06 2 2 bsurmanski@google.com b.surmanski@gmail.com
98 8 2025-02-05 2025-03-05 2 2 b.surmanski@gmail.com sonyahyun.hs@gmail.com
playwright.config.ts
in integration
26 1 2024-11-28 2024-12-18 2 2 sonyahyun.hs@gmail.com b.surmanski@gmail.com
vite.config.js
in bindings/akamai
7 1 2024-11-20 2024-11-21 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
soz.ts
in src
41 2 2025-01-27 2025-02-05 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
15 - 2024-12-18 2025-01-27 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
esbuild.config.js
in bindings/akamai
9 - 2025-02-06 2025-02-06 1 1 b.surmanski@gmail.com b.surmanski@gmail.com
esbuild.config.js
in bindings/cloudflare
8 - 2025-04-28 2025-04-28 1 1 b.surmanski@gmail.com b.surmanski@gmail.com
26 - 2025-03-05 2025-03-05 1 1 sonyahyun.hs@gmail.com sonyahyun.hs@gmail.com
Files With Least Contributors (Top 33)
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
soz.ts
in src
41 2 2025-01-27 2025-02-05 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
26 - 2025-03-05 2025-03-05 1 1 sonyahyun.hs@gmail.com sonyahyun.hs@gmail.com
15 - 2024-12-18 2025-01-27 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
esbuild.config.js
in bindings/akamai
9 - 2025-02-06 2025-02-06 1 1 b.surmanski@gmail.com b.surmanski@gmail.com
esbuild.config.js
in bindings/cloudflare
8 - 2025-04-28 2025-04-28 1 1 b.surmanski@gmail.com b.surmanski@gmail.com
vite.config.js
in bindings/akamai
7 1 2024-11-20 2024-11-21 2 1 b.surmanski@gmail.com b.surmanski@gmail.com
edge_binding.ts
in bindings/xlb/src
306 20 2025-03-31 2025-04-10 7 2 jstinson@google.com jordan.stinson83@gmail.com
recaptcha.tf
in bindings/xlb/terraform
133 - 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
113 1 2024-10-24 2025-03-04 6 2 bsurmanski@google.com b.surmanski@gmail.com
98 8 2025-02-05 2025-03-05 2 2 b.surmanski@gmail.com sonyahyun.hs@gmail.com
index.ts
in bindings/xlb/src
78 7 2025-03-20 2025-04-10 6 2 jstinson@google.com jordan.stinson83@gmail.com
action.ts
in src
65 13 2024-10-24 2025-03-04 5 2 bsurmanski@google.com b.surmanski@gmail.com
inputs.tf
in bindings/xlb/terraform
51 - 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
fastly.toml
in bindings/fastly
34 - 2024-11-05 2025-03-04 4 2 b.surmanski@gmail.com sonyahyun.hs@gmail.com
error.ts
in src
34 4 2024-10-24 2025-04-28 5 2 bsurmanski@google.com b.surmanski@gmail.com
playwright.config.ts
in integration
26 1 2024-11-28 2024-12-18 2 2 sonyahyun.hs@gmail.com b.surmanski@gmail.com
23 1 2024-10-24 2024-12-18 4 2 bsurmanski@google.com b.surmanski@gmail.com
server.ts
in bindings/xlb/src
19 1 2025-04-02 2025-04-04 2 2 jstinson@google.com jstinson@google.com
vite.config.ts
in bindings/cloudflare
15 1 2024-10-24 2024-11-06 2 2 bsurmanski@google.com b.surmanski@gmail.com
11 - 2024-10-24 2024-11-06 2 2 bsurmanski@google.com b.surmanski@gmail.com
vite.config.js
in bindings/fastly
8 1 2024-11-05 2024-12-18 5 2 b.surmanski@gmail.com b.surmanski@gmail.com
vite.config.js
in bindings/xlb
8 1 2025-03-20 2025-03-24 2 2 jstinson@google.com jordan.stinson83@gmail.com
buf.gen.yaml
in bindings/xlb
7 - 2025-03-20 2025-03-24 2 2 jstinson@google.com jordan.stinson83@gmail.com
edge_worker.ts
in bindings/akamai/src
6 1 2024-11-05 2025-02-06 9 2 b.surmanski@gmail.com b.surmanski@gmail.com
5 - 2025-04-02 2025-04-14 3 2 jstinson@google.com jstinson@google.com
wrangler.toml
in bindings/cloudflare
20 - 2024-10-24 2024-11-28 6 3 bsurmanski@google.com sonyahyun.hs@gmail.com
cloudflare_worker.ts
in bindings/cloudflare/src
9 1 2024-10-24 2025-03-31 6 3 bsurmanski@google.com jstinson@google.com
index.ts
in bindings/akamai/src
344 24 2024-11-05 2025-03-31 17 4 b.surmanski@gmail.com jstinson@google.com
index.ts
in bindings/fastly/src
187 15 2024-11-05 2025-03-31 15 4 b.surmanski@gmail.com jstinson@google.com
policy.ts
in src
272 10 2024-10-24 2025-03-26 22 5 bsurmanski@google.com jstinson@google.com
207 4 2024-10-24 2025-04-28 19 5 bsurmanski@google.com b.surmanski@gmail.com
index.ts
in src
188 7 2024-10-24 2025-04-10 21 5 bsurmanski@google.com jordan.stinson83@gmail.com
index.ts
in bindings/cloudflare/src
119 8 2024-10-24 2025-03-31 15 5 bsurmanski@google.com jstinson@google.com
Correlations

File Size vs. Number of Changes: 33 points

bindings/cloudflare/esbuild.config.js x: 8 lines of code y: 1 # changes src/createAssessment.ts x: 207 lines of code y: 19 # changes src/error.ts x: 34 lines of code y: 5 # changes xlb.cloudbuild.yaml x: 5 lines of code y: 3 # changes bindings/xlb/src/edge_binding.ts x: 306 lines of code y: 7 # changes bindings/xlb/src/index.ts x: 78 lines of code y: 6 # changes src/index.ts x: 188 lines of code y: 21 # changes bindings/xlb/src/server.ts x: 19 lines of code y: 2 # changes bindings/xlb/terraform/inputs.tf x: 51 lines of code y: 2 # changes bindings/xlb/terraform/recaptcha.tf x: 133 lines of code y: 2 # changes bindings/akamai/src/index.ts x: 344 lines of code y: 17 # changes bindings/cloudflare/src/cloudflare_worker.ts x: 9 lines of code y: 6 # changes bindings/cloudflare/src/index.ts x: 119 lines of code y: 15 # changes bindings/fastly/src/index.ts x: 187 lines of code y: 15 # changes src/policy.ts x: 272 lines of code y: 22 # changes bindings/xlb/buf.gen.yaml x: 7 lines of code y: 2 # changes bindings/xlb/vite.config.js x: 8 lines of code y: 2 # changes src/fetchApi.ts x: 98 lines of code y: 2 # changes src/request.ts x: 26 lines of code y: 1 # changes src/action.ts x: 65 lines of code y: 5 # changes src/assessment.ts x: 113 lines of code y: 6 # changes bindings/fastly/fastly.toml x: 34 lines of code y: 4 # changes bindings/akamai/esbuild.config.js x: 9 lines of code y: 1 # changes bindings/akamai/src/edge_worker.ts x: 6 lines of code y: 9 # changes src/soz.ts x: 41 lines of code y: 2 # changes eslint.config.js x: 15 lines of code y: 2 # changes bindings/fastly/vite.config.js x: 8 lines of code y: 5 # changes integration/playwright.config.ts x: 26 lines of code y: 2 # changes vite.config.ts x: 23 lines of code y: 4 # changes bindings/cloudflare/wrangler.toml x: 20 lines of code y: 6 # changes rollup.config.js x: 11 lines of code y: 2 # changes
22.0
# changes
  min: 1.0
  average: 6.12
  25th percentile: 2.0
  median: 4.0
  75th percentile: 6.5
  max: 22.0
0 344.0
lines of code
min: 5.0 | average: 75.52 | 25th percentile: 9.0 | median: 26.0 | 75th percentile: 116.0 | max: 344.0

Number of Contributors vs. Number of Changes: 33 points

bindings/cloudflare/esbuild.config.js x: 1 # contributors y: 1 # changes src/createAssessment.ts x: 5 # contributors y: 19 # changes src/error.ts x: 2 # contributors y: 5 # changes xlb.cloudbuild.yaml x: 2 # contributors y: 3 # changes bindings/xlb/src/edge_binding.ts x: 2 # contributors y: 7 # changes bindings/xlb/src/index.ts x: 2 # contributors y: 6 # changes src/index.ts x: 5 # contributors y: 21 # changes bindings/xlb/src/server.ts x: 2 # contributors y: 2 # changes bindings/akamai/src/index.ts x: 4 # contributors y: 17 # changes bindings/cloudflare/src/cloudflare_worker.ts x: 3 # contributors y: 6 # changes bindings/cloudflare/src/index.ts x: 5 # contributors y: 15 # changes bindings/fastly/src/index.ts x: 4 # contributors y: 15 # changes src/policy.ts x: 5 # contributors y: 22 # changes bindings/fastly/fastly.toml x: 2 # contributors y: 4 # changes bindings/akamai/src/edge_worker.ts x: 2 # contributors y: 9 # changes src/soz.ts x: 1 # contributors y: 2 # changes
22.0
# changes
  min: 1.0
  average: 6.12
  25th percentile: 2.0
  median: 4.0
  75th percentile: 6.5
  max: 22.0
0 5.0
# contributors
min: 1.0 | average: 2.36 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.5 | max: 5.0

Number of Contributors vs. File Size: 33 points

bindings/cloudflare/esbuild.config.js x: 1 # contributors y: 8 lines of code src/createAssessment.ts x: 5 # contributors y: 207 lines of code src/error.ts x: 2 # contributors y: 34 lines of code xlb.cloudbuild.yaml x: 2 # contributors y: 5 lines of code bindings/xlb/src/edge_binding.ts x: 2 # contributors y: 306 lines of code bindings/xlb/src/index.ts x: 2 # contributors y: 78 lines of code src/index.ts x: 5 # contributors y: 188 lines of code bindings/xlb/src/server.ts x: 2 # contributors y: 19 lines of code bindings/xlb/terraform/inputs.tf x: 2 # contributors y: 51 lines of code bindings/xlb/terraform/recaptcha.tf x: 2 # contributors y: 133 lines of code bindings/akamai/src/index.ts x: 4 # contributors y: 344 lines of code bindings/cloudflare/src/cloudflare_worker.ts x: 3 # contributors y: 9 lines of code bindings/cloudflare/src/index.ts x: 5 # contributors y: 119 lines of code bindings/fastly/src/index.ts x: 4 # contributors y: 187 lines of code src/policy.ts x: 5 # contributors y: 272 lines of code bindings/xlb/buf.gen.yaml x: 2 # contributors y: 7 lines of code src/fetchApi.ts x: 2 # contributors y: 98 lines of code src/request.ts x: 1 # contributors y: 26 lines of code src/action.ts x: 2 # contributors y: 65 lines of code src/assessment.ts x: 2 # contributors y: 113 lines of code bindings/akamai/esbuild.config.js x: 1 # contributors y: 9 lines of code bindings/akamai/src/edge_worker.ts x: 2 # contributors y: 6 lines of code src/soz.ts x: 1 # contributors y: 41 lines of code eslint.config.js x: 1 # contributors y: 15 lines of code integration/playwright.config.ts x: 2 # contributors y: 26 lines of code vite.config.ts x: 2 # contributors y: 23 lines of code bindings/cloudflare/wrangler.toml x: 3 # contributors y: 20 lines of code bindings/cloudflare/vite.config.ts x: 2 # contributors y: 15 lines of code rollup.config.js x: 2 # contributors y: 11 lines of code
344.0
lines of code
  min: 5.0
  average: 75.52
  25th percentile: 9.0
  median: 26.0
  75th percentile: 116.0
  max: 344.0
0 5.0
# contributors
min: 1.0 | average: 2.36 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.5 | max: 5.0