Skip to content

6.0.0 #502

Closed
Closed
6.0.0#502
@danez

Description

@danez

PR #494

  • Resolve imported proptypes and types (Add custom importers for importing types/values #464)
  • Add support for enabling import feature in cli
  • Migrate to TS 🎉
  • Migrate from ast-types to babel toolchain. We use estree AST for historic reasons and it is only used internally and in external resolvers/handlers. So switching to babel (non-estree) AST has several advantages:
    • We are not dependent on ast-types anymore, which seems barely maintained
    • We can use all new syntax features in babel out-of-the-box, before estree has decided how to represent the syntax in the AST spec
    • Potentially performance improvement, because the estree plugin in the babel parser is additional work, which gets eliminated.
    • Big Downside and Breaking Change is that probably all custom handlers/resolvers will need an update.
    • Related: fix: Remove usage of ast-type builders #569, More less builders #570
    • PR: feat!: Migrate to babel toolchain #638
  • Include fix: Correctly support ClassDeclarations without identifier #475 tests now that ast-types is gone.
  • Maybe new API for resolvers and handlers which allows checking for correct react-docgen version.
    • While working on the babel migration it became clear this has to be done
    • Thinking about a new API object being passed to resolvers and handlers with traverse(), parser(), and more
    • Also a new FileObject that holds source code and options so we do not need to attach them to the AST.
    • in PR: feat!: Migrate to babel toolchain #638
  • Maybe allow multiple resolvers aka ChainResolver. For example should allow to find one exported component (first resolver) OR any @nnotated component (second resolver).
  • Integrate new resolver to find @nnotated components (https://github.com/Jmeyering/react-docgen-annotation-resolver) Integrate into react-docgen Jmeyering/react-docgen-annotation-resolver#29
  • Implement changes from https://github.com/nerdlabs/react-docgen-displayname-handler
  • Migrate from Travis to GH Actions
  • Split into two packages react-docgen & react-docgen-cli, removes unnecessary dependencies if you do not need the cli
  • Migrate from commander to yargs or update commander
  • Rename master branch to main
  • Create MIGRATE.md (not necessary now that we have changeset)
  • Create tests for TODOs in code
  • add react-bootstrap to benchmark
  • try new version in react-styleguidist
  • try new version in storybook

Post-Release:

  • New website with playground and also documentation about APIs and configuration as well as examples. Not sure what system to use for this, but I guess there are some good website/docu frameworks, similar to what jest/reactjs/babel is using.

If you want to help feel free to comment. I'm nearly done with the first two tasks, which is the biggest chunk of work here so far.

If there are other ideas for major changes feel free to suggest. Now is the right time.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions