diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 08bc60f3b..f594cdf30 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,9 +31,9 @@ jobs: ruby-version: 2.7.2 - name: Set up Node - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: - node-version: '14.x' + node-version: '18.x' - name: Set up ruby gem cache uses: actions/cache@v1 diff --git a/Gemfile b/Gemfile index bebff49d9..2386659b2 100644 --- a/Gemfile +++ b/Gemfile @@ -4,10 +4,10 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby File.read(".ruby-version").chomp # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem "rails", "~> 6.1.4" +gem "rails", "~> 6.1.7" # User accounts; required in config/application.rb -gem "devise", ">= 4.7.3" +gem "devise", ">= 4.9.3" gem "pundit", "~> 2.1" # Use postgresql as the database for Active Record @@ -104,10 +104,10 @@ end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby] -gem "devise-security", "~> 0.17.0" +gem "devise-security", "~> 0.18.0" -gem "govuk_design_system_formbuilder", "~> 2.8" +gem "govuk_design_system_formbuilder", "~> 4.1" -gem "friendly_id", "~> 5.4" +gem "friendly_id", "~> 5.5" -gem "govuk-components", "~> 2.1" +gem "govuk-components", "~> 4.1" diff --git a/Gemfile.lock b/Gemfile.lock index 0381934a6..cf708da3b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,40 +1,40 @@ GEM remote: https://rubygems.org/ specs: - actioncable (6.1.4.4) - actionpack (= 6.1.4.4) - activesupport (= 6.1.4.4) + actioncable (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.4.4) - actionpack (= 6.1.4.4) - activejob (= 6.1.4.4) - activerecord (= 6.1.4.4) - activestorage (= 6.1.4.4) - activesupport (= 6.1.4.4) + actionmailbox (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) mail (>= 2.7.1) - actionmailer (6.1.4.4) - actionpack (= 6.1.4.4) - actionview (= 6.1.4.4) - activejob (= 6.1.4.4) - activesupport (= 6.1.4.4) + actionmailer (6.1.7.6) + actionpack (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activesupport (= 6.1.7.6) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.4.4) - actionview (= 6.1.4.4) - activesupport (= 6.1.4.4) + actionpack (6.1.7.6) + actionview (= 6.1.7.6) + activesupport (= 6.1.7.6) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.4.4) - actionpack (= 6.1.4.4) - activerecord (= 6.1.4.4) - activestorage (= 6.1.4.4) - activesupport (= 6.1.4.4) + actiontext (6.1.7.6) + actionpack (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) nokogiri (>= 1.8.5) - actionview (6.1.4.4) - activesupport (= 6.1.4.4) + actionview (6.1.7.6) + activesupport (= 6.1.7.6) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -44,22 +44,22 @@ GEM activemodel (>= 5.2.0) activestorage (>= 5.2.0) activesupport (>= 5.2.0) - activejob (6.1.4.4) - activesupport (= 6.1.4.4) + activejob (6.1.7.6) + activesupport (= 6.1.7.6) globalid (>= 0.3.6) - activemodel (6.1.4.4) - activesupport (= 6.1.4.4) - activerecord (6.1.4.4) - activemodel (= 6.1.4.4) - activesupport (= 6.1.4.4) - activestorage (6.1.4.4) - actionpack (= 6.1.4.4) - activejob (= 6.1.4.4) - activerecord (= 6.1.4.4) - activesupport (= 6.1.4.4) - marcel (~> 1.0.0) + activemodel (6.1.7.6) + activesupport (= 6.1.7.6) + activerecord (6.1.7.6) + activemodel (= 6.1.7.6) + activesupport (= 6.1.7.6) + activestorage (6.1.7.6) + actionpack (= 6.1.7.6) + activejob (= 6.1.7.6) + activerecord (= 6.1.7.6) + activesupport (= 6.1.7.6) + marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.4.4) + activesupport (6.1.7.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -111,7 +111,7 @@ GEM descendants_tracker (~> 0.0.4) ice_nine (~> 0.11.0) thread_safe (~> 0.3, >= 0.3.1) - bcrypt (3.1.16) + bcrypt (3.1.20) bindex (0.8.1) bootsnap (1.10.2) msgpack (~> 1.2) @@ -165,16 +165,16 @@ GEM cucumber-core (~> 9.0, >= 9.0.1) cucumber-cucumber-expressions (~> 12.1, >= 12.1.1) cucumber-messages (~> 15.0, >= 15.0.0) - deep_merge (1.2.2) + date (3.3.4) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devise (4.8.1) + devise (4.9.3) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-security (0.17.0) + devise-security (0.18.0) devise (>= 4.3.0) dibber (0.6.0) diff-lcs (1.5.0) @@ -185,7 +185,7 @@ GEM railties (>= 3.2) dumb_delegator (0.8.1) equalizer (0.0.11) - erubi (1.10.0) + erubi (1.12.0) factory_bot (6.2.0) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) @@ -197,10 +197,10 @@ GEM multipart-post (>= 1.2, < 3) ffi (1.15.5) foreman (0.87.2) - friendly_id (5.4.2) + friendly_id (5.5.1) activerecord (>= 4.0.0) - globalid (1.1.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) govspeak (6.7.8) actionview (>= 5.0, < 7) addressable (>= 2.3.8, < 3) @@ -211,10 +211,10 @@ GEM nokogiri (~> 1.12) rinku (~> 2.0) sanitize (~> 6) - govuk-components (2.1.5) - activemodel (>= 6.0) - railties (>= 6.0) - view_component (~> 2.39.0) + govuk-components (4.1.2) + html-attributes-utils (~> 1.0.0, >= 1.0.0) + pagy (~> 6.0) + view_component (>= 3.3, < 3.7) govuk_app_config (4.1.0) logstasher (>= 1.2.2, < 2.2.0) puma (~> 5.0) @@ -222,11 +222,11 @@ GEM sentry-ruby (~> 4.5.0) statsd-ruby (~> 1.5.0) unicorn (>= 5.4, < 5.9) - govuk_design_system_formbuilder (2.8.0) - actionview (>= 6.0) - activemodel (>= 6.0) - activesupport (>= 6.0) - deep_merge (~> 1.2.1) + govuk_design_system_formbuilder (4.1.1) + actionview (>= 6.1) + activemodel (>= 6.1) + activesupport (>= 6.1) + html-attributes-utils (~> 1) govuk_personalisation (0.11.0) plek (>= 1.9.0) rails (~> 6) @@ -241,8 +241,10 @@ GEM haml (5.2.2) temple (>= 0.8.0) tilt + html-attributes-utils (1.0.2) + activesupport (>= 6.1.4.4) htmlentities (4.3.4) - i18n (1.12.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) ice_nine (0.11.2) jmespath (1.5.0) @@ -257,11 +259,14 @@ GEM logstasher (2.1.5) activesupport (>= 5.2) request_store - loofah (2.20.0) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.2) matrix (0.4.2) method_source (1.0.0) @@ -272,29 +277,39 @@ GEM mimemagic (0.3.10) nokogiri (~> 1) rake - mini_mime (1.1.2) - mini_portile2 (2.8.4) - minitest (5.18.0) + mini_mime (1.1.5) + mini_portile2 (2.8.5) + minitest (5.20.0) msgpack (1.4.4) multi_test (0.1.2) multipart-post (2.1.1) - nio4r (2.5.8) - nokogiri (1.15.4) + net-imap (0.3.7) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.4.0) + net-protocol + nio4r (2.6.1) + nokogiri (1.15.5) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.15.4-aarch64-linux) + nokogiri (1.15.5-aarch64-linux) racc (~> 1.4) - nokogiri (1.15.4-arm64-darwin) + nokogiri (1.15.5-arm64-darwin) racc (~> 1.4) - nokogiri (1.15.4-x86_64-darwin) + nokogiri (1.15.5-x86_64-darwin) racc (~> 1.4) - nokogiri (1.15.4-x86_64-linux) + nokogiri (1.15.5-x86_64-linux) racc (~> 1.4) orm_adapter (0.5.0) + pagy (6.2.0) parallel (1.21.0) parser (3.1.0.0) ast (~> 2.4.1) - pg (1.3.0) + pg (1.5.4) plek (4.0.0) protobuf-cucumber (3.10.8) activesupport (>= 3.2) @@ -308,45 +323,47 @@ GEM byebug (~> 11.0) pry (~> 0.13.0) public_suffix (4.0.6) - puma (5.6.1) + puma (5.6.7) nio4r (~> 2.0) pundit (2.1.1) activesupport (>= 3.0.0) - racc (1.7.1) - rack (2.2.7) - rack-proxy (0.7.2) + racc (1.7.3) + rack (2.2.8) + rack-proxy (0.7.7) rack - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (6.1.4.4) - actioncable (= 6.1.4.4) - actionmailbox (= 6.1.4.4) - actionmailer (= 6.1.4.4) - actionpack (= 6.1.4.4) - actiontext (= 6.1.4.4) - actionview (= 6.1.4.4) - activejob (= 6.1.4.4) - activemodel (= 6.1.4.4) - activerecord (= 6.1.4.4) - activestorage (= 6.1.4.4) - activesupport (= 6.1.4.4) + rack-test (2.1.0) + rack (>= 1.3) + rails (6.1.7.6) + actioncable (= 6.1.7.6) + actionmailbox (= 6.1.7.6) + actionmailer (= 6.1.7.6) + actionpack (= 6.1.7.6) + actiontext (= 6.1.7.6) + actionview (= 6.1.7.6) + activejob (= 6.1.7.6) + activemodel (= 6.1.7.6) + activerecord (= 6.1.7.6) + activestorage (= 6.1.7.6) + activesupport (= 6.1.7.6) bundler (>= 1.15.0) - railties (= 6.1.4.4) + railties (= 6.1.7.6) sprockets-rails (>= 2.0.0) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.5.0) - loofah (~> 2.19, >= 2.19.1) - railties (6.1.4.4) - actionpack (= 6.1.4.4) - activesupport (= 6.1.4.4) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (6.1.7.6) + actionpack (= 6.1.7.6) + activesupport (= 6.1.7.6) method_source - rake (>= 0.13) + rake (>= 12.2) thor (~> 1.0) rainbow (3.1.1) raindrops (0.20.0) - rake (13.0.6) + rake (13.1.0) ratonvirus (0.2.0) activesupport (~> 6.0) ratonvirus-resty (0.1.3) @@ -360,9 +377,9 @@ GEM regexp_parser (2.2.0) request_store (1.5.0) rack (>= 1.4) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.1) + actionpack (>= 5.2) + railties (>= 5.2) rexml (3.2.6) rinku (2.0.6) rouge (3.27.0) @@ -462,17 +479,19 @@ GEM sys-uname (1.2.2) ffi (~> 1.1) temple (0.8.2) - thor (1.2.1) + thor (1.3.0) thread_safe (0.3.6) tilt (2.0.10) + timeout (0.4.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unicode-display_width (2.1.0) unicorn (5.8.0) kgio (~> 2.6) raindrops (~> 0.7) - view_component (2.39.0) - activesupport (>= 5.0.0, < 8.0) + view_component (3.6.0) + activesupport (>= 5.2.0, < 8.0) + concurrent-ruby (~> 1.0) method_source (~> 1.0) virtus (1.0.5) axiom-types (~> 0.1) @@ -490,18 +509,18 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) - webpacker (5.4.3) + webpacker (5.4.4) activesupport (>= 5.2) rack-proxy (>= 0.6.1) railties (>= 5.2) semantic_range (>= 2.3.0) websocket (1.2.9) - websocket-driver (0.7.5) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.7) + zeitwerk (2.6.12) PLATFORMS aarch64-linux-musl @@ -527,17 +546,17 @@ DEPENDENCIES canonical-rails (~> 0.2) capybara (~> 3.36) cucumber (~> 6.1) - devise (>= 4.7.3) - devise-security (~> 0.17.0) + devise (>= 4.9.3) + devise-security (~> 0.18.0) dibber dotenv-rails (~> 2.7) factory_bot_rails (~> 6.2) faker (~> 2.18) foreman (~> 0.87) - friendly_id (~> 5.4) + friendly_id (~> 5.5) govspeak - govuk-components (~> 2.1) - govuk_design_system_formbuilder (~> 2.8) + govuk-components (~> 4.1) + govuk_design_system_formbuilder (~> 4.1) haml (~> 5.2) htmlentities (= 4.3.4) launchy @@ -546,7 +565,7 @@ DEPENDENCIES pry-byebug (~> 3.9) puma (~> 5.5) pundit (~> 2.1) - rails (~> 6.1.4) + rails (~> 6.1.7) ratonvirus (~> 0.2.0) ratonvirus-resty rspec (~> 3.10) diff --git a/package.json b/package.json index e0ea6ecaf..b304a8b86 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "engines": { - "node": "14.x" + "node": "18.x" }, "dependencies": { - "@rails/webpacker": "^5.4.3", - "govuk-frontend": "^4.0.0", - "jquery": "^3.5.1", - "rails-ujs": "^5.2.6", + "@rails/webpacker": "^5.4.4", + "govuk-frontend": "^4.7.0", + "jquery": "^3.7.1", + "@rails/ujs": "^6.0.0", "serialize-javascript": "^6.0.0", "set-value": "^4.1.0", "showdown": "^1.9.1", @@ -15,4 +15,4 @@ "devDependencies": { "webpack-dev-server": "^4.7.3" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 274148268..c4579c69b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -947,10 +947,15 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@rails/webpacker@^5.4.3": - version "5.4.3" - resolved "https://registry.yarnpkg.com/@rails/webpacker/-/webpacker-5.4.3.tgz#cfe2d8faffe7db5001bad50a1534408b4f2efb2f" - integrity sha512-tEM8tpUtfx6FxKwcuQ9+v6pzgqM5LeAdhT6IJ4Te3BPKFO1xrGrXugqeRuZ+gE8ASDZRTOK6yuQkapOpuX5JdA== +"@rails/ujs@^6.0.0": + version "6.1.7" + resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.7.tgz#b09dc5b2105dd267e8374c47e4490240451dc7f6" + integrity sha512-0e7WQ4LE/+LEfW2zfAw9ppsB6A8RmxbdAUPAF++UT80epY+7emuQDkKXmaK0a9lp6An50RvzezI0cIQjp1A58w== + +"@rails/webpacker@^5.4.4": + version "5.4.4" + resolved "https://registry.yarnpkg.com/@rails/webpacker/-/webpacker-5.4.4.tgz#971a41b987c096c908ce4088accd57c1a9a7e2f7" + integrity sha512-hp9myb2MChYFPfE5Fd/3gF4q2m4wpxC+WWCkxcg6My3HYCptWuqMVXRwrBZ5EJHYiL/WRyMLvVNWwlFV47xhUw== dependencies: "@babel/core" "^7.15.0" "@babel/plugin-proposal-class-properties" "^7.14.5" @@ -3298,10 +3303,10 @@ globby@^11.0.1: merge2 "^1.4.1" slash "^3.0.0" -govuk-frontend@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/govuk-frontend/-/govuk-frontend-4.0.0.tgz#4b58df200b85be72589fa3b4655638f972ade427" - integrity sha512-liaJildULUNSSvEgDm36SQTivqBHiZLdrm+O7bBxnW4Q1g64asi+mJIMzW8QeOqlG4Yn8s0gSklsIyaFOuCisQ== +govuk-frontend@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/govuk-frontend/-/govuk-frontend-4.7.0.tgz#69950b6c2e69f435ffe9aa60d8dee232dac977de" + integrity sha512-0OsdCusF5qvLWwKziU8zqxiC0nq6WP0ZQuw51ymZ/1V0tO71oIKMlSLN2S9bm8RcEGSoidPt2A34gKxePrLjvg== graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.9" @@ -3984,10 +3989,10 @@ jest-worker@^26.5.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jquery@^3.5.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" - integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== +jquery@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" + integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== js-tokens@^4.0.0: version "4.0.0" @@ -5735,11 +5740,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -rails-ujs@^5.2.6: - version "5.2.6" - resolved "https://registry.yarnpkg.com/rails-ujs/-/rails-ujs-5.2.6.tgz#4193242a108d0cd9ed3595695644755c0bd329eb" - integrity sha512-JpUq5RlA4p5XE69dz0ZOIkn1xXQn9H8VDXQJWuVPRtFBOFylWFriaDVpxFmdQuARPo4bm2l67uIMMBpX6KNY+g== - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"