Resolver
Resolvers decide which AST nodes are React component definitions. Handlers are then run for each node returned by the resolver.
Signature
A resolver can be a function:
import type { ResolverFunction } from 'react-docgen';
const resolver: ResolverFunction = (file) => {
return [];
};Or an object with a resolve() method:
import type { ResolverClass } from 'react-docgen';
const resolver: ResolverClass = {
resolve(file) {
return [];
},
};Both forms return an array of NodePath<ComponentNode>.
FileState
Resolvers receive a FileState object. The resolver
can inspect file.path, traverse the AST with file.traverse(), or parse and
import related files through the configured importer.
Built-in resolvers
react-docgen exports these resolver classes through builtinResolvers:
FindExportedDefinitionsResolverFindAllDefinitionsResolverFindAnnotatedDefinitionsResolverChainResolver
Using a custom resolver
import { parse } from 'react-docgen';
import myResolver from './myResolver.js';
const docs = parse(code, {
filename: 'Button.tsx',
resolver: myResolver,
});CLI
The CLI can load a resolver by built-in config name, package name, or path.
Terminal
react-docgen --resolver ./myResolver.js ./src/Button.tsxCustom resolver modules are executed as JavaScript in the current Node.js process. Only load resolvers you trust.
Last updated on