jsx-transform

JSX transpiler. Desugar JSX into JavaScript.
This module aims to be a standard and configurable implementation of JSX
decoupled from React for use with
Mercury or other modules.
JSX is a JavaScript syntax for composing virtual DOM elements.
See React's documentation for an explanation.
For linting files containing JSX see
JSXHint.
Installation
npm install jsx-transform
API
jsx-transform
This module aims to be a standard and configurable implementation of JSX
decoupled from React for use with
Mercury or other modules.
JSX is a JavaScript syntax for composing virtual DOM elements.
See React's documentation for an explanation.
For linting files containing JSX see
JSXHint.
- jsx-transform
- ~fromString(str, [options]) ⇒ String
- ~fromFile(path, [options]) ⇒ String
- ~browserifyTransform([filename], [options]) ⇒ function
jsx-transform~fromString(str, [options]) ⇒ String
Desugar JSX and return transformed string.
Kind: inner method of jsx-transform, Param, Type, Description, ---, ---, ---, str, String, [options], Object, options.factory, String, Factory function name for element creation., [options.spreadFn], String, Name of function for use with spread attributes (default: Object.assign)., [options.unknownTagPattern], String, uses given pattern for unknown tags where {tag}
is replaced by the tag name. Useful for rending mercury components as Component.render()
instead of Component()
., [options.passUnknownTagsToFactory], Boolean, Handle unknown tags like known tags, and pass them as an object to options.factory
. If true, createElement(Component)
instead of Component()
(default: false)., [options.unknownTagsAsString], Boolean, Pass unknown tags as string to options.factory
(default: false)., [options.arrayChildren], Boolean, Pass children as array instead of arguments (default: true)., Example
var jsx = require('jsx-transform');
jsx.fromString('<h1>Hello World</h1>', {
factory: 'mercury.h'
});
// => 'mercury.h("h1", null, ["Hello World"])'
jsx-transform~fromFile(path, [options]) ⇒ String
Kind: inner method of jsx-transform, Param, Type, ---, ---, path, String, [options], Object,
jsx-transform~browserifyTransform([filename], [options]) ⇒ function
Make a browserify transform.
Kind: inner method of jsx-transform
Returns: function - browserify transform, Param, Type, Description, ---, ---, ---, [filename], String, [options], Object, [options.extensions], String, Array of file extensions to run browserify transform on (default: ['.js', '.jsx', '.es', '.es6']
)., Example
var browserify = require('browserify');
var jsxify = require('jsx-transform').browserifyTransform;
browserify()
.transform(jsxify, options)
.bundle()
Use .configure(options)
to return a configured transform:
var browserify = require('browserify');
var jsxify = require('jsx-transform').browserifyTransform;
browserify({
transforms: [jsxify.configure(options)]
}).bundle()
Use in package.json
:
"browserify": {
"transform": [
["jsx-transform/browserify", { "factory": "h" }]
]
}