Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thysultan/jsx.js

small and extendable jsx transpiler
https://github.com/thysultan/jsx.js

jsx transpiler

Last synced: 22 days ago
JSON representation

small and extendable jsx transpiler

Awesome Lists containing this project

README

        

# jsx.js

a light and extendable jsx compiler.

- ~3kb minified
- ~1.5kb minified + gzipped

## API

```javascript
jsx(
str, {string}
extend: {(Object|string)}
);
```

This method recieves a string and optional extend object/string that is used to create
a custom mapping for the javascript output, for example...

```javascript
jsx(str, {
text: function (children) {
// return string
},
element: function (type, props, children) {
// return string
},
component: function (type, props, children) {
// return string
}
props: function (props, node) {
// return string
}
node: function (node) {
// return string
}
});

jsx(str, 'React.createElement');
```

If the input string has a pragma comment, for example`/* @jsx h */` it will use that for the output mapping, if no pragma comment/custom mapping has been specicifed it defaults to hyperscript `h(...)`.