Skip to content

rmosolgo/jsx-ruby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Transform JSX from Ruby. Includes a Tilt template.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published