-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump react-docgen to ^7.1.0 #44022
base: master
Are you sure you want to change the base?
Bump react-docgen to ^7.1.0 #44022
Conversation
Netlify deploy previewhttps://deploy-preview-44022--material-ui.netlify.app/ Bundle size report |
@ZeeshanTamboli what did you mean with this: #37887 (comment) What is required to be ESM? |
eeded3b
to
e098a59
Compare
e098a59
to
236049e
Compare
236049e
to
066b81a
Compare
@ZeeshanTamboli ping |
I was out of the office for the last two weeks hence I couldn't reply. |
066b81a
to
484b757
Compare
484b757
to
7386464
Compare
Indeed something seems broken when generating the documentation: https://app.circleci.com/pipelines/github/mui/material-ui/142193/workflows/0045335b-63ca-4ca2-814a-d23babdfc501/jobs/766104 Assigning @mui/docs-infra |
7386464
to
809f9ec
Compare
809f9ec
to
d0382fb
Compare
This PR contains the following updates:
^5.4.3
->^7.1.0
Release Notes
reactjs/react-docgen (react-docgen)
v7.1.0
Compare Source
Minor Changes
#923
3033ca0
Thanks @rvetere! - Support generic types on
React.forwardRef
calls.Example:
react-docgen
will now findIButtonProps
.v7.0.3
Compare Source
Patch Changes
afe8d02
Thanks @danez! - Do not throw error when using
namespace specifiers in export statements
v7.0.2
Compare Source
Patch Changes
64bf1aa
Thanks @danez! - Fix handling of template literals
v7.0.1
Compare Source
Patch Changes
2b51bbd
Thanks @renovate! - update dependency
@types/doctrine to ^0.0.9
v7.0.0
Compare Source
Major Changes
#846
82154c3
Thanks @danez! -
getTypeFromReactComponent
nowreturns 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
Props
definition as well as{ some: string }
arenow found and used.
Here is a simple diff to illustrate the change when using
getTypeFromReactComponent
:#848
dda8915
Thanks @danez! - Drop support for Node.js
version 14.
The minimum supported version is now 16.14.0
#846
62e692f
Thanks @danez! -
resolveToValue
will not resolveto
ImportDeclaration
anymore but instead to one of the possible specifiers(
ImportSpecifier
,ImportDefaultSpecifier
orImportNamespaceSpecifier
).This gives better understanding to which specifier exactly
resolveToValue
did resolve a NodePath to.
Here is a possible easy fix for this in a code snippet that uses
resolveToValue
Minor Changes
#862
40ebb00
Thanks @danez! - Support
PropsWithoutRef
,PropsWithRef
andPropsWithChildren
in 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
82154c3
Thanks @danez! - Add support for
React.FC
inTypeScript.
Patch Changes
6312f2f
Thanks @renovate[bot]! - update
dependency @types/doctrine to ^0.0.7
#846
c01d1a0
Thanks @danez! - Fix detection of react class
components when super class is imported via named import.
#861
74b6680
Thanks @renovate! - update dependency
@types/doctrine to ^0.0.8
#846
0641700
Thanks @danez! - Remove unnecessary call to
resolveToValue
when trying to find props type from react components.#858
3be404e
Thanks @danez! - Fix detection of React.Children
with ESM imports
v6.0.4
Compare Source
Patch Changes
8ba9ac7
Thanks @danez! - Support index types correctly in
flow
v6.0.3
Compare Source
Patch Changes
c3c16e3
Thanks @danez! - Fixed error with object and array
patterns in function signatures.
v6.0.2
Compare Source
Patch Changes
ddf4e20
Thanks @danez! - Read docblock in nested flow
object types and use them as descriptions
v6.0.1
Compare Source
Patch Changes
c7e2bd5
Thanks @danez! - Make docblocks for assigned
methods be correctly detected.
v6.0.0
Compare Source
Major Changes
96d6e9e
Thanks @danez! - Rename
flowTypeHandler
tocodeTypeHandler
because it handles Flow and TypeScript#719
d7a39af
Thanks @danez! - Refactored
resolveComponentDefinition
utility.findComponentDefinition
isComponentDefinition
the changes in detail.
#761
dfc2f85
Thanks @danez! - Renamed
propDocBlockHandler
topropDocblockHandler
for consistency96d6e9e
Thanks @danez! - Simplify
resolveObjectValuesToArray
and remove type handling. None of the code thatwas handling types was used.
caae6bf
Thanks @danez! - The return values of
resolveObjectValuesToArray
are now in the order they are defined in thesource 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 like
path.isMemberExpression()
is better for typesafety 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 main
parse
API 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
0a2481d
Thanks @danez! - Renamed the method
toObject
tobuild
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
tobuiltinResolvers
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 ownannotation by creating a custom
FindAnnotatedDefinitionsResolver
instance#714
80e4c74
Thanks @danez! - Renamed and migrated built-in
resolvers to classes.
findAllComponentDefinitions
was renamed toFindAllDefinitionsResolver
and is now a class.
findAllExportedComponentDefinitions
was renamed toFindExportedDefinitionsResolver
and is now a class.findExportedComponentDefinition
was removed. UseFindExportedDefinitionsResolver
with thelimit
option instead.96d6e9e
Thanks @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
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 components96d6e9e
Thanks @danez! - Improve performance by creating
all visitors only once
96d6e9e
Thanks @danez! - Support all possible kinds of
functions in the
displayNameHandler
#786
0a2481d
Thanks @danez! - Export the type for the
DocumentationBuilder.
#786
0a2481d
Thanks @danez! - The types
NodePath
andbabelTypes
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.
96d6e9e
Thanks @danez! - Support all literal types in
typescript
96d6e9e
Thanks @danez! - Support flow qualified type names
96d6e9e
Thanks @danez! - Support class and function
declarations without identifier
96d6e9e
Thanks @danez! - Support resolving of
destructuring in
resolveToValue
#714
80e4c74
Thanks @danez! - Allow resolvers to be classes in
addition to functions.
96d6e9e
Thanks @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
96d6e9e
Thanks @danez! - Add codes to errors to be able to
easily detect them
There is a new export
ERROR_CODES
that 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 file96d6e9e
Thanks @danez! - Support handling
useImperativeHandle
correctly#743
5215bab
Thanks @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
8fe3dbf
Thanks @danez! - Fix crash when using TypeScript
mapped types
#789
7c99f15
Thanks @danez! - Fix TypeScript types when strict
null checks are disabled
96d6e9e
Thanks @danez! - Handle
React.forwardRef
callswithout a function
96d6e9e
Thanks @danez! - Fixed the handling of some edge
cases in resolveToValue
96d6e9e
Thanks @danez! - Remove trailing commas and
semicolons from raw values in the documentation
#767
a684d82
Thanks @danez! - Fix handling of
PropTypes.oneOf
to handle unresolved imported values correctly
#761
cc94da2
Thanks @danez! - Fix using react-docgen in
browsers
#761
98a1138
Thanks @danez! - Add
displayName
anddescription
to Documentation type96d6e9e
Thanks @danez! - Parse jsdoc comments for
TypeScript structs
#748
ea25b16
Thanks @danez! - Handle cyclic references in
PropTypes
shape()
andexact()
methods.#787
5a226ac
Thanks @danez! - Fix @babel/traverse import to
work in non ESM environments
96d6e9e
Thanks @danez! - Correctly handle ObjectProperties
in
isReactComponentMethod
#747
1aa0249
Thanks @danez! - Handle
typeof import('...')
andtypeof MyType.property
correctly in TypeScript050313d
Thanks @danez! - Correctly add LICENSE file to
published packages
96d6e9e
Thanks @danez! - Add support for TSAsExpressions
when trying to stringify expressions
#720
f6e4fe7
Thanks @renovate! - Update dependency
strip-indent to v4
#769
e08e08d
Thanks @danez! - Correctly resolve the values in
an
Object.values()
callConfiguration
📅 Schedule: Branch creation - "on sunday before 6:00am" 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.