Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.1.0 - release candidate #3309

Merged
merged 119 commits into from
Apr 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
04fce0c
Add multi-phase download feature and fix a Webmock complain
pengyin-shan Oct 3, 2022
0383bcb
fix schema.rb back to DMPRoadmap version
pengyin-shan Oct 3, 2022
d8f1060
fix rubocup issue
pengyin-shan Oct 3, 2022
a5c2e9c
add rubocup exception
pengyin-shan Oct 3, 2022
e7a9b65
add missing translation and adjust variables
pengyin-shan Oct 5, 2022
3b504ea
changes to support ruby 3's stricter rules around keyword args
briri Oct 27, 2022
d3b8139
Merge branch 'development' into ruby3.0
briri Oct 27, 2022
7bc47a2
fixed another keyword args change. updated github actions to use ruby…
briri Oct 28, 2022
b0c5cf3
Merge branch 'development' into DMPAssistant-ISSUE70
briri Nov 7, 2022
3483c22
add translation ability to funding status by creating corresponding enum
pengyin-shan Nov 15, 2022
6a72efe
remove extra lines
pengyin-shan Nov 15, 2022
cb11424
Merge branch 'development' into funding_status_translation
briri Nov 29, 2022
3abb074
Merge branch 'development' into ruby3.0
briri Dec 13, 2022
a1fcc7c
reran bundle with ruby 3.0.5
briri Dec 13, 2022
21b9d87
finished ruby 3.0 upgrade
briri Dec 13, 2022
efa74d6
fixed up rubocop complaints
briri Dec 13, 2022
3a9f9aa
fixed issue with Gemfile including rubocop extensions we are not read…
briri Dec 13, 2022
0fcbbad
updated bundler to add x86_64-linux as a valid platform
briri Dec 13, 2022
6fa280f
updated CHANGELOG
briri Dec 13, 2022
606d418
Merge branch 'development' into ruby3.0
briri Dec 13, 2022
33bfb83
changed import/require order in rspec_rails.rb
briri Dec 15, 2022
fc357d1
fixed issue with the order in which things are loaded in rails_helper.rb
briri Dec 15, 2022
331dd2e
Hopeful fix for randomly failing plan_spec test
briri Dec 15, 2022
71c9e55
Fix for bug #3214 which had noted there was no request rate limit to
Dec 8, 2022
b82338d
Migrated from webpacker to jsbundling-rails
benjaminfaure Jan 13, 2023
56e54e8
Added cssbundling-rails for SASS compilation
benjaminfaure Jan 13, 2023
52834dc
SASS upgrade : removed @import and replaced it by @use/@forward
benjaminfaure Jan 13, 2023
5be22cc
Migrated from the fontawesome gem to the npm package
benjaminfaure Jan 13, 2023
7eb205a
Moved jQuery loading into webpack config & fixed CSS & JS imports for…
benjaminfaure Jan 16, 2023
acbd115
Added processor for sass assets
benjaminfaure Jan 16, 2023
85ba77b
Updated CHANGELOG
benjaminfaure Jan 16, 2023
8e074e0
Rubocop fixes
benjaminfaure Jan 16, 2023
7f72e6a
Solved issue with some of the font awesome icons not showing.
benjaminfaure Jan 25, 2023
043c3f5
Merge branch 'development' into webpacker_migration
benjaminfaure Jan 27, 2023
813ee0d
installed rubocop-performance gem and made necessary adjustments
briri Feb 1, 2023
f48d01b
fix for rubocop in ci for frozen mutables
briri Feb 1, 2023
b99fb38
updates to specs to work with changed rubocop-performance criteria
briri Feb 1, 2023
2151a3c
Merge branch 'development' into webpacker_migration
benjaminfaure Feb 6, 2023
f820c5d
update gemfile platform and bundler version
briri Feb 10, 2023
0d72818
Merge branch 'main' into ruby3.0
briri Feb 13, 2023
f69cdda
ignore rubocop warning about using 'puts' in rake tasks
briri Feb 13, 2023
aceff0c
added x86_64-linux back to the bundle
briri Feb 13, 2023
4a50397
disable debugger check in rubocop
pengyin-shan Feb 17, 2023
f423998
fix rubocop.yml syntax and update rubocop to 1.45.1
pengyin-shan Feb 17, 2023
6567485
add exclude to rubocop.yml so that debugger will run but except lib t…
pengyin-shan Feb 21, 2023
b8828ce
add node 16 version specification to github actions
pengyin-shan Feb 21, 2023
706f0e6
update Gemfile
pengyin-shan Feb 21, 2023
5a72da4
merge with develpment branch
pengyin-shan Feb 21, 2023
5bb5319
Merge branch 'development' into funding_status_translation
pengyin-shan Feb 21, 2023
ed12c2e
merge development
pengyin-shan Feb 21, 2023
fd4d6fe
merge development
pengyin-shan Feb 21, 2023
8b179e2
use --openssl-legacy-provider instead of set node 16
pengyin-shan Feb 24, 2023
3d82147
test node_options run in github action
pengyin-shan Feb 24, 2023
e07ae8c
test if loop for node-version
pengyin-shan Feb 27, 2023
17770df
test node_options result
pengyin-shan Feb 27, 2023
5e8c875
test post-action
pengyin-shan Feb 27, 2023
26470a8
adjust env as the first step
pengyin-shan Feb 27, 2023
a56787a
adjust env before setup-node action
pengyin-shan Feb 27, 2023
e149fd4
change back to use node 16 due to NODE_OPTION issue
pengyin-shan Feb 27, 2023
35efe04
update CHANGELOG
pengyin-shan Feb 27, 2023
31eac02
Merge branch 'funding_status_translation' of github.com:DMPRoadmap/ro…
pengyin-shan Feb 27, 2023
28fe16f
add node16 version to Github actions to get tests pass
pengyin-shan Feb 27, 2023
7107e2c
Merge branch 'development' into DMPAssistant-ISSUE70
pengyin-shan Feb 27, 2023
8ef22ee
Update changelog and github actions to use node 16 only
pengyin-shan Feb 27, 2023
009953e
Merge branch 'DMPAssistant-ISSUE70' of github.com:DMPRoadmap/roadmap …
pengyin-shan Feb 27, 2023
bae1175
Merge pull request #3266 from DMPRoadmap/ruby3.0
briri Mar 9, 2023
062d771
Gemfile lock
briri Mar 9, 2023
76341ca
Merge branch 'development' of github.com:DMPRoadmap/roadmap into deve…
briri Mar 9, 2023
d0e7cec
Merge branch 'development' into webpacker_migration
briri Mar 9, 2023
fbdd939
added notes about needing to rebuild assets
briri Mar 9, 2023
90e9665
Merge branch 'webpacker_migration' of github.com:DMPRoadmap/roadmap i…
briri Mar 9, 2023
cb06849
added x86_64-linux to bundle
briri Mar 9, 2023
72493f8
Made Rubocop happy
benjaminfaure Mar 10, 2023
96496fa
Added missing JQuery declaration in application.js
benjaminfaure Mar 10, 2023
a247d27
Merge pull request #3280 from DMPRoadmap/webpacker_migration
benjaminfaure Mar 14, 2023
dd1a98f
Merge branch 'development' into rubocop-performance
briri Mar 23, 2023
dba86c7
Merge branch 'main' into development
briri Mar 23, 2023
a22f9e4
Merge branch 'development' into rubocop-performance
briri Mar 23, 2023
58a1677
really wish it would stop losing the linux-x86 platform :/
briri Mar 23, 2023
c35d421
fixed performance issue
briri Mar 23, 2023
4d82975
Merge pull request #3288 from DMPRoadmap/rubocop-performance
briri Mar 23, 2023
82f9777
Merge branch 'development' into issue3291
briri Mar 23, 2023
c50b3ef
readded x86_64 to the bundle
briri Mar 23, 2023
f20aa61
added helper rake task for updating dependencies that always adds x86…
briri Mar 23, 2023
d8c121f
Merge pull request #3292 from DMPRoadmap/issue3291
briri Mar 23, 2023
00a7613
Merge branch 'development' into bug-3214-vulnerability_no_rate_limit_…
briri Mar 23, 2023
3289088
fixed issue with CHANGELOG so that Wendy's latest PR is listed in the…
briri Mar 23, 2023
b3519f4
added Gemfile lock
briri Mar 23, 2023
a3a1220
Merge branch 'development' into funding_status_translation
briri Mar 23, 2023
3c215e0
moved entry in CHANGELOG to 4.1.0 release
briri Mar 23, 2023
da29c12
ran new rails update:all to update dependencies and add linux to avai…
briri Mar 23, 2023
9062806
Merge pull request #3237 from DMPRoadmap/funding_status_translation
briri Mar 23, 2023
ae0aec9
Add Gemfile.lock change
briri Mar 23, 2023
85eae26
Merge branch 'development' into DMPAssistant-ISSUE70
briri Mar 23, 2023
1b849cc
added x86_64 to bundle
briri Mar 23, 2023
385e884
Merge pull request #3219 from DMPRoadmap/DMPAssistant-ISSUE70
briri Mar 23, 2023
057496a
commit gemfile lock
briri Mar 23, 2023
d067a9f
Merge branch 'development' into bug-3214-vulnerability_no_rate_limit_…
briri Mar 23, 2023
668b67d
fix rubocop warning in rack_attack initializer
briri Mar 24, 2023
5ac38d3
Merge pull request #3261 from DMPRoadmap/bug-3214-vulnerability_no_ra…
briri Mar 24, 2023
2d55c17
Added missing import in application.scss for fontawesome brand icons
benjaminfaure Apr 5, 2023
9c0a08f
synced translations
briri Apr 5, 2023
676e656
Merge branch 'development' into translations
briri Apr 5, 2023
e46a7a8
initial upgrade of tinymce to 6.x
briri Apr 6, 2023
7167e83
fixed Tinymce issues on sections and questions
briri Apr 11, 2023
01dd934
updated assets initializer so that it copies over the bootstrap glyph…
briri Apr 11, 2023
5de620a
Fixed dropdown overflow issue in bootstrap tables
benjaminfaure Apr 12, 2023
ebf8ee8
fix issue with dropdown menu overflow against table - thanks @bfaure
briri Apr 12, 2023
56803ed
updated CHANGELOG
briri Apr 12, 2023
4a051ca
fixed issue with button color contrasts
briri Apr 12, 2023
8d0b1a4
fixed rubocop
briri Apr 12, 2023
bfd58c8
Merge branch 'development' into tinymce-v6
briri Apr 12, 2023
04a7425
Merge pull request #3308 from DMPRoadmap/tinymce-v6
briri Apr 12, 2023
cfb32f7
pulled down latest from Translation.io
briri Apr 12, 2023
ad6d9a0
Merge branch 'translations' of github.com:DMPRoadmap/roadmap into tra…
briri Apr 12, 2023
84e0a43
Merge pull request #3307 from DMPRoadmap/translations
briri Apr 12, 2023
69141d9
updated dependencies
briri Apr 12, 2023
4df85c7
Merge branch 'development' of github.com:DMPRoadmap/roadmap into deve…
briri Apr 12, 2023
6dd914a
fix issue with usage page and tinymce on template customization for R…
briri Apr 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/eslint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
- uses: actions/setup-node@v2
with:
cache: 'yarn'
node-version: 16

