Releases: reactjs/react-docgen
@react-docgen/[email protected]
Major Changes
-
#693
3b28f6e
Thanks @danez! - Introducing the new CLI package
@react-docgen/cli
which was extracted fromreact-docgen
and 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, --extension
was removed in favor of globs-e, --exclude
was removed-i, --ignore
now accepts a glob--handler
added--importer
added--failOnWarning
added
Check out https://react-docgen.dev/docs/getting-started/cli for the
documentation. -
#714
80e4c74
Thanks @danez! - Renamed--handlers
option to
--handler
. This unifies all options to be singular.
Minor Changes
-
#714
80e4c74
Thanks @danez! ---resolver
option 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 methodtoObject
to
build
in 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 typesNodePath
and
babelTypes
are now exported.These types are useful when building integrations in TypeScript.
babelTypes
includes 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
resolveComponentDefinition
utility.- 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.Component
annotation on
react class components.Instead you can use the new
@component
annotation. -
80e4c74: Renamed and migrated built-in resolvers to classes.
-
findAllComponentDefinitions
was renamed toFindAllDefinitionsResolver
and is now a class.-const resolver = builtinResolvers.findAllComponentDefinitions +const resolver = new builtinResolvers.FindAllDefinitionsResolver()
-
findAllExportedComponentDefinitions
was renamed to
FindExportedDefinitionsResolver
and is now a class.-const resolver = builtinResolvers.findAllExportedComponentDefinitions +const resolver = new builtinResolvers.FindExportedDefinitionsResolver()
-
findExportedComponentDefinition
was removed. Use
FindExportedDefinitionsResolver
with thelimit
option 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.property
correctly
in TypeScript - 050313d: Correctly add LICENSE file to published packages
- f6e4fe7: Update dependency strip-indent to v4