From 97bb529c18be0d87d0cb565bf115626ee82a178c Mon Sep 17 00:00:00 2001 From: Andrew Tomaka Date: Fri, 21 Jun 2024 22:25:34 -0400 Subject: [PATCH] Update with (most) Rails 8 Gem defaults --- Gemfile | 41 ++++++++++++++++++++++++++++++++++++----- Gemfile.lock | 8 ++++++-- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index dae4160..ee58cbf 100644 --- a/Gemfile +++ b/Gemfile @@ -1,29 +1,60 @@ source "https://rubygems.org" -git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem "rails", github: "rails/rails", branch: "main" gem "sprockets-rails" -gem "sqlite3" -gem "puma" +# The modern asset pipeline for Rails [https://github.com/rails/propshaft] +# gem "propshaft" +# Use sqlite3 as the database for Active Record +gem "sqlite3", ">= 1.4" +# Use the Puma web server [https://github.com/puma/puma] +gem "puma", ">= 5.0" +# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem "importmap-rails" +# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem "turbo-rails" +# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem "stimulus-rails" +# Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" +# Use Redis adapter to run Action Cable in production +# gem "redis", ">= 4.0.1" +# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis] +# gem "kredis" + +# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] +# gem "bcrypt", "~> 3.1.7" + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem "tzinfo-data", platforms: %i[ windows jruby ] + +# Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false +# Deploy this application anywhere as a Docker container [https://kamal-deploy.org] +# gem "kamal", require: false + +# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" group :development, :test do - gem "debug", platforms: %i[mri mingw x64_mingw] + # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem + gem "debug", platforms: %i[ mri windows ], require: "debug/prelude" + + # Static analysis for security vulnerabilities [https://brakemanscanner.org/] + gem "brakeman", require: false + + # Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/] + gem "rubocop-rails-omakase", require: false end group :development do - gem "rubocop-rails-omakase", require: false + # Use console on exceptions pages [https://github.com/rails/web-console] gem "web-console" end group :test do + # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] gem "capybara" gem "selenium-webdriver" gem "webdrivers" diff --git a/Gemfile.lock b/Gemfile.lock index 0e68c25..93efa67 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,6 +106,8 @@ GEM bindex (0.8.1) bootsnap (1.18.3) msgpack (~> 1.2) + brakeman (6.1.2) + racc builder (3.3.0) capybara (3.40.0) addressable @@ -296,19 +298,21 @@ PLATFORMS DEPENDENCIES bootsnap + brakeman capybara debug importmap-rails jbuilder - puma + puma (>= 5.0) rails! rubocop-rails-omakase selenium-webdriver sprockets-rails - sqlite3 + sqlite3 (>= 1.4) stimulus-rails tailwindcss-rails (~> 2.0) turbo-rails + tzinfo-data web-console webdrivers