Skip to content

Releases: reactjs/react-docgen

3.0.0-rc.0

14 Jul 18:19
Compare
Choose a tag to compare
3.0.0-rc.0 Pre-release
Pre-release

Breaking Change

  • react-docgen now parses only the new decorators proposal syntax and not the old one anymore by default. You can switch back to the legacy decorators proposal with the cli flag --legacy-decorators or the programmatic options { legacyDecorators: true } passed as 4th parameter to ReactDocgen.parse().
  • Drop support for node <6

New Features

  • Parse information about the (old) react context API (#130, #260)
  • Adding @extends React.Component support to mark classes which do not extend from React.Component as valid react components (#269)
  • Support type cast expression when detecting components (#279)

Bug Fixes

  • Fix typo in one error message (Propery -> Property) (#257)
  • Fix handling of exported classes without id (#273)
  • Remove renamed SpreadProperty checks
  • Extract display name correctly even if components are wrapped (#277)
  • Resolve value to a proper node instead of an array, which fixes some recast exceptions (#278)
  • Correctly unwrap utility types when resolving type spreads (#280)
  • Correctly read descriptions of inner types in arrayOf/objectOf (#281)
  • Correctly read descriptions of local spread objects (#282)

Internal

  • Migrate babylon to @babel/parser (#272)
  • Use prettier (#274)

2.21.0

26 Jun 14:28
Compare
Choose a tag to compare

New Features

  • Also output information about (old) react context usages (#260, #130)
  • Adding @extends React.Component support to isReactComponentClass (#269)

BugFixes

  • Fix handling of exported classes without id (#273)
  • typo: Propery -> Property (#257)

v3.0.0-beta12

12 Apr 04:47
Compare
Choose a tag to compare
v3.0.0-beta12 Pre-release
Pre-release

New

Support for "unwrapping" $Exact<...> and $ReadOnly<...> type annotations. Example:

type Props = $ReadOnly<{
  foo: string,
}>;

v3.0.0-beta11

17 Feb 23:12
Compare
Choose a tag to compare
v3.0.0-beta11 Pre-release
Pre-release

BugFixes

  • Handle Logical and Conditional Expressions (#245)
  • Added post-processing step for documentation (#227)
  • Handle array shorthand notation (#251)
  • Fix cycles in flow type detection (#252)
  • Get displayName from variable if nothing else found

v2.20.1

17 Feb 23:12
Compare
Choose a tag to compare

BugFixes

  • Handle Logical and Conditional Expressions (#245)
  • Added post-processing step for documentation (#227)
  • Handle array shorthand notation (#251)
  • Fix cycles in flow type detection (#252)
  • Get displayName from variable if nothing else found

v3.0.0-beta9

09 Nov 21:55
Compare
Choose a tag to compare
v3.0.0-beta9 Pre-release
Pre-release

(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

09 Nov 21:49
Compare
Choose a tag to compare

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

11 Oct 17:09
Compare
Choose a tag to compare
v3.0.0-beta8 Pre-release
Pre-release

(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


You can install this version via npm install react-docgen@next.

v2.19.0

11 Oct 17:00
Compare
Choose a tag to compare

New

  • The names of class declarations and function declarations are now used as displayNames (3f22b3c).

  • In classes, static get propTypes(){} is now inspected for propTypes. I.e. instead of

    class 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

05 Sep 17:05
Compare
Choose a tag to compare
v3.0.0-beta7 Pre-release
Pre-release

(cherry picked changes released in v2.18.0)

New

See v2.18.0.

Fixed

See v2.18.0.

Other

See v2.18.0.

  • Upgraded babylon to v7.0.0-beta20.

You can install this version via npm install react-docgen@next.