Socket
Socket
Sign inDemoInstall

jsx-transform

Package Overview
Dependencies
40
Maintainers
3
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    jsx-transform

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


Version published
Weekly downloads
1.8K
decreased by-2.55%
Maintainers
3
Created
Weekly downloads
 

Readme

Source

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

ParamTypeDescription
strString
[options]Object
options.factoryStringFactory function name for element creation.
[options.spreadFn]StringName of function for use with spread attributes (default: Object.assign).
[options.unknownTagPattern]Stringuses 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]BooleanHandle 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]BooleanPass unknown tags as string to options.factory (default: false).
[options.arrayChildren]BooleanPass 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

ParamType
pathString
[options]Object

jsx-transform~browserifyTransform([filename], [options]) ⇒ function

Make a browserify transform.

Kind: inner method of jsx-transform
Returns: function - browserify transform

ParamTypeDescription
[filename]String
[options]Object
[options.extensions]StringArray 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

Keywords

FAQs

Last updated on 27 Feb 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc