Commit 7cf5a10
Changed files (20)
src
all-badges
abc-commit
bad-words
dead-commit
fix-commit
my-badges-contributor
old-issue
pr-collaboration
revert-revert-commit
stars
the-ultimate-question
this-is-fine
time-of-commit
collect
src/all-badges/abc-commit/abc-commit.ts
@@ -1,5 +1,5 @@
-import { Commit, Repo } from '../../collect/collect.js'
import { BadgePresenter, ID, Present } from '../../badges.js'
+import { Commit, Repo } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/bad-words/bad-words.ts
@@ -1,6 +1,6 @@
-import { Commit, Repo } from '../../collect/collect.js'
import { Present, BadgePresenter } from '../../badges.js'
import { linkCommit } from '../../utils.js'
+import { Commit, Repo } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/dead-commit/dead-commit.ts
@@ -1,5 +1,5 @@
-import { Commit, Repo } from '../../collect/collect.js'
import { BadgePresenter, Present } from '../../badges.js'
+import { Commit, Repo } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/fix-commit/fix-commit.ts
@@ -1,5 +1,6 @@
import { BadgePresenter, Grant, Present } from '../../badges.js'
-import { Commit } from '../../collect/collect.js'
+
+import { Commit } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/my-badges-contributor/my-badges-contributor.ts
@@ -1,5 +1,5 @@
-import { Pull } from '../../collect/collect.js'
import { BadgePresenter, Present } from '../../badges.js'
+import { Pull } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/old-issue/old-issue.ts
@@ -1,5 +1,6 @@
import { BadgePresenter, Present } from '../../badges.js'
-import { Issue } from '../../collect/collect.js'
+
+import { Issue } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/pr-collaboration/pr-collaboration.ts
@@ -1,5 +1,6 @@
import { BadgePresenter, Present } from '../../badges.js'
-import { Pull } from '../../collect/collect.js'
+
+import { Pull } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/revert-revert-commit/revert-revert-commit.ts
@@ -1,5 +1,5 @@
-import { Commit } from '../../collect/collect.js'
import { BadgePresenter, Present } from '../../badges.js'
+import { Commit } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/stars/stars.ts
@@ -1,5 +1,6 @@
import { BadgePresenter, Present } from '../../badges.js'
-import { Repo } from '../../collect/collect.js'
+
+import { Repo } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/the-ultimate-question/the-ultimate-question.ts
@@ -1,5 +1,5 @@
import { BadgePresenter, Present } from '../../badges.js'
-import { Issue, Pull } from '../../collect/collect.js'
+import { Issue, Pull } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/this-is-fine/this-is-fine.ts
@@ -1,5 +1,6 @@
import { BadgePresenter, Present } from '../../badges.js'
-import { Pull } from '../../collect/collect.js'
+
+import { Pull } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/all-badges/time-of-commit/time-of-commit.ts
@@ -1,5 +1,5 @@
import { BadgePresenter, Present } from '../../badges.js'
-import { Commit, User } from '../../collect/collect.js'
+import { Commit, User } from '../../collect/types.js'
export default new (class implements BadgePresenter {
url = new URL(import.meta.url)
src/collect/collect.ts
@@ -1,28 +1,10 @@
import { Octokit } from 'octokit'
-import { Endpoints } from '@octokit/types'
import { pullsQuery, PullsQuery } from './pulls.js'
import { commitsQuery, CommitsQuery } from './commits.js'
-import fs from 'node:fs'
-import { fileURLToPath } from 'node:url'
import { issuesQuery, IssuesQuery } from './issues.js'
import { userQuery, UserQuery } from './user.js'
import { IssueTimelineQuery, issueTimelineQuery } from './issue-timeline.js'
-
-export type Data = {
- user: User
- repos: Repo[]
- pulls: Pull[]
- issues: Issue[]
-}
-export type User = UserQuery['user']
-export type Repo =
- Endpoints['GET /users/{username}/repos']['response']['data'][0] & {
- commits: Commit[]
- }
-export type Commit =
- CommitsQuery['repository']['defaultBranchRef']['target']['history']['nodes'][0]
-export type Pull = PullsQuery['user']['pullRequests']['nodes'][0]
-export type Issue = IssuesQuery['user']['issues']['nodes'][0]
+import { Data } from './types.js'
export async function collect(
octokit: Octokit,
src/collect/types.ts
@@ -1,1 +1,28 @@
+import { Endpoints } from '@octokit/types'
+import { CommitsQuery } from './commits.js'
+import { IssuesQuery } from './issues.js'
+import { UserQuery } from './user.js'
+import { PullsQuery } from './pulls.js'
+
export type Extra<T> = T | undefined
+
+export type Data = {
+ user: User
+ repos: Repo[]
+ pulls: Pull[]
+ issues: Issue[]
+}
+
+export type User = UserQuery['user']
+
+export type Repo =
+ Endpoints['GET /users/{username}/repos']['response']['data'][0] & {
+ commits: Commit[]
+ }
+
+export type Commit =
+ CommitsQuery['repository']['defaultBranchRef']['target']['history']['nodes'][0]
+
+export type Pull = PullsQuery['user']['pullRequests']['nodes'][0]
+
+export type Issue = IssuesQuery['user']['issues']['nodes'][0]
src/badges.ts
@@ -1,6 +1,6 @@
import { allBadges } from './all-badges/index.js'
-import { Commit, Data, Issue, Pull } from './collect/collect.js'
import { expectType, linkCommit, linkIssue, linkPull } from './utils.js'
+import { Commit, Data, Issue, Pull } from './collect/types.js'
for (const {
default: { badges },
src/get-data.ts
@@ -1,6 +1,7 @@
-import { collect, Data } from './collect/collect.js'
+import { collect } from './collect/collect.js'
import fs from 'node:fs'
import { Octokit } from 'octokit'
+import { Data } from './collect/types.js'
export async function getData(
octokit: Octokit,
src/present-badges.ts
@@ -2,8 +2,8 @@ import { Badge, badgeCollection, BadgePresenter, ID } from './badges.js'
import { allBadges } from './all-badges/index.js'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
-import { Data } from './collect/collect.js'
import { parseMask } from './utils.js'
+import { Data } from './collect/types.js'
export const presentBadges = (
presenters: BadgePresenter[],
src/utils.ts
@@ -1,5 +1,5 @@
import { spawnSync } from 'node:child_process'
-import { Commit, Issue, Pull } from './collect/collect.js'
+import { Commit, Issue, Pull } from './collect/types.js'
export function linkCommit(commit: Commit): string {
return `<a href="https://github.com/${commit.repository.owner.login}/${
test/present-badges.test.ts
@@ -1,8 +1,8 @@
import * as assert from 'node:assert'
import { describe, it } from 'node:test'
-import { Data } from '../src/collect/collect.js'
import { presentBadges } from '../src/present-badges.js'
import { Badge, BadgePresenter } from '../src/badges.js'
+import { Data } from '../src/collect/types.js'
describe('present-badges', () => {
const data: Data = {
test/stars.test.ts
@@ -2,7 +2,8 @@ import * as assert from 'node:assert'
import { describe, it } from 'node:test'
import starsPresenter from '../src/all-badges/stars/stars.js'
import { Badge, badgeCollection } from '../src/badges.js'
-import { Data } from '../src/collect/collect.js'
+
+import { Data } from '../src/collect/types.js'
describe('stars', () => {
it('counts and renders as expected', () => {