# frozen_string_literal: true source 'https://rubygems.org' ruby '4.0.7' git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } gem 'puma', '~> 8.0.2' gem 'rails', '~> 8.1.4' gem 'rails-i18n', '~> 8.1.0' gem 'rack-cors', '~> 3.0.0' gem 'rack', '>= 3.1.18' gem 'json', '< 4' # DB & Cache gem 'pg', '>= 0.18', '< 2.0' gem 'solid_cache', '~> 1.0.10' gem 'solid_cable', '~> 4.1.0' # Logger gem 'lograge', '~> 0.15.1' # API gem 'active_model_serializers', '~> 0.10.16' gem 'graphql', '~> 2.6.14' gem 'health_check', '~> 3.1.0' gem 'tiny_appstore_connect', '~> 0.1.13' # View gem 'view_component', '~> 4.23.0' gem 'jb', '~> 0.9.1' gem 'slim-rails', '~> 4.0.1' gem 'kramdown', '~> 2.5' gem 'simple_form', '~> 5.4.1' gem 'rswag-api', '~> 2.17.0' gem 'rswag-ui', '~> 2.17.0' # Model gem 'friendly_id', '~> 5.7.0' gem 'kaminari', '~> 1.3.3' gem 'carrierwave', '~> 3.1.4' gem 'mini_magick', '~> 5.3' # Helper # 13.2+ dropped the runtime `require "ostruct"` that makes fresh parallel # `bundle install` runs fail on Ruby 4.0 (ostruct is no longer a default gem). gem 'rake', '~> 13.2' gem 'rails-settings-cached', '~> 2.10.0' gem 'app-info', '~> 3.4.1' gem 'faraday', '~> 2.15.1' gem 'rqrcode', '~> 3.2.0' ## Auth gem 'pundit', '~> 2.5.2' gem 'devise', '~> 5.0.4' gem 'devise-i18n', '~> 1.16.1' gem 'devise-passwordless', '~> 1.1.0' gem 'omniauth', '~> 2.3.1' gem 'omniauth-rails_csrf_protection', '~> 2.0.1' gem 'omniauth-google-oauth2', '~> 1.2.3' gem 'omniauth-gitlab', '~> 4.1.0' gem 'omniauth-feishu', '~> 0.1.8' gem 'gitlab_omniauth-ldap', '~> 2.3.0', require: 'omniauth-ldap' gem 'omniauth_openid_connect', '0.8.0' gem 'omniauth-github', '~> 2.0.1' ## UDID gem 'openssl', '~> 3.3.3' gem 'plist', '~> 3.7.2' ## OS gem 'sys-filesystem', '~> 1.6.0' gem 'vmstat', '~> 2.3.0' ## Exception handler gem 'sentry-ruby', '~> 7.2.0' gem 'sentry-rails', '~> 7.2.0' # Background job gem 'good_job', '~> 4.24.1' gem 'activejob-status', '~> 1.0.2' # Assets ## Use jvite_rails to run rake tasks, core in package.json gem 'propshaft', '1.3.2' gem 'vite_rails', '~> 3.11.1' gem 'stimulus-rails', '~> 1.3.4' gem 'turbo-rails', '~> 2.0.23' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.21.1', require: false # Generating fake data for tests and sample data in production gem 'faker' group :development do gem 'listen', '>= 3.10.0', '< 3.11' gem 'web-console', '>= 3.3.0' gem 'graphiql-rails' ## VSCode debug: https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg gem 'debug', '~> 1.11.1' gem 'ruby-lsp-rails' # better rails gem 'awesome_print' gem 'better_errors' gem 'binding_of_caller' # helpers gem 'letter_opener', '~> 1.10' gem 'letter_opener_web', '~> 3.0' # Chrome extension devtools ## rails-panel https://chromewebstore.google.com/detail/rails-panel/gjpfobpafnhjhbajcjgccbbdofdckggg gem 'meta_request', github: 'dejan/rails_panel', ref: 'meta_request-v0.8.6' end group :development, :test do gem 'dotenv-rails' gem 'rubocop', '>= 0.70', require: false gem 'rubocop-rails', require: false gem 'pry-rails' gem 'pry-rescue' gem 'rspec-rails' gem 'rswag-specs' end