# Run yarn install for JS dependencies
- name: 'Yarn Install'
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/mysql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ jobs:
# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.6
ruby-version: '3.0'
bundler-cache: true

# Install Node
- uses: actions/setup-node@v3
with:
node-version: '16.6.0'
cache: 'yarn'
node-version: 16

# Copy all of the example configs over
- name: 'Setup the application'
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/postgres.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,18 @@ jobs:
# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.6
ruby-version: '3.0'
bundler-cache: true


## - run: echo 'NODE_OPTIONS="--openssl-legacy-provider"' >> $GITHUB_ENV
## /home/runner/runners/2.301.1/externals/node12/bin/node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

# Install Node
- uses: actions/setup-node@v3
with:
node-version: '16.6.0'
cache: 'yarn'
node-version: 16

# Install the Postgres developer packages
- name: 'Install Postgresql Packages'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.6
ruby-version: '3.0'
bundler-cache: true

# Run the Rubocop linter checks
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ yarn-debug.log*
/yarn-error.log
yarn-debug.log*
.yarn-integrity
/app/assets/builds/*
!/app/assets/builds/.keep

# Ignore briley AWS cloud9 script to start the application
cloud9-start.sh
cloud9-start.sh
11 changes: 11 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@
#
# Try to place any new Cops under their relevant section and in alphabetical order

require:
# - rubocop-rails
# - rubocop-rspec
- rubocop-performance

AllCops:
# Show the name of the cops being voilated in the feedback
DisplayCopNames: true
Expand Down Expand Up @@ -104,6 +109,12 @@ Lint/UnexpectedBlockArity: # new in 1.5
Enabled: true
Lint/UnmodifiedReduceAccumulator: # new in 1.1
Enabled: true
Lint/Debugger: # new in 1.45.0
Description: 'Check for debugger calls.'
Enabled: true
Exclude:
- 'lib/tasks/**/*'


