Releases: reactjs/react-docgen
react-docgen@6.0.4
@react-docgen/cli@1.0.4
Patch Changes
- Updated dependencies
[8ba9ac7
]:- react-docgen@6.0.4
react-docgen@6.0.3
@react-docgen/cli@1.0.3
Patch Changes
- Updated dependencies
[c3c16e3
]:- react-docgen@6.0.3
react-docgen@6.0.2
@react-docgen/cli@1.0.2
react-docgen@6.0.1
@react-docgen/cli@1.0.1
Patch Changes
- Updated dependencies
[c7e2bd5
]:- react-docgen@6.0.1
react-docgen@6.0.0
Migration Guide: https://react-docgen.dev/docs/migrate/v6
Major Changes
-
96d6e9e
Thanks @danez! - RenameflowTypeHandler
to
codeTypeHandler
because it handles Flow and TypeScript -
#719
d7a39af
Thanks @danez! - 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
-
#761
dfc2f85
Thanks @danez! - RenamedpropDocBlockHandler
to
propDocblockHandler
for consistency -
96d6e9e
Thanks @danez! - Simplify
resolveObjectValuesToArray
and remove type handling. None of the code that
was handling types was used. -
caae6bf
Thanks @danez! - The return values of
resolveObjectValuesToArray
are now in the order they are defined in the
source code. -
#744
e956802
Thanks @danez! - Removed 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. -
96d6e9e
Thanks @danez! - Migrate react-docgen to ES
modules. Please read
this -
#693
3b28f6e
Thanks @danez! - The CLI was removed from
react-docgen
into its own package@react-docgen/cli
.Check out https://react-docgen.dev/docs/getting-started/cli for the
documentation. -
96d6e9e
Thanks @danez! - The mainparse
API had some
breaking changes.-
The arguments were changed from previously 5 to just 2. The following diff
illustrates how to migrate:-parse(src, resolver, handlers, importer, options: { filename, ...babelOptions}) +parse(src, { resolver, handlers, importer, filename, babelOptions: {} })
-
The return type is now always an array, independent of the resolver, even if
only one component was found in the file.
-
-
#786
0a2481d
Thanks @danez! - Renamed the methodtoObject
to
build
in the DocumentationBuilder.This method might be used by integrations.
-
96d6e9e
Thanks @danez! - Renamed some of the main exports
for clarity.Renamed
handlers
tobuiltinHandlers
Renamedresolver
to
builtinResolvers
Renamedimporters
tobuiltinImporters
-
#743
5215bab
Thanks @danez! - Removed support for the
@extends React.Component
annotation on react class components.Instead, you can use the new
@component
annotation or define your own
annotation by creating a customFindAnnotatedDefinitionsResolver
instance -
#714
80e4c74
Thanks @danez! - 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 })
-
-
96d6e9e
Thanks @danez! - Migrated to babel toolchainThis is one of the big changes in this new version of react-docgen. It made
the code a lot more robust because there are now finally working TypeScript
types for the ASTs.Another benefit from this change is that react-docgen is now a lot faster. 🚀
In some tests an improvement of nearly 50% was seen in comparison to
version 5. -
#707
d4c27d4
Thanks @danez! - Improve performance of file
system importer.The file system importer now also caches the resolving of files in addition to
parsing files. If the importer is used in an environment where files do change
at runtime (like a watch command) then the caches will need to be cleared on
every file change. -
96d6e9e
Thanks @danez! - Changed the minimum Node.js
version to 14.18.0
Minor Changes
-
96d6e9e
Thanks @danez! - Add support for.cts
and.mts
extension when using typescript -
96d6e9e
Thanks @danez! - Treat functions returning
React.Children.map
as components -
96d6e9e
Thanks @danez! - Improve performance by creating
all visitors only once -
96d6e9e
Thanks @danez! - Support all possible kinds of
functions in thedisplayNameHandler
-
#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
. -
#714
80e4c74
Thanks @danez! - 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, });
-
96d6e9e
Thanks @danez! - Support all literal types in
typescript
@react-docgen/cli@1.0.0
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
]:- react-docgen@6.0.0