mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-10-13 03:58:14 +00:00
* Evals * Remove redundant line * Fix tsc error * Disable debug mode * Add option to kill run
31 lines
910 B
TypeScript
31 lines
910 B
TypeScript
import * as path from "path"
|
|
import * as fs from "fs"
|
|
|
|
import { filesystem } from "gluegun"
|
|
|
|
import { type ExerciseLanguage, exerciseLanguages } from "@evals/types"
|
|
|
|
import { exercisesPath } from "./paths.js"
|
|
|
|
let exercisesByLanguage: Record<ExerciseLanguage, string[]> | null = null
|
|
|
|
export const getExercises = () => {
|
|
if (exercisesByLanguage !== null) {
|
|
return exercisesByLanguage
|
|
}
|
|
|
|
const getLanguageExercises = (language: ExerciseLanguage) =>
|
|
fs.existsSync(path.resolve(exercisesPath, language))
|
|
? filesystem
|
|
.subdirectories(path.resolve(exercisesPath, language))
|
|
.map((exercise) => path.basename(exercise))
|
|
.filter((exercise) => !exercise.startsWith("."))
|
|
: []
|
|
|
|
exercisesByLanguage = exerciseLanguages.reduce(
|
|
(collect, language) => ({ ...collect, [language]: getLanguageExercises(language) }),
|
|
{} as Record<ExerciseLanguage, string[]>,
|
|
)
|
|
|
|
return exercisesByLanguage
|
|
}
|