react-cosmos
Version:
Sandbox for developing and testing UI components in isolation
20 lines (19 loc) • 764 B
JavaScript
import { findUserModulePaths } from '../userModules/findUserModulePaths.js';
import { importKeyPath } from '../userModules/shared.js';
let fixtureListCache = null;
export async function getServerFixtureList(config) {
if (!fixtureListCache) {
const { fixturePaths } = await findUserModulePaths(config);
fixtureListCache = createFixtureList(config.rootDir, fixturePaths);
}
return fixtureListCache;
}
export function updateFixtureListCache(rootDir, fixturePaths) {
fixtureListCache = createFixtureList(rootDir, fixturePaths);
}
function createFixtureList(rootDir, fixturePaths) {
return fixturePaths.reduce((acc, fixturePath) => ({
...acc,
[importKeyPath(fixturePath, rootDir)]: { type: 'single' },
}), {});
}