diff --git a/.github/PULL_REQUEST_TEMPLATE/dependency_updates_template.md b/.github/PULL_REQUEST_TEMPLATE/dependency_updates_template.md index 22b6d9c..6e9a567 100644 --- a/.github/PULL_REQUEST_TEMPLATE/dependency_updates_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/dependency_updates_template.md @@ -16,4 +16,5 @@ These dependencies have been updated to their latest versions: - [x] Chrome - [x] Firefox - [x] Safari - - [ ] Edge (the assignee was not able to test the pull request in this browser) + - [x] Edge + \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 60525e5..5751971 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -31,7 +31,7 @@ List instructions on how to test the pull request. Some examples: - [x] Chrome - [x] Firefox - [x] Safari - - [ ] Edge (the assignee was not able to test the pull request in this browser) + - [x] Edge - Run accessibility tests: - [x] WAVE - [x] ARC Toolkit diff --git a/.github/workflows/build-deploy-on-release.yaml b/.github/workflows/build-deploy-on-release.yaml index d096808..66e2035 100644 --- a/.github/workflows/build-deploy-on-release.yaml +++ b/.github/workflows/build-deploy-on-release.yaml @@ -11,6 +11,7 @@ jobs: with: image_name: ${{ vars.IMAGE_NAME }} tag: ${{ github.event.release.tag_name }} + dockerfile: Dockerfile.prod secrets: inherit deploy-production: diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml index 2101892..21c2dfb 100644 --- a/.github/workflows/build-main.yml +++ b/.github/workflows/build-main.yml @@ -13,6 +13,7 @@ jobs: with: image_name: ${{ vars.IMAGE_NAME }} tag: ${{ github.sha }} + dockerfile: Dockerfile.prod secrets: inherit deploy-testing: @@ -20,7 +21,7 @@ jobs: name: Deploy to testing uses: mlibrary/platform-engineering-workflows/.github/workflows/deploy.yml@v1 with: - image: ghcr.io/mlibrary/${{ vars.IMAGE_NAME }}-unstable:${{ github.sha }} + image: ${{ needs.build-unstable.outputs.image }} file: environments/get-this/testing/web-image.txt CONFIG_REPO_RW_APP_ID: ${{ vars.CONFIG_REPO_RW_APP_ID }} CONFIG_REPO_RW_INSTALL_ID: ${{ vars.CONFIG_REPO_RW_INSTALL_ID }} diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 716e365..5100018 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -14,6 +14,7 @@ jobs: with: image_name: ${{ vars.IMAGE_NAME }} tag: ${{ github.event.inputs.tag }} + dockerfile: Dockerfile.prod secrets: inherit deploy-production: diff --git a/.github/workflows/manual-deploy-unstable.yaml b/.github/workflows/manual-deploy-unstable.yaml index 99fa1b0..87f0234 100644 --- a/.github/workflows/manual-deploy-unstable.yaml +++ b/.github/workflows/manual-deploy-unstable.yaml @@ -22,6 +22,7 @@ jobs: with: image_name: ${{ vars.IMAGE_NAME }} tag: ${{ github.event.inputs.tag }} + dockerfile: Dockerfile.prod secrets: inherit deploy: @@ -29,7 +30,7 @@ jobs: name: Deploy to ${{ github.event.inputs.tanka_env }} uses: mlibrary/platform-engineering-workflows/.github/workflows/deploy.yml@v1 with: - image: ghcr.io/mlibrary/${{ vars.IMAGE_NAME }}-unstable:${{ github.event.inputs.tag }} + image: ${{ needs.build-unstable.outputs.image }} file: environments/get-this/${{ github.event.inputs.tanka_env }}/web-image.txt CONFIG_REPO_RW_APP_ID: ${{ vars.CONFIG_REPO_RW_APP_ID }} CONFIG_REPO_RW_INSTALL_ID: ${{ vars.CONFIG_REPO_RW_INSTALL_ID }} diff --git a/Dockerfile b/Dockerfile index a2a673d..5e47db5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ ARG RUBY_VERSION=3.2 FROM ruby:${RUBY_VERSION} -ARG BUNDLER_VERSION=2.4.7 -ARG NPM_VERSION="latest" ARG UNAME=app ARG UID=1000 ARG GID=1000 @@ -12,14 +10,14 @@ LABEL maintainer="mrio@umich.edu" RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \ apt-transport-https -RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - +RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \ nodejs \ vim-tiny -RUN gem install bundler:${BUNDLER_VERSION} -RUN npm install -g npm@${NPM_VERSION} +RUN gem install bundler +RUN npm install -g npm RUN groupadd -g ${GID} -o ${UNAME} RUN useradd -m -d /app -u ${UID} -g ${GID} -o -s /bin/bash ${UNAME} diff --git a/Dockerfile.prod b/Dockerfile.prod index 73fa12d..086300c 100644 --- a/Dockerfile.prod +++ b/Dockerfile.prod @@ -1,8 +1,6 @@ ARG RUBY_VERSION=3.2 FROM ruby:${RUBY_VERSION} -ARG BUNDLER_VERSION=2.4.7 -ARG NPM_VERSION="latest" ARG UNAME=app ARG UID=1000 ARG GID=1000 @@ -12,14 +10,14 @@ LABEL maintainer="mrio@umich.edu" RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \ apt-transport-https -RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - +RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \ nodejs \ vim-tiny -RUN gem install bundler:${BUNDLER_VERSION} -RUN npm install -g npm@${NPM_VERSION} +RUN gem install bundler +RUN npm install -g npm RUN groupadd -g ${GID} -o ${UNAME} RUN useradd -m -d /app -u ${UID} -g ${GID} -o -s /bin/bash ${UNAME} @@ -38,8 +36,6 @@ RUN --mount=type=secret,id=gh_package_read_token \ USER $UNAME - - RUN npm ci RUN npm run build diff --git a/Gemfile.lock b/Gemfile.lock index 9adc4aa..663962f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,17 +1,17 @@ GEM remote: https://rubygems.org/ specs: - activemodel (7.0.4.2) - activesupport (= 7.0.4.2) - activesupport (7.0.4.2) + activemodel (7.0.4.3) + activesupport (= 7.0.4.3) + activesupport (7.0.4.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.1) + addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) - anyway_config (2.3.1) + anyway_config (2.4.0) ruby-next-core (>= 0.14.0) ast (2.4.2) attr_required (1.0.1) @@ -38,10 +38,9 @@ GEM hashdiff (1.0.1) hashie (5.0.0) http-2-next (0.5.1) - httpclient (2.8.3) - httpx (0.22.4) + httpx (0.23.1) http-2-next (>= 0.4.1) - i18n (1.12.0) + i18n (1.13.0) concurrent-ruby (~> 1.0) json (2.6.3) json-jwt (1.16.3) @@ -51,6 +50,7 @@ GEM faraday (~> 2.0) faraday-follow_redirects language_server-protocol (3.17.0.3) + lint_roller (1.0.0) listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) @@ -74,27 +74,29 @@ GEM timeout net-smtp (0.3.3) net-protocol - nio4r (2.5.8) + nio4r (2.5.9) omniauth (2.1.1) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection - omniauth_openid_connect (0.6.1) + omniauth_openid_connect (0.7.1) omniauth (>= 1.9, < 3) - openid_connect (~> 1.1) - openid_connect (1.4.2) + openid_connect (~> 2.2) + openid_connect (2.2.0) activemodel attr_required (>= 1.0.0) - json-jwt (>= 1.15.0) + faraday (~> 2.0) + faraday-follow_redirects + json-jwt (>= 1.16) net-smtp - rack-oauth2 (~> 1.21) - swd (~> 1.3) + rack-oauth2 (~> 2.2) + swd (~> 2.0) tzinfo validate_email validate_url - webfinger (~> 1.2) - parallel (1.22.1) - parser (3.2.1.0) + webfinger (~> 2.0) + parallel (1.23.0) + parser (3.2.2.1) ast (~> 2.4.1) prometheus-client (2.1.0) pry (0.14.2) @@ -104,51 +106,52 @@ GEM byebug (~> 11.0) pry (>= 0.13, < 0.15) public_suffix (5.0.1) - puma (6.1.1) + puma (6.2.2) nio4r (~> 2.0) - rack (2.2.6.3) - rack-oauth2 (1.21.3) + rack (2.2.7) + rack-oauth2 (2.2.0) activesupport attr_required - httpclient + faraday (~> 2.0) + faraday-follow_redirects json-jwt (>= 1.11.0) rack (>= 2.1.0) - rack-protection (3.0.5) + rack-protection (3.0.6) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) rainbow (3.1.1) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - regexp_parser (2.7.0) + regexp_parser (2.8.0) rexml (3.2.5) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) rspec-mocks (~> 3.12.0) - rspec-core (3.12.1) + rspec-core (3.12.2) rspec-support (~> 3.12.0) - rspec-expectations (3.12.2) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-mocks (3.12.3) + rspec-mocks (3.12.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-support (3.12.0) - rubocop (1.44.1) + rubocop (1.50.2) json (~> 2.3) parallel (~> 1.10) parser (>= 3.2.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.24.1, < 2.0) + rubocop-ast (>= 1.28.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.27.0) + rubocop-ast (1.28.1) parser (>= 3.2.1.0) - rubocop-performance (1.15.2) + rubocop-performance (1.16.0) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) ruby-next-core (0.15.3) @@ -160,27 +163,35 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - sinatra (3.0.5) + sinatra (3.0.6) mustermann (~> 3.0) rack (~> 2.2, >= 2.2.4) - rack-protection (= 3.0.5) + rack-protection (= 3.0.6) tilt (~> 2.0) - sinatra-contrib (3.0.5) + sinatra-contrib (3.0.6) multi_json mustermann (~> 3.0) - rack-protection (= 3.0.5) - sinatra (= 3.0.5) + rack-protection (= 3.0.6) + sinatra (= 3.0.6) tilt (~> 2.0) sinatra-flash (0.3.0) sinatra (>= 1.0.0) - standard (1.24.3) + standard (1.28.2) language_server-protocol (~> 3.17.0.2) - rubocop (= 1.44.1) - rubocop-performance (= 1.15.2) - swd (1.3.0) + lint_roller (~> 1.0) + rubocop (~> 1.50.2) + standard-custom (~> 1.0.0) + standard-performance (~> 1.0.1) + standard-custom (1.0.0) + lint_roller (~> 1.0) + standard-performance (1.0.1) + lint_roller (~> 1.0) + rubocop-performance (~> 1.16.0) + swd (2.0.2) activesupport (>= 3) attr_required (>= 0.0.5) - httpclient (>= 2.4) + faraday (~> 2.0) + faraday-follow_redirects tilt (2.1.0) timeout (0.3.2) tzinfo (2.0.6) @@ -192,9 +203,10 @@ GEM validate_url (1.0.15) activemodel (>= 3.0.0) public_suffix - webfinger (1.2.0) + webfinger (2.1.2) activesupport - httpclient (>= 2.4) + faraday (~> 2.0) + faraday-follow_redirects webmock (3.18.1) addressable (>= 2.8.0) crack (>= 0.3.2) diff --git a/get-this.rb b/get-this.rb index fc9b366..54d9038 100644 --- a/get-this.rb +++ b/get-this.rb @@ -7,9 +7,6 @@ require "omniauth_openid_connect" require "sinatra/flash" require "faraday/follow_redirects" -# -# Monkey patch for omniauth_openid_connect -> openid_connect -> webfinger -> httpclient SSL errors -require_relative "./lib/monkey_httpclient" Time.zone = "Eastern Time (US & Canada)" diff --git a/lib/monkey_httpclient.rb b/lib/monkey_httpclient.rb deleted file mode 100644 index 35b37e7..0000000 --- a/lib/monkey_httpclient.rb +++ /dev/null @@ -1,13 +0,0 @@ -# Monkey patch to use system level certificate store -# https://github.com/nahi/httpclient/issues/445 -require "httpclient" - -class HTTPClient - alias_method :original_initialize, :initialize - - def initialize(...) - original_initialize(...) - # Force use of the default system CA certs (instead of the 6 year old bundled ones) - @session_manager&.ssl_config&.set_default_paths - end -end diff --git a/package-lock.json b/package-lock.json index 6dcc8db..21e47af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,8 @@ "version": "1.0.0", "license": "ISC", "devDependencies": { - "cssnano": "^6.0.0", - "postcss": "^8.4.21", + "cssnano": "^6.0.1", + "postcss": "^8.4.23", "postcss-cli": "^10.1.0", "postcss-import": "^15.1.0" } @@ -164,9 +164,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001473", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz", - "integrity": "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==", + "version": "1.0.30001481", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", "dev": true, "funding": [ { @@ -323,12 +323,12 @@ } }, "node_modules/cssnano": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.0.tgz", - "integrity": "sha512-RGlcbzGhzEBCHuQe3k+Udyj5M00z0pm9S+VurHXFEOXxH+y0sVrJH2sMzoyz2d8N1EScazg+DVvmgyx0lurwwA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", + "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", "dev": true, "dependencies": { - "cssnano-preset-default": "^6.0.0", + "cssnano-preset-default": "^6.0.1", "lilconfig": "^2.1.0" }, "engines": { @@ -343,14 +343,14 @@ } }, "node_modules/cssnano-preset-default": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.0.tgz", - "integrity": "sha512-BDxlaFzObRDXUiCCBQUNQcI+f1/aX2mgoNtXGjV6PG64POcHoDUoX+LgMWw+Q4609QhxwkcSnS65YFs42RA6qQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", + "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^4.0.0", - "postcss-calc": "^8.2.3", + "postcss-calc": "^9.0.0", "postcss-colormin": "^6.0.0", "postcss-convert-values": "^6.0.0", "postcss-discard-comments": "^6.0.0", @@ -358,7 +358,7 @@ "postcss-discard-empty": "^6.0.0", "postcss-discard-overridden": "^6.0.0", "postcss-merge-longhand": "^6.0.0", - "postcss-merge-rules": "^6.0.0", + "postcss-merge-rules": "^6.0.1", "postcss-minify-font-values": "^6.0.0", "postcss-minify-gradients": "^6.0.0", "postcss-minify-params": "^6.0.0", @@ -493,23 +493,23 @@ } }, "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/electron-to-chromium": { - "version": "1.4.348", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz", - "integrity": "sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ==", + "version": "1.4.377", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.377.tgz", + "integrity": "sha512-H3BYG6DW5Z+l0xcfXaicJGxrpA4kMlCxnN71+iNX+dBLkRMOdVJqFJiAmbNZZKA1zISpRg17JR03qGifXNsJtw==", "dev": true }, "node_modules/emoji-regex": { @@ -519,9 +519,9 @@ "dev": true }, "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { "node": ">=0.12" @@ -644,9 +644,9 @@ } }, "node_modules/globby": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", - "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", "dev": true, "dependencies": { "dir-glob": "^3.0.1", @@ -714,9 +714,9 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -913,9 +913,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "funding": [ { @@ -925,10 +925,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -937,14 +941,17 @@ } }, "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.0.tgz", + "integrity": "sha512-B9BNW/SVh4SMJfoCQ6D9h1Wo7Yjqks7UdbiARJ16J5TIsQn5NEqwMF5joSgOYb26oJPUR5Uv3fCQ/4PvmZWeJQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9", + "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0" }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, "peerDependencies": { "postcss": "^8.2.2" } @@ -1123,9 +1130,9 @@ } }, "node_modules/postcss-merge-rules": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.0.tgz", - "integrity": "sha512-rCXkklftzEkniyv3f4mRCQzxD6oE4Quyh61uyWTUbCJ26Pv2hoz+fivJSsSBWxDBeScR4fKCfF3HHTcD7Ybqnw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", + "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", "dev": true, "dependencies": { "browserslist": "^4.21.4", @@ -1405,9 +1412,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -1514,12 +1521,12 @@ } }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -1564,9 +1571,9 @@ } }, "node_modules/slash": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.0.0.tgz", - "integrity": "sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.0.1.tgz", + "integrity": "sha512-ywNzUOiXwetmLvTUiCBZpLi+vxqN3i+zDqjs2HHfUSV3wN4UJxVVKWrS1JZDeiJIeBFNgB5pmioC2g0IUTL+rQ==", "dev": true, "engines": { "node": ">=14.16" @@ -1690,9 +1697,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -1702,6 +1709,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -1709,7 +1720,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -1748,18 +1759,18 @@ } }, "node_modules/yaml": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", - "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", "dev": true, "engines": { "node": ">= 14" } }, "node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { "cliui": "^8.0.1", diff --git a/package.json b/package.json index 58f2b9e..9e488f8 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/mlibrary/get-this#readme", "devDependencies": { - "cssnano": "^6.0.0", - "postcss": "^8.4.21", + "cssnano": "^6.0.1", + "postcss": "^8.4.23", "postcss-cli": "^10.1.0", "postcss-import": "^15.1.0" }