Transform JSX from Ruby. Includes a Tilt template.
Ruby JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib first Apr 1, 2015
spec
.gitignore first Apr 1, 2015
.travis.yml
Gemfile
Gemfile.lock
Guardfile
README.md
Rakefile
jsx.gemspec first Apr 1, 2015

README.md

JSX Build Status Gem Version

A Ruby interface to Facebook's JSX transformer, broken out of react-rails. You can:

  • convert JSX willy-nilly
  • Use JSX::Template with a Tilt environment (for example, Sinatra)

Installation

gem "jsx"
bundle install

Ad Hoc Transform

You can access the transformer directly. Pass it some JavaScript with JSX. Optionally, pass strip_types or harmony. For example:

compiled = JSX.transform("<h1>Hello {name}</h1>", strip_types: true, harmony: true)
# 'React.createElement("h1", {className: "greeting"}, "Hello ", name)'

With Tilt

Tilt can automatically convert .jsx files. After loading Tilt and JSX, require jsx/tilt. For example:

require 'tilt'
require 'jsx'
require 'jsx/tilt'

To use harmony or strip_types in this case, assign them to JSX::Template.transform_options. For example:

JSX::Template.transform_options = {strip_types: true}

Now, the template will strip types from JSX code.

License

  • Facebook's JSX Transformer (part of React): BSD
  • This Ruby code: MIT