Merge commit 'fa0ba677538588086d83c97c0ea56f9cd1556590' into glitch-soc/merge-upstream
commit
5b9ddfcfcc
|
@ -174,6 +174,15 @@ Style/ClassAndModuleChildren:
|
||||||
Style/Documentation:
|
Style/Documentation:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
|
# Reason: Route redirects are not token-formatted and must be skipped
|
||||||
|
# https://docs.rubocop.org/rubocop/cops_style.html#styleformatstringtoken
|
||||||
|
Style/FormatStringToken:
|
||||||
|
inherit_mode:
|
||||||
|
merge:
|
||||||
|
- AllowedMethods # The rubocop-rails config adds `redirect`
|
||||||
|
AllowedMethods:
|
||||||
|
- redirect_with_vary
|
||||||
|
|
||||||
# Reason: Enforce modern Ruby style
|
# Reason: Enforce modern Ruby style
|
||||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
|
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
|
||||||
Style/HashSyntax:
|
Style/HashSyntax:
|
||||||
|
|
|
@ -18,8 +18,6 @@ import AutosuggestInput from 'mastodon/components/autosuggest_input';
|
||||||
|
|
||||||
const messages = defineMessages({
|
const messages = defineMessages({
|
||||||
option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Option {number}' },
|
option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Option {number}' },
|
||||||
add_option: { id: 'compose_form.poll.add_option', defaultMessage: 'Add option' },
|
|
||||||
remove_option: { id: 'compose_form.poll.remove_option', defaultMessage: 'Remove this option' },
|
|
||||||
duration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll length' },
|
duration: { id: 'compose_form.poll.duration', defaultMessage: 'Poll length' },
|
||||||
type: { id: 'compose_form.poll.type', defaultMessage: 'Style' },
|
type: { id: 'compose_form.poll.type', defaultMessage: 'Style' },
|
||||||
switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple choices' },
|
switchToMultiple: { id: 'compose_form.poll.switch_to_multiple', defaultMessage: 'Change poll to allow multiple choices' },
|
||||||
|
|
|
@ -145,11 +145,9 @@
|
||||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||||
"compose_form.lock_disclaimer.lock": "locked",
|
"compose_form.lock_disclaimer.lock": "locked",
|
||||||
"compose_form.placeholder": "What's on your mind?",
|
"compose_form.placeholder": "What's on your mind?",
|
||||||
"compose_form.poll.add_option": "Add option",
|
|
||||||
"compose_form.poll.duration": "Poll duration",
|
"compose_form.poll.duration": "Poll duration",
|
||||||
"compose_form.poll.multiple": "Multiple choice",
|
"compose_form.poll.multiple": "Multiple choice",
|
||||||
"compose_form.poll.option_placeholder": "Option {number}",
|
"compose_form.poll.option_placeholder": "Option {number}",
|
||||||
"compose_form.poll.remove_option": "Remove this option",
|
|
||||||
"compose_form.poll.single": "Pick one",
|
"compose_form.poll.single": "Pick one",
|
||||||
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
|
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices",
|
||||||
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
|
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
|
||||||
|
|
|
@ -15,10 +15,12 @@ class AccountSummary < ApplicationRecord
|
||||||
has_many :follow_recommendation_suppressions, primary_key: :account_id, foreign_key: :account_id, inverse_of: false
|
has_many :follow_recommendation_suppressions, primary_key: :account_id, foreign_key: :account_id, inverse_of: false
|
||||||
|
|
||||||
scope :safe, -> { where(sensitive: false) }
|
scope :safe, -> { where(sensitive: false) }
|
||||||
scope :localized, ->(locale) { where(language: locale) }
|
scope :localized, ->(locale) { order(Arel::Nodes::Case.new.when(arel_table[:language].eq(locale)).then(1).else(0).desc) }
|
||||||
scope :filtered, -> { where.missing(:follow_recommendation_suppressions) }
|
scope :filtered, -> { where.missing(:follow_recommendation_suppressions) }
|
||||||
|
|
||||||
def self.refresh
|
def self.refresh
|
||||||
|
Scenic.database.refresh_materialized_view(table_name, concurrently: true, cascade: false)
|
||||||
|
rescue ActiveRecord::StatementInvalid
|
||||||
Scenic.database.refresh_materialized_view(table_name, concurrently: false, cascade: false)
|
Scenic.database.refresh_materialized_view(table_name, concurrently: false, cascade: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,8 @@ class FollowRecommendation < ApplicationRecord
|
||||||
scope :localized, ->(locale) { joins(:account_summary).merge(AccountSummary.localized(locale)) }
|
scope :localized, ->(locale) { joins(:account_summary).merge(AccountSummary.localized(locale)) }
|
||||||
|
|
||||||
def self.refresh
|
def self.refresh
|
||||||
|
Scenic.database.refresh_materialized_view(table_name, concurrently: true, cascade: false)
|
||||||
|
rescue ActiveRecord::StatementInvalid
|
||||||
Scenic.database.refresh_materialized_view(table_name, concurrently: false, cascade: false)
|
Scenic.database.refresh_materialized_view(table_name, concurrently: false, cascade: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -105,12 +105,12 @@ Rails.application.routes.draw do
|
||||||
confirmations: 'auth/confirmations',
|
confirmations: 'auth/confirmations',
|
||||||
}
|
}
|
||||||
|
|
||||||
# rubocop:disable Style/FormatStringToken - those do not go through the usual formatting functions and are not safe to correct
|
with_options constraints: ->(req) { req.format.nil? || req.format.html? } do
|
||||||
get '/users/:username', to: redirect_with_vary('/@%{username}'), constraints: ->(req) { req.format.nil? || req.format.html? }
|
get '/users/:username', to: redirect_with_vary('/@%{username}')
|
||||||
get '/users/:username/following', to: redirect_with_vary('/@%{username}/following'), constraints: ->(req) { req.format.nil? || req.format.html? }
|
get '/users/:username/following', to: redirect_with_vary('/@%{username}/following')
|
||||||
get '/users/:username/followers', to: redirect_with_vary('/@%{username}/followers'), constraints: ->(req) { req.format.nil? || req.format.html? }
|
get '/users/:username/followers', to: redirect_with_vary('/@%{username}/followers')
|
||||||
get '/users/:username/statuses/:id', to: redirect_with_vary('/@%{username}/%{id}'), constraints: ->(req) { req.format.nil? || req.format.html? }
|
get '/users/:username/statuses/:id', to: redirect_with_vary('/@%{username}/%{id}')
|
||||||
# rubocop:enable Style/FormatStringToken
|
end
|
||||||
|
|
||||||
get '/authorize_follow', to: redirect { |_, request| "/authorize_interaction?#{request.params.to_query}" }
|
get '/authorize_follow', to: redirect { |_, request| "/authorize_interaction?#{request.params.to_query}" }
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
class CreateAccountSummaries < ActiveRecord::Migration[5.2]
|
class CreateAccountSummaries < ActiveRecord::Migration[5.2]
|
||||||
def change
|
def change
|
||||||
create_view :account_summaries, materialized: { no_data: true }
|
create_view :account_summaries, materialized: true
|
||||||
|
|
||||||
# To be able to refresh the view concurrently,
|
# To be able to refresh the view concurrently,
|
||||||
# at least one unique index is required
|
# at least one unique index is required
|
||||||
|
|
|
@ -6,7 +6,7 @@ class UpdateFollowRecommendationsToVersion2 < ActiveRecord::Migration[6.1]
|
||||||
|
|
||||||
def up
|
def up
|
||||||
drop_view :follow_recommendations
|
drop_view :follow_recommendations
|
||||||
create_view :follow_recommendations, version: 2, materialized: { no_data: true }
|
create_view :follow_recommendations, version: 2, materialized: true
|
||||||
|
|
||||||
# To be able to refresh the view concurrently,
|
# To be able to refresh the view concurrently,
|
||||||
# at least one unique index is required
|
# at least one unique index is required
|
||||||
|
|
|
@ -4,7 +4,7 @@ class UpdateAccountSummariesToVersion2 < ActiveRecord::Migration[6.1]
|
||||||
def up
|
def up
|
||||||
reapplication_follow_recommendations_v2 do
|
reapplication_follow_recommendations_v2 do
|
||||||
drop_view :account_summaries, materialized: true
|
drop_view :account_summaries, materialized: true
|
||||||
create_view :account_summaries, version: 2, materialized: { no_data: true }
|
create_view :account_summaries, version: 2, materialized: true
|
||||||
safety_assured { add_index :account_summaries, :account_id, unique: true }
|
safety_assured { add_index :account_summaries, :account_id, unique: true }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -12,7 +12,7 @@ class UpdateAccountSummariesToVersion2 < ActiveRecord::Migration[6.1]
|
||||||
def down
|
def down
|
||||||
reapplication_follow_recommendations_v2 do
|
reapplication_follow_recommendations_v2 do
|
||||||
drop_view :account_summaries, materialized: true
|
drop_view :account_summaries, materialized: true
|
||||||
create_view :account_summaries, version: 1, materialized: { no_data: true }
|
create_view :account_summaries, version: 1, materialized: true
|
||||||
safety_assured { add_index :account_summaries, :account_id, unique: true }
|
safety_assured { add_index :account_summaries, :account_id, unique: true }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -20,7 +20,7 @@ class UpdateAccountSummariesToVersion2 < ActiveRecord::Migration[6.1]
|
||||||
def reapplication_follow_recommendations_v2
|
def reapplication_follow_recommendations_v2
|
||||||
drop_view :follow_recommendations, materialized: true
|
drop_view :follow_recommendations, materialized: true
|
||||||
yield
|
yield
|
||||||
create_view :follow_recommendations, version: 2, materialized: { no_data: true }
|
create_view :follow_recommendations, version: 2, materialized: true
|
||||||
safety_assured { add_index :follow_recommendations, :account_id, unique: true }
|
safety_assured { add_index :follow_recommendations, :account_id, unique: true }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
class CreateGlobalFollowRecommendations < ActiveRecord::Migration[7.0]
|
class CreateGlobalFollowRecommendations < ActiveRecord::Migration[7.0]
|
||||||
def change
|
def change
|
||||||
create_view :global_follow_recommendations, materialized: { no_data: true }
|
create_view :global_follow_recommendations, materialized: true
|
||||||
safety_assured { add_index :global_follow_recommendations, :account_id, unique: true }
|
safety_assured { add_index :global_follow_recommendations, :account_id, unique: true }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -6,7 +6,7 @@ class DropFollowRecommendations < ActiveRecord::Migration[7.0]
|
||||||
end
|
end
|
||||||
|
|
||||||
def down
|
def down
|
||||||
create_view :follow_recommendations, version: 2, materialized: { no_data: true }
|
create_view :follow_recommendations, version: 2, materialized: true
|
||||||
safety_assured { add_index :follow_recommendations, :account_id, unique: true }
|
safety_assured { add_index :follow_recommendations, :account_id, unique: true }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -58,7 +58,7 @@ module Mastodon::CLI
|
||||||
end
|
end
|
||||||
|
|
||||||
unless options[:prune_profiles] || options[:remove_headers]
|
unless options[:prune_profiles] || options[:remove_headers]
|
||||||
processed, aggregate = parallelize_with_progress(MediaAttachment.cached.where.not(remote_url: '').where(created_at: ..time_ago)) do |media_attachment|
|
processed, aggregate = parallelize_with_progress(MediaAttachment.cached.remote.where(created_at: ..time_ago)) do |media_attachment|
|
||||||
next if media_attachment.file.blank?
|
next if media_attachment.file.blank?
|
||||||
|
|
||||||
size = (media_attachment.file_file_size || 0) + (media_attachment.thumbnail_file_size || 0)
|
size = (media_attachment.file_file_size || 0) + (media_attachment.thumbnail_file_size || 0)
|
||||||
|
|
|
@ -49,22 +49,21 @@ describe AccountControllerConcern do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when account is not suspended' do
|
context 'when account is not suspended' do
|
||||||
it 'assigns @account' do
|
let(:account) { Fabricate(:account, username: 'username') }
|
||||||
account = Fabricate(:account)
|
|
||||||
|
it 'assigns @account, returns success, and sets link headers' do
|
||||||
get 'success', params: { account_username: account.username }
|
get 'success', params: { account_username: account.username }
|
||||||
|
|
||||||
expect(assigns(:account)).to eq account
|
expect(assigns(:account)).to eq account
|
||||||
end
|
|
||||||
|
|
||||||
it 'sets link headers' do
|
|
||||||
Fabricate(:account, username: 'username')
|
|
||||||
get 'success', params: { account_username: 'username' }
|
|
||||||
expect(response.headers['Link'].to_s).to eq '<http://test.host/.well-known/webfinger?resource=acct%3Ausername%40cb6e6126.ngrok.io>; rel="lrdd"; type="application/jrd+json", <https://cb6e6126.ngrok.io/users/username>; rel="alternate"; type="application/activity+json"'
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success' do
|
|
||||||
account = Fabricate(:account)
|
|
||||||
get 'success', params: { account_username: account.username }
|
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
|
expect(response.headers['Link'].to_s).to eq(expected_link_headers)
|
||||||
|
end
|
||||||
|
|
||||||
|
def expected_link_headers
|
||||||
|
[
|
||||||
|
'<http://test.host/.well-known/webfinger?resource=acct%3Ausername%40cb6e6126.ngrok.io>; rel="lrdd"; type="application/jrd+json"',
|
||||||
|
'<https://cb6e6126.ngrok.io/users/username>; rel="alternate"; type="application/activity+json"',
|
||||||
|
].join(', ')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,7 +10,7 @@ module ProfileStories
|
||||||
account: Fabricate(:account, username: 'bob')
|
account: Fabricate(:account, username: 'bob')
|
||||||
)
|
)
|
||||||
|
|
||||||
Web::Setting.where(user: bob).first_or_initialize(user: bob).update!(data: { introductionVersion: 201812160442020 }) if finished_onboarding # rubocop:disable Style/NumericLiterals
|
Web::Setting.where(user: bob).first_or_initialize(user: bob).update!(data: { introductionVersion: 2018_12_16_044202 }) if finished_onboarding
|
||||||
end
|
end
|
||||||
|
|
||||||
def as_a_logged_in_user
|
def as_a_logged_in_user
|
||||||
|
|
199
yarn.lock
199
yarn.lock
|
@ -1777,8 +1777,8 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/cli@npm:^6.1.1":
|
"@formatjs/cli@npm:^6.1.1":
|
||||||
version: 6.2.6
|
version: 6.2.7
|
||||||
resolution: "@formatjs/cli@npm:6.2.6"
|
resolution: "@formatjs/cli@npm:6.2.7"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vue: ^3.3.4
|
vue: ^3.3.4
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
|
@ -1786,17 +1786,7 @@ __metadata:
|
||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
formatjs: bin/formatjs
|
formatjs: bin/formatjs
|
||||||
checksum: f8b0bc45c72b83437f0dc91a2d3ea513852c11bfd8eedbc2f255b19552f153bccb4d38fcd281f897ca60d0dfddf2b99de22e5a87cb1e173ca11df88c61cde2e4
|
checksum: ee7b0873a734e02721ce1ee107ee60845bb30855f4ca686bfb6c5e9862353249d5d20748b18db93200aabc7a59875ff062f485c64d41cb8e61f1d43e2bb5eceb
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@formatjs/ecma402-abstract@npm:1.18.0":
|
|
||||||
version: 1.18.0
|
|
||||||
resolution: "@formatjs/ecma402-abstract@npm:1.18.0"
|
|
||||||
dependencies:
|
|
||||||
"@formatjs/intl-localematcher": "npm:0.5.2"
|
|
||||||
tslib: "npm:^2.4.0"
|
|
||||||
checksum: bbdad0aee8e48baad6bfe6b2c27caf3befe35e658b922ee2f84417a819f0bdc7e849a8c0c782db8b53f5666bf19669d2b10a1104257c08796d198c87766bfc92
|
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -1819,17 +1809,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/icu-messageformat-parser@npm:2.7.3":
|
|
||||||
version: 2.7.3
|
|
||||||
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.3"
|
|
||||||
dependencies:
|
|
||||||
"@formatjs/ecma402-abstract": "npm:1.18.0"
|
|
||||||
"@formatjs/icu-skeleton-parser": "npm:1.7.0"
|
|
||||||
tslib: "npm:^2.4.0"
|
|
||||||
checksum: 2a51038813e5cff7e2df767e1227373d228e907adb7268fc3744b3d82c4fa69d4aa9f6020a62de2c468cf724600e9372ac07ae43a4480ed066fe34e224e80e4a
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@formatjs/icu-messageformat-parser@npm:2.7.6":
|
"@formatjs/icu-messageformat-parser@npm:2.7.6":
|
||||||
version: 2.7.6
|
version: 2.7.6
|
||||||
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.6"
|
resolution: "@formatjs/icu-messageformat-parser@npm:2.7.6"
|
||||||
|
@ -1841,16 +1820,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/icu-skeleton-parser@npm:1.7.0":
|
|
||||||
version: 1.7.0
|
|
||||||
resolution: "@formatjs/icu-skeleton-parser@npm:1.7.0"
|
|
||||||
dependencies:
|
|
||||||
"@formatjs/ecma402-abstract": "npm:1.18.0"
|
|
||||||
tslib: "npm:^2.4.0"
|
|
||||||
checksum: 2e4db815247ddb10f7990bbb501c85b854ee951ee45143673eb91b4392b11d0a8312327adb8b624c6a2fdafab12083904630d6d22475503d025f1612da4dcaee
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@formatjs/icu-skeleton-parser@npm:1.8.0":
|
"@formatjs/icu-skeleton-parser@npm:1.8.0":
|
||||||
version: 1.8.0
|
version: 1.8.0
|
||||||
resolution: "@formatjs/icu-skeleton-parser@npm:1.8.0"
|
resolution: "@formatjs/icu-skeleton-parser@npm:1.8.0"
|
||||||
|
@ -1883,15 +1852,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/intl-localematcher@npm:0.5.2":
|
|
||||||
version: 0.5.2
|
|
||||||
resolution: "@formatjs/intl-localematcher@npm:0.5.2"
|
|
||||||
dependencies:
|
|
||||||
tslib: "npm:^2.4.0"
|
|
||||||
checksum: 4b3ae75470e3e53ffa39b2d46e65a2a4c9c4becbc0aac989b0694370e10c6687643660a045512d676509bc29b257fe5726fbb028de12f889be02c2d20b6527e6
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@formatjs/intl-localematcher@npm:0.5.4":
|
"@formatjs/intl-localematcher@npm:0.5.4":
|
||||||
version: 0.5.4
|
version: 0.5.4
|
||||||
resolution: "@formatjs/intl-localematcher@npm:0.5.4"
|
resolution: "@formatjs/intl-localematcher@npm:0.5.4"
|
||||||
|
@ -1952,26 +1912,6 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@formatjs/ts-transformer@npm:3.13.9":
|
|
||||||
version: 3.13.9
|
|
||||||
resolution: "@formatjs/ts-transformer@npm:3.13.9"
|
|
||||||
dependencies:
|
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.7.3"
|
|
||||||
"@types/json-stable-stringify": "npm:^1.0.32"
|
|
||||||
"@types/node": "npm:14 || 16 || 17"
|
|
||||||
chalk: "npm:^4.0.0"
|
|
||||||
json-stable-stringify: "npm:^1.0.1"
|
|
||||||
tslib: "npm:^2.4.0"
|
|
||||||
typescript: "npm:5"
|
|
||||||
peerDependencies:
|
|
||||||
ts-jest: ">=27"
|
|
||||||
peerDependenciesMeta:
|
|
||||||
ts-jest:
|
|
||||||
optional: true
|
|
||||||
checksum: 4e313b967e45aae79246174c3181d31cc7cd297380d3a880a98fc0be16d76b783868712151e840ea16d22e2fbec0388b1005f688b6d4cb74ee4411b43f6d33f4
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@gamestdio/websocket@npm:^0.3.2":
|
"@gamestdio/websocket@npm:^0.3.2":
|
||||||
version: 0.3.2
|
version: 0.3.2
|
||||||
resolution: "@gamestdio/websocket@npm:0.3.2"
|
resolution: "@gamestdio/websocket@npm:0.3.2"
|
||||||
|
@ -2944,8 +2884,8 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@testing-library/jest-dom@npm:^6.0.0":
|
"@testing-library/jest-dom@npm:^6.0.0":
|
||||||
version: 6.2.0
|
version: 6.4.0
|
||||||
resolution: "@testing-library/jest-dom@npm:6.2.0"
|
resolution: "@testing-library/jest-dom@npm:6.4.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@adobe/css-tools": "npm:^4.3.2"
|
"@adobe/css-tools": "npm:^4.3.2"
|
||||||
"@babel/runtime": "npm:^7.9.2"
|
"@babel/runtime": "npm:^7.9.2"
|
||||||
|
@ -2957,19 +2897,22 @@ __metadata:
|
||||||
redent: "npm:^3.0.0"
|
redent: "npm:^3.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@jest/globals": ">= 28"
|
"@jest/globals": ">= 28"
|
||||||
|
"@types/bun": "*"
|
||||||
"@types/jest": ">= 28"
|
"@types/jest": ">= 28"
|
||||||
jest: ">= 28"
|
jest: ">= 28"
|
||||||
vitest: ">= 0.32"
|
vitest: ">= 0.32"
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@jest/globals":
|
"@jest/globals":
|
||||||
optional: true
|
optional: true
|
||||||
|
"@types/bun":
|
||||||
|
optional: true
|
||||||
"@types/jest":
|
"@types/jest":
|
||||||
optional: true
|
optional: true
|
||||||
jest:
|
jest:
|
||||||
optional: true
|
optional: true
|
||||||
vitest:
|
vitest:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 71421693e0ad6a46be7d16f00b58a45725c238693972b8b5b1fd9ab797902ccf1209cf259afe8da1bf59d7c958762c46ee85d1aa5b164a5ec330981ea2376b08
|
checksum: 6b7eba9ca388986a721fb12f84adf0f5534bf7ec5851982023a889c4a0afac6e9e91291bdac39e1f59a05adefd7727e30463d98b21c3da32fbfec229ccb11ef1
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -3719,14 +3662,14 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@npm:^6.0.0":
|
"@typescript-eslint/eslint-plugin@npm:^6.0.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/eslint-plugin@npm:6.19.0"
|
resolution: "@typescript-eslint/eslint-plugin@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/regexpp": "npm:^4.5.1"
|
"@eslint-community/regexpp": "npm:^4.5.1"
|
||||||
"@typescript-eslint/scope-manager": "npm:6.19.0"
|
"@typescript-eslint/scope-manager": "npm:6.20.0"
|
||||||
"@typescript-eslint/type-utils": "npm:6.19.0"
|
"@typescript-eslint/type-utils": "npm:6.20.0"
|
||||||
"@typescript-eslint/utils": "npm:6.19.0"
|
"@typescript-eslint/utils": "npm:6.20.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:6.19.0"
|
"@typescript-eslint/visitor-keys": "npm:6.20.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
graphemer: "npm:^1.4.0"
|
graphemer: "npm:^1.4.0"
|
||||||
ignore: "npm:^5.2.4"
|
ignore: "npm:^5.2.4"
|
||||||
|
@ -3739,44 +3682,44 @@ __metadata:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: ab1a5ace6663b0c6d2418e321328fa28aa4bdc4b5fae257addec01346fb3a9c2d3a2960ade0f7114e6974c513a28632c9e8e602333cc0fab3135c445babdef59
|
checksum: 5020faac39be476de056342f58f2bf68bb788f230e2fa4a2e27ceab8a5187dc450beba7333b0aa741a43aeaff45a117558132953f9390b5eca4c2cc004fde716
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/parser@npm:^6.17.0":
|
"@typescript-eslint/parser@npm:^6.17.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/parser@npm:6.19.0"
|
resolution: "@typescript-eslint/parser@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/scope-manager": "npm:6.19.0"
|
"@typescript-eslint/scope-manager": "npm:6.20.0"
|
||||||
"@typescript-eslint/types": "npm:6.19.0"
|
"@typescript-eslint/types": "npm:6.20.0"
|
||||||
"@typescript-eslint/typescript-estree": "npm:6.19.0"
|
"@typescript-eslint/typescript-estree": "npm:6.20.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:6.19.0"
|
"@typescript-eslint/visitor-keys": "npm:6.20.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^7.0.0 || ^8.0.0
|
eslint: ^7.0.0 || ^8.0.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: d547bfb1aaed112cfc0f9f0be8506a280952ba3b61be42b749352139361bd94e4a47fa043d819e19c6a498cacbd8bb36a46e3628c436a7e2009e7ac27afc8861
|
checksum: d84ad5e2282b1096c80dedb903c83ecc31eaf7be1aafcb14c18d9ec2d4a319f2fd1e5a9038b944d9f42c36c1c57add5e4292d4026ca7d3d5441d41286700d402
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@npm:6.19.0":
|
"@typescript-eslint/scope-manager@npm:6.20.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/scope-manager@npm:6.19.0"
|
resolution: "@typescript-eslint/scope-manager@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types": "npm:6.19.0"
|
"@typescript-eslint/types": "npm:6.20.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:6.19.0"
|
"@typescript-eslint/visitor-keys": "npm:6.20.0"
|
||||||
checksum: 1ec7b9dedca7975f0aa4543c1c382f7d6131411bd443a5f9b96f137acb6adb450888ed13c95f6d26546b682b2e0579ce8a1c883fdbe2255dc0b61052193b8243
|
checksum: f6768ed2dcd2d1771d55ed567ff392a6569ffd683a26500067509dd41769f8838c43686460fe7337144f324fd063df33f5d5646d44e5df4998ceffb3ad1fb790
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/type-utils@npm:6.19.0":
|
"@typescript-eslint/type-utils@npm:6.20.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/type-utils@npm:6.19.0"
|
resolution: "@typescript-eslint/type-utils@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/typescript-estree": "npm:6.19.0"
|
"@typescript-eslint/typescript-estree": "npm:6.20.0"
|
||||||
"@typescript-eslint/utils": "npm:6.19.0"
|
"@typescript-eslint/utils": "npm:6.20.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
ts-api-utils: "npm:^1.0.1"
|
ts-api-utils: "npm:^1.0.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -3784,23 +3727,23 @@ __metadata:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 5b146b985481e587122026c703ac9f537ad7e90eee1dca814971bca0d7e4a5d4ff9861fb4bf749014c28c6a4fbb4a01a4527355961315eb9501f3569f8e8dd38
|
checksum: 8f622fbb14268f1d00b2948f995b570f0ef82be02c12be41d90385290a56ea0dbd34d855d6a5aff100b57f3bdd300ff0c300f16c78f12d6064f7ae6e34fd71bf
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/types@npm:6.19.0":
|
"@typescript-eslint/types@npm:6.20.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/types@npm:6.19.0"
|
resolution: "@typescript-eslint/types@npm:6.20.0"
|
||||||
checksum: 6f81860a3c14df55232c2e6dec21fb166867b9f30b3c3369b325aef5ee1c7e41e827c0504654daa49c8ff1a3a9ca9d9bfe76786882b6212a7c1b58991a9c80b9
|
checksum: 37589003b0e06f83c1945e3748e91af85918cfd997766894642a08e6f355f611cfe11df4e7632dda96e3a9b3441406283fe834ab0906cf81ea97fd43ca2aebe3
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@npm:6.19.0":
|
"@typescript-eslint/typescript-estree@npm:6.20.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/typescript-estree@npm:6.19.0"
|
resolution: "@typescript-eslint/typescript-estree@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types": "npm:6.19.0"
|
"@typescript-eslint/types": "npm:6.20.0"
|
||||||
"@typescript-eslint/visitor-keys": "npm:6.19.0"
|
"@typescript-eslint/visitor-keys": "npm:6.20.0"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
globby: "npm:^11.1.0"
|
globby: "npm:^11.1.0"
|
||||||
is-glob: "npm:^4.0.3"
|
is-glob: "npm:^4.0.3"
|
||||||
|
@ -3810,34 +3753,34 @@ __metadata:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 5b365f009e43c7beafdbb7d8ecad78ee1087b0a4338cd9ec695eed514b7b4c1089e56239761139ddae629ec0ce8d428840c6ebfeea3618d2efe00c84f8794da5
|
checksum: 551f13445a303882d9fc0fbe14ef8507eb8414253fd87a5f13d2e324b5280b626421a238b8ec038e628bc80128dc06c057757f668738e82e64d5b39a9083c27d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/utils@npm:6.19.0, @typescript-eslint/utils@npm:^6.5.0":
|
"@typescript-eslint/utils@npm:6.20.0, @typescript-eslint/utils@npm:^6.18.1":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/utils@npm:6.19.0"
|
resolution: "@typescript-eslint/utils@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/eslint-utils": "npm:^4.4.0"
|
"@eslint-community/eslint-utils": "npm:^4.4.0"
|
||||||
"@types/json-schema": "npm:^7.0.12"
|
"@types/json-schema": "npm:^7.0.12"
|
||||||
"@types/semver": "npm:^7.5.0"
|
"@types/semver": "npm:^7.5.0"
|
||||||
"@typescript-eslint/scope-manager": "npm:6.19.0"
|
"@typescript-eslint/scope-manager": "npm:6.20.0"
|
||||||
"@typescript-eslint/types": "npm:6.19.0"
|
"@typescript-eslint/types": "npm:6.20.0"
|
||||||
"@typescript-eslint/typescript-estree": "npm:6.19.0"
|
"@typescript-eslint/typescript-estree": "npm:6.20.0"
|
||||||
semver: "npm:^7.5.4"
|
semver: "npm:^7.5.4"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^7.0.0 || ^8.0.0
|
eslint: ^7.0.0 || ^8.0.0
|
||||||
checksum: 343ff4cd4f7e102df8c46b41254d017a33d95df76455531fda679fdb92aebb9c111df8ee9ab54972e73c1e8fad9dd7e421001233f0aee8115384462b0821852e
|
checksum: 0a8ede3d80a365b52ae96d88e4a9f6e6abf3569c6b60ff9f42ff900cd843ae7c5493cd95f8f2029d90bb0acbf31030980206af98e581d760d6d41e0f80e9fb86
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@npm:6.19.0":
|
"@typescript-eslint/visitor-keys@npm:6.20.0":
|
||||||
version: 6.19.0
|
version: 6.20.0
|
||||||
resolution: "@typescript-eslint/visitor-keys@npm:6.19.0"
|
resolution: "@typescript-eslint/visitor-keys@npm:6.20.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types": "npm:6.19.0"
|
"@typescript-eslint/types": "npm:6.20.0"
|
||||||
eslint-visitor-keys: "npm:^3.4.1"
|
eslint-visitor-keys: "npm:^3.4.1"
|
||||||
checksum: bb34e922e018aadf34866995ea5949d6623f184cc4f6470ab05767dd208ffabb003b7dc3872199714574b7f10afe89d49c6f89a4e8d086edea82be73e189f1bb
|
checksum: 852d938f2e5d57200cf62733b42e73a369f797b097d17e8fd3fffd0f7315c3b9e1863eed60bb8d57d6535a3b7f1980f645f96ec6d513950f182bfa8107b33fab
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -7362,23 +7305,23 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"eslint-plugin-formatjs@npm:^4.10.1":
|
"eslint-plugin-formatjs@npm:^4.10.1":
|
||||||
version: 4.11.3
|
version: 4.12.2
|
||||||
resolution: "eslint-plugin-formatjs@npm:4.11.3"
|
resolution: "eslint-plugin-formatjs@npm:4.12.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formatjs/icu-messageformat-parser": "npm:2.7.3"
|
"@formatjs/icu-messageformat-parser": "npm:2.7.6"
|
||||||
"@formatjs/ts-transformer": "npm:3.13.9"
|
"@formatjs/ts-transformer": "npm:3.13.12"
|
||||||
"@types/eslint": "npm:7 || 8"
|
"@types/eslint": "npm:7 || 8"
|
||||||
"@types/picomatch": "npm:^2.3.0"
|
"@types/picomatch": "npm:^2.3.0"
|
||||||
"@typescript-eslint/utils": "npm:^6.5.0"
|
"@typescript-eslint/utils": "npm:^6.18.1"
|
||||||
emoji-regex: "npm:^10.2.1"
|
emoji-regex: "npm:^10.2.1"
|
||||||
magic-string: "npm:^0.30.0"
|
magic-string: "npm:^0.30.0"
|
||||||
picomatch: "npm:^2.3.1"
|
picomatch: "npm:^2.3.1"
|
||||||
tslib: "npm:2.6.2"
|
tslib: "npm:2.6.2"
|
||||||
typescript: "npm:5"
|
typescript: "npm:5"
|
||||||
unicode-emoji-utils: "npm:^1.1.1"
|
unicode-emoji-utils: "npm:^1.2.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: 7 || 8
|
eslint: 7 || 8
|
||||||
checksum: 66481e0b5af5738bdb2b164ac1c74216c5c26f7c7400456a58387e71424bb30554aef39da43ce29bfd551f7dad678818d9af029022edadc4e1024349339f6984
|
checksum: 77cc1a2959903fcb6639d9fec89e7dfc55cf1e4ea58fca7d3bd6d12fa540aa173cbf5f90fc629b6aaf2ea3b8e61ed0a3cfce940fd2bec6f0796353315e2dbeef
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -7410,8 +7353,8 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"eslint-plugin-jsdoc@npm:^48.0.0":
|
"eslint-plugin-jsdoc@npm:^48.0.0":
|
||||||
version: 48.0.2
|
version: 48.0.4
|
||||||
resolution: "eslint-plugin-jsdoc@npm:48.0.2"
|
resolution: "eslint-plugin-jsdoc@npm:48.0.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@es-joy/jsdoccomment": "npm:~0.41.0"
|
"@es-joy/jsdoccomment": "npm:~0.41.0"
|
||||||
are-docs-informative: "npm:^0.0.2"
|
are-docs-informative: "npm:^0.0.2"
|
||||||
|
@ -7424,7 +7367,7 @@ __metadata:
|
||||||
spdx-expression-parse: "npm:^4.0.0"
|
spdx-expression-parse: "npm:^4.0.0"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
|
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
|
||||||
checksum: 6e6062c22fa4039e4be898a62f8ca0edef8bcbdc8257abb18302471e9819ccd63941971cf8de0ccf4eb59b3508902aa06de56214d80bdfc9bde7cadb94906190
|
checksum: c73063d26ca70d37ea00eea9750d1f889e5bfda64ca46dbfc6bf4842b892551c320368220cb46acc9d3d96a89fd5391486650284b82dc722f700e3b5df5c78db
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -9143,9 +9086,9 @@ __metadata:
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"immutable@npm:^4.0.0, immutable@npm:^4.0.0-rc.1, immutable@npm:^4.3.0":
|
"immutable@npm:^4.0.0, immutable@npm:^4.0.0-rc.1, immutable@npm:^4.3.0":
|
||||||
version: 4.3.4
|
version: 4.3.5
|
||||||
resolution: "immutable@npm:4.3.4"
|
resolution: "immutable@npm:4.3.5"
|
||||||
checksum: c15b9f0fa7b3c9315725cb00704fddad59f0e668a7379c39b9a528a8386140ee9effb015ae51a5b423e05c59d15fc0b38c970db6964ad6b3e05d0761db68441f
|
checksum: 63d2d7908241a955d18c7822fd2215b6e89ff5a1a33cc72cd475b013cbbdef7a705aa5170a51ce9f84a57f62fdddfaa34e7b5a14b33d8a43c65cc6a881d6e894
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
@ -16518,7 +16461,7 @@ __metadata:
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"unicode-emoji-utils@npm:^1.1.1":
|
"unicode-emoji-utils@npm:^1.2.0":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "unicode-emoji-utils@npm:1.2.0"
|
resolution: "unicode-emoji-utils@npm:1.2.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
Loading…
Reference in New Issue