Skip to content

Releases: reactjs/react-docgen

v6.0.0-alpha.1

04 Apr 12:05
Compare
Choose a tag to compare
v6.0.0-alpha.1 Pre-release
Pre-release

This is a pre-release that is under heavy development. Please report any issues you might encounter here: #576

Bug Fixes

  • Fix for expressionTo with Spread and Methods (5f3da8c)
  • Remove obsolete id check (66961d8)
  • Remove usage of ast-type builders (17c8a9c)

Features

  • Migrate to TypeScript (7b35e6f)
  • Remove building out of scope AST Nodes from resolveToValue (5bcf56c)

BREAKING CHANGES

  • resolveToValue will not create a MemberExpression for targets ending in destructuring. It will now simply resolve to the Identifier inside the destructuring. Use new helper isDestructuringAssignment to further check this identifier.
  • The helpers resolveObjectValuesToArray and resolveObjectKeysToArray return now string[] instead of a NodePath

6.0.0-alpha.0

08 May 16:24
Compare
Choose a tag to compare
6.0.0-alpha.0 Pre-release
Pre-release

Install with yarn add react-docgen@next

Includes all commits that are also in 5.4.0.

  • Allow resolving of imported types/proptypes

This version does not yet really have any breaking changes, so for updating from 5.4.0 or 5.4.0-alpha.0 nothing needs to be done. The import-resolving feature is such a big change that it will be released in the next major version, so this is the only change for now in this alpha version. Also to come in 6.0 is a complete rewrite in TypeScript, the removal of the ast-types dependency and some more major changes. See #502.

5.4.0

08 May 16:20
Compare
Choose a tag to compare

This does not include #464. Resolving of imports will be added in 6.0. There is a new 6.0.0-alpha.0 version which includes resolving of imports.

Bug Fixes

  • Ensure componentMethodsHandler ignores private properties (#440)

Features

  • use @babel/generate to serialise AST nodes w/o loc in printValue (#482)

5.4.0-alpha.0

21 Oct 14:38
Compare
Choose a tag to compare
5.4.0-alpha.0 Pre-release
Pre-release
  • Allow resolving of imported types/proptypes

5.3.1

21 Oct 14:26
Compare
Choose a tag to compare
  • Update ast-types to latest version

5.3.0

26 Feb 00:46
Compare
Choose a tag to compare

New Features

  • Support static methods on function components (#433)

Bug Fixes

  • Handle docblock on out-of-line forwardRef (#435)
  • Infer displayName given forwardRef node (#436)
  • Avoid circular reference when resolving name from within assignment (#434)
  • Fix crash by only visit paths, not nodes (#432)

5.2.1

13 Feb 00:40
Compare
Choose a tag to compare

Bug Fixes

  • Support forwardRef with out of line argument (#430)
  • Support empty type for flow (#431)

5.2.0

06 Feb 23:02
Compare
Choose a tag to compare

New Features

  • Support new topLevelAwait plugin in babel parser

Bug Fixes

  • Fix to Flow Maximum Callstack exceeded error on recursive generic structs (#428)

Performance

  • Switch from async to neo-async in the cli

5.1.0

05 Jan 20:43
Compare
Choose a tag to compare

New Features

  • skip private methods in Documentation (#409)

Bug Fixes

  • Resolve local spreads in defaultProps (#404)
  • Do not forward typeParameters when using resolved Path, to fix infinite loop (#417)

5.0.0

11 Dec 22:37
Compare
Choose a tag to compare

BREAKING CHANGES

  • The license changed to MIT. When updating ensure that MIT is one of the licenses allowed in your project.
  • The signature of resolvers has changed. It previously received the Program AST node as first param and recast as second param. The new signature receives the File AST node as first argument and the preconfigured parser as second argument.
    resolver(ast: ASTNode, parser: { parse: (string) => AST })
  • Node 8.10.0 or newer is required, older versions are not supported anymore
  • When we detect HOC react-docgen now assumes that the first argument to the HOC is the component. Previously we assumed the last argument is the component, but nearly all implementations of HOC which have multiple arguments have the component as the first argument.
  • React class components now require to extend another class in order to be detected as component. Previously any class having a render method was considered a react component.

New Features

  • Handle computed properties correctly and do not fail generation (#340)
    If you are using computed properties in your react props we will now include them in the output if we can. If the expression in the computed property is a literal (string, number) we will directly use this as the name otherwise if it is an identifier we will use this an prefix it with @computed#.
  • Fully support React.forwardRef (#350)
  • Add support for TypeScript (#348)
    We will now correctly parse TypeScript if the filename supplied to react-docgen has a TypeScript extension (.ts, .tsx). If you have babel already setup for TypeScript in your project then all you need to do is supply the filename via the parse options. In the output there will be a new property called tsType which will include the documentation extracted from TypeScript.
  • Add support for TSMappedType (#362)
  • Add support for Flow interfaces and Flow generic types (#348)
  • The default parse function can now receive a string or a Buffer.
  • Handlers now receive the preconfigured parser as 3rd argument.
    handler(documentation: Documentation, path: NodePath, parser: { parse: (string) => AST })
  • Support destructuring and aliased imports in react builtin call detection (#385)
  • Be more strict about detecting react class components (#397)

Performance

  • Remove recast and use ast-types directly (#349)

Bug Fixes

  • Add missing isReactForwardRefCall export (#351)
  • HOCs resolving intermediate values (#378)
  • Expand index types correctly (#369)
  • Type inference on forwardRef components (#392)
  • Support ts(x) file parsing using CLI (#391)
  • Assume HOC first param is Component not last (#343)
  • Detect components wrapped in HOC with all resolver (#344)
  • Bail when function returns are recursive instead of stack overflowing (#407)
  • Support type as expressions and type assertions (#408)