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.
Failed to load latest commit information.
lib first Apr 1, 2015
.gitignore first Apr 1, 2015
jsx.gemspec first Apr 1, 2015

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)


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.


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