Class: React::JSX::BabelTransformer
- Inherits:
-
Object
- Object
- React::JSX::BabelTransformer
- Defined in:
- lib/react/jsx/babel_transformer.rb
Overview
A React::JSX-compliant transformer which uses ‘Babel::Transpiler` to transform JSX.
Constant Summary collapse
- DEPRECATED_OPTIONS =
%i[harmony strip_types asset_path].freeze
- DEFAULT_TRANSFORM_OPTIONS =
{ blacklist: ["spec.functionName", "validation.react", "strict"] }.freeze
Instance Method Summary collapse
-
#initialize(options) ⇒ BabelTransformer
constructor
A new instance of BabelTransformer.
- #transform(code) ⇒ Object
Constructor Details
#initialize(options) ⇒ BabelTransformer
Returns a new instance of BabelTransformer.
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/react/jsx/babel_transformer.rb', line 10 def initialize() if (.keys & DEPRECATED_OPTIONS).any? ActiveSupport::Deprecation.warn( <<-MSG Setting config.react.jsx_transform_options for :harmony, :strip_types, and :asset_path keys is now deprecated and has no effect with the default Babel Transformer. Please use new Babel Transformer options :whitelist, :plugin instead. MSG ) end @transform_options = DEFAULT_TRANSFORM_OPTIONS.merge() end |
Instance Method Details
#transform(code) ⇒ Object
23 24 25 |
# File 'lib/react/jsx/babel_transformer.rb', line 23 def transform(code) Babel::Transpiler.transform(code, @transform_options)["code"] end |