UNPKG

1.51 kBJavaScriptView Raw
1import { childContextTypeHandler, codeTypeHandler, componentDocblockHandler, componentMethodsHandler, componentMethodsJsDocHandler, contextTypeHandler, defaultPropsHandler, displayNameHandler, propDocblockHandler, propTypeCompositionHandler, propTypeHandler, } from './handlers/index.js';
2import { fsImporter } from './importer/index.js';
3import { ChainResolver, FindAnnotatedDefinitionsResolver, FindExportedDefinitionsResolver, } from './resolver/index.js';
4const defaultResolvers = [
5 new FindExportedDefinitionsResolver({
6 limit: 1,
7 }),
8 new FindAnnotatedDefinitionsResolver(),
9];
10const defaultResolver = new ChainResolver(defaultResolvers, {
11 chainingLogic: ChainResolver.Logic.ALL,
12});
13const defaultImporter = fsImporter;
14export const defaultHandlers = [
15 propTypeHandler,
16 contextTypeHandler,
17 childContextTypeHandler,
18 propTypeCompositionHandler,
19 propDocblockHandler,
20 codeTypeHandler,
21 defaultPropsHandler,
22 componentDocblockHandler,
23 displayNameHandler,
24 componentMethodsHandler,
25 componentMethodsJsDocHandler,
26];
27export function createConfig(inputConfig) {
28 const { babelOptions, filename, handlers, importer, resolver } = inputConfig;
29 const config = {
30 babelOptions: { ...babelOptions },
31 handlers: handlers ?? defaultHandlers,
32 importer: importer ?? defaultImporter,
33 resolver: resolver ?? defaultResolver,
34 };
35 if (filename) {
36 config.babelOptions.filename = filename;
37 }
38 return config;
39}