Add support for using h
, s
as a JSX pragmas
#15
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change tests that
hastscript
can be used as the pragma for JSX with bubléand babel.
Code-wise, this adds support for using
h
to generate root nodes.This is done by omitting the tag name (like so:
h()
,h(null, 'child')
).Previously, omitting a
name
resulted in the default element to be created(
div
forh
,g
fors
).This change thus is a breaking change.
The old behavior is still available when passing an empty string:
h('')
.Another aspect of supporting JSX is supporting fragments as children.
As fragments yield root nodes, we unravel them and use only their children.
While this could be seen a change, hast prohibits roots occurring in nodes,
so the unraveling instead fixes what would otherwise be a broken tree.
Related to: syntax-tree/xastscript#3.
Related to: syntax-tree/xastscript#4.