gitextract_k0i4cvxl/ ├── .bowerrc ├── .codeclimate.yml ├── .github/ │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── claude-code-review.yml │ ├── claude.yml │ ├── rubocop.yml │ └── ruby.yml ├── .gitignore ├── .pryrc ├── .rubocop.yml ├── .rubocop_todo.yml ├── Appraisals ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Gemfile ├── Guardfile ├── LICENSE ├── LintingGemfile ├── README.md ├── Rakefile ├── SECURITY.md ├── VERSIONS.md ├── check_for_uncommitted_files.sh ├── docs/ │ ├── common-errors.md │ ├── component-generator.md │ ├── controller-actions.md │ ├── get-started.md │ ├── migrating-from-react-rails-to-react_on_rails.md │ ├── server-side-rendering.md │ ├── ujs.md │ ├── upgrading.md │ └── view-helper.md ├── gemfiles/ │ ├── base.gemfile │ ├── connection_pool_3.gemfile │ ├── propshaft.gemfile │ ├── shakapacker.gemfile │ ├── sprockets_3.gemfile │ └── sprockets_4.gemfile ├── lib/ │ ├── assets/ │ │ ├── javascripts/ │ │ │ ├── JSXTransformer.js │ │ │ └── react_ujs.js │ │ └── react-source/ │ │ ├── development/ │ │ │ ├── react-server.js │ │ │ └── react.js │ │ └── production/ │ │ ├── react-server.js │ │ └── react.js │ ├── generators/ │ │ ├── react/ │ │ │ ├── component_generator.rb │ │ │ └── install_generator.rb │ │ └── templates/ │ │ ├── .gitkeep │ │ ├── component.es6.jsx │ │ ├── component.es6.tsx │ │ ├── component.js.jsx │ │ ├── component.js.jsx.coffee │ │ ├── component.js.jsx.tsx │ │ ├── react_server_rendering.rb │ │ ├── server_rendering.js │ │ └── server_rendering_pack.js │ ├── react/ │ │ ├── jsx/ │ │ │ ├── babel_transformer.rb │ │ │ ├── jsx_transformer.rb │ │ │ ├── processor.rb │ │ │ ├── sprockets_strategy.rb │ │ │ └── template.rb │ │ ├── jsx.rb │ │ ├── rails/ │ │ │ ├── asset_variant.rb │ │ │ ├── component_mount.rb │ │ │ ├── controller_lifecycle.rb │ │ │ ├── controller_renderer.rb │ │ │ ├── railtie.rb │ │ │ ├── test_helper.rb │ │ │ ├── version.rb │ │ │ └── view_helper.rb │ │ ├── rails.rb │ │ ├── server_rendering/ │ │ │ ├── bundle_renderer/ │ │ │ │ ├── console_polyfill.js │ │ │ │ ├── console_replay.js │ │ │ │ ├── console_reset.js │ │ │ │ └── timeout_polyfill.js │ │ │ ├── bundle_renderer.rb │ │ │ ├── environment_container.rb │ │ │ ├── exec_js_renderer.rb │ │ │ ├── manifest_container.rb │ │ │ ├── propshaft_container.rb │ │ │ ├── separate_server_bundle_container.rb │ │ │ └── yaml_manifest_container.rb │ │ └── server_rendering.rb │ ├── react-rails.rb │ └── react.rb ├── package.json ├── rakelib/ │ └── create_release.rake ├── react-builds/ │ ├── package.json │ ├── react-browser.js │ ├── react-server.js │ └── webpack.config.js ├── react-rails.gemspec ├── react_ujs/ │ ├── dist/ │ │ └── react_ujs.js │ ├── index.js │ ├── readme.md │ ├── src/ │ │ ├── events/ │ │ │ ├── detect.js │ │ │ ├── native.js │ │ │ ├── pjax.js │ │ │ ├── turbolinks.js │ │ │ ├── turbolinksClassic.js │ │ │ └── turbolinksClassicDeprecated.js │ │ ├── getConstructor/ │ │ │ ├── fromGlobal.js │ │ │ ├── fromRequireContext.js │ │ │ ├── fromRequireContextWithGlobalFallback.js │ │ │ └── fromRequireContextsWithGlobalFallback.js │ │ ├── reactDomClient.js │ │ ├── renderHelpers.js │ │ └── supportsRootApi.js │ └── webpack.config.js └── test/ ├── bin/ │ └── create-fake-js-package-managers ├── dummy/ │ ├── .gitignore │ ├── .postcssrc.yml │ ├── README.rdoc │ ├── Rakefile │ ├── app/ │ │ ├── assets/ │ │ │ ├── config/ │ │ │ │ └── manifest.js │ │ │ ├── images/ │ │ │ │ └── .keep │ │ │ ├── javascripts/ │ │ │ │ ├── app_no_turbolinks.js │ │ │ │ ├── application.js │ │ │ │ ├── components/ │ │ │ │ │ ├── PlainJSTodo.js │ │ │ │ │ ├── Todo.js.jsx.coffee │ │ │ │ │ ├── TodoList.js.jsx │ │ │ │ │ ├── TodoListWithConsoleLog.js.jsx │ │ │ │ │ └── WithSetTimeout.js.jsx │ │ │ │ ├── components.js │ │ │ │ ├── example.js.jsx │ │ │ │ ├── example2.js.jsx.coffee │ │ │ │ ├── example3.js.jsx │ │ │ │ ├── flow_types_example.js.jsx │ │ │ │ ├── harmony_example.js.jsx │ │ │ │ ├── pages.js │ │ │ │ ├── require_test/ │ │ │ │ │ ├── jsx_preprocessor_test.jsx │ │ │ │ │ ├── jsx_require_child_coffee.coffee │ │ │ │ │ ├── jsx_require_child_js.js │ │ │ │ │ └── jsx_require_child_jsx.jsx │ │ │ │ ├── server_rendering.js │ │ │ │ └── turbolinks_only.js │ │ │ └── stylesheets/ │ │ │ └── application.css │ │ ├── controllers/ │ │ │ ├── application_controller.rb │ │ │ ├── concerns/ │ │ │ │ └── .keep │ │ │ ├── counters_controller.rb │ │ │ ├── pack_components_controller.rb │ │ │ ├── pages_controller.rb │ │ │ └── server_controller.rb │ │ ├── helpers/ │ │ │ └── application_helper.rb │ │ ├── javascript/ │ │ │ ├── components/ │ │ │ │ ├── Counter.js │ │ │ │ ├── GreetingMessage.js │ │ │ │ ├── Todo.js │ │ │ │ ├── TodoList.js │ │ │ │ ├── TodoListWithConsoleLog.js │ │ │ │ ├── WithSetTimeout.js │ │ │ │ ├── export_default_component.js │ │ │ │ ├── named_export_component.js │ │ │ │ └── subfolder/ │ │ │ │ └── exports_component.js │ │ │ ├── controllers/ │ │ │ │ └── mount_counters.js │ │ │ └── packs/ │ │ │ ├── application.js │ │ │ └── server_rendering.js │ │ ├── mailers/ │ │ │ └── .keep │ │ ├── models/ │ │ │ ├── .keep │ │ │ └── concerns/ │ │ │ └── .keep │ │ ├── pants/ │ │ │ └── yfronts.js │ │ └── views/ │ │ ├── counters/ │ │ │ ├── create.turbo_stream.erb │ │ │ └── index.html.erb │ │ ├── layouts/ │ │ │ ├── app_no_turbolinks.html.erb │ │ │ └── application.html.erb │ │ ├── pack_components/ │ │ │ └── show.html.erb │ │ ├── pages/ │ │ │ ├── _component_with_inner_html.html.erb │ │ │ └── show.html.erb │ │ └── server/ │ │ ├── console_example.html.erb │ │ ├── console_example_suppressed.html.erb │ │ └── show.html.erb │ ├── babel.config.js │ ├── bin/ │ │ ├── bundle │ │ ├── rails │ │ ├── rake │ │ ├── shakapacker │ │ ├── shakapacker-dev-server │ │ └── yarn │ ├── config/ │ │ ├── application.rb │ │ ├── boot.rb │ │ ├── environment.rb │ │ ├── environments/ │ │ │ ├── development.rb │ │ │ ├── production.rb │ │ │ └── test.rb │ │ ├── initializers/ │ │ │ ├── backtrace_silencers.rb │ │ │ ├── filter_parameter_logging.rb │ │ │ ├── inflections.rb │ │ │ ├── mime_types.rb │ │ │ ├── react.rb │ │ │ ├── secret_token.rb │ │ │ ├── session_store.rb │ │ │ └── wrap_parameters.rb │ │ ├── locales/ │ │ │ └── en.yml │ │ ├── routes.rb │ │ ├── shakapacker.yml │ │ └── webpack/ │ │ ├── clientWebpackConfig.js │ │ ├── commonWebpackConfig.js │ │ ├── development.js │ │ ├── production.js │ │ ├── serverClientOrBoth.js │ │ ├── serverWebpackConfig.js │ │ ├── test.js │ │ └── webpack.config.js │ ├── config.ru │ ├── lib/ │ │ └── assets/ │ │ └── .keep │ ├── log/ │ │ └── .keep │ ├── package.json │ ├── public/ │ │ ├── 404.html │ │ ├── 422.html │ │ └── 500.html │ └── vendor/ │ └── assets/ │ ├── javascripts/ │ │ └── .gitkeep │ └── react/ │ ├── JSXTransformer__.js │ └── test/ │ └── react__.js ├── generators/ │ ├── coffee_component_generator_test.rb │ ├── component_generator_test.rb │ ├── es6_component_generator_test.rb │ ├── install_generator_sprockets_test.rb │ ├── install_generator_webpacker_test.rb │ └── ts_es6_component_generator_test.rb ├── helper_files/ │ ├── TodoListWithUpdates.js │ ├── TodoListWithUpdates.js.jsx │ └── WithoutSprockets.js ├── react/ │ ├── jsx/ │ │ ├── jsx_prepocessor_test.rb │ │ └── jsx_transformer_test.rb │ ├── jsx_test.rb │ ├── rails/ │ │ ├── asset_variant_test.rb │ │ ├── component_mount_test.rb │ │ ├── controller_lifecycle_test.rb │ │ ├── pages_controller_test.rb │ │ ├── railtie_test.rb │ │ ├── react_rails_ujs_test.rb │ │ ├── realtime_update_test.rb │ │ ├── test_helper_test.rb │ │ ├── view_helper_test.rb │ │ └── webpacker_test.rb │ ├── server_rendering/ │ │ ├── bundle_renderer_test.rb │ │ ├── console_replay_test.rb │ │ ├── exec_js_renderer_test.rb │ │ ├── manifest_container_test.rb │ │ ├── propshaft_container_test.rb │ │ ├── webpacker_containers_test.rb │ │ └── yaml_manifest_container_test.rb │ └── server_rendering_test.rb ├── react_asset_test.rb ├── react_test.rb ├── server_rendered_html_test.rb ├── support/ │ ├── propshaft_helpers.rb │ ├── sprockets_helpers.rb │ └── webpacker_helpers.rb └── test_helper.rb