jsx-transform

JSX transpiler. A standard and configurable implementation of JSX decoupled from React.

Github stars Tracking Chart

jsx-transform Build Status NPM version Dependency Status

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

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" }]
  ]
}

BSD Licensed

Main metrics

Overview
Name With Owneralexmingoia/jsx-transform
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:
所有者活动
Created At2014-06-27 09:49:20
Pushed At2020-02-27 17:18:19
Last Commit At2020-02-27 12:18:18
Release Count30
Last Release Namev2.3.0 (Posted on 2016-01-26 08:29:57)
First Release Name0.1.0 (Posted on 2014-06-27 02:57:04)
用户参与
Stargazers Count294
Watchers Count9
Fork Count28
Commits Count121
Has Issues Enabled
Issues Count23
Issue Open Count9
Pull Requests Count19
Pull Requests Open Count0
Pull Requests Close Count6
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private