173 lines
5 KiB
Ruby
173 lines
5 KiB
Ruby
source 'https://rubygems.org'
|
|
|
|
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
gem 'rails', '~> 8.0.2'
|
|
# The modern asset pipeline for Rails [https://github.com/rails/propshaft]
|
|
gem 'propshaft'
|
|
# Use sqlite3 as the database for Active Record
|
|
gem 'sqlite3', '>= 2.1'
|
|
# Use the Puma web server [https://github.com/puma/puma]
|
|
gem 'puma', '>= 5.0'
|
|
# Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails]
|
|
# gem 'jsbundling-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'
|
|
# Bundle and process CSS [https://github.com/rails/cssbundling-rails]
|
|
# gem 'cssbundling-rails'
|
|
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
gem 'jbuilder'
|
|
|
|
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
|
# gem "bcrypt", "~> 3.1.7"
|
|
|
|
# File handling
|
|
gem 'shrine', '~> 3.0'
|
|
|
|
# Use the database-backed adapters for Rails.cache, Active Job, and Action Cable
|
|
# gem 'solid_cable'
|
|
# gem 'solid_cache'
|
|
# gem 'solid_queue'
|
|
|
|
# To create variants (different sizes) of screenshot images
|
|
gem 'fastimage'
|
|
gem 'image_processing'
|
|
gem 'mini_magick'
|
|
|
|
# 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
|
|
|
|
# Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/]
|
|
gem 'thruster', 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
|
|
# 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
|
|
# Use console on exceptions pages [https://github.com/rails/web-console]
|
|
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
|
|
gem 'listen', '~> 3.5'
|
|
gem 'web-console'
|
|
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
|
# gem 'better_errors'
|
|
# gem 'binding_of_caller'
|
|
# gem 'spring'
|
|
# gem 'spring-watcher-listen', '~> 2.0.0'
|
|
|
|
gem 'rails-erd'
|
|
|
|
gem 'ruby-lsp'
|
|
gem 'rufo'
|
|
end
|
|
|
|
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
|
# gem 'therubyracer', platforms: :ruby
|
|
|
|
group :doc do
|
|
# bundle exec rake doc:rails generates the API under doc/api.
|
|
gem 'sdoc'
|
|
end
|
|
|
|
# PostgreSQL support
|
|
gem 'pg'
|
|
|
|
group :development, :test do
|
|
# Helps run tests automatically after changes
|
|
# TODO: not sure all these packages are required (http://buildingrails.com/a/rails_automated_testing_setup_for_beginners)
|
|
gem 'guard-minitest'
|
|
gem 'guard-rails'
|
|
gem 'minitest-rails'
|
|
gem 'minitest-reporters'
|
|
|
|
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
|
gem 'byebug', platform: :mri
|
|
|
|
gem 'factory_bot_rails'
|
|
end
|
|
|
|
group :test do
|
|
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
|
gem 'capybara'
|
|
gem 'selenium-webdriver'
|
|
end
|
|
|
|
# TODO… https://github.com/galetahub/simple-captcha
|
|
# Captcha for anonymous reports
|
|
# gem "galetahub-simple_captcha", :require => "simple_captcha"
|
|
|
|
# Pagination
|
|
gem 'will_paginate'
|
|
|
|
# Style the paginator properly to use Zurb Foundation's style
|
|
gem 'will_paginate-foundation'
|
|
|
|
# Full-text search in PostgreSQL
|
|
gem 'pg_search'
|
|
|
|
# Use SLIM as our templating language
|
|
gem 'slim-rails'
|
|
|
|
# Requires: apt-get install libbz2-dev
|
|
# gem 'bzip2-ruby', :git => 'https://github.com/chewi/bzip2-ruby.git'
|
|
# a decade old and does not support Ruby 3
|
|
|
|
# Authentication
|
|
gem 'devise'
|
|
|
|
# Font Awesome icons
|
|
gem 'font-awesome-rails'
|
|
|
|
# gem "recaptcha", require: "recaptcha/rails"
|
|
|
|
# gem 'sprockets-rails'
|
|
|
|
# gem "activemodel-serializers-xml"
|
|
|
|
# Authentication against Google, Facebook and others
|
|
gem 'omniauth'
|
|
# gem 'omniauth-amazon'
|
|
# gem 'omniauth-google-oauth2'
|
|
# gem 'omniauth-github'
|
|
# gem 'omniauth-openid'
|
|
|
|
# Single-sign-on with salsa.debian.net
|
|
gem 'omniauth_openid_connect'
|
|
# Mitigate CVE-2015-9284
|
|
# https://github.com/cookpad/omniauth-rails_csrf_protection
|
|
gem 'omniauth-rails_csrf_protection'
|
|
|
|
# Role-based access
|
|
gem 'cancancan'
|
|
|
|
# Gravatars
|
|
gem 'gravtastic'
|
|
|
|
gem 'bzip2-ffi'
|
|
|
|
# gem "dartsass-rails", "~> 0.5.1"
|
|
|
|
gem 'rails-healthcheck'
|
|
|
|
# .env files are used for credentials because the deployment system
|
|
# (Dokku) uses environment variables to specify the database connection string
|
|
# https://github.com/bkeepers/dotenv
|
|
gem 'dotenv'
|
|
|
|
gem 'cssbundling-rails', '~> 1.4'
|
|
|
|
gem "importmap-rails", "~> 2.1"
|