Open jvivs opened 4 years ago
Mmh. My hunch is that the babylon 7 parser or its settings aren't passed correctly to recast. I will have to investigate this locally. Thank you for reporting!
(Also thank you for the kind words, it's always nice to hear that :smiley:)
@fkling Did you ever get to looking at this? Is there a code pointer you could share for where to look? I'm not involved with this project but wouldn't mind taking a look if it's as simple as you commented.
@yarian: I think when I looked at it it seems that recast isn't taking any external options at all.
However, when I try it now it seems to parse correctly. Are you experiencing issues?
@fkling Sorry for delay, for some reason didn't get notified. Yeah it doesn't work for me:
Hey all 👋
Looking into this a bit today since it's been bothering me for a while. First time poking around this code so the observations i've made might be a little naive haha!
Babylon6 seems to always work with JSX
All others error when attempting to render JSX elements with both an opening and closing tag.
For example:
import React from 'react';
const Button = () => {
return (
<div>
Hello {this.props.name}
</div>
);
};
<div/>
seem to work fine.I've checked the config/settings getting passed into the various parsers and I can't seem spot anything wrong or missing. To me this seems like a legit parsing error, maybe a dependency needs to be updated or something 🤔
It seems like adding the jsx
plugin to recast's typescript parser does the trick! Raised a pr against recast ☝️
However, still not sure why the other parsers are still broken 🤔
Can confirm this is still an issue with Flow as parser too 😞
Describe the bug First off, a HUGE thank you for making this project available. It's been so incredibly helpful!
I appear to have broken the tree view and code when attempting to using JSX syntax in conjunction with recast.
Instead of displaying the super-helpful AST viewer, the tree view prints an error message like this:
Invalid regular expression: missing /
.It seems some of the
recast
configuration may be misidentifying a closing JSX tag with a regular expression.When switching to a different parser (ex:
babylon7
), the tree view displays as expected.To Reproduce Steps to reproduce the behavior:
Line 4: Invalid regular expression: missing /
Expected behavior The interactive AST display rendered as it does with vanilla JavaScript.
Screenshots Here's the state of the code editor:
Browser (please complete the following information):
astexplorer settings:
recast
configured to usebabylon7
jscodeshift
explorerSettingsV1
Additional context The code editor also seems to have a syntax highlighting problem with the closing tag as well, so the issue with JSX may not be entirely limited to the AST Tree viewer