feat(repo): add a script to fetch nx issues
This commit is contained in:
parent
f57d4c291e
commit
59f98e4719
69
scripts/fetch-nx-issues.js
Normal file
69
scripts/fetch-nx-issues.js
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
const cp = require('child_process');
|
||||||
|
|
||||||
|
async function calculate() {
|
||||||
|
const aa = await Promise.all(
|
||||||
|
[1, 2, 3, 4, 5].map((q) => {
|
||||||
|
const v = cp
|
||||||
|
.execSync(
|
||||||
|
`curl -i "https://api.github.com/repos/nrwl/nx/issues?state=open&page=${q}&per_page=100"`
|
||||||
|
)
|
||||||
|
.toString();
|
||||||
|
const substr = v.substring(v.indexOf('['));
|
||||||
|
return JSON.parse(substr);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
let all = [];
|
||||||
|
aa.forEach((a) => all.push(...a));
|
||||||
|
all = all.filter((a) => a.html_url.indexOf('/pull') === -1);
|
||||||
|
console.log('total number', all.length);
|
||||||
|
|
||||||
|
const grouped = {};
|
||||||
|
all.forEach((i) => {
|
||||||
|
const ll = i.labels;
|
||||||
|
let scope = (
|
||||||
|
ll.find((lll) => lll.name.indexOf('scope:') > -1) || {
|
||||||
|
name: 'no-scope',
|
||||||
|
}
|
||||||
|
).name;
|
||||||
|
|
||||||
|
if (
|
||||||
|
scope === 'scope: react' ||
|
||||||
|
scope === 'scope: nextjs' ||
|
||||||
|
scope === 'scope: gatsby'
|
||||||
|
) {
|
||||||
|
scope = 'scope: react+next+gatsby';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!grouped[scope]) grouped[scope] = [];
|
||||||
|
grouped[scope].push(i);
|
||||||
|
});
|
||||||
|
|
||||||
|
let totalBugs = 0;
|
||||||
|
Object.keys(grouped).forEach((k) => {
|
||||||
|
const bugs = grouped[k].filter((i) => {
|
||||||
|
const ll = i.labels;
|
||||||
|
return !!ll.find((lll) => lll.name.indexOf('type: bug') > -1);
|
||||||
|
});
|
||||||
|
totalBugs += bugs.length;
|
||||||
|
console.log(`${k}, issues: ${grouped[k].length}, bugs: ${bugs.length}`);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('without scope');
|
||||||
|
grouped['no-scope'].forEach((issue) => {
|
||||||
|
if (
|
||||||
|
issue.labels.every((lll) => lll.name.indexOf('type: question') === -1)
|
||||||
|
) {
|
||||||
|
console.log(issue.html_url);
|
||||||
|
} else {
|
||||||
|
// console.log(`question: ${issue.html_url}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`Total bugs: ${totalBugs}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
calculate()
|
||||||
|
.then(() => {
|
||||||
|
console.log('done');
|
||||||
|
})
|
||||||
|
.catch((e) => console.log(e));
|
||||||
Loading…
x
Reference in New Issue
Block a user