Sha256: 6717296953a0bf00734768d4ed194d418a2ec3b638c482efe0e19ece1a5edaed

Contents?: true

Size: 1.01 KB

Versions: 3

Compression:

Stored size: 1.01 KB

Contents

require "webpacker/configuration"

babelrc = Rails.root.join(".babelrc")

if File.exist?(babelrc)
  react_babelrc = JSON.parse(File.read(babelrc))
  react_babelrc["presets"] ||= []

  unless react_babelrc["presets"].include?("react")
    react_babelrc["presets"].push("react")
    puts "Copying react preset to your .babelrc file"

    File.open(babelrc, "w") do |f|
      f.puts JSON.pretty_generate(react_babelrc)
    end
  end
else
  puts "Copying .babelrc to app root directory"
  copy_file "#{__dir__}/examples/react/.babelrc", ".babelrc"
end

puts "Copying react loader to config/webpack/loaders"
copy_file "#{__dir__}/config/loaders/installers/react.js", "config/webpack/loaders/react.js"

puts "Copying react example entry file to #{Webpacker::Configuration.entry_path}"
copy_file "#{__dir__}/examples/react/hello_react.jsx", "#{Webpacker::Configuration.entry_path}/hello_react.jsx"

puts "Installing all react dependencies"
run "yarn add react react-dom babel-preset-react prop-types"

puts "Webpacker now supports react.js 🎉"

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
webpacker-react-on-rails-3.0.0.rc.1 lib/install/react.rb
webpacker-react-on-rails-2.0 lib/install/react.rb
webpacker-2.0 lib/install/react.rb