diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 3c96546b496bb0..b5e72a0973baf2 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -15,6 +15,6 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
RUN gem install foreman
# [Optional] Uncomment this line to install global node packages.
-RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g yarn" 2>&1
+RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && corepack enable" 2>&1
COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh
index 8d4d63847adbfe..20f3437f4efcef 100755
--- a/.devcontainer/post-create.sh
+++ b/.devcontainer/post-create.sh
@@ -11,6 +11,7 @@ bundle install
git checkout -- Gemfile.lock
# Fetch Javascript dependencies
+corepack prepare
yarn install --immutable
# [re]create, migrate, and seed the test database
diff --git a/.github/renovate.json5 b/.github/renovate.json5
index e3744ee6dcc377..77b64fdd3f9847 100644
--- a/.github/renovate.json5
+++ b/.github/renovate.json5
@@ -12,6 +12,7 @@
// If we do not want a package to be grouped with others, we need to set its groupName
// to `null` after any other rule set it to something.
dependencyDashboardHeader: 'This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more. Before approving any upgrade: read the description and comments in the [`renovate.json5` file](https://github.com/mastodon/mastodon/blob/main/.github/renovate.json5).',
+ postUpdateOptions: ['yarnDedupeHighest'],
packageRules: [
{
// Require Dependency Dashboard Approval for major version bumps of these node packages
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 00237d4deab099..6b26a60d34370c 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -35,7 +35,6 @@ linters:
- 'app/views/admin/accounts/_local_account.html.haml'
- 'app/views/admin/roles/_form.html.haml'
- 'app/views/home/index.html.haml'
- - 'app/views/layouts/application.html.haml'
ViewLength:
exclude:
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 4f62e6c4d1680e..742ac8feafa157 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -24,15 +24,6 @@ Lint/NonLocalExitFromIterator:
Exclude:
- 'app/helpers/jsonld_helper.rb'
-# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
-Lint/UnusedBlockArgument:
- Exclude:
- - 'config/initializers/content_security_policy.rb'
- - 'config/initializers/doorkeeper.rb'
- - 'config/initializers/paperclip.rb'
- - 'config/initializers/simple_form.rb'
-
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 144
@@ -113,12 +104,6 @@ RSpec/LetSetup:
- 'spec/services/unsuspend_account_service_spec.rb'
- 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
-RSpec/MessageChain:
- Exclude:
- - 'spec/models/concerns/remotable_spec.rb'
- - 'spec/models/session_activation_spec.rb'
- - 'spec/models/setting_spec.rb'
-
RSpec/MultipleExpectations:
Max: 8
@@ -158,11 +143,6 @@ Rails/HasManyOrHasOneDependent:
- 'app/models/user.rb'
- 'app/models/web/push_subscription.rb'
-Rails/I18nLocaleTexts:
- Exclude:
- - 'lib/tasks/mastodon.rake'
- - 'spec/helpers/flashes_helper_spec.rb'
-
# Configuration parameters: Include.
# Include: app/controllers/**/*.rb, app/mailers/**/*.rb
Rails/LexicallyScopedActionFilter:
diff --git a/Gemfile b/Gemfile
index 1d5663e624e27b..9c759a24e0a7e9 100644
--- a/Gemfile
+++ b/Gemfile
@@ -16,7 +16,7 @@ gem 'dotenv-rails', '~> 2.8'
gem 'aws-sdk-s3', '~> 1.123', require: false
gem 'fog-core', '<= 2.4.0'
-gem 'fog-openstack', '~> 0.3', require: false
+gem 'fog-openstack', '~> 1.0', require: false
gem 'kt-paperclip', '~> 7.2'
gem 'md-paperclip-azure', '~> 2.2', require: false
gem 'blurhash', '~> 0.1'
diff --git a/Gemfile.lock b/Gemfile.lock
index 030584cc356af4..57dedfd55d485d 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -263,7 +263,7 @@ GEM
erubi (1.12.0)
et-orbi (1.2.7)
tzinfo
- excon (0.100.0)
+ excon (0.104.0)
fabrication (2.30.0)
faker (3.2.2)
i18n (>= 1.8.11, < 2)
@@ -298,19 +298,18 @@ GEM
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
rake
- fog-core (2.1.0)
+ fog-core (2.3.0)
builder
- excon (~> 0.58)
- formatador (~> 0.2)
+ excon (~> 0.71)
+ formatador (>= 0.2, < 2.0)
mime-types
fog-json (1.2.0)
fog-core
multi_json (~> 1.10)
- fog-openstack (0.3.10)
- fog-core (>= 1.45, <= 2.1.0)
+ fog-openstack (1.1.0)
+ fog-core (~> 2.1)
fog-json (>= 1.0)
- ipaddress (>= 0.8)
- formatador (0.3.0)
+ formatador (1.1.0)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
raabro (~> 1.4)
@@ -370,7 +369,6 @@ GEM
terminal-table (>= 1.5.1)
idn-ruby (0.1.5)
io-console (0.6.0)
- ipaddress (0.8.3)
irb (1.8.1)
rdoc
reline (>= 0.3.8)
@@ -452,7 +450,7 @@ GEM
memory_profiler (1.0.1)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2023.0808)
+ mime-types-data (3.2023.1003)
mini_mime (1.1.5)
mini_portile2 (2.8.5)
minitest (5.20.0)
@@ -860,7 +858,7 @@ DEPENDENCIES
fast_blank (~> 1.0)
fastimage
fog-core (<= 2.4.0)
- fog-openstack (~> 0.3)
+ fog-openstack (~> 1.0)
fuubar (~> 2.5)
haml-rails (~> 2.0)
haml_lint
diff --git a/app/controllers/api/v1/accounts/relationships_controller.rb b/app/controllers/api/v1/accounts/relationships_controller.rb
index 503f85c97d79fc..320084efb5ccdd 100644
--- a/app/controllers/api/v1/accounts/relationships_controller.rb
+++ b/app/controllers/api/v1/accounts/relationships_controller.rb
@@ -5,10 +5,11 @@ class Api::V1::Accounts::RelationshipsController < Api::BaseController
before_action :require_user!
def index
- accounts = Account.without_suspended.where(id: account_ids).select('id')
+ scope = Account.where(id: account_ids).select('id')
+ scope.merge!(Account.without_suspended) unless truthy_param?(:with_suspended)
# .where doesn't guarantee that our results are in the same order
# we requested them, so return the "right" order to the requestor.
- @accounts = accounts.index_by(&:id).values_at(*account_ids).compact
+ @accounts = scope.index_by(&:id).values_at(*account_ids).compact
render json: @accounts, each_serializer: REST::RelationshipSerializer, relationships: relationships
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 9fd3fe1601bc19..9eb24b69aa6c7e 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -91,6 +91,14 @@ def locale_direction
end
end
+ def html_title
+ safe_join(
+ [content_for(:page_title).to_s.chomp, title]
+ .select(&:present?),
+ ' - '
+ )
+ end
+
def title
Rails.env.production? ? site_title : "#{site_title} (Dev)"
end
diff --git a/app/javascript/mastodon/actions/accounts.js b/app/javascript/mastodon/actions/accounts.js
index 4a985a41eff0f3..e0448f004c7c7b 100644
--- a/app/javascript/mastodon/actions/accounts.js
+++ b/app/javascript/mastodon/actions/accounts.js
@@ -460,7 +460,7 @@ export function fetchRelationships(accountIds) {
dispatch(fetchRelationshipsRequest(newAccountIds));
- api(getState).get(`/api/v1/accounts/relationships?${newAccountIds.map(id => `id[]=${id}`).join('&')}`).then(response => {
+ api(getState).get(`/api/v1/accounts/relationships?with_suspended=true&${newAccountIds.map(id => `id[]=${id}`).join('&')}`).then(response => {
dispatch(fetchRelationshipsSuccess({ relationships: response.data }));
}).catch(error => {
dispatch(fetchRelationshipsFail(error));
diff --git a/app/javascript/mastodon/api_types/accounts.ts b/app/javascript/mastodon/api_types/accounts.ts
index dc2533de33686e..3285bc494ad46e 100644
--- a/app/javascript/mastodon/api_types/accounts.ts
+++ b/app/javascript/mastodon/api_types/accounts.ts
@@ -29,6 +29,7 @@ export interface ApiAccountOtherSettingsJSON {
| 'followers_only'
| 'mutuals_only'
| 'block';
+ subscription_policy: 'allow' | 'followers_only' | 'block';
}
// See app/serializers/rest/account_serializer.rb
@@ -63,4 +64,5 @@ export interface ApiAccountJSON {
suspended?: boolean;
limited?: boolean;
memorial?: boolean;
+ hide_collections: boolean;
}
diff --git a/app/javascript/mastodon/components/account.jsx b/app/javascript/mastodon/components/account.jsx
index 5077e5a28255a9..5146bf5a5b8373 100644
--- a/app/javascript/mastodon/components/account.jsx
+++ b/app/javascript/mastodon/components/account.jsx
@@ -121,7 +121,7 @@ class Account extends ImmutablePureComponent {
buttons = ;
} else if (defaultAction === 'block') {
buttons = ;
- } else if (!account.get('moved') || following) {
+ } else if (!account.get('suspended') && !account.get('moved') || following) {
buttons = ;
}
}
diff --git a/app/javascript/mastodon/features/account/components/header.jsx b/app/javascript/mastodon/features/account/components/header.jsx
index d9664b023a36fd..4db6f6ccdb164b 100644
--- a/app/javascript/mastodon/features/account/components/header.jsx
+++ b/app/javascript/mastodon/features/account/components/header.jsx
@@ -295,7 +295,7 @@ class Header extends ImmutablePureComponent {
lockedIcon = ;
}
- if (signedIn && account.get('id') !== me) {
+ if (signedIn && account.get('id') !== me && !account.get('suspended')) {
menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention });
menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.props.onDirect });
menu.push(null);
@@ -305,7 +305,7 @@ class Header extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: account.get('url') });
}
- if ('share' in navigator) {
+ if ('share' in navigator && !account.get('suspended')) {
menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });
menu.push(null);
}
@@ -358,7 +358,9 @@ class Header extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock, dangerous: true });
}
- menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport, dangerous: true });
+ if (!account.get('suspended')) {
+ menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport, dangerous: true });
+ }
}
if (signedIn && isRemote) {
@@ -406,7 +408,7 @@ class Header extends ImmutablePureComponent {
- {!suspended && info}
+ {info}
{!(suspended || hidden) &&
}
@@ -418,18 +420,16 @@ class Header extends ImmutablePureComponent {
- {!suspended && (
-
- {!hidden && (
- <>
- {actionBtn}
- {bellBtn}
- >
- )}
+
+ {!hidden && (
+ <>
+ {actionBtn}
+ {bellBtn}
+ >
+ )}
-
-
- )}
+
+
diff --git a/app/javascript/mastodon/features/followers/index.jsx b/app/javascript/mastodon/features/followers/index.jsx
index e50b2171a0a256..4885f9ca994693 100644
--- a/app/javascript/mastodon/features/followers/index.jsx
+++ b/app/javascript/mastodon/features/followers/index.jsx
@@ -45,6 +45,7 @@ const mapStateToProps = (state, { params: { acct, id } }) => {
hasMore: !!state.getIn(['user_lists', 'followers', accountId, 'next']),
isLoading: state.getIn(['user_lists', 'followers', accountId, 'isLoading'], true),
suspended: state.getIn(['accounts', accountId, 'suspended'], false),
+ hideCollections: state.getIn(['accounts', accountId, 'hide_collections'], false),
hidden: getAccountHidden(state, accountId),
blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),
};
@@ -111,7 +112,7 @@ class Followers extends ImmutablePureComponent {
}, 300, { leading: true });
render () {
- const { accountId, accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, suspended, hidden, remote, remoteUrl } = this.props;
+ const { accountId, accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, suspended, hidden, remote, remoteUrl, hideCollections } = this.props;
if (!isAccount) {
return (
@@ -137,6 +138,8 @@ class Followers extends ImmutablePureComponent {
emptyMessage =
;
} else if (blockedBy) {
emptyMessage =
;
+ } else if (hideCollections && accountIds.isEmpty()) {
+ emptyMessage =
;
} else if (remote && accountIds.isEmpty()) {
emptyMessage =
;
} else {
diff --git a/app/javascript/mastodon/features/following/index.jsx b/app/javascript/mastodon/features/following/index.jsx
index 73e77aadd78237..fb4a4d5c3a664a 100644
--- a/app/javascript/mastodon/features/following/index.jsx
+++ b/app/javascript/mastodon/features/following/index.jsx
@@ -45,6 +45,7 @@ const mapStateToProps = (state, { params: { acct, id } }) => {
hasMore: !!state.getIn(['user_lists', 'following', accountId, 'next']),
isLoading: state.getIn(['user_lists', 'following', accountId, 'isLoading'], true),
suspended: state.getIn(['accounts', accountId, 'suspended'], false),
+ hideCollections: state.getIn(['accounts', accountId, 'hide_collections'], false),
hidden: getAccountHidden(state, accountId),
blockedBy: state.getIn(['relationships', accountId, 'blocked_by'], false),
};
@@ -111,7 +112,7 @@ class Following extends ImmutablePureComponent {
}, 300, { leading: true });
render () {
- const { accountId, accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, suspended, hidden, remote, remoteUrl } = this.props;
+ const { accountId, accountIds, hasMore, blockedBy, isAccount, multiColumn, isLoading, suspended, hidden, remote, remoteUrl, hideCollections } = this.props;
if (!isAccount) {
return (
@@ -137,6 +138,8 @@ class Following extends ImmutablePureComponent {
emptyMessage =
;
} else if (blockedBy) {
emptyMessage =
;
+ } else if (hideCollections && accountIds.isEmpty()) {
+ emptyMessage =
;
} else if (remote && accountIds.isEmpty()) {
emptyMessage =
;
} else {
diff --git a/app/javascript/mastodon/features/video/index.jsx b/app/javascript/mastodon/features/video/index.jsx
index f88e9042efd1df..bef14ea276861a 100644
--- a/app/javascript/mastodon/features/video/index.jsx
+++ b/app/javascript/mastodon/features/video/index.jsx
@@ -469,6 +469,10 @@ class Video extends PureComponent {
};
_syncVideoToVolumeState = (volume = null, muted = null) => {
+ if (!this.video) {
+ return;
+ }
+
this.video.volume = volume ?? this.state.volume;
this.video.muted = muted ?? this.state.muted;
};
diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json
index ba0830b5a73351..231b85b5bfb2d6 100644
--- a/app/javascript/mastodon/locales/en.json
+++ b/app/javascript/mastodon/locales/en.json
@@ -238,6 +238,7 @@
"emoji_button.search_results": "Search results",
"emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places",
+ "empty_column.account_hides_collections": "This user has chosen to not make this information available",
"empty_column.account_suspended": "Account suspended",
"empty_column.account_timeline": "No posts here!",
"empty_column.account_unavailable": "Profile unavailable",
diff --git a/app/javascript/mastodon/models/account.ts b/app/javascript/mastodon/models/account.ts
index c44d011e604288..d188a06efc0f49 100644
--- a/app/javascript/mastodon/models/account.ts
+++ b/app/javascript/mastodon/models/account.ts
@@ -59,6 +59,7 @@ const AccountOtherSettingsFactory = ImmutableRecord
({
link_preview: true,
allow_quote: true,
emoji_reaction_policy: 'allow',
+ subscription_policy: 'allow',
});
// Account
@@ -111,6 +112,7 @@ export const accountDefaultValues: AccountShape = {
memorial: false,
limited: false,
moved: null,
+ hide_collections: false,
other_settings: AccountOtherSettingsFactory(),
subscribable: true,
};
diff --git a/app/lib/status_cache_hydrator.rb b/app/lib/status_cache_hydrator.rb
index e4a00fa7685a3b..77b163f194a376 100644
--- a/app/lib/status_cache_hydrator.rb
+++ b/app/lib/status_cache_hydrator.rb
@@ -18,12 +18,37 @@ def hydrate(account_id)
# We take advantage of the fact that some relationships can only occur with an original status, not
# the reblog that wraps it, so we can assume that some values are always false
if payload[:reblog]
+ hydrate_reblog_payload(payload, account_id, account)
+ else
+ hydrate_non_reblog_payload(payload, account_id, account)
+ end
+ end
+
+ private
+
+ def hydrate_non_reblog_payload(empty_payload, account_id, account)
+ empty_payload.tap do |payload|
+ payload[:favourited] = Favourite.where(account_id: account_id, status_id: @status.id).exists?
+ payload[:reblogged] = Status.where(account_id: account_id, reblog_of_id: @status.id).exists?
+ payload[:muted] = ConversationMute.where(account_id: account_id, conversation_id: @status.conversation_id).exists?
+ payload[:bookmarked] = Bookmark.where(account_id: account_id, status_id: @status.id).exists?
+ payload[:pinned] = StatusPin.where(account_id: account_id, status_id: @status.id).exists? if @status.account_id == account_id
+ payload[:filtered] = mapped_applied_custom_filter(account_id, @status)
+ payload[:emoji_reactions] = @status.emoji_reactions_grouped_by_name(account)
+
+ if payload[:poll]
+ payload[:poll][:voted] = @status.account_id == account_id
+ payload[:poll][:own_votes] = []
+ end
+ end
+ end
+
+ def hydrate_reblog_payload(empty_payload, account_id, account)
+ empty_payload.tap do |payload|
payload[:muted] = false
payload[:bookmarked] = false
payload[:pinned] = false if @status.account_id == account_id
- payload[:filtered] = CustomFilter
- .apply_cached_filters(CustomFilter.cached_filters_for(account_id), @status.reblog, following?(account_id))
- .map { |filter| serialized_filter(filter) }
+ payload[:filtered] = mapped_applied_custom_filter(account_id, @status.reblog)
# If the reblogged status is being delivered to the author who disabled the display of the application
# used to create the status, we need to hydrate it here too
@@ -50,27 +75,14 @@ def hydrate(account_id)
payload[:favourited] = payload[:reblog][:favourited]
payload[:reblogged] = payload[:reblog][:reblogged]
- else
- payload[:favourited] = Favourite.where(account_id: account_id, status_id: @status.id).exists?
- payload[:reblogged] = Status.where(account_id: account_id, reblog_of_id: @status.id).exists?
- payload[:muted] = ConversationMute.where(account_id: account_id, conversation_id: @status.conversation_id).exists?
- payload[:bookmarked] = Bookmark.where(account_id: account_id, status_id: @status.id).exists?
- payload[:pinned] = StatusPin.where(account_id: account_id, status_id: @status.id).exists? if @status.account_id == account_id
- payload[:filtered] = CustomFilter
- .apply_cached_filters(CustomFilter.cached_filters_for(account_id), @status, following?(account_id))
- .map { |filter| serialized_filter(filter) }
- payload[:emoji_reactions] = @status.emoji_reactions_grouped_by_name(account)
-
- if payload[:poll]
- payload[:poll][:voted] = @status.account_id == account_id
- payload[:poll][:own_votes] = []
- end
end
-
- payload
end
- private
+ def mapped_applied_custom_filter(account_id, status)
+ CustomFilter
+ .apply_cached_filters(CustomFilter.cached_filters_for(account_id), status, following?(account_id))
+ .map { |filter| serialized_filter(filter) }
+ end
def following?(account_id)
Follow.exists?(account_id: account_id, target_account_id: @status.account_id)
diff --git a/app/serializers/rest/account_serializer.rb b/app/serializers/rest/account_serializer.rb
index e5af3727fac4a9..c704d9f11d8c10 100644
--- a/app/serializers/rest/account_serializer.rb
+++ b/app/serializers/rest/account_serializer.rb
@@ -8,7 +8,7 @@ class REST::AccountSerializer < ActiveModel::Serializer
attributes :id, :username, :acct, :display_name, :locked, :bot, :discoverable, :group, :created_at,
:note, :url, :uri, :avatar, :avatar_static, :header, :header_static, :subscribable,
- :followers_count, :following_count, :statuses_count, :last_status_at, :other_settings, :noindex
+ :followers_count, :following_count, :statuses_count, :last_status_at, :hide_collections, :other_settings, :noindex
has_one :moved_to_account, key: :moved, serializer: REST::AccountSerializer, if: :moved_and_not_nested?
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 4fe2f18bfb13be..1244fd5eb3656e 100755
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -24,7 +24,7 @@
%meta{ name: 'theme-color', content: '#191b22' }/
%meta{ name: 'apple-mobile-web-app-capable', content: 'yes' }/
- %title= content_for?(:page_title) ? safe_join([yield(:page_title).chomp.html_safe, title], ' - ') : title
+ %title= html_title
= stylesheet_pack_tag 'common', media: 'all', crossorigin: 'anonymous'
= stylesheet_pack_tag current_theme, media: 'all', crossorigin: 'anonymous'
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
index f728acfd366122..3fb80bac49ab72 100644
--- a/config/initializers/content_security_policy.rb
+++ b/config/initializers/content_security_policy.rb
@@ -67,7 +67,7 @@ def sso_host
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
# Rails.application.config.content_security_policy_report_only = true
-Rails.application.config.content_security_policy_nonce_generator = ->(request) { SecureRandom.base64(16) }
+Rails.application.config.content_security_policy_nonce_generator = ->(_request) { SecureRandom.base64(16) }
Rails.application.config.content_security_policy_nonce_directives = %w(style-src)
@@ -92,7 +92,7 @@ def sso_host
p.worker_src :none
end
- LetterOpenerWeb::LettersController.after_action do |p|
+ LetterOpenerWeb::LettersController.after_action do
request.content_security_policy_nonce_directives = %w(script-src)
end
end
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb
index ffce438008acde..d9ded6f3cf0116 100644
--- a/config/initializers/doorkeeper.rb
+++ b/config/initializers/doorkeeper.rb
@@ -171,7 +171,7 @@
# Under some circumstances you might want to have applications auto-approved,
# so that the user skips the authorization step.
# For example if dealing with a trusted application.
- skip_authorization do |resource_owner, client|
+ skip_authorization do |_resource_owner, client|
client.application.superapp?
end
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index 03e5fdbb8d1752..a44c2ab8477105 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -11,7 +11,7 @@
end
end
-Paperclip.interpolates :prefix_path do |attachment, style|
+Paperclip.interpolates :prefix_path do |attachment, _style|
if attachment.storage_schema_version >= 1 && attachment.instance.respond_to?(:local?) && !attachment.instance.local?
'cache' + File::SEPARATOR
else
@@ -19,7 +19,7 @@
end
end
-Paperclip.interpolates :prefix_url do |attachment, style|
+Paperclip.interpolates :prefix_url do |attachment, _style|
if attachment.storage_schema_version >= 1 && attachment.instance.respond_to?(:local?) && !attachment.instance.local?
'cache/'
else
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 319b386645ff81..9a2743ed5b0263 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -43,6 +43,7 @@
Sidekiq.logger.level = ::Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
SidekiqUniqueJobs.configure do |config|
+ config.enabled = !Rails.env.test?
config.reaper = :ruby
config.reaper_count = 1000
config.reaper_interval = 600
diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb
index 043af2d6aa8783..887b1335a4beef 100644
--- a/config/initializers/simple_form.rb
+++ b/config/initializers/simple_form.rb
@@ -188,7 +188,7 @@ def warning_hint(_wrapper_options = nil)
# config.item_wrapper_class = nil
# How the label text should be generated altogether with the required text.
- config.label_text = lambda { |label, required, explicit_label| "#{label} #{required}" }
+ config.label_text = lambda { |label, required, _explicit_label| "#{label} #{required}" }
# You can define the class to use on all labels. Default is nil.
# config.label_class = nil
diff --git a/config/locales/activerecord.lt.yml b/config/locales/activerecord.lt.yml
index 6c5cb837ac8c13..f54d00471b539a 100644
--- a/config/locales/activerecord.lt.yml
+++ b/config/locales/activerecord.lt.yml
@@ -1 +1,14 @@
+---
lt:
+ activerecord:
+ errors:
+ models:
+ account:
+ attributes:
+ username:
+ invalid: turi būti tik raidės, skaičiai ir pabraukimai.
+ reserved: užimtas.
+ admin/webhook:
+ attributes:
+ url:
+ invalid: nėra tinkamas URL adresas.
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index bb2ac37c1df72d..530cf6a4472884 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -1600,8 +1600,8 @@ ko:
windows: 윈도우
windows_mobile: 윈도우 모바일
windows_phone: 윈도우 폰
- revoke: 삭제
- revoke_success: 세션을 성공적으로 삭제하였습니다
+ revoke: 취소
+ revoke_success: 세션을 성공적으로 취소하였습니다
title: 세션
view_authentication_history: 내 계정에 대한 인증 이력 보기
settings:
diff --git a/config/locales/lt.yml b/config/locales/lt.yml
index cc00ed7e05a22d..7ad63c5e39e5be 100644
--- a/config/locales/lt.yml
+++ b/config/locales/lt.yml
@@ -232,6 +232,12 @@ lt:
unassign: Nepriskirti
unresolved: Neišspręsti
updated_at: Atnaujinti
+ roles:
+ everyone: Numatytieji leidimai
+ everyone_full_description_html: Tai – bazinis vaidmuo, turintis įtakos visiems naudotojams, net ir tiems, kurie neturi priskirto vaidmens. Visi kiti vaidmenys iš jo paveldi teises.
+ settings:
+ domain_blocks:
+ all: Visiems
statuses:
back_to_account: Atgal į paskyros puslapį
media:
@@ -250,6 +256,10 @@ lt:
body: "%{reporter} parašė skundą apie %{target}"
body_remote: Kažkas iš %{domain} parašė skundą apie %{target}
subject: Naujas skundas %{instance} (#%{id})
+ appearance:
+ localization:
+ body: Mastodon verčia savanoriai.
+ guide_link_text: Visi gali prisidėti.
application_mailer:
notification_preferences: Keisti el pašto parinktis
settings: 'Keisti el pašto parinktis: %{link}'
@@ -458,9 +468,9 @@ lt:
private: Tik sekėjams
private_long: Rodyti tik sekėjams
public: Viešas
- public_long: Matyti gali visi
+ public_long: Visi gali matyti
unlisted: Neįtrauktas į sąrašus
- unlisted_long: Matyti gali visi, tačiau nėra įtraukta į viešas laiko juostas
+ unlisted_long: Matyti gali visi, tačiau nėra įtraukti į viešąsias laiko skales
stream_entries:
sensitive_content: Jautrus turinys
themes:
@@ -507,4 +517,5 @@ lt:
seamless_external_login: Jūs esate prisijungę per išorini įrenginį, todėl slaptąžodis ir el pašto nustatymai neprieinami.
signed_in_as: 'Prisijungta kaip:'
verification:
+ hint_html: "Savo tapatybės patvirtinimas Mastodon skirtas visiems. Remiantis atviraisiais žiniatinklio standartais, dabar ir visam laikui nemokamas. Viskas, ko tau reikia, yra asmeninė svetainė, pagal kurią žmonės tave atpažįsta. Kai iš savo profilio pateiksi nuorodą į šią svetainę, patikrinsime, ar svetainėje yra nuoroda į tavo profilį, ir parodysime vizualinį indikatorių."
verification: Patvirtinimas
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 945b190435b36b..7bfccb9a0f8cd5 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -1079,6 +1079,7 @@ ru:
confirmations:
awaiting_review: Ваш адрес электронной почты подтвержден! Сотрудники %{domain} проверяют вашу регистрацию. Вы получите письмо, если они подтвердят вашу учетную запись!
awaiting_review_title: Ваша регистрация проверяется
+ clicking_this_link: нажатие на эту ссылку
login_link: войти
proceed_to_login_html: Теперь вы можете перейти к %{login_link}.
registration_complete: Ваша регистрация на %{domain} завершена!
@@ -1536,7 +1537,7 @@ ru:
update:
subject: "%{name} изменил(а) пост"
notifications:
- administration_emails: E-mail уведомления администратора
+ administration_emails: Уведомления администратора по электронной почте
email_events: События для e-mail уведомлений
email_events_hint: 'Выберите события, для которых вы хотели бы получать уведомления:'
other_settings: Остальные настройки уведомлений
@@ -1631,6 +1632,7 @@ ru:
over_total_limit: Вы превысили лимит на %{limit} запланированных постов
too_soon: Запланированная дата должна быть в будущем
self_destruct:
+ lead_html: К сожалению, %{domain} закрывается навсегда. Если вас учётная запись находиться здесь вы не сможете продолжить использовать его, но вы можете запросить резервную копию ваших данных.
title: Этот сервер закрывается
sessions:
activity: Последняя активность
diff --git a/config/locales/simple_form.lt.yml b/config/locales/simple_form.lt.yml
index 6c5cb837ac8c13..69a6b86dd1cb7b 100644
--- a/config/locales/simple_form.lt.yml
+++ b/config/locales/simple_form.lt.yml
@@ -1 +1,45 @@
+---
lt:
+ simple_form:
+ hints:
+ account:
+ discoverable: Tavo vieši įrašai ir profilis gali būti rodomi arba rekomenduojami įvairiose Mastodon vietose, o profilis gali būti siūlomas kitiems naudotojams.
+ display_name: Tavo pilnas vardas arba smagus vardas.
+ fields: Tavo pagrindinis puslapis, įvardžiai, amžius, bet kas, ko tik nori.
+ indexable: Tavo vieši įrašai gali būti rodomi Mastodon paieškos rezultatuose. Žmonės, kurie bendravo su tavo įrašais, gali jų ieškoti nepriklausomai nuo to.
+ note: 'Gali @paminėti kitus žmones arba #saitažodžius.'
+ show_collections: Žmonės galės peržiūrėti tavo sekimus ir sekėjus. Žmonės, kuriuos seki, matys, kad juos seki, nepaisant to.
+ unlocked: Žmonės galės tave sekti nepaprašę patvirtinimo. Panaikink žymėjimą, jei nori peržiūrėti sekimo prašymus ir pasirinkti, ar priimti, ar atmesti naujus sekėjus.
+ account_warning_preset:
+ text: Gali naudoti įrašų sintaksę, pavyzdžiui, URL adresus, saitažodus ir paminėjimus
+ defaults:
+ header: PNG, GIF arba JPG. Ne daugiau kaip %{size}. Bus sumažintas iki %{dimensions}tšk.
+ inbox_url: Nukopijuok URL adresą iš pradinio puslapio perdavėjo, kurį nori naudoti
+ irreversible: Filtruoti įrašai išnyks negrįžtamai, net jei vėliau filtras bus pašalintas
+ locale: Naudotojo sąsajos kalba, el. laiškai ir stumiamieji pranešimai
+ password: Naudok bent 8 simbolius
+ phrase: Bus suderinta, neatsižvelgiant į teksto korpusą arba įrašo turinio įspėjimą
+ setting_display_media_hide_all: Visada slėpti žiniasklaidą
+ setting_display_media_show_all: Visada rodyti žiniasklaidą
+ setting_use_blurhash: Gradientai pagrįsti paslėptų vaizdų spalvomis, tačiau užgožia bet kokias detales
+ setting_use_pending_items: Slėpti laiko skalės naujienas po paspaudimo, vietoj automatinio kanalo slinkimo
+ featured_tag:
+ name: 'Štai keletas pastaruoju metu dažniausiai saitažodžių, kurių tu naudojai:'
+ form_admin_settings:
+ peers_api_enabled: Domenų pavadinimų sąrašas, su kuriais šis serveris susidūrė fediverse. Čia nėra duomenų apie tai, ar tu bendrauji su tam tikru serveriu, tik apie tai, kad tavo serveris apie jį žino. Tai naudojama tarnybose, kurios renka federacijos statistiką bendrąja prasme.
+ site_contact_email: Kaip žmonės gali su tavimi susisiekti teisiniais ar pagalbos užklausimais.
+ site_contact_username: Kaip žmonės gali tave pasiekti Mastodon.
+ site_extended_description: Bet kokia papildoma informacija, kuri gali būti naudinga lankytojams ir naudotojams. Gali būti struktūrizuota naudojant Markdown sintaksę.
+ trends: Trendai rodo, kurios įrašai, saitažodžiai ir naujienų istorijos tavo serveryje sulaukia didžiausio susidomėjimo.
+ sessions:
+ webauthn: Jei tai USB raktas, būtinai jį įkišk ir, jei reikia, paliesk.
+ settings:
+ indexable: Tavo profilio puslapis gali būti rodomas paieškos rezultatuose Google, Bing ir kituose.
+ labels:
+ featured_tag:
+ name: Saitažodis
+ tag:
+ listable: Leisti šį saitažodį rodyti paieškose ir pasiūlymuose
+ name: Saitažodis
+ trendable: Leisti šį saitažodį rodyti pagal trendus
+ usable: Leisti įrašams naudoti šį saitažodį
diff --git a/config/routes/api.rb b/config/routes/api.rb
index 005d8f68390c4e..583ed8dd0002ec 100644
--- a/config/routes/api.rb
+++ b/config/routes/api.rb
@@ -336,6 +336,10 @@
resources :statuses, only: [:show, :destroy]
end
+ namespace :accounts do
+ resources :relationships, only: :index
+ end
+
namespace :admin do
resources :accounts, only: [:index]
end
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index 2abd7d4ce4a7a4..7d5cfcf1c9566f 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -427,7 +427,11 @@ namespace :mastodon do
from: env['SMTP_FROM_ADDRESS'],
}
- mail = ActionMailer::Base.new.mail to: send_to, subject: 'Test', body: 'Mastodon SMTP configuration works!'
+ mail = ActionMailer::Base.new.mail(
+ to: send_to,
+ subject: 'Test', # rubocop:disable Rails/I18nLocaleTexts
+ body: 'Mastodon SMTP configuration works!'
+ )
mail.deliver
break
rescue => e
diff --git a/package.json b/package.json
index 1cbd63b5c66e32..72bd2b3f331738 100644
--- a/package.json
+++ b/package.json
@@ -213,7 +213,7 @@
"husky": "^8.0.3",
"jest": "^29.5.0",
"jest-environment-jsdom": "^29.5.0",
- "lint-staged": "^13.2.2",
+ "lint-staged": "^15.0.0",
"prettier": "^3.0.0",
"react-test-renderer": "^18.2.0",
"stylelint": "^15.10.1",
diff --git a/spec/controllers/accounts_controller_spec.rb b/spec/controllers/accounts_controller_spec.rb
index cc9e3198b6fbdb..542a748784adcd 100644
--- a/spec/controllers/accounts_controller_spec.rb
+++ b/spec/controllers/accounts_controller_spec.rb
@@ -7,66 +7,44 @@
let(:account) { Fabricate(:account) }
- shared_examples 'unapproved account check' do
+ describe 'unapproved account check' do
before { account.user.update(approved: false) }
it 'returns http not found' do
- get :show, params: { username: account.username, format: format }
-
- expect(response).to have_http_status(404)
+ %w(html json rss).each do |format|
+ get :show, params: { username: account.username, format: format }
+ expect(response).to have_http_status(404)
+ end
end
end
- shared_examples 'permanently suspended account check' do
+ describe 'permanently suspended account check' do
before do
account.suspend!
account.deletion_request.destroy
end
it 'returns http gone' do
- get :show, params: { username: account.username, format: format }
-
- expect(response).to have_http_status(410)
+ %w(html json rss).each do |format|
+ get :show, params: { username: account.username, format: format }
+ expect(response).to have_http_status(410)
+ end
end
end
- shared_examples 'temporarily suspended account check' do |code: 403|
+ describe 'temporarily suspended account check' do
before { account.suspend! }
it 'returns appropriate http response code' do
- get :show, params: { username: account.username, format: format }
+ { html: 403, json: 200, rss: 403 }.each do |format, code|
+ get :show, params: { username: account.username, format: format }
- expect(response).to have_http_status(code)
+ expect(response).to have_http_status(code)
+ end
end
end
describe 'GET #show' do
- context 'with basic account status checks' do
- context 'with HTML' do
- let(:format) { 'html' }
-
- it_behaves_like 'unapproved account check'
- it_behaves_like 'permanently suspended account check'
- it_behaves_like 'temporarily suspended account check'
- end
-
- context 'with JSON' do
- let(:format) { 'json' }
-
- it_behaves_like 'unapproved account check'
- it_behaves_like 'permanently suspended account check'
- it_behaves_like 'temporarily suspended account check', code: 200
- end
-
- context 'with RSS' do
- let(:format) { 'rss' }
-
- it_behaves_like 'unapproved account check'
- it_behaves_like 'permanently suspended account check'
- it_behaves_like 'temporarily suspended account check'
- end
- end
-
context 'with existing statuses' do
let!(:status) { Fabricate(:status, account: account) }
let!(:status_reply) { Fabricate(:status, account: account, thread: Fabricate(:status)) }
@@ -227,22 +205,15 @@
context 'with RSS' do
let(:format) { 'rss' }
- shared_examples 'common RSS response' do
- it 'returns http success' do
- expect(response).to have_http_status(200)
- end
-
- it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
- end
-
context 'with a normal account in an RSS request' do
before do
get :show, params: { username: account.username, format: format }
end
- it_behaves_like 'common RSS response'
+ it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
it 'responds with correct statuses', :aggregate_failures do
+ expect(response).to have_http_status(200)
expect(response.body).to include_status_tag(status_media)
expect(response.body).to include_status_tag(status_self_reply)
expect(response.body).to include_status_tag(status)
@@ -259,9 +230,10 @@
get :show, params: { username: account.username, format: format }
end
- it_behaves_like 'common RSS response'
+ it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
it 'responds with correct statuses with replies', :aggregate_failures do
+ expect(response).to have_http_status(200)
expect(response.body).to include_status_tag(status_media)
expect(response.body).to include_status_tag(status_reply)
expect(response.body).to include_status_tag(status_self_reply)
@@ -278,9 +250,10 @@
get :show, params: { username: account.username, format: format }
end
- it_behaves_like 'common RSS response'
+ it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
it 'responds with correct statuses with media', :aggregate_failures do
+ expect(response).to have_http_status(200)
expect(response.body).to include_status_tag(status_media)
expect(response.body).to_not include_status_tag(status_direct)
expect(response.body).to_not include_status_tag(status_private)
@@ -302,9 +275,10 @@
get :show, params: { username: account.username, format: format, tag: tag.to_param }
end
- it_behaves_like 'common RSS response'
+ it_behaves_like 'cacheable response', expects_vary: 'Accept, Accept-Language, Cookie'
it 'responds with correct statuses with a tag', :aggregate_failures do
+ expect(response).to have_http_status(200)
expect(response.body).to include_status_tag(status_tag)
expect(response.body).to_not include_status_tag(status_direct)
expect(response.body).to_not include_status_tag(status_media)
diff --git a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb b/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
deleted file mode 100644
index 5ba6f2a1f8de99..00000000000000
--- a/spec/controllers/api/v1/accounts/relationships_controller_spec.rb
+++ /dev/null
@@ -1,102 +0,0 @@
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-describe Api::V1::Accounts::RelationshipsController do
- render_views
-
- let(:user) { Fabricate(:user) }
- let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: 'read:follows') }
-
- before do
- allow(controller).to receive(:doorkeeper_token) { token }
- end
-
- describe 'GET #index' do
- let(:simon) { Fabricate(:account) }
- let(:lewis) { Fabricate(:account) }
-
- before do
- user.account.follow!(simon)
- lewis.follow!(user.account)
- end
-
- context 'when provided only one ID' do
- before do
- get :index, params: { id: simon.id }
- end
-
- it 'returns JSON with correct data', :aggregate_failures do
- json = body_as_json
-
- expect(response).to have_http_status(200)
- expect(json).to be_a Enumerable
- expect(json.first[:following]).to be true
- expect(json.first[:followed_by]).to be false
- end
- end
-
- context 'when provided multiple IDs' do
- before do
- get :index, params: { id: [simon.id, lewis.id] }
- end
-
- it 'returns http success' do
- expect(response).to have_http_status(200)
- end
-
- context 'when there is returned JSON data' do
- let(:json) { body_as_json }
-
- it 'returns an enumerable json with correct elements', :aggregate_failures do
- expect(json).to be_a Enumerable
-
- expect_simon_item_one
- expect_lewis_item_two
- end
-
- def expect_simon_item_one
- expect(json.first[:id]).to eq simon.id.to_s
- expect(json.first[:following]).to be true
- expect(json.first[:showing_reblogs]).to be true
- expect(json.first[:followed_by]).to be false
- expect(json.first[:muting]).to be false
- expect(json.first[:requested]).to be false
- expect(json.first[:domain_blocking]).to be false
- end
-
- def expect_lewis_item_two
- expect(json.second[:id]).to eq lewis.id.to_s
- expect(json.second[:following]).to be false
- expect(json.second[:showing_reblogs]).to be false
- expect(json.second[:followed_by]).to be true
- expect(json.second[:muting]).to be false
- expect(json.second[:requested]).to be false
- expect(json.second[:domain_blocking]).to be false
- end
- end
-
- it 'returns JSON with correct data on cached requests too' do
- get :index, params: { id: [simon.id] }
-
- json = body_as_json
-
- expect(json).to be_a Enumerable
- expect(json.first[:following]).to be true
- expect(json.first[:showing_reblogs]).to be true
- end
-
- it 'returns JSON with correct data after change too' do
- user.account.unfollow!(simon)
-
- get :index, params: { id: [simon.id] }
-
- json = body_as_json
-
- expect(json).to be_a Enumerable
- expect(json.first[:following]).to be false
- expect(json.first[:showing_reblogs]).to be false
- end
- end
- end
-end
diff --git a/spec/fabricators/session_activation_fabricator.rb b/spec/fabricators/session_activation_fabricator.rb
index 4b5244cec6eada..655ec37aa8aad7 100644
--- a/spec/fabricators/session_activation_fabricator.rb
+++ b/spec/fabricators/session_activation_fabricator.rb
@@ -2,5 +2,5 @@
Fabricator(:session_activation) do
user { Fabricate.build(:user) }
- session_id 'MyString'
+ session_id { sequence(:session_id) { |i| "session_id_#{i}" } }
end
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 3f3638e462bc06..3cc88014cd052a 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -296,5 +296,51 @@
expect(helper.title).to eq 'site title'
expect(Rails.env).to have_received(:production?)
end
+
+ it 'returns site title with note on non-production environment' do
+ Setting.site_title = 'site title'
+ allow(Rails.env).to receive(:production?).and_return(false)
+ expect(helper.title).to eq 'site title (Dev)'
+ expect(Rails.env).to have_received(:production?)
+ end
+ end
+
+ describe 'html_title' do
+ before do
+ allow(Rails.env).to receive(:production?).and_return(true)
+ end
+
+ around do |example|
+ site_title = Setting.site_title
+ example.run
+ Setting.site_title = site_title
+ end
+
+ context 'with a page_title content_for value' do
+ it 'uses the value in the html title' do
+ Setting.site_title = 'Site Title'
+ helper.content_for(:page_title, 'Test Value')
+
+ expect(helper.html_title).to eq 'Test Value - Site Title'
+ expect(helper.html_title).to be_html_safe
+ end
+
+ it 'removes extra new lines' do
+ Setting.site_title = 'Site Title'
+ helper.content_for(:page_title, "Test Value\n")
+
+ expect(helper.html_title).to eq 'Test Value - Site Title'
+ expect(helper.html_title).to be_html_safe
+ end
+ end
+
+ context 'without any page_title content_for value' do
+ it 'returns the site title' do
+ Setting.site_title = 'Site Title'
+
+ expect(helper.html_title).to eq 'Site Title'
+ expect(helper.html_title).to be_html_safe
+ end
+ end
end
end
diff --git a/spec/helpers/flashes_helper_spec.rb b/spec/helpers/flashes_helper_spec.rb
index 035e8a1de07688..a6a3b062d7ef28 100644
--- a/spec/helpers/flashes_helper_spec.rb
+++ b/spec/helpers/flashes_helper_spec.rb
@@ -4,16 +4,23 @@
describe FlashesHelper do
describe 'user_facing_flashes' do
- it 'returns user facing flashes' do
+ before do
+ # rubocop:disable Rails/I18nLocaleTexts
flash[:alert] = 'an alert'
flash[:error] = 'an error'
flash[:notice] = 'a notice'
flash[:success] = 'a success'
flash[:not_user_facing] = 'a not user facing flash'
- expect(helper.user_facing_flashes).to eq 'alert' => 'an alert',
- 'error' => 'an error',
- 'notice' => 'a notice',
- 'success' => 'a success'
+ # rubocop:enable Rails/I18nLocaleTexts
+ end
+
+ it 'returns user facing flashes' do
+ expect(helper.user_facing_flashes).to eq(
+ 'alert' => 'an alert',
+ 'error' => 'an error',
+ 'notice' => 'a notice',
+ 'success' => 'a success'
+ )
end
end
end
diff --git a/spec/models/concerns/remotable_spec.rb b/spec/models/concerns/remotable_spec.rb
index 6413b6f467980b..db690da3c21f15 100644
--- a/spec/models/concerns/remotable_spec.rb
+++ b/spec/models/concerns/remotable_spec.rb
@@ -69,7 +69,9 @@ def self.attachment_definitions
context 'with an invalid URL' do
before do
- allow(Addressable::URI).to receive_message_chain(:parse, :normalize).with(url).with(no_args).and_raise(Addressable::URI::InvalidURIError)
+ parsed = instance_double(Addressable::URI)
+ allow(parsed).to receive(:normalize).with(no_args).and_raise(Addressable::URI::InvalidURIError)
+ allow(Addressable::URI).to receive(:parse).with(url).and_return(parsed)
end
it 'makes no request' do
diff --git a/spec/models/session_activation_spec.rb b/spec/models/session_activation_spec.rb
index 4012d46fd70920..bed411c3698d26 100644
--- a/spec/models/session_activation_spec.rb
+++ b/spec/models/session_activation_spec.rb
@@ -98,34 +98,44 @@
end
context 'when id exists' do
- let(:id) { '1' }
+ let!(:session_activation) { Fabricate(:session_activation) }
- it 'calls where.destroy_all' do
- expect(described_class).to receive_message_chain(:where, :destroy_all)
- .with(session_id: id).with(no_args)
+ it 'destroys the record' do
+ described_class.deactivate(session_activation.session_id)
- described_class.deactivate(id)
+ expect { session_activation.reload }.to raise_error(ActiveRecord::RecordNotFound)
end
end
end
describe '.purge_old' do
- it 'calls order.offset.destroy_all' do
- expect(described_class).to receive_message_chain(:order, :offset, :destroy_all)
- .with('created_at desc').with(Rails.configuration.x.max_session_activations).with(no_args)
+ around do |example|
+ before = Rails.configuration.x.max_session_activations
+ Rails.configuration.x.max_session_activations = 1
+ example.run
+ Rails.configuration.x.max_session_activations = before
+ end
+ let!(:oldest_session_activation) { Fabricate(:session_activation, created_at: 10.days.ago) }
+ let!(:newest_session_activation) { Fabricate(:session_activation, created_at: 5.days.ago) }
+
+ it 'preserves the newest X records based on config' do
described_class.purge_old
+
+ expect { oldest_session_activation.reload }.to raise_error(ActiveRecord::RecordNotFound)
+ expect { newest_session_activation.reload }.to_not raise_error
end
end
describe '.exclusive' do
- let(:id) { '1' }
+ let!(:unwanted_session_activation) { Fabricate(:session_activation) }
+ let!(:wanted_session_activation) { Fabricate(:session_activation) }
- it 'calls where.destroy_all' do
- expect(described_class).to receive_message_chain(:where, :not, :destroy_all)
- .with(session_id: id).with(no_args)
+ it 'preserves supplied record and destroys all others' do
+ described_class.exclusive(wanted_session_activation.session_id)
- described_class.exclusive(id)
+ expect { unwanted_session_activation.reload }.to raise_error(ActiveRecord::RecordNotFound)
+ expect { wanted_session_activation.reload }.to_not raise_error
end
end
end
diff --git a/spec/models/setting_spec.rb b/spec/models/setting_spec.rb
index 5f53ee56341196..b08136a1c17b5a 100644
--- a/spec/models/setting_spec.rb
+++ b/spec/models/setting_spec.rb
@@ -77,10 +77,13 @@
let(:default_value) { { default_value: 'default_value' } }
it 'calls default_value.with_indifferent_access.merge!' do
- expect(default_value).to receive_message_chain(:with_indifferent_access, :merge!)
- .with(db_val.value)
+ indifferent_hash = instance_double(Hash, merge!: nil)
+ allow(default_value).to receive(:with_indifferent_access).and_return(indifferent_hash)
described_class[key]
+
+ expect(default_value).to have_received(:with_indifferent_access)
+ expect(indifferent_hash).to have_received(:merge!).with(db_val.value)
end
end
diff --git a/spec/requests/api/v1/accounts/relationships_spec.rb b/spec/requests/api/v1/accounts/relationships_spec.rb
new file mode 100644
index 00000000000000..bb78e3b3e487dc
--- /dev/null
+++ b/spec/requests/api/v1/accounts/relationships_spec.rb
@@ -0,0 +1,133 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+describe 'GET /api/v1/accounts/relationships' do
+ subject do
+ get '/api/v1/accounts/relationships', headers: headers, params: params
+ end
+
+ let(:user) { Fabricate(:user) }
+ let(:scopes) { 'read:follows' }
+ let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) }
+ let(:headers) { { 'Authorization' => "Bearer #{token.token}" } }
+
+ let(:simon) { Fabricate(:account) }
+ let(:lewis) { Fabricate(:account) }
+ let(:bob) { Fabricate(:account, suspended: true) }
+
+ before do
+ user.account.follow!(simon)
+ lewis.follow!(user.account)
+ end
+
+ context 'when provided only one ID' do
+ let(:params) { { id: simon.id } }
+
+ it 'returns JSON with correct data', :aggregate_failures do
+ subject
+
+ json = body_as_json
+
+ expect(response).to have_http_status(200)
+ expect(json).to be_a Enumerable
+ expect(json.first[:following]).to be true
+ expect(json.first[:followed_by]).to be false
+ end
+ end
+
+ context 'when provided multiple IDs' do
+ let(:params) { { id: [simon.id, lewis.id, bob.id] } }
+
+ context 'when there is returned JSON data' do
+ let(:json) { body_as_json }
+
+ context 'with default parameters' do
+ it 'returns an enumerable json with correct elements, excluding suspended accounts', :aggregate_failures do
+ subject
+
+ expect(response).to have_http_status(200)
+ expect(json).to be_a Enumerable
+ expect(json.size).to eq 2
+
+ expect_simon_item_one
+ expect_lewis_item_two
+ end
+ end
+
+ context 'with `with_suspended` parameter' do
+ let(:params) { { id: [simon.id, lewis.id, bob.id], with_suspended: true } }
+
+ it 'returns an enumerable json with correct elements, including suspended accounts', :aggregate_failures do
+ subject
+
+ expect(response).to have_http_status(200)
+ expect(json).to be_a Enumerable
+ expect(json.size).to eq 3
+
+ expect_simon_item_one
+ expect_lewis_item_two
+ expect_bob_item_three
+ end
+ end
+
+ def expect_simon_item_one
+ expect(json.first[:id]).to eq simon.id.to_s
+ expect(json.first[:following]).to be true
+ expect(json.first[:showing_reblogs]).to be true
+ expect(json.first[:followed_by]).to be false
+ expect(json.first[:muting]).to be false
+ expect(json.first[:requested]).to be false
+ expect(json.first[:domain_blocking]).to be false
+ end
+
+ def expect_lewis_item_two
+ expect(json.second[:id]).to eq lewis.id.to_s
+ expect(json.second[:following]).to be false
+ expect(json.second[:showing_reblogs]).to be false
+ expect(json.second[:followed_by]).to be true
+ expect(json.second[:muting]).to be false
+ expect(json.second[:requested]).to be false
+ expect(json.second[:domain_blocking]).to be false
+ end
+
+ def expect_bob_item_three
+ expect(json.third[:id]).to eq bob.id.to_s
+ expect(json.third[:following]).to be false
+ expect(json.third[:showing_reblogs]).to be false
+ expect(json.third[:followed_by]).to be false
+ expect(json.third[:muting]).to be false
+ expect(json.third[:requested]).to be false
+ expect(json.third[:domain_blocking]).to be false
+ end
+ end
+
+ it 'returns JSON with correct data on cached requests too' do
+ subject
+ subject
+
+ expect(response).to have_http_status(200)
+
+ json = body_as_json
+
+ expect(json).to be_a Enumerable
+ expect(json.first[:following]).to be true
+ expect(json.first[:showing_reblogs]).to be true
+ end
+
+ it 'returns JSON with correct data after change too' do
+ subject
+ user.account.unfollow!(simon)
+
+ get '/api/v1/accounts/relationships', headers: headers, params: { id: [simon.id] }
+
+ expect(response).to have_http_status(200)
+
+ json = body_as_json
+
+ expect(json).to be_a Enumerable
+ expect(json.first[:following]).to be false
+ expect(json.first[:showing_reblogs]).to be false
+ end
+ end
+end
diff --git a/yarn.lock b/yarn.lock
index 208d41a69cc001..b12cc308b56c17 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -52,33 +52,40 @@ __metadata:
languageName: node
linkType: hard
-"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.2":
+"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9":
version: 7.23.2
resolution: "@babel/compat-data@npm:7.23.2"
checksum: 0397a08c3e491696cc1b12cf0879bf95fc550bfc6ef524d5a9452981aa0e192a958b2246debfb230fa22718fac473cc5a36616f89b1ad6e7e52055732cd374a1
languageName: node
linkType: hard
+"@babel/compat-data@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/compat-data@npm:7.23.3"
+ checksum: c6af331753c34ee8a5678bc94404320826cb56b1dda3efc1311ec8fb0774e78225132f3c1acc988440ace667f14a838e297a822692b95758aa63da406e1f97a1
+ languageName: node
+ linkType: hard
+
"@babel/core@npm:^7.10.4, @babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1":
- version: 7.23.2
- resolution: "@babel/core@npm:7.23.2"
+ version: 7.23.3
+ resolution: "@babel/core@npm:7.23.3"
dependencies:
"@ampproject/remapping": "npm:^2.2.0"
"@babel/code-frame": "npm:^7.22.13"
- "@babel/generator": "npm:^7.23.0"
+ "@babel/generator": "npm:^7.23.3"
"@babel/helper-compilation-targets": "npm:^7.22.15"
- "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
"@babel/helpers": "npm:^7.23.2"
- "@babel/parser": "npm:^7.23.0"
+ "@babel/parser": "npm:^7.23.3"
"@babel/template": "npm:^7.22.15"
- "@babel/traverse": "npm:^7.23.2"
- "@babel/types": "npm:^7.23.0"
+ "@babel/traverse": "npm:^7.23.3"
+ "@babel/types": "npm:^7.23.3"
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: 14ad6e0a3ac0085dc008e7fb0c8513f0a3e39f2ab883a964a89ef1311338d49cf085c94cb6165c07fdec0fdcc6e865ce4811253c479f9f45ac375226dfe3ad3b
+ checksum: 08d43b749e24052d12713a7fb1f0c0d1275d4fb056d00846faeb8da79ecf6d0ba91a11b6afec407b8b0f9388d00e2c2f485f282bef0ade4d6d0a17de191a4287
languageName: node
linkType: hard
@@ -94,6 +101,18 @@ __metadata:
languageName: node
linkType: hard
+"@babel/generator@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/generator@npm:7.23.3"
+ dependencies:
+ "@babel/types": "npm:^7.23.3"
+ "@jridgewell/gen-mapping": "npm:^0.3.2"
+ "@jridgewell/trace-mapping": "npm:^0.3.17"
+ jsesc: "npm:^2.5.1"
+ checksum: d5fff1417eecfada040e01a7c77a4968e81c436aeb35815ce85b4e80cd01e731423613d61033044a6cb5563bb8449ee260e3379b63eb50b38ec0a9ea9c00abfd
+ languageName: node
+ linkType: hard
+
"@babel/helper-annotate-as-pure@npm:^7.22.5":
version: 7.22.5
resolution: "@babel/helper-annotate-as-pure@npm:7.22.5"
@@ -103,7 +122,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5":
+"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15":
version: 7.22.15
resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15"
dependencies:
@@ -112,17 +131,17 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-builder-react-jsx@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/helper-builder-react-jsx@npm:7.22.5"
+"@babel/helper-builder-react-jsx@npm:^7.22.10":
+ version: 7.22.10
+ resolution: "@babel/helper-builder-react-jsx@npm:7.22.10"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
- "@babel/types": "npm:^7.22.5"
- checksum: 001b727c911b4c777c10844070a2bf3bdf7cdb46bb3169de273eb2415e1efc3769980520fbdcd47912e9bd3055cb563a0a703a3c9150368f45e68d894bd863ec
+ "@babel/types": "npm:^7.22.10"
+ checksum: 8e2ad2e17dd779ddccec29f6b1de61df1f199694673bdbbae0474878211139f2e574810726110e4d46c1e9a0221af1f2d38bd0398dd20490eb03a24f790602be
languageName: node
linkType: hard
-"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6":
+"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6":
version: 7.22.15
resolution: "@babel/helper-compilation-targets@npm:7.22.15"
dependencies:
@@ -135,7 +154,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.22.5":
+"@babel/helper-create-class-features-plugin@npm:^7.22.15":
version: 7.22.15
resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15"
dependencies:
@@ -154,7 +173,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5":
+"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5":
version: 7.22.15
resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15"
dependencies:
@@ -217,7 +236,7 @@ __metadata:
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.22.15, @babel/helper-module-imports@npm:^7.22.5":
+"@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.22.15":
version: 7.22.15
resolution: "@babel/helper-module-imports@npm:7.22.15"
dependencies:
@@ -226,9 +245,9 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/helper-module-transforms@npm:7.23.0"
+"@babel/helper-module-transforms@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/helper-module-transforms@npm:7.23.3"
dependencies:
"@babel/helper-environment-visitor": "npm:^7.22.20"
"@babel/helper-module-imports": "npm:^7.22.15"
@@ -237,7 +256,7 @@ __metadata:
"@babel/helper-validator-identifier": "npm:^7.22.20"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: 15a52e401bd17fe44ba9be51cca693a3e182dc93264dc28ede732081c43211741df81ce8eb15e82e81c8ad51beb8893301ecc31d5c77add0f7be78dff6815318
+ checksum: 211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946
languageName: node
linkType: hard
@@ -257,7 +276,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-remap-async-to-generator@npm:^7.22.20, @babel/helper-remap-async-to-generator@npm:^7.22.5":
+"@babel/helper-remap-async-to-generator@npm:^7.22.20":
version: 7.22.20
resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20"
dependencies:
@@ -270,7 +289,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9":
+"@babel/helper-replace-supers@npm:^7.22.20, @babel/helper-replace-supers@npm:^7.22.9":
version: 7.22.20
resolution: "@babel/helper-replace-supers@npm:7.22.20"
dependencies:
@@ -373,27 +392,48 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.15"
+"@babel/parser@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/parser@npm:7.23.3"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 0fe11eadd4146a9155305b5bfece0f8223a3b1b97357ffa163c0156940de92e76cd0e7a173de819b8692767147e62f33389b312d1537f84cede51092672df6ef
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: fb2288ac168e6670a77f73b92e835f7a579468435e81c9261729e9ba9c601ff22622bacd3e71eb190b135016a6fbab5d824501c7b91733dd379022a75163806c
+ checksum: 356a4e9fc52d7ca761ce6857fc58e2295c2785d22565760e6a5680be86c6e5883ab86e0ba25ef572882c01713d3a31ae6cfa3e3222cdb95e6026671dab1fa415
languageName: node
linkType: hard
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.22.15"
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
- "@babel/plugin-transform-optional-chaining": "npm:^7.22.15"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.23.3"
peerDependencies:
"@babel/core": ^7.13.0
- checksum: 46fb46af40446918d64530f544ea0104e274ccd8a16b8a8f6fa2e51a198af6ac2b620aaf8875f3427671f09717949a584c79fe20f521245214f50b8de56cd116
+ checksum: a8785f099d55ca71ed89815e0f3a636a80c16031f80934cfec17c928d096ee0798964733320c8b145ef36ba429c5e19d5107b06231e0ab6777cfb0f01adfdc23
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.3"
+ dependencies:
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 0f43b74741d50e637ba4dcef2786621126fe4da6ccf4ee2e94423ee23f6a04ecd91d458e59764c43e4968be139e5197ee43be8a2fea2c09f0b202a3391e548cc
languageName: node
linkType: hard
@@ -472,25 +512,25 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-assertions@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-syntax-import-assertions@npm:7.22.5"
+"@babel/plugin-syntax-import-assertions@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: b297d7c757c746ed0ef3496ad749ae2ce648ec73dae5184120b191c280e62da7dc104ee126bc0053dfece3ce198a5ee7dc1cbf4768860f666afef5dee84a7146
+ checksum: 7db8b59f75667bada2293353bb66b9d5651a673b22c72f47da9f5c46e719142481601b745f9822212fd7522f92e26e8576af37116f85dae1b5e5967f80d0faab
languageName: node
linkType: hard
-"@babel/plugin-syntax-import-attributes@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-syntax-import-attributes@npm:7.22.5"
+"@babel/plugin-syntax-import-attributes@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-syntax-import-attributes@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: de0b104a82cb8ffdc29472177210936609b973665a2ad8ef26c078251d7c728fbd521119de4c417285408a8bae345b5da09cd4a4a3311619f71b9b2c64cce3fa
+ checksum: 99b40d33d79205a8e04bb5dea56fd72906ffc317513b20ca7319e7683e18fce8ea2eea5e9171056f92b979dc0ab1e31b2cb5171177a5ba61e05b54fe7850a606
languageName: node
linkType: hard
@@ -527,6 +567,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/plugin-syntax-jsx@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-syntax-jsx@npm:7.23.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 563bb7599b868773f1c7c1d441ecc9bc53aeb7832775da36752c926fc402a1fa5421505b39e724f71eb217c13e4b93117e081cac39723b0e11dac4c897f33c3e
+ languageName: node
+ linkType: hard
+
"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3":
version: 7.10.4
resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4"
@@ -615,7 +666,18 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-syntax-typescript@npm:^7.22.5, @babel/plugin-syntax-typescript@npm:^7.7.2":
+"@babel/plugin-syntax-typescript@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-syntax-typescript@npm:7.23.3"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.22.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 4d6e9cdb9d0bfb9bd9b220fc951d937fce2ca69135ec121153572cebe81d86abc9a489208d6b69ee5f10cadcaeffa10d0425340a5029e40e14a6025021b90948
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-typescript@npm:^7.7.2":
version: 7.22.5
resolution: "@babel/plugin-syntax-typescript@npm:7.22.5"
dependencies:
@@ -638,20 +700,20 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-arrow-functions@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5"
+"@babel/plugin-transform-arrow-functions@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 1b24d47ddac6ae2fe8c7fab9a020fdb6a556d17d8c5f189bb470ff2958a5437fe6441521fd3d850f4283a1131d7a0acf3e8ebe789f9077f54bab4e2e8c6df176
+ checksum: b128315c058f5728d29b0b78723659b11de88247ea4d0388f0b935cddf60a80c40b9067acf45cbbe055bd796928faef152a09d9e4a0695465aca4394d9f109ca
languageName: node
linkType: hard
-"@babel/plugin-transform-async-generator-functions@npm:^7.23.2":
- version: 7.23.2
- resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.2"
+"@babel/plugin-transform-async-generator-functions@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.3"
dependencies:
"@babel/helper-environment-visitor": "npm:^7.22.20"
"@babel/helper-plugin-utils": "npm:^7.22.5"
@@ -659,289 +721,289 @@ __metadata:
"@babel/plugin-syntax-async-generators": "npm:^7.8.4"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 16d7bd5dbd67991ab320a46ada19a9a0c8364725603c731f152afc98ee8764dc738c93f081a7560906d265b78c376bccabf3e31b9f99071c8982a6f9c8e2ac45
+ checksum: e846f282658e097fce4fccf3ee29289bf05f0654846a5994727a36f0cdc2e47abdffd4be4fa65787e94aa975824fae894c90afbfdc8caacd46c12c7f43e99d7f
languageName: node
linkType: hard
-"@babel/plugin-transform-async-to-generator@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5"
+"@babel/plugin-transform-async-to-generator@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3"
dependencies:
- "@babel/helper-module-imports": "npm:^7.22.5"
+ "@babel/helper-module-imports": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
- "@babel/helper-remap-async-to-generator": "npm:^7.22.5"
+ "@babel/helper-remap-async-to-generator": "npm:^7.22.20"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 2972f22c3a5a56a8b225f4fa1bbdbcf6e989e0da460d5f4e2280652b1433d7c68b6ddc0cc2affc4b59905835133a253a31c24c7ca1bebe1a2f28377d27b4ca1c
+ checksum: da3ffd413eef02a8e2cfee3e0bb0d5fc0fcb795c187bc14a5a8e8874cdbdc43bbf00089c587412d7752d97efc5967c3c18ff5398e3017b9a14a06126f017e7e9
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoped-functions@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5"
+"@babel/plugin-transform-block-scoped-functions@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 21878d4f0040f5001c4a14e17759e80bf699cb883a497552fa882dbc05230b100e8572345654b091021d5c4227555ed2bf40c8d6ba16a54d81145abfe0022cf8
+ checksum: 82c12a11277528184a979163de7189ceb00129f60dd930b0d5313454310bf71205f302fb2bf0430247161c8a22aaa9fb9eec1459f9f7468206422c191978fd59
languageName: node
linkType: hard
-"@babel/plugin-transform-block-scoping@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/plugin-transform-block-scoping@npm:7.23.0"
+"@babel/plugin-transform-block-scoping@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-block-scoping@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: f5d0822a4e2bb3a0b5172f01f8c107999b880f0e538a9c1bae3c7720e85d8d117a67167f5e8eba909e0ec3db67be3b30e7f5c83211dd4be5c7096222071571be
+ checksum: ccaeded7954c196811d22a35322579254cda52676e823682b6234885a3aaf88fe0d5152dacaec43db9031dcf35a050a5343e36028e5905b0ba9c02d36b30a57f
languageName: node
linkType: hard
-"@babel/plugin-transform-class-properties@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-class-properties@npm:7.22.5"
+"@babel/plugin-transform-class-properties@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-class-properties@npm:7.23.3"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.22.5"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 707f976d3aea2b52dad36a5695a71af8956f9b1d5dec02c2b8cce7ff3b5e60df4cbe059c71ae0b7983034dc639de654a2c928b97e4e01ebf436d58ea43639e7d
+ checksum: bca30d576f539eef216494b56d610f1a64aa9375de4134bc021d9660f1fa735b1d7cc413029f22abc0b7cb737e3a57935c8ae9d8bd1730921ccb1deebce51bfd
languageName: node
linkType: hard
-"@babel/plugin-transform-class-static-block@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-class-static-block@npm:7.22.11"
+"@babel/plugin-transform-class-static-block@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-class-static-block@npm:7.23.3"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.22.11"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
peerDependencies:
"@babel/core": ^7.12.0
- checksum: 74c06f315dbeb101784682f89d6e40a46b243132b63f430ac9ee5781d3fedff57fc6bf7390aa2b19d44a9d7e49a1e70e572bdde1907480881204ef33163b9630
+ checksum: 89cdb66d7bc834cd51659eb7286a6bee23add0bc114943d68c4b6c0c834178cf0d55183df0cf508fec9c55ed4155641360e6f55a91c16fe826ccaf1adf381922
languageName: node
linkType: hard
-"@babel/plugin-transform-classes@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-transform-classes@npm:7.22.15"
+"@babel/plugin-transform-classes@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-classes@npm:7.23.3"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
"@babel/helper-compilation-targets": "npm:^7.22.15"
- "@babel/helper-environment-visitor": "npm:^7.22.5"
- "@babel/helper-function-name": "npm:^7.22.5"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
"@babel/helper-optimise-call-expression": "npm:^7.22.5"
"@babel/helper-plugin-utils": "npm:^7.22.5"
- "@babel/helper-replace-supers": "npm:^7.22.9"
+ "@babel/helper-replace-supers": "npm:^7.22.20"
"@babel/helper-split-export-declaration": "npm:^7.22.6"
globals: "npm:^11.1.0"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: c9342bcf41e0253d83d9f73c4f9d2c9f885c0412f58ebfe462d57579c8247b949cbb023f15383d18c89fe5d12b537633e2ca4ba906ce47238615bc679beafb55
+ checksum: 88bfd332db0ba5cbfb8557a2ba5a7185151aebc9cfe3035b014aa6d795556acbe672bb8c78da3c9fd1d23f55a333d14b5daa127ef037f5ced5198b6d79a146d6
languageName: node
linkType: hard
-"@babel/plugin-transform-computed-properties@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5"
+"@babel/plugin-transform-computed-properties@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
- "@babel/template": "npm:^7.22.5"
+ "@babel/template": "npm:^7.22.15"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 22ecea23c1635083f5473092c5fbca62cbf7a85764bcf3e704c850446d68fe946097f6001c4cbfc92b4aee27ed30b375773ee479f749293e41fdb8f1fb8fcb67
+ checksum: 3ca8a006f8e652b58c21ecb84df1d01a73f0a96b1d216fd09a890b235dd90cb966b152b603b88f7e850ae238644b1636ce5c30b7c029c0934b43383932372e4a
languageName: node
linkType: hard
-"@babel/plugin-transform-destructuring@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/plugin-transform-destructuring@npm:7.23.0"
+"@babel/plugin-transform-destructuring@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-destructuring@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 038505eabdde2e1bb3bb904e50292b263d61d35e18660f751e7753b5723e2a5a5903a493290d772c8598da98c2c904b7cf45552ad1c11636fcb78f60754abd53
+ checksum: 717e9a62c1b0c93c507f87b4eaf839ec08d3c3147f14d74ae240d8749488d9762a8b3950132be620a069bde70f4b3e4ee9867b226c973fcc40f3cdec975cde71
languageName: node
linkType: hard
-"@babel/plugin-transform-dotall-regex@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5"
+"@babel/plugin-transform-dotall-regex@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: e0d7b95380483ef563c13f7c0a2122f575c58708cfb56494d6265ebb31753cf46ee0b3f5126fa6bbea5af392b3a2da05bf1e028d0b2b4d1dc279edd67cf3c3d9
+ checksum: 6c89286d1277c2a63802a453c797c87c1203f89e4c25115f7b6620f5fce15d8c8d37af613222f6aa497aa98773577a6ec8752e79e13d59bc5429270677ea010b
languageName: node
linkType: hard
-"@babel/plugin-transform-duplicate-keys@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5"
+"@babel/plugin-transform-duplicate-keys@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 82772fdcc1301358bc722c1316bea071ad0cd5893ca95b08e183748e044277a93ee90f9c641ac7873a00e4b31a8df7cf8c0981ca98d01becb4864a11b22c09d1
+ checksum: 7e2640e4e6adccd5e7b0615b6e9239d7c98363e21c52086ea13759dfa11cf7159b255fc5331c2de435639ea8eb6acefae115ae0d797a3d19d12587652f8052a5
languageName: node
linkType: hard
-"@babel/plugin-transform-dynamic-import@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-dynamic-import@npm:7.22.11"
+"@babel/plugin-transform-dynamic-import@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-dynamic-import@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-dynamic-import": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: cf0dd2d3da42ae18ccfa54bef7c80bf26b3bcc48751fc38dd41ad47bc14cc76ca8ec692f39f8b1ef54b3f48eff8db79e6397e4653033bb3a64e433f3c3a43edf
+ checksum: df3fd130312dc53d068fa76333991dce5e86987b023af8c3b502bd7d36a8e67da6f718e61dc838576a9fbacd06628e29607ee22d9bae30705485c14130eab201
languageName: node
linkType: hard
-"@babel/plugin-transform-exponentiation-operator@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5"
+"@babel/plugin-transform-exponentiation-operator@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3"
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.5"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: e8832460cfc9e087561fa42a796bb4eb181e6983d6db85c6dcec15f98af4ae3d13fcab18a262252a43b075d79ac93aaa38d33022bc5a870d2760c6888ba5d211
+ checksum: 5c33ee6a1bdc52fcdf0807f445b27e3fbdce33008531885e65a699762327565fffbcfde8395be7f21bcb22d582e425eddae45650c986462bb84ba68f43687516
languageName: node
linkType: hard
-"@babel/plugin-transform-export-namespace-from@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-export-namespace-from@npm:7.22.11"
+"@babel/plugin-transform-export-namespace-from@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-export-namespace-from@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 2b65ddf9ab4cfa8ffc72983c689b99d9ce0fe74846c2e518a1955f703e1fe073d0865810959164800613c3235a29cf9cae3567a46bf9cb53a2384469d3913e85
+ checksum: 390c6626dcda99023629049d92090242b4575351a4a7b47f97febabd2381f2cd0f624de661d8de8d1f715fedd63753cfd1feddead19e5960c27b88e447465b81
languageName: node
linkType: hard
-"@babel/plugin-transform-for-of@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-transform-for-of@npm:7.22.15"
+"@babel/plugin-transform-for-of@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-for-of@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 64182292f4be8cdf1fff06fe62ba110bf5e5dbb5d966d5e8871ef40a673cd934217da51b9f4a4ba303ca936be787f30e3d13a91fe410339de79e0fe9f0807e15
+ checksum: 8a36202cfee312ba80e509c7c2131e6773524e572b4dc64a8ee95bd912634fdeb5ea91c6c7747ee30e03562d0f0d333f88ed7dbb929b36b60b8d74189189e12f
languageName: node
linkType: hard
-"@babel/plugin-transform-function-name@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-function-name@npm:7.22.5"
+"@babel/plugin-transform-function-name@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-function-name@npm:7.23.3"
dependencies:
- "@babel/helper-compilation-targets": "npm:^7.22.5"
- "@babel/helper-function-name": "npm:^7.22.5"
+ "@babel/helper-compilation-targets": "npm:^7.22.15"
+ "@babel/helper-function-name": "npm:^7.23.0"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 206bdef2ff91c29a7d94c77778ad79f18bdb2cd6a30179449f2b95af04637cb68d96625dc673d9a0961b6b7088bd325bbed7540caf9aa8f69e5b003d6ba20456
+ checksum: 89cb9747802118048115cf92a8f310752f02030549b26f008904990cbdc86c3d4a68e07ca3b5c46de8a46ed4df2cb576ac222c74c56de67253d2a3ddc2956083
languageName: node
linkType: hard
-"@babel/plugin-transform-json-strings@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-json-strings@npm:7.22.11"
+"@babel/plugin-transform-json-strings@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-json-strings@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-json-strings": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 90f46a99c4136187d16f30f1f5f51e479c919edb6f6b4ce43fe81fdae2c89a556a0a6f6f2ec7ea3de7014a504f6df2220e3bc19dd7011f76bd275c195842f886
+ checksum: e1cef6a485b9da32aba9449fb459dac062dfc401f3d6ad48e7fbdcb73bbe470c995cc15ce5c421b95efe1e9a90d5507eb606360fe10b6d8cb869dd5dae7a2562
languageName: node
linkType: hard
-"@babel/plugin-transform-literals@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-literals@npm:7.22.5"
+"@babel/plugin-transform-literals@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-literals@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 1003d0cf98e9ae432889bcf5f3d5f7d463f777fc2c74b0d4a1a93b51e83606c263a16146e34f0a06b291300aa5f2001d6e8bf65ed1bf478ab071b714bf158aa5
+ checksum: 8292106b106201464c2bfdd5c014fe6a9ca1c0256eb0a8031deb20081e21906fe68b156186f77d993c23eeab6d8d6f5f66e8895eec7ed97ce6de5dbcafbcd7f4
languageName: node
linkType: hard
-"@babel/plugin-transform-logical-assignment-operators@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.22.11"
+"@babel/plugin-transform-logical-assignment-operators@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 9810f7918514bd59579ccc0950b4f352569abb40959569d38931e57f11e6b9aa920bdef403ffd8cd5d4e0243e0bbf7a1ebb445f3428c8b7a2421568ff2f681be
+ checksum: 23b7588b26d420c8b132bd08916d49871ca0c8db892f6b58637b10e2a0d918163d413c505db880a9157fc2e61d089040f139298a60d837ccbd0efca0474ac7ca
languageName: node
linkType: hard
-"@babel/plugin-transform-member-expression-literals@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5"
+"@babel/plugin-transform-member-expression-literals@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 731a341b17511809ae435b64822d4d093e86fd928b572028e6742bdfba271c57070860b0f3da080a76c5574d58c4f369fac3f7bf0f450b37920c0fc6fe27bb4e
+ checksum: 687f24f3ec60b627fef6e87b9e2770df77f76727b9d5f54fa4c84a495bb24eb4a20f1a6240fa22d339d45aac5eaeb1b39882e941bfd00cf498f9c53478d1ec88
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-amd@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/plugin-transform-modules-amd@npm:7.23.0"
+"@babel/plugin-transform-modules-amd@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: dda02864029ff66955e21d19c3d245aad69792b75e748de1391403bc86c8e9720b4f320b0db8413a29c11ba63b168146cf849180b5677bc6a74bfd085d20376d
+ checksum: 9f7ec036f7cfc588833a4dd117a44813b64aa4c1fd5bfb6c78f60198c1d290938213090c93a46f97a68a2490fad909e21a82b2472e95da74d108c125df21c8d5
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-commonjs@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.0"
+"@babel/plugin-transform-modules-commonjs@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-simple-access": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 1f015764c2e63445d46660e7a2eb9002c20def04daf98fa93c9dadb5bd55adbefefd1ccdc11bcafa5e2f04275939d2414482703bc35bc60d6ca2bf1f67b720e3
+ checksum: 5c8840c5c9ecba39367ae17c973ed13dbc43234147b77ae780eec65010e2a9993c5d717721b23e8179f7cf49decdd325c509b241d69cfbf92aa647a1d8d5a37d
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-systemjs@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.0"
+"@babel/plugin-transform-modules-systemjs@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3"
dependencies:
"@babel/helper-hoist-variables": "npm:^7.22.5"
- "@babel/helper-module-transforms": "npm:^7.23.0"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-validator-identifier": "npm:^7.22.20"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 04c5cef7d6921bb9c9073cea389289099124e78cd1e3b7e020e3c085d486b48efadd9a42c0c0d963a9b1c3d5465c3151229092ea719997e53427f36935c84178
+ checksum: 0d55280a276510222c8896bf4e581acb84824aa5b14c824f7102242ad6bc5104aaffe5ab22fe4d27518f4ae2811bd59c36d0c0bfa695157f9cfce33f0517a069
languageName: node
linkType: hard
-"@babel/plugin-transform-modules-umd@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5"
+"@babel/plugin-transform-modules-umd@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3"
dependencies:
- "@babel/helper-module-transforms": "npm:^7.22.5"
+ "@babel/helper-module-transforms": "npm:^7.23.3"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: f4a40e18986182a2b1be6af949aaff67a7d112af3d26bbd4319d05b50f323a62a10b32b5584148e4630bdffbd4d85b31c0d571fe4f601354898b837b87afca4c
+ checksum: f0d2f890a15b4367d0d8f160bed7062bdb145c728c24e9bfbc1211c7925aae5df72a88df3832c92dd2011927edfed4da1b1249e4c78402e893509316c0c2caa6
languageName: node
linkType: hard
@@ -957,138 +1019,138 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-new-target@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-new-target@npm:7.22.5"
+"@babel/plugin-transform-new-target@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-new-target@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 22ead0668bfd8db9166a4a47579d9f44726b59f21104561a6dd851156336741abdc5c576558e042c58c4b4fd577d3e29e4bd836021007f3381c33fe3c88dca19
+ checksum: f489b9e1f17b42b2ba6312d58351e757cb23a8409f64f2bb6af4c09d015359588a5d68943b20756f141d0931a94431c782f3ed1225228a930a04b07be0c31b04
languageName: node
linkType: hard
-"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3":
- version: 7.22.11
- resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.11"
+"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.3, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 328c0ebfbbc82256af00252fb795996b093f57b528a57afcb30843ca52d24a6d824029ad6d22f042f3af336bb4dc1963b4841c2ad774424b02d14ae7cfff2701
+ checksum: f960faed3975c8454c52d2b5d85daf0c9a27677b248d7933882e59b10202ade2a98c7b925ce0bae2b8eb4d66eb5d63a5588c1090d54eaa4cd235533d71228ff3
languageName: node
linkType: hard
-"@babel/plugin-transform-numeric-separator@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-numeric-separator@npm:7.22.11"
+"@babel/plugin-transform-numeric-separator@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-numeric-separator@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-numeric-separator": "npm:^7.10.4"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: fcde065002948c9c39f853be99c38b02aa1a1eb453e70ab1a164feb250c1fcbf1edd38071e28ed8bde6840b8a394af8b291b2ab2d793f283872ba43f89cf6dd2
+ checksum: d3748cce20e8752e61dfda55e275c699459a3ff8d0bb46585da813136e04066b1ce70b71beef504fcdc8d4cca3c955112cea96d5e9fd5a42a5bc8956d05236c2
languageName: node
linkType: hard
-"@babel/plugin-transform-object-rest-spread@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-transform-object-rest-spread@npm:7.22.15"
+"@babel/plugin-transform-object-rest-spread@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-object-rest-spread@npm:7.23.3"
dependencies:
- "@babel/compat-data": "npm:^7.22.9"
+ "@babel/compat-data": "npm:^7.23.3"
"@babel/helper-compilation-targets": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3"
- "@babel/plugin-transform-parameters": "npm:^7.22.15"
+ "@babel/plugin-transform-parameters": "npm:^7.23.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: c485084360607a4392227d8af461e0f313953a6088221826668f90e92df6e16da04e2b3424e283c2980586095430d1068ae6e549b828dfa3891e2d1a397bd034
+ checksum: 31ab631aaba945c118662943e5f1f54a21f07d64f06e06b25d55871168c460f3eeeccdf7b05aa74a1340e2cfbe781ad3c7ceccd0c2585d39f7b73ba11ebaa9d0
languageName: node
linkType: hard
-"@babel/plugin-transform-object-super@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-object-super@npm:7.22.5"
+"@babel/plugin-transform-object-super@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-object-super@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
- "@babel/helper-replace-supers": "npm:^7.22.5"
+ "@babel/helper-replace-supers": "npm:^7.22.20"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 062a78ff897c095a71f0db577bd4e4654659d542cb9ef79ec0fda7873ee6fefe31a0cb8a6c2e307e16dacaae1f50d48572184a59e1235b8d9d9cb2f38c4259ce
+ checksum: a6856fd8c0afbe5b3318c344d4d201d009f4051e2f6ff6237ff2660593e93c5997a58772b13d639077c3e29ced3440247b29c496cd77b13af1e7559a70009775
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-catch-binding@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.22.11"
+"@babel/plugin-transform-optional-catch-binding@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 6a731f4fee93397634b088ef7de990c150ea1c29e2cf681b2520d9196888d79a4252cbcc497d9b0db0453160ea2267043036fee4ccea8964864ef1b55a40d76f
+ checksum: 85ac1e94ee8f21648816151628ff931cc16143ec8c904649a1ecfd8960160290eccc5a197b4ae3ee7a1c7a27a7c4189e61b4de24483d5bad4040784afe2d206f
languageName: node
linkType: hard
-"@babel/plugin-transform-optional-chaining@npm:^7.22.15, @babel/plugin-transform-optional-chaining@npm:^7.23.0":
- version: 7.23.0
- resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.0"
+"@babel/plugin-transform-optional-chaining@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
"@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 2bf605b908c75f8d7616e8be52e4656983f2b027032260fbf5279f28297a67a1a28ec3ed60cd5760537dbd08a021246b8092ce06fb2418884390230b807142b3
+ checksum: 2b358962169d871392aa292a67527e5335909438da0ddbb0d19e7838c0f8a2081cc751a49e6e534ac4d6c932254531a205ac22b197f64fc4c89f41bf9f595497
languageName: node
linkType: hard
-"@babel/plugin-transform-parameters@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-transform-parameters@npm:7.22.15"
+"@babel/plugin-transform-parameters@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-parameters@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 9b9faf55b20aea4755a66db75e1195f7a203b4cfeef0ed5ceb25d6364bbb7a5bd0b5c587489c37ab339c4e4e7275406d0db0c05c25aa731a3cf6b4cc51e97c8d
+ checksum: a8d4cbe0f6ba68d158f5b4215c63004fc37a1fdc539036eb388a9792017c8496ea970a1932ccb929308f61e53dc56676ed01d8df6f42bc0a85c7fd5ba82482b7
languageName: node
linkType: hard
-"@babel/plugin-transform-private-methods@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-private-methods@npm:7.22.5"
+"@babel/plugin-transform-private-methods@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-private-methods@npm:7.23.3"
dependencies:
- "@babel/helper-create-class-features-plugin": "npm:^7.22.5"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: a62f2e47ca30f6b8043201483c5a505e3d54416e6ddfbe7cb696a1db853a4281b1fffee9f883fe26ac72ba02bba0db5832d69e02f2eb4746e9811b8779287cc1
+ checksum: 745a655edcd111b7f91882b921671ca0613079760d8c9befe336b8a9bc4ce6bb49c0c08941831c950afb1b225b4b2d3eaac8842e732db095b04db38efd8c34f4
languageName: node
linkType: hard
-"@babel/plugin-transform-private-property-in-object@npm:^7.22.11":
- version: 7.22.11
- resolution: "@babel/plugin-transform-private-property-in-object@npm:7.22.11"
+"@babel/plugin-transform-private-property-in-object@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-private-property-in-object@npm:7.23.3"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
- "@babel/helper-create-class-features-plugin": "npm:^7.22.11"
+ "@babel/helper-create-class-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: ec1ed8cc5483b8661e2cf7c020ffefe2a85e793a353d580c4174686923e465cdfaf13fc344ebb2eead4a1dbecd49baba93e342a9de400a29abedb79dcc6745a2
+ checksum: 9211dd25a6e87a01535f2d97a663fa6de3472b963c8dcfaacce229a2e3fa6500f2e9fc690bc100a540fc7b66c8364faf7ef19b32e9c9b9791e4561b742c15ed3
languageName: node
linkType: hard
-"@babel/plugin-transform-property-literals@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-property-literals@npm:7.22.5"
+"@babel/plugin-transform-property-literals@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-property-literals@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 8d25b7b01b5f487cfc1a296555273c1ddad45276f01039130f57eb9ab0fafa0560d10d972323071042e73ac3b8bab596543c9d1a877229624a52e6535084ea51
+ checksum: b2549f23f90cf276c2e3058c2225c3711c2ad1c417e336d3391199445a9776dd791b83be47b2b9a7ae374b40652d74b822387e31fa5267a37bf49c122e1a9747
languageName: node
linkType: hard
@@ -1103,26 +1165,26 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-react-display-name@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-react-display-name@npm:7.22.5"
+"@babel/plugin-transform-react-display-name@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-react-display-name@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 41e0167ecd8e5281e427556146b1d3bee8652bcd0664be013f16ffeeb4d61b7ab0b1e59bcc2c923774f0d265f78012628d5277880f758f3675893226f9be012e
+ checksum: 3aed142af7bd1aed1df2bdad91ed33ba1cdd5c3c67ce6eafba821ff72f129162a197ffb55f1eb1775af276abd5545934489a8257fef6c6665ddf253a4f39a939
languageName: node
linkType: hard
"@babel/plugin-transform-react-inline-elements@npm:^7.21.0":
- version: 7.22.5
- resolution: "@babel/plugin-transform-react-inline-elements@npm:7.22.5"
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-react-inline-elements@npm:7.23.3"
dependencies:
- "@babel/helper-builder-react-jsx": "npm:^7.22.5"
+ "@babel/helper-builder-react-jsx": "npm:^7.22.10"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 9c814948e7e8fda4426e778ebc31999c47c3e68fa03bf6f99642d27c0872b4b5ee70a174fb405ce9be6e7f70606ee9269fc41de2e68852f215fdb63447a94c92
+ checksum: 138f7769b30f65d339588155affe677c68fde3cdaa060a2dc73152cc8c941c246d4b2ae73c8f1d9ddf1055e587fcb7379c155d49daec086ed50557f2117c1d50
languageName: node
linkType: hard
@@ -1152,44 +1214,44 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-react-pure-annotations@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.22.5"
+"@babel/plugin-transform-react-pure-annotations@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.23.3"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 18db2e2346d79ebe4a3f85f51fa7757a63a09bc6da7f339e6ce9e7534de68b5165fe7d49ac363dee6ba3f81eb904d44bf9c13653331805f9b236a1d9fec7e018
+ checksum: 76287adeab656fb7f39243e5ab6a8c60069cf69fffeebd1566457d56cb2f966366a23bd755d3e369f4d0437459e3b76243df370caa7d7d2287a8560b66c53ca2
languageName: node
linkType: hard
-"@babel/plugin-transform-regenerator@npm:^7.22.10":
- version: 7.22.10
- resolution: "@babel/plugin-transform-regenerator@npm:7.22.10"
+"@babel/plugin-transform-regenerator@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-regenerator@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
regenerator-transform: "npm:^0.15.2"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: b903bfc1e849ca956a981a199b4913c0998877b6ba759f6d64530c5106610f89a818d61471a9c1bdabb6d94ba4ba150febeb4d196f6a8e67fcdc44207bb8fef6
+ checksum: 3b0e989ae5db78894ee300b24e07fbcec490c39ab48629c519377581cf94e90308f4ddc10a8914edc9f403e2d3ac7a7ae0ae09003629d852da03e2ba846299c6
languageName: node
linkType: hard
-"@babel/plugin-transform-reserved-words@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5"
+"@babel/plugin-transform-reserved-words@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 3ee861941b1d3f9e50f1bb97a2067f33c868b8cd5fd3419a610b2ad5f3afef5f9e4b3740d26a617dc1a9e169a33477821d96b6917c774ea87cac6790d341abbd
+ checksum: 4e6d61f6c9757592661cfbd2c39c4f61551557b98cb5f0995ef10f5540f67e18dde8a42b09716d58943b6e4b7ef5c9bcf19902839e7328a4d49149e0fecdbfcd
languageName: node
linkType: hard
"@babel/plugin-transform-runtime@npm:^7.22.4":
- version: 7.23.2
- resolution: "@babel/plugin-transform-runtime@npm:7.23.2"
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-runtime@npm:7.23.3"
dependencies:
"@babel/helper-module-imports": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
@@ -1199,145 +1261,146 @@ __metadata:
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 440291cd42e51c3f8789a0bd45cebbf597cf5d4ee4185050f1151f579465db016902054c50684e288342a03c9f1af8cec365fc02d85d14dc2b2a30ad5eb07c42
+ checksum: 111fc412cc3968402183086879e1625ad4b869309f2e5aa33498a71ba700d3196c151d506977b5b535e8ff2c42c0731d59bfbfcb158ecddeeb3c49d5d4a58c0a
languageName: node
linkType: hard
-"@babel/plugin-transform-shorthand-properties@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5"
+"@babel/plugin-transform-shorthand-properties@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: d2dd6b7033f536dd74569d7343bf3ca88c4bc12575e572a2c5446f42a1ebc8e69cec5e38fc0e63ac7c4a48b944a3225e4317d5db94287b9a5b381a5045c0cdb2
+ checksum: c423c66fec0b6503f50561741754c84366ef9e9818442c8881fbaa90cc363fd137084b9431cdc00ed2f1fd8c8a1a5982c4a7e1f2af3769db4caf2ac7ea55d4f0
languageName: node
linkType: hard
-"@babel/plugin-transform-spread@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-spread@npm:7.22.5"
+"@babel/plugin-transform-spread@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-spread@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: f8896b00d69557a4aafb3f48b7db6fbaa8462588e733afc4eabfdf79b12a6aed7d20341d160d704205591f0a43d04971d391fa80328f61240d1edc918079a1b0
+ checksum: a348e4ae47e4ceeceb760506ec7bf835ccc18a2cf70ec74ebfbe41bc172fa2412b05b7d1b86836f8aee375e41a04ff20486074778d0e2d19d668b33dc52e9dbb
languageName: node
linkType: hard
-"@babel/plugin-transform-sticky-regex@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5"
+"@babel/plugin-transform-sticky-regex@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 42d9295d357415b55c04967ff1cd124cdcbabf2635614f9ad4f8b372d9ae35f6c02bf7473a5418b91e75235960cb1e61493e2c0581cb55bf9719b0986bcd22a5
+ checksum: cd15c407906b41e4b924ea151e455c11274dba050771ee7154ad88a1a274140ac5e84efc8d08c4379f2f0cec8a09e4a0a3b2a3a954ba6a67d9fb35df1c714c56
languageName: node
linkType: hard
-"@babel/plugin-transform-template-literals@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-template-literals@npm:7.22.5"
+"@babel/plugin-transform-template-literals@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-template-literals@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 1fc597716edf9f5c7bc74e2fead4d7751467500486dd17092af90ccbd65c5fc4a1db2e9c86e9ed1a9f206f6a3403bbc07eab50b0c2b8e50f819b4118f2cf71ef
+ checksum: 9b5f43788b9ffcb8f2b445a16b1aa40fcf23cb0446a4649445f098ec6b4cb751f243a535da623d59fefe48f4c40552f5621187a61811779076bab26863e3373d
languageName: node
linkType: hard
-"@babel/plugin-transform-typeof-symbol@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5"
+"@babel/plugin-transform-typeof-symbol@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 277084dd3e873d62541f683173c7cf33b8317f7714335b7e861cc5b4b76f09acbf532a4c9dfbcf7756d29bc07b94b48bd9356af478f424865a86c7d5798be7c0
+ checksum: 50e81d84c6059878be2a0e41e0d790cab10882cfb8fa85e8c2665ccb0b3cd7233f49197f17427bc7c1b36c80e07076640ecf1b641888d78b9cb91bc16478d84a
languageName: node
linkType: hard
-"@babel/plugin-transform-typescript@npm:^7.22.15":
- version: 7.22.15
- resolution: "@babel/plugin-transform-typescript@npm:7.22.15"
+"@babel/plugin-transform-typescript@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-typescript@npm:7.23.3"
dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.22.5"
"@babel/helper-create-class-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
- "@babel/plugin-syntax-typescript": "npm:^7.22.5"
+ "@babel/plugin-syntax-typescript": "npm:^7.23.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: e6a110f5b70334c6a503c90855dde5660f479e48262c8338261aeb30c70eedcfe885265b788c89f5bef757d99ab6704ee22bb0d23579597bc9415cfa86607458
+ checksum: a3c738efcf491ceb1eee646f57c44990ee0c80465527b88fcfa0b7602688c4ff8c165a4c5b62caf05d968b095212018fd30a02879c12d37c657081f57b31fb26
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-escapes@npm:^7.22.10":
- version: 7.22.10
- resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.10"
+"@babel/plugin-transform-unicode-escapes@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 68425d56698650087faa33fe40adf8bde32efc1d05ce564f02b62526e7f5b2f4633278b0a10ee2e7e36fb89c79c3330c730d96b8a872acea4702c5645cee98f8
+ checksum: f1ed54742dc982666f471df5d087cfda9c6dbf7842bec2d0f7893ed359b142a38c0210358f297ab5c7a3e11ec0dfb0e523de2e2edf48b62f257aaadd5f068866
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-property-regex@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.22.5"
+"@babel/plugin-transform-unicode-property-regex@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.23.3"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: da424c1e99af0e920d21f7f121fb9503d0771597a4bd14130fb5f116407be29e9340c049d04733b3d8a132effe4f4585fe3cc9630ae3294a2df9199c8dfd7075
+ checksum: dca5702d43fac70351623a12e4dfa454fd028a67498888522b644fd1a02534fabd440106897e886ebcc6ce6a39c58094ca29953b6f51bc67372aa8845a5ae49f
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-regex@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5"
+"@babel/plugin-transform-unicode-regex@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 4cfaf4bb724a5c55a6fb5b0ee6ebbeba78dc700b9bc0043715d4b37409d90b43c888735c613690a1ec0d8d8e41a500b9d3f0395aa9f55b174449c8407663684b
+ checksum: df824dcca2f6e731f61d69103e87d5dd974d8a04e46e28684a4ba935ae633d876bded09b8db890fd72d0caf7b9638e2672b753671783613cc78d472951e2df8c
languageName: node
linkType: hard
-"@babel/plugin-transform-unicode-sets-regex@npm:^7.22.5":
- version: 7.22.5
- resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.22.5"
+"@babel/plugin-transform-unicode-sets-regex@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.23.3"
dependencies:
- "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5"
+ "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
peerDependencies:
"@babel/core": ^7.0.0
- checksum: af37b468332db051f0aaa144adbfab39574e570f613e121b58a551e3cbb7083c9f8c32a83ba2641172a4065128052643468438c19ad098cd62b2d97140dc483e
+ checksum: 30fe1d29af8395a867d40a63a250ca89072033d9bc7d4587eeebeaf4ad7f776aab83064321bfdb1d09d7e29a1d392852361f4f60a353f0f4d1a3b435dcbf256b
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.23.2
- resolution: "@babel/preset-env@npm:7.23.2"
+ version: 7.23.3
+ resolution: "@babel/preset-env@npm:7.23.3"
dependencies:
- "@babel/compat-data": "npm:^7.23.2"
+ "@babel/compat-data": "npm:^7.23.3"
"@babel/helper-compilation-targets": "npm:^7.22.15"
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-validator-option": "npm:^7.22.15"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.22.15"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.22.15"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.3"
"@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-async-generators": "npm:^7.8.4"
"@babel/plugin-syntax-class-properties": "npm:^7.12.13"
"@babel/plugin-syntax-class-static-block": "npm:^7.14.5"
"@babel/plugin-syntax-dynamic-import": "npm:^7.8.3"
"@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3"
- "@babel/plugin-syntax-import-assertions": "npm:^7.22.5"
- "@babel/plugin-syntax-import-attributes": "npm:^7.22.5"
+ "@babel/plugin-syntax-import-assertions": "npm:^7.23.3"
+ "@babel/plugin-syntax-import-attributes": "npm:^7.23.3"
"@babel/plugin-syntax-import-meta": "npm:^7.10.4"
"@babel/plugin-syntax-json-strings": "npm:^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4"
@@ -1349,56 +1412,55 @@ __metadata:
"@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5"
"@babel/plugin-syntax-top-level-await": "npm:^7.14.5"
"@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6"
- "@babel/plugin-transform-arrow-functions": "npm:^7.22.5"
- "@babel/plugin-transform-async-generator-functions": "npm:^7.23.2"
- "@babel/plugin-transform-async-to-generator": "npm:^7.22.5"
- "@babel/plugin-transform-block-scoped-functions": "npm:^7.22.5"
- "@babel/plugin-transform-block-scoping": "npm:^7.23.0"
- "@babel/plugin-transform-class-properties": "npm:^7.22.5"
- "@babel/plugin-transform-class-static-block": "npm:^7.22.11"
- "@babel/plugin-transform-classes": "npm:^7.22.15"
- "@babel/plugin-transform-computed-properties": "npm:^7.22.5"
- "@babel/plugin-transform-destructuring": "npm:^7.23.0"
- "@babel/plugin-transform-dotall-regex": "npm:^7.22.5"
- "@babel/plugin-transform-duplicate-keys": "npm:^7.22.5"
- "@babel/plugin-transform-dynamic-import": "npm:^7.22.11"
- "@babel/plugin-transform-exponentiation-operator": "npm:^7.22.5"
- "@babel/plugin-transform-export-namespace-from": "npm:^7.22.11"
- "@babel/plugin-transform-for-of": "npm:^7.22.15"
- "@babel/plugin-transform-function-name": "npm:^7.22.5"
- "@babel/plugin-transform-json-strings": "npm:^7.22.11"
- "@babel/plugin-transform-literals": "npm:^7.22.5"
- "@babel/plugin-transform-logical-assignment-operators": "npm:^7.22.11"
- "@babel/plugin-transform-member-expression-literals": "npm:^7.22.5"
- "@babel/plugin-transform-modules-amd": "npm:^7.23.0"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0"
- "@babel/plugin-transform-modules-systemjs": "npm:^7.23.0"
- "@babel/plugin-transform-modules-umd": "npm:^7.22.5"
+ "@babel/plugin-transform-arrow-functions": "npm:^7.23.3"
+ "@babel/plugin-transform-async-generator-functions": "npm:^7.23.3"
+ "@babel/plugin-transform-async-to-generator": "npm:^7.23.3"
+ "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3"
+ "@babel/plugin-transform-block-scoping": "npm:^7.23.3"
+ "@babel/plugin-transform-class-properties": "npm:^7.23.3"
+ "@babel/plugin-transform-class-static-block": "npm:^7.23.3"
+ "@babel/plugin-transform-classes": "npm:^7.23.3"
+ "@babel/plugin-transform-computed-properties": "npm:^7.23.3"
+ "@babel/plugin-transform-destructuring": "npm:^7.23.3"
+ "@babel/plugin-transform-dotall-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3"
+ "@babel/plugin-transform-dynamic-import": "npm:^7.23.3"
+ "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3"
+ "@babel/plugin-transform-export-namespace-from": "npm:^7.23.3"
+ "@babel/plugin-transform-for-of": "npm:^7.23.3"
+ "@babel/plugin-transform-function-name": "npm:^7.23.3"
+ "@babel/plugin-transform-json-strings": "npm:^7.23.3"
+ "@babel/plugin-transform-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.3"
+ "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-amd": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-systemjs": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-umd": "npm:^7.23.3"
"@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5"
- "@babel/plugin-transform-new-target": "npm:^7.22.5"
- "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.22.11"
- "@babel/plugin-transform-numeric-separator": "npm:^7.22.11"
- "@babel/plugin-transform-object-rest-spread": "npm:^7.22.15"
- "@babel/plugin-transform-object-super": "npm:^7.22.5"
- "@babel/plugin-transform-optional-catch-binding": "npm:^7.22.11"
- "@babel/plugin-transform-optional-chaining": "npm:^7.23.0"
- "@babel/plugin-transform-parameters": "npm:^7.22.15"
- "@babel/plugin-transform-private-methods": "npm:^7.22.5"
- "@babel/plugin-transform-private-property-in-object": "npm:^7.22.11"
- "@babel/plugin-transform-property-literals": "npm:^7.22.5"
- "@babel/plugin-transform-regenerator": "npm:^7.22.10"
- "@babel/plugin-transform-reserved-words": "npm:^7.22.5"
- "@babel/plugin-transform-shorthand-properties": "npm:^7.22.5"
- "@babel/plugin-transform-spread": "npm:^7.22.5"
- "@babel/plugin-transform-sticky-regex": "npm:^7.22.5"
- "@babel/plugin-transform-template-literals": "npm:^7.22.5"
- "@babel/plugin-transform-typeof-symbol": "npm:^7.22.5"
- "@babel/plugin-transform-unicode-escapes": "npm:^7.22.10"
- "@babel/plugin-transform-unicode-property-regex": "npm:^7.22.5"
- "@babel/plugin-transform-unicode-regex": "npm:^7.22.5"
- "@babel/plugin-transform-unicode-sets-regex": "npm:^7.22.5"
+ "@babel/plugin-transform-new-target": "npm:^7.23.3"
+ "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.3"
+ "@babel/plugin-transform-numeric-separator": "npm:^7.23.3"
+ "@babel/plugin-transform-object-rest-spread": "npm:^7.23.3"
+ "@babel/plugin-transform-object-super": "npm:^7.23.3"
+ "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.3"
+ "@babel/plugin-transform-optional-chaining": "npm:^7.23.3"
+ "@babel/plugin-transform-parameters": "npm:^7.23.3"
+ "@babel/plugin-transform-private-methods": "npm:^7.23.3"
+ "@babel/plugin-transform-private-property-in-object": "npm:^7.23.3"
+ "@babel/plugin-transform-property-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-regenerator": "npm:^7.23.3"
+ "@babel/plugin-transform-reserved-words": "npm:^7.23.3"
+ "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3"
+ "@babel/plugin-transform-spread": "npm:^7.23.3"
+ "@babel/plugin-transform-sticky-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-template-literals": "npm:^7.23.3"
+ "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-regex": "npm:^7.23.3"
+ "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3"
"@babel/preset-modules": "npm:0.1.6-no-external-plugins"
- "@babel/types": "npm:^7.23.0"
babel-plugin-polyfill-corejs2: "npm:^0.4.6"
babel-plugin-polyfill-corejs3: "npm:^0.8.5"
babel-plugin-polyfill-regenerator: "npm:^0.5.3"
@@ -1406,7 +1468,7 @@ __metadata:
semver: "npm:^6.3.1"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: b5912f09dc92a8f6b93420f3274499e30255af6dbe5673075a30a5bfead1a651e5eb362c6b95e3ba48c6e6bd4e38b7a5aceebba99997ec7c83833e2e6af9abde
+ checksum: 36b02a86817ab5474bb74a8d62a110723b0b05904a52ddc5627cf89457525b8d5ac0739b8e435a6ae12ef8b90cd5fc191169898c3dc2ac9d2c84026b02f2580a
languageName: node
linkType: hard
@@ -1424,33 +1486,33 @@ __metadata:
linkType: hard
"@babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.22.3":
- version: 7.22.15
- resolution: "@babel/preset-react@npm:7.22.15"
+ version: 7.23.3
+ resolution: "@babel/preset-react@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-validator-option": "npm:^7.22.15"
- "@babel/plugin-transform-react-display-name": "npm:^7.22.5"
+ "@babel/plugin-transform-react-display-name": "npm:^7.23.3"
"@babel/plugin-transform-react-jsx": "npm:^7.22.15"
"@babel/plugin-transform-react-jsx-development": "npm:^7.22.5"
- "@babel/plugin-transform-react-pure-annotations": "npm:^7.22.5"
+ "@babel/plugin-transform-react-pure-annotations": "npm:^7.23.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 80940aa494292b7f689d902b76828cb3ab4eaf4e6421107f23388b6ea7316ab25ccd817b766fde5c40787fd92f1cba1f660190bfd71965c902e49b42c9e290c2
+ checksum: cecb2493e09fd4ffa5effcef1d06e968386b1bfe077a99834f7e8ef249208274fca62fe5a6b3986ef1c1c3900b2eb409adb528ae1b73dba31397b16f9262e83c
languageName: node
linkType: hard
"@babel/preset-typescript@npm:^7.21.5":
- version: 7.23.2
- resolution: "@babel/preset-typescript@npm:7.23.2"
+ version: 7.23.3
+ resolution: "@babel/preset-typescript@npm:7.23.3"
dependencies:
"@babel/helper-plugin-utils": "npm:^7.22.5"
"@babel/helper-validator-option": "npm:^7.22.15"
- "@babel/plugin-syntax-jsx": "npm:^7.22.5"
- "@babel/plugin-transform-modules-commonjs": "npm:^7.23.0"
- "@babel/plugin-transform-typescript": "npm:^7.22.15"
+ "@babel/plugin-syntax-jsx": "npm:^7.23.3"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3"
+ "@babel/plugin-transform-typescript": "npm:^7.23.3"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 40eb71e9959d97a0c2e89fe5cf4c9db7edea5b103618d4c4b5cc7a41dd8c66ab1b1922c443607427000d7bb63e135e8c5f268f35426b2ba00ce53f75bf3b0f8b
+ checksum: e72b654c7f0f08b35d7e1c0e3a59c0c13037f295c425760b8b148aa7dde01e6ddd982efc525710f997a1494fafdd55cb525738c016609e7e4d703d02014152b7
languageName: node
linkType: hard
@@ -1479,7 +1541,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3":
+"@babel/template@npm:^7.22.15, @babel/template@npm:^7.3.3":
version: 7.22.15
resolution: "@babel/template@npm:7.22.15"
dependencies:
@@ -1508,6 +1570,24 @@ __metadata:
languageName: node
linkType: hard
+"@babel/traverse@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/traverse@npm:7.23.3"
+ dependencies:
+ "@babel/code-frame": "npm:^7.22.13"
+ "@babel/generator": "npm:^7.23.3"
+ "@babel/helper-environment-visitor": "npm:^7.22.20"
+ "@babel/helper-function-name": "npm:^7.23.0"
+ "@babel/helper-hoist-variables": "npm:^7.22.5"
+ "@babel/helper-split-export-declaration": "npm:^7.22.6"
+ "@babel/parser": "npm:^7.23.3"
+ "@babel/types": "npm:^7.23.3"
+ debug: "npm:^4.1.0"
+ globals: "npm:^11.1.0"
+ checksum: 3c2784f4765185126d64fd5eebce0413b7aee6d54f779998594a343a7f973a9693a441ba27533df84e7ab7ce22f1239c6837f35e903132a1b25f7fc7a67bc30f
+ languageName: node
+ linkType: hard
+
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.23.0
resolution: "@babel/types@npm:7.23.0"
@@ -1519,6 +1599,17 @@ __metadata:
languageName: node
linkType: hard
+"@babel/types@npm:^7.22.10, @babel/types@npm:^7.23.3":
+ version: 7.23.3
+ resolution: "@babel/types@npm:7.23.3"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.22.5"
+ "@babel/helper-validator-identifier": "npm:^7.22.20"
+ to-fast-properties: "npm:^2.0.0"
+ checksum: 371a10dd9c8d8ebf48fc5d9e1b327dafd74453f8ea582dcbddd1cee5ae34e8881b743e783a86c08c04dcd1849b1842455472a911ae8a1c185484fe9b7b5f1595
+ languageName: node
+ linkType: hard
+
"@bcoe/v8-coverage@npm:^0.2.3":
version: 0.2.3
resolution: "@bcoe/v8-coverage@npm:0.2.3"
@@ -2461,7 +2552,7 @@ __metadata:
jest-environment-jsdom: "npm:^29.5.0"
js-yaml: "npm:^4.1.0"
jsdom: "npm:^22.1.0"
- lint-staged: "npm:^13.2.2"
+ lint-staged: "npm:^15.0.0"
lodash: "npm:^4.17.21"
mark-loader: "npm:^0.1.6"
marky: "npm:^1.2.5"
@@ -4198,7 +4289,7 @@ __metadata:
languageName: node
linkType: hard
-"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0":
+"ansi-escapes@npm:^4.2.1":
version: 4.3.2
resolution: "ansi-escapes@npm:4.3.2"
dependencies:
@@ -4207,6 +4298,15 @@ __metadata:
languageName: node
linkType: hard
+"ansi-escapes@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "ansi-escapes@npm:5.0.0"
+ dependencies:
+ type-fest: "npm:^1.0.2"
+ checksum: f705cc7fbabb981ddf51562cd950792807bccd7260cc3d9478a619dda62bff6634c87ca100f2545ac7aade9b72652c4edad8c7f0d31a0b949b5fa58f33eaf0d0
+ languageName: node
+ linkType: hard
+
"ansi-html-community@npm:0.0.8":
version: 0.0.8
resolution: "ansi-html-community@npm:0.0.8"
@@ -4681,13 +4781,13 @@ __metadata:
linkType: hard
"axios@npm:^1.4.0":
- version: 1.6.0
- resolution: "axios@npm:1.6.0"
+ version: 1.6.1
+ resolution: "axios@npm:1.6.1"
dependencies:
follow-redirects: "npm:^1.15.0"
form-data: "npm:^4.0.0"
proxy-from-env: "npm:^1.1.0"
- checksum: 2879e17b96cbca7e2096d231a44e2d0f03e657d79f8928ea38ec5fbaf5a5b7bf952d580cdb58a66ba328c26eb3528b89d5a32da57cc5cf89813786c044f7e9d6
+ checksum: ca2c6f56659a7f19e4a99082f549fe151952f6fd8aa72ed148559ab2d6a32ce37cd5dc72ce6d4d3cd91f0c1e2617c7c95c20077e5e244a79f319a6c0ce41204f
languageName: node
linkType: hard
@@ -5445,10 +5545,10 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:5.2.0":
- version: 5.2.0
- resolution: "chalk@npm:5.2.0"
- checksum: 8a519b35c239f96e041b7f1ed8fdd79d3ca2332a8366cb957378b8a1b8a4cdfb740d19628e8bf74654d4c0917aa10cf39c20752e177a1304eac29a1168a740e9
+"chalk@npm:5.3.0":
+ version: 5.3.0
+ resolution: "chalk@npm:5.3.0"
+ checksum: 8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09
languageName: node
linkType: hard
@@ -5605,22 +5705,12 @@ __metadata:
languageName: node
linkType: hard
-"cli-cursor@npm:^3.1.0":
- version: 3.1.0
- resolution: "cli-cursor@npm:3.1.0"
- dependencies:
- restore-cursor: "npm:^3.1.0"
- checksum: 92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111
- languageName: node
- linkType: hard
-
-"cli-truncate@npm:^2.1.0":
- version: 2.1.0
- resolution: "cli-truncate@npm:2.1.0"
+"cli-cursor@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "cli-cursor@npm:4.0.0"
dependencies:
- slice-ansi: "npm:^3.0.0"
- string-width: "npm:^4.2.0"
- checksum: dfaa3df675bcef7a3254773de768712b590250420345a4c7ac151f041a4bacb4c25864b1377bee54a39b5925a030c00eabf014e312e3a4ac130952ed3b3879e9
+ restore-cursor: "npm:^4.0.0"
+ checksum: e776e8c3c6727300d0539b0d25160b2bb56aed1a63942753ba1826b012f337a6f4b7ace3548402e4f2f13b5e16bfd751be672c44b203205e7eca8be94afec42c
languageName: node
linkType: hard
@@ -5771,7 +5861,7 @@ __metadata:
languageName: node
linkType: hard
-"colorette@npm:^2.0.19":
+"colorette@npm:^2.0.20":
version: 2.0.20
resolution: "colorette@npm:2.0.20"
checksum: e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40
@@ -5794,10 +5884,10 @@ __metadata:
languageName: node
linkType: hard
-"commander@npm:^10.0.0":
- version: 10.0.1
- resolution: "commander@npm:10.0.1"
- checksum: 53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3
+"commander@npm:11.1.0":
+ version: 11.1.0
+ resolution: "commander@npm:11.1.0"
+ checksum: 13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179
languageName: node
linkType: hard
@@ -6439,7 +6529,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
+"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
version: 4.3.4
resolution: "debug@npm:4.3.4"
dependencies:
@@ -7708,6 +7798,13 @@ __metadata:
languageName: node
linkType: hard
+"eventemitter3@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "eventemitter3@npm:5.0.1"
+ checksum: 4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814
+ languageName: node
+ linkType: hard
+
"events@npm:^3.0.0, events@npm:^3.3.0":
version: 3.3.0
resolution: "events@npm:3.3.0"
@@ -7733,6 +7830,23 @@ __metadata:
languageName: node
linkType: hard
+"execa@npm:8.0.1":
+ version: 8.0.1
+ resolution: "execa@npm:8.0.1"
+ dependencies:
+ cross-spawn: "npm:^7.0.3"
+ get-stream: "npm:^8.0.1"
+ human-signals: "npm:^5.0.0"
+ is-stream: "npm:^3.0.0"
+ merge-stream: "npm:^2.0.0"
+ npm-run-path: "npm:^5.1.0"
+ onetime: "npm:^6.0.0"
+ signal-exit: "npm:^4.1.0"
+ strip-final-newline: "npm:^3.0.0"
+ checksum: 2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af
+ languageName: node
+ linkType: hard
+
"execa@npm:^1.0.0":
version: 1.0.0
resolution: "execa@npm:1.0.0"
@@ -7765,7 +7879,7 @@ __metadata:
languageName: node
linkType: hard
-"execa@npm:^7.0.0, execa@npm:^7.1.1":
+"execa@npm:^7.1.1":
version: 7.2.0
resolution: "execa@npm:7.2.0"
dependencies:
@@ -8414,6 +8528,13 @@ __metadata:
languageName: node
linkType: hard
+"get-stream@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "get-stream@npm:8.0.1"
+ checksum: 5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290
+ languageName: node
+ linkType: hard
+
"get-symbol-description@npm:^1.0.0":
version: 1.0.0
resolution: "get-symbol-description@npm:1.0.0"
@@ -9014,6 +9135,13 @@ __metadata:
languageName: node
linkType: hard
+"human-signals@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "human-signals@npm:5.0.0"
+ checksum: 5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82
+ languageName: node
+ linkType: hard
+
"husky@npm:^8.0.3":
version: 8.0.3
resolution: "husky@npm:8.0.3"
@@ -10857,47 +10985,37 @@ __metadata:
languageName: node
linkType: hard
-"lint-staged@npm:^13.2.2":
- version: 13.2.3
- resolution: "lint-staged@npm:13.2.3"
+"lint-staged@npm:^15.0.0":
+ version: 15.0.2
+ resolution: "lint-staged@npm:15.0.2"
dependencies:
- chalk: "npm:5.2.0"
- cli-truncate: "npm:^3.1.0"
- commander: "npm:^10.0.0"
- debug: "npm:^4.3.4"
- execa: "npm:^7.0.0"
+ chalk: "npm:5.3.0"
+ commander: "npm:11.1.0"
+ debug: "npm:4.3.4"
+ execa: "npm:8.0.1"
lilconfig: "npm:2.1.0"
- listr2: "npm:^5.0.7"
- micromatch: "npm:^4.0.5"
- normalize-path: "npm:^3.0.0"
- object-inspect: "npm:^1.12.3"
- pidtree: "npm:^0.6.0"
- string-argv: "npm:^0.3.1"
- yaml: "npm:^2.2.2"
+ listr2: "npm:7.0.2"
+ micromatch: "npm:4.0.5"
+ pidtree: "npm:0.6.0"
+ string-argv: "npm:0.3.2"
+ yaml: "npm:2.3.3"
bin:
lint-staged: bin/lint-staged.js
- checksum: 4907d2e60c8bd4b7ba354464a914e9db61d3e121232a3111bfe3e9f24d1ae8c9bd89c8ff19f819227a97fce0d797a33a62bcc29adebb37fb937e012a0a8b358b
+ checksum: 5c8806137c8c9c63e1156e16f2a2763586a9eab8f24713b95bbfd099308c83f85af2df622fdc326a9f0e455e657718f61f6d4a81067a5c77243e65e822c8f16c
languageName: node
linkType: hard
-"listr2@npm:^5.0.7":
- version: 5.0.8
- resolution: "listr2@npm:5.0.8"
+"listr2@npm:7.0.2":
+ version: 7.0.2
+ resolution: "listr2@npm:7.0.2"
dependencies:
- cli-truncate: "npm:^2.1.0"
- colorette: "npm:^2.0.19"
- log-update: "npm:^4.0.0"
- p-map: "npm:^4.0.0"
+ cli-truncate: "npm:^3.1.0"
+ colorette: "npm:^2.0.20"
+ eventemitter3: "npm:^5.0.1"
+ log-update: "npm:^5.0.1"
rfdc: "npm:^1.3.0"
- rxjs: "npm:^7.8.0"
- through: "npm:^2.3.8"
- wrap-ansi: "npm:^7.0.0"
- peerDependencies:
- enquirer: ">= 2.3.0 < 3"
- peerDependenciesMeta:
- enquirer:
- optional: true
- checksum: 00f00ad18262909bafff21b42d2d94faa9ed3911d70094a12a1182e773533f9b3cfd78d83a81fdbfb7dbc42e3e3252093f504c822de152100a953a91f3adf7cb
+ wrap-ansi: "npm:^8.1.0"
+ checksum: 37b6501be84ebea66dcce07c5f86c224aff0c01c9fb43f5055cc38a063030281d58198aad0aad481f174438309831ddf5f763b890e820cd7b7b4f4a5dfa229c9
languageName: node
linkType: hard
@@ -11100,15 +11218,16 @@ __metadata:
languageName: node
linkType: hard
-"log-update@npm:^4.0.0":
- version: 4.0.0
- resolution: "log-update@npm:4.0.0"
+"log-update@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "log-update@npm:5.0.1"
dependencies:
- ansi-escapes: "npm:^4.3.0"
- cli-cursor: "npm:^3.1.0"
- slice-ansi: "npm:^4.0.0"
- wrap-ansi: "npm:^6.2.0"
- checksum: 18b299e230432a156f2535660776406d15ba8bb7817dd3eaadd58004b363756d4ecaabcd658f9949f90b62ea7d3354423be3fdeb7a201ab951ec0e8d6139af86
+ ansi-escapes: "npm:^5.0.0"
+ cli-cursor: "npm:^4.0.0"
+ slice-ansi: "npm:^5.0.0"
+ strip-ansi: "npm:^7.0.1"
+ wrap-ansi: "npm:^8.0.1"
+ checksum: 1050ea2027e80f32e132aace909987cb00c2719368c78b82ffca681a5b3f4020eeb5f4b4e310c47c35c6c36aff258c1d1bc51485ac44d6fdac9eb0a4275c539f
languageName: node
linkType: hard
@@ -11400,6 +11519,16 @@ __metadata:
languageName: node
linkType: hard
+"micromatch@npm:4.0.5, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5":
+ version: 4.0.5
+ resolution: "micromatch@npm:4.0.5"
+ dependencies:
+ braces: "npm:^3.0.2"
+ picomatch: "npm:^2.3.1"
+ checksum: 3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff
+ languageName: node
+ linkType: hard
+
"micromatch@npm:^3.0.4, micromatch@npm:^3.1.10, micromatch@npm:^3.1.4":
version: 3.1.10
resolution: "micromatch@npm:3.1.10"
@@ -11421,16 +11550,6 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5":
- version: 4.0.5
- resolution: "micromatch@npm:4.0.5"
- dependencies:
- braces: "npm:^3.0.2"
- picomatch: "npm:^2.3.1"
- checksum: 3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff
- languageName: node
- linkType: hard
-
"miller-rabin@npm:^4.0.0":
version: 4.0.1
resolution: "miller-rabin@npm:4.0.1"
@@ -12044,7 +12163,7 @@ __metadata:
languageName: node
linkType: hard
-"object-inspect@npm:^1.12.3, object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0":
+"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0":
version: 1.13.1
resolution: "object-inspect@npm:1.13.1"
checksum: fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d
@@ -12694,7 +12813,7 @@ __metadata:
languageName: node
linkType: hard
-"pidtree@npm:^0.6.0":
+"pidtree@npm:0.6.0":
version: 0.6.0
resolution: "pidtree@npm:0.6.0"
bin:
@@ -14461,13 +14580,13 @@ __metadata:
languageName: node
linkType: hard
-"restore-cursor@npm:^3.1.0":
- version: 3.1.0
- resolution: "restore-cursor@npm:3.1.0"
+"restore-cursor@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "restore-cursor@npm:4.0.0"
dependencies:
onetime: "npm:^5.1.0"
signal-exit: "npm:^3.0.2"
- checksum: 8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f
+ checksum: 6f7da8c5e422ac26aa38354870b1afac09963572cf2879443540449068cb43476e9cbccf6f8de3e0171e0d6f7f533c2bc1a0a008003c9a525bbc098e89041318
languageName: node
linkType: hard
@@ -14595,15 +14714,6 @@ __metadata:
languageName: node
linkType: hard
-"rxjs@npm:^7.8.0":
- version: 7.8.1
- resolution: "rxjs@npm:7.8.1"
- dependencies:
- tslib: "npm:^2.1.0"
- checksum: 3c49c1ecd66170b175c9cacf5cef67f8914dcbc7cd0162855538d365c83fea631167cacb644b3ce533b2ea0e9a4d0b12175186985f89d75abe73dbd8f7f06f68
- languageName: node
- linkType: hard
-
"safe-array-concat@npm:^1.0.0, safe-array-concat@npm:^1.0.1":
version: 1.0.1
resolution: "safe-array-concat@npm:1.0.1"
@@ -15015,7 +15125,7 @@ __metadata:
languageName: node
linkType: hard
-"signal-exit@npm:^4.0.1":
+"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0":
version: 4.1.0
resolution: "signal-exit@npm:4.1.0"
checksum: 41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
@@ -15047,17 +15157,6 @@ __metadata:
languageName: node
linkType: hard
-"slice-ansi@npm:^3.0.0":
- version: 3.0.0
- resolution: "slice-ansi@npm:3.0.0"
- dependencies:
- ansi-styles: "npm:^4.0.0"
- astral-regex: "npm:^2.0.0"
- is-fullwidth-code-point: "npm:^3.0.0"
- checksum: 88083c9d0ca67d09f8b4c78f68833d69cabbb7236b74df5d741ad572bbf022deaf243fa54009cd434350622a1174ab267710fcc80a214ecc7689797fe00cb27c
- languageName: node
- linkType: hard
-
"slice-ansi@npm:^4.0.0":
version: 4.0.0
resolution: "slice-ansi@npm:4.0.0"
@@ -15483,7 +15582,7 @@ __metadata:
languageName: node
linkType: hard
-"string-argv@npm:^0.3.1":
+"string-argv@npm:0.3.2":
version: 0.3.2
resolution: "string-argv@npm:0.3.2"
checksum: 75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82
@@ -16144,13 +16243,6 @@ __metadata:
languageName: node
linkType: hard
-"through@npm:^2.3.8":
- version: 2.3.8
- resolution: "through@npm:2.3.8"
- checksum: 4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc
- languageName: node
- linkType: hard
-
"thunky@npm:^1.0.2":
version: 1.1.0
resolution: "thunky@npm:1.1.0"
@@ -16344,7 +16436,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:2.6.2, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0":
+"tslib@npm:2.6.2, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.0":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb
@@ -16414,7 +16506,7 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^1.0.1, type-fest@npm:^1.2.1, type-fest@npm:^1.2.2":
+"type-fest@npm:^1.0.1, type-fest@npm:^1.0.2, type-fest@npm:^1.2.1, type-fest@npm:^1.2.2":
version: 1.4.0
resolution: "type-fest@npm:1.4.0"
checksum: a3c0f4ee28ff6ddf800d769eafafcdeab32efa38763c1a1b8daeae681920f6e345d7920bf277245235561d8117dab765cb5f829c76b713b4c9de0998a5397141
@@ -17636,18 +17728,7 @@ __metadata:
languageName: node
linkType: hard
-"wrap-ansi@npm:^6.2.0":
- version: 6.2.0
- resolution: "wrap-ansi@npm:6.2.0"
- dependencies:
- ansi-styles: "npm:^4.0.0"
- string-width: "npm:^4.1.0"
- strip-ansi: "npm:^6.0.0"
- checksum: baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c
- languageName: node
- linkType: hard
-
-"wrap-ansi@npm:^8.1.0":
+"wrap-ansi@npm:^8.0.1, wrap-ansi@npm:^8.1.0":
version: 8.1.0
resolution: "wrap-ansi@npm:8.1.0"
dependencies:
@@ -17773,6 +17854,13 @@ __metadata:
languageName: node
linkType: hard
+"yaml@npm:2.3.3":
+ version: 2.3.3
+ resolution: "yaml@npm:2.3.3"
+ checksum: a0c56bf682159b0567e9cbbddf23efc2f6806f6450716d9be6ec5eb1af1b941e95c8d3dc9c47da20d1b6883a9d6c61e31cf98bb4b77ebca4396bf772657f2f00
+ languageName: node
+ linkType: hard
+
"yaml@npm:^1.10.0":
version: 1.10.2
resolution: "yaml@npm:1.10.2"
@@ -17780,13 +17868,6 @@ __metadata:
languageName: node
linkType: hard
-"yaml@npm:^2.2.2":
- version: 2.3.1
- resolution: "yaml@npm:2.3.1"
- checksum: ed4c21a907fb1cd60a25177612fa46d95064a144623d269199817908475fe85bef20fb17406e3bdc175351b6488056a6f84beb7836e8c262646546a0220188e3
- languageName: node
- linkType: hard
-
"yargs-parser@npm:^13.1.2":
version: 13.1.2
resolution: "yargs-parser@npm:13.1.2"