Commit aedac2a

Anton Medvedev <anton@medv.io>
2024-07-05 23:37:09
Add epic-commit
1 parent bbd34e0
Changed files (3)
badges/epic-commit/epic-commit.png
Binary file
badges/epic-commit/epic-commit.ts
@@ -0,0 +1,24 @@
+import { Commit, define } from '#src'
+
+export default define({
+  url: import.meta.url,
+  badges: ['epic-commit'] as const,
+  present(data, grant) {
+    const commits: Commit[] = []
+
+    for (const repo of data.repos) {
+      for (const commit of repo.commits) {
+        if (commit.message.length >= 500) {
+          commits.push(commit)
+        }
+      }
+    }
+
+    if (commits.length > 0) {
+      grant(
+        'epic-commit',
+        'I made an epic commit with a message over 500 chars.',
+      ).evidenceCommits(...commits)
+    }
+  },
+})
badges/index.ts
@@ -8,6 +8,7 @@ export default [
   await import('./dead-commit/dead-commit.js'),
   await import('./delorean/delorean.js'),
   await import('./emoji-only-commit/emoji-only-commit.js'),
+  await import('./epic-commit/epic-commit.js'),
   await import('./favorite-word/favorite-word.js'),
   await import('./fix-commit/fix-commit.js'),
   await import('./github-anniversary/github-anniversary.js'),
@@ -25,4 +26,4 @@ export default [
   await import('./this-is-fine/this-is-fine.js'),
   await import('./time-of-commit/time-of-commit.js'),
   await import('./yeti/yeti.js'),
-] as const
+] as const // keep sorted