You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.4 KiB
108 lines
3.4 KiB
# frozen_string_literal: true |
|
|
|
source "https://rubygems.org" |
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" } |
|
|
|
ruby "3.1.4" |
|
|
|
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' |
|
gem "rails", "~> 7.0.2" |
|
# Use postgresql as the database for Active Record |
|
gem "pg", "~> 1.1" |
|
# Use Puma as the app server |
|
gem "puma", "~> 5.6" |
|
# The modern asset pipeline for Rails [https://github.com/rails/propshaft] |
|
gem "propshaft" |
|
# Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails] |
|
gem "jsbundling-rails" |
|
# Reduces boot times through caching; required in config/boot.rb |
|
gem "bootsnap", ">= 1.4.4", require: false |
|
# GOV UK frontend components |
|
gem "govuk-components", "~> 5.0" |
|
# GOV UK component form builder DSL |
|
gem "govuk_design_system_formbuilder", "~> 5.0" |
|
# Convert Markdown into GOV.UK frontend-styled HTML |
|
gem "govuk_markdown" |
|
# GOV UK Notify |
|
gem "notifications-ruby-client" |
|
# A modest javascript framework for the html you already have |
|
gem "stimulus-rails" |
|
# Spreadsheet parsing |
|
gem "roo" |
|
# Json Schema |
|
gem "json-schema" |
|
# Authentication |
|
gem "devise" |
|
# Two-factor Authentication for devise models. |
|
gem "devise_two_factor_authentication" |
|
# UK postcode parsing and validation |
|
gem "uk_postcode" |
|
# Get rich data from postcode lookups. Wraps postcodes.io |
|
gem "postcodes_io" |
|
# Use Ruby objects to build reusable markup. A React inspired evolution of the presenter pattern |
|
gem "view_component", "~> 3.9" |
|
# Use the AWS S3 SDK as storage mechanism |
|
gem "aws-sdk-s3" |
|
# Track changes to models for auditing or versioning. |
|
gem "paper_trail" |
|
# Store active record objects in version whodunnits |
|
gem "paper_trail-globalid" |
|
|
|
gem "pundit" |
|
|
|
# Request rate limiting |
|
gem "rack", ">= 2.2.6.3" |
|
gem "rack-attack" |
|
gem "redis", "~> 4.8" |
|
# Receive exceptions and configure alerts |
|
gem "sentry-rails" |
|
gem "sentry-ruby" |
|
# Possessives in strings |
|
gem "possessive" |
|
# Strip whitespace from active record attributes |
|
gem "auto_strip_attributes" |
|
# Use sidekiq for background processing |
|
gem "sidekiq" |
|
gem "sidekiq-cron" |
|
gem "unread" |
|
|
|
group :development, :test do |
|
# Check gems for known vulnerabilities |
|
gem "bundler-audit" |
|
# Call 'byebug' anywhere in the code to stop execution and get a debugger console |
|
gem "byebug", platforms: %i[mri mingw x64_mingw] |
|
gem "dotenv-rails" |
|
gem "factory_bot_rails" |
|
gem "faker" |
|
gem "pry-byebug" |
|
|
|
gem "parallel_tests" |
|
end |
|
|
|
group :development do |
|
gem "listen", "~> 3.3" |
|
gem "overcommit", ">= 0.37.0" |
|
# Access an interactive console on exception pages or by calling 'console' anywhere in the code. |
|
gem "web-console", ">= 4.1.0" |
|
# Display performance information such as SQL time and flame graphs for each request in your browser. |
|
# Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md |
|
gem "erb_lint", require: false |
|
gem "rack-mini-profiler", "~> 2.0" |
|
gem "rubocop-govuk", "4.3.0", require: false |
|
gem "rubocop-performance", require: false |
|
gem "rubocop-rails", require: false |
|
end |
|
|
|
group :test do |
|
gem "capybara", require: false |
|
gem "capybara-lockstep" |
|
gem "capybara-screenshot" |
|
gem "rspec-rails", require: false |
|
gem "selenium-webdriver", require: false |
|
gem "simplecov", require: false |
|
gem "timecop", "~> 0.9.4" |
|
gem "webmock", require: false |
|
end |
|
|
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem |
|
gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby]
|
|
|