Skip to content

Commit d42d295

Browse files
committed
Fix JSX when execjs uses therubyracer.
1 parent c6d4334 commit d42d295

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

Diff for: Appraisals

+5
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,8 @@ end
99
appraise "rails-4.0" do
1010
gem 'rails', '~> 4.0'
1111
end
12+
13+
appraise "rails-4.0-with-therubyracer" do
14+
gem 'rails', '~> 4.0'
15+
gem 'therubyracer', '0.12.0', :platform => :mri
16+
end

Diff for: lib/react/jsx.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ module React
66
module JSX
77
def self.context
88
# TODO: create React::Source::contents_for
9-
contents = File.read(React::Source.bundled_path_for('JSXTransformer.js'))
9+
contents =
10+
# If execjs uses therubyracer, there is no 'global'. Make sure
11+
# we have it so JSX script can work properly.
12+
'var global = global || this;' +
13+
File.read(React::Source.bundled_path_for('JSXTransformer.js'))
1014
@context ||= ExecJS.compile(contents)
1115
end
1216

0 commit comments

Comments
 (0)