create_component_file

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