diff --git a/.eslintrc.js b/.eslintrc.js index 335598e..3d9a52f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -20,7 +20,7 @@ module.exports = { google: "writable", gtag: "writable", SETTINGS: "writable", - Turbolinks: "writable", + Turbo: "writable", }, parser: "@typescript-eslint/parser", parserOptions: { diff --git a/Gemfile b/Gemfile index 4209ddb..7f0a226 100644 --- a/Gemfile +++ b/Gemfile @@ -30,9 +30,8 @@ gem 'sass-rails' # Automatically add vendor prefixes to CSS rules gem 'autoprefixer-rails' -# Turbolinks makes navigating your web application faster. -# Read more: https://github.com/turbolinks/turbolinks -gem 'turbolinks', '~> 5' +# Improves app performance by using Hotwire +gem 'turbo-rails', '~> 1.1.1' # Application monitoring gem 'newrelic_rpm' @@ -131,3 +130,6 @@ group :test do gem 'webdrivers' gem 'webmock' end + +# Use Redis for Action Cable +gem 'redis', '~> 4.0' diff --git a/Gemfile.lock b/Gemfile.lock index 6f0e149..df38c41 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -352,9 +352,10 @@ GEM thor (1.2.1) tilt (2.0.10) timeout (0.2.0) - turbolinks (5.2.1) - turbolinks-source (~> 5.2) - turbolinks-source (5.2.0) + turbo-rails (1.1.1) + actionpack (>= 6.0.0) + activejob (>= 6.0.0) + railties (>= 6.0.0) tzinfo (2.0.4) concurrent-ruby (~> 1.0) unicode-display_width (2.1.0) @@ -423,6 +424,7 @@ DEPENDENCIES rack-timeout rails (~> 7) react-rails + redis (~> 4.0) rspec-rails rspec_junit_formatter rubocop @@ -438,7 +440,10 @@ DEPENDENCIES shoulda-matchers sidekiq simplecov - turbolinks (~> 5) + spring + spring-commands-rspec + spring-watcher-listen (~> 2.0.0) + turbo-rails (~> 1.1.1) web-console (>= 3.3.0) webdrivers webmock diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 93eb60f..6cd292e 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -10,7 +10,6 @@ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details // about supported directives. // -//= require turbolinks //= require jquery/dist/jquery //= require jquery-ujs/src/rails //= require popper.js/dist/umd/popper diff --git a/app/assets/javascripts/google_analytics.js b/app/assets/javascripts/google_analytics.js index d3019c3..454c3e8 100644 --- a/app/assets/javascripts/google_analytics.js +++ b/app/assets/javascripts/google_analytics.js @@ -1,4 +1,4 @@ -$(document).on("turbolinks:load", () => { +$(document).on("turbo:load", () => { if ( typeof gtag === "function" && typeof SETTINGS.google_analytics_id !== "undefined" diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 37f1e1f..b398c15 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -1,4 +1,5 @@ import * as Sentry from "@sentry/browser"; +import "@hotwired/turbo-rails"; // Support component names relative to this directory: const componentRequireContext = require.context("views", true); diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index cc6caaa..4449575 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,10 +7,10 @@