# -----------
# - METRICS -
Expand Down
86 changes: 84 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,95 @@
# Changelog

### Added
## v4.1.0

**Note this upgrade is a migration from Ruby v2.7.6 to v3.0.5.** Note that this could have an impact on any customizations you may have made to your fork of this project. Please see https://www.fastruby.io/blog/ruby/upgrades/upgrade-ruby-from-2.7-to-3.0.html for further information on what to check. In particular, please note the changes to the way [Ruby 3 handles keyword arguments](https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/)

**Note that the Webpacker gem has been removed in favor of jsbundling-rails.** This was done in preparation for the future migration to Rails 7. See [issue #3185](https://github.com/DMPRoadmap/roadmap/issues/3185) for more details on this change. If, after migrating to this version, you see 'Sprockets' related errors in your application you will need to rebuild you asset library. To do this run `bin/rails assets:clobber && bin/rails assets:precompile` from the project directory.

All gem and JS dependencies were also updated via `bundle update && yarn upgrade`

### Upgrade to Ruby 3

- Upgrade to Ruby version 3.0.5 [#3225](https://github.com/DMPRoadmap/roadmap/issues/3225)
- Bumped all Github actions to use ruby 3.0
- Removed `.freeze` from Regex and Range constants since those types are already immutable
- Fixed Rubocop complaint about redundancy of `r.nil? ? nil : r.user`, so changed it to `r&.user` in `app/models/plan.rb`
- Fixed Rubocop complaint about redundant `::` in config.log_formatter = `::Logger::Formatter.new` in `config/environments/production.rb`
- Froze `lib/deprecators/*.rb` constants that were Strings
- Updated places that were incorrectly using keyword args. See [this article](https://makandracards.com/makandra/496481-changes-to-positional-and-keyword-args-in-ruby-3-0) for an overview

#### Upgraded TinyMCE to v6

- Upgraded TinyMCE to v6 (v5 EOL is April 20 2023)
- Adjusted JS code to conform to new TinyMCE version
- Adjusted views to work with the new version
- Updated variables.scss file to fix issue with button text/background color contrast
- Updated blocks/_tables.scss to fix issue with dropdown menu overlap against table
- updated config/initializers/assets.rb to copy over the tinymce skins and bootstrap glyphicons to the public directory so that they are accessible by TinyMCE and Bootstrap code

#### Removed webpacker gem

As Webpacker is no longer maintained by the Rails community, we have replaced it by `jsbundling-rails` and `cssbundling-rails` for the Javascript & CSS compilation.

- Removed `webpacker` gem
- Added `jsbundling-rails`
- Updated webpack and its configuration to V5
- Moved `app/javascript/packs/application.js` to `app/javascript/application.js`
- Removed `ruby-sass` gem
- Added `cssbundling-rails` gem and DartSass JS library
- Updated SASS stylesheets following the migration to the latest version of the `sass` package (See below).
- Removed `font-awesome-sass` gem and used `@fortawesome/fontawesome-free` npm package
- Issue with `@import 'font-awesome-sprockets';` line in `app/assets/stylesheets/application.scss`. Removed that line after referring to the latest font-awesome install/setup guide which no longer includes it.

With the removal of Webpacker, the Javascript/SASS code is no longer automaticaly compiled when using the `rails server` command. It has been replaced by the `bin/dev` command that launch the rails server and the processes that watch for changes in the SASS and Javascript code.

#### SASS update : removal of the `@import` keyword

With the removal of the webpacker gem, the DartSass package has been installed to ensure the compilation of the Sass stylesheet and with it, an update to the Sass version used by the code :
- `@import` keyword for custom stylesheets has been removed (although we can still import stylesheets from externals packages) and has been replaced by `@use` and `@forward`
- An `_index.scss` file have to be created in folders containing multiple sass files. Each file have to be included in the index with the `@use` or `@forward` keyword.
- In most cases `@import` can be replaced by `@use` when importing a file.
- `@forward` makes mixins, functions and variables available when a stylesheet is loaded.
- When imported, Sass variables are now namespaced with the file name in which they are declared (ex : `color: colors.$red`). A namespace can be renamed (ex : `@use "colours" as c;`) or removed when included (ex : `@use "colours" as *;`)
- Sass variables are no longer declared globally and have to be included in files where they are used.
For more detailed explanation, please refer to this video : https://www.youtube.com/watch?v=CR-a8upNjJ0

### Introduction of RackAttack
[Rack Attack](https://github.com/rack/rack-attack) is middleware that can be used to help protect the application from malicious activity. You can establish white/black lists for specific IP addresses and also define rate limits.

- Using Rack-attack address vulnerabilities pointed out in password reset and login: there was no request rate limit.[#3214](https://github.com/DMPRoadmap/roadmap/issues/3214)

### Cleanup of Capybara configuration
- Cleaned up Gemfile by:
- removing gems that were already commented out
- removed selenium-webdriver and capybara-webmock
- removing version restrictions on: danger, font-awesome-sass, webdrivers
- Cleaned up `spec/rails_helper.rb` and `spec/spec_helper.rb`
- Simplified the `spec/support/capybara.rb` helper to work with the latest version of Capybara and use its built in headless Chrome driver

### Rubocop updates
- Installed rubocop-performance gem and made suggested changes
- Added lib tasks as exclusive from debugger rubocop check after rubocop upgrading to >= v1.45 [#3291](https://github.com/DMPRoadmap/roadmap/issues/3291)

### GitHub actions updates
- Added node version specification (v16) to eslint, PostgreSQL and MySQL github action to eliminate `digital routine enveloped` error [#319](https://github.com/portagenetwork/roadmap/issues/319)

### Enhancements
- Added enum to the funding status attribute of plan model to make the dropdown of 'funding status' being translatable
- Allow users to download both single phase and in PDF, TEXT and DOCX format. CSV file can only download single phase instead of all phases.

### Bug Fixes

## v4.0.2

### Added
- Added CHANGELOG.md and Danger Github Action [#3257](https://github.com/DMPRoadmap/roadmap/issues/3257)
- Added validation with custom error message in research_output.rb to ensure a user does not enter a very large value as 'Anticipated file size'. [#3161](https://github.com/DMPRoadmap/roadmap/issues/3161)
- Added popover for org profile page and added explanation for public plan

### Fixed
- Added rack-attack version 6.6.1 gem. https://rubygems.org/gems/rack-attack/versions/6.6.1

### Fixed
- Fixed an issue that was preventing uses from leaving the research output byte_size field blank
- Patched issue that was causing template visibility to default to organizationally visible after saving
- Froze mail gem version [#3254](https://github.com/DMPRoadmap/roadmap/issues/3254)
Expand Down
82 changes: 15 additions & 67 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

source 'https://rubygems.org'

ruby '>= 2.7'
ruby '>= 3.0'

# ===========#
# CORE RAILS #
Expand All @@ -17,19 +17,16 @@ gem 'rails', '~> 6.1'
# Analysis of the issue: https://www.theregister.com/2021/03/25/ruby_rails_code/
gem 'mimemagic'

# Use sqlite3 as the database for Active Record
# gem 'sqlite3', '~> 1.4'

# Use Puma as the app server
gem 'puma', group: :puma, require: false

# Use SCSS for stylesheets
# TODO : might need to move to cssbundling-rails
# SEE: https://dev.to/kolide/how-to-migrate-a-rails-6-app-from-sass-rails-to-cssbundling-rails-4l41
gem 'sass-rails'
# Use esbuild, rollup.js, or Webpack to bundle your JavaScript, then deliver it via the asset pipeline in Rails
# Read more: https://github.com/rails/jsbundling-rails
gem 'jsbundling-rails'

# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker'
# Use Tailwind CSS, Bootstrap, Bulma, PostCSS, or Dart Sass to bundle and process your CSS
# Read more: https://github.com/rails/cssbundling-rails
gem 'cssbundling-rails'

# Turbo gives you the speed of a single-page web application without having to write any JavaScript..
# Read more: https://github.com/hotwired/turbo-rails
Expand All @@ -50,14 +47,6 @@ gem 'jbuilder'
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', require: false

# GEMS ADDED TO HELP HANDLE RAILS MIGRATION FROM 3.x to 4.2
# THESE GEMS HELP SUPPORT DEPRACATED FUNCTIONALITY AND WILL LOSE SUPPORT IN
# FUTURE VERSIONS WE SHOULD CONSIDER BRINGING THE CODE UP TO DATE INSTEAD

# A set of Rails responders to dry up your application
# (http://github.com/plataformatec/responders)
# gem "responders"

# ============== #
# ERROR HANDLING #
# ============== #
Expand Down Expand Up @@ -119,6 +108,9 @@ gem 'jwt'
# OO authorization for Rails (https://github.com/elabs/pundit)
gem 'pundit'

# Gem for throttling malicious attacks
gem 'rack-attack', '~> 6.6', '>= 6.6.1'

# ========== #
# UI / VIEWS #
# ========== #
Expand Down Expand Up @@ -161,23 +153,10 @@ gem 'api-pagination'
# STYLESHEETS #
# =========== #

# Integrate SassC-Ruby into Rails. (https://github.com/sass/sassc-rails)
gem 'sassc-rails'

# Font-Awesome SASS (https://github.com/FortAwesome/font-awesome-sass)
gem 'font-awesome-sass', '~> 5'

# Use webpack to manage app-like JavaScript modules in Rails
# (https://github.com/rails/webpacker)
# gem "webpacker"

# Parse CSS and add vendor prefixes to CSS rules using values from the Can
# I Use website. (https://github.com/ai/autoprefixer-rails)
gem 'autoprefixer-rails'

# Minimal embedded v8 for Ruby (https://github.com/discourse/mini_racer)
# gem "mini_racer"

# ========= #
# EXPORTING #
# ========= #
Expand Down Expand Up @@ -250,18 +229,10 @@ group :test do
# Guard keeps an eye on your file modifications (https://github.com/guard/guard)
gem 'guard'

# Guard gem for RSpec (https://github.com/guard/guard-rspec)
# gem 'guard-rspec'

# Library for stubbing HTTP requests in Ruby.
# (http://github.com/bblimke/webmock)
gem 'webmock'

# Code coverage for Ruby 1.9+ with a powerful configuration library and
# automatic merging of coverage across test suites
# (http://github.com/colszowka/simplecov)
# gem 'simplecov', require: false

# Strategies for cleaning databases. Can be used to ensure a clean state
# for testing. (http://github.com/DatabaseCleaner/database_cleaner)
gem 'database_cleaner', require: false
Expand All @@ -275,17 +246,9 @@ group :test do

# Adds support for Capybara system testing and selenium driver
gem 'capybara'
gem 'selenium-webdriver'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers', '~> 5.2'

# Automatically create snapshots when Cucumber steps fail with Capybara
# and Rails (http://github.com/mattheworiordan/capybara-screenshot)
# gem 'capybara-screenshot'

# Browser integration tests are expensive. We can mock external requests
# in our tests, but once a browser is involved, we lose control.
gem 'capybara-webmock'
# Easy installation and use of web drivers to run system tests with browsers
gem 'webdrivers'

# RSpec::CollectionMatchers lets you express expected outcomes on
# collections of an object in an example.
Expand All @@ -299,7 +262,7 @@ group :test do
gem 'rails-controller-testing'

# automating code review
gem 'danger', '~> 9.0', require: false
gem 'danger'
end

group :ci, :development do
Expand All @@ -319,23 +282,8 @@ group :ci, :development do
# (gettext and rails-i18n)
gem 'rubocop-i18n'

# A collection of RuboCop cops to check for performance optimizations in Ruby code.
# gem 'rubocop-performance'

# Automatic Rails code style checking tool. A RuboCop extension focused on enforcing
# Rails best practices and coding conventions.
# gem 'rubocop-rails'

# A RuboCop plugin for Rake tasks
# gem 'rubocop-rake'

# Code style checking for RSpec files. A plugin for the RuboCop code style enforcing
# & linting tool.
# gem 'rubocop-rspec'

# Thread-safety checks via static analysis. A plugin for the RuboCop code style
# enforcing & linting tool.
# gem 'rubocop-thread_safety'
# Performance checks by Rubocop
gem 'rubocop-performance', require: false
end

group :development do
Expand Down
Loading