Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
This PR contains the following updates:
^5.4.3->^8.0.2Release Notes
reactjs/react-docgen (react-docgen)
v8.0.2Compare Source
Patch Changes
a122bffThanks @DiogoDoreto! - Do not fail when
resolving inside ObjectMethod nodes
v8.0.1Compare Source
Patch Changes
4c7dd9dThanks @danez! - Do not fail on new VoidPattern
type
v8.0.0Compare Source
Major Changes
#942
c3dfeadThanks @danez! - Drop support for Node.js 16, 17,
18, 19 and 21.
With this
react-docgenversion Node.js support is:Patch Changes
06c2faeThanks @danez! - Fixed crash when classes with
private fields are used
v7.1.1Compare Source
Patch Changes
639bf37Thanks @christon88! - Expose more TypeScript
types
v7.1.0Compare Source
Minor Changes
#923
3033ca0Thanks @rvetere! - Support generic types on
React.forwardRefcalls.Example:
react-docgenwill now findIButtonProps.v7.0.3Compare Source
Patch Changes
afe8d02Thanks @danez! - Do not throw error when using
namespace specifiers in export statements
v7.0.2Compare Source
Patch Changes
64bf1aaThanks @danez! - Fix handling of template literals
v7.0.1Compare Source
Patch Changes
2b51bbdThanks @renovate! - update dependency
@types/doctrine to ^0.0.9
v7.0.0Compare Source
Major Changes
#846
82154c3Thanks @danez! -
getTypeFromReactComponentnowreturns an array of paths to types instead of just one. This can appear when
multiple type definitions are found for a component, for example:
In this example both the
Propsdefinition as well as{ some: string }arenow found and used.
Here is a simple diff to illustrate the change when using
getTypeFromReactComponent:#848
dda8915Thanks @danez! - Drop support for Node.js
version 14.
The minimum supported version is now 16.14.0
#846
62e692fThanks @danez! -
resolveToValuewill not resolveto
ImportDeclarationanymore but instead to one of the possible specifiers(
ImportSpecifier,ImportDefaultSpecifierorImportNamespaceSpecifier).This gives better understanding to which specifier exactly
resolveToValuedid resolve a NodePath to.
Here is a possible easy fix for this in a code snippet that uses
resolveToValueMinor Changes
#862
40ebb00Thanks @danez! - Support
PropsWithoutRef,PropsWithRefandPropsWithChildrenin TypeScript.Component props are now detected correctly when these builtin types are used,
but they do currently not add any props to the documentation.
#846
82154c3Thanks @danez! - Add support for
React.FCinTypeScript.
Patch Changes
6312f2fThanks @renovate[bot]! - update
dependency @types/doctrine to ^0.0.7
#846
c01d1a0Thanks @danez! - Fix detection of react class
components when super class is imported via named import.
#861
74b6680Thanks @renovate! - update dependency
@types/doctrine to ^0.0.8
#846
0641700Thanks @danez! - Remove unnecessary call to
resolveToValuewhen trying to find props type from react components.#858
3be404eThanks @danez! - Fix detection of React.Children
with ESM imports
v6.0.4Compare Source
Patch Changes
8ba9ac7Thanks @danez! - Support index types correctly in
flow
v6.0.3Compare Source
Patch Changes
c3c16e3Thanks @danez! - Fixed error with object and array
patterns in function signatures.
v6.0.2Compare Source
Patch Changes
ddf4e20Thanks @danez! - Read docblock in nested flow
object types and use them as descriptions
v6.0.1Compare Source
Patch Changes
c7e2bd5Thanks @danez! - Make docblocks for assigned
methods be correctly detected.
v6.0.0Compare Source
Major Changes
96d6e9eThanks @danez! - Rename
flowTypeHandlertocodeTypeHandlerbecause it handles Flow and TypeScript#719
d7a39afThanks @danez! - Refactored
resolveComponentDefinitionutility.findComponentDefinitionisComponentDefinitionthe changes in detail.
#761
dfc2f85Thanks @danez! - Renamed
propDocBlockHandlertopropDocblockHandlerfor consistency96d6e9eThanks @danez! - Simplify
resolveObjectValuesToArrayand remove type handling. None of the code thatwas handling types was used.
caae6bfThanks @danez! - The return values of
resolveObjectValuesToArrayare now in the order they are defined in thesource code.
#744
e956802Thanks @danez! - Removed match utility.
The utility can be replaced by babel helpers and is not needed anymore. Also
using explicit checks like
path.isMemberExpression()is better for typesafety and catching potential bugs.
96d6e9eThanks @danez! - Migrate react-docgen to ES
modules. Please read
this
#693
3b28f6eThanks @danez! - The CLI was removed from
react-docgeninto its own package@react-docgen/cli.Check out https://react-docgen.dev/docs/getting-started/cli for the
documentation.
96d6e9eThanks @danez! - The main
parseAPI had somebreaking changes.
The arguments were changed from previously 5 to just 2. The following diff
illustrates how to migrate:
The return type is now always an array, independent of the resolver, even if
only one component was found in the file.
#786
0a2481dThanks @danez! - Renamed the method
toObjecttobuildin the DocumentationBuilder.This method might be used by integrations.
96d6e9eThanks @danez! - Renamed some of the main exports
for clarity.
Renamed
handlerstobuiltinHandlersRenamedresolvertobuiltinResolversRenamedimporterstobuiltinImporters#743
5215babThanks @danez! - Removed support for the
@extends React.Componentannotation on react class components.Instead, you can use the new
@componentannotation or define your ownannotation by creating a custom
FindAnnotatedDefinitionsResolverinstance#714
80e4c74Thanks @danez! - Renamed and migrated built-in
resolvers to classes.
findAllComponentDefinitionswas renamed toFindAllDefinitionsResolverand is now a class.
findAllExportedComponentDefinitionswas renamed toFindExportedDefinitionsResolverand is now a class.findExportedComponentDefinitionwas removed. UseFindExportedDefinitionsResolverwith thelimitoption instead.96d6e9eThanks @danez! - Migrated to babel toolchain
This 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
d4c27d4Thanks @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.
96d6e9eThanks @danez! - Changed the minimum Node.js
version to 14.18.0
Minor Changes
96d6e9eThanks @danez! - Add support for
.ctsand.mtsextension when using typescript
96d6e9eThanks @danez! - Treat functions returning
React.Children.mapas components96d6e9eThanks @danez! - Improve performance by creating
all visitors only once
96d6e9eThanks @danez! - Support all possible kinds of
functions in the
displayNameHandler#786
0a2481dThanks @danez! - Export the type for the
DocumentationBuilder.
#786
0a2481dThanks @danez! - The types
NodePathandbabelTypesare now exported.These types are useful when building integrations in TypeScript.
babelTypesincludes all types from@babel/types.#714
80e4c74Thanks @danez! - Add the new ChainResolver which
allows multiple resolvers to be chained.
96d6e9eThanks @danez! - Support all literal types in
typescript
96d6e9eThanks @danez! - Support flow qualified type names
96d6e9eThanks @danez! - Support class and function
declarations without identifier
96d6e9eThanks @danez! - Support resolving of
destructuring in
resolveToValue#714
80e4c74Thanks @danez! - Allow resolvers to be classes in
addition to functions.
96d6e9eThanks @danez! - Improve performance drastically
by making changes to AST traversal
Visitors are now pre-exploded and are cached in the module scope instead of
creating them on every call. This change brought the benchmark from 170ops/s
to 225ops/sec
96d6e9eThanks @danez! - Add codes to errors to be able to
easily detect them
There is a new export
ERROR_CODESthat contains all possible error codes.The two errors that have codes right now are:
MISSING_DEFINITION: No component found in a fileMULTIPLE_DEFINITIONS: Multiple components found in one file96d6e9eThanks @danez! - Support handling
useImperativeHandlecorrectly#743
5215babThanks @danez! - 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.Patch Changes
#745
8fe3dbfThanks @danez! - Fix crash when using TypeScript
mapped types
#789
7c99f15Thanks @danez! - Fix TypeScript types when strict
null checks are disabled
96d6e9eThanks @danez! - Handle
React.forwardRefcallswithout a function
96d6e9eThanks @danez! - Fixed the handling of some edge
cases in resolveToValue
96d6e9eThanks @danez! - Remove trailing commas and
semicolons from raw values in the documentation
#767
a684d82Thanks @danez! - Fix handling of
PropTypes.oneOfto handle unresolved imported values correctly
#761
cc94da2Thanks @danez! - Fix using react-docgen in
browsers
#761
98a1138Thanks @danez! - Add
displayNameanddescriptionto Documentation type96d6e9eThanks @danez! - Parse jsdoc comments for
TypeScript structs
#748
ea25b16Thanks @danez! - Handle cyclic references in
PropTypes
shape()andexact()methods.#787
5a226acThanks @danez! - Fix @babel/traverse import to
work in non ESM environments
96d6e9eThanks @danez! - Correctly handle ObjectProperties
in
isReactComponentMethod#747
1aa0249Thanks @danez! - Handle
typeof import('...')andtypeof MyType.propertycorrectly in TypeScript050313dThanks @danez! - Correctly add LICENSE file to
published packages
96d6e9eThanks @danez! - Add support for TSAsExpressions
when trying to stringify expressions
#720
f6e4fe7Thanks @renovate! - Update dependency
strip-indent to v4
#769
e08e08dThanks @danez! - Correctly resolve the values in
an
Object.values()callConfiguration
📅 Schedule: Branch creation - Between 12:00 AM and 04:59 AM, only on Sunday ( * 0-4 * * 7 ) in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.