Releases: reactjs/react-docgen
@react-docgen/[email protected]
Major Changes
-
#693
3b28f6e
Thanks @danez! - Introducing the new CLI package
@react-docgen/cliwhich was extracted fromreact-docgenand is a complete
rewrite. Compared to the old CLI these are some of the major differences:- Does not support input via stdin anymore
- The path argument is now a glob
-x, --extensionwas removed in favor of globs-e, --excludewas removed-i, --ignorenow accepts a glob--handleradded--importeradded--failOnWarningadded
Check out https://react-docgen.dev/docs/getting-started/cli for the
documentation. -
#714
80e4c74
Thanks @danez! - Renamed--handlersoption to
--handler. This unifies all options to be singular.
Minor Changes
-
#714
80e4c74
Thanks @danez! ---resolveroption can now be
used multiple times.If used multiple times the resolvers will be chained in the defined order and
all components from all resolvers will be used. -
#753
217a005
Thanks @danez! - Add support for the
FindAnnotatedDefinitionsResolver.Can be used with
react-docgen --resolver find-all-annotated-components
Patch Changes
-
ebd9130
Thanks @danez! - Display the correct help info
when runningreact-docgen --help -
#782
72ac984
Thanks @renovate! - Update dependency
commander to v10.0.1 -
050313d
Thanks @danez! - Correctly add LICENSE file to
published packages -
#792
e0999e1
Thanks @renovate! - update dependency
slash to v5.1.0 -
#783
fc8a97c
Thanks @renovate! - update dependency
slash to v5.0.1 -
#729
5b281f4
Thanks @renovate! - update dependency
commander to v10 -
Updated dependencies
[96d6e9e,
96d6e9e,
8fe3dbf,
d7a39af,
7c99f15,
dfc2f85,
96d6e9e,
96d6e9e,
96d6e9e,
96d6e9e,
0a2481d,
0a2481d,
96d6e9e,
caae6bf,
80e4c74,
96d6e9e,
e956802,
96d6e9e,
96d6e9e,
96d6e9e,
96d6e9e,
a684d82,
96d6e9e,
96d6e9e,
cc94da2,
98a1138,
80e4c74,
3b28f6e,
96d6e9e,
96d6e9e,
ea25b16,
5a226ac,
96d6e9e,
96d6e9e,
96d6e9e,
1aa0249,
0a2481d,
96d6e9e,
050313d,
96d6e9e,
96d6e9e,
5215bab,
f6e4fe7,
5215bab,
80e4c74,
96d6e9e,
d4c27d4,
96d6e9e,
e08e08d]:
[email protected]
@react-docgen/[email protected]
[email protected]
[email protected]
Major Changes
-
#786
0a2481d
Thanks @danez! - Renamed the methodtoObjectto
buildin the DocumentationBuilder.This method might be used by integrations.
Minor Changes
-
#786
0a2481d
Thanks @danez! - Export the type for the
DocumentationBuilder. -
#786
0a2481d
Thanks @danez! - The typesNodePathand
babelTypesare now exported.These types are useful when building integrations in TypeScript.
babelTypesincludes all types from@babel/types.
Patch Changes
@react-docgen/[email protected]
Patch Changes
- Updated dependencies
[5a226ac]:
@react-docgen/[email protected]
[email protected]
@react-docgen/[email protected]
[email protected]
Major Changes
-
d7a39af: Refactored
resolveComponentDefinitionutility.- Renamed to
findComponentDefinition - Removed named export
isComponentDefinition - The utility now does a lot more than previously, check out the commit to see
the changes in detail.
- Renamed to
-
e956802: Remove match utility.
The utility can be replaced by babel helpers and is not needed anymore. Also
using explicit checks likepath.isMemberExpression()is better for type
safety and catching potential bugs. -
5215bab: Removed support for the
@extends React.Componentannotation on
react class components.Instead you can use the new
@componentannotation. -
80e4c74: Renamed and migrated built-in resolvers to classes.
-
findAllComponentDefinitionswas renamed toFindAllDefinitionsResolver
and is now a class.-const resolver = builtinResolvers.findAllComponentDefinitions +const resolver = new builtinResolvers.FindAllDefinitionsResolver()
-
findAllExportedComponentDefinitionswas renamed to
FindExportedDefinitionsResolverand is now a class.-const resolver = builtinResolvers.findAllExportedComponentDefinitions +const resolver = new builtinResolvers.FindExportedDefinitionsResolver()
-
findExportedComponentDefinitionwas removed. Use
FindExportedDefinitionsResolverwith thelimitoption instead.This is still the default resolver.
-const resolver = builtinResolvers.findExportedComponentDefinition +const resolver = new builtinResolvers.FindExportedDefinitionsResolver({ limit: 1 })
-
Minor Changes
-
80e4c74: Add the new ChainResolver which allows multiple resolvers to be
chained.import { builtinResolvers } from 'react-docgen'; const { ChainResolver } = builtinResolvers; const resolver = new ChainResolver([resolver1, resolver2], { chainingLogic: ChainResolver.Logic.ALL, // or ChainResolver.Logic.FIRST_FOUND, });
-
80e4c74: Allow resolvers to be classes in addition to functions.
import type { ResolverClass, ResolverFunction } from 'react-docgen'; // This was the only option until now const functionResolver: ResolverFunction = (file: FileState) => { //needs to return array of found components }; // This is the new class resolver class MyResolver implements ResolverClass { resolve(file: FileState) { //needs to return array of found components } } const classResolver = new MyResolver();
-
5215bab: Added a new resolver that finds annotated components. This resolver
is also enabled by default.To use this feature simply annotated a component with
@component.// @component class MyComponent {}
Patch Changes
- 8fe3dbf: Fix crash when using TypeScript mapped types
- ea25b16: Handle cyclic references in PropTypes
shape()andexact()
methods. - 1aa0249: Handle
typeof import('...')andtypeof MyType.propertycorrectly
in TypeScript - 050313d: Correctly add LICENSE file to published packages
- f6e4fe7: Update dependency strip-indent to v4