-
Notifications
You must be signed in to change notification settings - Fork 130
Open
Labels
Proposal 2.0Proposals considerable for JSX 2.0Proposals considerable for JSX 2.0
Description
We have accumulated a number of these nice-to-haves breaking changes that would be nice to incorporate. However, at this point JSX is a hugely adopted syntax in all kinds of tooling. Making breaking changes will churn that ecosystem significantly. I think it is probably only worth doing as a batch when the accumulated amount of changes makes it worth while.
Let's call it JSX 2.0.
What should go into it?
Since a completely incompatible version of JSX has landed in Reason it would be good to find a way to unify them.
I'd say at least we'd want:
- Document parsing of (X)HTML entities, or drop it even? #4 - Drop HTML encoding in text and attributes.
- AssignmentExpression in JSXAttributeName #21 - Computed attribute names.
- support object literal property value shorthand #23 - Object short hand notation.
- Allow template literal in JSXAttributeValue #25, JSX Compiler interpolation alternatives. #51, Support numeric attribute values #64 - Drop the need for curlies around attribute values if they're a single literal, or parenthesis.
Some more controversial/problematic ones that could plausibly be fixed:
- Proposal: implicitly use do-expression for any JSX expr container #39 - Implicit do expressions.
- Crazy Idea: Deprecate JSXText? #35 - Drop implicit text content and curlies as children.
- Custom attribute namespace #66 - Custom attribute namespaces.
What else?
dashed, sophiebits, mathieumg, bloodyowl, jonvuri and 197 moremikerybka, crubier and MrCheateradamkdean, bsudekum, rauchg, andreis, wub and 5 morePajn, sibbl, jacobp100, eric-khoury, bsudekum and 27 moreyangshun, messutied, devmetal, chenqing, eric-khoury and 22 more
Metadata
Metadata
Assignees
Labels
Proposal 2.0Proposals considerable for JSX 2.0Proposals considerable for JSX 2.0