Files
2026-07-13 12:44:08 +08:00

43 lines
1.3 KiB
JavaScript

import fs from 'node:fs'
import { join } from 'node:path'
import { LogHelper } from '@/helpers/log-helper'
import { SkillDomainHelper } from '@/helpers/skill-domain-helper'
/**
* This script delete test DB files if they exist
*/
export default () =>
new Promise(async (resolve, reject) => {
LogHelper.info('Cleaning test DB files...')
const skillNames = await SkillDomainHelper.listSkillFolders()
for (const skillName of skillNames) {
const skillConfigPath = SkillDomainHelper.getNewSkillConfigPath(skillName)
if (!skillConfigPath) {
continue
}
try {
// TODO: handle case where the memory folder contain multiple DB nodes
const dbFolder = join(skillConfigPath.replace(/\/skill\.json$/, ''), 'memory')
const dbTestFiles = (await fs.promises.readdir(dbFolder)).filter(
(entity) => entity.indexOf('.spec.json') !== -1
)
if (dbTestFiles.length > 0) {
LogHelper.info(`Deleting ${dbTestFiles[0]}...`)
await fs.promises.unlink(join(dbFolder, dbTestFiles[0]))
LogHelper.success(`${dbTestFiles[0]} deleted`)
}
} catch (e) {
LogHelper.error(`Failed to clean: "${skillName}" test DB file`)
reject(e)
}
}
LogHelper.success('Cleaning done')
resolve()
})