From 6e324c16b204e0b416fed550ec5d70f27bb3a6bb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 00:07:43 +0000 Subject: [PATCH 01/38] fix(deps): update dependency sass to v1.78.0 (#2599) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d8202741b..6e4038a91 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.77.8", + "sass": "1.78.0", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 6c3b7ed0c..67bbfd678 100644 --- a/yarn.lock +++ b/yarn.lock @@ -649,10 +649,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.77.8: - version "1.77.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd" - integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ== +sass@1.78.0: + version "1.78.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841" + integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" From 9e74f531e3f08f84a6d31dfba2de790e07a5ada8 Mon Sep 17 00:00:00 2001 From: Dr Kim Foale Date: Thu, 5 Sep 2024 11:29:41 +0100 Subject: [PATCH 02/38] feat: add get endpoint to api --- config/routes.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/routes.rb b/config/routes.rb index a2230628c..8a73ec8b9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -95,6 +95,7 @@ get '/robots.txt' => 'pages#robots' + get '/api/v1/graphql', to: 'graphql#execute' post '/api/v1/graphql', to: 'graphql#execute' mount GraphiQL::Rails::Engine, at: '/graphiql', graphql_path: '/api/v1/graphql' if Rails.env.development? From 1e9c4f8aa03543907b7ac5d8fe2da6fb5c01de98 Mon Sep 17 00:00:00 2001 From: Dr Kim Foale Date: Fri, 6 Sep 2024 00:43:07 +0100 Subject: [PATCH 03/38] feat: Remove rollbar (#2597) --- Gemfile | 1 - Gemfile.lock | 2 -- app/jobs/calendar_importer_job.rb | 2 -- app/views/pages/privacy.html.erb | 2 +- config/initializers/rollbar.rb | 60 ------------------------------- 5 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 config/initializers/rollbar.rb diff --git a/Gemfile b/Gemfile index f69a72ccf..0aa045495 100644 --- a/Gemfile +++ b/Gemfile @@ -86,7 +86,6 @@ gem 'net-pop', require: false gem 'net-smtp', require: false gem 'observer' gem 'paper_trail' -gem 'rollbar' gem 'uk_postcode' group :development, :test do diff --git a/Gemfile.lock b/Gemfile.lock index 2ad2eed09..0120c438f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -386,7 +386,6 @@ GEM netrc (~> 0.8) rexml (3.2.9) strscan - rollbar (3.5.2) rubocop (1.62.0) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -558,7 +557,6 @@ DEPENDENCIES rails-controller-testing rails-erd rdoc - rollbar rubocop (= 1.62.0) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) diff --git a/app/jobs/calendar_importer_job.rb b/app/jobs/calendar_importer_job.rb index 2848f91af..eee07ea10 100644 --- a/app/jobs/calendar_importer_job.rb +++ b/app/jobs/calendar_importer_job.rb @@ -59,8 +59,6 @@ def report_error(e, message) # see note in Calendar#flag_error_import_job! for details calendar.reload calendar.flag_error_import_job! full_message - # puts full_message, backtrace if Rails.env.development? - # Rollbar.error full_message, { exception_type: e.class.name, backtrace: backtrace } end def report_bad_source_error(e) diff --git a/app/views/pages/privacy.html.erb b/app/views/pages/privacy.html.erb index 1eb2fbc1a..0f3193a13 100644 --- a/app/views/pages/privacy.html.erb +++ b/app/views/pages/privacy.html.erb @@ -72,7 +72,7 @@

Log Files

PlaceCal.org's hosting server follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this as a part of hosting services’ analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp. These are not linked to any information that is personally identifiable.

-

PlaceCal uses an error logging service called Rollbar. This service logs errors that may occur while you are browsing the site. These are not linked to any information that is personally identifiable. The purpose of these logs is to ensure the security and operation of the website is as expected and alert us when it is not.

+

PlaceCal uses an error logging service called [Appsignal](https://www.appsignal.com/). This service logs errors that may occur while you are browsing the site. These are not linked to any information that is personally identifiable. The purpose of these logs is to ensure the security and operation of the website is as expected and alert us when it is not.

Cookies, Web Beacons, Analytics Data and Third Party Privacy Policies

diff --git a/config/initializers/rollbar.rb b/config/initializers/rollbar.rb deleted file mode 100644 index e02425cd1..000000000 --- a/config/initializers/rollbar.rb +++ /dev/null @@ -1,60 +0,0 @@ -# frozen_string_literal: true - -Rollbar.configure do |config| - # Without configuration, Rollbar is enabled in all environments. - # To disable in specific environments, set config.enabled=false. - - config.access_token = ENV.fetch('ROLLBAR_ACCESS_TOKEN', nil) - - # Here we'll disable in 'test': - config.enabled = false if Rails.env.development? || Rails.env.test? - - # By default, Rollbar will try to call the `current_user` controller method - # to fetch the logged-in user object, and then call that object's `id`, - # `username`, and `email` methods to fetch those properties. To customize: - # config.person_method = "my_current_user" - # config.person_id_method = "my_id" - # config.person_username_method = "my_username" - # config.person_email_method = "my_email" - - # If you want to attach custom data to all exception and message reports, - # provide a lambda like the following. It should return a hash. - # config.custom_data_method = lambda { {:some_key => "some_value" } } - - # Add exception class names to the exception_level_filters hash to - # change the level that exception is reported at. Note that if an exception - # has already been reported and logged the level will need to be changed - # via the rollbar interface. - # Valid levels: 'critical', 'error', 'warning', 'info', 'debug', 'ignore' - # 'ignore' will cause the exception to not be reported at all. - # config.exception_level_filters.merge!('MyCriticalException' => 'critical') - # - # You can also specify a callable, which will be called with the exception instance. - # config.exception_level_filters.merge!('MyCriticalException' => lambda { |e| 'critical' }) - - # Enable asynchronous reporting (uses girl_friday or Threading if girl_friday - # is not installed) - # config.use_async = true - # Supply your own async handler: - # config.async_handler = Proc.new { |payload| - # Thread.new { Rollbar.process_from_async_handler(payload) } - # } - - # Enable asynchronous reporting (using sucker_punch) - # config.use_sucker_punch - - # Enable delayed reporting (using Sidekiq) - # config.use_sidekiq - # You can supply custom Sidekiq options: - # config.use_sidekiq 'queue' => 'default' - - # If you run your staging application instance in production environment then - # you'll want to override the environment reported by `Rails.env` with an - # environment variable like this: `ROLLBAR_ENV=staging`. This is a recommended - # setup for Heroku. See: - # https://devcenter.heroku.com/articles/deploying-to-a-custom-rails-environment - config.environment = ENV['ROLLBAR_ENV'].presence || Rails.env - - # https://docs.rollbar.com/docs/ruby#exception-level-filters - config.exception_level_filters.merge!('ActionController::RoutingError' => 'ignore') -end From a58db7f301b16fc57e0e09f5e796dfa2d6e13810 Mon Sep 17 00:00:00 2001 From: Dr Kim Foale Date: Sat, 7 Sep 2024 11:44:07 +0100 Subject: [PATCH 04/38] docs: Update release process (#2592) --- RELEASING.md | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 564532cf8..eb75299b4 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,33 +1,34 @@ # Releasing PlaceCal -## 1. Review the [draft release](https://github.com/geeksforsocialchange/PlaceCal/releases) +## 1. Validate changes since the [last release](https://github.com/geeksforsocialchange/PlaceCal/releases) -Every pull request gets added to the latest draft release automatically by robots. +Every pull request gets added to the latest draft release automatically. Validate them on the staging server before continuing. -Go through each one and test any related tickets are truly fixed on the staging site and the new behaviour works as described. If there are any issues, make a call as to whether they need resolving before the release can happen or not. If they're not blocking issues, reopen the tickets or open new tickets for them instead and continue with the release. +1. Validate that each pull request in the draft release does what it's meant to: + 1. If it's a bug fix, check the bug linked in the PR is fixed on the [staging server](https://placecal-staging.org/). If it is, add a screenshot in a comment on the bug's issue ticket so the original reporter gets notified a fix is on the way. + 2. If it's a new feature, make a screenshot or video of the feature working on the staging server and add it as a comment in the pull release. +2. In both cases, open new issues as needed if these don't resolve the issue. +3. Add the `verified` label to resolved issues if you're happy the fix is working +4. If you're happy to proceed, move to the next section of the guide. If not, merge PRs to address issues until you are. +5. Decide the next version number [by reviewing the current one](https://github.com/geeksforsocialchange/PlaceCal/releases) -Ensure that the node version specified in `package.json` matches the version specified in `.node-version`. +## 2. Deploy to production -## 2. Open a pull request +1. [Open a pull request from `main` into `production`](https://github.com/geeksforsocialchange/PlaceCal/compare/production...main) +2. Title it with the next version number. +3. Ensure you are doing a **merge commit based merge**. Do not squash or rebase, and wait for CI to pass. +4. **Do not update the branch using the automatically generated prompt**. Github will invite you to update the branch because `production` has additional merge commits that don't exist in `main`. It's no big deal if you forget, but this just creates an unneeded extra commit that needs merging back into `main` later. +5. Get someone to approve the PR, then merge into production. +6. Once the CI passes on the `production` branch, the patch is live. You can double check the git reference in the admin interface on the left sidebar to check this has happened. -If everything looks good to publish, open a pull request from `main` into `production` and give it a title reflecting the new version we're releasing. +## 3. Make a release -Github will invite you to update the branch because `production` has aditional merge commits that don't exist in `main`, you don't need to do this. +Assuming everything is working, create a new release. -## 3. Edit the release +1. [Edit the draft release](https://github.com/geeksforsocialchange/PlaceCal/releases) +2. Give it a version number and nice description of what's changed. Refer to previous releases to get an idea how to write these. +3. Match the release title to a tag with the same version number. +4. Press the "Publish" button on the release. +5. Email releases@lists.placecal.org with the patch notes. -Edit the draft release to reflect the reality of what we're releasing after reviewing for any unresolved issues. The main aim here is to avoid misleading our future selves with "Fixed X" items when we actually didn't. **Importantly, don't remove any PR links.** Even if the thing they related to didn't work, we want the reference there to know what's included. - -Set the release up to create a new tag of the head of the `main` branch on publish and set the release title to match. - -## 4. Merge the pull request - -Do a **merge commit based merge**. Do not squash or rebase! And wait for CI! - -## 5. Publish the release - -Press the "publish" button on the release. - -## 6. Check the release - -Check to make sure the release went to plan and everything works as expected. +Well done! You released a new version of PlaceCal. From ad5d1d3bd95650eaccb1c59fd1bcd7413d3d6947 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 23:12:30 +0000 Subject: [PATCH 05/38] chore(deps): update dependency rubocop-performance to v1.22.0 (#2610) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Gemfile b/Gemfile index 0aa045495..e15285066 100644 --- a/Gemfile +++ b/Gemfile @@ -106,7 +106,7 @@ group :development do gem 'rubocop', '1.62.0', require: false gem 'rubocop-graphql', '1.5.4', require: false gem 'rubocop-minitest', '0.35.1', require: false - gem 'rubocop-performance', '1.21.1', require: false + gem 'rubocop-performance', '1.22.0', require: false gem 'rubocop-rails', '2.24.1', require: false gem 'rubocop-rake', require: false gem 'spring' diff --git a/Gemfile.lock b/Gemfile.lock index 0120c438f..fe5e14c72 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -303,8 +303,8 @@ GEM paper_trail (15.1.0) activerecord (>= 6.1) request_store (~> 1.4) - parallel (1.24.0) - parser (3.3.4.1) + parallel (1.26.3) + parser (3.3.5.0) ast (~> 2.4.1) racc pg (1.4.3) @@ -316,7 +316,7 @@ GEM nio4r (~> 2.0) pundit (2.2.0) activesupport (>= 3.0.0) - racc (1.7.3) + racc (1.8.1) rack (2.2.9) rack-cors (1.1.1) rack (>= 2.0.0) @@ -384,8 +384,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.2.9) - strscan + rexml (3.3.7) rubocop (1.62.0) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -397,14 +396,14 @@ GEM rubocop-ast (>= 1.31.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.31.3) + rubocop-ast (1.32.3) parser (>= 3.3.1.0) rubocop-graphql (1.5.4) rubocop (>= 1.50, < 2) rubocop-minitest (0.35.1) rubocop (>= 1.61, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-performance (1.21.1) + rubocop-performance (1.22.0) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.24.1) @@ -451,7 +450,6 @@ GEM stimulus-rails (1.0.4) railties (>= 6.0.0) stringio (3.0.9) - strscan (3.1.0) thor (1.3.1) tilt (2.0.11) timecop (0.9.5) @@ -466,7 +464,7 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.8.2) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) vcr (6.1.0) view_component (3.9.0) activesupport (>= 5.2.0, < 8.0) @@ -560,7 +558,7 @@ DEPENDENCIES rubocop (= 1.62.0) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) - rubocop-performance (= 1.21.1) + rubocop-performance (= 1.22.0) rubocop-rails (= 2.24.1) rubocop-rake sass-rails (= 6.0.0) From 83c2944f775a7f00ec5d6bee74afb8239f879481 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 22:12:23 +0000 Subject: [PATCH 06/38] chore(deps): update dependency rubocop-performance to v1.22.1 (#2611) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index e15285066..7e40d2c8e 100644 --- a/Gemfile +++ b/Gemfile @@ -106,7 +106,7 @@ group :development do gem 'rubocop', '1.62.0', require: false gem 'rubocop-graphql', '1.5.4', require: false gem 'rubocop-minitest', '0.35.1', require: false - gem 'rubocop-performance', '1.22.0', require: false + gem 'rubocop-performance', '1.22.1', require: false gem 'rubocop-rails', '2.24.1', require: false gem 'rubocop-rake', require: false gem 'spring' diff --git a/Gemfile.lock b/Gemfile.lock index fe5e14c72..9d4912355 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -403,7 +403,7 @@ GEM rubocop-minitest (0.35.1) rubocop (>= 1.61, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-performance (1.22.0) + rubocop-performance (1.22.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.24.1) @@ -558,7 +558,7 @@ DEPENDENCIES rubocop (= 1.62.0) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) - rubocop-performance (= 1.22.0) + rubocop-performance (= 1.22.1) rubocop-rails (= 2.24.1) rubocop-rake sass-rails (= 6.0.0) From e6165e0fe5a7258bb417ff15c3343a379a48e504 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 01:33:47 +0000 Subject: [PATCH 07/38] fix(deps): update dependency sass to v1.79.1 (#2612) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 78 +++++++++++++--------------------------------------- 2 files changed, 20 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index 6e4038a91..4a0d8b17f 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.78.0", + "sass": "1.79.1", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 67bbfd678..a441a03a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -195,25 +195,12 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0: resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - bootstrap@4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz" integrity sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ== -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2: version "3.0.3" resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -225,20 +212,12 @@ chalk@5.3.0: resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.0.tgz#4d603963e5dd762dc5c7bb1cb5664e53a3002225" + integrity sha512-mxIojEAQcuEvT/lyXq+jf/3cO/KoA6z4CeNDGGevTybECPOMFCnQy3OPahluUkbqgPNGw5Bi78UC7Po6Lhy+NA== + dependencies: + readdirp "^4.0.1" cli-cursor@^4.0.0: version "4.0.0" @@ -388,17 +367,12 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - get-stream@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -420,13 +394,6 @@ immutable@^4.0.0: resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz" integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg== -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" @@ -437,7 +404,7 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== -is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -556,11 +523,6 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - npm-run-path@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz" @@ -592,7 +554,7 @@ path-key@^4.0.0: resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -617,12 +579,10 @@ queue-microtask@^1.2.2: resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" +readdirp@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.1.tgz#b2fe35f8dca63183cd3b86883ecc8f720ea96ae6" + integrity sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw== restore-cursor@^4.0.0: version "4.0.0" @@ -649,12 +609,12 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.78.0: - version "1.78.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841" - integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ== +sass@1.79.1: + version "1.79.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.1.tgz#0c572e8f09cc4095c27077567f78dbb9b3dceeb2" + integrity sha512-+mA7svoNKeL0DiJqZGeR/ZGUu8he4I8o3jyUcOFyo4eBJrwNgIMmAEwCMo/N2Y3wdjOBcRzoNxZIOtrtMX8EXg== dependencies: - chokidar ">=3.0.0 <4.0.0" + chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" From f8c4ec0a882cf2ab1a74cca4f46ee55ea6d728f7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 00:35:04 +0000 Subject: [PATCH 08/38] fix(deps): update dependency sass to v1.79.2 (#2615) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4a0d8b17f..16036759f 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.79.1", + "sass": "1.79.2", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index a441a03a5..56a47d9ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -609,10 +609,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.79.1: - version "1.79.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.1.tgz#0c572e8f09cc4095c27077567f78dbb9b3dceeb2" - integrity sha512-+mA7svoNKeL0DiJqZGeR/ZGUu8he4I8o3jyUcOFyo4eBJrwNgIMmAEwCMo/N2Y3wdjOBcRzoNxZIOtrtMX8EXg== +sass@1.79.2: + version "1.79.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.2.tgz#e0ee2877eaadaf17b4086fd15783e625bb77447e" + integrity sha512-YmT1aoF1MwHsZEu/eXhbAJNsPGAhNP4UixW9ckEwWCvPcVdVF0/C104OGDVEqtoctKq0N+wM20O/rj+sSPsWeg== dependencies: chokidar "^4.0.0" immutable "^4.0.0" From 1ebf19137872743f580017e50f9d207c84c400c4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 19:52:57 +0000 Subject: [PATCH 09/38] chore(deps): update dependency puma to v5.6.9 [security] (#2616) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9d4912355..b9a03c26c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -312,7 +312,7 @@ GEM psych (4.0.6) stringio public_suffix (4.0.7) - puma (5.6.8) + puma (5.6.9) nio4r (~> 2.0) pundit (2.2.0) activesupport (>= 3.0.0) From 8210063d65fc834372971a3c6d893aec2e1b5303 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 21:53:00 +0000 Subject: [PATCH 10/38] fix(deps): update dependency sass to v1.79.3 (#2617) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 16036759f..2a7a22d7c 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.79.2", + "sass": "1.79.3", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 56a47d9ff..9ee56a9f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -609,10 +609,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.79.2: - version "1.79.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.2.tgz#e0ee2877eaadaf17b4086fd15783e625bb77447e" - integrity sha512-YmT1aoF1MwHsZEu/eXhbAJNsPGAhNP4UixW9ckEwWCvPcVdVF0/C104OGDVEqtoctKq0N+wM20O/rj+sSPsWeg== +sass@1.79.3: + version "1.79.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.3.tgz#7811b000eb68195fe51dea89177e73e7ef7f546f" + integrity sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA== dependencies: chokidar "^4.0.0" immutable "^4.0.0" From cb4fe2ad0d7c2d61c8d16040ec86c26620540eec Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Sep 2024 04:40:10 +0000 Subject: [PATCH 11/38] fix(deps): update dependency sass to v1.79.4 (#2620) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2a7a22d7c..6619b505d 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.79.3", + "sass": "1.79.4", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 9ee56a9f6..a8d59049f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -609,10 +609,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.3.tgz#7811b000eb68195fe51dea89177e73e7ef7f546f" - integrity sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA== +sass@1.79.4: + version "1.79.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.4.tgz#f9c45af35fbeb53d2c386850ec842098d9935267" + integrity sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg== dependencies: chokidar "^4.0.0" immutable "^4.0.0" From 455f03c038694d18fa37cf17c36855b88f87286c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 01:35:40 +0000 Subject: [PATCH 12/38] fix(deps): update dependency sass to v1.79.5 (#2622) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 114 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 109 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 6619b505d..083a0f689 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.79.4", + "sass": "1.79.5", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index a8d59049f..833d06021 100644 --- a/yarn.lock +++ b/yarn.lock @@ -168,6 +168,89 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@parcel/watcher-android-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" + integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== + +"@parcel/watcher-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" + integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== + +"@parcel/watcher-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" + integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== + +"@parcel/watcher-freebsd-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" + integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== + +"@parcel/watcher-linux-arm-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" + integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== + +"@parcel/watcher-linux-arm64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" + integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== + +"@parcel/watcher-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" + integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== + +"@parcel/watcher-linux-x64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" + integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== + +"@parcel/watcher-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" + integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== + +"@parcel/watcher-win32-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" + integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== + +"@parcel/watcher-win32-ia32@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" + integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== + +"@parcel/watcher@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + "@rails/actioncable@^7.0": version "7.0.4" resolved "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.0.4.tgz" @@ -200,7 +283,7 @@ bootstrap@4.6.2: resolved "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz" integrity sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ== -braces@^3.0.2: +braces@^3.0.2, braces@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -275,6 +358,11 @@ debug@4.3.4: dependencies: ms "2.1.2" +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" @@ -404,7 +492,7 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== -is-glob@^4.0.1: +is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -508,6 +596,14 @@ micromatch@4.0.5, micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" @@ -523,6 +619,11 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + npm-run-path@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz" @@ -609,11 +710,12 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.79.4: - version "1.79.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.4.tgz#f9c45af35fbeb53d2c386850ec842098d9935267" - integrity sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg== +sass@1.79.5: + version "1.79.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.5.tgz#646c627601cd5f84c64f7b1485b9292a313efae4" + integrity sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g== dependencies: + "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" From 8ba4859c2d50a058a3ea7cbbb50ffc33b66fff3f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 01:31:58 +0000 Subject: [PATCH 13/38] fix(deps): update dependency @rails/ujs to v6.1.709 (#2625) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 083a0f689..e16076570 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@hotwired/stimulus": "3.2.2", "@hotwired/turbo-rails": "7.3.0", "@nathanvda/cocoon": "1.2.14", - "@rails/ujs": "6.1.7", + "@rails/ujs": "6.1.709", "bootstrap": "4.6.2", "datatables.net-bs4": "1.13.11", "esbuild": "0.23.1", diff --git a/yarn.lock b/yarn.lock index 833d06021..2ab0cde8b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -256,10 +256,10 @@ resolved "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.0.4.tgz" integrity sha512-tz4oM+Zn9CYsvtyicsa/AwzKZKL+ITHWkhiu7x+xF77clh2b4Rm+s6xnOgY/sGDWoFWZmtKsE95hxBPkgQQNnQ== -"@rails/ujs@6.1.7": - version "6.1.7" - resolved "https://registry.npmjs.org/@rails/ujs/-/ujs-6.1.7.tgz" - integrity sha512-0e7WQ4LE/+LEfW2zfAw9ppsB6A8RmxbdAUPAF++UT80epY+7emuQDkKXmaK0a9lp6An50RvzezI0cIQjp1A58w== +"@rails/ujs@6.1.709": + version "6.1.709" + resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.709.tgz#08a09c83b389f1db07bdd67dc7d997807e4732e7" + integrity sha512-Hj7Zbxa3a8dtnia6ZFcva9zxgBaDaHV196GcXtsNJJ6uinvmUX+7kGcWGnvnrUwaLdDvoRo+MG2aGPlet1zQBw== ansi-escapes@^5.0.0: version "5.0.0" From cd8ab6b76ab8e82322f0b26e90408b59aad51f4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 03:06:40 +0000 Subject: [PATCH 14/38] fix(deps): update dependency sass to v1.80.0 (#2626) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e16076570..5fdcbbb91 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.79.5", + "sass": "1.80.0", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 2ab0cde8b..7ab68e35d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.79.5: - version "1.79.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.5.tgz#646c627601cd5f84c64f7b1485b9292a313efae4" - integrity sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g== +sass@1.80.0: + version "1.80.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.0.tgz#58430ab879c46f5e1992a5d114f1dd7163c62826" + integrity sha512-9Yzb4qTUJ//eTKZQzxAtNsezOvfQlB+7hAJjj5wFqKZb2c2xboeCYnKh2Gzyp6sdyiNe9FUgn8xgc1ffXHmM6g== dependencies: "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" From ea43f375c2c2b2e6a8cbf7a1069cc1b143e037c0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 22:17:25 +0000 Subject: [PATCH 15/38] fix(deps): update dependency sass to v1.80.2 (#2628) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5fdcbbb91..d7f885c84 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.0", + "sass": "1.80.2", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 7ab68e35d..6cbb678e8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.0: - version "1.80.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.0.tgz#58430ab879c46f5e1992a5d114f1dd7163c62826" - integrity sha512-9Yzb4qTUJ//eTKZQzxAtNsezOvfQlB+7hAJjj5wFqKZb2c2xboeCYnKh2Gzyp6sdyiNe9FUgn8xgc1ffXHmM6g== +sass@1.80.2: + version "1.80.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.2.tgz#9d13d85a4f81bb17e09d1dc3e1c0944f7fd7315e" + integrity sha512-9wXY8cGBlUmoUoT+vwOZOFCiS+naiWVjqlreN9ar9PudXbGwlMTFwCR5K9kB4dFumJ6ib98wZyAObJKsWf1nAA== dependencies: "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" From e4d45e671b66bbd2c1c2ba2d8097cd532909f876 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 00:34:54 +0000 Subject: [PATCH 16/38] fix(deps): update dependency sass to v1.80.3 (#2629) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d7f885c84..2e7cd5ff8 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.2", + "sass": "1.80.3", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 6cbb678e8..42305ab53 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.2: - version "1.80.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.2.tgz#9d13d85a4f81bb17e09d1dc3e1c0944f7fd7315e" - integrity sha512-9wXY8cGBlUmoUoT+vwOZOFCiS+naiWVjqlreN9ar9PudXbGwlMTFwCR5K9kB4dFumJ6ib98wZyAObJKsWf1nAA== +sass@1.80.3: + version "1.80.3" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.3.tgz#3f63dd527647d2b3de35f36acb971bda80517423" + integrity sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA== dependencies: "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" From e69c0f3ef85e94e5e9740091c80766a0819d7c61 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 03:47:02 +0000 Subject: [PATCH 17/38] fix(deps): update dependency esbuild to v0.24.0 --- package.json | 2 +- yarn.lock | 294 +++++++++++++++++++++++++-------------------------- 2 files changed, 148 insertions(+), 148 deletions(-) diff --git a/package.json b/package.json index 2e7cd5ff8..bd269e97e 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@rails/ujs": "6.1.709", "bootstrap": "4.6.2", "datatables.net-bs4": "1.13.11", - "esbuild": "0.23.1", + "esbuild": "0.24.0", "esbuild-rails": "1.0.7", "jquery": "3.7.1", "leaflet": "1.9.4", diff --git a/yarn.lock b/yarn.lock index 42305ab53..e1796420f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,125 +2,125 @@ # yarn lockfile v1 -"@esbuild/aix-ppc64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz#51299374de171dbd80bb7d838e1cfce9af36f353" - integrity sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ== - -"@esbuild/android-arm64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz#58565291a1fe548638adb9c584237449e5e14018" - integrity sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw== - -"@esbuild/android-arm@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.23.1.tgz#5eb8c652d4c82a2421e3395b808e6d9c42c862ee" - integrity sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ== - -"@esbuild/android-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.23.1.tgz#ae19d665d2f06f0f48a6ac9a224b3f672e65d517" - integrity sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg== - -"@esbuild/darwin-arm64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz#05b17f91a87e557b468a9c75e9d85ab10c121b16" - integrity sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q== - -"@esbuild/darwin-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz#c58353b982f4e04f0d022284b8ba2733f5ff0931" - integrity sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw== - -"@esbuild/freebsd-arm64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz#f9220dc65f80f03635e1ef96cfad5da1f446f3bc" - integrity sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA== - -"@esbuild/freebsd-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz#69bd8511fa013b59f0226d1609ac43f7ce489730" - integrity sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g== - -"@esbuild/linux-arm64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz#8050af6d51ddb388c75653ef9871f5ccd8f12383" - integrity sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g== - -"@esbuild/linux-arm@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz#ecaabd1c23b701070484990db9a82f382f99e771" - integrity sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ== - -"@esbuild/linux-ia32@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz#3ed2273214178109741c09bd0687098a0243b333" - integrity sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ== - -"@esbuild/linux-loong64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz#a0fdf440b5485c81b0fbb316b08933d217f5d3ac" - integrity sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw== - -"@esbuild/linux-mips64el@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz#e11a2806346db8375b18f5e104c5a9d4e81807f6" - integrity sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q== - -"@esbuild/linux-ppc64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz#06a2744c5eaf562b1a90937855b4d6cf7c75ec96" - integrity sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw== - -"@esbuild/linux-riscv64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz#65b46a2892fc0d1af4ba342af3fe0fa4a8fe08e7" - integrity sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA== - -"@esbuild/linux-s390x@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz#e71ea18c70c3f604e241d16e4e5ab193a9785d6f" - integrity sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw== - -"@esbuild/linux-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz#d47f97391e80690d4dfe811a2e7d6927ad9eed24" - integrity sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ== - -"@esbuild/netbsd-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz#44e743c9778d57a8ace4b72f3c6b839a3b74a653" - integrity sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA== - -"@esbuild/openbsd-arm64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz#05c5a1faf67b9881834758c69f3e51b7dee015d7" - integrity sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q== - -"@esbuild/openbsd-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz#2e58ae511bacf67d19f9f2dcd9e8c5a93f00c273" - integrity sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA== - -"@esbuild/sunos-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz#adb022b959d18d3389ac70769cef5a03d3abd403" - integrity sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA== - -"@esbuild/win32-arm64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz#84906f50c212b72ec360f48461d43202f4c8b9a2" - integrity sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A== - -"@esbuild/win32-ia32@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz#5e3eacc515820ff729e90d0cb463183128e82fac" - integrity sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ== - -"@esbuild/win32-x64@0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz#81fd50d11e2c32b2d6241470e3185b70c7b30699" - integrity sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg== +"@esbuild/aix-ppc64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz#b57697945b50e99007b4c2521507dc613d4a648c" + integrity sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw== + +"@esbuild/android-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz#1add7e0af67acefd556e407f8497e81fddad79c0" + integrity sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w== + +"@esbuild/android-arm@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.0.tgz#ab7263045fa8e090833a8e3c393b60d59a789810" + integrity sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew== + +"@esbuild/android-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.0.tgz#e8f8b196cfdfdd5aeaebbdb0110983460440e705" + integrity sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ== + +"@esbuild/darwin-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz#2d0d9414f2acbffd2d86e98253914fca603a53dd" + integrity sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw== + +"@esbuild/darwin-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz#33087aab31a1eb64c89daf3d2cf8ce1775656107" + integrity sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA== + +"@esbuild/freebsd-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz#bb76e5ea9e97fa3c753472f19421075d3a33e8a7" + integrity sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA== + +"@esbuild/freebsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz#e0e2ce9249fdf6ee29e5dc3d420c7007fa579b93" + integrity sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ== + +"@esbuild/linux-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz#d1b2aa58085f73ecf45533c07c82d81235388e75" + integrity sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g== + +"@esbuild/linux-arm@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz#8e4915df8ea3e12b690a057e77a47b1d5935ef6d" + integrity sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw== + +"@esbuild/linux-ia32@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz#8200b1110666c39ab316572324b7af63d82013fb" + integrity sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA== + +"@esbuild/linux-loong64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz#6ff0c99cf647504df321d0640f0d32e557da745c" + integrity sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g== + +"@esbuild/linux-mips64el@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz#3f720ccd4d59bfeb4c2ce276a46b77ad380fa1f3" + integrity sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA== + +"@esbuild/linux-ppc64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz#9d6b188b15c25afd2e213474bf5f31e42e3aa09e" + integrity sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ== + +"@esbuild/linux-riscv64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz#f989fdc9752dfda286c9cd87c46248e4dfecbc25" + integrity sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw== + +"@esbuild/linux-s390x@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz#29ebf87e4132ea659c1489fce63cd8509d1c7319" + integrity sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g== + +"@esbuild/linux-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz#4af48c5c0479569b1f359ffbce22d15f261c0cef" + integrity sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA== + +"@esbuild/netbsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz#1ae73d23cc044a0ebd4f198334416fb26c31366c" + integrity sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg== + +"@esbuild/openbsd-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz#5d904a4f5158c89859fd902c427f96d6a9e632e2" + integrity sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg== + +"@esbuild/openbsd-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz#4c8aa88c49187c601bae2971e71c6dc5e0ad1cdf" + integrity sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q== + +"@esbuild/sunos-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz#8ddc35a0ea38575fa44eda30a5ee01ae2fa54dd4" + integrity sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA== + +"@esbuild/win32-arm64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz#6e79c8543f282c4539db684a207ae0e174a9007b" + integrity sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA== + +"@esbuild/win32-ia32@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz#057af345da256b7192d18b676a02e95d0fa39103" + integrity sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw== + +"@esbuild/win32-x64@0.24.0": + version "0.24.0" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz#168ab1c7e1c318b922637fad8f339d48b01e1244" + integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA== "@hotwired/stimulus@3.2.2": version "3.2.2" @@ -380,35 +380,35 @@ esbuild-rails@1.0.7: dependencies: fast-glob "^3.2.12" -esbuild@0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.23.1.tgz#40fdc3f9265ec0beae6f59824ade1bd3d3d2dab8" - integrity sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg== +esbuild@0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.0.tgz#f2d470596885fcb2e91c21eb3da3b3c89c0b55e7" + integrity sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ== optionalDependencies: - "@esbuild/aix-ppc64" "0.23.1" - "@esbuild/android-arm" "0.23.1" - "@esbuild/android-arm64" "0.23.1" - "@esbuild/android-x64" "0.23.1" - "@esbuild/darwin-arm64" "0.23.1" - "@esbuild/darwin-x64" "0.23.1" - "@esbuild/freebsd-arm64" "0.23.1" - "@esbuild/freebsd-x64" "0.23.1" - "@esbuild/linux-arm" "0.23.1" - "@esbuild/linux-arm64" "0.23.1" - "@esbuild/linux-ia32" "0.23.1" - "@esbuild/linux-loong64" "0.23.1" - "@esbuild/linux-mips64el" "0.23.1" - "@esbuild/linux-ppc64" "0.23.1" - "@esbuild/linux-riscv64" "0.23.1" - "@esbuild/linux-s390x" "0.23.1" - "@esbuild/linux-x64" "0.23.1" - "@esbuild/netbsd-x64" "0.23.1" - "@esbuild/openbsd-arm64" "0.23.1" - "@esbuild/openbsd-x64" "0.23.1" - "@esbuild/sunos-x64" "0.23.1" - "@esbuild/win32-arm64" "0.23.1" - "@esbuild/win32-ia32" "0.23.1" - "@esbuild/win32-x64" "0.23.1" + "@esbuild/aix-ppc64" "0.24.0" + "@esbuild/android-arm" "0.24.0" + "@esbuild/android-arm64" "0.24.0" + "@esbuild/android-x64" "0.24.0" + "@esbuild/darwin-arm64" "0.24.0" + "@esbuild/darwin-x64" "0.24.0" + "@esbuild/freebsd-arm64" "0.24.0" + "@esbuild/freebsd-x64" "0.24.0" + "@esbuild/linux-arm" "0.24.0" + "@esbuild/linux-arm64" "0.24.0" + "@esbuild/linux-ia32" "0.24.0" + "@esbuild/linux-loong64" "0.24.0" + "@esbuild/linux-mips64el" "0.24.0" + "@esbuild/linux-ppc64" "0.24.0" + "@esbuild/linux-riscv64" "0.24.0" + "@esbuild/linux-s390x" "0.24.0" + "@esbuild/linux-x64" "0.24.0" + "@esbuild/netbsd-x64" "0.24.0" + "@esbuild/openbsd-arm64" "0.24.0" + "@esbuild/openbsd-x64" "0.24.0" + "@esbuild/sunos-x64" "0.24.0" + "@esbuild/win32-arm64" "0.24.0" + "@esbuild/win32-ia32" "0.24.0" + "@esbuild/win32-x64" "0.24.0" eventemitter3@^5.0.1: version "5.0.1" From cdba08e50cd8e2c6b9de16638317a6cc60e8c92f Mon Sep 17 00:00:00 2001 From: Leni Kadali <52788034+lenikadali@users.noreply.github.com> Date: Wed, 23 Oct 2024 18:15:06 +0300 Subject: [PATCH 18/38] Add pull request template for PlaceCal (#2630) --- .github/PULL_REQUEST_TEMPLATE.md | 53 ++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..18ee399e7 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,53 @@ + + + +Resolves # + +## Description + + + +### Motivation and Context + + + + + + +### Type of change + + + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] This change requires a change to the deployment process +- [ ] This change requires a documentation update +- [ ] Documentation update + +### How Has This Been Tested? + + + + + +### How Will This Be Deployed? + + + + +### Screenshots + + From eedeeb76394e323ca9775ad75bc8d1ef917cfd22 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:30:09 +0000 Subject: [PATCH 19/38] fix(deps): update dependency sass to v1.80.4 (#2633) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bd269e97e..cfe40fa65 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.3", + "sass": "1.80.4", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index e1796420f..ab357ef0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.3: - version "1.80.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.3.tgz#3f63dd527647d2b3de35f36acb971bda80517423" - integrity sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA== +sass@1.80.4: + version "1.80.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.4.tgz#bc0418fd796cad2f1a1309d8b4d7fe44b7027de0" + integrity sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w== dependencies: "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" From 2f8cfc39685159de1c55ea0fa1dec4b53d811eeb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 04:11:35 +0000 Subject: [PATCH 20/38] fix(deps): update dependency @rails/ujs to v6.1.710 (#2632) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index cfe40fa65..7c23dbcdb 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@hotwired/stimulus": "3.2.2", "@hotwired/turbo-rails": "7.3.0", "@nathanvda/cocoon": "1.2.14", - "@rails/ujs": "6.1.709", + "@rails/ujs": "6.1.710", "bootstrap": "4.6.2", "datatables.net-bs4": "1.13.11", "esbuild": "0.24.0", diff --git a/yarn.lock b/yarn.lock index ab357ef0e..72d5b0a24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -256,10 +256,10 @@ resolved "https://registry.npmjs.org/@rails/actioncable/-/actioncable-7.0.4.tgz" integrity sha512-tz4oM+Zn9CYsvtyicsa/AwzKZKL+ITHWkhiu7x+xF77clh2b4Rm+s6xnOgY/sGDWoFWZmtKsE95hxBPkgQQNnQ== -"@rails/ujs@6.1.709": - version "6.1.709" - resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.709.tgz#08a09c83b389f1db07bdd67dc7d997807e4732e7" - integrity sha512-Hj7Zbxa3a8dtnia6ZFcva9zxgBaDaHV196GcXtsNJJ6uinvmUX+7kGcWGnvnrUwaLdDvoRo+MG2aGPlet1zQBw== +"@rails/ujs@6.1.710": + version "6.1.710" + resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.710.tgz#14cbf938c49985af51cca52d117f9c358ea4a579" + integrity sha512-NUS8nUkYHGSn/EDg3oJCkpMweSKeFxA4ef6pcnW2fJEZ7RcoWdJa1rr9vamUoqzNR+Ctd8ezsgBMAjxUahVB1w== ansi-escapes@^5.0.0: version "5.0.0" From 90ac1ed524f7e31302ea0fd54265814b8b64afdb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 01:00:40 +0000 Subject: [PATCH 21/38] fix(deps): update dependency sass to v1.80.5 (#2634) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7c23dbcdb..c56bc52e5 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.4", + "sass": "1.80.5", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 72d5b0a24..b64eec47c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.4: - version "1.80.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.4.tgz#bc0418fd796cad2f1a1309d8b4d7fe44b7027de0" - integrity sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w== +sass@1.80.5: + version "1.80.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.5.tgz#0ba965223d44df22497f2966b498cf5c453fae8f" + integrity sha512-TQd2aoQl/+zsxRMEDSxVdpPIqeq9UFc6pr7PzkugiTx3VYCFPUaa3P4RrBQsqok4PO200Vkz0vXQBNlg7W907g== dependencies: "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" From a59d0947bf93e666b331a3025ed6d3eb8b8c1990 Mon Sep 17 00:00:00 2001 From: Dr Kim Foale Date: Thu, 31 Oct 2024 22:39:33 +0000 Subject: [PATCH 22/38] docs: Update folder information (#2635) --- README.md | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/README.md b/README.md index 7d079e85d..db3e726af 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,101 @@ Previously this system used mountain view, and some of the components are still More info here: https://viewcomponent.org/guide/generators.html +### Folder structure + +Our project is showing it's age and migration across multiple Rails version. Here's the state of play at the moment - we are currently aiming to simplify this and remove deprecated files. + +``` +── app +│   ├── assets +│   │   ├── builds # Old javascript builds - possibly deprecated +│   │   ├── config # Unsure what this is - something PWA related? +│   │   ├── fonts +│   │   ├── images +│   │   ├── pdfs # Legacy PDFs from our early years (can be deleted) +│   │   └── stylesheets +│   ├── channels # Unused boilerplate - could be cut +│   ├── components # A mix of mountain_view and view_component components (the latter have the `_component` suffix). +│   ├── constraints # Directs to correct site based on subdomain +│   ├── controllers # Public app controllers +│   │   ├── admin # Admin area controllers +│   │   ├── concerns +│   │   └── users +│   ├── datatables # Admin area datatables +│   ├── graphql # API +│   ├── helpers +│   ├── javascript # This should be where all the js lives! +│   │   ├── controllers +│   │   └── src +│   ├── jobs # Importer logic - jobs are created by cron (`/lib/tasks`). There's a readme here with more info +│   ├── mailers # Email configuration +│   ├── models +│   ├── policies # Pundit rules for who can do and access what +│   ├── uploaders # CarrierWave rules for handling image and logo uploads +│   ├── validators # Postcode validator - should possibly live somewhere else +│   └── views +│   ├── admin # Admin area +│   ├── collections # Deprecated feature to create abritrary event collections, was previously used for our early winter festivals +│   ├── devise # Authentication +│   ├── events # Event indexes and show page +│   ├── join_mailer # Templates for creating accounts +│   ├── joins # "Join PlaceCal" form page +│   ├── layouts # Page templates +│   ├── moderation_mailer # Templates for when partners get moderated +│   ├── mountain_view # Deprecated - views for the mountain_view stylesheet page showing all the components +│   ├── news # News article templates - half implemented +│   ├── pages # Static pages mostly used on homepage. Some pages here are not linked anywhere currently +│   ├── partners # Partner indexes and show pages +│   ├── shared # Some shared elements - should probably be migrated to view_components +│   └── sites # Site homepages e.g. mysite.placecal.org +├── collections # API examples to be loaded with Bruno +├── config +│   ├── environments +│   ├── initializers +│   ├── locales +│   └── robots +├── db +│   ├── images # Some seed images - not been looked at for a while +│   │   ├── sites +│   │   └── supporters +│   ├── migrate +│   └── seeds # Seeds to make a test site - currently semi working +├── doc # Another directory that probably needs either deleting or reworking! +│   └── adr # Architectural decision records, used in the early stage of the project then dropped off +├── lib +│   ├── assets +│   ├── data # UK geography ward to district data used to create neighbourhood info +│   ├── tasks # Rake tasks that create ActiveJobs +│   └── templates +│   └── erb # Not sure what this is - some kind of template for rails scaffolds? +├── log +├── nginx.conf.d # Config files here get added to the nginx config by dokku +├── public +├── scripts +├── test +│   ├── components +│   ├── controllers +│   ├── factories +│   ├── fixtures +│   │   ├── files +│   │   └── vcr_cassettes # These record actual output from iCal/API endpoints so we can test against them +│   ├── helpers +│   ├── integration +│   │   ├── admin +│   │   └── graphql # API tests +│   ├── jobs +│   ├── mailers +│   │   └── previews +│   ├── models +│   ├── policies +│   ├── support +│   │   └── api +│   └── system # Capybara tests for things that need JavaScript +│   ├── admin +│   └── graphql +└── vendor # Currently empty - could potentially delete +``` + ## API API examples and test environment are provided using [Bruno](https://www.usebruno.com/). From 50003df8396e6bc2c205753bddc736afddb7cde4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 2 Nov 2024 02:06:15 +0000 Subject: [PATCH 23/38] fix(deps): update dependency sass to v1.80.6 (#2637) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c56bc52e5..793ae8691 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.5", + "sass": "1.80.6", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index b64eec47c..bd33bcfc9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,15 +710,16 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.5: - version "1.80.5" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.5.tgz#0ba965223d44df22497f2966b498cf5c453fae8f" - integrity sha512-TQd2aoQl/+zsxRMEDSxVdpPIqeq9UFc6pr7PzkugiTx3VYCFPUaa3P4RrBQsqok4PO200Vkz0vXQBNlg7W907g== +sass@1.80.6: + version "1.80.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.6.tgz#5d0aa55763984effe41e40019c9571ab73e6851f" + integrity sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg== dependencies: - "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" select2@4.0.13: version "4.0.13" From 015073e775456bb7c580f29944421d559910ab6b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 3 Nov 2024 14:02:49 +0000 Subject: [PATCH 24/38] chore(deps): update dokku/github-action action to v1.6.1 (#2609) --- .github/workflows/test-and-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-and-deploy.yml b/.github/workflows/test-and-deploy.yml index ddf9d8a33..a13fb618a 100644 --- a/.github/workflows/test-and-deploy.yml +++ b/.github/workflows/test-and-deploy.yml @@ -61,7 +61,7 @@ jobs: - if: github.ref == 'refs/heads/main' name: Deploy to placecal-staging.org - uses: dokku/github-action@0c02c44f990eac0ed2b3ee90a9b3ca0a38d15349 # v1.5.0 + uses: dokku/github-action@036bf9c07f1b40707a16201bc7a349074c3ec554 # v1.6.1 with: branch: main ci_branch_name: main @@ -70,7 +70,7 @@ jobs: - if: github.ref == 'refs/heads/production' name: Deploy to placecal.org - uses: dokku/github-action@0c02c44f990eac0ed2b3ee90a9b3ca0a38d15349 # v1.5.0 + uses: dokku/github-action@036bf9c07f1b40707a16201bc7a349074c3ec554 # v1.6.1 with: branch: main ci_branch_name: production From c572fc12abf9b8bad2fab961bb5b9860630fa02e Mon Sep 17 00:00:00 2001 From: Dr Kim Foale Date: Tue, 5 Nov 2024 15:09:42 +0000 Subject: [PATCH 25/38] chore: Update rubocop and apply new cops (#2639) --- Gemfile | 4 +-- Gemfile.lock | 32 ++++++++++--------- app/graphql/types/event_queries.rb | 4 +-- app/helpers/events_helper.rb | 2 +- .../events/linked_data_event.rb | 2 +- app/jobs/calendar_importer/parsers/ld_json.rb | 2 +- .../parsers/manchester_uni.rb | 8 ++--- app/models/calendar.rb | 2 +- app/models/event.rb | 11 +++---- .../application_controller_renderer.rb | 1 + config/initializers/backtrace_silencers.rb | 1 + .../initializers/content_security_policy.rb | 1 + .../new_framework_defaults_6_0.rb | 1 + test/integration/robots_integration_test.rb | 4 +-- test/system/collections_test.rb | 1 + 15 files changed, 39 insertions(+), 37 deletions(-) diff --git a/Gemfile b/Gemfile index 7e40d2c8e..a11b72121 100644 --- a/Gemfile +++ b/Gemfile @@ -103,11 +103,11 @@ group :development do gem 'letter_opener' gem 'rails-erd' gem 'rdoc' - gem 'rubocop', '1.62.0', require: false + gem 'rubocop', '1.68.0', require: false gem 'rubocop-graphql', '1.5.4', require: false gem 'rubocop-minitest', '0.35.1', require: false gem 'rubocop-performance', '1.22.1', require: false - gem 'rubocop-rails', '2.24.1', require: false + gem 'rubocop-rails', '2.27.0', require: false gem 'rubocop-rake', require: false gem 'spring' # gem 'spring-watcher-listen' diff --git a/Gemfile.lock b/Gemfile.lock index b9a03c26c..ca086963b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -135,7 +135,7 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.4) connection_pool (2.4.1) crack (0.4.5) rexml @@ -219,8 +219,8 @@ GEM invisible_captcha (2.2.0) rails (>= 5.2) io-console (0.7.2) - irb (1.11.2) - rdoc + irb (1.14.1) + rdoc (>= 4.0.0) reline (>= 0.4.2) jquery-rails (4.5.0) rails-dom-testing (>= 1, < 3) @@ -228,7 +228,7 @@ GEM thor (>= 0.14, < 2.0) jsbundling-rails (1.0.2) railties (>= 6.0.0) - json (2.7.2) + json (2.7.5) json-canonicalization (0.3.0) json-ld (3.2.3) htmlentities (~> 4.3) @@ -253,8 +253,11 @@ GEM loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.7.1) + mail (2.8.1) mini_mime (>= 0.1.1) + net-imap + net-pop + net-smtp marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) @@ -265,9 +268,9 @@ GEM mini_mime (1.1.5) mini_portile2 (2.8.7) minitest (5.22.3) - minitest-rails (7.1.0) + minitest-rails (7.1.1) minitest (~> 5.20) - railties (~> 7.1.0) + railties (>= 7.1.0, < 8.0.0) minitest-rails-capybara (0.0.2) capybara minitest-rails @@ -385,15 +388,14 @@ GEM mime-types (>= 1.16, < 4.0) netrc (~> 0.8) rexml (3.3.7) - rubocop (1.62.0) + rubocop (1.68.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) + regexp_parser (>= 2.4, < 3.0) + rubocop-ast (>= 1.32.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.32.3) @@ -406,10 +408,10 @@ GEM rubocop-performance (1.22.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.24.1) + rubocop-rails (2.27.0) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.33.0, < 2.0) + rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rake (0.6.0) rubocop (~> 1.0) @@ -555,11 +557,11 @@ DEPENDENCIES rails-controller-testing rails-erd rdoc - rubocop (= 1.62.0) + rubocop (= 1.68.0) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) rubocop-performance (= 1.22.1) - rubocop-rails (= 2.24.1) + rubocop-rails (= 2.27.0) rubocop-rake sass-rails (= 6.0.0) select2-rails diff --git a/app/graphql/types/event_queries.rb b/app/graphql/types/event_queries.rb index ce5f22d13..720489f5b 100644 --- a/app/graphql/types/event_queries.rb +++ b/app/graphql/types/event_queries.rb @@ -61,7 +61,7 @@ def events_by_filter(**args) end end - query = query.where('dtstart >= ?', from_date) + query = query.where(dtstart: from_date..) if args[:to_date].present? if args[:to_date] =~ /^\s*(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})/ @@ -80,7 +80,7 @@ def events_by_filter(**args) raise GraphQL::ExecutionError, "toDate not in 'YYYY-MM-DD HH:MM' format" end - query = query.where('dtstart < ?', to_date) + query = query.where(dtstart: ...to_date) end if args[:neighbourhood_id].present? diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index d79663fc3..f6220e320 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -45,7 +45,7 @@ def next_url(next_event) period: @period, sort: @sort, repeating: @repeating - }.keep_if { |_key, value| value.present? } + }.compact_blank! events_by_date_path(opts) end diff --git a/app/jobs/calendar_importer/events/linked_data_event.rb b/app/jobs/calendar_importer/events/linked_data_event.rb index 174373f52..942afaa31 100644 --- a/app/jobs/calendar_importer/events/linked_data_event.rb +++ b/app/jobs/calendar_importer/events/linked_data_event.rb @@ -5,7 +5,7 @@ class LinkedDataEvent < Base attr_reader :uid, :start_time, :end_time, :summary, :description, :location def initialize(data) - super data + super @url = data['url'] @description = data['description'] diff --git a/app/jobs/calendar_importer/parsers/ld_json.rb b/app/jobs/calendar_importer/parsers/ld_json.rb index 27567a8d2..b7c3e4c73 100644 --- a/app/jobs/calendar_importer/parsers/ld_json.rb +++ b/app/jobs/calendar_importer/parsers/ld_json.rb @@ -6,7 +6,7 @@ class LdJson < Base KEY = 'ld-json' def initialize(calendar, options = {}) - super calendar, options + super end DOMAINS = ['various'].freeze diff --git a/app/jobs/calendar_importer/parsers/manchester_uni.rb b/app/jobs/calendar_importer/parsers/manchester_uni.rb index 8c1f520ce..d8efb4255 100644 --- a/app/jobs/calendar_importer/parsers/manchester_uni.rb +++ b/app/jobs/calendar_importer/parsers/manchester_uni.rb @@ -15,13 +15,9 @@ def self.allowlist_pattern end def import_events_from(data) - events = [] - - data.xpath('//ns:event').each do |event| - events << CalendarImporter::Events::ManchesterUniEvent.new(event) + events = data.xpath('//ns:event').map do |event| + CalendarImporter::Events::ManchesterUniEvent.new(event) end - - events end end end diff --git a/app/models/calendar.rb b/app/models/calendar.rb index 46bf0144e..b1db1c774 100644 --- a/app/models/calendar.rb +++ b/app/models/calendar.rb @@ -83,7 +83,7 @@ def requires_default_location? # This uses PaperTrail to get historical records of the Event models, including deletes # It does this to show a "event added" / "event removed" thing def recent_activity - versions = PaperTrail::Version.with_item_keys('Event', event_ids).where('created_at >= ?', 2.weeks.ago) + versions = PaperTrail::Version.with_item_keys('Event', event_ids).where(created_at: 2.weeks.ago..) versions = versions.or(PaperTrail::Version.destroys .where("item_type = 'Event' AND object @> ? AND created_at >= ?", { calendar_id: id }.to_json, 2.weeks.ago)) diff --git a/app/models/event.rb b/app/models/event.rb index 43731cff5..5cec71e34 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -44,8 +44,7 @@ class Event < ApplicationRecord # Find by day onwards scope :future, lambda { |day| day_start = day.midnight # 2024-04-01 00:00:00 +0100 - where('dtstart >= ?', - day_start) + where(dtstart: day_start..) } # For the API eventFilter find by neighbourhood @@ -81,7 +80,7 @@ class Event < ApplicationRecord 'lower(addresses.postcode) in (:partner_postcodes))', partner_ids: partners.map(&:id), partner_names: partners.map { |p| p.name.downcase }, - partner_postcodes: partners.map(&:address).keep_if(&:present?).map { |a| a.postcode.downcase } + partner_postcodes: partners.map(&:address).compact_blank!.map { |a| a.postcode.downcase } ) else left_joins(:address) @@ -115,11 +114,11 @@ class Event < ApplicationRecord scope :one_off_events_only, -> { where(rrule: false) } scope :one_off_events_first, -> { order(rrule: :asc) } - scope :upcoming, -> { where('dtstart >= ?', DateTime.current.beginning_of_day) } - scope :past, -> { where('dtstart <= ?', DateTime.current.beginning_of_day) } + scope :upcoming, -> { where(dtstart: DateTime.current.beginning_of_day..) } + scope :past, -> { where(dtstart: ..DateTime.current.beginning_of_day) } # Global feed - scope :ical_feed, -> { where('dtstart >= ?', Time.now - 1.week).where('dtend < ?', Time.now + 1.month) } + scope :ical_feed, -> { where(dtstart: (Time.now - 1.week)..).where(dtend: ...(Time.now + 1.month)) } def repeat_frequency rrule[0]['table']['frequency'].titleize if rrule diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb index f4556db39..6d56e4390 100644 --- a/config/initializers/application_controller_renderer.rb +++ b/config/initializers/application_controller_renderer.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # ActiveSupport::Reloader.to_prepare do diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb index d0f0d3b5d..4b63f2893 100644 --- a/config/initializers/backtrace_silencers.rb +++ b/config/initializers/backtrace_silencers.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb index 98230c980..87fd451f0 100644 --- a/config/initializers/content_security_policy.rb +++ b/config/initializers/content_security_policy.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # Define an application-wide content security policy diff --git a/config/initializers/new_framework_defaults_6_0.rb b/config/initializers/new_framework_defaults_6_0.rb index a48d4eb00..0c410fe9e 100644 --- a/config/initializers/new_framework_defaults_6_0.rb +++ b/config/initializers/new_framework_defaults_6_0.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + # Be sure to restart your server when you modify this file. # # This file contains migration options to ease your Rails 6.0 upgrade. diff --git a/test/integration/robots_integration_test.rb b/test/integration/robots_integration_test.rb index 2e9dfd646..b3dc0c932 100644 --- a/test/integration/robots_integration_test.rb +++ b/test/integration/robots_integration_test.rb @@ -10,13 +10,13 @@ class RobotsIntegrationTest < ActionDispatch::IntegrationTest test 'robots.txt blocks site if site is unpublished' do get "http://#{@unpublished_site.slug}.lvh.me:3000/robots.txt" - assert_response 200 + assert_response :ok assert_equal forbid_string, response.body end test 'robots.txt has default comment if site is published' do get "http://#{@published_site.slug}.lvh.me:3000/robots.txt" - assert_response 200 + assert_response :ok assert_equal '# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file', response.body end diff --git a/test/system/collections_test.rb b/test/system/collections_test.rb index 45232f817..b7eecd99a 100644 --- a/test/system/collections_test.rb +++ b/test/system/collections_test.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true + ## frozen_string_literal: true # # require 'application_system_test_case' From 98bd08d01c0a87121f4e0fa3dfa916aea1a583e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Nov 2024 16:04:12 +0000 Subject: [PATCH 26/38] chore(deps): update node.js to v20.18.0 (#2621) --- .node-version | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.node-version b/.node-version index 593cb75bc..c13022261 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.16.0 \ No newline at end of file +20.18.0 \ No newline at end of file diff --git a/package.json b/package.json index 793ae8691..c65485809 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,6 @@ "{*.{rb,jbuilder,rake,ru},.simplecov,Gemfile,Rakefile}": "bundle exec rubocop --force-exclusion --autocorrect" }, "engines": { - "node": "20.16.0" + "node": "20.18.0" } } From 4db9fc3ca0a1b56e80e56abc63339d4fc9f9fff9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:17:58 +0000 Subject: [PATCH 27/38] chore(deps): update dependency ruby to v3.3.6 (#2598) --- .ruby-version | 2 +- Gemfile | 2 +- Gemfile.lock | 2 +- README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.ruby-version b/.ruby-version index a0891f563..9c25013db 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.4 +3.3.6 diff --git a/Gemfile b/Gemfile index a11b72121..44192cac6 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ # frozen_string_literal: true -ruby '3.3.4' +ruby '3.3.6' source 'https://rubygems.org' git_source(:github) do |repo_name| diff --git a/Gemfile.lock b/Gemfile.lock index ca086963b..b02f03fb1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -579,7 +579,7 @@ DEPENDENCIES yard RUBY VERSION - ruby 3.3.4p94 + ruby 3.3.6p108 BUNDLED WITH 2.5.4 diff --git a/README.md b/README.md index db3e726af..adbd9f1ba 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ To get an idea of the project and what we're about, check out [the handbook](htt To run PlaceCal locally you will need to install the following dependencies: - [Docker](https://docs.docker.com/get-docker/) -- [Ruby 3.3.4](https://www.ruby-lang.org/) +- [Ruby 3.3.x](https://www.ruby-lang.org/) - [Node.js 20.x](https://nodejs.org/en/download) & (optional) [nvm](https://github.com/nvm-sh/nvm) to manage it - [Yarn 1.x](https://classic.yarnpkg.com/lang/en/) - [ImageMagick](https://imagemagick.org/index.php) for image manipulation From a087dc2b9a148b2bad4d3c156824adbaef98020c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Nov 2024 23:43:47 +0000 Subject: [PATCH 28/38] fix(deps): update dependency sass to v1.80.7 (#2643) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index c65485809..a7000d968 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.6", + "sass": "1.80.7", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index bd33bcfc9..eb2516e9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -477,10 +477,10 @@ husky@8.0.3: resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz" integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== -immutable@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz" - integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg== +immutable@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.0.2.tgz#bb8a987349a73efbe6b3b292a9cbaf1b530d296b" + integrity sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw== is-extglob@^2.1.1: version "2.1.1" @@ -710,13 +710,13 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.6: - version "1.80.6" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.6.tgz#5d0aa55763984effe41e40019c9571ab73e6851f" - integrity sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg== +sass@1.80.7: + version "1.80.7" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.7.tgz#7569334c39220f8ca62fcea38dce60f809ba345c" + integrity sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ== dependencies: chokidar "^4.0.0" - immutable "^4.0.0" + immutable "^5.0.2" source-map-js ">=0.6.2 <2.0.0" optionalDependencies: "@parcel/watcher" "^2.4.1" From 238011a639c27d54d0940578dfc241d2bfdabb6e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Nov 2024 23:15:41 +0000 Subject: [PATCH 29/38] chore(deps): update dependency rubocop-performance to v1.23.0 (#2644) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 44192cac6..722c765b6 100644 --- a/Gemfile +++ b/Gemfile @@ -106,7 +106,7 @@ group :development do gem 'rubocop', '1.68.0', require: false gem 'rubocop-graphql', '1.5.4', require: false gem 'rubocop-minitest', '0.35.1', require: false - gem 'rubocop-performance', '1.22.1', require: false + gem 'rubocop-performance', '1.23.0', require: false gem 'rubocop-rails', '2.27.0', require: false gem 'rubocop-rake', require: false gem 'spring' diff --git a/Gemfile.lock b/Gemfile.lock index b02f03fb1..0af946ed3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -228,7 +228,7 @@ GEM thor (>= 0.14, < 2.0) jsbundling-rails (1.0.2) railties (>= 6.0.0) - json (2.7.5) + json (2.8.2) json-canonicalization (0.3.0) json-ld (3.2.3) htmlentities (~> 4.3) @@ -307,7 +307,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.26.3) - parser (3.3.5.0) + parser (3.3.6.0) ast (~> 2.4.1) racc pg (1.4.3) @@ -398,14 +398,14 @@ GEM rubocop-ast (>= 1.32.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.3) + rubocop-ast (1.36.1) parser (>= 3.3.1.0) rubocop-graphql (1.5.4) rubocop (>= 1.50, < 2) rubocop-minitest (0.35.1) rubocop (>= 1.61, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-performance (1.22.1) + rubocop-performance (1.23.0) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.27.0) @@ -560,7 +560,7 @@ DEPENDENCIES rubocop (= 1.68.0) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) - rubocop-performance (= 1.22.1) + rubocop-performance (= 1.23.0) rubocop-rails (= 2.27.0) rubocop-rake sass-rails (= 6.0.0) From e4b2ed6800ec9b096d6808c130d559a4e2c35b76 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 03:50:22 +0000 Subject: [PATCH 30/38] fix(deps): update dependency sass to v1.81.0 (#2645) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a7000d968..8c84a3c4b 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.80.7", + "sass": "1.81.0", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index eb2516e9c..73db28997 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.80.7: - version "1.80.7" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.7.tgz#7569334c39220f8ca62fcea38dce60f809ba345c" - integrity sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ== +sass@1.81.0: + version "1.81.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.0.tgz#a9010c0599867909dfdbad057e4a6fbdd5eec941" + integrity sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA== dependencies: chokidar "^4.0.0" immutable "^5.0.2" From 4a78e5f4c63339b53bf81c39b22a308b75151d84 Mon Sep 17 00:00:00 2001 From: Leni Kadali <52788034+lenikadali@users.noreply.github.com> Date: Mon, 18 Nov 2024 19:05:57 +0300 Subject: [PATCH 31/38] chore: Migrate the AddressComponent to using ViewComponent (#2638) Co-authored-by: Dr Kim Foale --- .rubocop.yml | 2 +- app/components/address/address.js | 0 app/components/address/address.scss | 0 app/components/address/address.yml | 0 app/components/address/address_component.rb | 21 ------------------ ...ss.html.erb => address_component.html.erb} | 2 +- app/components/address_component.rb | 22 +++++++++++++++++++ app/views/events/show.html.erb | 5 +---- app/views/partners/show.html.erb | 9 +++----- test/components/address_component_test.rb | 20 +++++++++++++++++ 10 files changed, 48 insertions(+), 33 deletions(-) delete mode 100644 app/components/address/address.js delete mode 100644 app/components/address/address.scss delete mode 100644 app/components/address/address.yml delete mode 100644 app/components/address/address_component.rb rename app/components/{address/_address.html.erb => address_component.html.erb} (68%) create mode 100644 app/components/address_component.rb create mode 100644 test/components/address_component_test.rb diff --git a/.rubocop.yml b/.rubocop.yml index 51a0b7630..bba9cec92 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -131,4 +131,4 @@ Lint/SelfAssignment: Enabled: false Lint/RedundantCopDisableDirective: Enabled: false - + \ No newline at end of file diff --git a/app/components/address/address.js b/app/components/address/address.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/components/address/address.scss b/app/components/address/address.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/components/address/address.yml b/app/components/address/address.yml deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/components/address/address_component.rb b/app/components/address/address_component.rb deleted file mode 100644 index 7641d8257..000000000 --- a/app/components/address/address_component.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -# app/components/contact_details/contact_details_component.rb -class AddressComponent < MountainView::Presenter - property :address - property :raw_location - - def formatted_address - if address.present? - - address_lines = address.all_address_lines.map(&:strip) - return address_lines.join(',
').html_safe - end - - uri = URI.parse(raw_location) - "#{uri.hostname}".html_safe - - rescue URI::InvalidURIError - raw_location - end -end diff --git a/app/components/address/_address.html.erb b/app/components/address_component.html.erb similarity index 68% rename from app/components/address/_address.html.erb rename to app/components/address_component.html.erb index 6245d0a5e..656803113 100644 --- a/app/components/address/_address.html.erb +++ b/app/components/address_component.html.erb @@ -1,3 +1,3 @@

- <%= formatted_address %> + <%= sanitize formatted_address %>

diff --git a/app/components/address_component.rb b/app/components/address_component.rb new file mode 100644 index 000000000..3ea20825f --- /dev/null +++ b/app/components/address_component.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +class AddressComponent < ViewComponent::Base + def initialize(address:, raw_location: nil) + super + @address = address + @raw_location = raw_location + end + + def formatted_address + if @address.present? + address_lines = @address.all_address_lines.map(&:strip) + return address_lines.join(", #{tag.br}") + end + + uri = URI.parse(@raw_location) + "#{uri.hostname}" + + rescue URI::InvalidURIError + @raw_location + end +end diff --git a/app/views/events/show.html.erb b/app/views/events/show.html.erb index 431586a57..d502dbd87 100644 --- a/app/views/events/show.html.erb +++ b/app/views/events/show.html.erb @@ -29,10 +29,7 @@

Event address

- <%= render_component "address", - address: @event.address, - raw_location: @event.raw_location_from_source - %> + <%= render AddressComponent.new(address: @event.address, raw_location: @event.raw_location_from_source) %>
diff --git a/app/views/partners/show.html.erb b/app/views/partners/show.html.erb index b6f70fdc2..e5c255138 100644 --- a/app/views/partners/show.html.erb +++ b/app/views/partners/show.html.erb @@ -46,9 +46,8 @@ <% if @partner.has_service_areas? %>

We operate in <%= partner_service_area_text(@partner) %>.

<% end %> - <%= render_component "address", - address: @partner.address - %> + + <%= render AddressComponent.new(address: @partner.address) %> <% unless @partner.accessibility_info_html.blank? %>
@@ -97,9 +96,7 @@

Address

- <%= render_component "address", - address: place.address - %> + <%= render AddressComponent.new(address: place.address) %>

Contact

diff --git a/test/components/address_component_test.rb b/test/components/address_component_test.rb new file mode 100644 index 000000000..51d3dd04f --- /dev/null +++ b/test/components/address_component_test.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require 'test_helper' +require 'view_component/test_case' + +class AddressComponentTest < ViewComponent::TestCase + setup do + # TODO: once we can make the event factory use a local calendar + # instead of one that makes outgoing HTTP calls, switch to using + # the event factory here. Or remove this TODO once + # we have an integration test + @address = create(:address) + @raw_location = 'Unformatted Address, Ungeolocated Lane, Manchester' + end + + def test_component_renders_address + render_inline(AddressComponent.new(address: @address, raw_location: @raw_location)) + assert_text '123 Moss Ln E, Manchester, Manchester, M15 5DD' + end +end From 92ab534926b02f4a3cfa35d7a522e57dea1f5bc2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 23:52:24 +0000 Subject: [PATCH 32/38] chore(deps): update node.js to v20.18.1 (#2647) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .node-version | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.node-version b/.node-version index c13022261..f812e4592 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.18.0 \ No newline at end of file +20.18.1 \ No newline at end of file diff --git a/package.json b/package.json index 8c84a3c4b..781560b7e 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,6 @@ "{*.{rb,jbuilder,rake,ru},.simplecov,Gemfile,Rakefile}": "bundle exec rubocop --force-exclusion --autocorrect" }, "engines": { - "node": "20.18.0" + "node": "20.18.1" } } From c36f16562d13610b720f058389f2ca7b247726ca Mon Sep 17 00:00:00 2001 From: Leni Kadali <52788034+lenikadali@users.noreply.github.com> Date: Tue, 26 Nov 2024 23:44:01 +0300 Subject: [PATCH 33/38] docs: Add component guidelines for PlaceCal (#2648) --- app/components/guidelines.md | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 app/components/guidelines.md diff --git a/app/components/guidelines.md b/app/components/guidelines.md new file mode 100644 index 000000000..6c3b26771 --- /dev/null +++ b/app/components/guidelines.md @@ -0,0 +1,48 @@ +# Component Guidelines + +## About + +This serves as the reference documentation for components in PlaceCal (how to generate them etc). + +In case you find something unclear, inaccurate or out of date, please feel to create a new issue describing what needs doing :smile: + +## Technical Details + +PlaceCal currently uses [ViewComponent](https://viewcomponent.org/) for all new components. Previously the gem [`mountain_view`](https://github.com/devnacho/mountain_view) was used but has since been deprecated and is in the process of being removed (see [this issue](https://github.com/geeksforsocialchange/PlaceCal/issues/2270)) + +### Creating a new component + +[Follow the instructions](https://viewcomponent.org/guide/generators.html) over on the ViewComponents' documentation to generate a new component. + +### Folder structure + +For simple components, the component and its template should appear in `app/components/` as shown below: + +``` +components +├── address_component.rb # Component definition +└── address_component.html.erb # HTML template +``` + +For more complex components, they should have their own folder. Using the above as an example, the folder structure would look like so: + +``` +components +├── address_component.rb # Component definition +└── address_component +    ├── address_component.html.erb # HTML template +    ├── address_component.js # Optional: Stimulus controller +    └── address_component.scss # Optional: Component-namespaced scss +``` + +### Linting + +Components follow the same conventions as regular Ruby on Rails code. RuboCop gets run as part of our [pre-commit](https://github.com/geeksforsocialchange/PlaceCal/blob/main/package.json#L33-L36) hooks so any violations found will automatically be fixed. Whatever can't be fixed, you'll have to fix yourself :grinning: + +### Testing + +When testing components, please make sure that you write unit tests that only exercise the component's rendering logic. This means that no usage of VCR or an overly elaborate test data setup within the component test. + +### Il8n + +Localization is handled by the files in the `config/locales` directory. From f30894796856174d665f2a6aba3e9dee31c6a1d3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Nov 2024 22:11:00 +0000 Subject: [PATCH 34/38] chore(deps): update dependency rubocop to v1.69.0 (#2649) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 722c765b6..f0a37ccb5 100644 --- a/Gemfile +++ b/Gemfile @@ -103,7 +103,7 @@ group :development do gem 'letter_opener' gem 'rails-erd' gem 'rdoc' - gem 'rubocop', '1.68.0', require: false + gem 'rubocop', '1.69.0', require: false gem 'rubocop-graphql', '1.5.4', require: false gem 'rubocop-minitest', '0.35.1', require: false gem 'rubocop-performance', '1.23.0', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 0af946ed3..55b2affa0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -388,16 +388,16 @@ GEM mime-types (>= 1.16, < 4.0) netrc (~> 0.8) rexml (3.3.7) - rubocop (1.68.0) + rubocop (1.69.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.32.2, < 2.0) + rubocop-ast (>= 1.36.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) + unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.36.1) parser (>= 3.3.1.0) rubocop-graphql (1.5.4) @@ -557,7 +557,7 @@ DEPENDENCIES rails-controller-testing rails-erd rdoc - rubocop (= 1.68.0) + rubocop (= 1.69.0) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) rubocop-performance (= 1.23.0) From 71b75e69ff3a0a960c830818bc5ea9cad78041e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 03:21:53 +0000 Subject: [PATCH 35/38] fix(deps): update dependency sass to v1.81.1 (#2650) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 781560b7e..7af9bf960 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.81.0", + "sass": "1.81.1", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 73db28997..4b68afc0d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.81.0: - version "1.81.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.0.tgz#a9010c0599867909dfdbad057e4a6fbdd5eec941" - integrity sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA== +sass@1.81.1: + version "1.81.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.1.tgz#fae569d12533e5d3ca83641f2c1109a078fc53cb" + integrity sha512-VNLgf4FC5yFyKwAumAAwwNh8X4SevlVREq3Y8aDZIkm0lI/zO1feycMXQ4hn+eB6FVhRbleSQ1Yb/q8juSldTA== dependencies: chokidar "^4.0.0" immutable "^5.0.2" From 6d7f21c081236e1881ad74b7c943adf957cd629c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 01:56:26 +0000 Subject: [PATCH 36/38] fix(deps): update dependency sass to v1.82.0 (#2652) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7af9bf960..69de93eea 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "leaflet": "1.9.4", "lodash": "4.17.21", "popper.js": "1.16.1", - "sass": "1.81.1", + "sass": "1.82.0", "select2": "4.0.13" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 4b68afc0d..a7f6bad00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -710,10 +710,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -sass@1.81.1: - version "1.81.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.81.1.tgz#fae569d12533e5d3ca83641f2c1109a078fc53cb" - integrity sha512-VNLgf4FC5yFyKwAumAAwwNh8X4SevlVREq3Y8aDZIkm0lI/zO1feycMXQ4hn+eB6FVhRbleSQ1Yb/q8juSldTA== +sass@1.82.0: + version "1.82.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.82.0.tgz#30da277af3d0fa6042e9ceabd0d984ed6d07df70" + integrity sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q== dependencies: chokidar "^4.0.0" immutable "^5.0.2" From 6780e1d5ebc35583d9438a7a4b08313a0f6c8633 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 03:51:47 +0000 Subject: [PATCH 37/38] chore(deps): update dependency rubocop to v1.69.1 (#2651) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index f0a37ccb5..507dc0f57 100644 --- a/Gemfile +++ b/Gemfile @@ -103,7 +103,7 @@ group :development do gem 'letter_opener' gem 'rails-erd' gem 'rdoc' - gem 'rubocop', '1.69.0', require: false + gem 'rubocop', '1.69.1', require: false gem 'rubocop-graphql', '1.5.4', require: false gem 'rubocop-minitest', '0.35.1', require: false gem 'rubocop-performance', '1.23.0', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 55b2affa0..b0c35ac95 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -374,7 +374,7 @@ GEM link_header (~> 0.0, >= 0.0.8) rdoc (6.4.1.1) psych (>= 4.0.0) - regexp_parser (2.9.2) + regexp_parser (2.9.3) reline (0.4.3) io-console (~> 0.5) request_store (1.5.1) @@ -388,17 +388,17 @@ GEM mime-types (>= 1.16, < 4.0) netrc (~> 0.8) rexml (3.3.7) - rubocop (1.69.0) + rubocop (1.69.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.36.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.36.1) + rubocop-ast (1.36.2) parser (>= 3.3.1.0) rubocop-graphql (1.5.4) rubocop (>= 1.50, < 2) @@ -557,7 +557,7 @@ DEPENDENCIES rails-controller-testing rails-erd rdoc - rubocop (= 1.69.0) + rubocop (= 1.69.1) rubocop-graphql (= 1.5.4) rubocop-minitest (= 0.35.1) rubocop-performance (= 1.23.0) From 0f0389366818a449327f3483bd10189c6449691b Mon Sep 17 00:00:00 2001 From: Dr Kim Foale Date: Sun, 8 Dec 2024 17:12:32 +0000 Subject: [PATCH 38/38] feat: Add Instagram to API endpoint (#2655) --- Gemfile.lock | 3 ++- app/graphql/types/partner_type.rb | 7 +++++-- app/models/partner.rb | 4 ++++ collections/All Partners.bru | 1 + collections/Partner by ID.bru | 1 + test/integration/graphql/partners_integration_test.rb | 4 +++- 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b0c35ac95..15788014c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -179,7 +179,8 @@ GEM factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - ffi (1.15.5) + ffi (1.17.0) + ffi (1.17.0-x86_64-linux-gnu) font-awesome-rails (4.7.0.8) railties (>= 3.2, < 8.0) foreman (0.87.2) diff --git a/app/graphql/types/partner_type.rb b/app/graphql/types/partner_type.rb index 77201a698..2f5371533 100644 --- a/app/graphql/types/partner_type.rb +++ b/app/graphql/types/partner_type.rb @@ -32,11 +32,14 @@ class PartnerType < Types::BaseObject description: 'The URL provided by the partner for users to find out more info' field :twitter_url, String, - description: 'The URL to the partner\'s Twitter profile' + description: "Full URL for partner's Twitter / X profile" field :facebook_url, String, method: :facebook_link, - description: 'The URL of the partner\'s Facebook page' + description: "Full URL of partner's Facebook page" + + field :instagram_url, String, + description: "Full URL of partner's instagram page" field :areas_served, [NeighbourhoodType], method: :service_area_neighbourhoods, diff --git a/app/models/partner.rb b/app/models/partner.rb index 361231195..a77d6ac9a 100644 --- a/app/models/partner.rb +++ b/app/models/partner.rb @@ -288,6 +288,10 @@ def twitter_url "https://twitter.com/#{twitter_handle}" if twitter_handle.present? end + def instagram_url + "https://instagram.com/#{instagram_handle}" if instagram_handle.present? + end + def logo_url image&.url end diff --git a/collections/All Partners.bru b/collections/All Partners.bru index bb23aaaf7..b192f3593 100644 --- a/collections/All Partners.bru +++ b/collections/All Partners.bru @@ -23,6 +23,7 @@ body:graphql { url twitterUrl facebookUrl + instagramUrl } } } diff --git a/collections/Partner by ID.bru b/collections/Partner by ID.bru index 65d5c4120..d56b3f591 100644 --- a/collections/Partner by ID.bru +++ b/collections/Partner by ID.bru @@ -22,6 +22,7 @@ body:graphql { url twitterUrl facebookUrl + instagramUrl } } diff --git a/test/integration/graphql/partners_integration_test.rb b/test/integration/graphql/partners_integration_test.rb index 909c1987c..6e7a6238b 100644 --- a/test/integration/graphql/partners_integration_test.rb +++ b/test/integration/graphql/partners_integration_test.rb @@ -127,8 +127,9 @@ def check_basic_fields(data, partner) assert_field_equals data, 'description', value: partner.description assert_field_equals data, 'accessibilitySummary', value: partner.accessibility_info assert_field_equals data, 'url', value: partner.url - assert_field_equals data, 'twitterUrl', value: "https://twitter.com/#{partner.twitter_handle}" + assert_field_equals data, 'twitterUrl', value: partner.twitter_url assert_field_equals data, 'facebookUrl', value: partner.facebook_link + assert_field_equals data, 'instagramUrl', value: partner.instagram_url # see note below # assert_field_equals data, 'logo', value: partner.image.url @@ -155,6 +156,7 @@ def check_basic_fields(data, partner) url twitterUrl facebookUrl + instagramUrl address { streetAddress