Merge commit 'c929b4cace3f95fe54fdafe449ea7e972c8d61e8' into glitch-soc/merge-upstream

shrike
Claire 2024-07-12 13:41:54 +02:00
commit 55cf5e0188
39 changed files with 197 additions and 178 deletions

View File

@ -1,6 +1,6 @@
# This configuration was generated by # This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp` # `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp`
# using RuboCop version 1.64.1. # using RuboCop version 1.65.0.
# The point is for the user to remove these configuration records # The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base. # one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new # Note that changes in the inspected code, or installation of new
@ -14,7 +14,7 @@ Lint/NonLocalExitFromIterator:
Metrics/AbcSize: Metrics/AbcSize:
Max: 90 Max: 90
# Configuration parameters: CountBlocks, Max. # Configuration parameters: CountBlocks, CountModifierForms, Max.
Metrics/BlockNesting: Metrics/BlockNesting:
Exclude: Exclude:
- 'lib/tasks/mastodon.rake' - 'lib/tasks/mastodon.rake'

View File

@ -180,7 +180,7 @@ GEM
css_parser (1.17.1) css_parser (1.17.1)
addressable addressable
csv (3.3.0) csv (3.3.0)
database_cleaner-active_record (2.1.0) database_cleaner-active_record (2.2.0)
activerecord (>= 5.a) activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0) database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1) database_cleaner-core (2.0.1)
@ -590,8 +590,8 @@ GEM
pastel (0.8.0) pastel (0.8.0)
tty-color (~> 0.5) tty-color (~> 0.5)
pg (1.5.6) pg (1.5.6)
pghero (3.5.0) pghero (3.6.0)
activerecord (>= 6) activerecord (>= 6.1)
premailer (1.23.0) premailer (1.23.0)
addressable addressable
css_parser (>= 1.12.0) css_parser (>= 1.12.0)

View File

