diff --git a/lib/generators/react/component_generator.rb b/lib/generators/react/component_generator.rb index dc4d8c47c..608355239 100644 --- a/lib/generators/react/component_generator.rb +++ b/lib/generators/react/component_generator.rb @@ -90,11 +90,10 @@ class ComponentGenerator < ::Rails::Generators::NamedBase } def create_component_file - template_extension = case - when options[:es6] - 'es6.jsx' - when options[:coffee] + template_extension = if options[:coffee] 'js.jsx.coffee' + elsif options[:es6] || webpacker? + 'es6.jsx' else 'js.jsx' end diff --git a/test/generators/coffee_component_generator_test.rb b/test/generators/coffee_component_generator_test.rb index 73c4812df..158b9232d 100644 --- a/test/generators/coffee_component_generator_test.rb +++ b/test/generators/coffee_component_generator_test.rb @@ -10,6 +10,13 @@ class CoffeeComponentGeneratorTest < Rails::Generators::TestCase def filename 'app/javascript/components/GeneratedComponent.coffee' end + + test 'that Webpacker defaults to ES6' do + run_generator %w(GeneratedComponent name) + + es6 = File.read(File.join(destination_root, 'app/javascript/components/GeneratedComponent.js')) + assert_match(%r{extends React.Component}, es6) + end else def filename 'app/assets/javascripts/components/generated_component.js.jsx.coffee'