UNPKG

knip

Version:

Find unused files, dependencies and exports in your TypeScript and JavaScript projects

37 lines (36 loc) 1.45 kB
import { toEntry } from '../../util/input.js'; import { toAbsolute } from '../../util/path.js'; import { hasDependency, load } from '../../util/plugin.js'; import { resolveConfig as resolveVitestConfig } from '../vitest/index.js'; const title = 'Ladle'; const enablers = ['@ladle/react']; const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers); const config = ['.ladle/config.{mjs,js,ts}']; const stories = ['src/**/*.stories.{js,jsx,ts,tsx,mdx}']; const restEntry = ['.ladle/components.{js,jsx,ts,tsx}']; const entry = [...restEntry, ...stories]; const project = ['.ladle/**/*.{js,jsx,ts,tsx}']; const resolveEntryPaths = (localConfig, options) => { const localStories = typeof localConfig.stories === 'string' ? [localConfig.stories] : localConfig.stories; const viteConfig = localConfig.viteConfig ? [toAbsolute(localConfig.viteConfig, options.cwd)] : []; const patterns = [...restEntry, ...(localStories ?? stories), ...viteConfig]; return patterns.map(toEntry); }; const resolveConfig = async (localConfig, options) => { if (localConfig.viteConfig) { const viteConfigPath = toAbsolute(localConfig.viteConfig, options.cwd); const viteConfig = await load(viteConfigPath); return resolveVitestConfig(viteConfig, options); } return []; }; export default { title, enablers, isEnabled, config, entry, project, resolveEntryPaths, resolveConfig, };