Class: Jigsaw::JsxCompiler
- Inherits:
-
Object
- Object
- Jigsaw::JsxCompiler
- Defined in:
- lib/jigsaw/jsx_compiler.rb
Class Method Summary collapse
Class Method Details
.babel_source ⇒ Object
17 18 19 |
# File 'lib/jigsaw/jsx_compiler.rb', line 17 def self.babel_source @babel_source ||= File.read(Engine.root.join("vendor/javascript/babel.min.js")) end |
.compile(source) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/jigsaw/jsx_compiler.rb', line 5 def self.compile(source) context = MiniRacer::Context.new context.eval(babel_source) context.eval(<<~JS) Babel.transform(#{source.to_json}, { presets: [['react', { runtime: 'automatic' }]] }).code JS ensure context&.dispose end |