knip
Version:
Find unused files, dependencies and exports in your TypeScript and JavaScript projects
33 lines (32 loc) • 1.24 kB
JavaScript
import { toDeferResolve, toEntry } from '../../util/input.js';
import { join } from '../../util/path.js';
import { hasDependency } from '../../util/plugin.js';
const title = 'React Cosmos';
const enablers = ['react-cosmos'];
const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
const config = ['cosmos.config.json'];
const ext = '{js,jsx,ts,tsx,md,mdx}';
const fixtureEntry = [`**/*.fixture.${ext}`, `__fixtures__/**/*.${ext}`, `**/fixture.${ext}`];
const decoratorEntry = ['**/cosmos.decorator.{jsx,tsx}'];
const entry = [...fixtureEntry, ...decoratorEntry];
const resolveEntryPaths = async (localConfig) => {
const { fixturesDir, fixtureFileSuffix } = localConfig;
const entries = [
join(fixturesDir ?? '__fixtures__', `**/*.${ext}`),
join(fixturesDir ?? '', `**/*.${fixtureFileSuffix ?? 'fixture'}.${ext}`),
join(fixturesDir ?? '', `**/${fixtureFileSuffix ?? 'fixture'}.${ext}`),
];
return [...entries, ...decoratorEntry].map(toEntry);
};
const resolveConfig = async (localConfig) => {
return (localConfig?.plugins ?? []).map(toDeferResolve);
};
export default {
title,
enablers,
isEnabled,
config,
entry,
resolveConfig,
resolveEntryPaths,
};