Comments (2)
interesting thing here was on ASTExplorer the outputted structure was the same - which makes me think I'm probably missing something trivial
The ASTs are probably the same, but the NodePath's may not?
Is there something I'm missing with the paths provided by babel-traverse that would make them work with recast or are they fundamentally different api's meaning they would need some sort of conversion step?
I don't know that much about the NodePath implement babel-traverse. But from writing a custom Babel plugin I can say that they appear to be very different than recast's NodePaths.
Also, out of interest, wondering how the decision is made to use something like recast over babel-traverse (considering babylon is already used as the parser)? Guess this may be a timing thing when work was actually started on this!
Pretty much, yes. I actually wrote jscodeshift two years ago. Babel didn't exist back than.
Also, is it maybe the plan to move to babel (making assumptions since it's FB managed now)?
I don't have any plans in this direction. recast works well for us as it is and I believe that a conversion is worth the effort (not enough gain).
I'm looking to re-use a bunch of logic I've already written as babel based traversals and am desperately hoping I can take advantage of docgen in the least ugliest manner possible.
docgen uses babylon v5. If you are using v6, then that could explain some of the differences. But aside that, there shouldn't be an issue using a babylon AST with docgen/recast. I'm happy to provide an API that accepts an AST (instead of code).
Maybe if you provide concrete examples which cause issues, we can solve them?
from react-docgen.
I'm closing this since I guess there doesn't seem to be anything actionable here.
from react-docgen.
Related Issues (20)
- Fails when a namespaced export is used HOT 1
- When postcss modules are present, in some scenarios react-docgen tries to parse css files HOT 2
- Typescript: Component props not parsed with 'call signature' type
- Typescript: Component declaration reference is not recognized by parser
- @defaultValue is not parsed from interface HOT 1
- "Attempted to resolveName for an unsupported path" error HOT 3
- Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.
- Using `Readonly<T>` utility type results in losing pieces of `T`'s information
- TypeScript: Missing Union Elements of Indexed Access Type
- Failed to parse HOT 1
- Mo support for typescript intersection and parenthesized types
- Class components with private members breaks docgen
- Is this repository still maintained?
- Missing support for `Pick<>` and `Omit<>` HOT 1
- No support for components that directly return `null`
- No support for forwardRef calls typed with generics
- Interface extends are supported but not the type ampersand syntax
- Types from `*.d.ts` files are not parsed in node_modules HOT 1
- Monorepo support is missing
- Documentation missing for most features
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-docgen.