import fs from 'fs-extra'; import path from 'path'; import yaml from 'js-yaml'; import type { Config } from '@staticcms/core/interface'; const devTestDirectory = path.join(__dirname, '..', '..', 'packages', 'core', 'dev-test'); const backendsDirectory = path.join(devTestDirectory, 'backends'); export async function copyBackendFiles(backend: string) { await Promise.all( ['config.yml', 'index.html'].map(file => { return fs.copyFile( path.join(backendsDirectory, backend, file), path.join(devTestDirectory, file), ); }), ); } export async function updateConfig(configModifier: (config: Config) => void) { const configFile = path.join(devTestDirectory, 'config.yml'); const configContent = await fs.readFile(configFile, 'utf-8'); const config = yaml.load(configContent) as Config; await configModifier(config); await fs.writeFileSync(configFile, yaml.dump(config)); } export async function switchVersion(version: string) { const htmlFile = path.join(devTestDirectory, 'index.html'); const content = await fs.readFile(htmlFile); const replaceString = version === 'latest' ? '' : ``; await fs.writeFile( htmlFile, content.toString().replace(/