Sha256: c8b193e4b603a3df1c06a019de4291f4f69e4ce4c379bdc7e6425407871f0ddc

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

# Some Rails versions use commonJS(require) others use ESM(import).
TURBOLINKS_REGEX = /(import .* from "turbolinks".*\n|require\("turbolinks"\).*\n)/.freeze

abort "❌ Webpacker not found. Exiting." unless defined?(Webpacker::Engine)

say "Install Turbo"
run "yarn add @hotwired/turbo-rails"
insert_into_file "#{Webpacker.config.source_entry_path}/application.js",
  "import \"@hotwired/turbo-rails\"\n", before: TURBOLINKS_REGEX

say "Remove Turbolinks"
gsub_file 'Gemfile', /gem 'turbolinks'.*/, ''
run "bin/bundle", capture: true
run "bin/yarn remove turbolinks"
gsub_file "#{Webpacker.config.source_entry_path}/application.js", TURBOLINKS_REGEX, ''
gsub_file "#{Webpacker.config.source_entry_path}/application.js", /Turbolinks.start.*\n/, ''

say "Enable redis in bundle"
uncomment_lines "Gemfile", %(gem 'redis')

say "Switch development cable to use redis"
gsub_file "config/cable.yml", /development:\n\s+adapter: async/, "development:\n  adapter: redis\n  url: redis://localhost:6379/1"

say "Turbo successfully installed ⚡️", :green

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
turbo-rails-0.5.3 lib/install/turbo_with_webpacker.rb
turbo-rails-0.5.2 lib/install/turbo_with_webpacker.rb