Remove ownerAffiliations: OWNER constraint and add option to include forks (#61)

This commit is contained in:
Simon Lecoq
2021-01-14 13:33:46 +01:00
committed by GitHub
parent 9632f5faf6
commit c34e73fa68
19 changed files with 64 additions and 45 deletions

View File

@@ -6,11 +6,11 @@
if ((!enabled)||(!q.lines))
return null
//Repositories
const repositories = data.user.repositories.nodes.map(({name}) => name) ?? []
const repositories = data.user.repositories.nodes.map(({name:repo, owner:{login:owner}}) => ({repo, owner})) ?? []
//Get contributors stats from repositories
console.debug(`metrics/compute/${login}/plugins > lines > querying api`)
const lines = {added:0, deleted:0}
const response = await Promise.all(repositories.map(async repo => await rest.repos.getContributorsStats({owner:login, repo})))
const response = await Promise.all(repositories.map(async ({repo, owner}) => await rest.repos.getContributorsStats({owner, repo})))
//Compute changed lines
console.debug(`metrics/compute/${login}/plugins > lines > computing total diff`)
response.map(({data:repository}) => {
@@ -23,9 +23,6 @@
if (contributor)
contributor.weeks.forEach(({a, d}) => (lines.added += a, lines.deleted += d))
})
//Format values
lines.added = imports.format(lines.added)
lines.deleted = imports.format(lines.deleted)
//Results
return lines
}

View File

@@ -47,11 +47,6 @@
}
total.min = Math.min(...Object.values(total.dates))
total.max = Math.max(...Object.values(total.dates))
//Format values
for (const date in increments.dates)
increments.dates[date] = {value:increments.dates[date], text:`${increments.dates[date] > 0 ? "+" : ""}${imports.format(increments.dates[date])}`}
for (const date in total.dates)
total.dates[date] = {value:total.dates[date], text:imports.format(total.dates[date])}
//Months name
const months = ["", "Jan.", "Feb.", "Mar.", "Apr.", "May", "June", "July", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."]
//Results

View File

@@ -14,9 +14,6 @@
const {user:{starredRepositories:{edges:repositories}}} = await graphql(queries.starred({login, limit}))
//Format starred repositories
for (const edge of repositories) {
//Formats values
edge.node.stargazers = imports.format(edge.node.stargazerCount)
edge.node.forks = imports.format(edge.node.forkCount)
//Format date
const time = (Date.now()-new Date(edge.starredAt).getTime())/(24*60*60*1000)
let updated = new Date(edge.starredAt).toDateString().substring(4)

View File

@@ -6,17 +6,14 @@
if ((!enabled)||(!q.traffic))
return null
//Repositories
const repositories = data.user.repositories.nodes.map(({name}) => name) ?? []
const repositories = data.user.repositories.nodes.map(({name:repo, owner:{login:owner}}) => ({repo, owner})) ?? []
//Get views stats from repositories
console.debug(`metrics/compute/${login}/plugins > traffic > querying api`)
const views = {count:0, uniques:0}
const response = await Promise.all(repositories.map(async repo => await rest.repos.getViews({owner:login, repo})))
const response = await Promise.all(repositories.map(async ({repo, owner}) => await rest.repos.getViews({owner, repo})))
//Compute views
console.debug(`metrics/compute/${login}/plugins > traffic > computing stats`)
response.filter(({data}) => data).map(({data:{count, uniques}}) => (views.count += count, views.uniques += uniques))
//Format values
views.count = imports.format(views.count)
views.uniques = imports.format(views.uniques)
//Results
return {views}
}