@ -562,7 +562,7 @@ class Status extends ImmutablePureComponent {
<RelativeTimestamp timestamp={status.get('created_at')} />{status.get('edited_at') && <abbr title={intl.formatMessage(messages.edited, { date: intl.formatDate(status.get('edited_at'), { year: 'numeric', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }) })}> *</abbr>} <RelativeTimestamp timestamp={status.get('created_at')} />{status.get('edited_at') && <abbr title={intl.formatMessage(messages.edited, { date: intl.formatDate(status.get('edited_at'), { year: 'numeric', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }) })}> *</abbr>}
</a> </a>
<a onClick={this.handleAccountClick} href={`/@${status.getIn(['account', 'acct'])}`} data-hover-card-account={status.getIn(['account', 'id'])} className='status__display-name' target='_blank' rel='noopener noreferrer'> <a onClick={this.handleAccountClick} href={`/@${status.getIn(['account', 'acct'])}`} title={status.getIn(['account', 'acct'])} data-hover-card-account={status.getIn(['account', 'id'])} className='status__display-name' target='_blank' rel='noopener noreferrer'>
<div className='status__avatar'> <div className='status__avatar'>
{statusAvatar} {statusAvatar}
</div> </div>

View File

@ -116,7 +116,7 @@ class StatusContent extends PureComponent {
if (mention) { if (mention) {
link.addEventListener('click', this.onMentionClick.bind(this, mention), false); link.addEventListener('click', this.onMentionClick.bind(this, mention), false);
link.removeAttribute('title'); link.setAttribute('title', `@${mention.get('acct')}`);
link.setAttribute('href', `/@${mention.get('acct')}`); link.setAttribute('href', `/@${mention.get('acct')}`);
link.setAttribute('data-hover-card-account', mention.get('id')); link.setAttribute('data-hover-card-account', mention.get('id'));
} else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) { } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {

View File

@ -435,7 +435,7 @@ class Notification extends ImmutablePureComponent {
const targetAccount = report.get('target_account'); const targetAccount = report.get('target_account');
const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') }; const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') };
const targetLink = <bdi><Link className='notification__display-name' data-hover-card-account={targetAccount.get('id')} to={`/@${targetAccount.get('acct')}`} dangerouslySetInnerHTML={targetDisplayNameHtml} /></bdi>; const targetLink = <bdi><Link className='notification__display-name' title={targetAccount.get('acct')} data-hover-card-account={targetAccount.get('id')} to={`/@${targetAccount.get('acct')}`} dangerouslySetInnerHTML={targetDisplayNameHtml} /></bdi>;
return ( return (
<HotKeys handlers={this.getHandlers()}> <HotKeys handlers={this.getHandlers()}>
@ -458,7 +458,7 @@ class Notification extends ImmutablePureComponent {
const { notification } = this.props; const { notification } = this.props;
const account = notification.get('account'); const account = notification.get('account');
const displayNameHtml = { __html: account.get('display_name_html') }; const displayNameHtml = { __html: account.get('display_name_html') };
const link = <bdi><Link className='notification__display-name' href={`/@${account.get('acct')}`} data-hover-card-account={account.get('id')} to={`/@${account.get('acct')}`} dangerouslySetInnerHTML={displayNameHtml} /></bdi>; const link = <bdi><Link className='notification__display-name' href={`/@${account.get('acct')}`} title={account.get('acct')} data-hover-card-account={account.get('id')} to={`/@${account.get('acct')}`} dangerouslySetInnerHTML={displayNameHtml} /></bdi>;
switch(notification.get('type')) { switch(notification.get('type')) {
case 'follow': case 'follow':

View File

@ -25,7 +25,7 @@ import { clearHeight } from '../../actions/height_cache';
import { expandNotifications } from '../../actions/notifications'; import { expandNotifications } from '../../actions/notifications';
import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server'; import { fetchServer, fetchServerTranslationLanguages } from '../../actions/server';
import { expandHomeTimeline } from '../../actions/timelines'; import { expandHomeTimeline } from '../../actions/timelines';
import initialState, { me, owner, singleUserMode, trendsEnabled, trendsAsLanding } from '../../initial_state'; import initialState, { me, owner, singleUserMode, trendsEnabled, trendsAsLanding, disableHoverCards } from '../../initial_state';
import BundleColumnError from './components/bundle_column_error'; import BundleColumnError from './components/bundle_column_error';
import Header from './components/header'; import Header from './components/header';
@ -588,7 +588,7 @@ class UI extends PureComponent {
{layout !== 'mobile' && <PictureInPicture />} {layout !== 'mobile' && <PictureInPicture />}
<NotificationsContainer /> <NotificationsContainer />
<HoverCardController /> {!disableHoverCards && <HoverCardController />}
<LoadingBarContainer className='loading-bar' /> <LoadingBarContainer className='loading-bar' />
<ModalContainer /> <ModalContainer />
<UploadArea active={draggingOver} onClose={this.closeUploadModal} /> <UploadArea active={draggingOver} onClose={this.closeUploadModal} />

View File

@ -15,6 +15,7 @@
* @property {boolean=} boost_modal * @property {boolean=} boost_modal
* @property {boolean=} delete_modal * @property {boolean=} delete_modal
* @property {boolean=} disable_swiping * @property {boolean=} disable_swiping
* @property {boolean=} disable_hover_cards
* @property {string=} disabled_account_id * @property {string=} disabled_account_id
* @property {string} display_media * @property {string} display_media
* @property {string} domain * @property {string} domain
@ -86,6 +87,7 @@ export const autoPlayGif = getMeta('auto_play_gif');
export const boostModal = getMeta('boost_modal'); export const boostModal = getMeta('boost_modal');
export const deleteModal = getMeta('delete_modal'); export const deleteModal = getMeta('delete_modal');
export const disableSwiping = getMeta('disable_swiping'); export const disableSwiping = getMeta('disable_swiping');
export const disableHoverCards = getMeta('disable_hover_cards');
export const disabledAccountId = getMeta('disabled_account_id'); export const disabledAccountId = getMeta('disabled_account_id');
export const displayMedia = getMeta('display_media'); export const displayMedia = getMeta('display_media');
export const domain = getMeta('domain'); export const domain = getMeta('domain');

View File

@ -35,7 +35,9 @@
"account.follow_back": "Падпісацца ў адказ", "account.follow_back": "Падпісацца ў адказ",
"account.followers": "Падпісчыкі", "account.followers": "Падпісчыкі",
"account.followers.empty": "Ніхто пакуль не падпісаны на гэтага карыстальніка.", "account.followers.empty": "Ніхто пакуль не падпісаны на гэтага карыстальніка.",
"account.followers_counter": "{count, plural, one {{counter} падпісчык} few {{counter} падпісчыкі} many {{counter} падпісчыкаў} other {{counter} падпісчыка}}",
"account.following": "Падпіскі", "account.following": "Падпіскі",
"account.following_counter": "{count, plural, one {{counter} падпіска} few {{counter} падпіскі} many {{counter} падпісак} other {{counter} падпіскі}}",
"account.follows.empty": "Карыстальнік ні на каго не падпісаны.", "account.follows.empty": "Карыстальнік ні на каго не падпісаны.",
"account.go_to_profile": "Перайсці да профілю", "account.go_to_profile": "Перайсці да профілю",
"account.hide_reblogs": "Схаваць пашырэнні ад @{name}", "account.hide_reblogs": "Схаваць пашырэнні ад @{name}",
@ -61,6 +63,7 @@
"account.requested_follow": "{name} адправіў запыт на падпіску", "account.requested_follow": "{name} адправіў запыт на падпіску",
"account.share": "Абагуліць профіль @{name}", "account.share": "Абагуліць профіль @{name}",
"account.show_reblogs": "Паказаць падштурхоўванні ад @{name}", "account.show_reblogs": "Паказаць падштурхоўванні ад @{name}",
"account.statuses_counter": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
"account.unblock": "Разблакіраваць @{name}", "account.unblock": "Разблакіраваць @{name}",
"account.unblock_domain": "Разблакіраваць дамен {domain}", "account.unblock_domain": "Разблакіраваць дамен {domain}",
"account.unblock_short": "Разблакіраваць", "account.unblock_short": "Разблакіраваць",
@ -412,6 +415,7 @@
"limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі", "limited_account_hint.title": "Гэты профіль быў схаваны мадэратарамі",
"link_preview.author": "Ад {name}", "link_preview.author": "Ад {name}",
"link_preview.more_from_author": "Больш ад {name}", "link_preview.more_from_author": "Больш ад {name}",
"link_preview.shares": "{count, plural, one {{counter} допіс} few {{counter} допісы} many {{counter} допісаў} other {{counter} допісу}}",
"lists.account.add": "Дадаць да спісу", "lists.account.add": "Дадаць да спісу",
"lists.account.remove": "Выдаліць са спісу", "lists.account.remove": "Выдаліць са спісу",
"lists.delete": "Выдаліць спіс", "lists.delete": "Выдаліць спіс",

View File

@ -103,6 +103,10 @@ module User::HasSettings
settings['web.disable_swiping'] settings['web.disable_swiping']
end end
def setting_disable_hover_cards
settings['web.disable_hover_cards']
end
def setting_always_send_emails def setting_always_send_emails
settings['always_send_emails'] settings['always_send_emails']
end end

View File

@ -29,6 +29,7 @@ class UserSettings
setting :use_pending_items, default: false setting :use_pending_items, default: false
setting :use_system_font, default: false setting :use_system_font, default: false
setting :disable_swiping, default: false setting :disable_swiping, default: false
setting :disable_hover_cards, default: false
setting :delete_modal, default: true setting :delete_modal, default: true
setting :reblog_modal, default: false setting :reblog_modal, default: false
setting :favourite_modal, default: false setting :favourite_modal, default: false

View File

@ -39,6 +39,7 @@ class InitialStateSerializer < ActiveModel::Serializer
store[:expand_spoilers] = object_account_user.setting_expand_spoilers store[:expand_spoilers] = object_account_user.setting_expand_spoilers
store[:reduce_motion] = object_account_user.setting_reduce_motion store[:reduce_motion] = object_account_user.setting_reduce_motion
store[:disable_swiping] = object_account_user.setting_disable_swiping store[:disable_swiping] = object_account_user.setting_disable_swiping
store[:disable_hover_cards] = object_account_user.setting_disable_hover_cards
store[:advanced_layout] = object_account_user.setting_advanced_layout store[:advanced_layout] = object_account_user.setting_advanced_layout
store[:use_blurhash] = object_account_user.setting_use_blurhash store[:use_blurhash] = object_account_user.setting_use_blurhash
store[:use_pending_items] = object_account_user.setting_use_pending_items store[:use_pending_items] = object_account_user.setting_use_pending_items

View File

@ -48,6 +48,7 @@
= ff.input :'web.auto_play', wrapper: :with_label, recommended: true, label: I18n.t('simple_form.labels.defaults.setting_auto_play_gif') = ff.input :'web.auto_play', wrapper: :with_label, recommended: true, label: I18n.t('simple_form.labels.defaults.setting_auto_play_gif')
= ff.input :'web.reduce_motion', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_reduce_motion') = ff.input :'web.reduce_motion', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_reduce_motion')
= ff.input :'web.disable_swiping', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_swiping') = ff.input :'web.disable_swiping', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_swiping')
= ff.input :'web.disable_hover_cards', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_disable_hover_cards')
= ff.input :'web.use_system_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_font_ui') = ff.input :'web.use_system_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_font_ui')
= ff.input :'web.use_system_emoji_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_emoji_font'), glitch_only: true = ff.input :'web.use_system_emoji_font', wrapper: :with_label, label: I18n.t('simple_form.labels.defaults.setting_system_emoji_font'), glitch_only: true

View File

@ -211,6 +211,7 @@ da:
setting_default_privacy: Fortrolighed for indlæg setting_default_privacy: Fortrolighed for indlæg
setting_default_sensitive: Markér altid medier som sensitive setting_default_sensitive: Markér altid medier som sensitive
setting_delete_modal: Vis bekræftelsesdialog før et indlæg slettes setting_delete_modal: Vis bekræftelsesdialog før et indlæg slettes
setting_disable_hover_cards: Deaktivér profilforhåndsvisning ved svæv (hover)
setting_disable_swiping: Deaktivér strygebevægelser setting_disable_swiping: Deaktivér strygebevægelser
setting_display_media: Medievisning setting_display_media: Medievisning
setting_display_media_default: Standard setting_display_media_default: Standard

View File

@ -211,6 +211,7 @@ de:
setting_default_privacy: Beitragssichtbarkeit setting_default_privacy: Beitragssichtbarkeit
setting_default_sensitive: Medien immer mit einer Inhaltswarnung versehen setting_default_sensitive: Medien immer mit einer Inhaltswarnung versehen
setting_delete_modal: Bestätigungsdialog beim Löschen eines Beitrags anzeigen setting_delete_modal: Bestätigungsdialog beim Löschen eines Beitrags anzeigen
setting_disable_hover_cards: Profilvorschau deaktivieren, wenn die Maus über das Profil bewegt wird
setting_disable_swiping: Wischgesten deaktivieren setting_disable_swiping: Wischgesten deaktivieren
setting_display_media: Darstellung von Medien setting_display_media: Darstellung von Medien
setting_display_media_default: Standard setting_display_media_default: Standard

View File

@ -211,6 +211,7 @@ en:
setting_default_privacy: Posting privacy setting_default_privacy: Posting privacy
setting_default_sensitive: Always mark media as sensitive setting_default_sensitive: Always mark media as sensitive
setting_delete_modal: Show confirmation dialog before deleting a post setting_delete_modal: Show confirmation dialog before deleting a post
setting_disable_hover_cards: Disable profile preview on hover
setting_disable_swiping: Disable swiping motions setting_disable_swiping: Disable swiping motions
setting_display_media: Media display setting_display_media: Media display
setting_display_media_default: Default setting_display_media_default: Default

View File

@ -211,6 +211,7 @@ es-AR:
setting_default_privacy: Privacidad de mensajes setting_default_privacy: Privacidad de mensajes
setting_default_sensitive: Siempre marcar medios como sensibles setting_default_sensitive: Siempre marcar medios como sensibles
setting_delete_modal: Mostrar diálogo de confirmación antes de eliminar un mensaje setting_delete_modal: Mostrar diálogo de confirmación antes de eliminar un mensaje
setting_disable_hover_cards: Deshabilitar previsualización del perfil al pasar el cursor
setting_disable_swiping: Deshabilitar movimientos de deslizamiento setting_disable_swiping: Deshabilitar movimientos de deslizamiento
setting_display_media: Visualización de medios setting_display_media: Visualización de medios
setting_display_media_default: Predeterminada setting_display_media_default: Predeterminada

View File

@ -211,6 +211,7 @@ es-MX:
setting_default_privacy: Privacidad de publicaciones setting_default_privacy: Privacidad de publicaciones
setting_default_sensitive: Marcar siempre imágenes como sensibles setting_default_sensitive: Marcar siempre imágenes como sensibles
setting_delete_modal: Mostrar diálogo de confirmación antes de borrar un toot setting_delete_modal: Mostrar diálogo de confirmación antes de borrar un toot
setting_disable_hover_cards: Desactivar vista previa del perfil al pasar el cursor
setting_disable_swiping: Deshabilitar movimientos de deslizamiento setting_disable_swiping: Deshabilitar movimientos de deslizamiento
setting_display_media: Visualización multimedia setting_display_media: Visualización multimedia
setting_display_media_default: Por defecto setting_display_media_default: Por defecto

View File

@ -211,6 +211,7 @@ es:
setting_default_privacy: Privacidad de publicaciones setting_default_privacy: Privacidad de publicaciones
setting_default_sensitive: Marcar siempre imágenes como sensibles setting_default_sensitive: Marcar siempre imágenes como sensibles
setting_delete_modal: Mostrar diálogo de confirmación antes de borrar una publicación setting_delete_modal: Mostrar diálogo de confirmación antes de borrar una publicación
setting_disable_hover_cards: Desactivar vista previa del perfil al pasar el cursor
setting_disable_swiping: Deshabilitar movimientos de deslizamiento setting_disable_swiping: Deshabilitar movimientos de deslizamiento
setting_display_media: Visualización multimedia setting_display_media: Visualización multimedia
setting_display_media_default: Por defecto setting_display_media_default: Por defecto

View File

@ -211,6 +211,7 @@ fi:
setting_default_privacy: Julkaisun näkyvyys setting_default_privacy: Julkaisun näkyvyys
setting_default_sensitive: Merkitse media aina arkaluonteiseksi setting_default_sensitive: Merkitse media aina arkaluonteiseksi
setting_delete_modal: Kysy vahvistusta ennen julkaisun poistamista setting_delete_modal: Kysy vahvistusta ennen julkaisun poistamista
setting_disable_hover_cards: Poista käytöstä profiilin esikatselu osoitettaessa
setting_disable_swiping: Poista pyyhkäisyeleet käytöstä setting_disable_swiping: Poista pyyhkäisyeleet käytöstä
setting_display_media: Median näyttäminen setting_display_media: Median näyttäminen
setting_display_media_default: Oletus setting_display_media_default: Oletus

View File

@ -211,6 +211,7 @@ fo:
setting_default_privacy: Hvussu privatir eru postar? setting_default_privacy: Hvussu privatir eru postar?
setting_default_sensitive: Merk altíð miðlafílur sum viðkvæmar setting_default_sensitive: Merk altíð miðlafílur sum viðkvæmar
setting_delete_modal: Vís váttanarmynd, áðrenn postar verða strikaðir setting_delete_modal: Vís váttanarmynd, áðrenn postar verða strikaðir
setting_disable_hover_cards: Ger undanvísing, tá músin verður flutt yvir vangan, óvirkna
setting_disable_swiping: Ger sveipurørslur óvirknar setting_disable_swiping: Ger sveipurørslur óvirknar
setting_display_media: Vístir miðlar setting_display_media: Vístir miðlar
setting_display_media_default: Sjálvvirði setting_display_media_default: Sjálvvirði

View File

@ -211,6 +211,7 @@ gl:
setting_default_privacy: Privacidade da publicación setting_default_privacy: Privacidade da publicación
setting_default_sensitive: Marcar sempre multimedia como sensible setting_default_sensitive: Marcar sempre multimedia como sensible
setting_delete_modal: Solicitar confirmación antes de eliminar unha publicación setting_delete_modal: Solicitar confirmación antes de eliminar unha publicación
setting_disable_hover_cards: Desactivar vista previa do perfil ao poñerse enriba
setting_disable_swiping: Desactivar opcións de desprazamento setting_disable_swiping: Desactivar opcións de desprazamento
setting_display_media: Mostrar multimedia setting_display_media: Mostrar multimedia
setting_display_media_default: Por defecto setting_display_media_default: Por defecto

View File

@ -211,6 +211,7 @@ is:
setting_default_privacy: Gagnaleynd færslna setting_default_privacy: Gagnaleynd færslna
setting_default_sensitive: Alltaf merkja myndefni sem viðkvæmt setting_default_sensitive: Alltaf merkja myndefni sem viðkvæmt
setting_delete_modal: Birta staðfestingarglugga áður en færslu er eytt setting_delete_modal: Birta staðfestingarglugga áður en færslu er eytt
setting_disable_hover_cards: Gera óvirka forskoðun notandasniðs við yfirsvif
setting_disable_swiping: Gera strokuhreyfingar óvirkar setting_disable_swiping: Gera strokuhreyfingar óvirkar
setting_display_media: Birting myndefnis setting_display_media: Birting myndefnis
setting_display_media_default: Sjálfgefið setting_display_media_default: Sjálfgefið

View File

@ -211,6 +211,7 @@ it:
setting_default_privacy: Privacy dei post setting_default_privacy: Privacy dei post
setting_default_sensitive: Segna sempre i media come sensibili setting_default_sensitive: Segna sempre i media come sensibili
setting_delete_modal: Mostra dialogo di conferma prima di eliminare un post setting_delete_modal: Mostra dialogo di conferma prima di eliminare un post
setting_disable_hover_cards: Disabilita l'anteprima del profilo al passaggio del mouse
setting_disable_swiping: Disabilita i movimenti di scorrimento setting_disable_swiping: Disabilita i movimenti di scorrimento
setting_display_media: Visualizzazione dei media setting_display_media: Visualizzazione dei media
setting_display_media_default: Predefinita setting_display_media_default: Predefinita

View File

@ -211,6 +211,7 @@ nl:
setting_default_privacy: Zichtbaarheid van nieuwe berichten setting_default_privacy: Zichtbaarheid van nieuwe berichten
setting_default_sensitive: Media altijd als gevoelig markeren setting_default_sensitive: Media altijd als gevoelig markeren
setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging
setting_disable_hover_cards: Profielvoorbeeld uitschakelen bij zweven
setting_disable_swiping: Swipebewegingen uitschakelen setting_disable_swiping: Swipebewegingen uitschakelen
setting_display_media: Mediaweergave setting_display_media: Mediaweergave
setting_display_media_default: Standaard setting_display_media_default: Standaard

View File

@ -211,6 +211,7 @@ pl:
setting_default_privacy: Widoczność wpisów setting_default_privacy: Widoczność wpisów
setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą setting_default_sensitive: Zawsze oznaczaj zawartość multimedialną jako wrażliwą
setting_delete_modal: Pytaj o potwierdzenie przed usunięciem wpisu setting_delete_modal: Pytaj o potwierdzenie przed usunięciem wpisu
setting_disable_hover_cards: Wyłącz podgląd profilu po najechaniu
setting_disable_swiping: Wyłącz ruchy przesuwania setting_disable_swiping: Wyłącz ruchy przesuwania
setting_display_media: Wyświetlanie zawartości multimedialnej setting_display_media: Wyświetlanie zawartości multimedialnej
setting_display_media_default: Domyślne setting_display_media_default: Domyślne

View File

@ -211,6 +211,7 @@ pt-PT:
setting_default_privacy: Privacidade da publicação setting_default_privacy: Privacidade da publicação
setting_default_sensitive: Marcar sempre os media como problemáticos setting_default_sensitive: Marcar sempre os media como problemáticos
setting_delete_modal: Solicitar confirmação antes de eliminar uma publicação setting_delete_modal: Solicitar confirmação antes de eliminar uma publicação
setting_disable_hover_cards: Desativar visualização de perfil ao passar o cursor
setting_disable_swiping: Desativar os movimentos de deslize setting_disable_swiping: Desativar os movimentos de deslize
setting_display_media: Visualização de media setting_display_media: Visualização de media
setting_display_media_default: Pré-definição setting_display_media_default: Pré-definição

View File

@ -211,6 +211,7 @@ sl:
setting_default_privacy: Zasebnost objave setting_default_privacy: Zasebnost objave
setting_default_sensitive: Vedno označi medije kot občutljive setting_default_sensitive: Vedno označi medije kot občutljive
setting_delete_modal: Pred brisanjem objave prikaži okno za pritrditev setting_delete_modal: Pred brisanjem objave prikaži okno za pritrditev
setting_disable_hover_cards: Onemogoči predogled profila pod kazalko
setting_disable_swiping: Onemogoči poteze drsanja setting_disable_swiping: Onemogoči poteze drsanja
setting_display_media: Prikaz medijev setting_display_media: Prikaz medijev
setting_display_media_default: Privzeto setting_display_media_default: Privzeto

View File

@ -211,6 +211,7 @@ sr-Latn:
setting_default_privacy: Privatnost objava setting_default_privacy: Privatnost objava
setting_default_sensitive: Uvek označi multimediju kao osetljivu setting_default_sensitive: Uvek označi multimediju kao osetljivu
setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja objave setting_delete_modal: Prikaži dijalog za potvrdu pre brisanja objave
setting_disable_hover_cards: Onemogući pregled profila prelaskom kursora
setting_disable_swiping: Onemogući pokrete prevlačenja setting_disable_swiping: Onemogući pokrete prevlačenja
setting_display_media: Prikaz medija setting_display_media: Prikaz medija
setting_display_media_default: Podrazumevano setting_display_media_default: Podrazumevano

View File

@ -211,6 +211,7 @@ sr:
setting_default_privacy: Приватност објава setting_default_privacy: Приватност објава
setting_default_sensitive: Увек означи мултимедију као осетљиву setting_default_sensitive: Увек означи мултимедију као осетљиву
setting_delete_modal: Прикажи дијалог за потврду пре брисања објаве setting_delete_modal: Прикажи дијалог за потврду пре брисања објаве
setting_disable_hover_cards: Онемогући преглед профила преласком курсора
setting_disable_swiping: Онемогући покрете превлачења setting_disable_swiping: Онемогући покрете превлачења
setting_display_media: Приказ медија setting_display_media: Приказ медија
setting_display_media_default: Подразумевано setting_display_media_default: Подразумевано

View File

@ -211,6 +211,7 @@ tr:
setting_default_privacy: Gönderi gizliliği setting_default_privacy: Gönderi gizliliği
setting_default_sensitive: Medyayı her zaman hassas olarak işaretle setting_default_sensitive: Medyayı her zaman hassas olarak işaretle
setting_delete_modal: Bir gönderiyi silmeden önce onay iletişim kutusu göster setting_delete_modal: Bir gönderiyi silmeden önce onay iletişim kutusu göster
setting_disable_hover_cards: Üstüne geldiğinde profil önizlemesini devre dışı bırak
setting_disable_swiping: Kaydırma hareketlerini devre dışı bırak setting_disable_swiping: Kaydırma hareketlerini devre dışı bırak
setting_display_media: Medya görüntüleme setting_display_media: Medya görüntüleme
setting_display_media_default: Varsayılan setting_display_media_default: Varsayılan

View File

@ -211,6 +211,7 @@ vi:
setting_default_privacy: Kiểu đăng setting_default_privacy: Kiểu đăng
setting_default_sensitive: Đánh dấu media nhạy cảm setting_default_sensitive: Đánh dấu media nhạy cảm
setting_delete_modal: Hỏi trước khi xóa tút setting_delete_modal: Hỏi trước khi xóa tút
setting_disable_hover_cards: Tắt thẻ xem trước hồ sơ
setting_disable_swiping: Không dùng chuyển động vuốt setting_disable_swiping: Không dùng chuyển động vuốt
setting_display_media: Media nhạy cảm setting_display_media: Media nhạy cảm
setting_display_media_default: Mặc định setting_display_media_default: Mặc định

View File

@ -211,6 +211,7 @@ zh-TW:
setting_default_privacy: 嘟文隱私設定 setting_default_privacy: 嘟文隱私設定
setting_default_sensitive: 總是將媒體標記為敏感內容 setting_default_sensitive: 總是將媒體標記為敏感內容
setting_delete_modal: 刪除嘟文前先詢問我 setting_delete_modal: 刪除嘟文前先詢問我
setting_disable_hover_cards: 停用於滑鼠懸停時預覽個人檔案
setting_disable_swiping: 停用滑動手勢 setting_disable_swiping: 停用滑動手勢
setting_display_media: 媒體顯示 setting_display_media: 媒體顯示
setting_display_media_default: 預設 setting_display_media_default: 預設

View File

@ -69,19 +69,16 @@ describe InvitesController do
end end
end end
describe 'DELETE #create' do describe 'DELETE #destroy' do
subject { delete :destroy, params: { id: invite.id } }
let(:invite) { Fabricate(:invite, user: user, expires_at: nil) } let(:invite) { Fabricate(:invite, user: user, expires_at: nil) }
before do it 'expires invite and redirects' do
delete :destroy, params: { id: invite.id } expect { subject }
end .to(change { invite.reload.expired? }.to(true))
expect(response)
it 'redirects' do .to redirect_to invites_path
expect(response).to redirect_to invites_path
end
it 'expires invite' do
expect(invite.reload).to be_expired
end end
end end
end end

View File

@ -10,12 +10,15 @@ describe 'API V1 Accounts Statuses' do
describe 'GET /api/v1/accounts/:account_id/statuses' do describe 'GET /api/v1/accounts/:account_id/statuses' do
it 'returns expected headers', :aggregate_failures do it 'returns expected headers', :aggregate_failures do
Fabricate(:status, account: user.account) status = Fabricate(:status, account: user.account)
get "/api/v1/accounts/#{user.account.id}/statuses", params: { limit: 1 }, headers: headers get "/api/v1/accounts/#{user.account.id}/statuses", params: { limit: 1 }, headers: headers
expect(response).to have_http_status(200) expect(response)
expect(links_from_header.size) .to have_http_status(200)
.to eq(2) .and include_pagination_headers(
prev: api_v1_account_statuses_url(limit: 1, min_id: status.id),
next: api_v1_account_statuses_url(limit: 1, max_id: status.id)
)
end end
context 'with only media' do context 'with only media' do
@ -55,16 +58,9 @@ describe 'API V1 Accounts Statuses' do
it 'returns http success and includes a header link' do it 'returns http success and includes a header link' do
get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers
expect(response).to have_http_status(200) expect(response)
expect(links_from_header.size) .to have_http_status(200)
.to eq(1) .and include_pagination_headers(prev: api_v1_account_statuses_url(pinned: true, min_id: Status.first.id))
expect(links_from_header)
.to contain_exactly(
have_attributes(
href: /pinned=true/,
attr_pairs: contain_exactly(['rel', 'prev'])
)
)
end end
end end
@ -77,19 +73,11 @@ describe 'API V1 Accounts Statuses' do
it 'returns http success and header pagination links to prev and next' do it 'returns http success and header pagination links to prev and next' do
get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers get "/api/v1/accounts/#{user.account.id}/statuses", params: { pinned: true }, headers: headers
expect(response).to have_http_status(200) expect(response)
expect(links_from_header.size) .to have_http_status(200)
.to eq(2) .and include_pagination_headers(
expect(links_from_header) prev: api_v1_account_statuses_url(pinned: true, min_id: Status.first.id),
.to contain_exactly( next: api_v1_account_statuses_url(pinned: true, max_id: Status.first.id)
have_attributes(
href: /pinned=true/,
attr_pairs: contain_exactly(['rel', 'next'])
),
have_attributes(
href: /pinned=true/,
attr_pairs: contain_exactly(['rel', 'prev'])
)
) )
end end
end end
@ -138,12 +126,4 @@ describe 'API V1 Accounts Statuses' do
end end
end end
end end
private
def links_from_header
response
.headers['Link']
.links
end
end end

View File

@ -20,8 +20,12 @@ RSpec.describe 'API V1 Conversations' do
it 'returns pagination headers', :aggregate_failures do it 'returns pagination headers', :aggregate_failures do
get '/api/v1/conversations', params: { limit: 1 }, headers: headers get '/api/v1/conversations', params: { limit: 1 }, headers: headers
expect(response).to have_http_status(200) expect(response)
expect(response.headers['Link'].links.size).to eq(2) .to have_http_status(200)
.and include_pagination_headers(
prev: api_v1_conversations_url(limit: 1, min_id: Status.first.id),
next: api_v1_conversations_url(limit: 1, max_id: Status.first.id)
)
end end
it 'returns conversations', :aggregate_failures do it 'returns conversations', :aggregate_failures do

View File

@ -29,8 +29,10 @@ RSpec.describe 'API V1 Statuses Favourited by Accounts' do
expect(response) expect(response)
.to have_http_status(200) .to have_http_status(200)
expect(response.headers['Link'].links.size) .and include_pagination_headers(
.to eq(2) prev: api_v1_status_favourited_by_index_url(limit: 2, since_id: Favourite.last.id),
next: api_v1_status_favourited_by_index_url(limit: 2, max_id: Favourite.first.id)
)
expect(body_as_json.size) expect(body_as_json.size)
.to eq(2) .to eq(2)

View File

@ -28,8 +28,10 @@ RSpec.describe 'API V1 Statuses Reblogged by Accounts' do
expect(response) expect(response)
.to have_http_status(200) .to have_http_status(200)
expect(response.headers['Link'].links.size) .and include_pagination_headers(
.to eq(2) prev: api_v1_status_reblogged_by_index_url(limit: 2, since_id: bob.statuses.first.id),
next: api_v1_status_reblogged_by_index_url(limit: 2, max_id: alice.statuses.first.id)
)
expect(body_as_json.size) expect(body_as_json.size)
.to eq(2) .to eq(2)

View File

@ -83,7 +83,8 @@ RSpec.describe 'API V2 Admin Accounts' do
let(:params) { { limit: 1 } } let(:params) { { limit: 1 } }
it 'sets the correct pagination headers' do it 'sets the correct pagination headers' do
expect(response.headers['Link'].find_link(%w(rel next)).href).to eq api_v2_admin_accounts_url(limit: 1, max_id: admin_account.id) expect(response)
.to include_pagination_headers(next: api_v2_admin_accounts_url(limit: 1, max_id: admin_account.id))
end end
end end
end end

228
yarn.lock
View File

@ -52,45 +52,45 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.7": "@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/compat-data@npm:7.24.7" resolution: "@babel/compat-data@npm:7.24.8"
checksum: 10c0/dcd93a5632b04536498fbe2be5af1057f635fd7f7090483d8e797878559037e5130b26862ceb359acbae93ed27e076d395ddb4663db6b28a665756ffd02d324f checksum: 10c0/7f465e9d8e44c5b516eeb3001362a3cd9a6df51dd90d3ac9868e1e7fa631ac57fc781cec6700110d4f555ba37fe59c4a71927b445106fe0062e79e79ffe11091
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/core@npm:^7.10.4, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4": "@babel/core@npm:^7.10.4, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.22.1, @babel/core@npm:^7.24.4":
version: 7.24.7 version: 7.24.8
resolution: "@babel/core@npm:7.24.7" resolution: "@babel/core@npm:7.24.8"
dependencies: dependencies:
"@ampproject/remapping": "npm:^2.2.0" "@ampproject/remapping": "npm:^2.2.0"
"@babel/code-frame": "npm:^7.24.7" "@babel/code-frame": "npm:^7.24.7"
"@babel/generator": "npm:^7.24.7" "@babel/generator": "npm:^7.24.8"
"@babel/helper-compilation-targets": "npm:^7.24.7" "@babel/helper-compilation-targets": "npm:^7.24.8"
"@babel/helper-module-transforms": "npm:^7.24.7" "@babel/helper-module-transforms": "npm:^7.24.8"
"@babel/helpers": "npm:^7.24.7" "@babel/helpers": "npm:^7.24.8"
"@babel/parser": "npm:^7.24.7" "@babel/parser": "npm:^7.24.8"
"@babel/template": "npm:^7.24.7" "@babel/template": "npm:^7.24.7"
"@babel/traverse": "npm:^7.24.7" "@babel/traverse": "npm:^7.24.8"
"@babel/types": "npm:^7.24.7" "@babel/types": "npm:^7.24.8"
convert-source-map: "npm:^2.0.0" convert-source-map: "npm:^2.0.0"
debug: "npm:^4.1.0" debug: "npm:^4.1.0"
gensync: "npm:^1.0.0-beta.2" gensync: "npm:^1.0.0-beta.2"
json5: "npm:^2.2.3" json5: "npm:^2.2.3"
semver: "npm:^6.3.1" semver: "npm:^6.3.1"
checksum: 10c0/4004ba454d3c20a46ea66264e06c15b82e9f6bdc35f88819907d24620da70dbf896abac1cb4cc4b6bb8642969e45f4d808497c9054a1388a386cf8c12e9b9e0d checksum: 10c0/5e21b40cc69746deda3fe3d6540351d9cb0d1ad5aea055b7c319db26071ff5789fd9580d1aa47b114f07631e8e2109f4e71696ca11d7c7e60d157767022c1bd2
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/generator@npm:^7.24.7, @babel/generator@npm:^7.7.2": "@babel/generator@npm:^7.24.8, @babel/generator@npm:^7.7.2":
version: 7.24.7 version: 7.24.8
resolution: "@babel/generator@npm:7.24.7" resolution: "@babel/generator@npm:7.24.8"
dependencies: dependencies:
"@babel/types": "npm:^7.24.7" "@babel/types": "npm:^7.24.8"
"@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/gen-mapping": "npm:^0.3.5"
"@jridgewell/trace-mapping": "npm:^0.3.25" "@jridgewell/trace-mapping": "npm:^0.3.25"
jsesc: "npm:^2.5.1" jsesc: "npm:^2.5.1"
checksum: 10c0/06b1f3350baf527a3309e50ffd7065f7aee04dd06e1e7db794ddfde7fe9d81f28df64edd587173f8f9295496a7ddb74b9a185d4bf4de7bb619e6d4ec45c8fd35 checksum: 10c0/e8a278e75a895f13a7b17dd79abe1e894fe82a5ed3abb127c33c14c66773d69993762521c094c6c364723f8f7375683b0d4a96097781175a29407baedf67b769
languageName: node languageName: node
linkType: hard linkType: hard
@ -123,16 +123,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7": "@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/helper-compilation-targets@npm:7.24.7" resolution: "@babel/helper-compilation-targets@npm:7.24.8"
dependencies: dependencies:
"@babel/compat-data": "npm:^7.24.7" "@babel/compat-data": "npm:^7.24.8"
"@babel/helper-validator-option": "npm:^7.24.7" "@babel/helper-validator-option": "npm:^7.24.8"
browserslist: "npm:^4.22.2" browserslist: "npm:^4.23.1"
lru-cache: "npm:^5.1.1" lru-cache: "npm:^5.1.1"
semver: "npm:^6.3.1" semver: "npm:^6.3.1"
checksum: 10c0/1d580a9bcacefe65e6bf02ba1dafd7ab278269fef45b5e281d8354d95c53031e019890464e7f9351898c01502dd2e633184eb0bcda49ed2ecd538675ce310f51 checksum: 10c0/2885c44ef6aaf82b7e4352b30089bb09fbe08ed5ec24eb452c2bdc3c021e2a65ab412f74b3d67ec1398da0356c730b33a2ceca1d67d34c85080d31ca6efa9aec
languageName: node languageName: node
linkType: hard linkType: hard
@ -231,9 +231,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helper-module-transforms@npm:^7.24.7": "@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/helper-module-transforms@npm:7.24.7" resolution: "@babel/helper-module-transforms@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-environment-visitor": "npm:^7.24.7" "@babel/helper-environment-visitor": "npm:^7.24.7"
"@babel/helper-module-imports": "npm:^7.24.7" "@babel/helper-module-imports": "npm:^7.24.7"
@ -242,7 +242,7 @@ __metadata:
"@babel/helper-validator-identifier": "npm:^7.24.7" "@babel/helper-validator-identifier": "npm:^7.24.7"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0 "@babel/core": ^7.0.0
checksum: 10c0/4f311755fcc3b4cbdb689386309cdb349cf0575a938f0b9ab5d678e1a81bbb265aa34ad93174838245f2ac7ff6d5ddbd0104638a75e4e961958ed514355687b6 checksum: 10c0/b76496d5045af55be9de60e59e65e56a43033f01ccc746b26b7af911c358668c206b688ce70a23ab31ec04f9728f3a38e8d01073c85244115ab62f271a7fa3d1
languageName: node languageName: node
linkType: hard linkType: hard
@ -255,10 +255,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3":
version: 7.24.7 version: 7.24.8
resolution: "@babel/helper-plugin-utils@npm:7.24.7" resolution: "@babel/helper-plugin-utils@npm:7.24.8"
checksum: 10c0/c3d38cd9b3520757bb4a279255cc3f956fc0ac1c193964bd0816ebd5c86e30710be8e35252227e0c9d9e0f4f56d9b5f916537f2bc588084b0988b4787a967d31 checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d
languageName: node languageName: node
linkType: hard linkType: hard
@ -317,10 +317,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helper-string-parser@npm:^7.24.7": "@babel/helper-string-parser@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/helper-string-parser@npm:7.24.7" resolution: "@babel/helper-string-parser@npm:7.24.8"
checksum: 10c0/47840c7004e735f3dc93939c77b099bb41a64bf3dda0cae62f60e6f74a5ff80b63e9b7cf77b5ec25a324516381fc994e1f62f922533236a8e3a6af57decb5e1e checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08
languageName: node languageName: node
linkType: hard linkType: hard
@ -331,10 +331,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helper-validator-option@npm:^7.24.7": "@babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/helper-validator-option@npm:7.24.7" resolution: "@babel/helper-validator-option@npm:7.24.8"
checksum: 10c0/21aea2b7bc5cc8ddfb828741d5c8116a84cbc35b4a3184ec53124f08e09746f1f67a6f9217850188995ca86059a7942e36d8965a6730784901def777b7e8a436 checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f
languageName: node languageName: node
linkType: hard linkType: hard
@ -350,13 +350,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/helpers@npm:^7.24.7": "@babel/helpers@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/helpers@npm:7.24.7" resolution: "@babel/helpers@npm:7.24.8"
dependencies: dependencies:
"@babel/template": "npm:^7.24.7" "@babel/template": "npm:^7.24.7"
"@babel/types": "npm:^7.24.7" "@babel/types": "npm:^7.24.8"
checksum: 10c0/aa8e230f6668773e17e141dbcab63e935c514b4b0bf1fed04d2eaefda17df68e16b61a56573f7f1d4d1e605ce6cc162b5f7e9fdf159fde1fd9b77c920ae47d27 checksum: 10c0/42b8939b0a0bf72d6df9721973eb0fd7cd48f42641c5c9c740916397faa586255c06d36c6e6a7e091860723096281c620f6ffaee0011a3bb254a6f5475d89a12
languageName: node languageName: node
linkType: hard linkType: hard
@ -372,12 +372,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7": "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/parser@npm:7.24.7" resolution: "@babel/parser@npm:7.24.8"
bin: bin:
parser: ./bin/babel-parser.js parser: ./bin/babel-parser.js
checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b checksum: 10c0/ce69671de8fa6f649abf849be262707ac700b573b8b1ce1893c66cc6cd76aeb1294a19e8c290b0eadeb2f47d3f413a2e57a281804ffbe76bfb9fa50194cf3c52
languageName: node languageName: node
linkType: hard linkType: hard
@ -755,21 +755,21 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/plugin-transform-classes@npm:^7.24.7": "@babel/plugin-transform-classes@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/plugin-transform-classes@npm:7.24.7" resolution: "@babel/plugin-transform-classes@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-annotate-as-pure": "npm:^7.24.7" "@babel/helper-annotate-as-pure": "npm:^7.24.7"
"@babel/helper-compilation-targets": "npm:^7.24.7" "@babel/helper-compilation-targets": "npm:^7.24.8"
"@babel/helper-environment-visitor": "npm:^7.24.7" "@babel/helper-environment-visitor": "npm:^7.24.7"
"@babel/helper-function-name": "npm:^7.24.7" "@babel/helper-function-name": "npm:^7.24.7"
"@babel/helper-plugin-utils": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-replace-supers": "npm:^7.24.7" "@babel/helper-replace-supers": "npm:^7.24.7"
"@babel/helper-split-export-declaration": "npm:^7.24.7" "@babel/helper-split-export-declaration": "npm:^7.24.7"
globals: "npm:^11.1.0" globals: "npm:^11.1.0"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 10c0/e51dba7ce8b770d1eee929e098d5a3be3efc3e8b941e22dda7d0097dc4e7be5feabd2da7b707ac06fcac5661b31223c541941dec08ce76c1faa55544d87d06ec checksum: 10c0/4423da0f747bdb6aab1995d98a74533fa679f637ec20706810dd57fb4ba2b1885ec8cae6a0b2c3f69f27165de6ff6aa2da9c4061c893848736a8267d0c653079
languageName: node languageName: node
linkType: hard linkType: hard
@ -785,14 +785,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/plugin-transform-destructuring@npm:^7.24.7": "@babel/plugin-transform-destructuring@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" resolution: "@babel/plugin-transform-destructuring@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-plugin-utils": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.8"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 10c0/929f07a807fb62230bfbf881cfcedf187ac5daf2f1b01da94a75c7a0f6f72400268cf4bcfee534479e43260af8193e42c31ee03c8b0278ba77d0036ed6709c27 checksum: 10c0/804968c1d5f5072c717505296c1e5d5ec33e90550423de66de82bbcb78157156e8470bbe77a04ab8c710a88a06360a30103cf223ac7eff4829adedd6150de5ce
languageName: node languageName: node
linkType: hard linkType: hard
@ -938,16 +938,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/plugin-transform-modules-commonjs@npm:^7.24.7": "@babel/plugin-transform-modules-commonjs@npm:^7.24.7, @babel/plugin-transform-modules-commonjs@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-module-transforms": "npm:^7.24.7" "@babel/helper-module-transforms": "npm:^7.24.8"
"@babel/helper-plugin-utils": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-simple-access": "npm:^7.24.7" "@babel/helper-simple-access": "npm:^7.24.7"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 10c0/9442292b3daf6a5076cdc3c4c32bf423bda824ccaeb0dd0dc8b3effaa1fecfcb0130ae6e647fef12a5d5ff25bcc99a0d6bfc6d24a7525345e1bcf46fcdf81752 checksum: 10c0/f1cf552307ebfced20d3907c1dd8be941b277f0364aa655e2b5fee828c84c54065745183104dae86f1f93ea0406db970a463ef7ceaaed897623748e99640e5a7
languageName: node languageName: node
linkType: hard linkType: hard
@ -1062,16 +1062,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/plugin-transform-optional-chaining@npm:^7.24.7": "@babel/plugin-transform-optional-chaining@npm:^7.24.7, @babel/plugin-transform-optional-chaining@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7" resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-plugin-utils": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7"
"@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 10c0/b9e3649b299e103b0d1767bbdba56574d065ff776e5350403b7bfd4e3982743c0cdb373d33bdbf94fa3c322d155e45d0aad946acf0aa741b870aed22dfec8b8e checksum: 10c0/4ffbe1aad7dec7c9aa2bf6ceb4b2f91f96815b2784f2879bde80e46934f59d64a12cb2c6262e40897c4754d77d2c35d8a5cfed63044fdebf94978b1ed3d14b17
languageName: node languageName: node
linkType: hard linkType: hard
@ -1279,14 +1279,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/plugin-transform-typeof-symbol@npm:^7.24.7": "@babel/plugin-transform-typeof-symbol@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7" resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-plugin-utils": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.8"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 10c0/5649e7260a138681e68b296ab5931e2b1f132f287d6b4131d49b24f9dc20d62902b7e9d63c4d2decd5683b41df35ef4b9b03f58c7f9f65e4c25a6d8bbf04e9e9 checksum: 10c0/2f570a4fbbdc5fd85f48165a97452826560051e3b8efb48c3bb0a0a33ee8485633439e7b71bfe3ef705583a1df43f854f49125bd759abdedc195b2cf7e60012a
languageName: node languageName: node
linkType: hard linkType: hard
@ -1352,13 +1352,13 @@ __metadata:
linkType: hard linkType: hard
"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4": "@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.22.4":
version: 7.24.7 version: 7.24.8
resolution: "@babel/preset-env@npm:7.24.7" resolution: "@babel/preset-env@npm:7.24.8"
dependencies: dependencies:
"@babel/compat-data": "npm:^7.24.7" "@babel/compat-data": "npm:^7.24.8"
"@babel/helper-compilation-targets": "npm:^7.24.7" "@babel/helper-compilation-targets": "npm:^7.24.8"
"@babel/helper-plugin-utils": "npm:^7.24.7" "@babel/helper-plugin-utils": "npm:^7.24.8"
"@babel/helper-validator-option": "npm:^7.24.7" "@babel/helper-validator-option": "npm:^7.24.8"
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.7" "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.7"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.7" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.7"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.7"
@ -1389,9 +1389,9 @@ __metadata:
"@babel/plugin-transform-block-scoping": "npm:^7.24.7" "@babel/plugin-transform-block-scoping": "npm:^7.24.7"
"@babel/plugin-transform-class-properties": "npm:^7.24.7" "@babel/plugin-transform-class-properties": "npm:^7.24.7"
"@babel/plugin-transform-class-static-block": "npm:^7.24.7" "@babel/plugin-transform-class-static-block": "npm:^7.24.7"
"@babel/plugin-transform-classes": "npm:^7.24.7" "@babel/plugin-transform-classes": "npm:^7.24.8"
"@babel/plugin-transform-computed-properties": "npm:^7.24.7" "@babel/plugin-transform-computed-properties": "npm:^7.24.7"
"@babel/plugin-transform-destructuring": "npm:^7.24.7" "@babel/plugin-transform-destructuring": "npm:^7.24.8"
"@babel/plugin-transform-dotall-regex": "npm:^7.24.7" "@babel/plugin-transform-dotall-regex": "npm:^7.24.7"
"@babel/plugin-transform-duplicate-keys": "npm:^7.24.7" "@babel/plugin-transform-duplicate-keys": "npm:^7.24.7"
"@babel/plugin-transform-dynamic-import": "npm:^7.24.7" "@babel/plugin-transform-dynamic-import": "npm:^7.24.7"
@ -1404,7 +1404,7 @@ __metadata:
"@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7"
"@babel/plugin-transform-member-expression-literals": "npm:^7.24.7" "@babel/plugin-transform-member-expression-literals": "npm:^7.24.7"
"@babel/plugin-transform-modules-amd": "npm:^7.24.7" "@babel/plugin-transform-modules-amd": "npm:^7.24.7"
"@babel/plugin-transform-modules-commonjs": "npm:^7.24.7" "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8"
"@babel/plugin-transform-modules-systemjs": "npm:^7.24.7" "@babel/plugin-transform-modules-systemjs": "npm:^7.24.7"
"@babel/plugin-transform-modules-umd": "npm:^7.24.7" "@babel/plugin-transform-modules-umd": "npm:^7.24.7"
"@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7"
@ -1414,7 +1414,7 @@ __metadata:
"@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7"
"@babel/plugin-transform-object-super": "npm:^7.24.7" "@babel/plugin-transform-object-super": "npm:^7.24.7"
"@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7"
"@babel/plugin-transform-optional-chaining": "npm:^7.24.7" "@babel/plugin-transform-optional-chaining": "npm:^7.24.8"
"@babel/plugin-transform-parameters": "npm:^7.24.7" "@babel/plugin-transform-parameters": "npm:^7.24.7"
"@babel/plugin-transform-private-methods": "npm:^7.24.7" "@babel/plugin-transform-private-methods": "npm:^7.24.7"
"@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7"
@ -1425,7 +1425,7 @@ __metadata:
"@babel/plugin-transform-spread": "npm:^7.24.7" "@babel/plugin-transform-spread": "npm:^7.24.7"
"@babel/plugin-transform-sticky-regex": "npm:^7.24.7" "@babel/plugin-transform-sticky-regex": "npm:^7.24.7"
"@babel/plugin-transform-template-literals": "npm:^7.24.7" "@babel/plugin-transform-template-literals": "npm:^7.24.7"
"@babel/plugin-transform-typeof-symbol": "npm:^7.24.7" "@babel/plugin-transform-typeof-symbol": "npm:^7.24.8"
"@babel/plugin-transform-unicode-escapes": "npm:^7.24.7" "@babel/plugin-transform-unicode-escapes": "npm:^7.24.7"
"@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7" "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.7"
"@babel/plugin-transform-unicode-regex": "npm:^7.24.7" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7"
@ -1434,11 +1434,11 @@ __metadata:
babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs2: "npm:^0.4.10"
babel-plugin-polyfill-corejs3: "npm:^0.10.4" babel-plugin-polyfill-corejs3: "npm:^0.10.4"
babel-plugin-polyfill-regenerator: "npm:^0.6.1" babel-plugin-polyfill-regenerator: "npm:^0.6.1"
core-js-compat: "npm:^3.31.0" core-js-compat: "npm:^3.37.1"
semver: "npm:^6.3.1" semver: "npm:^6.3.1"
peerDependencies: peerDependencies:
"@babel/core": ^7.0.0-0 "@babel/core": ^7.0.0-0
checksum: 10c0/c6714346f3ccc1271eaa90051c75b8bb57b20ef57408ab68740e2f3552693ae0ee5a4bcce3a00211d40e4947af1f7b8ab422066b953f0095461937fb72d11274 checksum: 10c0/a6f29498ec58989845a61f9c10b1b4e80586f1810a33db461d597cdb0ad2cd847381a993038b09f727512a08b2c1a33a330a5d4e6d65463ee98a1b4302d52ec6
languageName: node languageName: node
linkType: hard linkType: hard
@ -1503,11 +1503,11 @@ __metadata:
linkType: hard linkType: hard
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": "@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.22.3, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
version: 7.24.7 version: 7.24.8
resolution: "@babel/runtime@npm:7.24.7" resolution: "@babel/runtime@npm:7.24.8"
dependencies: dependencies:
regenerator-runtime: "npm:^0.14.0" regenerator-runtime: "npm:^0.14.0"
checksum: 10c0/b6fa3ec61a53402f3c1d75f4d808f48b35e0dfae0ec8e2bb5c6fc79fb95935da75766e0ca534d0f1c84871f6ae0d2ebdd950727cfadb745a2cdbef13faef5513 checksum: 10c0/f24b30af6b3ecae19165b3b032f9bc37b2d1769677bd63b69a6f81061967cfc847aa822518402ea6616b1d301d7eb46986b99c9f69cdb5880834fca2e6b34881
languageName: node languageName: node
linkType: hard linkType: hard
@ -1522,32 +1522,32 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@babel/traverse@npm:7, @babel/traverse@npm:^7.24.7": "@babel/traverse@npm:7, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8":
version: 7.24.7 version: 7.24.8
resolution: "@babel/traverse@npm:7.24.7" resolution: "@babel/traverse@npm:7.24.8"
dependencies: dependencies:
"@babel/code-frame": "npm:^7.24.7" "@babel/code-frame": "npm:^7.24.7"
"@babel/generator": "npm:^7.24.7" "@babel/generator": "npm:^7.24.8"
"@babel/helper-environment-visitor": "npm:^7.24.7" "@babel/helper-environment-visitor": "npm:^7.24.7"
"@babel/helper-function-name": "npm:^7.24.7" "@babel/helper-function-name": "npm:^7.24.7"
"@babel/helper-hoist-variables": "npm:^7.24.7" "@babel/helper-hoist-variables": "npm:^7.24.7"
"@babel/helper-split-export-declaration": "npm:^7.24.7" "@babel/helper-split-export-declaration": "npm:^7.24.7"
"@babel/parser": "npm:^7.24.7" "@babel/parser": "npm:^7.24.8"
"@babel/types": "npm:^7.24.7" "@babel/types": "npm:^7.24.8"
debug: "npm:^4.3.1" debug: "npm:^4.3.1"
globals: "npm:^11.1.0" globals: "npm:^11.1.0"
checksum: 10c0/a5135e589c3f1972b8877805f50a084a04865ccb1d68e5e1f3b94a8841b3485da4142e33413d8fd76bc0e6444531d3adf1f59f359c11ffac452b743d835068ab checksum: 10c0/67a5cc35824455cdb54fb9e196a44b3186283e29018a9c2331f51763921e18e891b3c60c283615a27540ec8eb4c8b89f41c237b91f732a7aa518b2eb7a0d434d
languageName: node languageName: node
linkType: hard 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.24.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": "@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.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.24.7 version: 7.24.8
resolution: "@babel/types@npm:7.24.7" resolution: "@babel/types@npm:7.24.8"
dependencies: dependencies:
"@babel/helper-string-parser": "npm:^7.24.7" "@babel/helper-string-parser": "npm:^7.24.8"
"@babel/helper-validator-identifier": "npm:^7.24.7" "@babel/helper-validator-identifier": "npm:^7.24.7"
to-fast-properties: "npm:^2.0.0" to-fast-properties: "npm:^2.0.0"
checksum: 10c0/d9ecbfc3eb2b05fb1e6eeea546836ac30d990f395ef3fe3f75ced777a222c3cfc4489492f72e0ce3d9a5a28860a1ce5f81e66b88cf5088909068b3ff4fab72c1 checksum: 10c0/2d7bf561ae993e794cb052c5a81d3a6d1877da13e1e2eb2a59ae75a8fb1c965b618fb3e4abd42548f5f9a4587d3a149185a32d6c4c4ea82195da7dd86f2da0f1
languageName: node languageName: node
linkType: hard linkType: hard
@ -5686,7 +5686,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"browserslist@npm:^4.0.0, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1": "browserslist@npm:^4.0.0, browserslist@npm:^4.23.0, browserslist@npm:^4.23.1":
version: 4.23.1 version: 4.23.1
resolution: "browserslist@npm:4.23.1" resolution: "browserslist@npm:4.23.1"
dependencies: dependencies:
@ -6402,12 +6402,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": "core-js-compat@npm:^3.36.1, core-js-compat@npm:^3.37.1":
version: 3.36.1 version: 3.37.1
resolution: "core-js-compat@npm:3.36.1" resolution: "core-js-compat@npm:3.37.1"
dependencies: dependencies:
browserslist: "npm:^4.23.0" browserslist: "npm:^4.23.0"
checksum: 10c0/70fba18a4095cd8ac04e5ba8cee251e328935859cf2851c1f67770068ea9f9fe71accb1b7de17cd3c9a28d304a4c41712bd9aa895110ebb6e3be71b666b029d1 checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a
languageName: node languageName: node
linkType: hard linkType: hard
@ -15486,15 +15486,15 @@ __metadata:
linkType: hard linkType: hard
"sass@npm:^1.62.1": "sass@npm:^1.62.1":
version: 1.77.7 version: 1.77.8
resolution: "sass@npm:1.77.7" resolution: "sass@npm:1.77.8"
dependencies: dependencies:
chokidar: "npm:>=3.0.0 <4.0.0" chokidar: "npm:>=3.0.0 <4.0.0"
immutable: "npm:^4.0.0" immutable: "npm:^4.0.0"
source-map-js: "npm:>=0.6.2 <2.0.0" source-map-js: "npm:>=0.6.2 <2.0.0"
bin: bin:
sass: sass.js sass: sass.js
checksum: 10c0/6cacbf4b5165d30a9be0f09438aed85ff0617e5087442e65c23c8464750ff1b9988855a58f36b420b62f992d1e82403f99810aba7731519d3d026847e21a5635 checksum: 10c0/2bfd62794070352c804f949e69bd8bb5b4ec846deeb924251b2c3f7b503170fb1ae186f513f0166907749eb34e0277dee747edcb78c886fb471aac01be1e864c
languageName: node languageName: node
linkType: hard linkType: hard