mirror of https://github.com/grafana/grafana
Chore: remove betterer:json script (#98618)
* Chore: remove betterer:json script * codeownerspull/98619/head^2
parent
b7809b7350
commit
7c596bb4ed
File diff suppressed because it is too large
Load Diff
@ -1,53 +0,0 @@ |
||||
import { betterer } from '@betterer/betterer'; |
||||
import { writeFile } from 'fs/promises'; |
||||
|
||||
interface FilesByIssues { |
||||
name: string; |
||||
files: [ |
||||
{ |
||||
path: string; |
||||
count: number; |
||||
}, |
||||
]; |
||||
} |
||||
type ResultMap = Record<string, FilesByIssues[]>; |
||||
|
||||
/** |
||||
* Produces a JSON file for consumption directly in Grafana |
||||
*/ |
||||
async function main() { |
||||
const results = await betterer.results(); |
||||
const resultMap: ResultMap = {}; |
||||
|
||||
for (const suite of results.resultSummaries) { |
||||
resultMap[suite.name] = []; |
||||
const filesByIssues: FilesByIssues[] = []; |
||||
// Group by message in the suite, then by file counting the number of occurrences
|
||||
for (const [file, details] of Object.entries(suite.details)) { |
||||
const relativePath = file.replace(process.cwd(), ''); |
||||
details.forEach((element) => { |
||||
const messageExist = filesByIssues.some((issue) => issue.name === element.message); |
||||
// If the message does not exist, add it to the list of issues
|
||||
// With the file and start the count at 1
|
||||
if (!messageExist) { |
||||
const name: FilesByIssues['name'] = element.message; |
||||
filesByIssues.push({ name, files: [{ path: relativePath, count: 1 }] }); |
||||
} else { |
||||
//If it exists, check if there is a file with the same path
|
||||
//If so, increment the count, if not, add the file to the list starting the count at 1
|
||||
const issue = filesByIssues.find((issue) => issue.name === element.message); |
||||
if (issue?.files.find((file) => file.path === relativePath)?.count !== undefined) { |
||||
issue.files.find((file) => file.path === relativePath)!.count++; |
||||
} else { |
||||
issue?.files.push({ path: relativePath, count: 1 }); |
||||
} |
||||
} |
||||
}); |
||||
resultMap[suite.name] = filesByIssues; |
||||
} |
||||
} |
||||
|
||||
await writeFile('.betterer.results.json', JSON.stringify(resultMap, undefined, 2)); |
||||
} |
||||
|
||||
main().catch(console.error); |
Loading…
Reference in new issue