in lib/generators/react/component_generator.rb [123:157]
def create_component_file
template_extension = if options[:coffee]
'js.jsx.coffee'
elsif options[:ts]
'js.jsx.tsx'
elsif options[:es6] || webpacker?
'es6.jsx'
else
'js.jsx'
end
if webpacker?
new_file_name = file_name.camelize
extension = if options[:coffee]
'coffee'
elsif options[:ts]
'tsx'
else
'js'
end
target_dir = webpack_configuration.source_path
.join('components')
.relative_path_from(::Rails.root)
.to_s
else
new_file_name = file_name
extension = template_extension
target_dir = 'app/assets/javascripts/components'
end
file_path = File.join(target_dir, class_path, "#{new_file_name}.#{extension}")
template("component.#{template_extension}", file_path)
end