Closed
Description
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
- We are not dependent on
- 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 tomain
- 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.