UNPKG

react-cosmos

Version:

Sandbox for developing and testing UI components in isolation

25 lines (24 loc) 883 B
import { findUserModulePaths } from '../userModules/findUserModulePaths.js'; import { importKeyPath } from '../userModules/shared.js'; export async function importUserModules({ rootDir, fixturesDir, fixtureFileSuffix, ignore, }) { const { fixturePaths, decoratorPaths } = await findUserModulePaths({ rootDir, fixturesDir, fixtureFileSuffix, ignore, }); return { fixtures: await importModules(fixturePaths, rootDir), decorators: await importModules(decoratorPaths, rootDir), }; } async function importModules(paths, rootDir) { const modules = await Promise.all(paths.map(async (p) => { const relPath = importKeyPath(p, rootDir); return { relPath, module: await import(p) }; })); return modules.reduce((acc, { relPath, module }) => ({ ...acc, [relPath]: module, }), {}); }