Gemfile 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. source 'https://rubygems.org'
  2. # core - base
  3. ruby '2.6.8'
  4. gem 'rails', '5.2.4.6'
  5. # core - rails additions
  6. gem 'activerecord-import'
  7. gem 'activerecord-session_store'
  8. gem 'bootsnap', require: false
  9. gem 'composite_primary_keys'
  10. gem 'json'
  11. # core - application servers
  12. gem 'puma', '~> 4', group: :puma
  13. gem 'unicorn', group: :unicorn
  14. # core - supported ORMs
  15. gem 'activerecord-nulldb-adapter', group: :nulldb
  16. gem 'mysql2', '0.4.10', group: :mysql
  17. gem 'pg', '0.21.0', group: :postgres
  18. # core - asynchrous task execution
  19. gem 'daemons'
  20. gem 'delayed_job_active_record'
  21. # core - websocket
  22. gem 'em-websocket'
  23. gem 'eventmachine'
  24. # core - password security
  25. gem 'argon2'
  26. # core - state machine
  27. gem 'aasm'
  28. # core - authorization
  29. gem 'pundit'
  30. # core - image processing
  31. gem 'rszr', '0.5.2'
  32. # performance - Memcached
  33. gem 'dalli'
  34. # asset handling - coffee-script
  35. gem 'coffee-rails'
  36. gem 'coffee-script-source'
  37. # asset handling - frontend templating
  38. gem 'eco'
  39. # asset handling - SASS
  40. gem 'sassc-rails'
  41. # asset handling - pipeline
  42. gem 'sprockets', '~> 3.7.2'
  43. gem 'uglifier'
  44. gem 'autoprefixer-rails'
  45. # asset handling - javascript execution for e.g. linux
  46. gem 'execjs'
  47. # mini_racer can be omitted on systems where node.js is available via
  48. # `bundle install --without mini_racer`.
  49. group :mini_racer do
  50. gem 'libv8'
  51. gem 'mini_racer'
  52. end
  53. # authentication - provider
  54. gem 'doorkeeper'
  55. gem 'oauth2'
  56. # authentication - third party
  57. gem 'omniauth-rails_csrf_protection'
  58. # authentication - third party providers
  59. gem 'omniauth-facebook'
  60. gem 'omniauth-github'
  61. gem 'omniauth-gitlab'
  62. gem 'omniauth-google-oauth2'
  63. gem 'omniauth-linkedin-oauth2'
  64. gem 'omniauth-microsoft-office365'
  65. gem 'omniauth-saml'
  66. gem 'omniauth-twitter'
  67. gem 'omniauth-weibo-oauth2'
  68. # channels
  69. gem 'gmail_xoauth'
  70. gem 'koala'
  71. gem 'telegramAPI'
  72. gem 'twitter', git: 'https://github.com/sferik/twitter.git'
  73. # channels - email additions
  74. gem 'htmlentities'
  75. gem 'mail', git: 'https://github.com/zammad-deps/mail', branch: '2-7-stable'
  76. gem 'mime-types'
  77. gem 'rchardet', '>= 1.8.0'
  78. gem 'valid_email2'
  79. # feature - business hours
  80. gem 'biz'
  81. # feature - signature diffing
  82. gem 'diffy'
  83. # feature - excel output
  84. gem 'writeexcel'
  85. # feature - device logging
  86. gem 'browser'
  87. # feature - iCal export
  88. gem 'icalendar'
  89. gem 'icalendar-recurrence'
  90. # feature - phone number formatting
  91. gem 'telephone_number'
  92. # feature - SMS
  93. gem 'twilio-ruby'
  94. # feature - ordering
  95. gem 'acts_as_list'
  96. # integrations
  97. gem 'clearbit'
  98. gem 'net-ldap'
  99. gem 'slack-notifier'
  100. gem 'zendesk_api'
  101. # integrations - exchange
  102. gem 'autodiscover', git: 'https://github.com/zammad-deps/autodiscover'
  103. gem 'rubyntlm', git: 'https://github.com/wimm/rubyntlm'
  104. gem 'viewpoint'
  105. # integrations - S/MIME
  106. gem 'openssl'
  107. # Gems used only for develop/test and not required
  108. # in production environments by default.
  109. group :development, :test do
  110. # app boottime improvement
  111. gem 'spring'
  112. gem 'spring-commands-rspec'
  113. gem 'spring-commands-testunit'
  114. # debugging
  115. gem 'byebug'
  116. gem 'pry-rails'
  117. gem 'pry-remote'
  118. gem 'pry-rescue'
  119. gem 'pry-stack_explorer'
  120. # test frameworks
  121. gem 'rails-controller-testing'
  122. gem 'rspec-rails'
  123. gem 'shoulda-matchers'
  124. gem 'test-unit'
  125. # for testing Pundit authorisation policies in RSpec
  126. gem 'pundit-matchers'
  127. # code coverage
  128. gem 'coveralls', require: false
  129. gem 'simplecov'
  130. gem 'simplecov-rcov'
  131. # UI tests w/ Selenium
  132. gem 'capybara'
  133. gem 'selenium-webdriver'
  134. # livereload on template changes (html, js, css)
  135. gem 'guard', require: false
  136. gem 'guard-livereload', require: false
  137. gem 'rack-livereload', require: false
  138. gem 'rb-fsevent', require: false
  139. # auto symlinking
  140. gem 'guard-symlink', require: false
  141. # code QA
  142. gem 'coffeelint'
  143. gem 'pre-commit'
  144. gem 'rubocop'
  145. gem 'rubocop-performance'
  146. gem 'rubocop-rails'
  147. gem 'rubocop-rspec'
  148. # changelog generation
  149. gem 'github_changelog_generator'
  150. # generate random test data
  151. gem 'factory_bot_rails'
  152. gem 'faker'
  153. # mock http calls
  154. gem 'webmock'
  155. # record and replay TCP/HTTP transactions
  156. gem 'tcr', git: 'https://github.com/zammad-deps/tcr'
  157. gem 'vcr'
  158. # handle deprecations in core and addons
  159. gem 'deprecation_toolkit'
  160. # image comparison in tests
  161. gem 'chunky_png'
  162. # refresh ENVs in CI environment
  163. gem 'dotenv', require: false
  164. # Can be used to detect for example the current
  165. # operating system in tests, to handle things differently.
  166. gem 'os'
  167. end
  168. # Want to extend Zammad with additional gems?
  169. # ZAMMAD USERS: Specify them in Gemfile.local
  170. # (That way, you can customize the Gemfile
  171. # without having your changes overwritten during upgrades.)
  172. # ZAMMAD DEVS: Consult the internal wiki
  173. # (or else risk pushing unwanted changes to Gemfile.lock!)
  174. # https://git.znuny.com/zammad/zammad/wikis/Tips#user-content-customizing-the-gemfile
  175. eval_gemfile 'Gemfile.local' if File.exist?('Gemfile.local')