Merge remote-tracking branch 'upstream/pull/1815'
[rails.git] / Gemfile
1 source "https://rubygems.org"
2
3 # Require rails
4 gem "rails", "5.1.5"
5
6 # Require things which have moved to gems in ruby 1.9
7 gem "bigdecimal", "~> 1.1.0", :platforms => :ruby_19
8
9 # Require things which have moved to gems in ruby 2.0
10 gem "psych", :platforms => :ruby_20
11
12 # Require json for multi_json
13 gem "json"
14
15 # Use postgres as the database
16 gem "pg", "~> 0.18"
17
18 # Use SCSS for stylesheets
19 gem "sass-rails", "~> 5.0"
20
21 # Use Uglifier as compressor for JavaScript assets
22 gem "uglifier", ">= 1.3.0"
23
24 # Use CoffeeScript for .js.coffee assets and views
25 gem "coffee-rails", "~> 4.2"
26
27 # Use jquery as the JavaScript library
28 gem "jquery-rails"
29
30 # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
31 # gem 'jbuilder', '~> 2.0'
32 gem "jsonify-rails"
33
34 # Use R2 for RTL conversion
35 gem "r2", "~> 0.2.7"
36
37 # Use autoprefixer to generate CSS prefixes
38 gem "autoprefixer-rails"
39
40 # Use image_optim to optimise images
41 gem "image_optim_rails"
42
43 # Load rails plugins
44 gem "actionpack-page_caching"
45 gem "composite_primary_keys", "~> 10.0.0"
46 gem "dynamic_form"
47 gem "http_accept_language", "~> 2.0.0"
48 gem "i18n-js", ">= 3.0.0"
49 gem "oauth-plugin", ">= 0.5.1"
50 gem "openstreetmap-deadlock_retry", ">= 1.3.0", :require => "deadlock_retry"
51 gem "paperclip", "~> 5.2"
52 gem "rack-cors"
53 gem "rails-i18n", "~> 4.0.0"
54 gem "record_tag_helper"
55 gem "rinku", ">= 1.2.2", :require => "rails_rinku"
56 gem "validates_email_format_of", ">= 1.5.1"
57
58 # Sanitise URIs
59 gem "rack-uri_sanitizer"
60
61 # Omniauth for authentication
62 gem "omniauth"
63 gem "omniauth-facebook"
64 gem "omniauth-github"
65 gem "omniauth-google-oauth2", ">= 0.2.7"
66 gem "omniauth-mediawiki", ">= 0.0.3"
67 gem "omniauth-openid"
68 gem "omniauth-windowslive"
69
70 # Markdown formatting support
71 gem "redcarpet"
72
73 # Load libxml support for XML parsing and generation
74 gem "libxml-ruby", ">= 2.0.5", :require => "libxml"
75
76 # Use for HTML sanitisation
77 gem "htmlentities"
78 gem "sanitize"
79
80 # Load SystemTimer for implementing request timeouts
81 gem "SystemTimer", ">= 1.1.3", :require => "system_timer", :platforms => :ruby_18
82
83 # Load faraday for mockable HTTP client
84 gem "faraday"
85
86 # Load geoip for querying Maxmind GeoIP database
87 gem "geoip"
88
89 # Load rotp to generate TOTP tokens
90 gem "rotp"
91
92 # Load memcache client in case we are using it
93 gem "dalli"
94 gem "kgio"
95
96 # Load secure_headers for Content-Security-Policy support
97 gem "secure_headers"
98
99 # Load canonical-rails to generate canonical URLs
100 gem "canonical-rails"
101
102 # Used to generate logstash friendly log files
103 gem "logstasher"
104
105 # Gems useful for development
106 group :development do
107   gem "annotate"
108   gem "better_errors"
109   gem "binding_of_caller"
110   gem "listen"
111   gem "vendorer"
112 end
113
114 # Gems needed for running tests
115 group :test do
116   gem "minitest", "~> 5.1", :platforms => [:ruby_19, :ruby_20]
117   gem "rails-controller-testing"
118   gem "rubocop"
119   gem "webmock"
120 end
121
122 # Needed in development as well so rake can see konacha tasks
123 group :development, :test do
124   gem "capybara", "~> 2.13"
125   gem "coveralls", :require => false
126   gem "factory_bot_rails"
127   gem "jshint"
128   gem "poltergeist"
129   gem "puma", "~> 3.7"
130 end