diff --git a/.ruby-version b/.ruby-version index 6a81b4c..fa7adc7 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.7.8 +3.3.5 diff --git a/Dockerfile b/Dockerfile index 453ba1e..00dc5ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ RUN apk add --update \ nodejs \ tzdata \ && rm -rf /var/cache/apk/* \ - && gem update --system 3.2.3 \ + && gem update --system \ && gem install bundler:$BUNDLER_VERSION \ && bundle config --global frozen 1 diff --git a/Gemfile b/Gemfile index 2e3e661..ab602a2 100644 --- a/Gemfile +++ b/Gemfile @@ -2,10 +2,10 @@ source 'https://rubygems.org' -gem 'execjs', '< 2.8.0' +gem 'execjs' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem 'rails', '< 6.0.0' +gem 'rails' # Use Puma as the app server gem 'puma' @@ -14,14 +14,13 @@ gem 'puma' gem 'sass-rails' # Use Uglifier as compressor for JavaScript assets -gem 'uglifier', '>= 1.3.0' +gem 'uglifier' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby -gem 'libv8-node', '>= 16.10.0.0' +gem 'libv8-node' -# lock down the version of rubygems-update to avoid issues with rubygems -gem 'rubygems-update', '~> 3.4', '>= 3.4.22' +gem 'rubygems-update' gem 'jbuilder' gem 'jquery-rails' @@ -68,24 +67,23 @@ gem 'faraday_middleware' gem 'font-awesome-rails' gem 'get_process_mem' gem 'jquery-ui-rails' -gem 'prometheus-client', '~> 4.0' -gem 'sentry-rails', '~> 5.2' +gem 'prometheus-client' +gem 'sentry-rails' gem 'yajl-ruby', require: 'yajl' gem 'puma-metrics' +# TODO: In production you want to set this to the gem from the epimorphics package repo +source 'https://rubygems.pkg.github.com/epimorphics' do + gem 'data_services_api' + gem 'json_rails_logger' + gem 'lr_common_styles' +end # rubocop:disable Layout/LineLength # TODO: While running the rails app locally for testing you can set gems to your local path # ! These "local" paths do not work with a docker image - use the repo instead -# gem 'data_services_api', '~> 1.3.3', path: '~/Epimorphics/shared/data_services_api/' -# gem 'json_rails_logger', '~>1.0.0', path: '~/Epimorphics/shared/json-rails-logger/' -# gem 'lr_common_styles', '~> 1.9.0', path: '~/Epimorphics/clients/land-registry/projects/lr_common_styles/' +# gem 'data_services_api', path: '~/Epimorphics/shared/data_services_api' +# gem 'json_rails_logger', path: '~/Epimorphics/shared/json-rails-logger' +# gem 'lr_common_styles', path: '~/Epimorphics/clients/land-registry/projects/lr_common_styles' # rubocop:enable Layout/LineLength - -# TODO: In production you want to set this to the gem from the epimorphics package repo -source 'https://rubygems.pkg.github.com/epimorphics' do - gem 'data_services_api', '~> 1.3.3' - gem 'json_rails_logger', '~>1.0.0' - gem 'lr_common_styles', '~> 2.0' # set as this version as bundler breaks otherwise -end diff --git a/Gemfile.lock b/Gemfile.lock index efb87b5..51155be 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,65 +1,96 @@ GEM remote: https://rubygems.org/ - remote: https://rubygems.pkg.github.com/epimorphics/ specs: - actioncable (5.2.7) - actionpack (= 5.2.7) + actioncable (7.2.2) + actionpack (= 7.2.2) + activesupport (= 7.2.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.7) - actionpack (= 5.2.7) - actionview (= 5.2.7) - activejob (= 5.2.7) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (5.2.7) - actionview (= 5.2.7) - activesupport (= 5.2.7) - rack (~> 2.0, >= 2.0.8) + zeitwerk (~> 2.6) + actionmailbox (7.2.2) + actionpack (= 7.2.2) + activejob (= 7.2.2) + activerecord (= 7.2.2) + activestorage (= 7.2.2) + activesupport (= 7.2.2) + mail (>= 2.8.0) + actionmailer (7.2.2) + actionpack (= 7.2.2) + actionview (= 7.2.2) + activejob (= 7.2.2) + activesupport (= 7.2.2) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (7.2.2) + actionview (= 7.2.2) + activesupport (= 7.2.2) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.7) - activesupport (= 5.2.7) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (7.2.2) + actionpack (= 7.2.2) + activerecord (= 7.2.2) + activestorage (= 7.2.2) + activesupport (= 7.2.2) + globalid (>= 0.6.0) + nokogiri (>= 1.8.5) + actionview (7.2.2) + activesupport (= 7.2.2) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activejob (5.2.7) - activesupport (= 5.2.7) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.2.2) + activesupport (= 7.2.2) globalid (>= 0.3.6) - activemodel (5.2.7) - activesupport (= 5.2.7) - activerecord (5.2.7) - activemodel (= 5.2.7) - activesupport (= 5.2.7) - arel (>= 9.0) - activestorage (5.2.7) - actionpack (= 5.2.7) - activerecord (= 5.2.7) - marcel (~> 1.0.0) - activesupport (5.2.7) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.8.1) - public_suffix (>= 2.0.2, < 6.0) + activemodel (7.2.2) + activesupport (= 7.2.2) + activerecord (7.2.2) + activemodel (= 7.2.2) + activesupport (= 7.2.2) + timeout (>= 0.4.0) + activestorage (7.2.2) + actionpack (= 7.2.2) + activejob (= 7.2.2) + activerecord (= 7.2.2) + activesupport (= 7.2.2) + marcel (~> 1.0) + activesupport (7.2.2) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) ansi (1.5.0) - arel (9.0.0) ast (2.4.2) - autoprefixer-rails (10.4.2.0) + autoprefixer-rails (10.4.19.0) execjs (~> 2) + base64 (0.2.0) + benchmark (0.4.0) + bigdecimal (3.1.8) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) - builder (3.2.4) + builder (3.3.0) byebug (11.1.3) - capybara (3.36.0) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) @@ -70,20 +101,18 @@ GEM capybara_minitest_spec (1.0.7) capybara (>= 2) minitest (>= 4) - childprocess (4.1.0) - concurrent-ruby (1.1.10) - crack (0.4.5) + concurrent-ruby (1.3.4) + connection_pool (2.4.1) + crack (1.0.0) + bigdecimal rexml crass (1.0.6) - data_services_api (1.3.3) - faraday_middleware (~> 1.2.0) - json (~> 2.6.1) - yajl-ruby (~> 1.4.1) - docile (1.4.0) - erubi (1.10.0) - erubis (2.7.0) - execjs (2.7.0) - faraday (1.10.0) + date (3.4.0) + docile (1.4.1) + drb (2.2.1) + erubi (1.13.0) + execjs (2.10.0) + faraday (1.10.4) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -99,273 +128,339 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.0.3) - multipart-post (>= 1.2, < 3) - faraday-net_http (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) faraday-retry (1.0.3) - faraday_middleware (1.2.0) + faraday_middleware (1.2.1) faraday (~> 1.0) - ffi (1.15.5) + ffi (1.17.0-aarch64-linux-gnu) + ffi (1.17.0-aarch64-linux-musl) + ffi (1.17.0-arm-linux-gnu) + ffi (1.17.0-arm-linux-musl) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86-linux-gnu) + ffi (1.17.0-x86-linux-musl) + ffi (1.17.0-x86_64-darwin) + ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.0-x86_64-linux-musl) flamegraph (0.9.5) - font-awesome-rails (4.7.0.8) - railties (>= 3.2, < 8.0) - get_process_mem (0.2.7) + font-awesome-rails (4.7.0.9) + railties (>= 3.2, < 9.0) + get_process_mem (1.0.0) + bigdecimal (>= 2.0) ffi (~> 1.0) - globalid (1.0.1) - activesupport (>= 5.0) - govuk_elements_rails (2.0.0) - govuk_frontend_toolkit (>= 4.14.1) + globalid (1.2.1) + activesupport (>= 6.1) + govuk_elements_rails (3.0.2) + govuk_frontend_toolkit (>= 5.2.0) rails (>= 4.1.0) sass (>= 3.2.0) - govuk_frontend_toolkit (4.18.4) - rails (>= 3.1.0) - sass (>= 3.2.0) - govuk_template (0.18.3) + govuk_frontend_toolkit (9.0.1) + railties (>= 3.1.0) + govuk_template (0.26.0) rails (>= 3.1) - haml (5.2.2) - temple (>= 0.8.0) + haml (6.3.0) + temple (>= 0.8.2) + thor tilt - haml-rails (2.0.1) + haml-rails (2.1.0) actionpack (>= 5.1) activesupport (>= 5.1) - haml (>= 4.0.6, < 6.0) - html2haml (>= 1.0.1) + haml (>= 4.0.6) railties (>= 5.1) - hashdiff (1.0.1) - html2haml (2.2.0) - erubis (~> 2.7.0) - haml (>= 4.0, < 6) - nokogiri (>= 1.6.0) - ruby_parser (~> 3.5) - i18n (1.12.0) + hashdiff (1.1.2) + i18n (1.14.6) concurrent-ruby (~> 1.0) - jbuilder (2.11.5) + io-console (0.7.2) + irb (1.14.1) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - jquery-rails (4.3.5) + jquery-rails (4.6.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (6.0.1) + jquery-ui-rails (7.0.0) railties (>= 3.2.16) json (2.6.3) json_expressions (0.9.0) - json_rails_logger (1.0.1) - json - lograge - railties - libv8-node (16.10.0.0) - libv8-node (16.10.0.0-aarch64-linux) - libv8-node (16.10.0.0-x86_64-darwin) - libv8-node (16.10.0.0-x86_64-linux) + language_server-protocol (3.17.0.3) + libv8-node (22.7.0.4) + libv8-node (22.7.0.4-aarch64-linux) + libv8-node (22.7.0.4-arm64-darwin) + libv8-node (22.7.0.4-x86_64-darwin) + libv8-node (22.7.0.4-x86_64-linux) + libv8-node (22.7.0.4-x86_64-linux-musl) lodash-rails (4.17.21) railties (>= 3.1) - lograge (0.12.0) + logger (1.6.1) + lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.21.3) + loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) - lr_common_styles (2.0.0) - bootstrap-sass (~> 3.4.0) - font-awesome-rails (~> 4.7.0.1) - govuk_elements_rails (~> 2.0.0) - govuk_frontend_toolkit (~> 4.18.1) - govuk_template (~> 0.18.1) - haml-rails (~> 2.0.0) - jquery-rails (>= 4.3.5, < 4.7.0) - lodash-rails (~> 4.17.14) - modernizr-rails (~> 2.7.1) - modulejs-rails (~> 2.2.0.0) - rails (>= 5.2.4) - sass-rails (~> 5.0.4) - mail (2.7.1) + mail (2.8.1) mini_mime (>= 0.1.1) - marcel (1.0.2) + net-imap + net-pop + net-smtp + marcel (1.0.4) matrix (0.4.2) - memory_profiler (1.0.0) - method_source (1.0.0) - mini_mime (1.1.2) - mini_portile2 (2.8.2) + memory_profiler (1.1.0) + mini_mime (1.1.5) minispec-metadata (2.0.0) minitest - minitest (5.17.0) - minitest-rails (5.2.0) - minitest (~> 5.10) - railties (~> 5.2.0) - minitest-reporters (1.5.0) + minitest (5.25.1) + minitest-rails (7.1.1) + minitest (~> 5.20) + railties (>= 7.1.0, < 8.0.0) + minitest-reporters (1.7.1) ansi builder minitest (>= 5.0) ruby-progressbar - minitest-spec-rails (6.1.0) + minitest-spec-rails (7.3.0) minitest (>= 5.0) railties (>= 4.1) minitest-vcr (1.4.0) minispec-metadata (~> 2.0) minitest (>= 4.7.5) vcr (>= 2.9) - mocha (1.13.0) + mocha (2.5.0) + ruby2_keywords (>= 0.0.5) modernizr-rails (2.7.1) modulejs-rails (2.2.0.0) railties (>= 4.0) - multipart-post (2.1.1) - nio4r (2.5.9) - nokogiri (1.13.10) - mini_portile2 (~> 2.8.0) + multipart-post (2.4.1) + net-imap (0.5.1) + date + net-protocol + net-pop (0.1.2) + net-protocol + net-protocol (0.2.2) + timeout + net-smtp (0.5.0) + net-protocol + nio4r (2.7.4) + nokogiri (1.16.7-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.7-arm-linux) + racc (~> 1.4) + nokogiri (1.16.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.13.10-aarch64-linux) + nokogiri (1.16.7-x86-linux) racc (~> 1.4) - nokogiri (1.13.10-x86_64-darwin) + nokogiri (1.16.7-x86_64-darwin) racc (~> 1.4) - nokogiri (1.13.10-x86_64-linux) + nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) - parallel (1.22.1) - parser (3.1.1.0) + parallel (1.26.3) + parser (3.3.6.0) ast (~> 2.4.1) - prometheus-client (4.0.0) - public_suffix (5.0.0) - puma (5.6.7) + racc + prometheus-client (4.2.3) + base64 + psych (5.2.0) + stringio + public_suffix (6.0.1) + puma (6.4.3) nio4r (~> 2.0) - puma-metrics (1.2.5) + puma-metrics (1.4.0) prometheus-client (>= 0.10) - puma (>= 5.0) - racc (1.6.2) - rack (2.2.8) - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (5.2.7) - actioncable (= 5.2.7) - actionmailer (= 5.2.7) - actionpack (= 5.2.7) - actionview (= 5.2.7) - activejob (= 5.2.7) - activemodel (= 5.2.7) - activerecord (= 5.2.7) - activestorage (= 5.2.7) - activesupport (= 5.2.7) - bundler (>= 1.3.0) - railties (= 5.2.7) - sprockets-rails (>= 2.0.0) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + puma (>= 6.0) + racc (1.8.1) + rack (3.1.8) + rack-session (2.0.0) + rack (>= 3.0.0) + rack-test (2.1.0) + rack (>= 1.3) + rackup (2.2.1) + rack (>= 3) + rails (7.2.2) + actioncable (= 7.2.2) + actionmailbox (= 7.2.2) + actionmailer (= 7.2.2) + actionpack (= 7.2.2) + actiontext (= 7.2.2) + actionview (= 7.2.2) + activejob (= 7.2.2) + activemodel (= 7.2.2) + activerecord (= 7.2.2) + activestorage (= 7.2.2) + activesupport (= 7.2.2) + bundler (>= 1.15.0) + railties (= 7.2.2) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.4) - loofah (~> 2.19, >= 2.19.1) - railties (5.2.7) - actionpack (= 5.2.7) - activesupport (= 5.2.7) - method_source - rake (>= 0.8.7) - thor (>= 0.19.0, < 2.0) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.2.2) + actionpack (= 7.2.2) + activesupport (= 7.2.2) + irb (~> 1.13) + rackup (>= 1.0.0) + rake (>= 12.2) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.0.6) - rb-fsevent (0.11.1) - rb-inotify (0.10.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) ffi (~> 1.0) rb-readline (0.5.5) - rdoc (6.3.3) - regexp_parser (2.2.1) - request_store (1.5.1) + rdoc (6.7.0) + psych (>= 4.0.0) + regexp_parser (2.9.2) + reline (0.5.11) + io-console (~> 0.5) + request_store (1.7.0) rack (>= 1.4) - rexml (3.2.5) - rubocop (1.26.1) + rexml (3.3.9) + rubocop (1.68.0) + json (~> 2.3) + language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.1.0.0) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) - rexml - rubocop-ast (>= 1.16.0, < 2.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.32.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.16.0) - parser (>= 3.1.1.0) - rubocop-rails (2.14.2) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.36.1) + parser (>= 3.3.1.0) + rubocop-rails (2.27.0) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.7.0, < 2.0) - ruby-progressbar (1.11.0) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - ruby_parser (3.19.0) - sexp_processor (~> 4.16) - rubygems-update (3.4.22) + rubygems-update (3.5.23) rubyzip (2.3.2) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sass-rails (5.0.8) - railties (>= 5.2.0) - sass (~> 3.1) - sprockets (>= 2.8, < 4.0) - sprockets-rails (>= 2.0, < 4.0) - tilt (>= 1.1, < 3) + sass-rails (6.0.0) + sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) ffi (~> 1.9) - sdoc (2.3.1) - rdoc (>= 5.0, < 6.4.0) - selenium-webdriver (4.1.0) - childprocess (>= 0.5, < 5.0) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt + sdoc (2.6.1) + rdoc (>= 5.0) + securerandom (0.3.2) + selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2) - sentry-rails (5.2.1) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) + sentry-rails (5.21.0) railties (>= 5.0) - sentry-ruby-core (~> 5.2.1) - sentry-ruby-core (5.2.1) - concurrent-ruby - sexp_processor (4.16.0) - simplecov (0.21.2) + sentry-ruby (~> 5.21.0) + sentry-ruby (5.21.0) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sprockets (3.7.2) + sprockets (4.2.1) concurrent-ruby (~> 1.0) - rack (> 1, < 3) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) - stackprof (0.2.19) - temple (0.8.2) - thor (1.2.2) - thread_safe (0.3.6) - tilt (2.0.10) - tzinfo (1.2.11) - thread_safe (~> 0.1) - uglifier (4.2.0) + stackprof (0.2.26) + stringio (3.1.2) + temple (0.10.3) + thor (1.3.2) + tilt (2.4.0) + timeout (0.4.2) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + uglifier (4.2.1) execjs (>= 0.3.0, < 3) - unicode-display_width (2.1.0) - vcr (6.1.0) - webdrivers (5.0.0) + unicode-display_width (2.6.0) + useragent (0.16.10) + vcr (6.3.1) + base64 + webdrivers (5.3.1) nokogiri (~> 1.6) rubyzip (>= 1.3.0) - selenium-webdriver (~> 4.0) - webmock (3.14.0) + selenium-webdriver (~> 4.0, < 4.11) + webmock (3.24.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.5) + websocket (1.2.11) + websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) yajl-ruby (1.4.3) + zeitwerk (2.7.1) + +GEM + remote: https://rubygems.pkg.github.com/epimorphics/ + specs: + data_services_api (1.5.1) + faraday_middleware (~> 1.2.0) + json (~> 2.6.1) + yajl-ruby (~> 1.4.1) + json_rails_logger (1.0.3) + json + lograge + railties + lr_common_styles (2.1.3) + bootstrap-sass + font-awesome-rails + govuk_elements_rails (= 3.0.2) + govuk_frontend_toolkit + govuk_template + haml-rails + jquery-rails + lodash-rails + modernizr-rails + modulejs-rails + rails + sass-rails PLATFORMS - -darwin-20 aarch64-linux - ruby - x86_64-darwin-17 - x86_64-darwin-21 + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86-linux + x86-linux-gnu + x86-linux-musl + x86_64-darwin x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES bootstrap-sass @@ -373,8 +468,8 @@ DEPENDENCIES capybara capybara-selenium capybara_minitest_spec - data_services_api (~> 1.3.3)! - execjs (< 2.8.0) + data_services_api! + execjs faraday faraday_middleware flamegraph @@ -385,33 +480,33 @@ DEPENDENCIES jquery-rails jquery-ui-rails json_expressions - json_rails_logger (~> 1.0.0)! - libv8-node (>= 16.10.0.0) - lr_common_styles (~> 2.0)! + json_rails_logger! + libv8-node + lr_common_styles! memory_profiler minitest-rails minitest-reporters minitest-spec-rails minitest-vcr mocha - prometheus-client (~> 4.0) + prometheus-client puma puma-metrics - rails (< 6.0.0) + rails rb-readline rubocop rubocop-rails - rubygems-update (~> 3.4, >= 3.4.22) + rubygems-update sass-rails sdoc - sentry-rails (~> 5.2) + sentry-rails simplecov stackprof - uglifier (>= 1.3.0) + uglifier vcr webdrivers webmock yajl-ruby BUNDLED WITH - 2.4.4 + 2.5.20 diff --git a/Makefile b/Makefile index 1a55bcb..e93a082 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ .PHONY: assets auth check clean image lint local publish realclean run tag test vars ACCOUNT?=$(shell aws sts get-caller-identity | jq -r .Account) -ALPINE_VERSION?=3.16 +ALPINE_VERSION?=3.20 AWS_REGION?=eu-west-1 BUNDLER_VERSION?=$(shell tail -1 Gemfile.lock | tr -d ' ') -ECR?=${ACCOUNT}.dkr.ecr.eu-west-1.amazonaws.com +ECR?=${ACCOUNT}.dkr.ecr.${AWS_REGION}.amazonaws.com GPR_OWNER?=epimorphics NAME?=$(shell awk -F: '$$1=="name" {print $$2}' deployment.yaml | sed -e 's/[[:blank:]]//g') PAT?=$(shell read -p 'Github access token:' TOKEN; echo $$TOKEN) diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js new file mode 100644 index 0000000..b16e53d --- /dev/null +++ b/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 6d4d1e2..2e77cd6 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -15,3 +15,11 @@ //= require bootstrap //= require lr_common_styles/application //= require_tree . + +//= link favicon/apple-touch-icon.png +//= link favicon/favicon-32x32.png +//= link favicon/favicon-16x16.png +//= link favicon/manifest.json +//= link favicon/safari-pinned-tab.svg +//= link favicon/favicon.ico +//= link favicon/browserconfig.xml diff --git a/app/assets/stylesheets/ppd.scss b/app/assets/stylesheets/ppd.scss index 82e7858..3c1ae3f 100644 --- a/app/assets/stylesheets/ppd.scss +++ b/app/assets/stylesheets/ppd.scss @@ -7,6 +7,7 @@ .form-control { border: 1px solid #646464; + border-radius: 4px !important; } .control-legend { @@ -167,7 +168,7 @@ } .transaction-category { - background-color: lighten( $lr-logo-grey, 20% ); + background-color: lighten( #a7a5a6, 20% ); padding: 3px; border-radius: 3px; } diff --git a/public/assets/html5shiv.js b/public/assets/html5shiv.js deleted file mode 100644 index 072b9f3..0000000 --- a/public/assets/html5shiv.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=s.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=r[a[p]];return b||(b={},q++,a[p]=q,r[q]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():o.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||n.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function i(a){a||(a=b);var d=e(a);return!s.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||h(a,d),a}var j,k,l="3.7.1",m=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,o=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",q=0,r={};!function(){try{var a=b.createElement("a");a.innerHTML="",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var s={elements:m.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:l,shivCSS:m.shivCSS!==!1,supportsUnknownElements:k,shivMethods:m.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=s,i(b)}(this,document); diff --git a/public/assets/respond.min.js b/public/assets/respond.min.js deleted file mode 100644 index d5dc626..0000000 --- a/public/assets/respond.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! Respond.js v1.4.2: min/max-width media query polyfill - * Copyright 2014 Scott Jehl - * Licensed under MIT - * http://j.mp/respondjs */ - -!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b