mirror of
https://github.com/dorny/test-reporter.git
synced 2025-12-15 13:57:09 +01:00
28 lines
747 B
TypeScript
28 lines
747 B
TypeScript
import * as fs from 'fs'
|
|
import glob from 'fast-glob'
|
|
import {FileContent, InputProvider, ReportInput} from './input-provider'
|
|
import {listFiles} from '../utils/git'
|
|
|
|
export class LocalFileProvider implements InputProvider {
|
|
constructor(
|
|
readonly name: string,
|
|
readonly pattern: string[]
|
|
) {}
|
|
|
|
async load(): Promise<ReportInput> {
|
|
const result: FileContent[] = []
|
|
for (const pat of this.pattern) {
|
|
const paths = await glob(pat, {dot: true})
|
|
for (const file of paths) {
|
|
const content = await fs.promises.readFile(file, {encoding: 'utf8'})
|
|
result.push({file, content})
|
|
}
|
|
}
|
|
|
|
return {[this.name]: result}
|
|
}
|
|
|
|
async listTrackedFiles(): Promise<string[]> {
|
|
return listFiles()
|
|
}
|
|
}
|