diff --git a/Dockerfile b/Dockerfile index bb29ad21fa0..acb7631eb9b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -191,7 +191,7 @@ FROM build AS libvips # libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"] # renovate: datasource=github-releases depName=libvips packageName=libvips/libvips -ARG VIPS_VERSION=8.15.5 +ARG VIPS_VERSION=8.16.0 # libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"] ARG VIPS_URL=https://github.com/libvips/libvips/releases/download diff --git a/Gemfile b/Gemfile index 104fd266b82..97856d78255 100644 --- a/Gemfile +++ b/Gemfile @@ -16,7 +16,7 @@ gem 'pghero' gem 'aws-sdk-s3', '~> 1.123', require: false gem 'blurhash', '~> 0.1' -gem 'fog-core', '<= 2.5.0' +gem 'fog-core', '<= 2.6.0' gem 'fog-openstack', '~> 1.0', require: false gem 'kt-paperclip', '~> 7.2' gem 'md-paperclip-azure', '~> 2.2', require: false @@ -111,8 +111,8 @@ group :opentelemetry do gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false gem 'opentelemetry-instrumentation-pg', '~> 0.29.0', require: false - gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false - gem 'opentelemetry-instrumentation-rails', '~> 0.31.0', require: false + gem 'opentelemetry-instrumentation-rack', '~> 0.25.0', require: false + gem 'opentelemetry-instrumentation-rails', '~> 0.32.0', require: false gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false gem 'opentelemetry-instrumentation-sidekiq', '~> 0.25.2', require: false gem 'opentelemetry-sdk', '~> 1.4', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 957146b16b6..f1088b22b60 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,35 +10,35 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.1.4.1) - actionpack (= 7.1.4.1) - activesupport (= 7.1.4.1) + actioncable (7.1.4.2) + actionpack (= 7.1.4.2) + activesupport (= 7.1.4.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (7.1.4.1) - actionpack (= 7.1.4.1) - activejob (= 7.1.4.1) - activerecord (= 7.1.4.1) - activestorage (= 7.1.4.1) - activesupport (= 7.1.4.1) + actionmailbox (7.1.4.2) + actionpack (= 7.1.4.2) + activejob (= 7.1.4.2) + activerecord (= 7.1.4.2) + activestorage (= 7.1.4.2) + activesupport (= 7.1.4.2) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.1.4.1) - actionpack (= 7.1.4.1) - actionview (= 7.1.4.1) - activejob (= 7.1.4.1) - activesupport (= 7.1.4.1) + actionmailer (7.1.4.2) + actionpack (= 7.1.4.2) + actionview (= 7.1.4.2) + activejob (= 7.1.4.2) + activesupport (= 7.1.4.2) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.2) - actionpack (7.1.4.1) - actionview (= 7.1.4.1) - activesupport (= 7.1.4.1) + actionpack (7.1.4.2) + actionview (= 7.1.4.2) + activesupport (= 7.1.4.2) nokogiri (>= 1.8.5) racc rack (>= 2.2.4) @@ -46,15 +46,15 @@ GEM rack-test (>= 0.6.3) rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) - actiontext (7.1.4.1) - actionpack (= 7.1.4.1) - activerecord (= 7.1.4.1) - activestorage (= 7.1.4.1) - activesupport (= 7.1.4.1) + actiontext (7.1.4.2) + actionpack (= 7.1.4.2) + activerecord (= 7.1.4.2) + activestorage (= 7.1.4.2) + activesupport (= 7.1.4.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.1.4.1) - activesupport (= 7.1.4.1) + actionview (7.1.4.2) + activesupport (= 7.1.4.2) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -64,22 +64,22 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.1.4.1) - activesupport (= 7.1.4.1) + activejob (7.1.4.2) + activesupport (= 7.1.4.2) globalid (>= 0.3.6) - activemodel (7.1.4.1) - activesupport (= 7.1.4.1) - activerecord (7.1.4.1) - activemodel (= 7.1.4.1) - activesupport (= 7.1.4.1) + activemodel (7.1.4.2) + activesupport (= 7.1.4.2) + activerecord (7.1.4.2) + activemodel (= 7.1.4.2) + activesupport (= 7.1.4.2) timeout (>= 0.4.0) - activestorage (7.1.4.1) - actionpack (= 7.1.4.1) - activejob (= 7.1.4.1) - activerecord (= 7.1.4.1) - activesupport (= 7.1.4.1) + activestorage (7.1.4.2) + actionpack (= 7.1.4.2) + activejob (= 7.1.4.2) + activerecord (= 7.1.4.2) + activesupport (= 7.1.4.2) marcel (~> 1.0) - activesupport (7.1.4.1) + activesupport (7.1.4.2) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -100,8 +100,8 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.992.0) - aws-sdk-core (3.210.0) + aws-partitions (1.997.0) + aws-sdk-core (3.211.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -113,7 +113,7 @@ GEM aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.10.0) + aws-sigv4 (1.10.1) aws-eventstream (~> 1, >= 1.0.2) azure-storage-blob (2.0.3) azure-storage-common (~> 2.0) @@ -179,7 +179,7 @@ GEM bigdecimal rexml crass (1.0.6) - css_parser (1.19.0) + css_parser (1.19.1) addressable csv (3.3.0) database_cleaner-active_record (2.2.0) @@ -231,7 +231,7 @@ GEM erubi (1.13.0) et-orbi (1.2.11) tzinfo - excon (0.111.0) + excon (0.112.0) fabrication (2.31.0) faker (3.5.1) i18n (>= 1.8.11, < 2) @@ -262,7 +262,7 @@ GEM faraday (~> 1.0) fast_blank (1.0.1) fastimage (2.3.1) - ffi (1.16.3) + ffi (1.17.0) ffi-compiler (1.3.2) ffi (>= 1.15.5) rake @@ -351,7 +351,7 @@ GEM rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) - json (2.7.2) + json (2.7.4) json-canonicalization (1.0.0) json-jwt (1.15.3.1) activesupport (>= 4.2) @@ -412,7 +412,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.22.0) + loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -436,7 +436,7 @@ GEM mini_mime (1.1.5) mini_portile2 (2.8.7) minitest (5.25.1) - msgpack (1.7.2) + msgpack (1.7.3) multi_json (1.15.0) multipart-post (2.4.1) mutex_m (0.2.0) @@ -444,7 +444,7 @@ GEM uri net-http-persistent (4.0.2) connection_pool (~> 2.2) - net-imap (0.4.15) + net-imap (0.5.0) date net-protocol net-ldap (0.19.0) @@ -504,7 +504,7 @@ GEM opentelemetry-semantic_conventions opentelemetry-helpers-sql-obfuscation (0.2.0) opentelemetry-common (~> 0.21) - opentelemetry-instrumentation-action_mailer (0.1.0) + opentelemetry-instrumentation-action_mailer (0.2.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-base (~> 0.22.1) @@ -516,13 +516,13 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-instrumentation-active_support (~> 0.1) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_job (0.7.7) + opentelemetry-instrumentation-active_job (0.7.8) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_model_serializers (0.20.2) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-active_record (0.7.3) + opentelemetry-instrumentation-active_record (0.8.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-active_support (0.6.0) @@ -554,16 +554,16 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-helpers-sql-obfuscation opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rack (0.24.6) + opentelemetry-instrumentation-rack (0.25.0) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-rails (0.31.2) + opentelemetry-instrumentation-rails (0.32.0) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-action_mailer (~> 0.1.0) + opentelemetry-instrumentation-action_mailer (~> 0.2.0) opentelemetry-instrumentation-action_pack (~> 0.9.0) opentelemetry-instrumentation-action_view (~> 0.7.0) opentelemetry-instrumentation-active_job (~> 0.7.0) - opentelemetry-instrumentation-active_record (~> 0.7.0) + opentelemetry-instrumentation-active_record (~> 0.8.0) opentelemetry-instrumentation-active_support (~> 0.6.0) opentelemetry-instrumentation-base (~> 0.22.1) opentelemetry-instrumentation-redis (0.25.7) @@ -591,7 +591,7 @@ GEM parslet (2.0.0) pastel (0.8.0) tty-color (~> 0.5) - pg (1.5.8) + pg (1.5.9) pghero (3.6.1) activerecord (>= 6.1) premailer (1.27.0) @@ -639,20 +639,20 @@ GEM rackup (1.0.0) rack (< 3) webrick - rails (7.1.4.1) - actioncable (= 7.1.4.1) - actionmailbox (= 7.1.4.1) - actionmailer (= 7.1.4.1) - actionpack (= 7.1.4.1) - actiontext (= 7.1.4.1) - actionview (= 7.1.4.1) - activejob (= 7.1.4.1) - activemodel (= 7.1.4.1) - activerecord (= 7.1.4.1) - activestorage (= 7.1.4.1) - activesupport (= 7.1.4.1) + rails (7.1.4.2) + actioncable (= 7.1.4.2) + actionmailbox (= 7.1.4.2) + actionmailer (= 7.1.4.2) + actionpack (= 7.1.4.2) + actiontext (= 7.1.4.2) + actionview (= 7.1.4.2) + activejob (= 7.1.4.2) + activemodel (= 7.1.4.2) + activerecord (= 7.1.4.2) + activestorage (= 7.1.4.2) + activesupport (= 7.1.4.2) bundler (>= 1.15.0) - railties (= 7.1.4.1) + railties (= 7.1.4.2) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -667,9 +667,9 @@ GEM rails-i18n (7.0.9) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.1.4.1) - actionpack (= 7.1.4.1) - activesupport (= 7.1.4.1) + railties (7.1.4.2) + actionpack (= 7.1.4.2) + activesupport (= 7.1.4.2) irb rackup (>= 1.0.0) rake (>= 12.2) @@ -699,9 +699,9 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.8) + rexml (3.3.9) rotp (6.3.0) - rouge (4.3.0) + rouge (4.4.0) rpam2 (4.0.2) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -711,14 +711,14 @@ GEM rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.1) + rspec-core (3.13.2) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-github (2.4.0) rspec-core (~> 3.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-rails (7.0.1) @@ -752,12 +752,12 @@ GEM rubocop-performance (1.22.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.26.2) + rubocop-rails (2.27.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.1.0) + rubocop-rspec (3.2.0) rubocop (~> 1.61) rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) @@ -943,7 +943,7 @@ DEPENDENCIES fast_blank (~> 1.0) fastimage flatware-rspec - fog-core (<= 2.5.0) + fog-core (<= 2.6.0) fog-openstack (~> 1.0) haml-rails (~> 2.0) haml_lint @@ -992,8 +992,8 @@ DEPENDENCIES opentelemetry-instrumentation-http_client (~> 0.22.3) opentelemetry-instrumentation-net_http (~> 0.22.4) opentelemetry-instrumentation-pg (~> 0.29.0) - opentelemetry-instrumentation-rack (~> 0.24.1) - opentelemetry-instrumentation-rails (~> 0.31.0) + opentelemetry-instrumentation-rack (~> 0.25.0) + opentelemetry-instrumentation-rails (~> 0.32.0) opentelemetry-instrumentation-redis (~> 0.25.3) opentelemetry-instrumentation-sidekiq (~> 0.25.2) opentelemetry-sdk (~> 1.4) @@ -1058,7 +1058,7 @@ DEPENDENCIES xorcist (~> 1.1) RUBY VERSION - ruby 3.3.4p94 + ruby 3.3.5p100 BUNDLED WITH - 2.5.18 + 2.5.22 diff --git a/app/controllers/admin/trends/links_controller.rb b/app/controllers/admin/trends/links_controller.rb index 83d68eba63c..65eca11c7f3 100644 --- a/app/controllers/admin/trends/links_controller.rb +++ b/app/controllers/admin/trends/links_controller.rb @@ -4,7 +4,7 @@ class Admin::Trends::LinksController < Admin::BaseController def index authorize :preview_card, :review? - @locales = PreviewCardTrend.pluck('distinct language') + @locales = PreviewCardTrend.locales @preview_cards = filtered_preview_cards.page(params[:page]) @form = Trends::PreviewCardBatch.new end diff --git a/app/controllers/admin/trends/statuses_controller.rb b/app/controllers/admin/trends/statuses_controller.rb index 3d8b53ea8a0..682fe70bb56 100644 --- a/app/controllers/admin/trends/statuses_controller.rb +++ b/app/controllers/admin/trends/statuses_controller.rb @@ -4,7 +4,7 @@ class Admin::Trends::StatusesController < Admin::BaseController def index authorize [:admin, :status], :review? - @locales = StatusTrend.pluck('distinct language') + @locales = StatusTrend.locales @statuses = filtered_statuses.page(params[:page]) @form = Trends::StatusBatch.new end diff --git a/app/controllers/concerns/auth/captcha_concern.rb b/app/controllers/concerns/auth/captcha_concern.rb index cfd93978cea..c01da212499 100644 --- a/app/controllers/concerns/auth/captcha_concern.rb +++ b/app/controllers/concerns/auth/captcha_concern.rb @@ -10,7 +10,7 @@ module Auth::CaptchaConcern end def captcha_available? - ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present? + Rails.configuration.x.captcha.secret_key.present? && Rails.configuration.x.captcha.site_key.present? end def captcha_enabled? diff --git a/app/helpers/admin/settings_helper.rb b/app/helpers/admin/settings_helper.rb index 6937331e1a6..9b950d5a637 100644 --- a/app/helpers/admin/settings_helper.rb +++ b/app/helpers/admin/settings_helper.rb @@ -2,7 +2,7 @@ module Admin::SettingsHelper def captcha_available? - ENV['HCAPTCHA_SECRET_KEY'].present? && ENV['HCAPTCHA_SITE_KEY'].present? + Rails.configuration.x.captcha.secret_key.present? && Rails.configuration.x.captcha.site_key.present? end def login_activity_title(activity) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4caf0398fef..e36de192557 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -120,18 +120,6 @@ module ApplicationHelper inline_svg_tag 'check.svg' end - def visibility_icon(status) - if status.public_visibility? - material_symbol('globe', title: I18n.t('statuses.visibilities.public')) - elsif status.unlisted_visibility? - material_symbol('lock_open', title: I18n.t('statuses.visibilities.unlisted')) - elsif status.private_visibility? || status.limited_visibility? - material_symbol('lock', title: I18n.t('statuses.visibilities.private')) - elsif status.direct_visibility? - material_symbol('alternate_email', title: I18n.t('statuses.visibilities.direct')) - end - end - def interrelationships_icon(relationships, account_id) if relationships.following[account_id] && relationships.followed_by[account_id] material_symbol('sync_alt', title: I18n.t('relationships.mutual'), class: 'active passive') diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index 2ef7d362d82..9d5a2e24784 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -27,7 +27,14 @@ module FormattingHelper module_function :extract_status_plain_text def status_content_format(status) - html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) + MastodonOTELTracer.in_span('HtmlAwareFormatter rendering') do |span| + span.add_attributes( + 'app.formatter.content.type' => 'status', + 'app.formatter.content.origin' => status.local? ? 'local' : 'remote' + ) + + html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) + end end def rss_status_content_format(status) @@ -39,7 +46,14 @@ module FormattingHelper end def account_bio_format(account) - html_aware_format(account.note, account.local?) + MastodonOTELTracer.in_span('HtmlAwareFormatter rendering') do |span| + span.add_attributes( + 'app.formatter.content.type' => 'account_bio', + 'app.formatter.content.origin' => account.local? ? 'local' : 'remote' + ) + + html_aware_format(account.note, account.local?) + end end def account_field_value_format(field, with_rel_me: true) diff --git a/app/javascript/images/logo_full.svg b/app/javascript/images/logo_full.svg deleted file mode 100644 index 03bcf93e39d..00000000000 --- a/app/javascript/images/logo_full.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/javascript/images/logo_transparent.svg b/app/javascript/images/logo_transparent.svg deleted file mode 100644 index a1e7b403e03..00000000000 --- a/app/javascript/images/logo_transparent.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/javascript/images/quote.svg b/app/javascript/images/quote.svg new file mode 100644 index 00000000000..ae6fbbe04a9 --- /dev/null +++ b/app/javascript/images/quote.svg @@ -0,0 +1,3 @@ + diff --git a/app/javascript/mastodon/components/poll.jsx b/app/javascript/mastodon/components/poll.jsx index 7b836f00b1a..06b09f5b352 100644 --- a/app/javascript/mastodon/components/poll.jsx +++ b/app/javascript/mastodon/components/poll.jsx @@ -41,12 +41,14 @@ const makeEmojiMap = record => record.get('emojis').reduce((obj, emoji) => { class Poll extends ImmutablePureComponent { static propTypes = { identity: identityContextPropShape, - poll: ImmutablePropTypes.map, + poll: ImmutablePropTypes.map.isRequired, + status: ImmutablePropTypes.map.isRequired, lang: PropTypes.string, intl: PropTypes.object.isRequired, disabled: PropTypes.bool, refresh: PropTypes.func, onVote: PropTypes.func, + onInteractionModal: PropTypes.func, }; state = { @@ -117,7 +119,11 @@ class Poll extends ImmutablePureComponent { return; } - this.props.onVote(Object.keys(this.state.selected)); + if (this.props.identity.signedIn) { + this.props.onVote(Object.keys(this.state.selected)); + } else { + this.props.onInteractionModal('vote', this.props.status); + } }; handleRefresh = () => { @@ -232,7 +238,7 @@ class Poll extends ImmutablePureComponent {
rel="me" است که از جعل هویت روی پایگاههایی با محتوای تولید شده به دست کاربر جلوگیری میکند. حتا میتوانید به جای برچسب a از برچسب link در سرایند صفحه استفاده کنید؛ ولی HTML باید بدون اجرای جاوااسکریپت در دسترس باشد.
diff --git a/config/locales/ga.yml b/config/locales/ga.yml
index 0657f827d1b..5e5ecb238e3 100644
--- a/config/locales/ga.yml
+++ b/config/locales/ga.yml
@@ -1220,8 +1220,11 @@ ga:
use_security_key: Úsáid eochair shlándála
author_attribution:
example_title: Téacs samplach
+ hint_html: An bhfuil tú ag scríobh altanna nuachta nó blag lasmuigh de Mastodon? Rialú conas a gheobhaidh tú creidmheas nuair a roinntear iad ar Mastodon.
+ instructions: 'Cinntigh go bhfuil an cód seo i HTML d''alt:'
more_from_html: Tuilleadh ó %{name}
s_blog: Blag %{name}
+ then_instructions: Ansin, cuir ainm fearainn an fhoilseacháin sa réimse thíos.
title: Leithdháil an údair
challenge:
confirm: Lean ar aghaidh
diff --git a/config/locales/hu.yml b/config/locales/hu.yml
index 4f18e3b4d48..47bd24fccf2 100644
--- a/config/locales/hu.yml
+++ b/config/locales/hu.yml
@@ -1166,8 +1166,11 @@ hu:
use_security_key: Biztonsági kulcs használata
author_attribution:
example_title: Mintaszöveg
+ hint_html: Mastodonon kívül írsz híreket vagy blogbejegyzéseket? Szabályozd, hogyan tüntethetnek fel szerzőként, amikor Mastodonon osztják meg őket.
+ instructions: 'Győződj meg róla, hogy ez a kód a cikked HTML-jében van:'
more_from_html: 'Több tőle: %{name}'
s_blog: "%{name} blogja"
+ then_instructions: Aztán add meg a publikáció domain-nevét az alábbi mezőben.
title: Szerző forrásmegjelölése
challenge:
confirm: Folytatás
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 66791a622d2..a70ae680e44 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -1148,8 +1148,11 @@ ja:
use_security_key: セキュリティキーを使用
author_attribution:
example_title: サンプルテキスト
+ hint_html: Mastodonの外でニュースやブログなどを執筆しているユーザーは、Mastodonで自分の記事が共有されたときに著者情報を表示させることができます。
+ instructions: 以下のコードを自分の記事のHTMLに貼り付けます。
more_from_html: "%{name} のその他の情報"
s_blog: "%{name} のブログ"
+ then_instructions: その後、記事の公開に使用しているドメイン名を以下の入力欄に追加してください。
title: 著者の帰属
challenge:
confirm: 続ける
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index 43944fe0f65..6bff1703e68 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1150,8 +1150,11 @@ ko:
use_security_key: 보안 키 사용
author_attribution:
example_title: 예시 텍스트
+ hint_html: 마스토돈 밖에서 뉴스나 블로그 글을 쓰시나요? 마스토돈에 공유되었을 때 어떻게 표시될지를 제어하세요.
+ instructions: '이 코드가 글의 HTML 안에 포함되는지 확인하세요:'
more_from_html: "%{name}의 게시물 더 보기"
s_blog: "%{name}의 블로그"
+ then_instructions: 그리고 발행처의 도메인 네임을 아래 입력란에 추가하세요.
title: 작성자 기여
challenge:
confirm: 계속
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index 908b15e851b..9e951551104 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -29,11 +29,11 @@ lv:
action: Veikt darbību
already_silenced: Šis konts jau ir ierobežots.
already_suspended: Šis konts jau ir aizturēts.
- title: Veikt moderācijas darbību %{acct}
+ title: Veikt satura pārraudzības darbību %{acct}
account_moderation_notes:
create: Atstāt piezīmi
- created_msg: Moderācijas piezīme ir veiksmīgi izveidota!
- destroyed_msg: Moderācijas piezīme ir veiksmīgi iznīcināta!
+ created_msg: Satura pārraudzības piezīme ir veiksmīgi izveidota.
+ destroyed_msg: Satura pārraudzības piezīme ir veiksmīgi iznīcināta.
accounts:
add_email_domain_block: Liegt e-pasta domēnu
approve: Apstiprināt
@@ -96,12 +96,12 @@ lv:
moderation:
active: Aktīvie
all: Visi
- disabled: Atspējots
+ disabled: Atspējota
pending: Gaida
- silenced: Ierobežotie
- suspended: Apturētie
- title: Moderācija
- moderation_notes: Moderācijas piezīmes
+ silenced: Ierobežoti
+ suspended: Apturēti
+ title: Satura pārraudzība
+ moderation_notes: Satura pārraudzības piezīmes
most_recent_activity: Pati pēdējā darbība
most_recent_ip: Pati pēdējā IP
no_account_selected: Neviens konts netika mainīts, jo neviens netika atlasīts
@@ -236,7 +236,7 @@ lv:
update_status: Atjaunināt ziņu
update_user_role: Atjaunināt lomu
actions:
- approve_appeal_html: "%{name} apstiprināja moderācijas lēmuma apelāciju no %{target}"
+ approve_appeal_html: "%{name} apstiprināja satura pārraudzības lēmuma iebildumu no %{target}"
approve_user_html: "%{name} apstiprināja reģistrēšanos no %{target}"
assigned_to_self_report_html: "%{name} piešķīra pārskatu %{target} sev"
change_email_user_html: "%{name} nomainīja lietotāja %{target} e-pasta adresi"
@@ -267,7 +267,7 @@ lv:
enable_user_html: "%{name} iespējoja pieteikšanos lietotājam %{target}"
memorialize_account_html: "%{name} pārvērta %{target} kontu par atmiņas lapu"
promote_user_html: "%{name} paaugstināja lietotāju %{target}"
- reject_appeal_html: "%{name} noraidīja moderācijas lēmuma apelāciju no %{target}"
+ reject_appeal_html: "%{name} noraidīja satura pārraudzības lēmuma iebildumu no %{target}"
reject_user_html: "%{name} noraidīja reģistrēšanos no %{target}"
remove_avatar_user_html: "%{name} noņēma %{target} profila attēlu"
reopen_report_html: "%{name} atkārtoti atvēra ziņojumu %{target}"
@@ -362,9 +362,9 @@ lv:
other: "%{count}ziņojumi gaida"
zero: "%{count}ziņojumi gaida"
pending_tags_html:
- one: "%{count}tēmturis gaida"
- other: "%{count}tēmturi gaida"
- zero: "%{count}tēmturi gaida"
+ one: "%{count} tēmturis rindā"
+ other: "%{count} tēmturi rindā"
+ zero: "%{count} tēmturu rindā"
pending_users_html:
one: "%{count}lietotājs gaida"
other: "%{count}lietotāji gaida"
@@ -409,7 +409,7 @@ lv:
import: Importēt
new:
create: Izveodot bloku
- hint: Domēna bloķēšana netraucēs izveidot kontu ierakstus datu bāzē, bet ar atpakaļejošu datumu un automātiski tiks piemērotas noteiktas moderēšanas metodes šajos kontos.
+ hint: Domēna aizturēšana netraucēs izveidot kontu ierakstus datubāzē, bet šajos kontos ar atpakaļejošu datumu un automātiski tiks piemērotas noteikti satura pārraudzības veidi.
severity:
desc_html: "Ierobežojums padarīs ziņas no šī domēna kontiem neredzamas ikvienam, kas tiem neseko. Apturēšana no tava servera noņems visu šī domēna kontu saturu, multividi un profila datus. Izmanto Nav, ja vēlies vienkārši noraidīt multivides failus."
noop: Neviens
@@ -532,7 +532,7 @@ lv:
moderation:
all: Visas
limited: Ierobežotās
- title: Moderācija
+ title: Satura pārraudzība
private_comment: Privāts komentārs
public_comment: Publisks komentārs
purge: Iztīrīt
@@ -619,7 +619,7 @@ lv:
none: Neviens
comment_description_html: 'Lai sniegtu vairāk informācijas, %{name} rakstīja:'
confirm: Apstiprināt
- confirm_action: Apstipriniet regulēšanas darbību pret @%{acct}
+ confirm_action: Apstiprināt satura pārraudzības darbību pret @%{acct}
created_at: Ziņoti
delete_and_resolve: Izdzēst rakstus
forwarded: Pārsūtīti
@@ -667,7 +667,7 @@ lv:
delete_data_html: Dzēsiet lietotāja @%{acct} profilu un saturu pēc 30 dienām, ja vien to darbība pa šo laiku netiks atcelta
preview_preamble_html: "@%{acct} saņems brīdinājumu ar šādu saturu:"
record_strike_html: Ierakstiet brīdinājumu pret @%{acct}, lai palīdzētu jums izvērst turpmākus pārkāpumus no šī konta
- warning_placeholder: Izvēles papildu pamatojums regulēšanas darbībai.
+ warning_placeholder: Izvēles papildu pamatojums satura pārraudzības darbībai.
target_origin: Ziņotā konta izcelsme
title: Ziņojumi
unassign: Atsaukt
@@ -682,10 +682,10 @@ lv:
other: "%{count} lietotāji"
zero: "%{count} lietotāju"
categories:
- administration: Administrēšana
+ administration: Pārvaldība
devops: DevOps
invites: Uzaicinājumi
- moderation: Moderācija
+ moderation: Satura pārraudzība
special: Īpašās
delete: Dzēst
description_html: Izmantojot lietotāju lomas, vari pielāgot, kurām Mastodon funkcijām un apgabaliem var piekļūt tavi lietotāji.
@@ -706,7 +706,7 @@ lv:
manage_announcements: Pārvaldīt Paziņojumus
manage_announcements_description: Ļauj lietotājiem pārvaldīt paziņojumus serverī
manage_appeals: Pārvaldīt Pārsūdzības
- manage_appeals_description: Ļauj lietotājiem izskatīt apelācijas pret regulēšanas darbībām
+ manage_appeals_description: Ļauj lietotājiem pārskatīt iebildumus pret satura pārraudzības darbībām
manage_blocks: Pārvaldīt Bloķus
manage_custom_emojis: Pārvaldīt Pielāgotās Emocijzīmes
manage_custom_emojis_description: Ļauj lietotājiem pārvaldīt pielāgotās emocijzīmes serverī
@@ -715,7 +715,7 @@ lv:
manage_invites: Pārvaldīt Uzaicinājumus
manage_invites_description: Ļauj lietotājiem pārlūkot un deaktivizēt uzaicinājuma saites
manage_reports: Pārvaldīt Pārskatus
- manage_reports_description: Ļauj lietotājiem pārskatīt pārskatus un veikt pret tiem regulēšanas darbības
+ manage_reports_description: Ļauj lietotājiem pārskatīt ziņojumus un veikt pret tiem satura pārraudzības darbības
manage_roles: Pārvaldīt Lomas
manage_roles_description: Ļauj lietotājiem pārvaldīt un piešķirt lomas, kas ir zemākas par viņu lomu
manage_rules: Pārvaldīt Noteikumus
@@ -723,10 +723,10 @@ lv:
manage_settings: Pārvaldīt Iestatījumus
manage_settings_description: Ļauj lietotājiem mainīt vietnes iestatījumus
manage_taxonomies: Pārvaldīt Taksonomijas
- manage_taxonomies_description: Ļauj lietotājiem pārskatīt aktuālāko saturu un atjaunināt atsauces iestatījumus
+ manage_taxonomies_description: Ļauj lietotājiem pārskatīt aktuālāko saturu un atjaunināt tēmturu iestatījumus
manage_user_access: Pārvaldīt Lietotāju Piekļuves
manage_users: Pārvaldīt Lietotājus
- manage_users_description: Ļauj lietotājiem skatīt citu lietotāju informāciju un veikt pret viņiem regulēšanas darbības
+ manage_users_description: Ļauj lietotājiem skatīt citu lietotāju informāciju un veikt pret viņiem satura pārraudzības darbības
manage_webhooks: Pārvaldīt Tīmekļa Aizķeres
manage_webhooks_description: Ļauj lietotājiem iestatīt tīmekļa aizķeres administratīviem pasākumiem
view_audit_log: Skatīt Audita Žurnālu
@@ -779,6 +779,7 @@ lv:
disabled: Nevienam
users: Vietējiem reģistrētiem lietotājiem
registrations:
+ moderation_recommandation: Lūgums nodrošināt, ka Tev ir pieņemama un atsaucīga satura pārraudzības komanda, pirms padari reģistrēšanos visiem pieejamu.
preamble: Kontrolē, kurš var izveidot kontu tavā serverī.
title: Reģistrācijas
registrations_mode:
@@ -786,6 +787,7 @@ lv:
approved: Reģistrācijai nepieciešams apstiprinājums
none: Neviens nevar reģistrēties
open: Jebkurš var reģistrēties
+ warning_hint: Mēs iesakām izmantot "Nepieciešams reģistrēšanās apstiprinājums", izņemot, ja esi pārliecināts, ka Tava satura pārraudzības komanda var laicīgi apstrādāt mēstules un ļaunprātīgas reģistrācijas.
security:
authorized_fetch: Pieprasīt autentifikāciju no federētajiem serveriem
authorized_fetch_hint: Pieprasot autentifikāciju no federētajiem serveriem, tiek nodrošināta stingrāka gan lietotāja līmeņa, gan servera līmeņa bloku izpilde. Tomēr tas ir saistīts ar izpildes sodu, samazina tavu atbilžu sasniedzamību un var radīt saderības problēmas ar dažiem federētajiem pakalpojumiem. Turklāt tas netraucēs īpašiem dalībniekiem ienest tavas publiskās ziņas un kontus.
@@ -889,6 +891,8 @@ lv:
review_requested: Pieprasīta pārskatīšana
reviewed: Pārskatīts
title: Stāvoklis
+ unreviewed: Nepārskatīts
+ usable: Izmantojams
name: Nosaukums
newest: Jaunākie
oldest: Vecākie
@@ -897,7 +901,7 @@ lv:
search: Meklēt
title: Tēmturi
updated_msg: Tēmtura iestatījumi ir veiksmīgi atjaunināti
- title: Administrēšana
+ title: Pārvaldība
trends:
allow: Atļaut
approved: Apstiprināts
@@ -1001,9 +1005,9 @@ lv:
sensitive: lai atzīmētu viņu kontu kā sensitīvu
silence: lai ierobežotu viņu kontu
suspend: lai apturētu viņu kontu
- body: "%{target} pārsūdzēja %{action_taken_by} moderēšanas lēmumu no %{date}, kas bija %{type}. Viņi rakstīja:"
- next_steps: Varat apstiprināt apelāciju, lai atsauktu regulēšanas lēmumu, vai ignorēt to.
- subject: "%{username} pārsūdz moderēšanas lēmumu par %{instance}"
+ body: "%{target} iebilst %{action_taken_by} satura pārraudzības lēmumam no %{date}, kas bija %{type}. Viņi rakstīja:"
+ next_steps: Vari apstiprināt iebildumu, lai atsauktu satura pārraudzības lēmumu, vai neņemt to vērā.
+ subject: "%{username} iebilst satura pārraudzības lēmumam par %{instance}"
new_critical_software_updates:
body: Ir izlaistas jaunas Mastodon svarīgās versijas, iespējams, vēlēsies to atjaunināt pēc iespējas ātrāk!
subject: "%{instance} ir pieejami svarīgi Mastodon atjauninājumi!"
@@ -1456,7 +1460,7 @@ lv:
other_data: Nekādi citi dati netiks automātiski pārvietoti
redirect: Tava pašreizējā konta profils tiks atjaunināts ar novirzīšanas paziņojumu un tiks izslēgts no meklēšanas
moderation:
- title: Moderācija
+ title: Satura pārraudzība
move_handler:
carry_blocks_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji bloķējis.
carry_mutes_over_text: Šis lietotājs pārcēlās no %{acct}, kuru tu biji apklusinājis.
@@ -1498,6 +1502,7 @@ lv:
update:
subject: "%{name} laboja ierakstu"
notifications:
+ administration_emails: Pārvaldītāju e-pasta paziņojumi
email_events_hint: 'Atlasi notikumus, par kuriem vēlies saņemt paziņojumus:'
number:
human:
@@ -1546,7 +1551,7 @@ lv:
reach: Sasniedzamība
reach_hint_html: Kontrolē, vai vēlies, lai tevi atklātu un sekotu jauni cilvēki. Vai vēlies, lai tavas ziņas tiktu parādītas ekrānā Izpēte? Vai vēlies, lai citi cilvēki tevi redzētu savos ieteikumos? Vai vēlies automātiski pieņemt visus jaunos sekotājus vai arī tev ir pilnīga kontrole pār katru?
search: Meklēt
- search_hint_html: Kontrolē, kā vēlies tikt atrasts. Vai vēlies, lai cilvēki tevi atrod pēc tā, ko esi publiski publicējis? Vai vēlies, lai cilvēki ārpus Mastodon atrastu tavu profilu, meklējot tīmeklī? Lūdzu, ņem vērā, ka nevar garantēt publiskas informācijas pilnīgu izslēgšanu no visām meklētājprogrammām.
+ search_hint_html: Nosaki, kā vēlies tikt atrasts! Vai vēlies, lai cilvēki Tevi atrod pēc tā, par ko esi veicis visiem redzamus ierakstus? Vai vēlies, lai cilvēki ārpus Mastodon atrastu Tavu profilu, meklējot tīmeklī? Lūdzu, ņem vērā, ka nevar nodrošināt visiem redzamas informācijas pilnīgu izslēgšanu no visām meklētājiem!
title: Privātums un sasniedzamība
privacy_policy:
title: Privātuma Politika
@@ -1583,8 +1588,8 @@ lv:
rss:
content_warning: 'Satura brīdinājums:'
descriptions:
- account: Publiskas ziņas no @%{acct}
- tag: 'Publiskas ziņas ar atzīmi #%{hashtag}'
+ account: Visiem redzami ieraksti no @%{acct}
+ tag: 'Visiem redzami ieraksti ar tēmturi #%{hashtag}'
scheduled_statuses:
over_daily_limit: Tu esi pārsniedzis šodien ieplānoto %{limit} ziņu ierobežojumu
over_total_limit: Tu esi pārsniedzis ieplānoto %{limit} ziņu ierobežojumu
@@ -1658,7 +1663,7 @@ lv:
relationships: Sekojamie un sekotāji
severed_relationships: Pārtrauktās attiecības
statuses_cleanup: Automātiska ziņu dzēšana
- strikes: Moderācijas aizrādījumi
+ strikes: Satura pārraudzības aizrādījumi
two_factor_authentication: Divpakāpju autentifikācija
webauthn_authentication: Drošības atslēgas
severed_relationships:
@@ -1687,7 +1692,7 @@ lv:
disallowed_hashtags:
one: 'saturēja neatļautu tēmturi: %{tags}'
other: 'saturēja neatļautus tēmturus: %{tags}'
- zero: 'neatļauti tēmturi: %{tags}'
+ zero: 'saturēja neatļautus tēmturus: %{tags}'
edited_at_html: Labots %{date}
errors:
in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv.
@@ -1705,7 +1710,7 @@ lv:
public: Publisks
public_long: Visi var redzēt
unlisted: Nerindota
- unlisted_long: Redzama visiem, bet nav iekļauta publiskajās ziņu lentās
+ unlisted_long: Redzams visiem, bet nav uzskaitīts visiem pieejamās laika joslās
statuses_cleanup:
enabled: Automātiski dzēst vecās ziņas
enabled_hint: Automātiski izdzēš tavas ziņas, tiklīdz tās sasniedz noteiktu vecuma slieksni, ja vien tās neatbilst kādam no tālāk norādītajiem izņēmumiem
@@ -1838,7 +1843,8 @@ lv:
explanation: Šeit ir daži padomi, kā sākt darbu
feature_action: Uzzināt vairāk
feature_creativity: Mastodon nodrošina skaņas, video un attēlu ierakstus, pieejamības aprakstus, aptaujas, satura brīdinājumus, animētus profila attēlus, pielāgotas emocijzīmes, sīktēlu apgriešanas vadīklas un vēl, lai palīdzētu Tev sevi izpaust tiešsaistē. Vai Tu izplati savu mākslu, mūziku vai aplādes, Mastodon ir šeit ar Tevi.
- feature_moderation_title: Moderēšana, kādai tai būtu jābūt
+ feature_moderation: Mastodon nodod lēmumu pieņemšanu atpakaļ Tavās rokās. Katrs serveris izveido savus noteikumus un nosacījumus, kas tiek nodrošināti vietēji, ne kā lieliem uzņēmumiem piederošos sabiedriskajos medijiem, padarot katru serveri par vispielāgojamāko un visatsaucīgāko dažādu cilvēku kopu vajadzībām. Pievienojies serverim, kura noteikumiem Tu piekrīti, vai izvieto savu!
+ feature_moderation_title: Satura pārraudzība, kādai tai būtu jābūt
follow_action: Sekot
follow_step: Sekošana aizraujošiem cilvēkiem ir viss, par ko ir Mastodon.
follow_title: Pielāgo savu mājas barotni
@@ -1849,7 +1855,7 @@ lv:
one: "%{people} cilvēks pēdējās 2 dienās"
other: "%{people} cilvēki pēdējās 2 dienās"
zero: "%{people} cilvēku pēdējās divās dienās"
- hashtags_subtitle: Izpēti, kas pēdējās divās dienāš ir piesasitījis cilvēku uzmanību
+ hashtags_subtitle: Izpēti, kas pēdējās divās dienās ir piesasitījis cilvēku uzmanību
hashtags_title: Izplatīti tēmturi
hashtags_view_more: Skatīt vairāk izplatītu tēmturu
post_action: Rakstīt
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index e6edc2c4b2e..9ec4f29f426 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -1166,8 +1166,11 @@ nn:
use_security_key: Bruk sikkerhetsnøkkel
author_attribution:
example_title: Eksempeltekst
+ hint_html: Skriv du nyhende eller blogginnlegg utanfor Mastodon? Her kan du kontrollera korleis du blir kreditert når artiklane dine blir delte på Mastodon.
+ instructions: 'Sjå til at denne koden er i HTML-koden i artikkelen din:'
more_from_html: Meir frå %{name}
s_blog: Bloggen til %{name}
+ then_instructions: Så legg du til domenenamnet for publikasjonen i feltet under.
title: Forfattarkreditering
challenge:
confirm: Hald fram
@@ -1369,6 +1372,37 @@ nn:
blocking_html:
one: Du skal til å byta ut blokkeringslista di med opp til %{count} brukarkonto frå %{filename}.
other: Du skal til å byta ut blokkeringslista di med opp til %{count} brukarkontoar frå %{filename}.
+ bookmarks_html:
+ one: Du skal til å byta ut bokmerka dine med opp til %{count} innlegg frå %{filename}.
+ other: Du skal til å byta ut bokmerka dine med opp til %{count} innlegg frå %{filename}.
+ domain_blocking_html:
+ one: Du skal til å byta ut domeneblokkeringslista di med opp til %{count} domene frå %{filename}.
+ other: Du skal til å byta ut domeneblokkeringslista di med opp til %{count} domene frå %{filename}.
+ following_html:
+ one: Du skal til å fylgja opp til %{count} brukarkonto frå %{filename} og slutta å fylgja alle andre.
+ other: Du skal til å fylgja opp til %{count} brukarkontoar frå %{filename} og slutta å fylgja alle andre.
+ muting_html:
+ one: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{count} brukarkonto frå %{filename}.
+ other: Du skal til å byta ut lista di over dempa brukarkontoar med opp til %{count} brukarkontoar frå %{filename}.
+ preambles:
+ blocking_html:
+ one: Du skal til å blokkera opp til %{count} brukarkonto frå %{filename}.
+ other: Du skal til å blokkera opp til %{count} brukarkontoar frå %{filename}.
+ bookmarks_html:
+ one: Du er i ferd med å leggja til opp til %{count} innlegg frå %{filename} til bokmerka dine.
+ other: Du er i ferd med å leggja til opp til %{count} innlegg frå %{filename} til bokmerka dine.
+ domain_blocking_html:
+ one: Du skal til å blokkera opp til %{count} domene frå %{filename}.
+ other: Du skal til å blokkera opp til %{count} domene frå %{filename}.
+ following_html:
+ one: Du er i ferd med å fylgja opp til %{count} brukarkonto frå %{filename}.
+ other: Du er i ferd med å fylgja opp til %{count} brukarkontoar frå %{filename}.
+ lists_html:
+ one: Du er i ferd med å leggja til opptil %{count} konto frå %{filename} til i listene dine. Nye lister vil blir oppretta om ingen lister finst frå før.
+ other: Du er i ferd med å leggja til opptil %{count} kontoar frå %{filename} til i listene dine. Nye lister vil blir oppretta om ingen lister finst frå før.
+ muting_html:
+ one: Du er i ferd med å dempa opp til %{count} brukarkonto frå %{filename}.
+ other: Du er i ferd med å dempa opp til %{count} brukarkontoar frå %{filename}.
preface: Du kan henta inn data som du har eksportert frå ein annan tenar, som t.d. ei liste over folka du fylgjer eller blokkerer.
recent_imports: Siste importar
states:
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index cfb5578f5db..f8a5776835b 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -3,6 +3,7 @@ eo:
simple_form:
hints:
account:
+ attribution_domains_as_text: Unu por linio. Protektas kontraŭ falsaj atribuoj.
discoverable: Viaj publikaj afiŝoj kaj profilo povas esti prezentitaj aŭ rekomenditaj en diversaj lokoj de Mastodon kaj via profilo povas esti proponita al aliaj uzantoj.
display_name: Via plena nomo aŭ via kromnomo.
fields: Via retpaĝo, pronomoj, aĝo, ĉio, kion vi volas.
@@ -39,12 +40,14 @@ eo:
text: Oni povas apelaci strikin nur unufoje
defaults:
autofollow: Homoj, kiuj registriĝos per la invito aŭtomate sekvos vin
+ avatar: WEBP, PNG, GIF aŭ JPG. Maksimume %{size}. Malgrandiĝos al %{dimensions}px
bot: Tiu konto ĉefe faras aŭtomatajn agojn, kaj povas esti ne kontrolata
context: Unu ol pluraj kuntekstoj kie la filtrilo devus agi
current_password: Pro sekuraj kialoj, bonvolu enigi la pasvorton de la nuna konto
current_username: Por konfirmi, bonvolu enigi la uzantnomon de la nuna konto
digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto
email: Vi ricevos konfirman retpoŝton
+ header: WEBP, PNG, GIF aŭ JPG. Maksimume %{size}. Malgrandiĝos al %{dimensions}px
inbox_url: Kopiu la URL de la ĉefpaĝo de la ripetilo, kiun vi volas uzi
irreversible: La filtritaj mesaĝoj malaperos por eterne, eĉ se la filtrilo poste estas forigita
locale: La lingvo de la fasado, retpoŝtaĵoj, kaj sciigoj
@@ -75,12 +78,15 @@ eo:
warn: Kaŝi la enhavon filtritan malantaŭ averto mencianta la nomon de la filtro
form_admin_settings:
activity_api_enabled: Nombroj de loke publikigitaj afiŝoj, aktivaj uzantoj kaj novaj registradoj en semajnaj siteloj
+ app_icon: WEBP, PNG, GIF aŭ JPG. Anstataŭigas la defaŭltan aplikaĵan bildsimbolon sur porteblaj aparatoj kun propra bildsimbolo.
backups_retention_period: Uzantoj havas la kapablon generi arkivojn de siaj afiŝoj por elŝuti poste. Kiam estas agordita al pozitiva valoro, ĉi tiuj arkivoj estos aŭtomate forigitaj de via stokado post la specifita nombro da tagoj.
bootstrap_timeline_accounts: Ĉi tiuj kontoj pinglitas al la supro de sekvorekomendoj de novaj uzantoj.
closed_registrations_message: Montrita kiam registroj fermitas
+ content_cache_retention_period: Ĉiuj afiŝoj de aliaj serviloj (inkluzive de diskonigoj kaj respondoj) estos forigitaj post la specifita nombro da tagoj, sen konsidero al iu ajn loka uzantinterago kun tiuj afiŝoj. Ĉi tio inkluzivas afiŝojn, kie loka uzanto markis ĝin kiel legosignojn aŭ ŝatatajn. Privataj mencioj inter uzantoj de malsamaj nodoj ankaŭ estos perditaj kaj neeble restaŭreblaj. Uzo de ĉi tiu agordo estas celita por specialcelaj okazoj kaj rompas multajn uzantajn atendojn kiam efektivigita por ĝenerala uzo.
custom_css: Vi povas meti propajn stilojn en la retversio de Mastodon.
favicon: WEBP, PNG, GIF aŭ JPG. Anstataŭigas la defaŭltan Mastodon-favikono kun propra bildsimbolo.
mascot: Anstatauigi la ilustraĵon en la altnivela retinterfaco.
+ media_cache_retention_period: Amaskomunikilaj dosieroj de afiŝoj faritaj de foraj uzantoj estas konservitaj en kaŝmemoro en via servilo. Kiam agordita al pozitiva valoro, amaskomunikilaro estos forigita post la specifita nombro da tagoj. Se la amaskomunikilaro-datumoj estas petitaj post kiam ĝi estas forigita, ĝi estos re-elŝutita, se la fonta enhavo ankoraŭ disponeblas. Pro limigoj pri kiom ofte ligaj antaŭrigardaj kartoj enketas retejojn de ekstera liveranto, oni rekomendas agordi ĉi tiun valoron al almenaŭ 14 tagoj, aŭ ligaj antaŭrigardaj kartoj ne estos ĝisdatigitaj laŭpostule antaŭ tiu tempo.
peers_api_enabled: Listo de domajnaj nomoj kiujn ĉi tiu servilo renkontis en la fediverso. Neniuj datumoj estas inkluditaj ĉi tie pri ĉu vi federacias kun donita servilo, nur ke via servilo scias pri ĝi. Ĉi tio estas uzata de servoj kiuj kolektas statistikojn pri federacio en ĝenerala signifo.
profile_directory: La profilujo listigas ĉiujn uzantojn kiu volonte malkovrebli.
require_invite_text: Kiam registroj bezonas permanan aprobon, igi la "Kial vi volas aliĝi?" tekstoenigon deviga anstau nedeviga
@@ -138,6 +144,7 @@ eo:
url: Kien eventoj sendotas
labels:
account:
+ attribution_domains_as_text: Retejoj permesitaj krediti vin
discoverable: Elstarigi profilon kaj afiŝojn en eltrovantaj algoritmoj
fields:
name: Etikedo
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index 9d7809ef3ab..2b5d22aee83 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -3,7 +3,7 @@ es-MX:
simple_form:
hints:
account:
- attribution_domains_as_text: One per line. Protects from false attributions.
+ attribution_domains_as_text: Uno por línea. Protege contra atribuciones falsas.
discoverable: Tu perfil y las publicaciones públicas pueden ser destacadas o recomendadas en varias áreas de Mastodon y tu perfil puede ser sugerido a otros usuarios.
display_name: Tu nombre completo o tu nick.
fields: Tu página de inicio, pronombres, edad, todo lo que quieras.
diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml
index 61214677684..f51a4ce8bfe 100644
--- a/config/locales/simple_form.fa.yml
+++ b/config/locales/simple_form.fa.yml
@@ -3,6 +3,7 @@ fa:
simple_form:
hints:
account:
+ attribution_domains_as_text: یکی در هر خط. محافظت از اعتباردهیهای اشتباه.
discoverable: ممکن است نمایه و فرستههای عمومیتان در جاهای مختلف ماستودون نمایانده و توصیه شود و نمایهتان به دیگر کاربران پیشنهاد شود.
display_name: نام کامل یا باحالتان.
fields: صفحهٔ خانگی، تلفّظ، سن و هرچیزی که دوست دارید.
@@ -90,6 +91,7 @@ fa:
site_short_description: شرحی کوتاه برای کمک به شناسایی یکتای کارسازتان. چهکسی میگرداندش و برای چه کسیست؟
site_terms: از سیاست محرمانگی خوتان استفاده کرده یا برای استفاده از سیاست پیشگزیده خالی بگذارید. میتواند در قالب مارکدون باشد.
site_title: چگونه مردم ممکن است به کارساز شما علاوه بر نام دامنه آن مراجعه کنند.
+ theme: زمینهای که بینندگان خارج شده و کاربران جدید میبینند.
form_challenge:
current_password: شما در حال ورود به یک منطقهٔ حفاظتشده هستید
imports:
@@ -122,6 +124,7 @@ fa:
url: جایی که رویدادها فرستاده میشوند
labels:
account:
+ attribution_domains_as_text: پابگاههای وبی که اجازهٔ اعتبار دهی به شما را دارند
discoverable: معرّفی نمایه و فرستهها در الگوریتمهای کشف
fields:
name: برچسب
@@ -227,6 +230,7 @@ fa:
bootstrap_timeline_accounts: پیشنهاد همیشگی این حسابها به کاربران جدید
closed_registrations_message: پیام سفارشی هنگام در دسترس نبودن ثبتنامها
custom_css: سبک CSS سفارشی
+ favicon: نمادک
mascot: نشان سفارشی (قدیمی)
media_cache_retention_period: دورهٔ نگهداری انبارهٔ رسانه
peers_api_enabled: انتشار سیاههٔ کارسازهای کشف شده در API
diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml
index 7c125b165a0..f8257a9da9d 100644
--- a/config/locales/simple_form.ga.yml
+++ b/config/locales/simple_form.ga.yml
@@ -3,6 +3,7 @@ ga:
simple_form:
hints:
account:
+ attribution_domains_as_text: Ceann in aghaidh an líne. Cosnaíonn sé ó sannadh bréagach.
discoverable: Seans go mbeidh do phostálacha poiblí agus do phróifíl le feiceáil nó molta i réimsí éagsúla de Mastodon agus is féidir do phróifíl a mholadh d’úsáideoirí eile.
display_name: D'ainm iomlán nó d'ainm spraoi.
fields: Do leathanach baile, forainmneacha, aois, rud ar bith is mian leat.
@@ -143,6 +144,7 @@ ga:
url: An áit a seolfar imeachtaí chuig
labels:
account:
+ attribution_domains_as_text: Tá cead ag suíomhanna Gréasáin creidmheas a thabhairt duit
discoverable: Próifíl gné agus postálacha in halgartaim fionnachtana
fields:
name: Lipéad
diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml
index 545fd4a8e91..230965fe87f 100644
--- a/config/locales/simple_form.hu.yml
+++ b/config/locales/simple_form.hu.yml
@@ -3,6 +3,7 @@ hu:
simple_form:
hints:
account:
+ attribution_domains_as_text: Megvéd a hamis forrásmegjelölésektől.
discoverable: A nyilvános bejegyzéseid és a profilod kiemelhető vagy ajánlható a Mastodon különböző területein, a profilod más felhasználóknak is javasolható.
display_name: Teljes neved vagy vicces neved.
fields: Weboldalad, megszólításaid, korod, bármi, amit szeretnél.
@@ -143,6 +144,7 @@ hu:
url: Ahová az eseményket küldjük
labels:
account:
+ attribution_domains_as_text: Weboldalak, melyek szerzőként tüntethetnek fel
discoverable: Profil és bejegyzések szerepeltetése a felfedezési algoritmusokban
fields:
name: Címke
diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml
index 6ce16b64480..27e98341cb8 100644
--- a/config/locales/simple_form.ja.yml
+++ b/config/locales/simple_form.ja.yml
@@ -3,6 +3,7 @@ ja:
simple_form:
hints:
account:
+ attribution_domains_as_text: 1行につき1つずつ入力してください。この設定は関わりのないwebサイトに対して虚偽の帰属表示が行われることを防止する役割があります。
discoverable: プロフィールと公開投稿をMastodonのおすすめやハイライトとしてほかのユーザーに表示することを許可します。
display_name: フルネーム、ハンドルネームなど
fields: ホームページ、代名詞、年齢など何でも構いません。
@@ -143,6 +144,7 @@ ja:
url: イベントの送信先
labels:
account:
+ attribution_domains_as_text: あなたの著者表示を許可するwebサイト
discoverable: アカウントを見つけやすくする
fields:
name: ラベル
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index fee07fa5e0f..c40814d61b1 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -3,6 +3,7 @@ ko:
simple_form:
hints:
account:
+ attribution_domains_as_text: 한 줄에 하나씩. 가짜 기여로부터 보호합니다.
discoverable: 내 공개 게시물과 프로필이 마스토돈의 다양한 추천 기능에 나타날 수 있고 프로필이 다른 사용자에게 제안될 수 있습니다
display_name: 진짜 이름 또는 재미난 이름.
fields: 홈페이지, 호칭, 나이, 뭐든지 적고 싶은 것들.
@@ -143,6 +144,7 @@ ko:
url: 이벤트가 어디로 전송될 지
labels:
account:
+ attribution_domains_as_text: 나를 기여자로 올릴 수 있도록 허용된 웹사이트들
discoverable: 발견하기 알고리즘에 프로필과 게시물을 추천하기
fields:
name: 라벨
diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml
index 4303ba9b414..974008b5ebc 100644
--- a/config/locales/simple_form.lv.yml
+++ b/config/locales/simple_form.lv.yml
@@ -3,6 +3,7 @@ lv:
simple_form:
hints:
account:
+ attribution_domains_as_text: Viens katrā līnijā. Aizsargā no nepatiesa attiecinājuma.
discoverable: Tavas publiskās ziņas un profils var tikt piedāvāti vai ieteikti dažādās Mastodon vietās, un tavs profils var tikt ieteikts citiem lietotājiem.
display_name: Tavs pilnais vārds vai tavs joku vārds.
fields: Tava mājas lapa, vietniekvārdi, vecums, viss, ko vēlies.
@@ -18,7 +19,7 @@ lv:
text: Vari izmantot ziņu sintaksi, piemēram, URL, atsauces un pieminējumus
title: Neobligāts. Saņēmējam nav redzams
admin_account_action:
- include_statuses: Lietotājs redzēs, kuras ziņas izraisījušas moderācijas darbību vai brīdinājumu
+ include_statuses: Lietotājs redzēs, kuras ziņas izraisījušas satura pārraudzības darbību vai brīdinājumu
send_email_notification: Lietotājs saņems paskaidrojumu par to, kas notika ar viņa kontu
text_html: Neobligāts. Tu vari lietot ziņu sintaksi. Lai ietaupītu laiku, tu vari pievienot brīdinājuma sākotnējos iestatījumus
type_html: Izvēlies, ko darīt ar %{acct}
@@ -143,6 +144,7 @@ lv:
url: Kur notikumi tiks nosūtīti
labels:
account:
+ attribution_domains_as_text: Tīmekļvietnes, kurām ir tiesības uzskaitīt Tevi
discoverable: Funkcijas profils un ziņas atklāšanas algoritmos
fields:
name: Marķējums
diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml
index afd3624785a..7280ba6d801 100644
--- a/config/locales/simple_form.nl.yml
+++ b/config/locales/simple_form.nl.yml
@@ -213,7 +213,7 @@ nl:
setting_default_privacy: Zichtbaarheid van nieuwe berichten
setting_default_sensitive: Media altijd als gevoelig markeren
setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging
- setting_disable_hover_cards: Profielvoorbeelden door eroverheen te zweven uitschakelen
+ setting_disable_hover_cards: Hover-kaarten met profielvoorbeelden uitschakelen
setting_disable_swiping: Swipebewegingen uitschakelen
setting_display_media: Mediaweergave
setting_display_media_default: Standaard
diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml
index f963d3bc72d..46b7af4bdb0 100644
--- a/config/locales/simple_form.nn.yml
+++ b/config/locales/simple_form.nn.yml
@@ -3,6 +3,7 @@ nn:
simple_form:
hints:
account:
+ attribution_domains_as_text: Ein per line. Vernar mot falske krediteringar.
discoverable: Dei offentlege innlegga dine og profilen din kan dukka opp i tilrådingar på ulike stader på Mastodon, og profilen din kan bli føreslegen for andre folk.
display_name: Ditt fulle namn eller ditt tøysenamn.
fields: Heimesida di, pronomen, alder, eller kva du måtte ynskje.
@@ -143,6 +144,7 @@ nn:
url: Kvar hendingar skal sendast
labels:
account:
+ attribution_domains_as_text: Nettstader som har lov å kreditera deg
discoverable: Ta med profilen og innlegga i oppdagingsalgoritmar
fields:
name: Merkelapp
diff --git a/config/locales/simple_form.sq.yml b/config/locales/simple_form.sq.yml
index 3d865572824..1ca9037e634 100644
--- a/config/locales/simple_form.sq.yml
+++ b/config/locales/simple_form.sq.yml
@@ -3,6 +3,7 @@ sq:
simple_form:
hints:
account:
+ attribution_domains_as_text: Një për rresht. Kjo mbron nga atribuime të rreme.
discoverable: Postimet dhe profili juaj publik mund të shfaqen, ose rekomandohen në zona të ndryshme të Mastodon-it dhe profili juaj mund të sugjerohet përdoruesve të tjerë.
display_name: Emri juaj i plotë, ose emri juaj lojcak.
fields: Faqja juaj hyrëse, përemra, moshë, ç’të keni qejf.
@@ -143,6 +144,7 @@ sq:
url: Ku do të dërgohen aktet
labels:
account:
+ attribution_domains_as_text: Sajte të lejuar t’ju japin hakë
discoverable: Profilin dhe postimet bëji objekt të algoritmeve të zbulimit
fields:
name: Etiketë
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index 297e96a2bdf..36d1def0124 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -3,6 +3,7 @@ sv:
simple_form:
hints:
account:
+ attribution_domains_as_text: En per rad. Skyddar mot falska attributioner.
discoverable: Dina offentliga inlägg och din profil kan komma att presenteras eller rekommenderas inom olika områden av Mastodon och din profil kan komma att föreslås till andra användare.
display_name: Ditt fullständiga namn eller ditt roliga namn.
fields: Din hemsida, ditt pronomen, din ålder, vadhelst du vill.
@@ -143,6 +144,7 @@ sv:
url: Dit händelser kommer skickas
labels:
account:
+ attribution_domains_as_text: Webbplatser som får kreditera dig
discoverable: Presentera profil och inlägg med upptäcktsalgoritmer
fields:
name: Etikett
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 8bd782c1405..f8f4d3f1194 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -3,6 +3,7 @@ th:
simple_form:
hints:
account:
+ attribution_domains_as_text: หนึ่งรายการต่อบรรทัด ปกป้องจากการระบุแหล่งที่มาที่ผิด
discoverable: อาจแสดงหรือแนะนำโพสต์และโปรไฟล์สาธารณะของคุณในพื้นที่ต่าง ๆ ของ Mastodon และอาจเสนอแนะโปรไฟล์ของคุณให้กับผู้ใช้อื่น ๆ
display_name: ชื่อเต็มของคุณหรือชื่อแบบสนุกสนานของคุณ
fields: หน้าแรก, สรรพนาม, อายุของคุณ สิ่งใดก็ตามที่คุณต้องการ
@@ -143,6 +144,7 @@ th:
url: ที่ซึ่งจะส่งเหตุการณ์ไปยัง
labels:
account:
+ attribution_domains_as_text: เว็บไซต์ที่ได้รับอนุญาตให้ให้เครดิตคุณ
discoverable: แสดงโปรไฟล์และโพสต์ในอัลกอริทึมการค้นพบ
fields:
name: ป้ายชื่อ
diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml
index e2a1562b534..74dcd3f9087 100644
--- a/config/locales/simple_form.uk.yml
+++ b/config/locales/simple_form.uk.yml
@@ -3,6 +3,7 @@ uk:
simple_form:
hints:
account:
+ attribution_domains_as_text: Один на рядок. Захищає від фальшивих атрибутів.
discoverable: Ваші дописи та профіль можуть бути рекомендовані в різних частинах Mastodon і ваш профіль може бути запропонований іншим користувачам.
display_name: Ваше повне ім'я або ваш псевдонім.
fields: Ваша домашня сторінка, займенники, вік, все, що вам заманеться.
@@ -143,6 +144,7 @@ uk:
url: Куди надсилатимуться події
labels:
account:
+ attribution_domains_as_text: Сайти дозволяють вам вказувати ваше авторство
discoverable: Функції профілю та дописів у алгоритмах виявлення
fields:
name: Мітка
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index 399ecc061af..6ef78a8f211 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -49,6 +49,7 @@ sk:
title: Zmeň email pre %{username}
change_role:
changed_msg: Postavenie úspešne zmenené!
+ edit_roles: Spravuj role užívateľov
label: Zmeň pozíciu
no_role: Žiadna pozícia
title: Zmeň pozíciu pre %{username}
@@ -61,6 +62,7 @@ sk:
demote: Degraduj
destroyed_msg: "%{username} je teraz zaradený do fronty na okamžité vymazanie"
disable: Zablokuj
+ disable_sign_in_token_auth: Vypni overovanie e-mailovým tokenom
disable_two_factor_authentication: Vypni dvoj-faktorové overovanie
disabled: Blokovaný
display_name: Ukáž meno
@@ -69,6 +71,7 @@ sk:
email: Email
email_status: Stav emailu
enable: Povoľ
+ enable_sign_in_token_auth: Povoľ overovania e-mailovým tokenom
enabled: Povolený
enabled_msg: Úspešne rozmrazené konto %{username}
followers: Sledujúci
@@ -822,6 +825,7 @@ sk:
prefix_invited_by_user: "@%{name} ťa pozýva na tento Mastodon server!"
prefix_sign_up: Zaregistruj sa na Mastodone už dnes!
suffix: S účtom budeš môcť nasledovať ľudí, posielať príspevky, a vymieňať si správy s užívateľmi z hocijakého Mastodon servera a viac!
+ didnt_get_confirmation: Neobdržal/a si odkaz na potvrdenie?
dont_have_your_security_key: Nemáš svoj bezpečnostný kľúč?
forgot_password: Zabudnuté heslo?
invalid_reset_password_token: Token na obnovu hesla vypršal. Prosím vypítaj si nový.
@@ -832,6 +836,7 @@ sk:
migrate_account_html: Ak si želáš presmerovať tento účet na nejaký iný, môžeš si to nastaviť tu.
or_log_in_with: Alebo prihlás s
progress:
+ confirm: Potvrď email
details: Tvoje údaje
rules: Súhlas s pravidlami
register: Zaregistruj sa
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index c113308eea9..980eff1aa58 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -1159,8 +1159,11 @@ sq:
use_security_key: Përdor kyç sigurie
author_attribution:
example_title: Tekst shembull
+ hint_html: Shkruani lajme, apo artikuj blogu jashtë Mastodon-it? Kontrolloni se si ju jepet hakë, kur ndahen me të tjerët në Mastodon.
+ instructions: 'Sigurohuni që ky kod të jetë në HTML-në e artikullit tuaj:'
more_from_html: Më tepër nga %{name}
s_blog: Blogu i %{name}
+ then_instructions: Mandej, shtoni te fusha më poshtë emrin e përkatësisë së botimit.
title: Atribuim autorësh
challenge:
confirm: Vazhdo
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index b79820310c7..f3ce6443f6d 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -542,7 +542,7 @@ sv:
total_followed_by_them: Följs av dem
total_followed_by_us: Följs av oss
total_reported: Rapporter om dem
- total_storage: Media-bilagor
+ total_storage: Mediebilagor
totals_time_period_hint_html: Totalsummorna som visas nedan inkluderar data för all tid.
unknown_instance: Det finns för närvarande inga uppgifter om denna domän på denna server.
invites:
@@ -893,6 +893,7 @@ sv:
message_html: "Din objektlagring är felkonfigurerad. Sekretessen för dina användare är i riskzonen."
tags:
moderation:
+ not_trendable: Kan inte trenda
not_usable: Inte användbar
pending_review: Väntar på granskning
review_requested: Granskning begärd
@@ -904,6 +905,7 @@ sv:
name: Namn
newest: Nyaste
oldest: Äldsta
+ open: Visa offentligt
reset: Återställ
review: Granskningsstatus
search: Sök
@@ -1164,8 +1166,11 @@ sv:
use_security_key: Använd säkerhetsnyckel
author_attribution:
example_title: Exempeltext
+ hint_html: Skriver du nyheter eller bloggartiklar utanför Mastodon? Kontrollera hur du får krediteras när de delas på Mastodon.
+ instructions: 'Se till att den här koden finns i din artikels HTML:'
more_from_html: Mer från %{name}
s_blog: "%{name}s blogg"
+ then_instructions: Lägg sedan till domännamnet för publikationen i fältet nedan.
title: Författarattribution
challenge:
confirm: Fortsätt
@@ -1364,9 +1369,43 @@ sv:
overwrite: Skriv över
overwrite_long: Ersätt de nuvarande uppgifterna med de nya
overwrite_preambles:
+ blocking_html:
+ one: Du är på väg att ersätta din blockeringslista med upp till %{count} konto från %{filename}.
+ other: Du är på väg att ersätta din blockeringslista med upp till %{count} konton från %{filename}.
bookmarks_html:
one: Du är på väg att ersätta din blockeringslista med upp till %{count} inlägg från %{filename}.
other: Du är på väg att ersätta din blockeringslista med upp till %{count} inlägg från %{filename}.
+ domain_blocking_html:
+ one: Du är på väg att ersätta din blockeringslista med upp till %{count} domän från %{filename}.
+ other: Du är på väg att ersätta din blockeringslista med upp till %{count} domäner från %{filename}.
+ following_html:
+ one: Du är på väg till följ upp till %{count} konto från %{filename} och sluta följa någon annan.
+ other: Du är på väg till följ upp till %{count} konton från %{filename} och sluta följa någon annan.
+ lists_html:
+ one: Du är på väg att ersätta dina listor med innehållet i %{filename}. Upp till %{count} konto kommer att läggas till i nya listor.
+ other: Du är på väg att ersätta dina listor med innehållet i %{filename}. Upp till %{count} konton kommer att läggas till i nya listor.
+ muting_html:
+ one: Du är på väg att ersätta din lista med tystade konton med upp till %{count} konto från %{filename}.
+ other: Du är på väg att ersätta din lista med tystade konton med upp till %{count} konton från %{filename}.
+ preambles:
+ blocking_html:
+ one: Du är på väg att blockera med upp till %{count} konto från %{filename}.
+ other: Du är på väg att blockera med upp till %{count} konton från %{filename}.
+ bookmarks_html:
+ one: Du håller på att lägga upp till %{count} inlägg från %{filename} till dina bokmärken.
+ other: Du håller på att lägga upp till %{count} inlägg från %{filename} till dina bokmärken.
+ domain_blocking_html:
+ one: Du är på väg att blockera upp till %{count} domän från %{filename}.
+ other: Du är på väg att blockera upp till %{count} domäner från %{filename}.
+ following_html:
+ one: Du är på väg att följa upp till %{count} konto från %{filename}.
+ other: Du är på väg att följa upp till %{count} konton från %{filename}.
+ lists_html:
+ one: Du håller på att lägga upp till %{count} konto från %{filename} till dina listor. Nya listor kommer att skapas om det inte finns någon lista att lägga till.
+ other: Du håller på att lägga upp till %{count} konton från %{filename} till dina listor. Nya listor kommer att skapas om det inte finns någon lista att lägga till.
+ muting_html:
+ one: Du är på väg att tysta upp till %{count} konto från %{filename}.
+ other: Du är på väg att tysta upp till %{count} konton från %{filename}.
preface: Du kan importera data som du exporterat från en annan instans, till exempel en lista över personer du följer eller blockerar.
recent_imports: Nyligen importerade
states:
diff --git a/config/locales/th.yml b/config/locales/th.yml
index 2c21687a460..cdc56d98ce0 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -1148,8 +1148,11 @@ th:
use_security_key: ใช้กุญแจความปลอดภัย
author_attribution:
example_title: ข้อความตัวอย่าง
+ hint_html: คุณเขียนข่าวหรือลงบทความที่อื่นๆที่นอกจาก Mastodon บ้างไหม? ถ้าหากคุณเขียนอยู่ล่ะก็ คุณสามารถบอกได้นะว่าอยากให้คนอื่นให้เครดิตคุณยังไงเวลาแชร์ไปที่ Mastodon นะ
+ instructions: 'โปรดตรวจสอบให้แน่ใจว่าโค้ดนี้ได้มีอยู่ในบทความของคุณแล้ว HTML:'
more_from_html: เพิ่มเติมจาก %{name}
s_blog: บล็อกของ %{name}
+ then_instructions: จากนั้น ให้เพิ่มใส่ชื่อเว็บไซต์ของสิ่งพิมพ์ลงไปในช่องว่างข้างล่าง
title: การระบุแหล่งที่มาผู้สร้าง
challenge:
confirm: ดำเนินการต่อ
@@ -1340,6 +1343,32 @@ th:
merge_long: เก็บระเบียนที่มีอยู่และเพิ่มระเบียนใหม่
overwrite: เขียนทับ
overwrite_long: แทนที่ระเบียนปัจจุบันด้วยระเบียนใหม่
+ overwrite_preambles:
+ blocking_html:
+ other: คุณกำลังจะ แทนที่รายการการปิดกั้นของคุณ ด้วยมากถึง %{count} บัญชี จาก %{filename}
+ bookmarks_html:
+ other: คุณกำลังจะ แทนที่ที่คั่นหน้าของคุณ ด้วยมากถึง %{count} โพสต์ จาก %{filename}
+ domain_blocking_html:
+ other: คุณกำลังจะ แทนที่รายการการปิดกั้นโดเมนของคุณ ด้วยมากถึง %{count} โดเมน จาก %{filename}
+ following_html:
+ other: คุณกำลังจะ ติดตาม มากถึง %{count} บัญชี จาก %{filename} และ หยุดการติดตามคนอื่นใด
+ lists_html:
+ other: คุณกำลังจะ แทนที่รายการของคุณ ด้วยเนื้อหาของ %{filename} จะเพิ่มมากถึง %{count} บัญชี ไปยังรายการใหม่
+ muting_html:
+ other: คุณกำลังจะ แทนที่รายการบัญชีที่ซ่อนอยู่ของคุณ ด้วยมากถึง %{count} บัญชี จาก %{filename}
+ preambles:
+ blocking_html:
+ other: คุณกำลังจะ ปิดกั้น มากถึง %{count} บัญชี จาก %{filename}
+ bookmarks_html:
+ other: คุณกำลังจะเพิ่มมากถึง %{count} โพสต์ จาก %{filename} ไปยัง ที่คั่นหน้า ของคุณ
+ domain_blocking_html:
+ other: คุณกำลังจะ ปิดกั้น มากถึง %{count} โดเมน จาก %{filename}
+ following_html:
+ other: คุณกำลังจะ ติดตาม มากถึง %{count} บัญชี จาก %{filename}
+ lists_html:
+ other: คุณกำลังจะเพิ่มมากถึง %{count} บัญชี จาก %{filename} ไปยัง รายการ ของคุณ จะสร้างรายการใหม่หากไม่มีรายการที่จะเพิ่มไปยัง
+ muting_html:
+ other: คุณกำลังจะ ซ่อน มากถึง %{count} บัญชี จาก %{filename}
preface: คุณสามารถนำเข้าข้อมูลที่คุณได้ส่งออกจากเซิร์ฟเวอร์อื่น เช่น รายการผู้คนที่คุณกำลังติดตามหรือกำลังปิดกั้น
recent_imports: การนำเข้าล่าสุด
states:
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index ab50ac4deea..e6a765267fd 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -1202,6 +1202,8 @@ uk:
use_security_key: Використовувати ключ безпеки
author_attribution:
example_title: Зразок тексту
+ hint_html: Ви пишете новини чи статті в блозі за межами Mastodon? Контролюйте, як вони підписуються, коли ними діляться на Mastodon.
+ instructions: 'Переконайтесь, що цей код розміщено в HTML-коді вашої статті:'
more_from_html: Більше від %{name}
s_blog: Блог %{name}
then_instructions: Потім додайте доменне ім'я публікації у поле нижче.
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index 00431ba4250..172ce55a3d4 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -832,8 +832,8 @@ vi:
sensitive: "%{name} đã đánh dấu %{target} là nhạy cảm"
silence: "%{name} đã ẩn %{target}"
suspend: "%{name} đã vô hiệu hóa %{target}"
- appeal_approved: Đã khiếu nại
- appeal_pending: Đang kháng cáo
+ appeal_approved: Khiếu nại được chấp nhận
+ appeal_pending: Đang khiếu nại
appeal_rejected: Khiếu nại bị từ chối
system_checks:
database_schema_check:
@@ -1148,7 +1148,7 @@ vi:
use_security_key: Dùng khóa bảo mật
author_attribution:
example_title: Văn bản mẫu
- hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bạn được ghi nhận khi chúng được chia sẻ trên Mastodon.
+ hint_html: Bạn là nhà báo hoặc blogger bên ngoài Mastodon? Kiểm soát cách bài viết của bạn được ghi nhận khi chia sẻ trên Mastodon.
instructions: 'Đặt mã này trong HTML bài viết:'
more_from_html: Viết bởi %{name}
s_blog: "%{name}'s Blog"
diff --git a/config/translation.yml b/config/translation.yml
new file mode 100644
index 00000000000..e074c5d0f22
--- /dev/null
+++ b/config/translation.yml
@@ -0,0 +1,7 @@
+shared:
+ deepl:
+ api_key: <%= ENV.fetch('DEEPL_API_KEY', nil) %>
+ plan: <%= ENV.fetch('DEEPL_PLAN', 'free') %>
+ libre_translate:
+ api_key: <%= ENV.fetch('LIBRE_TRANSLATE_API_KEY', nil) %>
+ endpoint: <%= ENV.fetch('LIBRE_TRANSLATE_ENDPOINT', nil) %>
diff --git a/db/migrate/20241014010506_remove_duplicate_indexes.rb b/db/migrate/20241014010506_remove_duplicate_indexes.rb
new file mode 100644
index 00000000000..50e0e6ffcfc
--- /dev/null
+++ b/db/migrate/20241014010506_remove_duplicate_indexes.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+class RemoveDuplicateIndexes < ActiveRecord::Migration[7.1]
+ def change
+ remove_index :account_aliases, :account_id
+ remove_index :account_relationship_severance_events, :account_id
+ remove_index :custom_filter_statuses, :status_id
+ remove_index :webauthn_credentials, :user_id
+ end
+end
diff --git a/db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb b/db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb
new file mode 100644
index 00000000000..e34caff2402
--- /dev/null
+++ b/db/migrate/20241022214312_add_untrusted_favourites_count_and_untrusted_reblogs_count_to_status_stat.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+class AddUntrustedFavouritesCountAndUntrustedReblogsCountToStatusStat < ActiveRecord::Migration[7.1]
+ def change
+ add_column :status_stats, :untrusted_favourites_count, :bigint, null: true
+ add_column :status_stats, :untrusted_reblogs_count, :bigint, null: true
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 68067841e03..bea9ad46be5 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
+ActiveRecord::Schema[7.1].define(version: 2024_10_22_214312) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -21,7 +21,6 @@ ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
t.index ["account_id", "uri"], name: "index_account_aliases_on_account_id_and_uri", unique: true
- t.index ["account_id"], name: "index_account_aliases_on_account_id"
end
create_table "account_conversations", force: :cascade do |t|
@@ -99,7 +98,6 @@ ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
t.integer "followers_count", default: 0, null: false
t.integer "following_count", default: 0, null: false
t.index ["account_id", "relationship_severance_event_id"], name: "idx_on_account_id_relationship_severance_event_id_7bd82bf20e", unique: true
- t.index ["account_id"], name: "index_account_relationship_severance_events_on_account_id"
t.index ["relationship_severance_event_id"], name: "idx_on_relationship_severance_event_id_403f53e707"
end
@@ -397,7 +395,6 @@ ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
t.datetime "updated_at", null: false
t.index ["custom_filter_id"], name: "index_custom_filter_statuses_on_custom_filter_id"
t.index ["status_id", "custom_filter_id"], name: "index_custom_filter_statuses_on_status_id_and_custom_filter_id", unique: true
- t.index ["status_id"], name: "index_custom_filter_statuses_on_status_id"
end
create_table "custom_filters", force: :cascade do |t|
@@ -1011,6 +1008,8 @@ ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
t.bigint "favourites_count", default: 0, null: false
t.datetime "created_at", precision: nil, null: false
t.datetime "updated_at", precision: nil, null: false
+ t.bigint "untrusted_favourites_count"
+ t.bigint "untrusted_reblogs_count"
t.index ["status_id"], name: "index_status_stats_on_status_id", unique: true
end
@@ -1202,7 +1201,6 @@ ActiveRecord::Schema[7.1].define(version: 2024_10_07_071624) do
t.datetime "updated_at", precision: nil, null: false
t.index ["external_id"], name: "index_webauthn_credentials_on_external_id", unique: true
t.index ["user_id", "nickname"], name: "index_webauthn_credentials_on_user_id_and_nickname", unique: true
- t.index ["user_id"], name: "index_webauthn_credentials_on_user_id"
end
create_table "webhooks", force: :cascade do |t|
diff --git a/package.json b/package.json
index d144b0c156e..f907dc4f6c7 100644
--- a/package.json
+++ b/package.json
@@ -48,7 +48,7 @@
"@formatjs/intl-pluralrules": "^5.2.2",
"@gamestdio/websocket": "^0.3.2",
"@github/webauthn-json": "^2.1.1",
- "@rails/ujs": "7.1.401",
+ "@rails/ujs": "7.1.402",
"@reduxjs/toolkit": "^2.0.1",
"@svgr/webpack": "^5.5.0",
"arrow-key-navigation": "^1.2.0",
diff --git a/spec/controllers/admin/confirmations_controller_spec.rb b/spec/controllers/admin/confirmations_controller_spec.rb
index 95591607867..59ea0121cac 100644
--- a/spec/controllers/admin/confirmations_controller_spec.rb
+++ b/spec/controllers/admin/confirmations_controller_spec.rb
@@ -11,7 +11,7 @@ RSpec.describe Admin::ConfirmationsController do
describe 'POST #create' do
it 'confirms the user' do
- user = Fabricate(:user, confirmed_at: false)
+ user = Fabricate(:user, confirmed_at: nil)
post :create, params: { account_id: user.account.id }
expect(response).to redirect_to(admin_accounts_path)
diff --git a/spec/controllers/auth/registrations_controller_spec.rb b/spec/controllers/auth/registrations_controller_spec.rb
index 6118edf4e34..d1542128e7a 100644
--- a/spec/controllers/auth/registrations_controller_spec.rb
+++ b/spec/controllers/auth/registrations_controller_spec.rb
@@ -233,17 +233,7 @@ RSpec.describe Auth::RegistrationsController do
Setting.registrations_mode = 'open'
Fabricate(:email_domain_block, allow_with_approval: true, domain: 'mail.example.com')
allow(User).to receive(:skip_mx_check?).and_return(false)
-
- resolver = instance_double(Resolv::DNS, :timeouts= => nil)
-
- allow(resolver).to receive(:getresources)
- .with('example.com', Resolv::DNS::Resource::IN::MX)
- .and_return([instance_double(Resolv::DNS::Resource::MX, exchange: 'mail.example.com')])
- allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([])
- allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::AAAA).and_return([])
- allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([instance_double(Resolv::DNS::Resource::IN::A, address: '2.3.4.5')])
- allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::AAAA).and_return([instance_double(Resolv::DNS::Resource::IN::AAAA, address: 'fd00::2')])
- allow(Resolv::DNS).to receive(:open).and_yield(resolver)
+ configure_mx(domain: 'example.com', exchange: 'mail.example.com')
end
it 'creates unapproved user and redirects to setup' do
diff --git a/spec/fabricators/preview_card_trend_fabricator.rb b/spec/fabricators/preview_card_trend_fabricator.rb
new file mode 100644
index 00000000000..14c126cc89f
--- /dev/null
+++ b/spec/fabricators/preview_card_trend_fabricator.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+Fabricator(:preview_card_trend) do
+ preview_card
+end
diff --git a/spec/fabricators/status_trend_fabricator.rb b/spec/fabricators/status_trend_fabricator.rb
new file mode 100644
index 00000000000..c775892b1ff
--- /dev/null
+++ b/spec/fabricators/status_trend_fabricator.rb
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+Fabricator(:status_trend) do
+ status
+ account
+end
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 0f78dc82f51..ffcc5b81b66 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -227,28 +227,6 @@ RSpec.describe ApplicationHelper do
end
end
- describe 'visibility_icon' do
- it 'returns a globe icon for a public visible status' do
- result = helper.visibility_icon Status.new(visibility: 'public')
- expect(result).to match(/globe/)
- end
-
- it 'returns an unlock icon for a unlisted visible status' do
- result = helper.visibility_icon Status.new(visibility: 'unlisted')
- expect(result).to match(/lock_open/)
- end
-
- it 'returns a lock icon for a private visible status' do
- result = helper.visibility_icon Status.new(visibility: 'private')
- expect(result).to match(/lock/)
- end
-
- it 'returns an at icon for a direct visible status' do
- result = helper.visibility_icon Status.new(visibility: 'direct')
- expect(result).to match(/alternate_email/)
- end
- end
-
describe 'title' do
it 'returns site title on production environment' do
Setting.site_title = 'site title'
diff --git a/spec/helpers/database_helper_spec.rb b/spec/helpers/database_helper_spec.rb
new file mode 100644
index 00000000000..9ea398bf4ca
--- /dev/null
+++ b/spec/helpers/database_helper_spec.rb
@@ -0,0 +1,61 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe DatabaseHelper do
+ context 'when a replica is enabled' do
+ around do |example|
+ ClimateControl.modify REPLICA_DB_NAME: 'prod-relay-quantum-tunnel-mirror' do
+ example.run
+ end
+ end
+
+ before { allow(ApplicationRecord).to receive(:connected_to) }
+
+ describe '#with_read_replica' do
+ it 'uses the replica for connections' do
+ helper.with_read_replica { _x = 1 }
+
+ expect(ApplicationRecord)
+ .to have_received(:connected_to).with(role: :reading, prevent_writes: true)
+ end
+ end
+
+ describe '#with_primary' do
+ it 'uses the primary for connections' do
+ helper.with_primary { _x = 1 }
+
+ expect(ApplicationRecord)
+ .to have_received(:connected_to).with(role: :writing)
+ end
+ end
+ end
+
+ context 'when a replica is not enabled' do
+ around do |example|
+ ClimateControl.modify REPLICA_DB_NAME: nil do
+ example.run
+ end
+ end
+
+ before { allow(ApplicationRecord).to receive(:connected_to) }
+
+ describe '#with_read_replica' do
+ it 'does not use the replica for connections' do
+ helper.with_read_replica { _x = 1 }
+
+ expect(ApplicationRecord)
+ .to_not have_received(:connected_to).with(role: :reading, prevent_writes: true)
+ end
+ end
+
+ describe '#with_primary' do
+ it 'does not use the primary for connections' do
+ helper.with_primary { _x = 1 }
+
+ expect(ApplicationRecord)
+ .to_not have_received(:connected_to).with(role: :writing)
+ end
+ end
+ end
+end
diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb
index bdc8fd9d519..9482a309592 100644
--- a/spec/lib/activitypub/activity/create_spec.rb
+++ b/spec/lib/activitypub/activity/create_spec.rb
@@ -928,6 +928,32 @@ RSpec.describe ActivityPub::Activity::Create do
expect(poll.votes.first).to be_nil
end
end
+
+ context 'with counts' do
+ let(:object_json) do
+ {
+ id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar'].join,
+ type: 'Note',
+ content: 'Lorem ipsum',
+ likes: {
+ id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar', '/likes'].join,
+ type: 'Collection',
+ totalItems: 50,
+ },
+ shares: {
+ id: [ActivityPub::TagManager.instance.uri_for(sender), '#bar', '/shares'].join,
+ type: 'Collection',
+ totalItems: 100,
+ },
+ }
+ end
+
+ it 'uses the counts from the created object' do
+ status = sender.statuses.first
+ expect(status.untrusted_favourites_count).to eq 50
+ expect(status.untrusted_reblogs_count).to eq 100
+ end
+ end
end
context 'when object URI uses bearcaps' do
diff --git a/spec/lib/activitypub/activity/update_spec.rb b/spec/lib/activitypub/activity/update_spec.rb
index 87e96d2d1b1..b829f3a5ad6 100644
--- a/spec/lib/activitypub/activity/update_spec.rb
+++ b/spec/lib/activitypub/activity/update_spec.rb
@@ -115,5 +115,69 @@ RSpec.describe ActivityPub::Activity::Update do
expect(status.edited_at).to be_nil
end
end
+
+ context 'with a Note object' do
+ let(:updated) { nil }
+ let(:favourites) { 50 }
+ let(:reblogs) { 100 }
+
+ let!(:status) { Fabricate(:status, uri: 'https://example.com/statuses/poll', account: sender) }
+ let(:json) do
+ {
+ '@context': 'https://www.w3.org/ns/activitystreams',
+ id: 'foo',
+ type: 'Update',
+ actor: sender.uri,
+ object: {
+ type: 'Note',
+ id: status.uri,
+ content: 'Foo',
+ updated: updated,
+ likes: {
+ id: "#{status.uri}/likes",
+ type: 'Collection',
+ totalItems: favourites,
+ },
+ shares: {
+ id: "#{status.uri}/shares",
+ type: 'Collection',
+ totalItems: reblogs,
+ },
+ },
+ }.with_indifferent_access
+ end
+
+ shared_examples 'updates counts' do
+ it 'updates the reblog count' do
+ expect(status.untrusted_reblogs_count).to eq reblogs
+ end
+
+ it 'updates the favourites count' do
+ expect(status.untrusted_favourites_count).to eq favourites
+ end
+ end
+
+ context 'with an implicit update' do
+ before do
+ status.update!(uri: ActivityPub::TagManager.instance.uri_for(status))
+ subject.perform
+ end
+
+ it_behaves_like 'updates counts'
+ end
+
+ context 'with an explicit update' do
+ let(:favourites) { 150 }
+ let(:reblogs) { 200 }
+ let(:updated) { Time.now.utc.iso8601 }
+
+ before do
+ status.update!(uri: ActivityPub::TagManager.instance.uri_for(status))
+ subject.perform
+ end
+
+ it_behaves_like 'updates counts'
+ end
+ end
end
end
diff --git a/spec/lib/feed_manager_spec.rb b/spec/lib/feed_manager_spec.rb
index 679309bd11c..1d704996746 100644
--- a/spec/lib/feed_manager_spec.rb
+++ b/spec/lib/feed_manager_spec.rb
@@ -3,6 +3,8 @@
require 'rails_helper'
RSpec.describe FeedManager do
+ subject { described_class.instance }
+
before do |example|
unless example.metadata[:skip_stub]
stub_const 'FeedManager::MAX_ITEMS', 10
@@ -32,26 +34,26 @@ RSpec.describe FeedManager do
it 'returns false for followee\'s status' do
status = Fabricate(:status, text: 'Hello world', account: alice)
bob.follow!(alice)
- expect(described_class.instance.filter?(:home, status, bob)).to be false
+ expect(subject.filter?(:home, status, bob)).to be false
end
it 'returns false for reblog by followee' do
status = Fabricate(:status, text: 'Hello world', account: jeff)
reblog = Fabricate(:status, reblog: status, account: alice)
bob.follow!(alice)
- expect(described_class.instance.filter?(:home, reblog, bob)).to be false
+ expect(subject.filter?(:home, reblog, bob)).to be false
end
it 'returns true for post from account who blocked me' do
status = Fabricate(:status, text: 'Hello, World', account: alice)
alice.block!(bob)
- expect(described_class.instance.filter?(:home, status, bob)).to be true
+ expect(subject.filter?(:home, status, bob)).to be true
end
it 'returns true for post from blocked account' do
status = Fabricate(:status, text: 'Hello, World', account: alice)
bob.block!(alice)
- expect(described_class.instance.filter?(:home, status, bob)).to be true
+ expect(subject.filter?(:home, status, bob)).to be true
end
it 'returns true for reblog by followee of blocked account' do
@@ -59,7 +61,7 @@ RSpec.describe FeedManager do
reblog = Fabricate(:status, reblog: status, account: alice)
bob.follow!(alice)
bob.block!(jeff)
- expect(described_class.instance.filter?(:home, reblog, bob)).to be true
+ expect(subject.filter?(:home, reblog, bob)).to be true
end
it 'returns true for reblog by followee of muted account' do
@@ -67,7 +69,7 @@ RSpec.describe FeedManager do
reblog = Fabricate(:status, reblog: status, account: alice)
bob.follow!(alice)
bob.mute!(jeff)
- expect(described_class.instance.filter?(:home, reblog, bob)).to be true
+ expect(subject.filter?(:home, reblog, bob)).to be true
end
it 'returns true for reblog by followee of someone who is blocking recipient' do
@@ -75,14 +77,14 @@ RSpec.describe FeedManager do
reblog = Fabricate(:status, reblog: status, account: alice)
bob.follow!(alice)
jeff.block!(bob)
- expect(described_class.instance.filter?(:home, reblog, bob)).to be true
+ expect(subject.filter?(:home, reblog, bob)).to be true
end
it 'returns true for reblog from account with reblogs disabled' do
status = Fabricate(:status, text: 'Hello world', account: jeff)
reblog = Fabricate(:status, reblog: status, account: alice)
bob.follow!(alice, reblogs: false)
- expect(described_class.instance.filter?(:home, reblog, bob)).to be true
+ expect(subject.filter?(:home, reblog, bob)).to be true
end
it 'returns false for reply by followee to another followee' do
@@ -90,49 +92,49 @@ RSpec.describe FeedManager do
reply = Fabricate(:status, text: 'Nay', thread: status, account: alice)
bob.follow!(alice)
bob.follow!(jeff)
- expect(described_class.instance.filter?(:home, reply, bob)).to be false
+ expect(subject.filter?(:home, reply, bob)).to be false
end
it 'returns false for reply by followee to recipient' do
status = Fabricate(:status, text: 'Hello world', account: bob)
reply = Fabricate(:status, text: 'Nay', thread: status, account: alice)
bob.follow!(alice)
- expect(described_class.instance.filter?(:home, reply, bob)).to be false
+ expect(subject.filter?(:home, reply, bob)).to be false
end
it 'returns false for reply by followee to self' do
status = Fabricate(:status, text: 'Hello world', account: alice)
reply = Fabricate(:status, text: 'Nay', thread: status, account: alice)
bob.follow!(alice)
- expect(described_class.instance.filter?(:home, reply, bob)).to be false
+ expect(subject.filter?(:home, reply, bob)).to be false
end
it 'returns true for reply by followee to non-followed account' do
status = Fabricate(:status, text: 'Hello world', account: jeff)
reply = Fabricate(:status, text: 'Nay', thread: status, account: alice)
bob.follow!(alice)
- expect(described_class.instance.filter?(:home, reply, bob)).to be true
+ expect(subject.filter?(:home, reply, bob)).to be true
end
it 'returns true for the second reply by followee to a non-federated status' do
reply = Fabricate(:status, text: 'Reply 1', reply: true, account: alice)
second_reply = Fabricate(:status, text: 'Reply 2', thread: reply, account: alice)
bob.follow!(alice)
- expect(described_class.instance.filter?(:home, second_reply, bob)).to be true
+ expect(subject.filter?(:home, second_reply, bob)).to be true
end
it 'returns false for status by followee mentioning another account' do
bob.follow!(alice)
jeff.follow!(alice)
status = PostStatusService.new.call(alice, text: 'Hey @jeff')
- expect(described_class.instance.filter?(:home, status, bob)).to be false
+ expect(subject.filter?(:home, status, bob)).to be false
end
it 'returns true for status by followee mentioning blocked account' do
bob.block!(jeff)
bob.follow!(alice)
status = PostStatusService.new.call(alice, text: 'Hey @jeff')
- expect(described_class.instance.filter?(:home, status, bob)).to be true
+ expect(subject.filter?(:home, status, bob)).to be true
end
it 'returns true for reblog of a personally blocked domain' do
@@ -140,19 +142,19 @@ RSpec.describe FeedManager do
alice.follow!(jeff)
status = Fabricate(:status, text: 'Hello world', account: bob)
reblog = Fabricate(:status, reblog: status, account: jeff)
- expect(described_class.instance.filter?(:home, reblog, alice)).to be true
+ expect(subject.filter?(:home, reblog, alice)).to be true
end
it 'returns true for German post when follow is set to English only' do
alice.follow!(bob, languages: %w(en))
status = Fabricate(:status, text: 'Hallo Welt', account: bob, language: 'de')
- expect(described_class.instance.filter?(:home, status, alice)).to be true
+ expect(subject.filter?(:home, status, alice)).to be true
end
it 'returns false for German post when follow is set to German' do
alice.follow!(bob, languages: %w(de))
status = Fabricate(:status, text: 'Hallo Welt', account: bob, language: 'de')
- expect(described_class.instance.filter?(:home, status, alice)).to be false
+ expect(subject.filter?(:home, status, alice)).to be false
end
it 'returns true for post from followee on exclusive list' do
@@ -161,7 +163,7 @@ RSpec.describe FeedManager do
list.accounts << bob
allow(List).to receive(:where).and_return(list)
status = Fabricate(:status, text: 'I post a lot', account: bob)
- expect(described_class.instance.filter?(:home, status, alice)).to be true
+ expect(subject.filter?(:home, status, alice)).to be true
end
it 'returns true for reblog from followee on exclusive list' do
@@ -171,7 +173,7 @@ RSpec.describe FeedManager do
allow(List).to receive(:where).and_return(list)
status = Fabricate(:status, text: 'I post a lot', account: bob)
reblog = Fabricate(:status, reblog: status, account: jeff)
- expect(described_class.instance.filter?(:home, reblog, alice)).to be true
+ expect(subject.filter?(:home, reblog, alice)).to be true
end
it 'returns false for post from followee on non-exclusive list' do
@@ -179,7 +181,7 @@ RSpec.describe FeedManager do
alice.follow!(bob)
list.accounts << bob
status = Fabricate(:status, text: 'I post a lot', account: bob)
- expect(described_class.instance.filter?(:home, status, alice)).to be false
+ expect(subject.filter?(:home, status, alice)).to be false
end
it 'returns false for reblog from followee on non-exclusive list' do
@@ -188,7 +190,7 @@ RSpec.describe FeedManager do
list.accounts << jeff
status = Fabricate(:status, text: 'I post a lot', account: bob)
reblog = Fabricate(:status, reblog: status, account: jeff)
- expect(described_class.instance.filter?(:home, reblog, alice)).to be false
+ expect(subject.filter?(:home, reblog, alice)).to be false
end
end
@@ -196,27 +198,27 @@ RSpec.describe FeedManager do
it 'returns true for status that mentions blocked account' do
bob.block!(jeff)
status = PostStatusService.new.call(alice, text: 'Hey @jeff')
- expect(described_class.instance.filter?(:mentions, status, bob)).to be true
+ expect(subject.filter?(:mentions, status, bob)).to be true
end
it 'returns true for status that replies to a blocked account' do
status = Fabricate(:status, text: 'Hello world', account: jeff)
reply = Fabricate(:status, text: 'Nay', thread: status, account: alice)
bob.block!(jeff)
- expect(described_class.instance.filter?(:mentions, reply, bob)).to be true
+ expect(subject.filter?(:mentions, reply, bob)).to be true
end
it 'returns false for status by limited account who recipient is not following' do
status = Fabricate(:status, text: 'Hello world', account: alice)
alice.silence!
- expect(described_class.instance.filter?(:mentions, status, bob)).to be false
+ expect(subject.filter?(:mentions, status, bob)).to be false
end
it 'returns false for status by followed limited account' do
status = Fabricate(:status, text: 'Hello world', account: alice)
alice.silence!
bob.follow!(alice)
- expect(described_class.instance.filter?(:mentions, status, bob)).to be false
+ expect(subject.filter?(:mentions, status, bob)).to be false
end
end
end
@@ -228,7 +230,7 @@ RSpec.describe FeedManager do
members = Array.new(described_class::MAX_ITEMS) { |count| [count, count] }
redis.zadd("feed:home:#{account.id}", members)
- described_class.instance.push_to_home(account, status)
+ subject.push_to_home(account, status)
expect(redis.zcard("feed:home:#{account.id}")).to eq described_class::MAX_ITEMS
end
@@ -239,7 +241,7 @@ RSpec.describe FeedManager do
reblogged = Fabricate(:status)
reblog = Fabricate(:status, reblog: reblogged)
- expect(described_class.instance.push_to_home(account, reblog)).to be true
+ expect(subject.push_to_home(account, reblog)).to be true
end
it 'does not save a new reblog of a recent status' do
@@ -247,9 +249,9 @@ RSpec.describe FeedManager do
reblogged = Fabricate(:status)
reblog = Fabricate(:status, reblog: reblogged)
- described_class.instance.push_to_home(account, reblogged)
+ subject.push_to_home(account, reblogged)
- expect(described_class.instance.push_to_home(account, reblog)).to be false
+ expect(subject.push_to_home(account, reblog)).to be false
end
it 'saves a new reblog of an old status' do
@@ -257,14 +259,14 @@ RSpec.describe FeedManager do
reblogged = Fabricate(:status)
reblog = Fabricate(:status, reblog: reblogged)
- described_class.instance.push_to_home(account, reblogged)
+ subject.push_to_home(account, reblogged)
# Fill the feed with intervening statuses
described_class::REBLOG_FALLOFF.times do
- described_class.instance.push_to_home(account, Fabricate(:status))
+ subject.push_to_home(account, Fabricate(:status))
end
- expect(described_class.instance.push_to_home(account, reblog)).to be true
+ expect(subject.push_to_home(account, reblog)).to be true
end
it 'does not save a new reblog of a recently-reblogged status' do
@@ -273,10 +275,10 @@ RSpec.describe FeedManager do
reblogs = Array.new(2) { Fabricate(:status, reblog: reblogged) }
# The first reblog will be accepted
- described_class.instance.push_to_home(account, reblogs.first)
+ subject.push_to_home(account, reblogs.first)
# The second reblog should be ignored
- expect(described_class.instance.push_to_home(account, reblogs.last)).to be false
+ expect(subject.push_to_home(account, reblogs.last)).to be false
end
it 'saves a new reblog of a recently-reblogged status when previous reblog has been deleted' do
@@ -285,15 +287,15 @@ RSpec.describe FeedManager do
old_reblog = Fabricate(:status, reblog: reblogged)
# The first reblog should be accepted
- expect(described_class.instance.push_to_home(account, old_reblog)).to be true
+ expect(subject.push_to_home(account, old_reblog)).to be true
# The first reblog should be successfully removed
- expect(described_class.instance.unpush_from_home(account, old_reblog)).to be true
+ expect(subject.unpush_from_home(account, old_reblog)).to be true
reblog = Fabricate(:status, reblog: reblogged)
# The second reblog should be accepted
- expect(described_class.instance.push_to_home(account, reblog)).to be true
+ expect(subject.push_to_home(account, reblog)).to be true
end
it 'does not save a new reblog of a multiply-reblogged-then-unreblogged status' do
@@ -302,14 +304,14 @@ RSpec.describe FeedManager do
reblogs = Array.new(3) { Fabricate(:status, reblog: reblogged) }
# Accept the reblogs
- described_class.instance.push_to_home(account, reblogs[0])
- described_class.instance.push_to_home(account, reblogs[1])
+ subject.push_to_home(account, reblogs[0])
+ subject.push_to_home(account, reblogs[1])
# Unreblog the first one
- described_class.instance.unpush_from_home(account, reblogs[0])
+ subject.unpush_from_home(account, reblogs[0])
# The last reblog should still be ignored
- expect(described_class.instance.push_to_home(account, reblogs.last)).to be false
+ expect(subject.push_to_home(account, reblogs.last)).to be false
end
it 'saves a new reblog of a long-ago-reblogged status' do
@@ -318,15 +320,15 @@ RSpec.describe FeedManager do
reblogs = Array.new(2) { Fabricate(:status, reblog: reblogged) }
# The first reblog will be accepted
- described_class.instance.push_to_home(account, reblogs.first)
+ subject.push_to_home(account, reblogs.first)
# Fill the feed with intervening statuses
described_class::REBLOG_FALLOFF.times do
- described_class.instance.push_to_home(account, Fabricate(:status))
+ subject.push_to_home(account, Fabricate(:status))
end
# The second reblog should also be accepted
- expect(described_class.instance.push_to_home(account, reblogs.last)).to be true
+ expect(subject.push_to_home(account, reblogs.last)).to be true
end
end
@@ -334,9 +336,9 @@ RSpec.describe FeedManager do
account = Fabricate(:account)
reblog = Fabricate(:status)
status = Fabricate(:status, reblog: reblog)
- described_class.instance.push_to_home(account, status)
+ subject.push_to_home(account, status)
- expect(described_class.instance.push_to_home(account, reblog)).to be false
+ expect(subject.push_to_home(account, reblog)).to be false
end
end
@@ -359,9 +361,9 @@ RSpec.describe FeedManager do
it "does not push when the given status's reblog is already inserted" do
reblog = Fabricate(:status)
status = Fabricate(:status, reblog: reblog)
- described_class.instance.push_to_list(list, status)
+ subject.push_to_list(list, status)
- expect(described_class.instance.push_to_list(list, reblog)).to be false
+ expect(subject.push_to_list(list, reblog)).to be false
end
context 'when replies policy is set to no replies' do
@@ -371,19 +373,19 @@ RSpec.describe FeedManager do
it 'pushes statuses that are not replies' do
status = Fabricate(:status, text: 'Hello world', account: bob)
- expect(described_class.instance.push_to_list(list, status)).to be true
+ expect(subject.push_to_list(list, status)).to be true
end
it 'pushes statuses that are replies to list owner' do
status = Fabricate(:status, text: 'Hello world', account: owner)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be true
+ expect(subject.push_to_list(list, reply)).to be true
end
it 'does not push replies to another member of the list' do
status = Fabricate(:status, text: 'Hello world', account: alice)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be false
+ expect(subject.push_to_list(list, reply)).to be false
end
end
@@ -394,25 +396,25 @@ RSpec.describe FeedManager do
it 'pushes statuses that are not replies' do
status = Fabricate(:status, text: 'Hello world', account: bob)
- expect(described_class.instance.push_to_list(list, status)).to be true
+ expect(subject.push_to_list(list, status)).to be true
end
it 'pushes statuses that are replies to list owner' do
status = Fabricate(:status, text: 'Hello world', account: owner)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be true
+ expect(subject.push_to_list(list, reply)).to be true
end
it 'pushes replies to another member of the list' do
status = Fabricate(:status, text: 'Hello world', account: alice)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be true
+ expect(subject.push_to_list(list, reply)).to be true
end
it 'does not push replies to someone not a member of the list' do
status = Fabricate(:status, text: 'Hello world', account: eve)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be false
+ expect(subject.push_to_list(list, reply)).to be false
end
end
@@ -423,25 +425,25 @@ RSpec.describe FeedManager do
it 'pushes statuses that are not replies' do
status = Fabricate(:status, text: 'Hello world', account: bob)
- expect(described_class.instance.push_to_list(list, status)).to be true
+ expect(subject.push_to_list(list, status)).to be true
end
it 'pushes statuses that are replies to list owner' do
status = Fabricate(:status, text: 'Hello world', account: owner)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be true
+ expect(subject.push_to_list(list, reply)).to be true
end
it 'pushes replies to another member of the list' do
status = Fabricate(:status, text: 'Hello world', account: alice)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be true
+ expect(subject.push_to_list(list, reply)).to be true
end
it 'pushes replies to someone not a member of the list' do
status = Fabricate(:status, text: 'Hello world', account: eve)
reply = Fabricate(:status, text: 'Nay', thread: status, account: bob)
- expect(described_class.instance.push_to_list(list, reply)).to be true
+ expect(subject.push_to_list(list, reply)).to be true
end
end
end
@@ -451,9 +453,9 @@ RSpec.describe FeedManager do
account = Fabricate(:account, id: 0)
reblog = Fabricate(:status)
status = Fabricate(:status, reblog: reblog)
- described_class.instance.push_to_home(account, status)
+ subject.push_to_home(account, status)
- described_class.instance.merge_into_home(account, reblog.account)
+ subject.merge_into_home(account, reblog.account)
expect(redis.zscore('feed:home:0', reblog.id)).to be_nil
end
@@ -466,14 +468,14 @@ RSpec.describe FeedManager do
reblogged = Fabricate(:status)
status = Fabricate(:status, reblog: reblogged)
- described_class.instance.push_to_home(receiver, reblogged)
- described_class::REBLOG_FALLOFF.times { described_class.instance.push_to_home(receiver, Fabricate(:status)) }
- described_class.instance.push_to_home(receiver, status)
+ subject.push_to_home(receiver, reblogged)
+ described_class::REBLOG_FALLOFF.times { subject.push_to_home(receiver, Fabricate(:status)) }
+ subject.push_to_home(receiver, status)
# The reblogging status should show up under normal conditions.
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s)
- described_class.instance.unpush_from_home(receiver, status)
+ subject.unpush_from_home(receiver, status)
# Restore original status
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to_not include(status.id.to_s)
@@ -484,12 +486,12 @@ RSpec.describe FeedManager do
reblogged = Fabricate(:status)
status = Fabricate(:status, reblog: reblogged)
- described_class.instance.push_to_home(receiver, status)
+ subject.push_to_home(receiver, status)
# The reblogging status should show up under normal conditions.
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [status.id.to_s]
- described_class.instance.unpush_from_home(receiver, status)
+ subject.unpush_from_home(receiver, status)
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to be_empty
end
@@ -499,14 +501,14 @@ RSpec.describe FeedManager do
reblogs = Array.new(3) { Fabricate(:status, reblog: reblogged) }
reblogs.each do |reblog|
- described_class.instance.push_to_home(receiver, reblog)
+ subject.push_to_home(receiver, reblog)
end
# The reblogging status should show up under normal conditions.
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.first.id.to_s]
reblogs[0...-1].each do |reblog|
- described_class.instance.unpush_from_home(receiver, reblog)
+ subject.unpush_from_home(receiver, reblog)
end
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to eq [reblogs.last.id.to_s]
@@ -515,10 +517,10 @@ RSpec.describe FeedManager do
it 'sends push updates' do
status = Fabricate(:status)
- described_class.instance.push_to_home(receiver, status)
+ subject.push_to_home(receiver, status)
allow(redis).to receive_messages(publish: nil)
- described_class.instance.unpush_from_home(receiver, status)
+ subject.unpush_from_home(receiver, status)
deletion = Oj.dump(event: :delete, payload: status.id.to_s)
expect(redis).to have_received(:publish).with("timeline:#{receiver.id}", deletion)
@@ -532,9 +534,9 @@ RSpec.describe FeedManager do
it 'leaves a tagged status' do
status = Fabricate(:status)
status.tags << tag
- described_class.instance.push_to_home(receiver, status)
+ subject.push_to_home(receiver, status)
- described_class.instance.unmerge_tag_from_home(tag, receiver)
+ subject.unmerge_tag_from_home(tag, receiver)
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to_not include(status.id.to_s)
end
@@ -545,9 +547,9 @@ RSpec.describe FeedManager do
status = Fabricate(:status, account: followee)
status.tags << tag
- described_class.instance.push_to_home(receiver, status)
+ subject.push_to_home(receiver, status)
- described_class.instance.unmerge_tag_from_home(tag, receiver)
+ subject.unmerge_tag_from_home(tag, receiver)
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s)
end
@@ -555,9 +557,9 @@ RSpec.describe FeedManager do
it 'remains a tagged status written by receiver' do
status = Fabricate(:status, account: receiver)
status.tags << tag
- described_class.instance.push_to_home(receiver, status)
+ subject.push_to_home(receiver, status)
- described_class.instance.unmerge_tag_from_home(tag, receiver)
+ subject.unmerge_tag_from_home(tag, receiver)
expect(redis.zrange("feed:home:#{receiver.id}", 0, -1)).to include(status.id.to_s)
end
@@ -588,7 +590,7 @@ RSpec.describe FeedManager do
end
it 'correctly cleans the home timeline' do
- described_class.instance.clear_from_home(account, target_account)
+ subject.clear_from_home(account, target_account)
expect(redis.zrange("feed:home:#{account.id}", 0, -1)).to eq [status_from_followed_account_first.id.to_s, status_from_followed_account_next.id.to_s]
end
diff --git a/spec/models/account_migration_spec.rb b/spec/models/account_migration_spec.rb
index d658915ce3c..b92771e8f5c 100644
--- a/spec/models/account_migration_spec.rb
+++ b/spec/models/account_migration_spec.rb
@@ -9,8 +9,8 @@ RSpec.describe AccountMigration do
end
end
- describe 'validations' do
- subject { described_class.new(account: source_account, acct: target_acct) }
+ describe 'Validations' do
+ subject { Fabricate.build :account_migration, account: source_account }
let(:source_account) { Fabricate(:account) }
let(:target_acct) { target_account.acct }
@@ -26,9 +26,7 @@ RSpec.describe AccountMigration do
allow(service_double).to receive(:call).with(target_acct, anything).and_return(target_account)
end
- it 'passes validations' do
- expect(subject).to be_valid
- end
+ it { is_expected.to allow_value(target_account.acct).for(:acct) }
end
context 'with unresolvable account' do
@@ -40,17 +38,13 @@ RSpec.describe AccountMigration do
allow(service_double).to receive(:call).with(target_acct, anything).and_return(nil)
end
- it 'has errors on acct field' do
- expect(subject).to model_have_error_on_field(:acct)
- end
+ it { is_expected.to_not allow_value(target_acct).for(:acct) }
end
context 'with a space in the domain part' do
let(:target_acct) { 'target@remote. org' }
- it 'has errors on acct field' do
- expect(subject).to model_have_error_on_field(:acct)
- end
+ it { is_expected.to_not allow_value(target_acct).for(:acct) }
end
end
end
diff --git a/spec/models/account_moderation_note_spec.rb b/spec/models/account_moderation_note_spec.rb
index 079774c4925..f3bcff4cd66 100644
--- a/spec/models/account_moderation_note_spec.rb
+++ b/spec/models/account_moderation_note_spec.rb
@@ -3,29 +3,24 @@
require 'rails_helper'
RSpec.describe AccountModerationNote do
- describe 'chronological scope' do
- it 'returns account moderation notes oldest to newest' do
- account = Fabricate(:account)
- note1 = Fabricate(:account_moderation_note, target_account: account)
- note2 = Fabricate(:account_moderation_note, target_account: account)
+ describe 'Scopes' do
+ describe '.chronological' do
+ it 'returns account moderation notes oldest to newest' do
+ account = Fabricate(:account)
+ note1 = Fabricate(:account_moderation_note, target_account: account)
+ note2 = Fabricate(:account_moderation_note, target_account: account)
- expect(account.targeted_moderation_notes.chronological).to eq [note1, note2]
+ expect(account.targeted_moderation_notes.chronological).to eq [note1, note2]
+ end
end
end
- describe 'validations' do
- it 'is invalid if the content is empty' do
- report = Fabricate.build(:account_moderation_note, content: '')
- expect(report.valid?).to be false
- end
+ describe 'Validations' do
+ subject { Fabricate.build :account_moderation_note }
- it 'is invalid if content is longer than character limit' do
- report = Fabricate.build(:account_moderation_note, content: comment_over_limit)
- expect(report.valid?).to be false
- end
-
- def comment_over_limit
- Faker::Lorem.paragraph_by_chars(number: described_class::CONTENT_SIZE_LIMIT * 2)
+ describe 'content' do
+ it { is_expected.to_not allow_value('').for(:content) }
+ it { is_expected.to validate_length_of(:content).is_at_most(described_class::CONTENT_SIZE_LIMIT) }
end
end
end
diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb
index a8f6ed74937..7a5deed599c 100644
--- a/spec/models/account_spec.rb
+++ b/spec/models/account_spec.rb
@@ -10,64 +10,6 @@ RSpec.describe Account do
let(:bob) { Fabricate(:account, username: 'bob') }
- describe '#suspended_locally?' do
- context 'when the account is not suspended' do
- it 'returns false' do
- expect(subject.suspended_locally?).to be false
- end
- end
-
- context 'when the account is suspended locally' do
- before do
- subject.update!(suspended_at: 1.day.ago, suspension_origin: :local)
- end
-
- it 'returns true' do
- expect(subject.suspended_locally?).to be true
- end
- end
-
- context 'when the account is suspended remotely' do
- before do
- subject.update!(suspended_at: 1.day.ago, suspension_origin: :remote)
- end
-
- it 'returns false' do
- expect(subject.suspended_locally?).to be false
- end
- end
- end
-
- describe '#suspend!' do
- it 'marks the account as suspended and creates a deletion request' do
- expect { subject.suspend! }
- .to change(subject, :suspended?).from(false).to(true)
- .and change(subject, :suspended_locally?).from(false).to(true)
- .and(change { AccountDeletionRequest.exists?(account: subject) }.from(false).to(true))
- end
-
- context 'when the account is of a local user' do
- subject { local_user_account }
-
- let!(:local_user_account) { Fabricate(:user, email: 'foo+bar@domain.org').account }
-
- it 'creates a canonical domain block' do
- subject.suspend!
- expect(CanonicalEmailBlock.block?(subject.user_email)).to be true
- end
-
- context 'when a canonical domain block already exists for that email' do
- before do
- Fabricate(:canonical_email_block, email: subject.user_email)
- end
-
- it 'does not raise an error' do
- expect { subject.suspend! }.to_not raise_error
- end
- end
- end
- end
-
describe '#follow!' do
it 'creates a follow' do
follow = subject.follow!(bob)
@@ -208,16 +150,16 @@ RSpec.describe Account do
end
end
- context 'when last_webfingered_at is more than 24 hours before' do
- let(:last_webfingered_at) { 25.hours.ago }
+ context 'when last_webfingered_at is before the threshold' do
+ let(:last_webfingered_at) { (described_class::STALE_THRESHOLD + 1.hour).ago }
it 'returns true' do
expect(account.possibly_stale?).to be true
end
end
- context 'when last_webfingered_at is less than 24 hours before' do
- let(:last_webfingered_at) { 23.hours.ago }
+ context 'when last_webfingered_at is after the threshold' do
+ let(:last_webfingered_at) { (described_class::STALE_THRESHOLD - 1.hour).ago }
it 'returns false' do
expect(account.possibly_stale?).to be false
@@ -752,26 +694,42 @@ RSpec.describe Account do
end
end
- describe '#prepare_contents' do
- subject { Fabricate.build :account, domain: domain, note: ' padded note ', display_name: ' padded name ' }
+ describe 'Callbacks' do
+ describe 'Stripping content when required' do
+ context 'with a remote account' do
+ subject { Fabricate.build :account, domain: 'host.example', note: ' note ', display_name: ' display name ' }
- context 'with local account' do
- let(:domain) { nil }
-
- it 'strips values' do
- expect { subject.valid? }
- .to change(subject, :note).to('padded note')
- .and(change(subject, :display_name).to('padded name'))
+ it 'preserves content' do
+ expect { subject.valid? }
+ .to not_change(subject, :note)
+ .and not_change(subject, :display_name)
+ end
end
- end
- context 'with remote account' do
- let(:domain) { 'host.example' }
+ context 'with a local account' do
+ subject { Fabricate.build :account, domain: nil, note:, display_name: }
- it 'preserves values' do
- expect { subject.valid? }
- .to not_change(subject, :note)
- .and(not_change(subject, :display_name))
+ context 'with populated fields' do
+ let(:note) { ' note ' }
+ let(:display_name) { ' display name ' }
+
+ it 'strips content' do
+ expect { subject.valid? }
+ .to change(subject, :note).to('note')
+ .and change(subject, :display_name).to('display name')
+ end
+ end
+
+ context 'with empty fields' do
+ let(:note) { nil }
+ let(:display_name) { nil }
+
+ it 'preserves content' do
+ expect { subject.valid? }
+ .to not_change(subject, :note)
+ .and not_change(subject, :display_name)
+ end
+ end
end
end
end
@@ -826,22 +784,19 @@ RSpec.describe Account do
end
end
- describe 'validations' do
+ describe 'Validations' do
it { is_expected.to validate_presence_of(:username) }
- context 'when is local' do
- it 'is invalid if the username is not unique in case-insensitive comparison among local accounts' do
- _account = Fabricate(:account, username: 'the_doctor')
- non_unique_account = Fabricate.build(:account, username: 'the_Doctor')
- non_unique_account.valid?
- expect(non_unique_account).to model_have_error_on_field(:username)
+ context 'when account is local' do
+ subject { Fabricate.build :account, domain: nil }
+
+ context 'with an existing differently-cased username account' do
+ before { Fabricate :account, username: 'the_doctor' }
+
+ it { is_expected.to_not allow_value('the_Doctor').for(:username) }
end
- it 'is invalid if the username is reserved' do
- account = Fabricate.build(:account, username: 'support')
- account.valid?
- expect(account).to model_have_error_on_field(:username)
- end
+ it { is_expected.to_not allow_value('support').for(:username) }
it 'is valid when username is reserved but record has already been created' do
account = Fabricate.build(:account, username: 'support')
@@ -849,9 +804,10 @@ RSpec.describe Account do
expect(account.valid?).to be true
end
- it 'is valid if we are creating an instance actor account with a period' do
- account = Fabricate.build(:account, id: described_class::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true, username: 'example.com')
- expect(account.valid?).to be true
+ context 'with the instance actor' do
+ subject { Fabricate.build :account, id: described_class::INSTANCE_ACTOR_ID, actor_type: 'Application', locked: true }
+
+ it { is_expected.to allow_value('example.com').for(:username) }
end
it 'is valid if we are creating a possibly-conflicting instance actor account' do
@@ -860,81 +816,31 @@ RSpec.describe Account do
expect(instance_account.valid?).to be true
end
- it 'is invalid if the username doesn\'t only contains letters, numbers and underscores' do
- account = Fabricate.build(:account, username: 'the-doctor')
- account.valid?
- expect(account).to model_have_error_on_field(:username)
- end
+ it { is_expected.to_not allow_values('the-doctor', 'the.doctor').for(:username) }
- it 'is invalid if the username contains a period' do
- account = Fabricate.build(:account, username: 'the.doctor')
- account.valid?
- expect(account).to model_have_error_on_field(:username)
- end
+ it { is_expected.to validate_length_of(:username).is_at_most(described_class::USERNAME_LENGTH_LIMIT) }
+ it { is_expected.to validate_length_of(:display_name).is_at_most(described_class::DISPLAY_NAME_LENGTH_LIMIT) }
- it 'is invalid if the username is longer than the character limit' do
- account = Fabricate.build(:account, username: username_over_limit)
- account.valid?
- expect(account).to model_have_error_on_field(:username)
- end
-
- it 'is invalid if the display name is longer than the character limit' do
- account = Fabricate.build(:account, display_name: display_name_over_limit)
- account.valid?
- expect(account).to model_have_error_on_field(:display_name)
- end
-
- it 'is invalid if the note is longer than the character limit' do
- account = Fabricate.build(:account, note: account_note_over_limit)
- account.valid?
- expect(account).to model_have_error_on_field(:note)
- end
+ it { is_expected.to_not allow_values(account_note_over_limit).for(:note) }
end
- context 'when is remote' do
- it 'is invalid if the username is same among accounts in the same normalized domain' do
- Fabricate(:account, domain: 'にゃん', username: 'username')
- account = Fabricate.build(:account, domain: 'xn--r9j5b5b', username: 'username')
- account.valid?
- expect(account).to model_have_error_on_field(:username)
+ context 'when account is remote' do
+ subject { Fabricate.build :account, domain: 'host.example' }
+
+ context 'when a normalized domain account exists' do
+ subject { Fabricate.build :account, domain: 'xn--r9j5b5b' }
+
+ before { Fabricate(:account, domain: 'にゃん', username: 'username') }
+
+ it { is_expected.to_not allow_values('username', 'Username').for(:username) }
end
- it 'is invalid if the username is not unique in case-insensitive comparison among accounts in the same normalized domain' do
- Fabricate(:account, domain: 'にゃん', username: 'username')
- account = Fabricate.build(:account, domain: 'xn--r9j5b5b', username: 'Username')
- account.valid?
- expect(account).to model_have_error_on_field(:username)
- end
+ it { is_expected.to allow_values('the-doctor', username_over_limit).for(:username) }
+ it { is_expected.to_not allow_values('the doctor').for(:username) }
- it 'is valid even if the username contains hyphens' do
- account = Fabricate.build(:account, domain: 'domain', username: 'the-doctor')
- account.valid?
- expect(account).to_not model_have_error_on_field(:username)
- end
+ it { is_expected.to allow_values(display_name_over_limit).for(:display_name) }
- it 'is invalid if the username doesn\'t only contains letters, numbers, underscores and hyphens' do
- account = Fabricate.build(:account, domain: 'domain', username: 'the doctor')
- account.valid?
- expect(account).to model_have_error_on_field(:username)
- end
-
- it 'is valid even if the username is longer than the character limit' do
- account = Fabricate.build(:account, domain: 'domain', username: username_over_limit)
- account.valid?
- expect(account).to_not model_have_error_on_field(:username)
- end
-
- it 'is valid even if the display name is longer than the character limit' do
- account = Fabricate.build(:account, domain: 'domain', display_name: display_name_over_limit)
- account.valid?
- expect(account).to_not model_have_error_on_field(:display_name)
- end
-
- it 'is valid even if the note is longer than the character limit' do
- account = Fabricate.build(:account, domain: 'domain', note: account_note_over_limit)
- account.valid?
- expect(account).to_not model_have_error_on_field(:note)
- end
+ it { is_expected.to allow_values(account_note_over_limit).for(:note) }
end
def username_over_limit
@@ -1085,14 +991,6 @@ RSpec.describe Account do
end
end
- describe 'suspended' do
- it 'returns an array of accounts who are suspended' do
- suspended_account = Fabricate(:account, suspended: true)
- _account = Fabricate(:account, suspended: false)
- expect(described_class.suspended).to contain_exactly(suspended_account)
- end
- end
-
describe 'searchable' do
let!(:suspended_local) { Fabricate(:account, suspended: true, username: 'suspended_local') }
let!(:suspended_remote) { Fabricate(:account, suspended: true, domain: 'example.org', username: 'suspended_remote') }
diff --git a/spec/models/account_statuses_cleanup_policy_spec.rb b/spec/models/account_statuses_cleanup_policy_spec.rb
index c142a0359ac..9bbbefa08eb 100644
--- a/spec/models/account_statuses_cleanup_policy_spec.rb
+++ b/spec/models/account_statuses_cleanup_policy_spec.rb
@@ -5,13 +5,12 @@ require 'rails_helper'
RSpec.describe AccountStatusesCleanupPolicy do
let(:account) { Fabricate(:account, username: 'alice', domain: nil) }
- describe 'validation' do
- it 'disallow remote accounts' do
- account.update(domain: 'example.com')
- account_statuses_cleanup_policy = Fabricate.build(:account_statuses_cleanup_policy, account: account)
- account_statuses_cleanup_policy.valid?
- expect(account_statuses_cleanup_policy).to model_have_error_on_field(:account)
- end
+ describe 'Validations' do
+ subject { Fabricate.build :account_statuses_cleanup_policy }
+
+ let(:remote_account) { Fabricate(:account, domain: 'example.com') }
+
+ it { is_expected.to_not allow_value(remote_account).for(:account) }
end
describe 'save hooks' do
@@ -339,14 +338,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep DMs and reject everything else' do
- before do
- account_statuses_cleanup_policy.keep_direct = true
- account_statuses_cleanup_policy.keep_pinned = false
- account_statuses_cleanup_policy.keep_polls = false
- account_statuses_cleanup_policy.keep_media = false
- account_statuses_cleanup_policy.keep_self_fav = false
- account_statuses_cleanup_policy.keep_self_bookmark = false
- end
+ before { establish_policy(keep_direct: true) }
it 'returns every old status except does not return the old direct message for deletion' do
expect(subject.pluck(:id))
@@ -356,14 +348,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep self-bookmarked toots and reject everything else' do
- before do
- account_statuses_cleanup_policy.keep_direct = false
- account_statuses_cleanup_policy.keep_pinned = false
- account_statuses_cleanup_policy.keep_polls = false
- account_statuses_cleanup_policy.keep_media = false
- account_statuses_cleanup_policy.keep_self_fav = false
- account_statuses_cleanup_policy.keep_self_bookmark = true
- end
+ before { establish_policy(keep_self_bookmark: true) }
it 'returns every old status but does not return the old self-bookmarked message for deletion' do
expect(subject.pluck(:id))
@@ -373,14 +358,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep self-faved toots and reject everything else' do
- before do
- account_statuses_cleanup_policy.keep_direct = false
- account_statuses_cleanup_policy.keep_pinned = false
- account_statuses_cleanup_policy.keep_polls = false
- account_statuses_cleanup_policy.keep_media = false
- account_statuses_cleanup_policy.keep_self_fav = true
- account_statuses_cleanup_policy.keep_self_bookmark = false
- end
+ before { establish_policy(keep_self_fav: true) }
it 'returns every old status but does not return the old self-faved message for deletion' do
expect(subject.pluck(:id))
@@ -390,14 +368,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep toots with media and reject everything else' do
- before do
- account_statuses_cleanup_policy.keep_direct = false
- account_statuses_cleanup_policy.keep_pinned = false
- account_statuses_cleanup_policy.keep_polls = false
- account_statuses_cleanup_policy.keep_media = true
- account_statuses_cleanup_policy.keep_self_fav = false
- account_statuses_cleanup_policy.keep_self_bookmark = false
- end
+ before { establish_policy(keep_media: true) }
it 'returns every old status but does not return the old message with media for deletion' do
expect(subject.pluck(:id))
@@ -407,14 +378,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep toots with polls and reject everything else' do
- before do
- account_statuses_cleanup_policy.keep_direct = false
- account_statuses_cleanup_policy.keep_pinned = false
- account_statuses_cleanup_policy.keep_polls = true
- account_statuses_cleanup_policy.keep_media = false
- account_statuses_cleanup_policy.keep_self_fav = false
- account_statuses_cleanup_policy.keep_self_bookmark = false
- end
+ before { establish_policy(keep_polls: true) }
it 'returns every old status but does not return the old poll message for deletion' do
expect(subject.pluck(:id))
@@ -424,14 +388,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep pinned toots and reject everything else' do
- before do
- account_statuses_cleanup_policy.keep_direct = false
- account_statuses_cleanup_policy.keep_pinned = true
- account_statuses_cleanup_policy.keep_polls = false
- account_statuses_cleanup_policy.keep_media = false
- account_statuses_cleanup_policy.keep_self_fav = false
- account_statuses_cleanup_policy.keep_self_bookmark = false
- end
+ before { establish_policy(keep_pinned: true) }
it 'returns every old status but does not return the old pinned message for deletion' do
expect(subject.pluck(:id))
@@ -441,14 +398,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is to not keep any special messages' do
- before do
- account_statuses_cleanup_policy.keep_direct = false
- account_statuses_cleanup_policy.keep_pinned = false
- account_statuses_cleanup_policy.keep_polls = false
- account_statuses_cleanup_policy.keep_media = false
- account_statuses_cleanup_policy.keep_self_fav = false
- account_statuses_cleanup_policy.keep_self_bookmark = false
- end
+ before { establish_policy }
it 'returns every old status but does not return the recent or unrelated statuses' do
expect(subject.pluck(:id))
@@ -459,14 +409,7 @@ RSpec.describe AccountStatusesCleanupPolicy do
end
context 'when policy is set to keep every category of toots' do
- before do
- account_statuses_cleanup_policy.keep_direct = true
- account_statuses_cleanup_policy.keep_pinned = true
- account_statuses_cleanup_policy.keep_polls = true
- account_statuses_cleanup_policy.keep_media = true
- account_statuses_cleanup_policy.keep_self_fav = true
- account_statuses_cleanup_policy.keep_self_bookmark = true
- end
+ before { establish_policy(keep_direct: true, keep_pinned: true, keep_polls: true, keep_media: true, keep_self_fav: true, keep_self_bookmark: true) }
it 'returns normal statuses and does not return unrelated old status' do
expect(subject.pluck(:id))
@@ -502,5 +445,24 @@ RSpec.describe AccountStatusesCleanupPolicy do
.and include(very_old_status.id, faved_primary.id, reblogged_primary.id, reblogged_secondary.id)
end
end
+
+ private
+
+ def establish_policy(options = {})
+ default_policy_options.merge(options).each do |attribute, value|
+ account_statuses_cleanup_policy.send :"#{attribute}=", value
+ end
+ end
+
+ def default_policy_options
+ {
+ keep_direct: false,
+ keep_media: false,
+ keep_pinned: false,
+ keep_polls: false,
+ keep_self_bookmark: false,
+ keep_self_fav: false,
+ }
+ end
end
end
diff --git a/spec/models/concerns/account/suspensions_spec.rb b/spec/models/concerns/account/suspensions_spec.rb
new file mode 100644
index 00000000000..3d71f1b7230
--- /dev/null
+++ b/spec/models/concerns/account/suspensions_spec.rb
@@ -0,0 +1,65 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe Account::Suspensions do
+ subject { Fabricate(:account) }
+
+ describe '.suspended' do
+ let!(:suspended_account) { Fabricate :account, suspended: true }
+
+ before { Fabricate :account, suspended: false }
+
+ it 'returns accounts that are suspended' do
+ expect(Account.suspended)
+ .to contain_exactly(suspended_account)
+ end
+ end
+
+ describe '#suspended_locally?' do
+ context 'when the account is not suspended' do
+ it { is_expected.to_not be_suspended_locally }
+ end
+
+ context 'when the account is suspended locally' do
+ before { subject.update!(suspended_at: 1.day.ago, suspension_origin: :local) }
+
+ it { is_expected.to be_suspended_locally }
+ end
+
+ context 'when the account is suspended remotely' do
+ before { subject.update!(suspended_at: 1.day.ago, suspension_origin: :remote) }
+
+ it { is_expected.to_not be_suspended_locally }
+ end
+ end
+
+ describe '#suspend!' do
+ it 'marks the account as suspended and creates a deletion request' do
+ expect { subject.suspend! }
+ .to change(subject, :suspended?).from(false).to(true)
+ .and change(subject, :suspended_locally?).from(false).to(true)
+ .and(change { AccountDeletionRequest.exists?(account: subject) }.from(false).to(true))
+ end
+
+ context 'when the account is of a local user' do
+ subject { local_user_account }
+
+ let!(:local_user_account) { Fabricate(:user, email: 'foo+bar@domain.org').account }
+
+ it 'creates a canonical domain block' do
+ expect { subject.suspend! }
+ .to change { CanonicalEmailBlock.block?(subject.user_email) }.from(false).to(true)
+ end
+
+ context 'when a canonical domain block already exists for that email' do
+ before { Fabricate(:canonical_email_block, email: subject.user_email) }
+
+ it 'does not raise an error' do
+ expect { subject.suspend! }
+ .to_not raise_error
+ end
+ end
+ end
+ end
+end
diff --git a/spec/models/domain_allow_spec.rb b/spec/models/domain_allow_spec.rb
index d8f438f07ee..fbb324657e2 100644
--- a/spec/models/domain_allow_spec.rb
+++ b/spec/models/domain_allow_spec.rb
@@ -6,11 +6,10 @@ RSpec.describe DomainAllow do
describe 'Validations' do
it { is_expected.to validate_presence_of(:domain) }
- it 'is invalid if the same normalized domain already exists' do
- _domain_allow = Fabricate(:domain_allow, domain: 'にゃん')
- domain_allow_with_normalized_value = Fabricate.build(:domain_allow, domain: 'xn--r9j5b5b')
- domain_allow_with_normalized_value.valid?
- expect(domain_allow_with_normalized_value).to model_have_error_on_field(:domain)
+ context 'when a normalized domain exists' do
+ before { Fabricate(:domain_allow, domain: 'にゃん') }
+
+ it { is_expected.to_not allow_value('xn--r9j5b5b').for(:domain) }
end
end
end
diff --git a/spec/models/form/admin_settings_spec.rb b/spec/models/form/admin_settings_spec.rb
index 6080b9e081d..73106f2b69c 100644
--- a/spec/models/form/admin_settings_spec.rb
+++ b/spec/models/form/admin_settings_spec.rb
@@ -3,33 +3,17 @@
require 'rails_helper'
RSpec.describe Form::AdminSettings do
- describe 'validations' do
+ describe 'Validations' do
describe 'site_contact_username' do
context 'with no accounts' do
- it 'is not valid' do
- setting = described_class.new(site_contact_username: 'Test')
- setting.valid?
-
- expect(setting).to model_have_error_on_field(:site_contact_username)
- end
+ it { is_expected.to_not allow_value('Test').for(:site_contact_username) }
end
context 'with an account' do
before { Fabricate(:account, username: 'Glorp') }
- it 'is not valid when account doesnt match' do
- setting = described_class.new(site_contact_username: 'Test')
- setting.valid?
-
- expect(setting).to model_have_error_on_field(:site_contact_username)
- end
-
- it 'is valid when account matches' do
- setting = described_class.new(site_contact_username: 'Glorp')
- setting.valid?
-
- expect(setting).to_not model_have_error_on_field(:site_contact_username)
- end
+ it { is_expected.to_not allow_value('Test').for(:site_contact_username) }
+ it { is_expected.to allow_value('Glorp').for(:site_contact_username) }
end
end
end
diff --git a/spec/models/ip_block_spec.rb b/spec/models/ip_block_spec.rb
index ac9f5db6013..b85856780ae 100644
--- a/spec/models/ip_block_spec.rb
+++ b/spec/models/ip_block_spec.rb
@@ -3,18 +3,13 @@
require 'rails_helper'
RSpec.describe IpBlock do
- describe 'validations' do
+ describe 'Validations' do
+ subject { Fabricate.build :ip_block }
+
it { is_expected.to validate_presence_of(:ip) }
it { is_expected.to validate_presence_of(:severity) }
- it 'validates ip uniqueness', :aggregate_failures do
- described_class.create!(ip: '127.0.0.1', severity: :no_access)
-
- ip_block = described_class.new(ip: '127.0.0.1', severity: :no_access)
-
- expect(ip_block).to_not be_valid
- expect(ip_block).to model_have_error_on_field(:ip)
- end
+ it { is_expected.to validate_uniqueness_of(:ip) }
end
describe '#to_log_human_identifier' do
diff --git a/spec/models/preview_card_spec.rb b/spec/models/preview_card_spec.rb
index c0bc2b6e0e0..0fe76c37b07 100644
--- a/spec/models/preview_card_spec.rb
+++ b/spec/models/preview_card_spec.rb
@@ -9,26 +9,10 @@ RSpec.describe PreviewCard do
end
end
- describe 'validations' do
- describe 'urls' do
- it 'allows http schemes' do
- record = described_class.new(url: 'http://example.host/path')
-
- expect(record).to be_valid
- end
-
- it 'allows https schemes' do
- record = described_class.new(url: 'https://example.host/path')
-
- expect(record).to be_valid
- end
-
- it 'does not allow javascript: schemes' do
- record = described_class.new(url: 'javascript:alert()')
-
- expect(record).to_not be_valid
- expect(record).to model_have_error_on_field(:url)
- end
+ describe 'Validations' do
+ describe 'url' do
+ it { is_expected.to allow_values('http://example.host/path', 'https://example.host/path').for(:url) }
+ it { is_expected.to_not allow_value('javascript:alert()').for(:url) }
end
end
end
diff --git a/spec/models/preview_card_trend_spec.rb b/spec/models/preview_card_trend_spec.rb
new file mode 100644
index 00000000000..6edd24b6938
--- /dev/null
+++ b/spec/models/preview_card_trend_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe PreviewCardTrend do
+ describe 'Associations' do
+ it { is_expected.to belong_to(:preview_card).required }
+ end
+
+ describe '.locales' do
+ before do
+ Fabricate :preview_card_trend, language: 'en'
+ Fabricate :preview_card_trend, language: 'en'
+ Fabricate :preview_card_trend, language: 'es'
+ end
+
+ it 'returns unique set of languages' do
+ expect(described_class.locales)
+ .to eq(['en', 'es'])
+ end
+ end
+end
diff --git a/spec/models/report_note_spec.rb b/spec/models/report_note_spec.rb
index 417971c9a1e..0d1c0f619e5 100644
--- a/spec/models/report_note_spec.rb
+++ b/spec/models/report_note_spec.rb
@@ -3,29 +3,24 @@
require 'rails_helper'
RSpec.describe ReportNote do
- describe 'chronological scope' do
- it 'returns report notes oldest to newest' do
- report = Fabricate(:report)
- note1 = Fabricate(:report_note, report: report)
- note2 = Fabricate(:report_note, report: report)
+ describe 'Scopes' do
+ describe '.chronological' do
+ it 'returns report notes oldest to newest' do
+ report = Fabricate(:report)
+ note1 = Fabricate(:report_note, report: report)
+ note2 = Fabricate(:report_note, report: report)
- expect(report.notes.chronological).to eq [note1, note2]
+ expect(report.notes.chronological).to eq [note1, note2]
+ end
end
end
- describe 'validations' do
- it 'is invalid if the content is empty' do
- report = Fabricate.build(:report_note, content: '')
- expect(report.valid?).to be false
- end
+ describe 'Validations' do
+ subject { Fabricate.build :report_note }
- it 'is invalid if content is longer than character limit' do
- report = Fabricate.build(:report_note, content: comment_over_limit)
- expect(report.valid?).to be false
- end
-
- def comment_over_limit
- Faker::Lorem.paragraph_by_chars(number: described_class::CONTENT_SIZE_LIMIT * 2)
+ describe 'content' do
+ it { is_expected.to_not allow_value('').for(:content) }
+ it { is_expected.to validate_length_of(:content).is_at_most(described_class::CONTENT_SIZE_LIMIT) }
end
end
end
diff --git a/spec/models/status_pin_spec.rb b/spec/models/status_pin_spec.rb
index da375009aed..1501d43cc4e 100644
--- a/spec/models/status_pin_spec.rb
+++ b/spec/models/status_pin_spec.rb
@@ -3,70 +3,100 @@
require 'rails_helper'
RSpec.describe StatusPin do
- describe 'validations' do
- it 'allows pins of own statuses' do
- account = Fabricate(:account)
- status = Fabricate(:status, account: account)
+ describe 'Validations' do
+ subject { Fabricate.build :status_pin }
- expect(described_class.new(account: account, status: status).save).to be true
- end
+ context 'with an account pinning statuses' do
+ subject { Fabricate.build :status_pin, account: account }
- it 'does not allow pins of statuses by someone else' do
- account = Fabricate(:account)
- status = Fabricate(:status)
+ let(:account) { Fabricate(:account) }
- expect(described_class.new(account: account, status: status).save).to be false
- end
+ context 'with a self-owned status' do
+ let(:status) { Fabricate(:status, account: account) }
- it 'does not allow pins of reblogs' do
- account = Fabricate(:account)
- status = Fabricate(:status, account: account)
- reblog = Fabricate(:status, reblog: status)
-
- expect(described_class.new(account: account, status: reblog).save).to be false
- end
-
- it 'does allow pins of direct statuses' do
- account = Fabricate(:account)
- status = Fabricate(:status, account: account, visibility: :private)
-
- expect(described_class.new(account: account, status: status).save).to be true
- end
-
- it 'does not allow pins of direct statuses' do
- account = Fabricate(:account)
- status = Fabricate(:status, account: account, visibility: :direct)
-
- expect(described_class.new(account: account, status: status).save).to be false
- end
-
- context 'with a pin limit' do
- before { stub_const('StatusPinValidator::PIN_LIMIT', 2) }
-
- it 'does not allow pins above the max' do
- account = Fabricate(:account)
-
- Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account)
-
- pin = described_class.new(account: account, status: Fabricate(:status, account: account))
- expect(pin.save)
- .to be(false)
-
- expect(pin.errors[:base])
- .to contain_exactly(I18n.t('statuses.pin_errors.limit'))
+ it { is_expected.to allow_value(status).for(:status) }
end
- it 'allows pins above the max for remote accounts' do
- account = Fabricate(:account, domain: 'remote.test', username: 'bob', url: 'https://remote.test/')
+ context 'with a status from someone else' do
+ let(:status) { Fabricate(:status) }
- Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account)
+ it { is_expected.to_not allow_value(status).for(:status).against(:base) }
+ end
- pin = described_class.new(account: account, status: Fabricate(:status, account: account))
- expect(pin.save)
- .to be(true)
+ context 'with a reblog status' do
+ let(:status) { Fabricate(:status, reblog: Fabricate(:status, account: account)) }
- expect(pin.errors[:base])
- .to be_empty
+ it { is_expected.to_not allow_value(status).for(:status).against(:base) }
+ end
+
+ context 'with a private status' do
+ let(:status) { Fabricate(:status, account: account, visibility: :private) }
+
+ it { is_expected.to allow_value(status).for(:status).against(:base) }
+ end
+
+ context 'with a direct status' do
+ let(:status) { Fabricate(:status, account: account, visibility: :direct) }
+
+ it { is_expected.to_not allow_value(status).for(:status).against(:base) }
+ end
+ end
+
+ context 'with a validator pin limit' do
+ before { stub_const('StatusPinValidator::PIN_LIMIT', 2) }
+
+ context 'with a local account at the limit' do
+ let(:account) { Fabricate :account }
+
+ before { Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account) }
+
+ it { is_expected.to_not allow_value(account).for(:account).against(:base).with_message(I18n.t('statuses.pin_errors.limit')) }
+ end
+
+ context 'with a remote account at the limit' do
+ let(:account) { Fabricate :account, domain: 'remote.test' }
+
+ before { Fabricate.times(StatusPinValidator::PIN_LIMIT, :status_pin, account: account) }
+
+ it { is_expected.to allow_value(account).for(:account) }
+ end
+ end
+ end
+
+ describe 'Callbacks' do
+ describe 'Invalidating status via policy' do
+ subject { Fabricate :status_pin, status: Fabricate(:status, account: account), account: account }
+
+ context 'with a local account that owns the status and has a policy' do
+ let(:account) { Fabricate :account, domain: nil }
+
+ before do
+ Fabricate :account_statuses_cleanup_policy, account: account
+ account.statuses_cleanup_policy.record_last_inspected(subject.status.id + 1_024)
+ end
+
+ it 'calls the invalidator on destroy' do
+ expect { subject.destroy }
+ .to change(account.statuses_cleanup_policy, :last_inspected)
+ end
+ end
+
+ context 'with a local account that owns the status and does not have a policy' do
+ let(:account) { Fabricate :account, domain: nil }
+
+ it 'does not call the invalidator on destroy' do
+ expect { subject.destroy }
+ .to_not change(account, :updated_at)
+ end
+ end
+
+ context 'with a remote account' do
+ let(:account) { Fabricate :account, domain: 'host.example' }
+
+ it 'does not call the invalidator on destroy' do
+ expect { subject.destroy }
+ .to_not change(account, :updated_at)
+ end
end
end
end
diff --git a/spec/models/status_spec.rb b/spec/models/status_spec.rb
index 90f59684386..36b13df815c 100644
--- a/spec/models/status_spec.rb
+++ b/spec/models/status_spec.rb
@@ -164,6 +164,31 @@ RSpec.describe Status do
end
end
+ describe '#untrusted_reblogs_count' do
+ before do
+ alice.update(domain: 'example.com')
+ subject.status_stat.tap do |status_stat|
+ status_stat.untrusted_reblogs_count = 0
+ status_stat.save
+ end
+ subject.save
+ end
+
+ it 'is incremented by the number of reblogs' do
+ Fabricate(:status, account: bob, reblog: subject)
+ Fabricate(:status, account: alice, reblog: subject)
+
+ expect(subject.untrusted_reblogs_count).to eq 2
+ end
+
+ it 'is decremented when reblog is removed' do
+ reblog = Fabricate(:status, account: bob, reblog: subject)
+ expect(subject.untrusted_reblogs_count).to eq 1
+ reblog.destroy
+ expect(subject.untrusted_reblogs_count).to eq 0
+ end
+ end
+
describe '#replies_count' do
it 'is the number of replies' do
Fabricate(:status, account: bob, thread: subject)
@@ -194,6 +219,31 @@ RSpec.describe Status do
end
end
+ describe '#untrusted_favourites_count' do
+ before do
+ alice.update(domain: 'example.com')
+ subject.status_stat.tap do |status_stat|
+ status_stat.untrusted_favourites_count = 0
+ status_stat.save
+ end
+ subject.save
+ end
+
+ it 'is incremented by favorites' do
+ Fabricate(:favourite, account: bob, status: subject)
+ Fabricate(:favourite, account: alice, status: subject)
+
+ expect(subject.untrusted_favourites_count).to eq 2
+ end
+
+ it 'is decremented when favourite is removed' do
+ favourite = Fabricate(:favourite, account: bob, status: subject)
+ expect(subject.untrusted_favourites_count).to eq 1
+ favourite.destroy
+ expect(subject.untrusted_favourites_count).to eq 0
+ end
+ end
+
describe '#proper' do
it 'is itself for original statuses' do
expect(subject.proper).to eq subject
diff --git a/spec/models/status_trend_spec.rb b/spec/models/status_trend_spec.rb
new file mode 100644
index 00000000000..34522493cda
--- /dev/null
+++ b/spec/models/status_trend_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe StatusTrend do
+ describe 'Associations' do
+ it { is_expected.to belong_to(:account).required }
+ it { is_expected.to belong_to(:status).required }
+ end
+
+ describe '.locales' do
+ before do
+ Fabricate :status_trend, language: 'en'
+ Fabricate :status_trend, language: 'en'
+ Fabricate :status_trend, language: 'es'
+ end
+
+ it 'returns unique set of languages' do
+ expect(described_class.locales)
+ .to eq(['en', 'es'])
+ end
+ end
+end
diff --git a/spec/models/webauthn_credential_spec.rb b/spec/models/webauthn_credential_spec.rb
index c4105d91500..067c696c133 100644
--- a/spec/models/webauthn_credential_spec.rb
+++ b/spec/models/webauthn_credential_spec.rb
@@ -3,53 +3,17 @@
require 'rails_helper'
RSpec.describe WebauthnCredential do
- describe 'validations' do
+ describe 'Validations' do
+ subject { Fabricate.build :webauthn_credential }
+
it { is_expected.to validate_presence_of(:external_id) }
it { is_expected.to validate_presence_of(:public_key) }
it { is_expected.to validate_presence_of(:nickname) }
it { is_expected.to validate_presence_of(:sign_count) }
- it 'is invalid if already exist a webauthn credential with the same external id' do
- Fabricate(:webauthn_credential, external_id: '_Typ0ygudDnk9YUVWLQayw')
- new_webauthn_credential = Fabricate.build(:webauthn_credential, external_id: '_Typ0ygudDnk9YUVWLQayw')
+ it { is_expected.to validate_uniqueness_of(:external_id) }
+ it { is_expected.to validate_uniqueness_of(:nickname).scoped_to(:user_id) }
- new_webauthn_credential.valid?
-
- expect(new_webauthn_credential).to model_have_error_on_field(:external_id)
- end
-
- it 'is invalid if user already registered a webauthn credential with the same nickname' do
- user = Fabricate(:user)
- Fabricate(:webauthn_credential, user_id: user.id, nickname: 'USB Key')
- new_webauthn_credential = Fabricate.build(:webauthn_credential, user_id: user.id, nickname: 'USB Key')
-
- new_webauthn_credential.valid?
-
- expect(new_webauthn_credential).to model_have_error_on_field(:nickname)
- end
-
- it 'is invalid if sign_count is not a number' do
- webauthn_credential = Fabricate.build(:webauthn_credential, sign_count: 'invalid sign_count')
-
- webauthn_credential.valid?
-
- expect(webauthn_credential).to model_have_error_on_field(:sign_count)
- end
-
- it 'is invalid if sign_count is negative number' do
- webauthn_credential = Fabricate.build(:webauthn_credential, sign_count: -1)
-
- webauthn_credential.valid?
-
- expect(webauthn_credential).to model_have_error_on_field(:sign_count)
- end
-
- it 'is invalid if sign_count is greater than the limit' do
- webauthn_credential = Fabricate.build(:webauthn_credential, sign_count: (described_class::SIGN_COUNT_LIMIT * 2))
-
- webauthn_credential.valid?
-
- expect(webauthn_credential).to model_have_error_on_field(:sign_count)
- end
+ it { is_expected.to validate_numericality_of(:sign_count).only_integer.is_greater_than_or_equal_to(0).is_less_than_or_equal_to(described_class::SIGN_COUNT_LIMIT - 1) }
end
end
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 91a2e21bbbc..d2ad40be731 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -113,6 +113,7 @@ RSpec.configure do |config|
config.include ActiveSupport::Testing::TimeHelpers
config.include Chewy::Rspec::Helpers
config.include Redisable
+ config.include DomainHelpers
config.include ThreadingHelpers
config.include SignedRequestHelpers, type: :request
config.include CommandLineHelpers, type: :cli
diff --git a/spec/requests/api/v1/trends/statuses_spec.rb b/spec/requests/api/v1/trends/statuses_spec.rb
index fe00c9c6458..414d7651b99 100644
--- a/spec/requests/api/v1/trends/statuses_spec.rb
+++ b/spec/requests/api/v1/trends/statuses_spec.rb
@@ -39,6 +39,42 @@ RSpec.describe 'API V1 Trends Statuses' do
end
Trends::Statuses.new(threshold: 1, decay_threshold: -1).refresh
end
+
+ context 'with a comically inflated external interactions count' do
+ def prepare_fake_trends
+ fake_remote_account = Fabricate(:account, domain: 'other.com')
+ fake_status = Fabricate(:status, account: fake_remote_account, text: 'I am a big faker', trendable: true, language: 'en')
+ fake_status.status_stat.tap do |status_stat|
+ status_stat.reblogs_count = 0
+ status_stat.favourites_count = 0
+ status_stat.untrusted_reblogs_count = 1_000_000_000
+ status_stat.untrusted_favourites_count = 1_000_000_000
+ status_stat.save
+ end
+ real_remote_account = Fabricate(:account, domain: 'other.com')
+ real_status = Fabricate(:status, account: real_remote_account, text: 'I make real friends online', trendable: true, language: 'en')
+ real_status.status_stat.tap do |status_stat|
+ status_stat.reblogs_count = 10
+ status_stat.favourites_count = 10
+ status_stat.untrusted_reblogs_count = 10
+ status_stat.untrusted_favourites_count = 10
+ status_stat.save
+ end
+ Trends.statuses.add(fake_status, 100)
+ Trends.statuses.add(real_status, 101)
+ Trends::Statuses.new(threshold: 1, decay_threshold: 1).refresh
+ end
+
+ it 'ignores the feeble attempts at deception' do
+ prepare_fake_trends
+ stub_const('Api::BaseController::DEFAULT_STATUSES_LIMIT', 10)
+ get '/api/v1/trends/statuses'
+
+ expect(response).to have_http_status(200)
+ expect(response.parsed_body.length).to eq(1)
+ expect(response.parsed_body[0]['content']).to eq('I make real friends online')
+ end
+ end
end
end
end
diff --git a/spec/requests/api/v2/media_spec.rb b/spec/requests/api/v2/media_spec.rb
index 70e0679f574..807e427d3f7 100644
--- a/spec/requests/api/v2/media_spec.rb
+++ b/spec/requests/api/v2/media_spec.rb
@@ -29,6 +29,22 @@ RSpec.describe 'Media API', :attachment_processing do
end
end
+ context 'when media description is too long' do
+ let(:params) do
+ {
+ file: fixture_file_upload('attachment-jpg.123456_abcd', 'image/jpeg'),
+ description: 'aa' * MediaAttachment::MAX_DESCRIPTION_LENGTH,
+ }
+ end
+
+ it 'returns http error' do
+ post '/api/v2/media', headers: headers, params: params
+
+ expect(response).to have_http_status(422)
+ expect(response.body).to include 'Description is too long'
+ end
+ end
+
context 'when large format media attachment has not been processed' do
let(:params) { { file: fixture_file_upload('attachment.webm', 'video/webm') } }
diff --git a/spec/serializers/rest/status_serializer_spec.rb b/spec/serializers/rest/status_serializer_spec.rb
new file mode 100644
index 00000000000..e96d1fbe67b
--- /dev/null
+++ b/spec/serializers/rest/status_serializer_spec.rb
@@ -0,0 +1,55 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe REST::StatusSerializer do
+ subject do
+ serialized_record_json(
+ status,
+ described_class,
+ options: {
+ scope: current_user,
+ scope_name: :current_user,
+ }
+ )
+ end
+
+ let(:current_user) { Fabricate(:user) }
+ let(:alice) { Fabricate(:account, username: 'alice') }
+ let(:bob) { Fabricate(:account, username: 'bob', domain: 'other.com') }
+ let(:status) { Fabricate(:status, account: alice) }
+
+ context 'with a remote status' do
+ let(:status) { Fabricate(:status, account: bob) }
+
+ before do
+ status.status_stat.tap do |status_stat|
+ status_stat.reblogs_count = 10
+ status_stat.favourites_count = 20
+ status_stat.save
+ end
+ end
+
+ context 'with only trusted counts' do
+ it 'shows the trusted counts' do
+ expect(subject['reblogs_count']).to eq(10)
+ expect(subject['favourites_count']).to eq(20)
+ end
+ end
+
+ context 'with untrusted counts' do
+ before do
+ status.status_stat.tap do |status_stat|
+ status_stat.untrusted_reblogs_count = 30
+ status_stat.untrusted_favourites_count = 40
+ status_stat.save
+ end
+ end
+
+ it 'shows the untrusted counts' do
+ expect(subject['reblogs_count']).to eq(30)
+ expect(subject['favourites_count']).to eq(40)
+ end
+ end
+ end
+end
diff --git a/spec/services/app_sign_up_service_spec.rb b/spec/services/app_sign_up_service_spec.rb
index ec7b7516f95..b78868db494 100644
--- a/spec/services/app_sign_up_service_spec.rb
+++ b/spec/services/app_sign_up_service_spec.rb
@@ -53,17 +53,7 @@ RSpec.describe AppSignUpService do
Setting.registrations_mode = 'open'
Fabricate(:email_domain_block, allow_with_approval: true, domain: 'smtp.email.com')
allow(User).to receive(:skip_mx_check?).and_return(false)
-
- resolver = instance_double(Resolv::DNS, :timeouts= => nil)
-
- allow(resolver).to receive(:getresources)
- .with('email.com', Resolv::DNS::Resource::IN::MX)
- .and_return([instance_double(Resolv::DNS::Resource::MX, exchange: 'smtp.email.com')])
- allow(resolver).to receive(:getresources).with('email.com', Resolv::DNS::Resource::IN::A).and_return([])
- allow(resolver).to receive(:getresources).with('email.com', Resolv::DNS::Resource::IN::AAAA).and_return([])
- allow(resolver).to receive(:getresources).with('smtp.email.com', Resolv::DNS::Resource::IN::A).and_return([instance_double(Resolv::DNS::Resource::IN::A, address: '2.3.4.5')])
- allow(resolver).to receive(:getresources).with('smtp.email.com', Resolv::DNS::Resource::IN::AAAA).and_return([instance_double(Resolv::DNS::Resource::IN::AAAA, address: 'fd00::2')])
- allow(Resolv::DNS).to receive(:open).and_yield(resolver)
+ configure_mx(domain: 'email.com', exchange: 'smtp.email.com')
end
it 'creates an unapproved user', :aggregate_failures do
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 2a27544407b..13683e404e0 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -34,8 +34,8 @@ RSpec.configure do |config|
end
end
-def serialized_record_json(record, serializer, adapter: nil)
- options = { serializer: serializer }
+def serialized_record_json(record, serializer, adapter: nil, options: {})
+ options[:serializer] = serializer
options[:adapter] = adapter if adapter.present?
JSON.parse(
ActiveModelSerializers::SerializableResource.new(
diff --git a/spec/support/domain_helpers.rb b/spec/support/domain_helpers.rb
new file mode 100644
index 00000000000..9977702099d
--- /dev/null
+++ b/spec/support/domain_helpers.rb
@@ -0,0 +1,44 @@
+# frozen_string_literal: true
+
+module DomainHelpers
+ def configure_mx(domain:, exchange:, ip_v4_addr: '2.3.4.5', ip_v6_addr: 'fd00::2')
+ resolver = instance_double(Resolv::DNS, :timeouts= => nil)
+
+ allow(resolver).to receive(:getresources)
+ .with(domain, Resolv::DNS::Resource::IN::MX)
+ .and_return([double_mx(exchange)])
+ allow(resolver)
+ .to receive(:getresources)
+ .with(domain, Resolv::DNS::Resource::IN::A)
+ .and_return([])
+ allow(resolver)
+ .to receive(:getresources)
+ .with(domain, Resolv::DNS::Resource::IN::AAAA)
+ .and_return([])
+ allow(resolver)
+ .to receive(:getresources)
+ .with(exchange, Resolv::DNS::Resource::IN::A)
+ .and_return([double_resource_v4(ip_v4_addr)])
+ allow(resolver)
+ .to receive(:getresources)
+ .with(exchange, Resolv::DNS::Resource::IN::AAAA)
+ .and_return([double_resource_v6(ip_v6_addr)])
+ allow(Resolv::DNS)
+ .to receive(:open)
+ .and_yield(resolver)
+ end
+
+ private
+
+ def double_mx(exchange)
+ instance_double(Resolv::DNS::Resource::MX, exchange: exchange)
+ end
+
+ def double_resource_v4(addr)
+ instance_double(Resolv::DNS::Resource::IN::A, address: addr)
+ end
+
+ def double_resource_v6(addr)
+ instance_double(Resolv::DNS::Resource::IN::AAAA, address: addr)
+ end
+end
diff --git a/spec/support/stories/profile_stories.rb b/spec/support/stories/profile_stories.rb
index 07eaaca9fb9..43a8e170ccb 100644
--- a/spec/support/stories/profile_stories.rb
+++ b/spec/support/stories/profile_stories.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module ProfileStories
- attr_reader :bob, :alice, :alice_bio
+ attr_reader :bob
def fill_in_auth_details(email, password)
fill_in 'user_email', with: email
@@ -31,18 +31,6 @@ module ProfileStories
bob.update!(role: UserRole.find_by!(name: 'Admin'))
end
- def with_alice_as_local_user
- @alice_bio = '@alice and @bob are fictional characters commonly used as' \
- 'placeholder names in #cryptology, as well as #science and' \
- 'engineering 📖 literature. Not affiliated with @pepe.'
-
- @alice = Fabricate(
- :user,
- email: 'alice@example.com', password: password, confirmed_at: confirmed_at,
- account: Fabricate(:account, username: 'alice', note: @alice_bio)
- )
- end
-
def confirmed_at
@confirmed_at ||= Time.zone.now
end
diff --git a/spec/system/profile_spec.rb b/spec/system/profile_spec.rb
index 7e3cbfd334e..a05a146fef7 100644
--- a/spec/system/profile_spec.rb
+++ b/spec/system/profile_spec.rb
@@ -11,10 +11,10 @@ RSpec.describe 'Profile' do
before do
as_a_logged_in_user
- with_alice_as_local_user
+ Fabricate(:user, account: Fabricate(:account, username: 'alice'))
end
- it 'I can view Annes public account' do
+ it 'I can view public account page for Alice' do
visit account_path('alice')
expect(subject).to have_title("alice (@alice@#{local_domain})")
diff --git a/yarn.lock b/yarn.lock
index baf0dec9efb..7762f961022 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -42,127 +42,129 @@ __metadata:
languageName: node
linkType: hard
-"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/code-frame@npm:7.25.7"
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/code-frame@npm:7.26.0"
dependencies:
- "@babel/highlight": "npm:^7.25.7"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ js-tokens: "npm:^4.0.0"
picocolors: "npm:^1.0.0"
- checksum: 10c0/14825c298bdec914caf3d24d1383b6d4cd6b030714686004992f4fc251831ecf432236652896f99d5d341f17170ae9a07b58d8d7b15aa0df8cfa1c5a7d5474bc
+ checksum: 10c0/46f7e367714be736b52ea3c01b24f47e2102e210fb83021d1c8237d8fc511b9538909e16e2fcdbb5cb6173e0794e28624309a59014e52fcfb7bde908f5284388
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.7, @babel/compat-data@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/compat-data@npm:7.25.8"
- checksum: 10c0/8b81c17580e5fb4cbb6a3c52079f8c283fc59c0c6bd2fe14cfcf9c44b32d2eaab71b02c5633e2c679f5896f73f8ac4036ba2e67a4c806e8f428e4b11f526d7f4
+"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/compat-data@npm:7.26.0"
+ checksum: 10c0/6325c9151a3c9b0a3a807e854a26255ef66d989bff331475a935af9bb18f160e0fffe6aed550e4e96b63f91efcd874bfbaab2a1f4a2f8d25645d712a0de590fb
languageName: node
linkType: hard
"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4, @babel/core@npm:^7.25.0":
- version: 7.25.8
- resolution: "@babel/core@npm:7.25.8"
+ version: 7.26.0
+ resolution: "@babel/core@npm:7.26.0"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
- "@babel/code-frame": "npm:^7.25.7"
- "@babel/generator": "npm:^7.25.7"
- "@babel/helper-compilation-targets": "npm:^7.25.7"
- "@babel/helper-module-transforms": "npm:^7.25.7"
- "@babel/helpers": "npm:^7.25.7"
- "@babel/parser": "npm:^7.25.8"
- "@babel/template": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.8"
+ "@babel/code-frame": "npm:^7.26.0"
+ "@babel/generator": "npm:^7.26.0"
+ "@babel/helper-compilation-targets": "npm:^7.25.9"
+ "@babel/helper-module-transforms": "npm:^7.26.0"
+ "@babel/helpers": "npm:^7.26.0"
+ "@babel/parser": "npm:^7.26.0"
+ "@babel/template": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.26.0"
convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2"
json5: "npm:^2.2.3"
semver: "npm:^6.3.1"
- checksum: 10c0/8411ea506e6f7c8a39ab5c1524b00589fa3b087edb47389708f7fe07170929192171734666e3ea10b95a951643a531a6d09eedfe071572c9ea28516646265086
+ checksum: 10c0/91de73a7ff5c4049fbc747930aa039300e4d2670c2a91f5aa622f1b4868600fc89b01b6278385fbcd46f9574186fa3d9b376a9e7538e50f8d118ec13cfbcb63e
languageName: node
linkType: hard
-"@babel/generator@npm:^7.25.7, @babel/generator@npm:^7.7.2":
- version: 7.25.7
- resolution: "@babel/generator@npm:7.25.7"
+"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.26.0, @babel/generator@npm:^7.7.2":
+ version: 7.26.0
+ resolution: "@babel/generator@npm:7.26.0"
dependencies:
- "@babel/types": "npm:^7.25.7"
+ "@babel/parser": "npm:^7.26.0"
+ "@babel/types": "npm:^7.26.0"
"@jridgewell/gen-mapping": "npm:^0.3.5"
"@jridgewell/trace-mapping": "npm:^0.3.25"
jsesc: "npm:^3.0.2"
- checksum: 10c0/c03a26c79864d60d04ce36b649c3fa0d6fd7b2bf6a22e22854a0457aa09206508392dd73ee40e7bc8d50b3602f9ff068afa47770cda091d332e7db1ca382ee96
+ checksum: 10c0/b6bb9185f19a97eaf58e04a6d39a13237076678e7ed16b6321dea914535d4bf6a8d7727c9dcb65539845aa0096b326eb67be4bab764bd74bcfd848e2eda68609
languageName: node
linkType: hard
-"@babel/helper-annotate-as-pure@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-annotate-as-pure@npm:7.25.7"
+"@babel/helper-annotate-as-pure@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-annotate-as-pure@npm:7.25.9"
dependencies:
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/2f020b0fa9d336b5778485cc2de3141561ec436a7591b685457a5bcdae4ce41d9ddee68169c95504e0789e5a4327e73b8b7e72e5b60e82e96d730c4d19255248
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe
languageName: node
linkType: hard
-"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.7"
+"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.9"
dependencies:
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/e9dc5a7920a1d74150dec53ccd5e34f2b31ae307df7cdeec6289866f7bda97ecb1328b49a7710ecde5db5b6daad768c904a030f9a0fa3184963b0017622c42aa
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/a6068bb813e7f72d12b72edeecb99167f60cd7964cacedfb60e01fff5e7bed4a5a7f4f7414de7cf352a1b71487df5f8dab8c2b5230de4ad5aea16adf32e14219
languageName: node
linkType: hard
-"@babel/helper-builder-react-jsx@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-builder-react-jsx@npm:7.25.7"
+"@babel/helper-builder-react-jsx@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-builder-react-jsx@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/f8123a76e8c3fcdbb24cc14bfefc80e4c7bf58112ab26bea3247298748c674cbaee70591c362d0d881e4d88154ea4809b145f3ddcf96221cf55ba27bfde535c6
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/99d6e87eede0971f25b5e638220f5f966c56c03f6a6278a693c73ac0a31acddb86110208a89d948aa337c8cf7998fb317c00e8baf2e9fa0a42b9207b977dc9c6
languageName: node
linkType: hard
-"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-compilation-targets@npm:7.25.7"
+"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-compilation-targets@npm:7.25.9"
dependencies:
- "@babel/compat-data": "npm:^7.25.7"
- "@babel/helper-validator-option": "npm:^7.25.7"
+ "@babel/compat-data": "npm:^7.25.9"
+ "@babel/helper-validator-option": "npm:^7.25.9"
browserslist: "npm:^4.24.0"
lru-cache: "npm:^5.1.1"
semver: "npm:^6.3.1"
- checksum: 10c0/705be7e5274a3fdade68e3e2cf42e2b600316ab52794e13b91299a16f16c926f15886b6e9d6df20eb943ccc1cdba5a363d4766f8d01e47b8e6f4e01175f5e66c
+ checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa
languageName: node
linkType: hard
-"@babel/helper-create-class-features-plugin@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-create-class-features-plugin@npm:7.25.7"
+"@babel/helper-create-class-features-plugin@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-member-expression-to-functions": "npm:^7.25.7"
- "@babel/helper-optimise-call-expression": "npm:^7.25.7"
- "@babel/helper-replace-supers": "npm:^7.25.7"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-member-expression-to-functions": "npm:^7.25.9"
+ "@babel/helper-optimise-call-expression": "npm:^7.25.9"
+ "@babel/helper-replace-supers": "npm:^7.25.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/405c3c1a137acda1206380a96993cf2cfd808b3bee1c11c4af47ee0f03a20858497aa53394d6adc5431793c543be5e02010620e871a5ab39d938ae90a54b50f2
+ checksum: 10c0/b2bdd39f38056a76b9ba00ec5b209dd84f5c5ebd998d0f4033cf0e73d5f2c357fbb49d1ce52db77a2709fb29ee22321f84a5734dc9914849bdfee9ad12ce8caf
languageName: node
linkType: hard
-"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.7"
+"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
regexpu-core: "npm:^6.1.1"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/75919fd5a67cd7be8497b56f7b9ed6b4843cb401956ba8d403aa9ae5b005bc28e35c7f27e704d820edbd1154394ed7a7984d4719916795d89d716f6980fe8bd4
+ checksum: 10c0/3adc60a758febbf07d65a15eaccab1f7b9fcc55e7141e59122f13c9f81fc0d1cce4525b7f4af50285d27c93b34c859fd2c39c39820c5fb92211898c3bbdc77ef
languageName: node
linkType: hard
@@ -181,223 +183,210 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-member-expression-to-functions@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-member-expression-to-functions@npm:7.25.7"
+"@babel/helper-member-expression-to-functions@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9"
dependencies:
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/1e948162ab48d84593a7c6ec9570d14c906146f1697144fc369c59dbeb00e4a062da67dd06cb0d8f98a044cd8389002dcf2ab6f5613d99c35748307846ec63fc
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff
languageName: node
linkType: hard
-"@babel/helper-module-imports@npm:^7.0.0-beta.49, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-module-imports@npm:7.25.7"
+"@babel/helper-module-imports@npm:^7.0.0-beta.49, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-module-imports@npm:7.25.9"
dependencies:
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/0fd0c3673835e5bf75558e184bcadc47c1f6dd2fe2016d53ebe1e5a6ae931a44e093015c2f9a6651c1a89f25c76d9246710c2b0b460b95ee069c464f2837fa2c
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70
languageName: node
linkType: hard
-"@babel/helper-module-transforms@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-module-transforms@npm:7.25.7"
+"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/helper-module-transforms@npm:7.26.0"
dependencies:
- "@babel/helper-module-imports": "npm:^7.25.7"
- "@babel/helper-simple-access": "npm:^7.25.7"
- "@babel/helper-validator-identifier": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-module-imports": "npm:^7.25.9"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/f37fa7d1d4df21690535b278468cbd5faf0133a3080f282000cfa4f3ffc9462a1458f866b04b6a2f2d1eec4691236cba9a867da61270dab3ab19846e62f05090
+ checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a
languageName: node
linkType: hard
-"@babel/helper-optimise-call-expression@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-optimise-call-expression@npm:7.25.7"
+"@babel/helper-optimise-call-expression@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-optimise-call-expression@npm:7.25.9"
dependencies:
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/19b4cc7e77811b1fedca4928dbc14026afef913c2ba4142e5e110ebdcb5c3b2efc0f0fbee9f362c23a194674147b9d627adea71c289b9be08b9067bc0085308b
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c
languageName: node
linkType: hard
-"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.0, @babel/helper-plugin-utils@npm:^7.25.7, @babel/helper-plugin-utils@npm:^7.8.0":
- version: 7.25.7
- resolution: "@babel/helper-plugin-utils@npm:7.25.7"
- checksum: 10c0/241f8cf3c5b7700e91cab7cfe5b432a3c710ae3cd5bb96dc554da536a6d25f5b9f000cc0c0917501ceb4f76ba92599ee3beb25e10adaf96be59f8df89a842faf
+"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.0, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0":
+ version: 7.25.9
+ resolution: "@babel/helper-plugin-utils@npm:7.25.9"
+ checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d
languageName: node
linkType: hard
-"@babel/helper-remap-async-to-generator@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-remap-async-to-generator@npm:7.25.7"
+"@babel/helper-remap-async-to-generator@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-wrap-function": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-wrap-function": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/972d84876adce6ab61c87a2df47e1afc790b73cff0d1767d0a1c5d9f7aa5e91d8c581a272b66b2051a26cfbb167d8a780564705e488e3ce1f477f1c15059bc5f
+ checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9
languageName: node
linkType: hard
-"@babel/helper-replace-supers@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-replace-supers@npm:7.25.7"
+"@babel/helper-replace-supers@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-replace-supers@npm:7.25.9"
dependencies:
- "@babel/helper-member-expression-to-functions": "npm:^7.25.7"
- "@babel/helper-optimise-call-expression": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-member-expression-to-functions": "npm:^7.25.9"
+ "@babel/helper-optimise-call-expression": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/761d64ee74429f7326a6aa65e2cd5bfcb8de9e3bc3f1efb14b8f610d2410f003b0fca52778dc801d49ff8fbc90b057e8f51b27c62b0b05c95eaf23140ca1287b
+ checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4
languageName: node
linkType: hard
-"@babel/helper-simple-access@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-simple-access@npm:7.25.7"
+"@babel/helper-simple-access@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-simple-access@npm:7.25.9"
dependencies:
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/eed1b499bfb4f613c18debd61517e3de77b6da2727ca025aa05ac81599e0269f1dddb5237db04e8bb598115d015874752e0a7f11ff38672d74a4976097417059
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/3f1bcdb88ee3883ccf86959869a867f6bbf8c4737cd44fb9f799c38e54f67474590bc66802500ae9fe18161792875b2cfb7ec15673f48ed6c8663f6d09686ca8
languageName: node
linkType: hard
-"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.7"
+"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9"
dependencies:
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/5804adb893849a9d8cfb548e3812566a81d95cb0c9a10d66b52912d13f488e577c33063bf19bc06ac70e6333162a7370d67ba1a1c3544d37fb50d5f4a00db4de
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184
languageName: node
linkType: hard
-"@babel/helper-string-parser@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-string-parser@npm:7.25.7"
- checksum: 10c0/73ef2ceb81f8294678a0afe8ab0103729c0370cac2e830e0d5128b03be5f6a2635838af31d391d763e3c5a4460ed96f42fd7c9b552130670d525be665913bc4c
+"@babel/helper-string-parser@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-string-parser@npm:7.25.9"
+ checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6
languageName: node
linkType: hard
-"@babel/helper-validator-identifier@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-validator-identifier@npm:7.25.7"
- checksum: 10c0/07438e5bf01ab2882a15027fdf39ac3b0ba1b251774a5130917907014684e2f70fef8fd620137ca062c4c4eedc388508d2ea7a3a7d9936a32785f4fe116c68c0
+"@babel/helper-validator-identifier@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-validator-identifier@npm:7.25.9"
+ checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d
languageName: node
linkType: hard
-"@babel/helper-validator-option@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-validator-option@npm:7.25.7"
- checksum: 10c0/12ed418c8e3ed9ed44c8c80d823f4e42d399b5eb2e423adccb975e31a31a008cd3b5d8eab688b31f740caff4a1bb28fe06ea2fa7d635aee34cc0ad6995d50f0a
+"@babel/helper-validator-option@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-validator-option@npm:7.25.9"
+ checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e
languageName: node
linkType: hard
-"@babel/helper-wrap-function@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helper-wrap-function@npm:7.25.7"
+"@babel/helper-wrap-function@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-wrap-function@npm:7.25.9"
dependencies:
- "@babel/template": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/b5d412f72697f4a4ce4cb9784fbaf82501c63cf95066c0eadd3179e3439cbbf0aa5fa4858d93590083671943cd357aeb87286958df34aa56fdf8a4c9dea39755
+ "@babel/template": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003
languageName: node
linkType: hard
-"@babel/helpers@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/helpers@npm:7.25.7"
+"@babel/helpers@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/helpers@npm:7.26.0"
dependencies:
- "@babel/template": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/3b3ae9e373bd785414195ef8f59976a69d5a6ebe0ef2165fdcc5165e5c3ee09e0fcee94bb457df2ddb8c0532e4146d0a9b7a96b3497399a4bff4ffe196b30228
+ "@babel/template": "npm:^7.25.9"
+ "@babel/types": "npm:^7.26.0"
+ checksum: 10c0/343333cced6946fe46617690a1d0789346960910225ce359021a88a60a65bc0d791f0c5d240c0ed46cf8cc63b5fd7df52734ff14e43b9c32feae2b61b1647097
languageName: node
linkType: hard
-"@babel/highlight@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/highlight@npm:7.25.7"
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0":
+ version: 7.26.1
+ resolution: "@babel/parser@npm:7.26.1"
dependencies:
- "@babel/helper-validator-identifier": "npm:^7.25.7"
- chalk: "npm:^2.4.2"
- js-tokens: "npm:^4.0.0"
- picocolors: "npm:^1.0.0"
- checksum: 10c0/1f5894fdb0a0af6101fb2822369b2eeeae32cbeae2ef73ff73fc6a0a4a20471565cd9cfa589f54ed69df66adeca7c57266031ca9134b7bd244d023a488d419aa
- languageName: node
- linkType: hard
-
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.7, @babel/parser@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/parser@npm:7.25.8"
- dependencies:
- "@babel/types": "npm:^7.25.8"
+ "@babel/types": "npm:^7.26.0"
bin:
parser: ./bin/babel-parser.js
- checksum: 10c0/a1a13845b7e8dda4c970791814a4bbf60004969882f18f470e260ad822d2e1f8941948f851e9335895563610f240fa6c98481ce8019865e469502bbf21daafa4
+ checksum: 10c0/dc7d4e6b7eb667fa0784e7e2c3f6f92ca12ad72242f6d4311995310dae55093f02acdb595b69b0dbbf04cb61ad87156ac03186ff32eacfa35149c655bc22c14b
languageName: node
linkType: hard
-"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.7"
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/c6ba97c39973897a2ab021c4a77221e1e93e853a5811d498db325da1bd692e41fa521db6d91bb709ccafd4e54ddd00869ffb35846923c3ccd49d46124b316904
+ checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34
languageName: node
linkType: hard
-"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.7"
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/ac284868bf410f952c6959b0d77708464127160416f003b05c8127d30e64792d671abc167ebf778b17707e32174223ea8d3ff487276991fa90297d92f0dac6e2
+ checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004
languageName: node
linkType: hard
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.7"
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/1bffc0a20c8c82b4c77515eb4c99b961b38184116f008bb42bed4e12d3379ba7b2bc6cf299bcea8118d645bb7a5e0caa83969842f16dd1fce49fb3a050e4ac65
+ checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8
languageName: node
linkType: hard
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.7"
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7"
- "@babel/plugin-transform-optional-chaining": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.13.0
- checksum: 10c0/32223f012614a0b2657579317ded7d0d09af2aa316285715c5012f974d0f15c2ce2fe0d8e80fdd9bac6c10c21c93cc925a9dfd6c8e21ce7ba1a9fe06a58088b4
+ checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c
languageName: node
linkType: hard
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.7"
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/aa2ee7a5954d187de6cbcca0e0b64cfb79c4d224c332d1eb1e0e4afd92ef1a1f4bc4af24f66154097ccb348c08121a875456f47baed220b1b9e93584e6a19b65
+ checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272
languageName: node
linkType: hard
@@ -443,25 +432,25 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-assertions@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7"
+"@babel/plugin-syntax-import-assertions@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/0fee0d971f3c654749fdf92e09b6556bba26ab014c8e99b7252f6a7f1ca108f17edd7ceefb5401d7b7008e98ab1b6f8c3c6a5db72862e7c7b2fcd649d000d690
+ checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-attributes@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.7"
+"@babel/plugin-syntax-import-attributes@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/fe00cdb96fd289ab126830a98e1dcf5ab7b529a6ef1c01a72506b5e7b1197d6e46c3c4d029cd90d1d61eb9a15ef77c282d156d0c02c7e32f168bb09d84150db4
+ checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352
languageName: node
linkType: hard
@@ -487,14 +476,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-jsx@npm:^7.25.0, @babel/plugin-syntax-jsx@npm:^7.25.7, @babel/plugin-syntax-jsx@npm:^7.7.2":
- version: 7.25.7
- resolution: "@babel/plugin-syntax-jsx@npm:7.25.7"
+"@babel/plugin-syntax-jsx@npm:^7.25.0, @babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2":
+ version: 7.25.9
+ resolution: "@babel/plugin-syntax-jsx@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/17db499c31fcfaa94d5408726d943955d51d478353d1e2dd84eda6024f7e3d104b9456a77f8aabfae0db7f4dc32f810d08357112f7fcbe305e7c9fcf5b3cac13
+ checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c
languageName: node
linkType: hard
@@ -575,14 +564,14 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-typescript@npm:^7.25.7, @babel/plugin-syntax-typescript@npm:^7.7.2":
- version: 7.25.7
- resolution: "@babel/plugin-syntax-typescript@npm:7.25.7"
+"@babel/plugin-syntax-typescript@npm:^7.25.9, @babel/plugin-syntax-typescript@npm:^7.7.2":
+ version: 7.25.9
+ resolution: "@babel/plugin-syntax-typescript@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/ed51fd81a5cf571a89fc4cf4c0e3b0b91285c367237374c133d2e5e718f3963cfa61b81997df39220a8837dc99f9e9a8ab7701d259c09fae379e4843d9db60c2
+ checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2
languageName: node
linkType: hard
@@ -598,454 +587,454 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-arrow-functions@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.7"
+"@babel/plugin-transform-arrow-functions@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/c8d75ead93f130bf113b6d29493aca695092661ef039336d2a227169c3b7895aa5e9bcc548c42a95a6eaaaf49e512317b00699940bd40ccefd77443e703d3935
+ checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622
languageName: node
linkType: hard
-"@babel/plugin-transform-async-generator-functions@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.8"
+"@babel/plugin-transform-async-generator-functions@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-remap-async-to-generator": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-remap-async-to-generator": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/1698d0757d3dc895047120346cdbe6d539dae4a7bb930caf958c3623e89c850d378d1ebd971a1a8b4cba39c8f001cd9c25a1d6f430099022ab1e87aeddb5dd88
+ checksum: 10c0/e3fcb9fc3d6ab6cbd4fcd956b48c17b5e92fe177553df266ffcd2b2c1f2f758b893e51b638e77ed867941e0436487d2b8b505908d615c41799241699b520dec6
languageName: node
linkType: hard
-"@babel/plugin-transform-async-to-generator@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.7"
+"@babel/plugin-transform-async-to-generator@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9"
dependencies:
- "@babel/helper-module-imports": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-remap-async-to-generator": "npm:^7.25.7"
+ "@babel/helper-module-imports": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-remap-async-to-generator": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/1dbefba9c1455f7a92b8c59a93c622091db945294c936fc2c09b1648308c5b4cb2ecaae92baae0d07a324ab890a8a2ee27ceb046bc120932845d27aede275821
+ checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoped-functions@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.7"
+"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b1e77492295d1b271ef850a81b0404cf3d0dd6a2bcbeab28a0fd99e61c6de4bda91dff583bb42138eec61bf71282bdd3b1bebcb53b7e373035e77fd6ba66caeb
+ checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoping@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-block-scoping@npm:7.25.7"
+"@babel/plugin-transform-block-scoping@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b2057e00535cd0e8bd5ee5d4640aa2e952564aeafb1bcf4e7b6de33442422877bb0ca8669ad0a48262ec077271978c61eae87b6b3bc8f472d830fa781d6f7e44
+ checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda
languageName: node
linkType: hard
-"@babel/plugin-transform-class-properties@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-class-properties@npm:7.25.7"
+"@babel/plugin-transform-class-properties@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-class-properties@npm:7.25.9"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-class-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/1f41e6934b20ad3e05df63959cff9bc600ff3119153b9acbbd44c1731e7df04866397e6e17799173f4c53cdee6115e155632859aee20bf47ec7dcef3f2168a47
+ checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150
languageName: node
linkType: hard
-"@babel/plugin-transform-class-static-block@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-class-static-block@npm:7.25.8"
+"@babel/plugin-transform-class-static-block@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-class-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.12.0
- checksum: 10c0/4f37853aef6920875022bbb2d7c6523218d9d718291464e2cacd9cc6f2c22d86a69948d8ea38f9248843bbfe9343f3fd18cf16b1615560124198bf999e3ba612
+ checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b
languageName: node
linkType: hard
-"@babel/plugin-transform-classes@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-classes@npm:7.25.7"
+"@babel/plugin-transform-classes@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-classes@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-compilation-targets": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-replace-supers": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-compilation-targets": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-replace-supers": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
globals: "npm:^11.1.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/8121781e1d8acd80e6169019106f73a399475ad9c895c1988a344dfed5a6ddd340938ac55123dc1e423bb8f25f255f5d11031116ad756ba3c314595a97c973af
+ checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d
languageName: node
linkType: hard
-"@babel/plugin-transform-computed-properties@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-computed-properties@npm:7.25.7"
+"@babel/plugin-transform-computed-properties@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/template": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/template": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/7ad0a1c126f50935a02e77d438ebc39078a9d644b3a60de60bec32c5d9f49e7f2b193fcecb8c61bb1bc3cdd4af1e93f72d022d448511fa76a171527c633cd1bf
+ checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b
languageName: node
linkType: hard
-"@babel/plugin-transform-destructuring@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-destructuring@npm:7.25.7"
+"@babel/plugin-transform-destructuring@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-destructuring@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/a563123b2fb267e03aa50104005f00b56226a685938906c42c1b251462e0cc9fc89e587d5656d3324159071eb8ebda8c68a6011f11d5a00fb1436cb5a5411b7b
+ checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49
languageName: node
linkType: hard
-"@babel/plugin-transform-dotall-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.7"
+"@babel/plugin-transform-dotall-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/7f1db3ec20b7fae46db4a9c4c257d75418b0896b72c0a3de20b3044f952801480f0a2e75ebb0d64f13e8cd4db0e49aa42c5c0edff372b23c41679b1ea5dd3ed4
+ checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12
languageName: node
linkType: hard
-"@babel/plugin-transform-duplicate-keys@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.7"
+"@babel/plugin-transform-duplicate-keys@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b4079981e2db19737a0f1a00254e7388e2d3c01ce36e9fd826e4d86d3c1755339495e29c71fd7c84a068201ec24687328d48f3bf53b32b6d6224f51d9a34da74
+ checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4
languageName: node
linkType: hard
-"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.7"
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/e4946090ff6d88d54b78265ee653079ec34c117ac046e22f66f7c4ac44249cdc2dfca385bc5bf4386db668b9948eeb12985589500188bc252e684c7714c31475
+ checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6
languageName: node
linkType: hard
-"@babel/plugin-transform-dynamic-import@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.8"
+"@babel/plugin-transform-dynamic-import@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/9726abc1b07771a9c1e3670908ac425d21e29f54c775d10ed7a4e2bc0a18e07600f70bbc531deba3fb3ff7f6763c189200593264c6f784dac583e653b66fe754
+ checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf
languageName: node
linkType: hard
-"@babel/plugin-transform-exponentiation-operator@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.7"
+"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.9"
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/c8537b9f3cddc5a8d3710f6980196dc7a0f4389f8f82617312a5f7b8b15bcd8ddaeba783c687c3ac6031eb0a4ba0bc380a98da6bf7efe98e225602a98ad42a1e
+ checksum: 10c0/3b42f65bab3fee28c385115ce6bcb6ba544dff187012df408a432c9fb44c980afd898911020c723dc1c9257aaf3d7d0131ad83ba15102bf30ad9a86fc2a8a912
languageName: node
linkType: hard
-"@babel/plugin-transform-export-namespace-from@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.8"
+"@babel/plugin-transform-export-namespace-from@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/8a2e1205dd727a96a9adef0e981d68c61b1c286480b9136e2aa67ce3e2c742be4f87feb9fb4c5548a401aba0953d43d66e9ec36a54dea6a7c15f1ee9345baf57
+ checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb
languageName: node
linkType: hard
-"@babel/plugin-transform-for-of@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-for-of@npm:7.25.7"
+"@babel/plugin-transform-for-of@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-for-of@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/08a37a1742368a422d095c998ed76f60f6bf3f9cc060033be121d803fd2dddc08fe543e48ee49c022bdc9ed80893ca79d084958d83d30684178b088774754277
+ checksum: 10c0/bf11abc71934a1f369f39cd7a33cf3d4dc5673026a53f70b7c1238c4fcc44e68b3ca1bdbe3db2076f60defb6ffe117cbe10b90f3e1a613b551d88f7c4e693bbe
languageName: node
linkType: hard
-"@babel/plugin-transform-function-name@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-function-name@npm:7.25.7"
+"@babel/plugin-transform-function-name@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-function-name@npm:7.25.9"
dependencies:
- "@babel/helper-compilation-targets": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-compilation-targets": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/ca98e1116c0ada7211ed43e4b7f21ca15f95bbbdad70f2fbe1ec2d90a97daedf9f22fcb0a25c8b164a5e394f509f2e4d1f7609d26dc938a58d37c5ee9b80088a
+ checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1
languageName: node
linkType: hard
-"@babel/plugin-transform-json-strings@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-json-strings@npm:7.25.8"
+"@babel/plugin-transform-json-strings@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-json-strings@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/2a6cf69ebe8deebc39c56adae75d609e16786dc4cbd83577eefdc838bd89ca8974671d47e2669b8e65ef9b7ace427f7c2c5a9fc6aa09247b10e141d15fee81cf
+ checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0
languageName: node
linkType: hard
-"@babel/plugin-transform-literals@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-literals@npm:7.25.7"
+"@babel/plugin-transform-literals@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-literals@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/c2c2488102f33e566f45becdcb632e53bd052ecfb2879deb07a614b3e9437e3b624c3b16d080096d50b0b622edebd03e438acbf9260bcc41167897963f64560e
+ checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b
languageName: node
linkType: hard
-"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.8"
+"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/9adc2634c94b283b682fbf71bbec553bd8448196213491a0ef9ea167993c9c36dcb2fbefbd834e113cfed843a67290131bc99e463f8702043c3f4e3a99bb807e
+ checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5
languageName: node
linkType: hard
-"@babel/plugin-transform-member-expression-literals@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.7"
+"@babel/plugin-transform-member-expression-literals@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/d6936b98ae4d3daed850dc4e064042ea4375f815219ba9d8591373bf1fba4cfdb5be42623ae8882f2d666cc34af650a4855e2a5ad89e3c235d73a6f172f9969c
+ checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-amd@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-modules-amd@npm:7.25.7"
+"@babel/plugin-transform-modules-amd@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-module-transforms": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/c0bc999206c3834c090e6559a6c8a55d7672d3573104e832223ebe7df99bd1b82fc850e15ba32f512c84b0db1cdb613b66fa60abe9abb9c7e8dcbff91649b356
+ checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-commonjs@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.7"
+"@babel/plugin-transform-modules-commonjs@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.9"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-simple-access": "npm:^7.25.7"
+ "@babel/helper-module-transforms": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-simple-access": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/2f1c945fc3c9b690b0ddcf2c80156b2e4fbf2cf15aac43ac8fe6e4b34125869528839a53d07c564e62e4aed394ebdc1d2c3b796b547374455522581c11b7599c
+ checksum: 10c0/6ce771fb04d4810257fc8900374fece877dacaed74b05eaa16ad9224b390f43795c4d046cbe9ae304e1eb5aad035d37383895e3c64496d647c2128d183916e74
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-systemjs@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.7"
+"@babel/plugin-transform-modules-systemjs@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-validator-identifier": "npm:^7.25.7"
- "@babel/traverse": "npm:^7.25.7"
+ "@babel/helper-module-transforms": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/95eaea7082636710c61e49e58b3907e85ec79db4327411d3784f28592509fbe94a53cc3d20a36a1cf245efc6d3f0017eae15b45ffd645c1ab949bb4e1670e6bb
+ checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-umd@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-modules-umd@npm:7.25.7"
+"@babel/plugin-transform-modules-umd@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-module-transforms": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/8849ab04eecdb73cd37e2d7289449fa5256331832b0304c220b2a6aaa12e2d2dd87684f2813412d1fc5bdb3d6b55cc08c6386d3273fe05a65177c09bee5b6769
+ checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076
languageName: node
linkType: hard
-"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.7"
+"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/eb55fec55dc930cd122911f3e4a421320fa8b1b4de85bfd7ef11b46c611ec69b0213c114a6e1c6bc224d6b954ff183a0caa7251267d5258ecc0f00d6d9ca1d52
+ checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef
languageName: node
linkType: hard
-"@babel/plugin-transform-new-target@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-new-target@npm:7.25.7"
+"@babel/plugin-transform-new-target@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-new-target@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/8e5dce6d027e0f3fd394578ea1af7f515de157793a15c23a5aad7034a6d8a4005ef280238e67a232bb4dd4fafd3a264fed462deb149128ddd9ce59ff6f575cff
+ checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e
languageName: node
linkType: hard
-"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.8"
+"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/3cb7c44cffccae42e104755acb31b4f00bc27d8c88102ae6f30dca508832f98fa5b746bead0fc7c0c6ddcf83f336829be4b64245c6c7ce26b3ef591937ec54a4
+ checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3
languageName: node
linkType: hard
-"@babel/plugin-transform-numeric-separator@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.8"
+"@babel/plugin-transform-numeric-separator@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/d23b3ebc50513f24510791ac2cad43e3c6ea08579f54dccfd4ed5e5d5084f02da0576ea42ea999fb51e1f94f42857cac96a1a29ac6728fc262fbe87ec966dc18
+ checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749
languageName: node
linkType: hard
-"@babel/plugin-transform-object-rest-spread@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.8"
+"@babel/plugin-transform-object-rest-spread@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9"
dependencies:
- "@babel/helper-compilation-targets": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/plugin-transform-parameters": "npm:^7.25.7"
+ "@babel/helper-compilation-targets": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/plugin-transform-parameters": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/058d5f5bb61068997fb78855011dd175d441da84717640852bbfd12a5919acf8d8c5a14c1debfe87d230f3f4c47c22fcad3d7fa1acd72e5e48b2fff93b6c1dd9
+ checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af
languageName: node
linkType: hard
-"@babel/plugin-transform-object-super@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-object-super@npm:7.25.7"
+"@babel/plugin-transform-object-super@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-object-super@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-replace-supers": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-replace-supers": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/7f2968d4da997101b63fd3b74445c9b16f56bd32cd8a0a16c368af9d3e983e7675c1b05d18601f32307cb06e7d884ee11d13ff18a1f6830c0db243a9a852afab
+ checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-catch-binding@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.8"
+"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/f4360e62ca4aa998db31548d0ef06836d958bcb29dee58f5c62d0c29b6b2bff1b54871195bd032825fe3dd79a4fd8275e165148c8d4b57694bcf72135c8f7d24
+ checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-chaining@npm:^7.25.7, @babel/plugin-transform-optional-chaining@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.8"
+"@babel/plugin-transform-optional-chaining@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/a1cdbfc249619fa6b37e57f81600701281629d86a57e616b0c2b29816d0c43114a2296ce089564afd3aa7870c8aad62e907658ffef2c110662af14ee23d5247f
+ checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961
languageName: node
linkType: hard
-"@babel/plugin-transform-parameters@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-parameters@npm:7.25.7"
+"@babel/plugin-transform-parameters@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-parameters@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b40ba70278842ce1e800d7ab400df730994941550da547ef453780023bd61a9b8acf4b9fb8419c1b5bcbe09819a1146ff59369db11db07eb71870bef86a12422
+ checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3
languageName: node
linkType: hard
-"@babel/plugin-transform-private-methods@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-private-methods@npm:7.25.7"
+"@babel/plugin-transform-private-methods@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-private-methods@npm:7.25.9"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-class-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/92e076f63f7c4696e1321dafdd56c4212eb41784cdadba0ebc39091f959a76d357c3df61a6c668be81d6b6ad8964ee458e85752ab0c6cfbbaf2066903edda732
+ checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd
languageName: node
linkType: hard
-"@babel/plugin-transform-private-property-in-object@npm:^7.25.8":
- version: 7.25.8
- resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.8"
+"@babel/plugin-transform-private-property-in-object@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-create-class-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-create-class-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/61b5e3a4eb94caf38d6e9ff7bff1ac8927758141aaa4891036d3490866ecee53beaefd7893519fec42a4c55f33374a17fc0e49694cdaf95668082073f0fe4a79
+ checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27
languageName: node
linkType: hard
-"@babel/plugin-transform-property-literals@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-property-literals@npm:7.25.7"
+"@babel/plugin-transform-property-literals@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-property-literals@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/6d5bccdc772207906666ad5201bd91e4e132e1d806dbcf4163a1d08e18c57cc3795578c4e10596514bcd6afaf9696f478ea4f0dea890176d93b9cb077b9e5c55
+ checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106
languageName: node
linkType: hard
@@ -1060,290 +1049,303 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-react-display-name@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-react-display-name@npm:7.25.7"
+"@babel/plugin-transform-react-display-name@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/a0c537cc7c328ed7468d3b6a37bf0d9cb15d94afcdf3f2849ce6e5a68494fc61f0fa4fc529482a6b95b00f3c5c734f310bf18085293bff40702789f06c816f36
+ checksum: 10c0/63a0f962d64e71baf87c212755419e25c637d2d95ea6fdc067df26b91e606ae186442ae815b99a577eca9bf5404d9577ecad218a3cf42d0e9e286ca7b003a992
languageName: node
linkType: hard
"@babel/plugin-transform-react-inline-elements@npm:^7.21.0":
- version: 7.25.7
- resolution: "@babel/plugin-transform-react-inline-elements@npm:7.25.7"
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-inline-elements@npm:7.25.9"
dependencies:
- "@babel/helper-builder-react-jsx": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-builder-react-jsx": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/de85180c09002083cb330ef28d5b31b44e6ac6565c700b603be76e629f5a92c59ff69f79c08cc1dbd2dd1f271f44fe8d4c751deaf66c059ba721aa3cb43c881e
+ checksum: 10c0/d745bcfa8e51acc497b5ea2ff2fc4215cd39ebdb54703f2973962e3818a4829081ebc9e7818db28f90d1295e0b02e140986509ba48eef8aaa9de8c09b9434646
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx-development@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.7"
+"@babel/plugin-transform-react-jsx-development@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9"
dependencies:
- "@babel/plugin-transform-react-jsx": "npm:^7.25.7"
+ "@babel/plugin-transform-react-jsx": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/a3dc14644d09a6d22875af7b5584393ab53e467e0531cd192fc6242504dacaffa421e89265ba7f84fd4edef2b7b100d2e2ebf092a4dce2b55cf9c5fe29390c18
+ checksum: 10c0/c0b92ff9eb029620abf320ff74aae182cea87524723d740fb48a4373d0d16bddf5edbe1116e7ba341332a5337e55c2ceaee8b8cad5549e78af7f4b3cfe77debb
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-react-jsx@npm:7.25.7"
+"@babel/plugin-transform-react-jsx@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-module-imports": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/plugin-syntax-jsx": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-module-imports": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/plugin-syntax-jsx": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/6766b0357b8bbfcb77fca5350f06cf822c89bbe75ddcaea24614601ef23957504da24e76597d743038ce8fa081373b0663c8ad0c86d7c7226e8185f0680b8b56
+ checksum: 10c0/5c9947e8ed141f7606f54da3e05eea1074950c5b8354c39df69cb7f43cb5a83c6c9d7973b24bc3d89341c8611f8ad50830a98ab10d117d850e6bdd8febdce221
languageName: node
linkType: hard
-"@babel/plugin-transform-react-pure-annotations@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.7"
+"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/d92c9b511850fb6dea71966a0d4f313d67e317db7fc3633a7ff2e27d6df2e95cbc91c4c25abdb6c8db651fcda842a0cb7433835a8a9d4a3fdc5d452068428101
+ checksum: 10c0/7c8eac04644ad19dcd71bb8e949b0ae22b9e548fa4a58e545d3d0342f647fb89db7f8789a7c5b8074d478ce6d3d581eaf47dd4b36027e16fd68211c383839abc
languageName: node
linkType: hard
-"@babel/plugin-transform-regenerator@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-regenerator@npm:7.25.7"
+"@babel/plugin-transform-regenerator@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-regenerator@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
regenerator-transform: "npm:^0.15.2"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/7ee3a57c4050bc908ef7ac392d810826b294970a7182f4ec34a8ca93dbe36deb21bc862616d46a6f3d881d6b5749930e1679e875b638a00866d844a4250df212
+ checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7
languageName: node
linkType: hard
-"@babel/plugin-transform-reserved-words@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-reserved-words@npm:7.25.7"
+"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-reserved-words@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/920c98130daff6c1288fb13a9a2d2e45863bba93e619cb88d90e1f5b5cb358a3ee8880a425a3adb1b4bd5dbb6bd0500eea3370fc612633045eec851b08cc586c
+ checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96
languageName: node
linkType: hard
"@babel/plugin-transform-runtime@npm:^7.22.4":
- version: 7.25.7
- resolution: "@babel/plugin-transform-runtime@npm:7.25.7"
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-runtime@npm:7.25.9"
dependencies:
- "@babel/helper-module-imports": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-module-imports": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
babel-plugin-polyfill-corejs3: "npm:^0.10.6"
babel-plugin-polyfill-regenerator: "npm:^0.6.1"
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/9b2514e9079361ac8e7e500ffd522dad869d61a3894302da7e29bbac80de00276c8a1b4394d1dcf0b51c57b2c854919928df9648be336139fdf1d6ecd6d1bb32
+ checksum: 10c0/888a4998ba0a2313de347954c9a8dfeccbff0633c69d33aee385b8878eba2b429dbfb00c3cc04f6bca454b9be8afa01ebbd73defb7fbbb6e2d3086205c07758b
languageName: node
linkType: hard
-"@babel/plugin-transform-shorthand-properties@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.7"
+"@babel/plugin-transform-shorthand-properties@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/4250f89a0072f0f400be7a2e3515227b8e2518737899bd57d497e5173284a0e05d812e4a3c219ffcd484e9fa9a01c19fce5acd77bbb898f4d594512c56701eb4
+ checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b
languageName: node
linkType: hard
-"@babel/plugin-transform-spread@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-spread@npm:7.25.7"
+"@babel/plugin-transform-spread@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-spread@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/258bd1b52388cd7425d0ae25fa39538734f7540ea503a1d8a72211d33f6f214cb4e3b73d6cd03016cbcff5d41169f1e578b9ea331965ad224d223591983e90a7
+ checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf
languageName: node
linkType: hard
-"@babel/plugin-transform-sticky-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.7"
+"@babel/plugin-transform-sticky-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/0e466cfc3ca1e0db4bb11eb630215b0e1f43066d7678325e5ddadcf5a118b2351a528f67205729c32ac5b78ab68ab7f40517dd33bcb1fb6b456509f5f54ce097
+ checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6
languageName: node
linkType: hard
-"@babel/plugin-transform-template-literals@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-template-literals@npm:7.25.7"
+"@babel/plugin-transform-template-literals@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-template-literals@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/a3455303b6841cb536ac66d1a2d03c194b9f371519482d8d1e8edbd33bf5ca7cdd5db1586b2b0ea5f909ebf74a0eafacf0fb28d257e4905445282dcdccfa6139
+ checksum: 10c0/5144da6036807bbd4e9d2a8b92ae67a759543929f34f4db9b463448a77298f4a40bf1e92e582db208fe08ee116224806a3bd0bed75d9da404fc2c0af9e6da540
languageName: node
linkType: hard
-"@babel/plugin-transform-typeof-symbol@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.7"
+"@babel/plugin-transform-typeof-symbol@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/ce1a0744a900b05de1372a70508c4148f17eb941c482da26eb369b9f0347570dce45470c8a86d907bc3a0443190344da1e18489ecfecb30388ab6178e8a9916b
+ checksum: 10c0/2b19fd88608589d9bc6b607ff17b06791d35c67ef3249f4659283454e6a9984241e3bd4c4eb72bb8b3d860a73223f3874558b861adb7314aa317c1c6a2f0cafb
languageName: node
linkType: hard
-"@babel/plugin-transform-typescript@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-typescript@npm:7.25.7"
+"@babel/plugin-transform-typescript@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-typescript@npm:7.25.9"
dependencies:
- "@babel/helper-annotate-as-pure": "npm:^7.25.7"
- "@babel/helper-create-class-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7"
- "@babel/plugin-syntax-typescript": "npm:^7.25.7"
+ "@babel/helper-annotate-as-pure": "npm:^7.25.9"
+ "@babel/helper-create-class-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9"
+ "@babel/plugin-syntax-typescript": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/5fa839b9560221698edff5e00b5cccc658c7875efaa7971c66d478f5b026770f12dd47b1be024463a44f9e29b4e14e8ddddbf4a2b324b0b94f58370dd5ae7195
+ checksum: 10c0/c607ddb45f7e33cfcb928aad05cb1b18b1ecb564d2329d8f8e427f75192511aa821dee42d26871f1bdffbd883853e150ba81436664646c6e6b13063e65ce1475
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-escapes@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.7"
+"@babel/plugin-transform-unicode-escapes@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/8b1f71fda0a832c6e26ba4c00f99e9033e6f9b36ced542a512921f4ad861a70e2fec2bd54a91a5ca2efa46aaa8c8893e4c602635c4ef172bd3ed6eef3178c70b
+ checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-property-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.7"
+"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b4bfcf7529138d00671bf5cdfe606603d52cfe57ec1be837da57683f404fc0b0c171834a02515eb03379e5c806121866d097b90e31cb437d21d0ea59368ad82b
+ checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.7"
+"@babel/plugin-transform-unicode-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/73ae34c02ea8b7ac7e4efa690f8c226089c074e3fef658d2a630ad898a93550d84146ce05e073c271c8b2bbba61cbbfd5a2002a7ea940dcad3274e5b5dcb6bcf
+ checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.7"
+"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 10c0/39e45ae3db7adfc3457b1d6ba5608ffbace957ad019785967e5357a6639f261765bda12363f655d39265f5a2834af26327037751420191d0b73152ccc7ce3c35
+ checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f
languageName: node
linkType: hard
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
- version: 7.25.8
- resolution: "@babel/preset-env@npm:7.25.8"
+ version: 7.26.0
+ resolution: "@babel/preset-env@npm:7.26.0"
dependencies:
- "@babel/compat-data": "npm:^7.25.8"
- "@babel/helper-compilation-targets": "npm:^7.25.7"
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-validator-option": "npm:^7.25.7"
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.7"
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.7"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.7"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7"
+ "@babel/compat-data": "npm:^7.26.0"
+ "@babel/helper-compilation-targets": "npm:^7.25.9"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-validator-option": "npm:^7.25.9"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9"
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9"
"@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2"
- "@babel/plugin-syntax-import-assertions": "npm:^7.25.7"
- "@babel/plugin-syntax-import-attributes": "npm:^7.25.7"
+ "@babel/plugin-syntax-import-assertions": "npm:^7.26.0"
+ "@babel/plugin-syntax-import-attributes": "npm:^7.26.0"
"@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
- "@babel/plugin-transform-arrow-functions": "npm:^7.25.7"
- "@babel/plugin-transform-async-generator-functions": "npm:^7.25.8"
- "@babel/plugin-transform-async-to-generator": "npm:^7.25.7"
- "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7"
- "@babel/plugin-transform-block-scoping": "npm:^7.25.7"
- "@babel/plugin-transform-class-properties": "npm:^7.25.7"
- "@babel/plugin-transform-class-static-block": "npm:^7.25.8"
- "@babel/plugin-transform-classes": "npm:^7.25.7"
- "@babel/plugin-transform-computed-properties": "npm:^7.25.7"
- "@babel/plugin-transform-destructuring": "npm:^7.25.7"
- "@babel/plugin-transform-dotall-regex": "npm:^7.25.7"
- "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7"
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7"
- "@babel/plugin-transform-dynamic-import": "npm:^7.25.8"
- "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7"
- "@babel/plugin-transform-export-namespace-from": "npm:^7.25.8"
- "@babel/plugin-transform-for-of": "npm:^7.25.7"
- "@babel/plugin-transform-function-name": "npm:^7.25.7"
- "@babel/plugin-transform-json-strings": "npm:^7.25.8"
- "@babel/plugin-transform-literals": "npm:^7.25.7"
- "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.8"
- "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7"
- "@babel/plugin-transform-modules-amd": "npm:^7.25.7"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7"
- "@babel/plugin-transform-modules-systemjs": "npm:^7.25.7"
- "@babel/plugin-transform-modules-umd": "npm:^7.25.7"
- "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7"
- "@babel/plugin-transform-new-target": "npm:^7.25.7"
- "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.8"
- "@babel/plugin-transform-numeric-separator": "npm:^7.25.8"
- "@babel/plugin-transform-object-rest-spread": "npm:^7.25.8"
- "@babel/plugin-transform-object-super": "npm:^7.25.7"
- "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.8"
- "@babel/plugin-transform-optional-chaining": "npm:^7.25.8"
- "@babel/plugin-transform-parameters": "npm:^7.25.7"
- "@babel/plugin-transform-private-methods": "npm:^7.25.7"
- "@babel/plugin-transform-private-property-in-object": "npm:^7.25.8"
- "@babel/plugin-transform-property-literals": "npm:^7.25.7"
- "@babel/plugin-transform-regenerator": "npm:^7.25.7"
- "@babel/plugin-transform-reserved-words": "npm:^7.25.7"
- "@babel/plugin-transform-shorthand-properties": "npm:^7.25.7"
- "@babel/plugin-transform-spread": "npm:^7.25.7"
- "@babel/plugin-transform-sticky-regex": "npm:^7.25.7"
- "@babel/plugin-transform-template-literals": "npm:^7.25.7"
- "@babel/plugin-transform-typeof-symbol": "npm:^7.25.7"
- "@babel/plugin-transform-unicode-escapes": "npm:^7.25.7"
- "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.7"
- "@babel/plugin-transform-unicode-regex": "npm:^7.25.7"
- "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.7"
+ "@babel/plugin-transform-arrow-functions": "npm:^7.25.9"
+ "@babel/plugin-transform-async-generator-functions": "npm:^7.25.9"
+ "@babel/plugin-transform-async-to-generator": "npm:^7.25.9"
+ "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.9"
+ "@babel/plugin-transform-block-scoping": "npm:^7.25.9"
+ "@babel/plugin-transform-class-properties": "npm:^7.25.9"
+ "@babel/plugin-transform-class-static-block": "npm:^7.26.0"
+ "@babel/plugin-transform-classes": "npm:^7.25.9"
+ "@babel/plugin-transform-computed-properties": "npm:^7.25.9"
+ "@babel/plugin-transform-destructuring": "npm:^7.25.9"
+ "@babel/plugin-transform-dotall-regex": "npm:^7.25.9"
+ "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9"
+ "@babel/plugin-transform-dynamic-import": "npm:^7.25.9"
+ "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.9"
+ "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9"
+ "@babel/plugin-transform-for-of": "npm:^7.25.9"
+ "@babel/plugin-transform-function-name": "npm:^7.25.9"
+ "@babel/plugin-transform-json-strings": "npm:^7.25.9"
+ "@babel/plugin-transform-literals": "npm:^7.25.9"
+ "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9"
+ "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9"
+ "@babel/plugin-transform-modules-amd": "npm:^7.25.9"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9"
+ "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9"
+ "@babel/plugin-transform-modules-umd": "npm:^7.25.9"
+ "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9"
+ "@babel/plugin-transform-new-target": "npm:^7.25.9"
+ "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.9"
+ "@babel/plugin-transform-numeric-separator": "npm:^7.25.9"
+ "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9"
+ "@babel/plugin-transform-object-super": "npm:^7.25.9"
+ "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.25.9"
+ "@babel/plugin-transform-parameters": "npm:^7.25.9"
+ "@babel/plugin-transform-private-methods": "npm:^7.25.9"
+ "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9"
+ "@babel/plugin-transform-property-literals": "npm:^7.25.9"
+ "@babel/plugin-transform-regenerator": "npm:^7.25.9"
+ "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0"
+ "@babel/plugin-transform-reserved-words": "npm:^7.25.9"
+ "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9"
+ "@babel/plugin-transform-spread": "npm:^7.25.9"
+ "@babel/plugin-transform-sticky-regex": "npm:^7.25.9"
+ "@babel/plugin-transform-template-literals": "npm:^7.25.9"
+ "@babel/plugin-transform-typeof-symbol": "npm:^7.25.9"
+ "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9"
+ "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9"
+ "@babel/plugin-transform-unicode-regex": "npm:^7.25.9"
+ "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9"
"@babel/preset-modules": "npm:0.1.6-no-external-plugins"
babel-plugin-polyfill-corejs2: "npm:^0.4.10"
babel-plugin-polyfill-corejs3: "npm:^0.10.6"
@@ -1352,7 +1354,7 @@ __metadata:
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/a45cd64ca082262998f6cf508b413ff8a9e967bf33e58337a1fe41c6c939a4c25cc73cd58387792c00d43905cf5fb0ea5ef88dfdc2addf2e8133743088c86c72
+ checksum: 10c0/26e19dc407cfa1c5166be638b4c54239d084fe15d8d7e6306d8c6dc7bc1decc51070a8dcf28352c1a2feeefbe52a06d193a12e302327ad5f529583df75fb7a26
languageName: node
linkType: hard
@@ -1370,33 +1372,33 @@ __metadata:
linkType: hard
"@babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.22.3":
- version: 7.25.7
- resolution: "@babel/preset-react@npm:7.25.7"
+ version: 7.25.9
+ resolution: "@babel/preset-react@npm:7.25.9"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-validator-option": "npm:^7.25.7"
- "@babel/plugin-transform-react-display-name": "npm:^7.25.7"
- "@babel/plugin-transform-react-jsx": "npm:^7.25.7"
- "@babel/plugin-transform-react-jsx-development": "npm:^7.25.7"
- "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-validator-option": "npm:^7.25.9"
+ "@babel/plugin-transform-react-display-name": "npm:^7.25.9"
+ "@babel/plugin-transform-react-jsx": "npm:^7.25.9"
+ "@babel/plugin-transform-react-jsx-development": "npm:^7.25.9"
+ "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/b133b1a2f46c70a337d8b1ef442e09e3dbdaecb0d6bed8f1cb64dfddc31c16e248b017385ab909caeebd8462111c9c0e1c5409deb10f2be5cb5bcfdaa4d27718
+ checksum: 10c0/c294b475ee741f01f63ea0d828862811c453fabc6023f01814ce983bc316388e9d73290164d2b1384c2684db9c330803a3d4d2170285b105dcbacd483329eb93
languageName: node
linkType: hard
"@babel/preset-typescript@npm:^7.21.5":
- version: 7.25.7
- resolution: "@babel/preset-typescript@npm:7.25.7"
+ version: 7.26.0
+ resolution: "@babel/preset-typescript@npm:7.26.0"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.25.7"
- "@babel/helper-validator-option": "npm:^7.25.7"
- "@babel/plugin-syntax-jsx": "npm:^7.25.7"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7"
- "@babel/plugin-transform-typescript": "npm:^7.25.7"
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ "@babel/helper-validator-option": "npm:^7.25.9"
+ "@babel/plugin-syntax-jsx": "npm:^7.25.9"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9"
+ "@babel/plugin-transform-typescript": "npm:^7.25.9"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/8dc1258e3c5230bbe42ff9811f08924509238e6bd32fa0b7b0c0a6c5e1419512a8e1f733e1b114454d367b7c164beca2cf33acf2ed9e0d99be010c1c5cdbef0c
+ checksum: 10c0/20d86bc45d2bbfde2f84fc7d7b38746fa6481d4bde6643039ad4b1ff0b804c6d210ee43e6830effd8571f2ff43fa7ffd27369f42f2b3a2518bb92dc86c780c61
languageName: node
linkType: hard
@@ -1410,48 +1412,47 @@ __metadata:
linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
- version: 7.25.7
- resolution: "@babel/runtime@npm:7.25.7"
+ version: 7.26.0
+ resolution: "@babel/runtime@npm:7.26.0"
dependencies:
regenerator-runtime: "npm:^0.14.0"
- checksum: 10c0/86b7829d2fc9343714a9afe92757cf96c4dc799006ca61d73cda62f4b9e29bfa1ce36794955bc6cb4c188f5b10db832c949339895e1bbe81a69022d9d578ce29
+ checksum: 10c0/12c01357e0345f89f4f7e8c0e81921f2a3e3e101f06e8eaa18a382b517376520cd2fa8c237726eb094dab25532855df28a7baaf1c26342b52782f6936b07c287
languageName: node
linkType: hard
-"@babel/template@npm:^7.25.7, @babel/template@npm:^7.3.3":
- version: 7.25.7
- resolution: "@babel/template@npm:7.25.7"
+"@babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3":
+ version: 7.25.9
+ resolution: "@babel/template@npm:7.25.9"
dependencies:
- "@babel/code-frame": "npm:^7.25.7"
- "@babel/parser": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
- checksum: 10c0/8ae9e36e4330ee83d4832531d1d9bec7dc2ef6a2a8afa1ef1229506fd60667abcb17f306d1c3d7e582251270597022990c845d5d69e7add70a5aea66720decb9
+ "@babel/code-frame": "npm:^7.25.9"
+ "@babel/parser": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10c0/ebe677273f96a36c92cc15b7aa7b11cc8bc8a3bb7a01d55b2125baca8f19cae94ff3ce15f1b1880fb8437f3a690d9f89d4e91f16fc1dc4d3eb66226d128983ab
languageName: node
linkType: hard
-"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.7":
- version: 7.25.7
- resolution: "@babel/traverse@npm:7.25.7"
+"@babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/traverse@npm:7.25.9"
dependencies:
- "@babel/code-frame": "npm:^7.25.7"
- "@babel/generator": "npm:^7.25.7"
- "@babel/parser": "npm:^7.25.7"
- "@babel/template": "npm:^7.25.7"
- "@babel/types": "npm:^7.25.7"
+ "@babel/code-frame": "npm:^7.25.9"
+ "@babel/generator": "npm:^7.25.9"
+ "@babel/parser": "npm:^7.25.9"
+ "@babel/template": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
debug: "npm:^4.3.1"
globals: "npm:^11.1.0"
- checksum: 10c0/75d73e52c507a7a7a4c7971d6bf4f8f26fdd094e0d3a0193d77edf6a5efa36fc3db91ec5cc48e8b94e6eb5d5ad21af0a1040e71309172851209415fd105efb1a
+ checksum: 10c0/e90be586a714da4adb80e6cb6a3c5cfcaa9b28148abdafb065e34cc109676fc3db22cf98cd2b2fff66ffb9b50c0ef882cab0f466b6844be0f6c637b82719bba1
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.7, @babel/types@npm:^7.25.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
- version: 7.25.8
- resolution: "@babel/types@npm:7.25.8"
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4":
+ version: 7.26.0
+ resolution: "@babel/types@npm:7.26.0"
dependencies:
- "@babel/helper-string-parser": "npm:^7.25.7"
- "@babel/helper-validator-identifier": "npm:^7.25.7"
- to-fast-properties: "npm:^2.0.0"
- checksum: 10c0/55ca2d6df6426c98db2769ce884ce5e9de83a512ea2dd7bcf56c811984dc14351cacf42932a723630c5afcff2455809323decd645820762182f10b7b5252b59f
+ "@babel/helper-string-parser": "npm:^7.25.9"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ checksum: 10c0/b694f41ad1597127e16024d766c33a641508aad037abd08d0d1f73af753e1119fa03b4a107d04b5f92cc19c095a594660547ae9bead1db2299212d644b0a5cb8
languageName: node
linkType: hard
@@ -1462,13 +1463,13 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/cascade-layer-name-parser@npm:^2.0.2":
- version: 2.0.2
- resolution: "@csstools/cascade-layer-name-parser@npm:2.0.2"
+"@csstools/cascade-layer-name-parser@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "@csstools/cascade-layer-name-parser@npm:2.0.3"
peerDependencies:
- "@csstools/css-parser-algorithms": ^3.0.2
+ "@csstools/css-parser-algorithms": ^3.0.3
"@csstools/css-tokenizer": ^3.0.2
- checksum: 10c0/2cc840445328400bb3e1e4186e6081e6519a23d9abde36a16c95892b6ad75155b3af3410d79fdda1c53a068384f970cabff4b5f5ba6867578168cbd3419016c8
+ checksum: 10c0/a0f0d6c94122d0a82b0da94ee2619915a9e6e98211de6e1f28afebe34332a29cab1b7905a34b6e5c1df30a125df9f9860ce5fa960c676484417d4ef2c4db4757
languageName: node
linkType: hard
@@ -1479,35 +1480,35 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/css-calc@npm:^2.0.2":
- version: 2.0.2
- resolution: "@csstools/css-calc@npm:2.0.2"
+"@csstools/css-calc@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "@csstools/css-calc@npm:2.0.3"
peerDependencies:
- "@csstools/css-parser-algorithms": ^3.0.2
+ "@csstools/css-parser-algorithms": ^3.0.3
"@csstools/css-tokenizer": ^3.0.2
- checksum: 10c0/b36e655b4abc8ea39b300725e33cd43b1875d759dd60bee8155bf7841065615a7f24cf53199382e30aa10bb137f64021043e4af7e11b7199b674a6e6cf3ccd01
+ checksum: 10c0/a3dacda66bde67edab0f2384e85462dcd46b5bb62bc2a6396f0577a006d9ad59eae270353cbd6fe1a5f7081d0546fe4b1fd9b2df242758da54ec8b7022296570
languageName: node
linkType: hard
-"@csstools/css-color-parser@npm:^3.0.3":
- version: 3.0.3
- resolution: "@csstools/css-color-parser@npm:3.0.3"
+"@csstools/css-color-parser@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "@csstools/css-color-parser@npm:3.0.4"
dependencies:
"@csstools/color-helpers": "npm:^5.0.1"
- "@csstools/css-calc": "npm:^2.0.2"
+ "@csstools/css-calc": "npm:^2.0.3"
peerDependencies:
- "@csstools/css-parser-algorithms": ^3.0.2
+ "@csstools/css-parser-algorithms": ^3.0.3
"@csstools/css-tokenizer": ^3.0.2
- checksum: 10c0/02367ffc222254132c47f9cbc856f65fe0b81ee4a5e7381251b95c4064138b5ed99a5e5a79c0c8689f9e75e3d900f94773258a161a97f467c3f0420838c10e04
+ checksum: 10c0/8f05264254d3768e45e46ce10e9355fe8ca0f6e4d2f648a22572f46c6d05b2378c37c2e5d970ed3b7bdfa0b152ea2af0c56a0556249bd85973aee9db7b091aa7
languageName: node
linkType: hard
-"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.2":
- version: 3.0.2
- resolution: "@csstools/css-parser-algorithms@npm:3.0.2"
+"@csstools/css-parser-algorithms@npm:^3.0.1, @csstools/css-parser-algorithms@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "@csstools/css-parser-algorithms@npm:3.0.3"
peerDependencies:
"@csstools/css-tokenizer": ^3.0.2
- checksum: 10c0/246afbf518ee9eaa24ed7f083360eb66884f1172fd4f8c663bff8c6099de2a8abd1e2a31d5b6fe42e010277d238469d780cff62bc7fdc6a52e7a90626b8924dc
+ checksum: 10c0/c1e634384affb10c3726a36f090867247005a2a470cb223de88debeab07921b78c0e7875e7847d90949c2b0ba88a290c71565f1839f7739c21a5bf1c870e137d
languageName: node
linkType: hard
@@ -1528,82 +1529,82 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/media-query-list-parser@npm:^4.0.0":
- version: 4.0.0
- resolution: "@csstools/media-query-list-parser@npm:4.0.0"
+"@csstools/media-query-list-parser@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@csstools/media-query-list-parser@npm:4.0.1"
peerDependencies:
- "@csstools/css-parser-algorithms": ^3.0.2
+ "@csstools/css-parser-algorithms": ^3.0.3
"@csstools/css-tokenizer": ^3.0.2
- checksum: 10c0/416417bcfd84c18a2df8dc77f31c87830e151dc20530fe7f0d8f13a0848b1a9090858abdf7792d82bf2edb41ddedb7b57b34eb78b68b5c10755ae02c019e496a
+ checksum: 10c0/037f57520b6ca7d58ba1d71a477bd99bdbe3a6d8e7b972ed0f436d649e574f5b429e54fc47d0272daa2ac24ffb819bd9d260a90e154c4a265b8ee4d1cfb1d279
languageName: node
linkType: hard
-"@csstools/postcss-cascade-layers@npm:^5.0.0":
- version: 5.0.0
- resolution: "@csstools/postcss-cascade-layers@npm:5.0.0"
+"@csstools/postcss-cascade-layers@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "@csstools/postcss-cascade-layers@npm:5.0.1"
dependencies:
- "@csstools/selector-specificity": "npm:^4.0.0"
- postcss-selector-parser: "npm:^6.1.0"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b608c69c12671682676598e451dcd79bfc6f5030a4e17b4d1bf9659e531f1daf03526be023f9aafdc952ecc87c87b04f379a763309e3eadb2140572cd4aa5b60
+ checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1
languageName: node
linkType: hard
-"@csstools/postcss-color-function@npm:^4.0.3":
- version: 4.0.3
- resolution: "@csstools/postcss-color-function@npm:4.0.3"
+"@csstools/postcss-color-function@npm:^4.0.4":
+ version: 4.0.4
+ resolution: "@csstools/postcss-color-function@npm:4.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/c994660ca0e2652755d9ad181c8cb46a07220c972086c97c843fa9bacf690be10c642770f898aeec4acc47c2b718dfc7372107285a678361f34d84d9e9c11e0c
+ checksum: 10c0/e7735c6d7c84f039c84dc1b180410aa4db7c404d55477c2e7872bc8306a3150bf37883583ec080ebd8b40b765f700cc78892d61dc167578f76e324543d551c04
languageName: node
linkType: hard
-"@csstools/postcss-color-mix-function@npm:^3.0.3":
- version: 3.0.3
- resolution: "@csstools/postcss-color-mix-function@npm:3.0.3"
+"@csstools/postcss-color-mix-function@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "@csstools/postcss-color-mix-function@npm:3.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/4ba358eb9030fc485bfe2922d897eeb712725762cc399eaba60ba665c84dc3e56a4d5a52dfb320093c0b217d32fedb9b5197fa45738cade53d9afcbefdadf04f
+ checksum: 10c0/3e01f04853e49c9f69ee0538b817209b630649844039ee5b195cfbae94d41cf6e0d8a50a3d02dbe066f84855eefa1b7047f6750e4744858519978468577e567f
languageName: node
linkType: hard
-"@csstools/postcss-content-alt-text@npm:^2.0.2":
- version: 2.0.2
- resolution: "@csstools/postcss-content-alt-text@npm:2.0.2"
+"@csstools/postcss-content-alt-text@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "@csstools/postcss-content-alt-text@npm:2.0.3"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/e52d40f6567b9b23b32a6c40f9b2a74d57f99a9921b4cae015f51f72453474236c760bb13120682f8815698a615e0ad7bed22314c29dca89c34b5480d83a7a6d
+ checksum: 10c0/0389292a1ba11483f58db1bdd38cc774b0ec18c73f03d1db5f4a1f38edc861bb8b8d750b5c5b3615a98aaf995c0464dcfd6db5421888be0f868548c69455b5b3
languageName: node
linkType: hard
-"@csstools/postcss-exponential-functions@npm:^2.0.2":
- version: 2.0.2
- resolution: "@csstools/postcss-exponential-functions@npm:2.0.2"
+"@csstools/postcss-exponential-functions@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "@csstools/postcss-exponential-functions@npm:2.0.3"
dependencies:
- "@csstools/css-calc": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-calc": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/034ff89089872f63a6b00bda670c5ff11361babd221ed3e441dde969a718059e5d44ab0ed331868f137bb205331b808ecbcc4cb641d5c945238ebca28aa3ed59
+ checksum: 10c0/690ac6c5ec72e085160401100cc8465a040fd70d59efadf61ef767094edac28bbb2653f53ea7cfa47d8220d0be0b9e23c3e3c2b80d9e93ad07b1db8031163d70
languageName: node
linkType: hard
@@ -1619,46 +1620,46 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-gamut-mapping@npm:^2.0.3":
- version: 2.0.3
- resolution: "@csstools/postcss-gamut-mapping@npm:2.0.3"
+"@csstools/postcss-gamut-mapping@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "@csstools/postcss-gamut-mapping@npm:2.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/21f5708f63e9c3b7603f8b72b5f288e0a021e9710a6abf4aaa713ff4d04bae057d1861e1f28d7670ea39ba463ac04f1507876d4a11178934e7cc7a1c6a780084
+ checksum: 10c0/60c6ff13cc71a0cda7ce184fa8b42924975f2bd05e3bc096059de853ae01d48e36f27d02d7e6286d9e8c4eb4dfd526f7c302ff51be19c5f7949dd6079915a3a9
languageName: node
linkType: hard
-"@csstools/postcss-gradients-interpolation-method@npm:^5.0.3":
- version: 5.0.3
- resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.3"
+"@csstools/postcss-gradients-interpolation-method@npm:^5.0.4":
+ version: 5.0.4
+ resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/062d27148438309c940a1973bfc7d42a06caa9397bf2382c7a61979f5be3d6f3fae1bc8ddf94d2dd8e6c807e0530a9e76179510266aaddc439677bf79447a765
+ checksum: 10c0/3b6aa4404851be09a083f35b596acc7e3f74f525386dcd2887720438638ca1893f79e699e5dad0e3a35487cb9527e08d0dcd29f1331f87800f53c13423321d6e
languageName: node
linkType: hard
-"@csstools/postcss-hwb-function@npm:^4.0.3":
- version: 4.0.3
- resolution: "@csstools/postcss-hwb-function@npm:4.0.3"
+"@csstools/postcss-hwb-function@npm:^4.0.4":
+ version: 4.0.4
+ resolution: "@csstools/postcss-hwb-function@npm:4.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/faf2bfbafeec765391e37c7a5cbc7b4647d9ab1ffa51e922c7dfffa545c3d436d15604dfdfb9d7684e760042e62bb42e0243dd4ebd8c3c14694a9f7be4e57b30
+ checksum: 10c0/2460cc7e6324f0793d12976de175ff33344c3410ff7a04ca8a5ce0560ee3354d1d8034f9f07c0759c2b7e222a4681d02298f6a29c2a326c76b33060830da83b4
languageName: node
linkType: hard
@@ -1684,29 +1685,29 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-is-pseudo-class@npm:^5.0.0":
- version: 5.0.0
- resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.0"
+"@csstools/postcss-is-pseudo-class@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1"
dependencies:
- "@csstools/selector-specificity": "npm:^4.0.0"
- postcss-selector-parser: "npm:^6.1.0"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/738eb84728b24bfe19ca06ccf6ff773a423552df2f31c87704ce79da4abfd2ccf2a45d5d6d3e11e71e42cc3d92eb35a856209b9cd6116c879acf15ac75454683
+ checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c
languageName: node
linkType: hard
-"@csstools/postcss-light-dark-function@npm:^2.0.5":
- version: 2.0.5
- resolution: "@csstools/postcss-light-dark-function@npm:2.0.5"
+"@csstools/postcss-light-dark-function@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "@csstools/postcss-light-dark-function@npm:2.0.6"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/80635ee312d2a8f42aa5ce6792f1dc4a71199c384c66a3270d37e998d96db55beaa6836d689cda3b7e4828227960582fae04659ba5e4e0f64fd4543cbf15c6ab
+ checksum: 10c0/f3e93b58a23f0f01c9d032a892070a18e3393e60997e1d2b57c5bddb2cb36f7ee6cbaeaeb3d531b065a545a03e54d86567d34b45eddf85ed48ac360eb4ab66cd
languageName: node
linkType: hard
@@ -1760,30 +1761,30 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-media-minmax@npm:^2.0.2":
- version: 2.0.2
- resolution: "@csstools/postcss-media-minmax@npm:2.0.2"
+"@csstools/postcss-media-minmax@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "@csstools/postcss-media-minmax@npm:2.0.3"
dependencies:
- "@csstools/css-calc": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-calc": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
- "@csstools/media-query-list-parser": "npm:^4.0.0"
+ "@csstools/media-query-list-parser": "npm:^4.0.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/83cf10742884fca3baa7ae26e2cb34123ce5a022622390566c139b4587ea8583fab00acbb85545786b36398e2201d2a94301e0fae805e55f375f1b5c38f67ce8
+ checksum: 10c0/87c1ed6fe6ed487125e383ae7bc356ba0f68885c41cd129b85c323af69255031a8ac7b2e994d4f9b6b65d6a9f6833aeb1301ca230b592547825aedb3e3acab4b
languageName: node
linkType: hard
-"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.2":
- version: 3.0.2
- resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.2"
+"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.3"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
- "@csstools/media-query-list-parser": "npm:^4.0.0"
+ "@csstools/media-query-list-parser": "npm:^4.0.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/3ac4073d2e958bfb24ae45f673070dd805f0fcf07bc8d00a9a98f596d1096e7be282c8d8e87df3abde90f33fcbe2c7705e972b8c1a58e43ec44729f470b76096
+ checksum: 10c0/3bbadd5c79ff2102b4a2e0f107d7f3cbb89d2840b935915531d0a1bfc711d58386e6e234fccb9b4abb37e48f07cdfaa4dd66b5c795dfac9e317fa8b5cfd38e06
languageName: node
linkType: hard
@@ -1810,18 +1811,18 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-oklab-function@npm:^4.0.3":
- version: 4.0.3
- resolution: "@csstools/postcss-oklab-function@npm:4.0.3"
+"@csstools/postcss-oklab-function@npm:^4.0.4":
+ version: 4.0.4
+ resolution: "@csstools/postcss-oklab-function@npm:4.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/650bcb4f664308972588a8f789f806d63c4069e2e008cfc3b5c80bf9df992c62972dce279b8f434c7f78823e97095942ee4f0e37bc549258887213e72acb7ef8
+ checksum: 10c0/4fd2a5c22ebaf69053e005d9d009ccb41b6879f0246677159bfb6a28208e90af857446c443d34fe3efdaf50bccdd67b16fcd0c1e7c52961396a48bd84e45311f
languageName: node
linkType: hard
@@ -1836,42 +1837,42 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-relative-color-syntax@npm:^3.0.3":
- version: 3.0.3
- resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.3"
+"@csstools/postcss-relative-color-syntax@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/c241fe6b725d775f6d2085be1dff3868d189b176fa91ab1eb1133e30e30c8151bded4e50d17a845edd0bdd0a7adf9e8883cb2634fea3394872591fe9ad2a7e86
+ checksum: 10c0/f2ae6f9053e976e2431d08bdc5aa40ca5242754e23370abdfd7b6087d7ed56037e46911d1be801cf7e760aa8aee94bcab6a46f4f68696cf6befacf707c1534b7
languageName: node
linkType: hard
-"@csstools/postcss-scope-pseudo-class@npm:^4.0.0":
- version: 4.0.0
- resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.0"
+"@csstools/postcss-scope-pseudo-class@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/a6f562df1417c6f257c0fec95babf4cea99a25622573a2dbcfb416e2fcb8e1e53561127f5e7277d19fcb2a4603bdbc64dd6a4c416429623503c604050c99229a
+ checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee
languageName: node
linkType: hard
-"@csstools/postcss-stepped-value-functions@npm:^4.0.2":
- version: 4.0.2
- resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.2"
+"@csstools/postcss-stepped-value-functions@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.3"
dependencies:
- "@csstools/css-calc": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-calc": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/444a27d725bc7a8e1554469e8ac69e248ff525b728fbe058523b0f1aefcff80ca707f543d21fead0a22d51603b1669190fb01f0f2dcd599a01768a37e0d62bc3
+ checksum: 10c0/31af5a650d4b2de97d3a3ef77e7ad0777b3f013f7463e23455ac31ffc946d2f79f365a1fdead52c7c535176232ab57f6f086ecdbeca1bb0b250161b1302e8c8c
languageName: node
linkType: hard
@@ -1887,16 +1888,16 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-trigonometric-functions@npm:^4.0.2":
- version: 4.0.2
- resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.2"
+"@csstools/postcss-trigonometric-functions@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.3"
dependencies:
- "@csstools/css-calc": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-calc": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/eaecb2ea891162e4fcbbccf4f660c99e9e59f21937b70fe6aec3b51441eff2a12c1a2dc13fff426722629a7929919fd866311eaa68d74ee9d1f5387a23502fe2
+ checksum: 10c0/a13dd72c00e45e6db16c03e135f1cd1b2b412e83b7681696b49feef3a4c36ab80f5f806f3589d33405e2d14dd0dfb13572ec12007ebe3d294077b0bd3d645b2b
languageName: node
linkType: hard
@@ -1909,12 +1910,12 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/selector-resolve-nested@npm:^2.0.0":
- version: 2.0.0
- resolution: "@csstools/selector-resolve-nested@npm:2.0.0"
+"@csstools/selector-resolve-nested@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "@csstools/selector-resolve-nested@npm:3.0.0"
peerDependencies:
- postcss-selector-parser: ^6.1.0
- checksum: 10c0/10516fd1db5e0a3963063caa57d24eeb1d1f69fcb63f0b5aec5d7a44f8b36ff07b1eded3012e8a9b92fc1f484e1a5a9def0cf57d788aa7f944ee79877837cc77
+ postcss-selector-parser: ^7.0.0
+ checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d
languageName: node
linkType: hard
@@ -1927,6 +1928,15 @@ __metadata:
languageName: node
linkType: hard
+"@csstools/selector-specificity@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "@csstools/selector-specificity@npm:5.0.0"
+ peerDependencies:
+ postcss-selector-parser: ^7.0.0
+ checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb
+ languageName: node
+ linkType: hard
+
"@csstools/utilities@npm:^2.0.0":
version: 2.0.0
resolution: "@csstools/utilities@npm:2.0.0"
@@ -2196,8 +2206,8 @@ __metadata:
linkType: hard
"@formatjs/cli@npm:^6.1.1":
- version: 6.3.0
- resolution: "@formatjs/cli@npm:6.3.0"
+ version: 6.3.5
+ resolution: "@formatjs/cli@npm:6.3.5"
peerDependencies:
"@glimmer/env": ^0.1.7
"@glimmer/reference": ^0.91.1 || ^0.92.0
@@ -2226,7 +2236,7 @@ __metadata:
optional: true
bin:
formatjs: bin/formatjs
- checksum: 10c0/9a803eacbcf2060c8b3cedcf9eef1300df73722eeadaebf7282ff0e9cc41bdcb98d60cea46c297fb9060a07ccd56d44f70247d659827086a55a1d0787e6bd545
+ checksum: 10c0/f3fd57de6df3ef0cfa668813c49acd7dcbecbf52444f30e8edec4ee7bc2d8c47c2e6fb4b7ce3c9c5b4595bdf8416c37953ebb05b400f99874a7f810943f6265b
languageName: node
linkType: hard
@@ -2241,6 +2251,17 @@ __metadata:
languageName: node
linkType: hard
+"@formatjs/ecma402-abstract@npm:2.2.1":
+ version: 2.2.1
+ resolution: "@formatjs/ecma402-abstract@npm:2.2.1"
+ dependencies:
+ "@formatjs/fast-memoize": "npm:2.2.2"
+ "@formatjs/intl-localematcher": "npm:0.5.6"
+ tslib: "npm:2"
+ checksum: 10c0/bb0b01282368d201d9bcfb3232963af90069f6048da5824d38a674118fd49a0cb92b05d19d2526fe6d035428b2e47e1abd671bb59a673317f1418e67974253fa
+ languageName: node
+ linkType: hard
+
"@formatjs/fast-memoize@npm:2.2.1":
version: 2.2.1
resolution: "@formatjs/fast-memoize@npm:2.2.1"
@@ -2250,6 +2271,15 @@ __metadata:
languageName: node
linkType: hard
+"@formatjs/fast-memoize@npm:2.2.2":
+ version: 2.2.2
+ resolution: "@formatjs/fast-memoize@npm:2.2.2"
+ dependencies:
+ tslib: "npm:2"
+ checksum: 10c0/cebbf632a6ed8798ed67dba59d05be8bbe81c9ada7bcbc8ce69798fbaa5e0117c35792f212097d28b8b06fb99cf73bdbc7754702c06cda34f847e5082814643b
+ languageName: node
+ linkType: hard
+
"@formatjs/icu-messageformat-parser@npm:2.7.10":
version: 2.7.10
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.10"
@@ -2261,14 +2291,14 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/icu-messageformat-parser@npm:2.8.0":
- version: 2.8.0
- resolution: "@formatjs/icu-messageformat-parser@npm:2.8.0"
+"@formatjs/icu-messageformat-parser@npm:2.9.1":
+ version: 2.9.1
+ resolution: "@formatjs/icu-messageformat-parser@npm:2.9.1"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/icu-skeleton-parser": "npm:1.8.4"
- tslib: "npm:^2.7.0"
- checksum: 10c0/f8cf835817529ec5c7aed55e60c2584ffe78b6d7f079526e2809af4fdd32d85c4569a01e806861e4352bb5ca996116ea5006870d7e40e01c79878df345e8ba4d
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/icu-skeleton-parser": "npm:1.8.5"
+ tslib: "npm:2"
+ checksum: 10c0/53554edc7d41f6bd737dc3bb3e03dcd4b4081b4fc9a70383612b87993c1639747d1d3827d8ebb13f8bf3566c60442549a0a42df4959699eef76633d4c7b49b25
languageName: node
linkType: hard
@@ -2282,25 +2312,35 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/intl-displaynames@npm:6.7.0":
- version: 6.7.0
- resolution: "@formatjs/intl-displaynames@npm:6.7.0"
+"@formatjs/icu-skeleton-parser@npm:1.8.5":
+ version: 1.8.5
+ resolution: "@formatjs/icu-skeleton-parser@npm:1.8.5"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/intl-localematcher": "npm:0.5.5"
- tslib: "npm:^2.7.0"
- checksum: 10c0/d4814ca580ab261681d2926c3d0df26c445df8e18891dff5cc6363f3c7ea9db393ed1056d8c5ab9277b5fb5e40d44444e7f92935f64f8282c8859c9dab8caabf
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ tslib: "npm:2"
+ checksum: 10c0/3e5ddd26e5dc983547320ca09b4a5daa692a00c15382e85474a9a539c223b581dba2290708d71aae12589c3ddd053b3bfd0dab0a07a11c44033fb313605566bc
languageName: node
linkType: hard
-"@formatjs/intl-listformat@npm:7.6.0":
- version: 7.6.0
- resolution: "@formatjs/intl-listformat@npm:7.6.0"
+"@formatjs/intl-displaynames@npm:6.8.1":
+ version: 6.8.1
+ resolution: "@formatjs/intl-displaynames@npm:6.8.1"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/intl-localematcher": "npm:0.5.5"
- tslib: "npm:^2.7.0"
- checksum: 10c0/8732f492d0faa3d3c633fc9247af6953c15ca8ae9a7cc7de620afa86bbdcb8a92a8a76e36aaf2dbc1fb25d1e9c0ed48c9031926caef9900f68d18772b7e8ce29
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/intl-localematcher": "npm:0.5.6"
+ tslib: "npm:2"
+ checksum: 10c0/6d39c7bbc3cf0b1398463d662662e5c7c8b873fe977e93b7d702a337f1ed639246492b71b7138c1f193df9e1045add5609edb3fd3efc76c6174ce134c02a186f
+ languageName: node
+ linkType: hard
+
+"@formatjs/intl-listformat@npm:7.7.1":
+ version: 7.7.1
+ resolution: "@formatjs/intl-listformat@npm:7.7.1"
+ dependencies:
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/intl-localematcher": "npm:0.5.6"
+ tslib: "npm:2"
+ checksum: 10c0/9ac38d34956ee8018c000bbd594c84f1de283d18441f1376b072658844735a4ebee61ac4711f824dd0a89f4a855acfc7a24159e4cd8a4747609b1d2153316a61
languageName: node
linkType: hard
@@ -2313,34 +2353,43 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/intl-pluralrules@npm:^5.2.2":
- version: 5.2.17
- resolution: "@formatjs/intl-pluralrules@npm:5.2.17"
+"@formatjs/intl-localematcher@npm:0.5.6":
+ version: 0.5.6
+ resolution: "@formatjs/intl-localematcher@npm:0.5.6"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/intl-localematcher": "npm:0.5.5"
- tslib: "npm:^2.7.0"
- checksum: 10c0/d1389821d8b853433ba4b3b7c1b5c08244d6b2dc5f3e54cc171336c8e6ab545b9eb0f388ce98f1245879693bf3068ffc4df2e5f1c7dee0a1e87a058a5c4ce8fc
+ tslib: "npm:2"
+ checksum: 10c0/39fc454641b7871f4b37416a01c7851624db6f1bf6cdcd5c854dfe06b95c0ca7540ec7c803a654140fc3f1c758596a684de8054bc95c4d6c7962091c251f5671
languageName: node
linkType: hard
-"@formatjs/intl@npm:2.10.9":
- version: 2.10.9
- resolution: "@formatjs/intl@npm:2.10.9"
+"@formatjs/intl-pluralrules@npm:^5.2.2":
+ version: 5.3.1
+ resolution: "@formatjs/intl-pluralrules@npm:5.3.1"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/fast-memoize": "npm:2.2.1"
- "@formatjs/icu-messageformat-parser": "npm:2.8.0"
- "@formatjs/intl-displaynames": "npm:6.7.0"
- "@formatjs/intl-listformat": "npm:7.6.0"
- intl-messageformat: "npm:10.7.1"
- tslib: "npm:^2.7.0"
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/intl-localematcher": "npm:0.5.6"
+ tslib: "npm:2"
+ checksum: 10c0/71a87aa81d5d69d56dca0636144f8f9714176b95fe3bc92ae1e455322c09b5b09ba0018315d81def00e89fc95e4fbffe41110104c86eb189ba6d58ac09efa48c
+ languageName: node
+ linkType: hard
+
+"@formatjs/intl@npm:2.10.11":
+ version: 2.10.11
+ resolution: "@formatjs/intl@npm:2.10.11"
+ dependencies:
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/fast-memoize": "npm:2.2.2"
+ "@formatjs/icu-messageformat-parser": "npm:2.9.1"
+ "@formatjs/intl-displaynames": "npm:6.8.1"
+ "@formatjs/intl-listformat": "npm:7.7.1"
+ intl-messageformat: "npm:10.7.3"
+ tslib: "npm:2"
peerDependencies:
typescript: ^4.7 || 5
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/9be5c6e7e8371904789d0771ee97f04cdf16de3f6f4aa01998b3f8c64aa36d9bf91c491ebf95fa2dc6ec16a7d1bb6e3738ddbec02005c199e786133eb0e5795b
+ checksum: 10c0/83baa76d1194dbaae38c21d28cdc4e1ce024f8c49a37e2c02629a9f6afe18912f640435e346fae11af7d8128dac6355b36b93cff37685542ab3095edf3ec6d19
languageName: node
linkType: hard
@@ -2364,23 +2413,23 @@ __metadata:
languageName: node
linkType: hard
-"@formatjs/ts-transformer@npm:3.13.17":
- version: 3.13.17
- resolution: "@formatjs/ts-transformer@npm:3.13.17"
+"@formatjs/ts-transformer@npm:3.13.20":
+ version: 3.13.20
+ resolution: "@formatjs/ts-transformer@npm:3.13.20"
dependencies:
- "@formatjs/icu-messageformat-parser": "npm:2.8.0"
- "@types/json-stable-stringify": "npm:^1.0.32"
+ "@formatjs/icu-messageformat-parser": "npm:2.9.1"
+ "@types/json-stable-stringify": "npm:1"
"@types/node": "npm:14 || 16 || 17 || 18 || 20"
- chalk: "npm:^4.0.0"
- json-stable-stringify: "npm:^1.0.1"
- tslib: "npm:^2.7.0"
+ chalk: "npm:4"
+ json-stable-stringify: "npm:1"
+ tslib: "npm:2"
typescript: "npm:5"
peerDependencies:
ts-jest: ">=27"
peerDependenciesMeta:
ts-jest:
optional: true
- checksum: 10c0/1619f771d8aa69cf63f05199ebc28b57a5e0850b64dc9c2bd0df73d8f388a3323c47f13bcc742a51a7560349591282d88695e6fb9a646b0e7d4f7d0b07e2c5c0
+ checksum: 10c0/0c1a203ce2e0efc24b9c1fc087771330f9630ebb4220e34dd2fffe64d5ee94816554df8ed8402a54dd588c186617765efb6c200a3373cf1d5dfb093ba8d70416
languageName: node
linkType: hard
@@ -2774,7 +2823,7 @@ __metadata:
"@formatjs/intl-pluralrules": "npm:^5.2.2"
"@gamestdio/websocket": "npm:^0.3.2"
"@github/webauthn-json": "npm:^2.1.1"
- "@rails/ujs": "npm:7.1.401"
+ "@rails/ujs": "npm:7.1.402"
"@reduxjs/toolkit": "npm:^2.0.1"
"@svgr/webpack": "npm:^5.5.0"
"@testing-library/dom": "npm:^10.2.0"
@@ -3073,10 +3122,10 @@ __metadata:
languageName: node
linkType: hard
-"@rails/ujs@npm:7.1.401":
- version: 7.1.401
- resolution: "@rails/ujs@npm:7.1.401"
- checksum: 10c0/08eae084c80e837e47cc01d0be25a431495f7dea381dcaaa4ce39a3217fac46bf87d169b3dfcf304ae16e0714de7435c2b8c5eb8d5052e3ba70ef3050a72fa3c
+"@rails/ujs@npm:7.1.402":
+ version: 7.1.402
+ resolution: "@rails/ujs@npm:7.1.402"
+ checksum: 10c0/ccab74b8013ed8a8ab8d7497d0fa510a6ec079725b5fcf679936d80c342940e462b60243ad2cb98128f29db5708a094e319767e8f33a18eb63ceb745de63d1e0
languageName: node
linkType: hard
@@ -3619,7 +3668,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/hoist-non-react-statics@npm:^3.3.1":
+"@types/hoist-non-react-statics@npm:3, @types/hoist-non-react-statics@npm:^3.3.1":
version: 3.3.5
resolution: "@types/hoist-non-react-statics@npm:3.3.5"
dependencies:
@@ -3678,12 +3727,12 @@ __metadata:
linkType: hard
"@types/jest@npm:^29.5.2":
- version: 29.5.13
- resolution: "@types/jest@npm:29.5.13"
+ version: 29.5.14
+ resolution: "@types/jest@npm:29.5.14"
dependencies:
expect: "npm:^29.0.0"
pretty-format: "npm:^29.0.0"
- checksum: 10c0/9c31af0b155387b9860908830de63c6b79011d7c87c8b61b39da124e26e55423dd51b006749aafe4f0ef3a065016619a1f93ef4b055157d43727f448e67824b7
+ checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed
languageName: node
linkType: hard
@@ -3712,10 +3761,10 @@ __metadata:
languageName: node
linkType: hard
-"@types/json-stable-stringify@npm:^1.0.32":
- version: 1.0.35
- resolution: "@types/json-stable-stringify@npm:1.0.35"
- checksum: 10c0/67b50a86478f932c932ba21515b80700a8844d55e0656b3abe2c32c41c1c405c70fcd10b30ff8f38d1869871af2deae63ffdea54ce72cc2ee92e94a9d1cf2b6f
+"@types/json-stable-stringify@npm:1, @types/json-stable-stringify@npm:^1.0.32":
+ version: 1.1.0
+ resolution: "@types/json-stable-stringify@npm:1.1.0"
+ checksum: 10c0/8f69944701510243cd3a83aa44363a8a4d366f11a659b258f69fb3ad0f94ab1e2533206a2c929ac7fd18784d201b663b3f02a45934f545c926f051d8cb4df095
languageName: node
linkType: hard
@@ -3950,12 +3999,12 @@ __metadata:
linkType: hard
"@types/react@npm:*, @types/react@npm:>=16.9.11, @types/react@npm:^18.2.7, @types/react@npm:^18.3.11":
- version: 18.3.11
- resolution: "@types/react@npm:18.3.11"
+ version: 18.3.12
+ resolution: "@types/react@npm:18.3.12"
dependencies:
"@types/prop-types": "npm:*"
csstype: "npm:^3.0.2"
- checksum: 10c0/ce80512246ca5bda69db85b9f4f1835189334acfb6b2c4f3eda8cabff1ff1a3ea9ce4f3b895bdbc18c94140aa45592331aa3fdeb557f525c1b048de7ce84fc0e
+ checksum: 10c0/8bae8d9a41619804561574792e29112b413044eb0d53746dde2b9720c1f9a59f71c895bbd7987cd8ce9500b00786e53bc032dced38cddf42910458e145675290
languageName: node
linkType: hard
@@ -4088,8 +4137,8 @@ __metadata:
linkType: hard
"@types/webpack@npm:^4.41.33":
- version: 4.41.39
- resolution: "@types/webpack@npm:4.41.39"
+ version: 4.41.40
+ resolution: "@types/webpack@npm:4.41.40"
dependencies:
"@types/node": "npm:*"
"@types/tapable": "npm:^1"
@@ -4097,7 +4146,7 @@ __metadata:
"@types/webpack-sources": "npm:*"
anymatch: "npm:^3.0.0"
source-map: "npm:^0.6.0"
- checksum: 10c0/740420d092abb80b70263b02609bde209801b060d8e6f3a399a129945cb09182c2ce63dc816908bfbcdb123b35dc4c4fb51367aac2b5974537694cac2631db21
+ checksum: 10c0/ecd530e5db4c21ec61795eec538026f96c126323836249a83e72805afd1d0b1141fc781f14d4a59d77f877523384b4c5d79dc391cfb901e7a781a9aa085f8198
languageName: node
linkType: hard
@@ -5131,21 +5180,21 @@ __metadata:
linkType: hard
"babel-plugin-formatjs@npm:^10.5.1":
- version: 10.5.19
- resolution: "babel-plugin-formatjs@npm:10.5.19"
+ version: 10.5.22
+ resolution: "babel-plugin-formatjs@npm:10.5.22"
dependencies:
"@babel/core": "npm:^7.25.0"
"@babel/helper-plugin-utils": "npm:^7.25.0"
"@babel/plugin-syntax-jsx": "npm:^7.25.0"
"@babel/traverse": "npm:^7.25.0"
"@babel/types": "npm:^7.25.0"
- "@formatjs/icu-messageformat-parser": "npm:2.8.0"
- "@formatjs/ts-transformer": "npm:3.13.17"
+ "@formatjs/icu-messageformat-parser": "npm:2.9.1"
+ "@formatjs/ts-transformer": "npm:3.13.20"
"@types/babel__core": "npm:^7.20.5"
"@types/babel__helper-plugin-utils": "npm:^7.10.3"
"@types/babel__traverse": "npm:^7.20.6"
- tslib: "npm:^2.7.0"
- checksum: 10c0/29d1e1fe8c97412a1c6c95dde3753ea28ddbe39040aaead90c67106422ce12dad363aee47a2729f685807bacf7f422ef607f015b325203a8201249b74e84bab3
+ tslib: "npm:2"
+ checksum: 10c0/c35ec81d89eb228d23d3d62e7e4d0e5d7216f0d09f91b1dc3c46e049c5515a201fcfe77c1079924c6bfb9883b2941af91431f479a0f5a24a0574b695f18b64bc
languageName: node
linkType: hard
@@ -5801,6 +5850,16 @@ __metadata:
languageName: node
linkType: hard
+"chalk@npm:4, chalk@npm:^4.0, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0":
+ version: 4.1.2
+ resolution: "chalk@npm:4.1.2"
+ dependencies:
+ ansi-styles: "npm:^4.1.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
+ languageName: node
+ linkType: hard
+
"chalk@npm:^2.4.1, chalk@npm:^2.4.2":
version: 2.4.2
resolution: "chalk@npm:2.4.2"
@@ -5822,16 +5881,6 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^4.0, chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0":
- version: 4.1.2
- resolution: "chalk@npm:4.1.2"
- dependencies:
- ansi-styles: "npm:^4.1.0"
- supports-color: "npm:^7.1.0"
- checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880
- languageName: node
- linkType: hard
-
"chalk@npm:~5.3.0":
version: 5.3.0
resolution: "chalk@npm:5.3.0"
@@ -6493,14 +6542,14 @@ __metadata:
languageName: node
linkType: hard
-"css-blank-pseudo@npm:^7.0.0":
- version: 7.0.0
- resolution: "css-blank-pseudo@npm:7.0.0"
+"css-blank-pseudo@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "css-blank-pseudo@npm:7.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/74c6c0af773a8d2c8c5a53bcfc2b2c06f9c3fd4a8bd756b7aafc102b91a1060b179a4f0aa21475b54685b62bfd9724fee90778dd992b42e0cd3ea3698132af92
+ checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618
languageName: node
linkType: hard
@@ -6520,16 +6569,16 @@ __metadata:
languageName: node
linkType: hard
-"css-has-pseudo@npm:^7.0.0":
- version: 7.0.0
- resolution: "css-has-pseudo@npm:7.0.0"
+"css-has-pseudo@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "css-has-pseudo@npm:7.0.1"
dependencies:
- "@csstools/selector-specificity": "npm:^4.0.0"
- postcss-selector-parser: "npm:^6.1.0"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/2c72602ca9bcdb3afe2cce3b014e7dd17548658904c17560042ebf4bd6727b1ed8706961b1f44bff43bbdb8dc932c30a0b29f536c353df858e300e68e163b872
+ checksum: 10c0/13789b08b70169204be786d652190356ace9313099d3656bd2fc38afbdd28f3d9620f0e0b07425480961b7a1ec789794961d0472f205b959d3f64c9a78ce511c
languageName: node
linkType: hard
@@ -6665,10 +6714,10 @@ __metadata:
languageName: node
linkType: hard
-"cssdb@npm:^8.1.1":
- version: 8.1.1
- resolution: "cssdb@npm:8.1.1"
- checksum: 10c0/d60facfad3bca70e21100fc35b9205cb9d3d0ac642f44f0a687e54bf787f21c43d28ce2d17fcd405f67950fb4709516108fe1f3cb15df570eff1007b5fbbc787
+"cssdb@npm:^8.1.2":
+ version: 8.1.2
+ resolution: "cssdb@npm:8.1.2"
+ checksum: 10c0/056149e713a78921f56d9ef0cd734577cedb93c27966c3d0eab01956a2aa8d3c260a911766064b57ded8b4d9c55dd5275626cbb022ccd8d2d0b93b53fefd1603
languageName: node
linkType: hard
@@ -9251,7 +9300,7 @@ __metadata:
languageName: node
linkType: hard
-"hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2":
+"hoist-non-react-statics@npm:3, hoist-non-react-statics@npm:^3.1.0, hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2":
version: 3.3.2
resolution: "hoist-non-react-statics@npm:3.3.2"
dependencies:
@@ -9692,15 +9741,15 @@ __metadata:
languageName: node
linkType: hard
-"intl-messageformat@npm:10.7.1, intl-messageformat@npm:^10.3.5":
- version: 10.7.1
- resolution: "intl-messageformat@npm:10.7.1"
+"intl-messageformat@npm:10.7.3, intl-messageformat@npm:^10.3.5":
+ version: 10.7.3
+ resolution: "intl-messageformat@npm:10.7.3"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/fast-memoize": "npm:2.2.1"
- "@formatjs/icu-messageformat-parser": "npm:2.8.0"
- tslib: "npm:^2.7.0"
- checksum: 10c0/b9383a2c0ce7888d34fa7bbb4ba7cc139ea77a372bd9268412e97e8a1357ebd1880beb04affdbd7175ae27db2a57024f21e804b34f2b159fd1c3d221f69c40d4
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/fast-memoize": "npm:2.2.2"
+ "@formatjs/icu-messageformat-parser": "npm:2.9.1"
+ tslib: "npm:2"
+ checksum: 10c0/7ddd118c04023c9ecdf9a2270753abd876e90a428d5106ce8373622ddefe72ff1daa33993b12065a3339b7f838e9266c3db9048aa7dd20012c8703c6ebe26fd4
languageName: node
linkType: hard
@@ -11118,12 +11167,15 @@ __metadata:
languageName: node
linkType: hard
-"json-stable-stringify@npm:^1.0.1":
- version: 1.0.2
- resolution: "json-stable-stringify@npm:1.0.2"
+"json-stable-stringify@npm:1, json-stable-stringify@npm:^1.0.1":
+ version: 1.1.1
+ resolution: "json-stable-stringify@npm:1.1.1"
dependencies:
+ call-bind: "npm:^1.0.5"
+ isarray: "npm:^2.0.5"
jsonify: "npm:^0.0.1"
- checksum: 10c0/502d021c3c59c09587faa40d7693d77c00460fd6c68bae95d6e35804909ec8c4aec71b136d3a09df61a7ebf803eb6e820f23ede76b77e74b8b02c76afb2ada8c
+ object-keys: "npm:^1.1.1"
+ checksum: 10c0/3801e3eeccbd030afb970f54bea690a079cfea7d9ed206a1b17ca9367f4b7772c764bf77a48f03e56b50e5f7ee7d11c52339fe20d8d7ccead003e4ca69e4cfde
languageName: node
linkType: hard
@@ -12971,8 +13023,8 @@ __metadata:
linkType: hard
"pg@npm:^8.5.0":
- version: 8.13.0
- resolution: "pg@npm:8.13.0"
+ version: 8.13.1
+ resolution: "pg@npm:8.13.1"
dependencies:
pg-cloudflare: "npm:^1.1.1"
pg-connection-string: "npm:^2.7.0"
@@ -12988,7 +13040,7 @@ __metadata:
peerDependenciesMeta:
pg-native:
optional: true
- checksum: 10c0/1521189063d2293d62f3fac61e797a3096a62a69668c223827d00b83c17a320805f31f0b5316feb80f8d9eed0c6c32f95146d8aca866af05816a66fd2ba8e32a
+ checksum: 10c0/c13bc661cbdb115337bc8519254836faf4bd79106dfd7ed588c8ece8c8b2dd3b7376bfec9a9a2f7646fa095b0b310cec77a83c3ba2ea4872331446eb93fd9055
languageName: node
linkType: hard
@@ -13184,14 +13236,14 @@ __metadata:
languageName: node
linkType: hard
-"postcss-attribute-case-insensitive@npm:^7.0.0":
- version: 7.0.0
- resolution: "postcss-attribute-case-insensitive@npm:7.0.0"
+"postcss-attribute-case-insensitive@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "postcss-attribute-case-insensitive@npm:7.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/ce2a96bc29f59a6113953f1f72bfa2d4d34e54b194ff4d49aad0d548aa738835afaf479f22060a2605952b842f63aeae278b44e41f8f3a05731df28d08e2df97
+ checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34
languageName: node
linkType: hard
@@ -13218,18 +13270,18 @@ __metadata:
languageName: node
linkType: hard
-"postcss-color-functional-notation@npm:^7.0.3":
- version: 7.0.3
- resolution: "postcss-color-functional-notation@npm:7.0.3"
+"postcss-color-functional-notation@npm:^7.0.4":
+ version: 7.0.4
+ resolution: "postcss-color-functional-notation@npm:7.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/5e04c81002512c960784043c096bc91ebc76b8fddb9259a2418b0e121eb65042944cc0f78946f6b7e5774ff1fee087849019655e4848af1f88879e3ab9ff7c17
+ checksum: 10c0/1e39c47f27610ebf6a6308cfea2904fbe1f157b13654325ada23153a944666722c6132b53dfc7660632406a636479dda68eeb97a246c2e593ad6eed1e9bf838d
languageName: node
linkType: hard
@@ -13283,57 +13335,57 @@ __metadata:
languageName: node
linkType: hard
-"postcss-custom-media@npm:^11.0.3":
- version: 11.0.3
- resolution: "postcss-custom-media@npm:11.0.3"
+"postcss-custom-media@npm:^11.0.4":
+ version: 11.0.4
+ resolution: "postcss-custom-media@npm:11.0.4"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/cascade-layer-name-parser": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
- "@csstools/media-query-list-parser": "npm:^4.0.0"
+ "@csstools/media-query-list-parser": "npm:^4.0.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/bd3f0cf17d7422385d26afed510dc2acebb1d8c25fce13e2bbee1c49cdc7fe95ebe7f50b89ef0a88ebdd5f6826e89d99e26b905881ceff788df655670dba93d8
+ checksum: 10c0/31e82e5802f6933a15f5fcf64ff41c8107af9c1d5dcba3c4422a6de3fac77bce9e3dc4ed2b79ae7f6ae460549c5da5a013669af05c1ae21549dbb09b66a9492d
languageName: node
linkType: hard
-"postcss-custom-properties@npm:^14.0.2":
- version: 14.0.2
- resolution: "postcss-custom-properties@npm:14.0.2"
+"postcss-custom-properties@npm:^14.0.3":
+ version: 14.0.3
+ resolution: "postcss-custom-properties@npm:14.0.3"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/cascade-layer-name-parser": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/ea2e0cb60c558bb1afb4e601dcc64a38e1b28e5df3e47b83b858fc12d909d0e3453013e6b368fc05a7db7098ffcdc702a30a92f1a3c0ef67dfb97bf089021f1a
+ checksum: 10c0/878ffd171ab9bbbba711930cf1b5bd48a12779e3b45d69f41366c2f65d84518f9338a92a277c0e390518c9e12272e06892cdc6575783bcdecfa6d26ebde3d043
languageName: node
linkType: hard
-"postcss-custom-selectors@npm:^8.0.2":
- version: 8.0.2
- resolution: "postcss-custom-selectors@npm:8.0.2"
+"postcss-custom-selectors@npm:^8.0.3":
+ version: 8.0.3
+ resolution: "postcss-custom-selectors@npm:8.0.3"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^2.0.2"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/cascade-layer-name-parser": "npm:^2.0.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/81673ffb0874f63c0f5e14315a5808259ec80ae8452aaf10d28112d30a9aaabbf61d13edb02f8be2965f44b943968c7eda051a1693da436ef157e77fcff0d752
+ checksum: 10c0/3acdada43e385c23130f1dde41b189acc7739e5bbd14751ae28b2bd97b0d97f30c2a53da4f9558d108a893cc48717f76b28395a9ff38dcbbe3c3a1721ee4a68a
languageName: node
linkType: hard
-"postcss-dir-pseudo-class@npm:^9.0.0":
- version: 9.0.0
- resolution: "postcss-dir-pseudo-class@npm:9.0.0"
+"postcss-dir-pseudo-class@npm:^9.0.1":
+ version: 9.0.1
+ resolution: "postcss-dir-pseudo-class@npm:9.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/debae71bf508c0e494ebb1892ce6b3c1c4eeb6b23231180151a93920a12fec771815510cdec54db54605e090ae56af9f07c68ef6a61260d0c837adc719f9e1e4
+ checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690
languageName: node
linkType: hard
@@ -13388,25 +13440,25 @@ __metadata:
languageName: node
linkType: hard
-"postcss-focus-visible@npm:^10.0.0":
- version: 10.0.0
- resolution: "postcss-focus-visible@npm:10.0.0"
+"postcss-focus-visible@npm:^10.0.1":
+ version: 10.0.1
+ resolution: "postcss-focus-visible@npm:10.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b86b825bac597092b300127c2686c0669ce0766165716ecda42f298f21ca69dda721e44917732cbcb2611a4ab650f1231bf8c5d4d07c9daefef815329251ae8a
+ checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665
languageName: node
linkType: hard
-"postcss-focus-within@npm:^9.0.0":
- version: 9.0.0
- resolution: "postcss-focus-within@npm:9.0.0"
+"postcss-focus-within@npm:^9.0.1":
+ version: 9.0.1
+ resolution: "postcss-focus-within@npm:9.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/1d6f1b4f4d12e23a2824f394652d520942f00fd582d3016c933a492fe0ba38aaf26bc1855576878aaeaeda1d6fc38da39bb51e8e6470c50ef03f3ea9a286b3d1
+ checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a
languageName: node
linkType: hard
@@ -13440,18 +13492,18 @@ __metadata:
languageName: node
linkType: hard
-"postcss-lab-function@npm:^7.0.3":
- version: 7.0.3
- resolution: "postcss-lab-function@npm:7.0.3"
+"postcss-lab-function@npm:^7.0.4":
+ version: 7.0.4
+ resolution: "postcss-lab-function@npm:7.0.4"
dependencies:
- "@csstools/css-color-parser": "npm:^3.0.3"
- "@csstools/css-parser-algorithms": "npm:^3.0.2"
+ "@csstools/css-color-parser": "npm:^3.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.3"
"@csstools/css-tokenizer": "npm:^3.0.2"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
"@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/c50a73a9ed54b4194998c4627599d1f42074235f572edbbcdb0e00717f3ae2121dc8378d917792b281860c5650a617d923823da6f395515f610b5760d115354d
+ checksum: 10c0/79ce3cc20484aef0e0bbc2d18c8f91d7362226a3db52f06a931ac8e1c58ffbc60876c6439f364093e5f16ef92260a420230cfb2a9e7b95c6c11e6f7d57626260
languageName: node
linkType: hard
@@ -13608,16 +13660,16 @@ __metadata:
languageName: node
linkType: hard
-"postcss-nesting@npm:^13.0.0":
- version: 13.0.0
- resolution: "postcss-nesting@npm:13.0.0"
+"postcss-nesting@npm:^13.0.1":
+ version: 13.0.1
+ resolution: "postcss-nesting@npm:13.0.1"
dependencies:
- "@csstools/selector-resolve-nested": "npm:^2.0.0"
- "@csstools/selector-specificity": "npm:^4.0.0"
- postcss-selector-parser: "npm:^6.1.0"
+ "@csstools/selector-resolve-nested": "npm:^3.0.0"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b82a3c7010f7c6097bd3f3fe6c03f3f3af9a63a58e255f120dadd506a0ea9444aeeaba994f2a3fa34fb26e666dc72032edf5786c5fbdade790b02ad07d91ef95
+ checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf
languageName: node
linkType: hard
@@ -13772,84 +13824,84 @@ __metadata:
linkType: hard
"postcss-preset-env@npm:^10.0.0":
- version: 10.0.7
- resolution: "postcss-preset-env@npm:10.0.7"
+ version: 10.0.8
+ resolution: "postcss-preset-env@npm:10.0.8"
dependencies:
- "@csstools/postcss-cascade-layers": "npm:^5.0.0"
- "@csstools/postcss-color-function": "npm:^4.0.3"
- "@csstools/postcss-color-mix-function": "npm:^3.0.3"
- "@csstools/postcss-content-alt-text": "npm:^2.0.2"
- "@csstools/postcss-exponential-functions": "npm:^2.0.2"
+ "@csstools/postcss-cascade-layers": "npm:^5.0.1"
+ "@csstools/postcss-color-function": "npm:^4.0.4"
+ "@csstools/postcss-color-mix-function": "npm:^3.0.4"
+ "@csstools/postcss-content-alt-text": "npm:^2.0.3"
+ "@csstools/postcss-exponential-functions": "npm:^2.0.3"
"@csstools/postcss-font-format-keywords": "npm:^4.0.0"
- "@csstools/postcss-gamut-mapping": "npm:^2.0.3"
- "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.3"
- "@csstools/postcss-hwb-function": "npm:^4.0.3"
+ "@csstools/postcss-gamut-mapping": "npm:^2.0.4"
+ "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.4"
+ "@csstools/postcss-hwb-function": "npm:^4.0.4"
"@csstools/postcss-ic-unit": "npm:^4.0.0"
"@csstools/postcss-initial": "npm:^2.0.0"
- "@csstools/postcss-is-pseudo-class": "npm:^5.0.0"
- "@csstools/postcss-light-dark-function": "npm:^2.0.5"
+ "@csstools/postcss-is-pseudo-class": "npm:^5.0.1"
+ "@csstools/postcss-light-dark-function": "npm:^2.0.6"
"@csstools/postcss-logical-float-and-clear": "npm:^3.0.0"
"@csstools/postcss-logical-overflow": "npm:^2.0.0"
"@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0"
"@csstools/postcss-logical-resize": "npm:^3.0.0"
"@csstools/postcss-logical-viewport-units": "npm:^3.0.2"
- "@csstools/postcss-media-minmax": "npm:^2.0.2"
- "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.2"
+ "@csstools/postcss-media-minmax": "npm:^2.0.3"
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.3"
"@csstools/postcss-nested-calc": "npm:^4.0.0"
"@csstools/postcss-normalize-display-values": "npm:^4.0.0"
- "@csstools/postcss-oklab-function": "npm:^4.0.3"
+ "@csstools/postcss-oklab-function": "npm:^4.0.4"
"@csstools/postcss-progressive-custom-properties": "npm:^4.0.0"
- "@csstools/postcss-relative-color-syntax": "npm:^3.0.3"
- "@csstools/postcss-scope-pseudo-class": "npm:^4.0.0"
- "@csstools/postcss-stepped-value-functions": "npm:^4.0.2"
+ "@csstools/postcss-relative-color-syntax": "npm:^3.0.4"
+ "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1"
+ "@csstools/postcss-stepped-value-functions": "npm:^4.0.3"
"@csstools/postcss-text-decoration-shorthand": "npm:^4.0.1"
- "@csstools/postcss-trigonometric-functions": "npm:^4.0.2"
+ "@csstools/postcss-trigonometric-functions": "npm:^4.0.3"
"@csstools/postcss-unset-value": "npm:^4.0.0"
autoprefixer: "npm:^10.4.19"
browserslist: "npm:^4.23.1"
- css-blank-pseudo: "npm:^7.0.0"
- css-has-pseudo: "npm:^7.0.0"
+ css-blank-pseudo: "npm:^7.0.1"
+ css-has-pseudo: "npm:^7.0.1"
css-prefers-color-scheme: "npm:^10.0.0"
- cssdb: "npm:^8.1.1"
- postcss-attribute-case-insensitive: "npm:^7.0.0"
+ cssdb: "npm:^8.1.2"
+ postcss-attribute-case-insensitive: "npm:^7.0.1"
postcss-clamp: "npm:^4.1.0"
- postcss-color-functional-notation: "npm:^7.0.3"
+ postcss-color-functional-notation: "npm:^7.0.4"
postcss-color-hex-alpha: "npm:^10.0.0"
postcss-color-rebeccapurple: "npm:^10.0.0"
- postcss-custom-media: "npm:^11.0.3"
- postcss-custom-properties: "npm:^14.0.2"
- postcss-custom-selectors: "npm:^8.0.2"
- postcss-dir-pseudo-class: "npm:^9.0.0"
+ postcss-custom-media: "npm:^11.0.4"
+ postcss-custom-properties: "npm:^14.0.3"
+ postcss-custom-selectors: "npm:^8.0.3"
+ postcss-dir-pseudo-class: "npm:^9.0.1"
postcss-double-position-gradients: "npm:^6.0.0"
- postcss-focus-visible: "npm:^10.0.0"
- postcss-focus-within: "npm:^9.0.0"
+ postcss-focus-visible: "npm:^10.0.1"
+ postcss-focus-within: "npm:^9.0.1"
postcss-font-variant: "npm:^5.0.0"
postcss-gap-properties: "npm:^6.0.0"
postcss-image-set-function: "npm:^7.0.0"
- postcss-lab-function: "npm:^7.0.3"
+ postcss-lab-function: "npm:^7.0.4"
postcss-logical: "npm:^8.0.0"
- postcss-nesting: "npm:^13.0.0"
+ postcss-nesting: "npm:^13.0.1"
postcss-opacity-percentage: "npm:^3.0.0"
postcss-overflow-shorthand: "npm:^6.0.0"
postcss-page-break: "npm:^3.0.4"
postcss-place: "npm:^10.0.0"
- postcss-pseudo-class-any-link: "npm:^10.0.0"
+ postcss-pseudo-class-any-link: "npm:^10.0.1"
postcss-replace-overflow-wrap: "npm:^4.0.0"
- postcss-selector-not: "npm:^8.0.0"
+ postcss-selector-not: "npm:^8.0.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/f789000e0504fd827e854bb0feb8b4c218d381314e4d863c5a36df925df412d0844c912952fe27892a320433640aeaff03ee94a3057b42011bf5d32b3963f333
+ checksum: 10c0/3f7dc8eb2e7f4e7a5eee0a9456972a5b18bd40109d1aa3328f60cd645d352f3a70c83c507ea58f83b820153b0f5c3f14af3f376573c56599c36d5739c943b6f1
languageName: node
linkType: hard
-"postcss-pseudo-class-any-link@npm:^10.0.0":
- version: 10.0.0
- resolution: "postcss-pseudo-class-any-link@npm:10.0.0"
+"postcss-pseudo-class-any-link@npm:^10.0.1":
+ version: 10.0.1
+ resolution: "postcss-pseudo-class-any-link@npm:10.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/8357716e0ba0f01c70dba65a1efd268f610249ac2fbd41833e5e87dc19ffa7911c8d5e234d0d7c77d94ba6cdfa04fe7f0f98461c34f64cdbb59abd9737ab7d32
+ checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673
languageName: node
linkType: hard
@@ -13910,18 +13962,18 @@ __metadata:
languageName: node
linkType: hard
-"postcss-selector-not@npm:^8.0.0":
- version: 8.0.0
- resolution: "postcss-selector-not@npm:8.0.0"
+"postcss-selector-not@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "postcss-selector-not@npm:8.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.1.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/677f2cd9d0cd481d276663b57001b2ba96db94ad5bba397f277e53d560ccb074b27c21792deff44720a9f2d96da85fa34f438bb1d33198305b5866b35f1a4708
+ checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6
languageName: node
linkType: hard
-"postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.0, postcss-selector-parser@npm:^6.1.2":
+"postcss-selector-parser@npm:^6.0.13, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.2":
version: 6.1.2
resolution: "postcss-selector-parser@npm:6.1.2"
dependencies:
@@ -13931,6 +13983,16 @@ __metadata:
languageName: node
linkType: hard
+"postcss-selector-parser@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "postcss-selector-parser@npm:7.0.0"
+ dependencies:
+ cssesc: "npm:^3.0.0"
+ util-deprecate: "npm:^1.0.2"
+ checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d
+ languageName: node
+ linkType: hard
+
"postcss-svgo@npm:^7.0.1":
version: 7.0.1
resolution: "postcss-svgo@npm:7.0.1"
@@ -14412,26 +14474,26 @@ __metadata:
linkType: hard
"react-intl@npm:^6.4.2":
- version: 6.8.1
- resolution: "react-intl@npm:6.8.1"
+ version: 6.8.4
+ resolution: "react-intl@npm:6.8.4"
dependencies:
- "@formatjs/ecma402-abstract": "npm:2.2.0"
- "@formatjs/icu-messageformat-parser": "npm:2.8.0"
- "@formatjs/intl": "npm:2.10.9"
- "@formatjs/intl-displaynames": "npm:6.7.0"
- "@formatjs/intl-listformat": "npm:7.6.0"
- "@types/hoist-non-react-statics": "npm:^3.3.1"
+ "@formatjs/ecma402-abstract": "npm:2.2.1"
+ "@formatjs/icu-messageformat-parser": "npm:2.9.1"
+ "@formatjs/intl": "npm:2.10.11"
+ "@formatjs/intl-displaynames": "npm:6.8.1"
+ "@formatjs/intl-listformat": "npm:7.7.1"
+ "@types/hoist-non-react-statics": "npm:3"
"@types/react": "npm:^18.3.11"
- hoist-non-react-statics: "npm:^3.3.2"
- intl-messageformat: "npm:10.7.1"
- tslib: "npm:^2.7.0"
+ hoist-non-react-statics: "npm:3"
+ intl-messageformat: "npm:10.7.3"
+ tslib: "npm:2"
peerDependencies:
react: ^16.6.0 || 17 || 18
typescript: ^4.7 || 5
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/4ffdf8fd6e82c10de7d1e195336c8bc98fab5f6bc7fde548f7df553caf05677d632977c3287e9b72915f8a01ed98ff8246fdfccea2f7048902f46a596a0db4b2
+ checksum: 10c0/a6b417c1cfb36ffe38645fe9daaaf3e1a25660468b8dbd4ccf386be063cc7c0fdeecc3c0490c671721408696b6578262b8db5882d00b76d4ec48d94601b14eab
languageName: node
linkType: hard
@@ -14592,8 +14654,8 @@ __metadata:
linkType: hard
"react-select@npm:^5.7.3":
- version: 5.8.1
- resolution: "react-select@npm:5.8.1"
+ version: 5.8.2
+ resolution: "react-select@npm:5.8.2"
dependencies:
"@babel/runtime": "npm:^7.12.0"
"@emotion/cache": "npm:^11.4.0"
@@ -14607,7 +14669,7 @@ __metadata:
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- checksum: 10c0/0fd73e1e472105f980e09c86f0e6adbdc9f2f5c1befa275b08c71653becdd1829f596155a81b5085cb86f18b20bf4f4cc439ab5fe23e68f326e169dcfe00ccf6
+ checksum: 10c0/3089b8bfb23f556a7b1de07ea654fc5f5976f531a731a0231bbcbc195afb9294c36f49d712712f2deefc13eb6d7ede4aa1d80cb45b80afd3e26fde2f09db35eb
languageName: node
linkType: hard
@@ -16962,13 +17024,6 @@ __metadata:
languageName: node
linkType: hard
-"to-fast-properties@npm:^2.0.0":
- version: 2.0.0
- resolution: "to-fast-properties@npm:2.0.0"
- checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7
- languageName: node
- linkType: hard
-
"to-object-path@npm:^0.3.0":
version: 0.3.0
resolution: "to-object-path@npm:0.3.0"
@@ -17099,10 +17154,10 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0":
- version: 2.7.0
- resolution: "tslib@npm:2.7.0"
- checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6
+"tslib@npm:2, tslib@npm:^2.0.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0":
+ version: 2.8.0
+ resolution: "tslib@npm:2.8.0"
+ checksum: 10c0/31e4d14dc1355e9b89e4d3c893a18abb7f90b6886b089c2da91224d0a7752c79f3ddc41bc1aa0a588ac895bd97bb99c5bc2bfdb2f86de849f31caeb3ba79bbe5
languageName: node
linkType: hard
@@ -18163,28 +18218,28 @@ __metadata:
languageName: node
linkType: hard
-"workbox-background-sync@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-background-sync@npm:7.1.0"
+"workbox-background-sync@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-background-sync@npm:7.3.0"
dependencies:
idb: "npm:^7.0.1"
- workbox-core: "npm:7.1.0"
- checksum: 10c0/9538c49a377d8eb06acee3848fbca09bac1940a2ca9e904fed765c39aa32f77c20d72c3ba6fa1eb47bee81289b1d527556a1cd3e02728960a4c40400ce6d0e91
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/cc982d62702847fb16c4ef372a8bd243348a80c2d5da1649a860b0187b45060a799a65582c2d36f1a32e31d5d68dedcb037698c41d3b2f171ea5d54d73453cf1
languageName: node
linkType: hard
-"workbox-broadcast-update@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-broadcast-update@npm:7.1.0"
+"workbox-broadcast-update@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-broadcast-update@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- checksum: 10c0/4a6e201cedcbc11b9d2f63f63477ba4564a35ce07bd54640198db6ff6a3b8347a65e0b4973c8f8463e8a622fd1ad93d7b3bab42338608811d23c7db01fef475e
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/25007acd3e845b5ca1f4c9ac9888ce661431723f7419cfa56b3029b6c56cbeca24902dae015c42a2d6f554f956274743e331d03ceeb4b0e3879cb7b908d0e82f
languageName: node
linkType: hard
-"workbox-build@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-build@npm:7.1.0"
+"workbox-build@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-build@npm:7.3.0"
dependencies:
"@apideck/better-ajv-errors": "npm:^0.3.1"
"@babel/core": "npm:^7.24.4"
@@ -18208,163 +18263,163 @@ __metadata:
strip-comments: "npm:^2.0.1"
tempy: "npm:^0.6.0"
upath: "npm:^1.2.0"
- workbox-background-sync: "npm:7.1.0"
- workbox-broadcast-update: "npm:7.1.0"
- workbox-cacheable-response: "npm:7.1.0"
- workbox-core: "npm:7.1.0"
- workbox-expiration: "npm:7.1.0"
- workbox-google-analytics: "npm:7.1.0"
- workbox-navigation-preload: "npm:7.1.0"
- workbox-precaching: "npm:7.1.0"
- workbox-range-requests: "npm:7.1.0"
- workbox-recipes: "npm:7.1.0"
- workbox-routing: "npm:7.1.0"
- workbox-strategies: "npm:7.1.0"
- workbox-streams: "npm:7.1.0"
- workbox-sw: "npm:7.1.0"
- workbox-window: "npm:7.1.0"
- checksum: 10c0/c482fde713bad582bd7d4861113d7367ab4722eba9c102864c71048815792c623e9117a8f79957e0388d0c08e8303962d1fb23931456da73909e87d06638d101
+ workbox-background-sync: "npm:7.3.0"
+ workbox-broadcast-update: "npm:7.3.0"
+ workbox-cacheable-response: "npm:7.3.0"
+ workbox-core: "npm:7.3.0"
+ workbox-expiration: "npm:7.3.0"
+ workbox-google-analytics: "npm:7.3.0"
+ workbox-navigation-preload: "npm:7.3.0"
+ workbox-precaching: "npm:7.3.0"
+ workbox-range-requests: "npm:7.3.0"
+ workbox-recipes: "npm:7.3.0"
+ workbox-routing: "npm:7.3.0"
+ workbox-strategies: "npm:7.3.0"
+ workbox-streams: "npm:7.3.0"
+ workbox-sw: "npm:7.3.0"
+ workbox-window: "npm:7.3.0"
+ checksum: 10c0/cb396f9c2a53429d1e11b4c1da2e21c9e1c98473ce15f20ae53277e47bd7ccbcb3f1f843694e588bb70b12d9332faafd098ca05b93abb0293d373f38a8de3ca8
languageName: node
linkType: hard
-"workbox-cacheable-response@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-cacheable-response@npm:7.1.0"
+"workbox-cacheable-response@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-cacheable-response@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- checksum: 10c0/52ea73bb184c9ef9280cc8f00a1ab7d103d495e12a7a6378fae02fd0aa1a9b893aac5d8074f14ed8c198527123e4401f4703fbfd2be98e184ca783b9216cb4c5
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/192c8a8878c53a205c55398bac78f2c32c0f36e55c95cab282d8a716ddf2fa72563afaed690d34d3438cc8df5fb0df4d98dcb2d93cc6d67c69a9ae592f7bf246
languageName: node
linkType: hard
-"workbox-core@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-core@npm:7.1.0"
- checksum: 10c0/fb0b6e23a52e085da00b7a74b1f1854f06c695eb2bd4c244aa335165f59156a4febb4f116b9893b9fb7e0e8bac092d32eecceb4d00f930a93f64737cb2be9531
+"workbox-core@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-core@npm:7.3.0"
+ checksum: 10c0/b7dce640cd9665ed207f65f5b08a50e2e24e5599790c6ea4fec987539b9d2ef81765d8c5f94acfee3a8a45d5ade8e1a4ebd0b8847a1471302ef75a5b93c7bd04
languageName: node
linkType: hard
-"workbox-expiration@npm:7.1.0, workbox-expiration@npm:^7.0.0":
- version: 7.1.0
- resolution: "workbox-expiration@npm:7.1.0"
+"workbox-expiration@npm:7.3.0, workbox-expiration@npm:^7.0.0":
+ version: 7.3.0
+ resolution: "workbox-expiration@npm:7.3.0"
dependencies:
idb: "npm:^7.0.1"
- workbox-core: "npm:7.1.0"
- checksum: 10c0/669d76f87c1550ce9b425232c3202a26fdea4c4c9bdc1b71c1cee741a5d011423098994452e508576174d3c0b4bec0f4b35012b6d7257e300684c87fdddb7949
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/6040d72122ece901becfcc59974586e9cc9b6309840b83b652c9f9aafe32ff89783404a431cadf6f888f80e5371252820e425ced499742964d6d68687f6fad1a
languageName: node
linkType: hard
-"workbox-google-analytics@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-google-analytics@npm:7.1.0"
+"workbox-google-analytics@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-google-analytics@npm:7.3.0"
dependencies:
- workbox-background-sync: "npm:7.1.0"
- workbox-core: "npm:7.1.0"
- workbox-routing: "npm:7.1.0"
- workbox-strategies: "npm:7.1.0"
- checksum: 10c0/4178d94fb7f3f7b789f117c104b2ff33945256dc550418b0e9c81130c1e2c2bcd72ec6a1661d91326c04de360e6592edd505f0e2142e8e1043fe0c45f9c1a3fe
+ workbox-background-sync: "npm:7.3.0"
+ workbox-core: "npm:7.3.0"
+ workbox-routing: "npm:7.3.0"
+ workbox-strategies: "npm:7.3.0"
+ checksum: 10c0/5317a4bcc01f1aa87480f9708d7d382c15fb37d6119e71e0a2909dfd683f6060b5cc4f7b016a81fc67098f51a5d0cfd1cda20e228f2f3778ee3caf649b59996b
languageName: node
linkType: hard
-"workbox-navigation-preload@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-navigation-preload@npm:7.1.0"
+"workbox-navigation-preload@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-navigation-preload@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- checksum: 10c0/b667a3ba0cae4d43a53a6e211f0f33f6ebc1d9fec6cbb93de83f72a37b81cc39d887b969db9b1cd5c396a1ce34636c89c3b157cc64a5265635d0b274e362db0e
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/69e4d43c68c06889987e9fa437995378b0632c83bad8c7044b4ed812b05b94b3a4aa8700ea4c26b2ecf68ee6858e94ff41dfa3279815c1bc385ac19c0edfb200
languageName: node
linkType: hard
-"workbox-precaching@npm:7.1.0, workbox-precaching@npm:^7.0.0":
- version: 7.1.0
- resolution: "workbox-precaching@npm:7.1.0"
+"workbox-precaching@npm:7.3.0, workbox-precaching@npm:^7.0.0":
+ version: 7.3.0
+ resolution: "workbox-precaching@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- workbox-routing: "npm:7.1.0"
- workbox-strategies: "npm:7.1.0"
- checksum: 10c0/53b2d0a658109b4d83ee2b1913f884ee1c757a12b8931a7102272bd1e228d29f9430e7d060f328f465bca2aa24bf0719d026eef4f4d21395fa1f678f8d6a3c06
+ workbox-core: "npm:7.3.0"
+ workbox-routing: "npm:7.3.0"
+ workbox-strategies: "npm:7.3.0"
+ checksum: 10c0/15c4c5cf5dfec684711ce3536bbfa6873f7af16b712d02ded81d3ff490ea4097e46602705548f5872c49f06e3516fd69f17e72a7fc60631ff6d68460e48f7648
languageName: node
linkType: hard
-"workbox-range-requests@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-range-requests@npm:7.1.0"
+"workbox-range-requests@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-range-requests@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- checksum: 10c0/bf4aa597d04cbb533796af64f4006a1f472f8a14ea91f96fe37b2d5e63ffe86dcb944dab9a41317e69d368d83bee20f03ff32b339ae5addef50f325703ad4b77
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/d48e1484866442864d66b1891c4965b71e997a83a7634f11452ec1a73a30a5e642e6a95d5cff45578bef4dec7a5f57bc598aeedb6189d17ca210e2c5f2898244
languageName: node
linkType: hard
-"workbox-recipes@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-recipes@npm:7.1.0"
+"workbox-recipes@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-recipes@npm:7.3.0"
dependencies:
- workbox-cacheable-response: "npm:7.1.0"
- workbox-core: "npm:7.1.0"
- workbox-expiration: "npm:7.1.0"
- workbox-precaching: "npm:7.1.0"
- workbox-routing: "npm:7.1.0"
- workbox-strategies: "npm:7.1.0"
- checksum: 10c0/5a8c2444f6338c6092be87cc6fd69c8b0cbb413bfc0a11a8f10961bfb2b8059359c4be0264ffa0c01deff3ab5dba15bbcf61d4dedbc93d8bfe1f8a2841b1657c
+ workbox-cacheable-response: "npm:7.3.0"
+ workbox-core: "npm:7.3.0"
+ workbox-expiration: "npm:7.3.0"
+ workbox-precaching: "npm:7.3.0"
+ workbox-routing: "npm:7.3.0"
+ workbox-strategies: "npm:7.3.0"
+ checksum: 10c0/c8146ece4247cbcbefba36a14f2cb65b5f74b2412f64cfc7955ff75ff653857161a1f1d94c987fbae4812f5b770eedcf99af965e512cc375fbc7fb5421bdc99c
languageName: node
linkType: hard
-"workbox-routing@npm:7.1.0, workbox-routing@npm:^7.0.0":
- version: 7.1.0
- resolution: "workbox-routing@npm:7.1.0"
+"workbox-routing@npm:7.3.0, workbox-routing@npm:^7.0.0":
+ version: 7.3.0
+ resolution: "workbox-routing@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- checksum: 10c0/efd630fff594bd50276770840bce274660972587e79c097a9f1a84e8347351736aac13f11c6d7655ff550b13195d370d5c3b81a075bf452f358fc144ee868ad9
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/8ac1824211d0fbe0e916ecb2c2427bcb0ef8783f9225d8114fe22e6c326f2d8a040a089bead58064e8b096ec95abe070c04cd7353dd8830dba3ab8d608a053aa
languageName: node
linkType: hard
-"workbox-strategies@npm:7.1.0, workbox-strategies@npm:^7.0.0":
- version: 7.1.0
- resolution: "workbox-strategies@npm:7.1.0"
+"workbox-strategies@npm:7.3.0, workbox-strategies@npm:^7.0.0":
+ version: 7.3.0
+ resolution: "workbox-strategies@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- checksum: 10c0/b08712a69b1b13e354345cc228c29f0c759043f7ca7cf6ce9b82fe79c9d423142bfa4a118f91f1a57054047a730127fa4474d59d9306fb2ed42fe9ef568be01a
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/50f3c28b46b54885a9461ad6559010d9abb2a7e35e0128d05c268f3ea0a96b1a747934758121d0e821f7af63946d9db8f4d2d7e0146f12555fb05c768e6b82bb
languageName: node
linkType: hard
-"workbox-streams@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-streams@npm:7.1.0"
+"workbox-streams@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-streams@npm:7.3.0"
dependencies:
- workbox-core: "npm:7.1.0"
- workbox-routing: "npm:7.1.0"
- checksum: 10c0/1d75c046fcb7b25e1cf85457e3610309dd5513f68752ef333529fcf155df2114b72f3d6f416bb68393e51b5396e3f6df7171e8e2889d0e9e1805e315754b771e
+ workbox-core: "npm:7.3.0"
+ workbox-routing: "npm:7.3.0"
+ checksum: 10c0/2ae541343d187eb7a50da2cfd74051f15771d1ddd1cad6856ffd530f7cccdb8eed9a8af94ff7540b710fef73eeec37d652123ae42b0206fbbd0679dc25e66ff4
languageName: node
linkType: hard
-"workbox-sw@npm:7.1.0":
- version: 7.1.0
- resolution: "workbox-sw@npm:7.1.0"
- checksum: 10c0/2084f1b58c8509d7ca53ce8a13d93e57d1f13307e0279fedc87942e83c8cb96bc2e5ed3992a89af6245ad2a66897a92908cb60d0717fb90492056eb6fbf20dc6
+"workbox-sw@npm:7.3.0":
+ version: 7.3.0
+ resolution: "workbox-sw@npm:7.3.0"
+ checksum: 10c0/9ae275e31dd5ec51245773b6d90fda16d0b7f70d59f3a71aec732814b5aedf08aedc7fcce57739e7e89d9e1479ef97e3a202a542a511d732cf5e8b5d1c293870
languageName: node
linkType: hard
"workbox-webpack-plugin@npm:^7.0.0":
- version: 7.1.0
- resolution: "workbox-webpack-plugin@npm:7.1.0"
+ version: 7.3.0
+ resolution: "workbox-webpack-plugin@npm:7.3.0"
dependencies:
fast-json-stable-stringify: "npm:^2.1.0"
pretty-bytes: "npm:^5.4.1"
upath: "npm:^1.2.0"
webpack-sources: "npm:^1.4.3"
- workbox-build: "npm:7.1.0"
+ workbox-build: "npm:7.3.0"
peerDependencies:
webpack: ^4.4.0 || ^5.91.0
- checksum: 10c0/516fa68a6a6958ee1560299dd1146032dda68474a2ab01643cbde78fc65b75a3157aef60cb45dcc1984cc458ce44d4e3090cda08dd7cefd0952351270e963a00
+ checksum: 10c0/dd3625544fe08b099fd2b783584c6c2c5da3f0e0c3096fc1a86a0b96a26df5055dd178d3c60ab4cde4099474ab23d51c292356c6910dfa16a974c8a95f351c93
languageName: node
linkType: hard
-"workbox-window@npm:7.1.0, workbox-window@npm:^7.0.0":
- version: 7.1.0
- resolution: "workbox-window@npm:7.1.0"
+"workbox-window@npm:7.3.0, workbox-window@npm:^7.0.0":
+ version: 7.3.0
+ resolution: "workbox-window@npm:7.3.0"
dependencies:
"@types/trusted-types": "npm:^2.0.2"
- workbox-core: "npm:7.1.0"
- checksum: 10c0/c989a6e3a0488f049eead3892f8249387604fb04898aa79d0cf14cd7b684f0758f1edf1996745f4755bd30c31c449f628803e507d39b2ea91cc9c36f7d5e9c72
+ workbox-core: "npm:7.3.0"
+ checksum: 10c0/dbda33c4761ec40051cfe6e3f1701b2381b4f3b191f7a249c32f683503ea35cf8b42d1f99df5ba3b693fac78705d8ed0c191488bdd178c525d1291d0161ec8ff
languageName: node
linkType: hard