Releases: reactjs/react-docgen
v3.0.0-beta9
(merged changes released in v2.20.0
)
New
See v2.20.0
.
-
Update babylon to latest beta. This allows a lot new syntax proposal which were added to babylon (see babylon changes)
-
Enable more babylon plugins (#220)
Enables the following new plugins in babylon:
- classPrivateProperties
- classPrivateMethods
- numericSeparator
- optionalChaining
- importMeta
- bigInt
- optionalCatchBinding
- throwExpressions
- pipelineOperator
- nullishCoalescingOperator
You can install this version via npm install react-docgen@next
.
v2.20.0
New
-
Add support for typeof types and React.* types (#224)
Adds support for all the types described in the react flow docs
-
Resolve flow $Keys<> to union type (#225)
const CONTENTS = { 'apple': '🍎', 'banana': '🍌', }; type Props = { fruit: $Keys<typeof CONTENTS>, };
v3.0.0-beta8
(cherry picked changes released in v2.19.0
)
New
See v2.19.0
.
Fixed
-
See
v2.19.0
. -
Flow: Function type definitions without parameter names are now supported. For example:
type Props = { callback: (string) => void, }
In such a case the parameter name will simply be empty. See the commit ( #218 ) for an example of the output. Thank you @odinuge!
Other
- See
v2.19.0
. getMemberValuePath
now understandsTaggedTemplateExpression
s. This is used by @Jmeyering's custom annotation resolver. Check it out at https://github.com/Jmeyering/react-docgen-annotation-resolver ! Thank you @Jmeyering!
You can install this version via npm install react-docgen@next
.
v2.19.0
New
-
The names of class declarations and function declarations are now used as
displayName
s (3f22b3c). -
In classes,
static get propTypes(){}
is now inspected for propTypes. I.e. instead ofclass MyComponent extends React.Component {} MyComponent.propTypes = { disabled: PropTypes.boolean, };
you can now write
class MyComponent extends React.Component { static get propTypes() { return { disabled: PropTypes.boolean, }; } }
(23aa0fe)
Other
resolveToModule
also resolvesJSXIdentifiers
now (2c6e55a)
v3.0.0-beta7
v2.18.0
v3.0.0-beta6
v2.17.0
New
-
Classes that define a
render
public class field are now considered React components. For example:class Component extends SomeBaseComponent { render = someFunction; }
See #193 and fe55485. Thank you @birjolaxew!
-
Functions assigned to public class fields are now considered as methods. I.e. both function in the following example will be picked up by react-docgen:
class Component extends React.Component { method1() {} method2 = () => { }; }
Fixed
- Using array destructuring in class method parameters doesn't throw an error anymore. ( #197 )
Other
- Upgraded dependencies, especially
recast
( 760c426 ).
v3.0.0-beta5
(cherry picked changes from v2.16.0)
New
-e
,--exclude
now accepts a regular expression to filter out files by name:-e /.*-test\.js/
The argument will only be treated as a regular expression if the parameter is only passed once ( #164).
You can install this version via npm install react-docgen@next
.