fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1# frozen_string_literal: true
2
3source "https://rubygems.org"
4# if there is a super emergency and rubygems is playing up, try
5#source 'http://production.cf.rubygems.org'
6
7gem "bootsnap", require: false, platform: :mri
8
9gem "actionmailer", "~> 7.2.0"
10gem "actionpack", "~> 7.2.0"
11gem "actionview", "~> 7.2.0"
12gem "activemodel", "~> 7.2.0"
13gem "activerecord", "~> 7.2.0"
14gem "activesupport", "~> 7.2.0"
15gem "railties", "~> 7.2.0"
16gem "sprockets-rails"
17
18gem "json"
19
20# TODO: At the moment Discourse does not work with Sprockets 4, we would need to correct internals
21# We intend to drop sprockets rather than upgrade to 4.x
22gem "sprockets", "~> 3.7.3"
23
24# this will eventually be added to rails,
25# allows us to precompile all our templates in the unicorn master
26gem "actionview_precompiler", require: false
27
28gem "discourse-seed-fu"
29
30gem "mail"
31gem "mini_mime"
32gem "mini_suffix"
33
34# config/initializers/006-mini_profiler.rb depends upon the RedisClient#call.
35# Rework this when upgrading to redis client 5.0 and above.
36gem "redis", "< 5.0"
37
38# This is explicitly used by Sidekiq and is an optional dependency.
39# We tell Sidekiq to use the namespace "sidekiq" which triggers this
40# gem to be used. There is no explicit dependency in sidekiq cause
41# redis namespace support is optional
42# We already namespace stuff in DiscourseRedis, so we should consider
43# just using a single implementation in core vs having 2 namespace implementations
44gem "redis-namespace"
45
46# NOTE: AM serializer gets a lot slower with recent updates
47# we used an old branch which is the fastest one out there
48# are long term goal here is to fork this gem so we have a
49# better maintained living fork
50gem "active_model_serializers", "~> 0.8.3"
51
52gem "http_accept_language", require: false
53
54gem "discourse-fonts", require: "discourse_fonts"
55
56gem "message_bus"
57
58gem "rails_multisite"
59
60gem "fastimage"
61
62gem "aws-sdk-s3", require: false
63gem "aws-sdk-sns", require: false
64gem "excon", require: false
65gem "unf", require: false
66
67gem "email_reply_trimmer"
68
69gem "image_optim"
70gem "multi_json"
71gem "mustache"
72gem "nokogiri"
73gem "loofah"
74gem "css_parser", require: false
75
76gem "omniauth"
77gem "omniauth-facebook"
78gem "omniauth-twitter"
79gem "omniauth-github"
80
81gem "omniauth-oauth2", require: false
82
83gem "omniauth-google-oauth2"
84
85gem "oj"
86
87gem "pg"
88gem "mini_sql"
89gem "pry-rails", require: false
90gem "pry-byebug", require: false
91gem "rtlcss", require: false
92gem "messageformat-wrapper", require: false
93gem "rake"
94
95gem "thor", require: false
96gem "diffy", require: false
97gem "rinku"
98gem "sidekiq"
99gem "mini_scheduler"
100
101gem "execjs", require: false
102gem "mini_racer", "0.17.pre13"
103
104gem "highline", require: false
105
106gem "rack"
107
108gem "rack-protection" # security
109gem "cbor", require: false
110gem "cose", require: false
111gem "addressable"
112gem "json_schemer"
113
114gem "net-smtp", require: false
115gem "net-imap", require: false
116gem "net-pop", require: false
117gem "digest", require: false
118
119# Gems used only for assets and not required in production environments by default.
120# Allow everywhere for now cause we are allowing asset debugging in production
121group :assets do
122 gem "uglifier"
123end
124
125group :test do
126 gem "capybara", require: false
127 gem "webmock", require: false
128 gem "fakeweb", require: false
129 gem "simplecov", require: false
130 gem "selenium-webdriver", "~> 4.14", require: false
131 gem "selenium-devtools", require: false
132 gem "test-prof"
133 gem "rails-dom-testing", require: false
134 gem "minio_runner", require: false
135end
136
137group :test, :development do
138 gem "rspec"
139 gem "listen", require: false
140 gem "certified", require: false
141 gem "fabrication", require: false
142 gem "mocha", require: false
143
144 gem "rb-fsevent", require: RUBY_PLATFORM =~ /darwin/i ? "rb-fsevent" : false
145
146 gem "rspec-rails"
147
148 gem "shoulda-matchers", require: false
149 gem "rspec-html-matchers"
150 gem "pry-stack_explorer", require: false
151 gem "byebug", require: ENV["RM_INFO"].nil?, platform: :mri
152 gem "rubocop-discourse", require: false
153 gem "parallel_tests"
154
155 gem "rswag-specs"
156
157 gem "annotate"
158
159 gem "syntax_tree"
160 gem "syntax_tree-disable_ternary"
161
162 gem "rspec-multi-mock"
163end
164
165group :development do
166 gem "ruby-prof", require: false, platform: :mri
167 gem "bullet", require: !!ENV["BULLET"]
168 gem "better_errors", platform: :mri, require: !!ENV["BETTER_ERRORS"]
169 gem "binding_of_caller"
170 gem "yaml-lint"
171 gem "yard"
172end
173
174if ENV["ALLOW_DEV_POPULATE"] == "1"
175 gem "discourse_dev_assets"
176 gem "faker", "~> 2.16"
177else
178 group :development, :test do
179 gem "discourse_dev_assets"
180 gem "faker", "~> 2.16"
181 end
182end
183
184# this is an optional gem, it provides a high performance replacement
185# to String#blank? a method that is called quite frequently in current
186# ActiveRecord, this may change in the future
187gem "fast_blank", platform: :ruby
188
189# this provides a very efficient lru cache
190gem "lru_redux"
191
192gem "htmlentities", require: false
193
194# IMPORTANT: mini profiler monkey patches, so it better be required last
195# If you want to amend mini profiler to do the monkey patches in the railties
196# we are open to it. by deferring require to the initializer we can configure discourse installs without it
197
198gem "rack-mini-profiler", require: ["enable_rails_patches"]
199
200gem "unicorn", require: false, platform: :ruby
201gem "puma", require: false
202
203gem "rbtrace", require: false, platform: :mri
204
205# required for feed importing and embedding
206gem "ruby-readability", require: false
207
208# rss gem is a bundled gem from Ruby 3 onwards
209gem "rss", require: false
210
211gem "stackprof", require: false, platform: :mri
212gem "memory_profiler", require: false, platform: :mri
213
214gem "cppjieba_rb", require: false
215
216gem "lograge", require: false
217gem "logstash-event", require: false
218gem "logster"
219
220# A fork of sassc with dart-sass support
221gem "sassc-embedded"
222
223gem "rotp", require: false
224
225gem "rqrcode"
226
227gem "rubyzip", require: false
228
229gem "sshkey", require: false
230
231gem "rchardet", require: false
232gem "lz4-ruby", require: false, platform: :ruby
233
234gem "sanitize"
235
236if ENV["IMPORT"] == "1"
237 gem "mysql2"
238 gem "redcarpet"
239
240 # NOTE: in import mode the version of sqlite can matter a lot, so we stick it to a specific one
241 gem "sqlite3", "~> 1.3", ">= 1.3.13"
242 gem "ruby-bbcode-to-md", git: "https://github.com/nlalonde/ruby-bbcode-to-md"
243 gem "reverse_markdown"
244 gem "tiny_tds"
245 gem "csv"
246end
247
248group :generic_import, optional: true do
249 gem "sqlite3"
250 gem "redcarpet"
251end
252
253gem "web-push"
254gem "colored2", require: false
255gem "maxminddb"
256
257gem "rails_failover", require: false
258
259gem "faraday"
260gem "faraday-retry"
261
262# workaround for faraday-net_http, see
263# https://github.com/ruby/net-imap/issues/16#issuecomment-803086765
264gem "net-http"
265
266# Workaround until Ruby ships with cgi version 0.3.6 or higher.
267gem "cgi", ">= 0.3.6", require: false
268
269gem "tzinfo-data"
270gem "csv", require: false
271
272# dependencies for the automation plugin
273gem "iso8601"
274gem "rrule"
275
276group :migrations, optional: true do
277 gem "extralite-bundle", require: "extralite"
278
279 # auto-loading
280 gem "zeitwerk"
281
282 # databases
283 gem "trilogy"
284
285 # CLI
286 gem "ruby-progressbar"
287
288 # non-cryptographic hashing algorithm for generating placeholder IDs
289 gem "digest-xxhash"
290end
291
292gem "dry-initializer", "~> 3.1"
293
294gem "parallel"