Releases: reactjs/react-docgen
@react-docgen/[email protected]
Major Changes
- 80e4c74: Renamed
--handlersoption to--handler. This unifies all options
to be singular.
Minor Changes
-
80e4c74:
--resolveroption can now be used multiple times.If used multiple times the resolvers will be chained in the defined order and
all components from all resolvers will be used.
Patch Changes
- ebd9130: Display the correct help info when running
react-docgen --help - 050313d: Correctly add LICENSE file to published packages
- 5b281f4: update dependency commander to v10
- Updated dependencies [8fe3dbf]
- Updated dependencies [d7a39af]
- Updated dependencies [80e4c74]
- Updated dependencies [e956802]
- Updated dependencies [80e4c74]
- Updated dependencies [ea25b16]
- Updated dependencies [1aa0249]
- Updated dependencies [050313d]
- Updated dependencies [5215bab]
- Updated dependencies [f6e4fe7]
- Updated dependencies [5215bab]
- Updated dependencies [80e4c74]
[email protected]
Major Changes
-
96d6e9e: Rename
flowTypeHandlertocodeTypeHandlerbecause it handles Flow and TypeScript -
96d6e9e: Simplify
resolveObjectValuesToArrayand remove type handling. None of the code that was handling types was actually used. -
caae6bf: The return values of
resolveObjectValuesToArrayare now in the order they are defined in the source code. -
96d6e9e: Migrate react-docgen to ES modules. Please read this
-
3b28f6e: 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.
-
96d6e9e: The main
parseAPI had some breaking changes.-
The arguments were changed from previously 5 to just 2. Checkout the diff to see how to migrate:
-parse(src, resolver, handlers, importer, options) +parse(src, { resolver, handlers, importer, filename, babelOptions: {} })
-
The return type is now always an array, independent of resolver and even if
only one component was found in the file.
-
-
96d6e9e: Renamed some of the main exports for clarity.
Renamed
handlerstobuiltinHandlers
RenamedresolvertobuiltinResolvers
RenamedimporterstobuiltinImporters -
96d6e9e: 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 that react-docgen is now a lot faster. 🚀 In some
tests an improvement of nearly 50% was seen in comparison to version 5. -
d4c27d4: Improve performance of file system importer.
The file system importer now also caches 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: Changed the minimum Node.js version to 14.17.0
Minor Changes
-
96d6e9e: Add support for
.ctsand.mtsextension when using typescript -
96d6e9e: Treat functions returning
React.Children.mapas components -
96d6e9e: Improve performance by creating all visitors only once
-
96d6e9e: Support all possible kinds of functions in the
displayNameHandler -
96d6e9e: Support all literal types in typescript
-
96d6e9e: Support flow qualified type names
-
96d6e9e: Support class and function declarations without identifier
-
96d6e9e: Support resolving of destructurings in
resolveToValue -
96d6e9e: 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: 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 fileMULTIPLE_DEFINITIONS: Multiple components found in one files
-
96d6e9e: Support handling
useImperativeHandlecorrectly
New Contributors
- @ggascoigne made their first contribution in #634
@react-docgen/[email protected]
Major Changes
-
3b28f6e: Introducing the new CLI package
@react-docgen/cliwhich was extracted fromreact-docgenand is a complete rewrite.
Compared to the old CLI these are some of the major differences:- Does not support input via stdin anymore
- The path argument is now a glob
-x, --extensionwas removed in favor of globs-e, --excludewas removed-i, --ignorenow accepts a glob--handleradded--importeradded--failOnWarningadded
Check out https://react-docgen.dev/docs/getting-started/cli for the documentation.
Patch Changes
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [caae6bf]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [3b28f6e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [96d6e9e]
- Updated dependencies [d4c27d4]
- Updated dependencies [96d6e9e]
v5.4.3
v6.0.0-alpha.3
6.0.0-alpha.3 (2022-06-13)
Bug Fixes
- Correctly detect index access types in typescript (#400) (85ea6a5)
- Correctly handle ObjectTypeSpreadProperty in object type annotations (#593) (395f338)
- Fix typescript types for parsing (34c55ac)
- Fix wrong detection of forwardRef in combination with memo (#592) (ea9cbeb)
- Handle ObjectTypeSpreadProperties which are not resolvable (4b8b721)
- Ignore methods in
Object.value()calls (4fc5b21)
v5.4.2
5.4.1
6.0.0-alpha.2
This is a pre-release that is under heavy development. Please report any issues you might encounter here: #579
Bug Fixes
- Change folder name inside the npm package back to
dist. (5f3da8c)
There was no real reason to change this and happened during the TypeScript migration.
v6.0.0-alpha.1
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
resolveToValuewill not create aMemberExpressionfor targets ending in destructuring. It will now simply resolve to theIdentifierinside the destructuring. Use new helperisDestructuringAssignmentto further check this identifier.- The helpers
resolveObjectValuesToArrayandresolveObjectKeysToArrayreturn nowstring[]instead of aNodePath
6.0.0-alpha.0
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-typesdependency and some more major changes. See #502.