Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
4001deba73
commit
bc3187f6d9
|
@ -76,7 +76,7 @@ export default class SSHMirror {
|
||||||
|
|
||||||
// Disable button while we make request
|
// Disable button while we make request
|
||||||
this.$btnDetectHostKeys.disable();
|
this.$btnDetectHostKeys.disable();
|
||||||
$btnLoadSpinner.removeClass('d-none');
|
$btnLoadSpinner.removeClass('gl-display-none');
|
||||||
|
|
||||||
// Make backOff polling to get data
|
// Make backOff polling to get data
|
||||||
backOff((next, stop) => {
|
backOff((next, stop) => {
|
||||||
|
@ -101,7 +101,7 @@ export default class SSHMirror {
|
||||||
.catch(stop);
|
.catch(stop);
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
$btnLoadSpinner.addClass('d-none');
|
$btnLoadSpinner.addClass('gl-display-none');
|
||||||
// Once data is received, we show verification info along with Host keys and fingerprints
|
// Once data is received, we show verification info along with Host keys and fingerprints
|
||||||
this.$hostKeysInformation
|
this.$hostKeysInformation
|
||||||
.find('.js-fingerprint-verification')
|
.find('.js-fingerprint-verification')
|
||||||
|
|
|
@ -69,7 +69,7 @@ export default {
|
||||||
<gl-popover :target="target" :delay="200" boundary="viewport" placement="top">
|
<gl-popover :target="target" :delay="200" boundary="viewport" placement="top">
|
||||||
<div class="gl-p-3 gl-line-height-normal gl-display-flex" data-testid="user-popover">
|
<div class="gl-p-3 gl-line-height-normal gl-display-flex" data-testid="user-popover">
|
||||||
<div class="gl-p-2 flex-shrink-1">
|
<div class="gl-p-2 flex-shrink-1">
|
||||||
<user-avatar-image :img-src="user.avatarUrl" :size="60" css-classes="gl-mr-3!" />
|
<user-avatar-image :img-src="user.avatarUrl" :size="64" css-classes="gl-mr-3!" />
|
||||||
</div>
|
</div>
|
||||||
<div class="gl-p-2 gl-w-full gl-min-w-0">
|
<div class="gl-p-2 gl-w-full gl-min-w-0">
|
||||||
<template v-if="userIsLoading">
|
<template v-if="userIsLoading">
|
||||||
|
|
|
@ -81,7 +81,11 @@ class Projects::ArtifactsController < Projects::ApplicationController
|
||||||
|
|
||||||
path = Gitlab::Ci::Build::Artifacts::Path.new(params[:path])
|
path = Gitlab::Ci::Build::Artifacts::Path.new(params[:path])
|
||||||
|
|
||||||
send_artifacts_entry(artifacts_file, path)
|
if ::Feature.enabled?(:ci_safe_artifact_content_type, project, default_enabled: :yaml)
|
||||||
|
send_artifacts_entry(artifacts_file, path)
|
||||||
|
else
|
||||||
|
legacy_send_artifacts_entry(artifacts_file, path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def keep
|
def keep
|
||||||
|
|
|
@ -36,8 +36,16 @@ module WorkhorseHelper
|
||||||
end
|
end
|
||||||
|
|
||||||
# Send an entry from artifacts through Workhorse
|
# Send an entry from artifacts through Workhorse
|
||||||
|
def legacy_send_artifacts_entry(file, entry)
|
||||||
|
headers.store(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
|
||||||
|
head :ok
|
||||||
|
end
|
||||||
|
|
||||||
|
# Send an entry from artifacts through Workhorse and set safe content type
|
||||||
def send_artifacts_entry(file, entry)
|
def send_artifacts_entry(file, entry)
|
||||||
headers.store(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
|
headers.store(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
|
||||||
|
headers.store(*Gitlab::Workhorse.detect_content_type)
|
||||||
|
|
||||||
head :ok
|
head :ok
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ module Projects
|
||||||
class BuildArtifactsSizeRefresh < ApplicationRecord
|
class BuildArtifactsSizeRefresh < ApplicationRecord
|
||||||
include BulkInsertSafe
|
include BulkInsertSafe
|
||||||
|
|
||||||
STALE_WINDOW = 3.days
|
STALE_WINDOW = 2.hours
|
||||||
|
|
||||||
self.table_name = 'project_build_artifacts_size_refreshes'
|
self.table_name = 'project_build_artifacts_size_refreshes'
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
- return unless show_security_newsletter_user_callout?
|
- return unless show_security_newsletter_user_callout?
|
||||||
|
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :tip,
|
||||||
title: s_('AdminArea|Get security updates from GitLab and stay up to date'),
|
title: s_('AdminArea|Get security updates from GitLab and stay up to date'),
|
||||||
variant: :tip,
|
alert_class: 'js-security-newsletter-callout',
|
||||||
alert_class: 'js-security-newsletter-callout',
|
alert_data: { feature_id: Users::CalloutsHelper::SECURITY_NEWSLETTER_CALLOUT,
|
||||||
alert_data: { feature_id: Users::CalloutsHelper::SECURITY_NEWSLETTER_CALLOUT, dismiss_endpoint: callouts_path, defer_links: 'true' },
|
dismiss_endpoint: callouts_path,
|
||||||
close_button_data: { testid: 'close-security-newsletter-callout' } do
|
defer_links: 'true' },
|
||||||
|
close_button_data: { testid: 'close-security-newsletter-callout' }) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('AdminArea|Sign up for the GitLab Security Newsletter to get notified for security updates.')
|
= s_('AdminArea|Sign up for the GitLab Security Newsletter to get notified for security updates.')
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
- if @group.new_record?
|
- if @group.new_record?
|
||||||
.form-group.row
|
.form-group.row
|
||||||
.offset-sm-2.col-sm-10
|
.offset-sm-2.col-sm-10
|
||||||
= render 'shared/global_alert', dismissible: false do
|
= render Pajamas::AlertComponent.new(dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= render 'shared/group_tips'
|
= render 'shared/group_tips'
|
||||||
.form-actions
|
.form-actions
|
||||||
|
|
|
@ -14,11 +14,9 @@
|
||||||
- if @project.last_repository_check_failed?
|
- if @project.last_repository_check_failed?
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
|
||||||
alert_class: 'gl-mb-5',
|
alert_class: 'gl-mb-5',
|
||||||
alert_data: { testid: 'last-repository-check-failed-alert' },
|
alert_data: { testid: 'last-repository-check-failed-alert' }) do
|
||||||
is_container: true do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- last_check_message = _("Last repository check (%{last_check_timestamp}) failed. See the 'repocheck.log' file for error messages.")
|
- last_check_message = _("Last repository check (%{last_check_timestamp}) failed. See the 'repocheck.log' file for error messages.")
|
||||||
- last_check_message = last_check_message % { last_check_timestamp: time_ago_with_tooltip(@project.last_repository_check_at) }
|
- last_check_message = last_check_message % { last_check_timestamp: time_ago_with_tooltip(@project.last_repository_check_at) }
|
||||||
|
|
|
@ -25,10 +25,9 @@
|
||||||
- if project
|
- if project
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
|
||||||
dismissible: false,
|
dismissible: false,
|
||||||
title: project.full_name do
|
title: project.full_name) do
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
= link_to _('Disable'), admin_namespace_project_runner_project_path(project.namespace, project, runner_project), method: :delete, class: 'btn gl-alert-action btn-confirm btn-md gl-button'
|
= link_to _('Disable'), admin_namespace_project_runner_project_path(project.namespace, project, runner_project), method: :delete, class: 'btn gl-alert-action btn-confirm btn-md gl-button'
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
- if registration_features_can_be_prompted?
|
- if registration_features_can_be_prompted?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :tip,
|
||||||
variant: :tip,
|
|
||||||
alert_class: 'gl-my-5',
|
alert_class: 'gl-my-5',
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= render 'shared/registration_features_discovery_message', feature_title: s_('RegistrationFeatures|send emails to users')
|
= render 'shared/registration_features_discovery_message', feature_title: s_('RegistrationFeatures|send emails to users')
|
||||||
|
|
||||||
|
|
|
@ -6,17 +6,13 @@
|
||||||
%span.gl-spinner.gl-spinner-dark{ 'aria-label': 'Loading' }
|
%span.gl-spinner.gl-spinner-dark{ 'aria-label': 'Loading' }
|
||||||
%span.gl-ml-2= s_('ClusterIntegration|Kubernetes cluster is being created...')
|
%span.gl-ml-2= s_('ClusterIntegration|Kubernetes cluster is being created...')
|
||||||
|
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
alert_class: 'hidden js-cluster-api-unreachable') do
|
||||||
alert_class: 'hidden js-cluster-api-unreachable',
|
|
||||||
close_button_class: 'js-close' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('ClusterIntegration|Your cluster API is unreachable. Please ensure your API URL is correct.')
|
= s_('ClusterIntegration|Your cluster API is unreachable. Please ensure your API URL is correct.')
|
||||||
|
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
alert_class: 'hidden js-cluster-authentication-failure js-cluster-api-unreachable') do
|
||||||
alert_class: 'hidden js-cluster-authentication-failure js-cluster-api-unreachable',
|
|
||||||
close_button_class: 'js-close' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('ClusterIntegration|There was a problem authenticating with your cluster. Please ensure your CA Certificate and Token are valid.')
|
= s_('ClusterIntegration|There was a problem authenticating with your cluster. Please ensure your CA Certificate and Token are valid.')
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
- link = link_to(s_('ClusterIntegration|sign up'), 'https://console.cloud.google.com/freetrial?utm_campaign=2018_cpanel&utm_source=gitlab&utm_medium=referral', target: '_blank', rel: 'noopener noreferrer')
|
- link = link_to(s_('ClusterIntegration|sign up'), 'https://console.cloud.google.com/freetrial?utm_campaign=2018_cpanel&utm_source=gitlab&utm_medium=referral', target: '_blank', rel: 'noopener noreferrer')
|
||||||
= render 'shared/global_alert',
|
|
||||||
title: s_('ClusterIntegration|Did you know?'),
|
= render Pajamas::AlertComponent.new(title: s_('ClusterIntegration|Did you know?'),
|
||||||
alert_class: 'gcp-signup-offer',
|
alert_class: 'gcp-signup-offer',
|
||||||
alert_data: { feature_id: Users::CalloutsHelper::GCP_SIGNUP_OFFER, dismiss_endpoint: callouts_path } do
|
alert_data: { feature_id: Users::CalloutsHelper::GCP_SIGNUP_OFFER, dismiss_endpoint: callouts_path }) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('ClusterIntegration|Every new Google Cloud Platform (GCP) account receives $300 in credit upon %{sign_up_link}. In partnership with Google, GitLab is able to offer an additional $200 for both new and existing GCP accounts to get started with GitLab\'s Google Kubernetes Engine Integration.').html_safe % { sign_up_link: link }
|
= s_('ClusterIntegration|Every new Google Cloud Platform (GCP) account receives $300 in credit upon %{sign_up_link}. In partnership with Google, GitLab is able to offer an additional $200 for both new and existing GCP accounts to get started with GitLab\'s Google Kubernetes Engine Integration.').html_safe % { sign_up_link: link }
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
|
|
|
@ -4,9 +4,8 @@
|
||||||
%h4.gl-display-flex
|
%h4.gl-display-flex
|
||||||
= s_('GroupsNew|Import groups from another instance of GitLab')
|
= s_('GroupsNew|Import groups from another instance of GitLab')
|
||||||
= link_to _('History'), history_import_bulk_imports_path, class: 'gl-link gl-ml-auto'
|
= link_to _('History'), history_import_bulk_imports_path, class: 'gl-link gl-ml-auto'
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(dismissible: false,
|
||||||
dismissible: false,
|
variant: :warning) do
|
||||||
variant: :warning do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/group/import/index.md') }
|
- docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/group/import/index.md') }
|
||||||
- docs_link_end = '</a>'.html_safe
|
- docs_link_end = '</a>'.html_safe
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
.sub-section
|
.sub-section
|
||||||
%h4= s_('GroupSettings|Export group')
|
%h4= s_('GroupSettings|Export group')
|
||||||
%p= _('Export this group with all related data.')
|
%p= _('Export this group with all related data.')
|
||||||
= render 'shared/global_alert', variant: :warning, dismissible: false, alert_class: 'gl-mb-4' do
|
= render Pajamas::AlertComponent.new(variant: :warning, dismissible: false, alert_class: 'gl-mb-4') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/group/import/index.md') }
|
- docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/group/import/index.md') }
|
||||||
- docs_link_end = '</a>'.html_safe
|
- docs_link_end = '</a>'.html_safe
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
- export_information = _('After the export is complete, download the data file from a notification email or from this page. You can then import the data file from the %{strong_text_start}Create new group%{strong_text_end} page of another GitLab instance.') % { strong_text_start: '<strong>'.html_safe, strong_text_end: '</strong>'.html_safe}
|
- export_information = _('After the export is complete, download the data file from a notification email or from this page. You can then import the data file from the %{strong_text_start}Create new group%{strong_text_end} page of another GitLab instance.') % { strong_text_start: '<strong>'.html_safe, strong_text_end: '</strong>'.html_safe}
|
||||||
= export_information.html_safe
|
= export_information.html_safe
|
||||||
= link_to _('Learn more.'), help_page_path('user/group/settings/import_export.md'), target: '_blank', rel: 'noopener noreferrer'
|
= link_to _('Learn more.'), help_page_path('user/group/settings/import_export.md'), target: '_blank', rel: 'noopener noreferrer'
|
||||||
= render 'shared/global_alert', dismissible: false, alert_class: 'gl-mb-5' do
|
= render Pajamas::AlertComponent.new(dismissible: false, alert_class: 'gl-mb-5') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
%p.gl-mb-0
|
%p.gl-mb-0
|
||||||
%p= _('The following items will be exported:')
|
%p= _('The following items will be exported:')
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
- remove_form_id = local_assigns.fetch(:remove_form_id, nil)
|
- remove_form_id = local_assigns.fetch(:remove_form_id, nil)
|
||||||
|
|
||||||
- if group.paid?
|
- if group.paid?
|
||||||
= render 'shared/global_alert', dismissible: false, alert_class: 'gl-mb-5', alert_data: { testid: 'group-has-linked-subscription-alert' } do
|
= render Pajamas::AlertComponent.new(dismissible: false, alert_class: 'gl-mb-5', alert_data: { testid: 'group-has-linked-subscription-alert' }) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= html_escape(_("This group can't be removed because it is linked to a subscription. To remove this group, %{linkStart}link the subscription%{linkEnd} with a different group.")) % { linkStart: "<a href=\"#{help_page_path('subscriptions/index', anchor: 'change-the-linked-namespace')}\">".html_safe, linkEnd: '</a>'.html_safe }
|
= html_escape(_("This group can't be removed because it is linked to a subscription. To remove this group, %{linkStart}link the subscription%{linkEnd} with a different group.")) % { linkStart: "<a href=\"#{help_page_path('subscriptions/index', anchor: 'change-the-linked-namespace')}\">".html_safe, linkEnd: '</a>'.html_safe }
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
%li= s_('GroupSettings|You will need to update your local repositories to point to the new location.')
|
%li= s_('GroupSettings|You will need to update your local repositories to point to the new location.')
|
||||||
%li= s_("GroupSettings|If the parent group's visibility is lower than the group's current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility.")
|
%li= s_("GroupSettings|If the parent group's visibility is lower than the group's current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility.")
|
||||||
- if group.paid?
|
- if group.paid?
|
||||||
= render 'shared/global_alert', dismissible: false, alert_class: 'gl-mb-5' do
|
= render Pajamas::AlertComponent.new(dismissible: false, alert_class: 'gl-mb-5') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= html_escape(_("This group can't be transferred because it is linked to a subscription. To transfer this group, %{linkStart}link the subscription%{linkEnd} with a different group.")) % { linkStart: "<a href=\"#{help_page_path('subscriptions/index', anchor: 'change-the-linked-namespace')}\">".html_safe, linkEnd: '</a>'.html_safe }
|
= html_escape(_("This group can't be transferred because it is linked to a subscription. To transfer this group, %{linkStart}link the subscription%{linkEnd} with a different group.")) % { linkStart: "<a href=\"#{help_page_path('subscriptions/index', anchor: 'change-the-linked-namespace')}\">".html_safe, linkEnd: '</a>'.html_safe }
|
||||||
.js-transfer-group-form{ data: initial_data }
|
.js-transfer-group-form{ data: initial_data }
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
- if @errors.present?
|
- if @errors.present?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
|
||||||
dismissible: false,
|
dismissible: false,
|
||||||
alert_class: 'gl-mb-5' do
|
alert_class: 'gl-mb-5') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- @errors.each do |error|
|
- @errors.each do |error|
|
||||||
= error
|
= error
|
||||||
|
|
|
@ -2,18 +2,15 @@
|
||||||
- @content_class = "limit-container-width" unless fluid_layout
|
- @content_class = "limit-container-width" unless fluid_layout
|
||||||
|
|
||||||
- if current_user.ldap_user?
|
- if current_user.ldap_user?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: 'gl-my-5',
|
||||||
variant: :info,
|
dismissible: false) do
|
||||||
alert_class: 'gl-my-5',
|
|
||||||
dismissible: false do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Profiles|Some options are unavailable for LDAP accounts')
|
= s_('Profiles|Some options are unavailable for LDAP accounts')
|
||||||
|
|
||||||
- if params[:two_factor_auth_enabled_successfully]
|
- if params[:two_factor_auth_enabled_successfully]
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :success,
|
||||||
variant: :success,
|
|
||||||
alert_class: 'gl-my-5',
|
alert_class: 'gl-my-5',
|
||||||
close_button_class: 'js-close-2fa-enabled-success-alert' do
|
close_button_class: 'js-close-2fa-enabled-success-alert') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= html_escape(_('You have set up 2FA for your account! If you lose access to your 2FA device, you can use your recovery codes to access your account. Alternatively, if you upload an SSH key, you can %{anchorOpen}use that key to generate additional recovery codes%{anchorClose}.')) % { anchorOpen: '<a href="%{href}">'.html_safe % { href: help_page_path('user/profile/account/two_factor_authentication', anchor: 'generate-new-recovery-codes-using-ssh') }, anchorClose: '</a>'.html_safe }
|
= html_escape(_('You have set up 2FA for your account! If you lose access to your 2FA device, you can use your recovery codes to access your account. Alternatively, if you upload an SSH key, you can %{anchorOpen}use that key to generate additional recovery codes%{anchorClose}.')) % { anchorOpen: '<a href="%{href}">'.html_safe % { href: help_page_path('user/profile/account/two_factor_authentication', anchor: 'generate-new-recovery-codes-using-ssh') }, anchorClose: '</a>'.html_safe }
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,9 @@
|
||||||
= _('Time based: Yes')
|
= _('Time based: Yes')
|
||||||
= form_tag profile_two_factor_auth_path, method: :post do |f|
|
= form_tag profile_two_factor_auth_path, method: :post do |f|
|
||||||
- if @error
|
- if @error
|
||||||
= render 'shared/global_alert', title: @error[:message], variant: :danger, dismissible: false do
|
= render Pajamas::AlertComponent.new(title: @error[:message],
|
||||||
|
variant: :danger,
|
||||||
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= link_to _('Try the troubleshooting steps here.'), help_page_path('user/profile/account/two_factor_authentication.md', anchor: 'troubleshooting'), target: '_blank', rel: 'noopener noreferrer'
|
= link_to _('Try the troubleshooting steps here.'), help_page_path('user/profile/account/two_factor_authentication.md', anchor: 'troubleshooting'), target: '_blank', rel: 'noopener noreferrer'
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
- project = local_assigns.fetch(:project)
|
- project = local_assigns.fetch(:project)
|
||||||
- return unless project.delete_error.present?
|
- return unless project.delete_error.present?
|
||||||
|
|
||||||
= render 'shared/global_alert', variant: :warning, dismissible: false, alert_class: 'project-deletion-failed-message' do
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
|
dismissible: false,
|
||||||
|
alert_class: 'project-deletion-failed-message') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
This project was scheduled for deletion, but failed with the following message:
|
This project was scheduled for deletion, but failed with the following message:
|
||||||
= project.delete_error
|
= project.delete_error
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
- event = last_push_event
|
- event = last_push_event
|
||||||
- if event && show_last_push_widget?(event)
|
- if event && show_last_push_widget?(event)
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :success,
|
||||||
variant: :success,
|
|
||||||
alert_class: 'gl-mt-3',
|
alert_class: 'gl-mt-3',
|
||||||
close_button_class: 'js-close-banner' do
|
close_button_class: 'js-close-banner') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
%span= s_("LastPushEvent|You pushed to")
|
%span= s_("LastPushEvent|You pushed to")
|
||||||
%strong.gl-display-inline-flex.gl-max-w-50p{ data: { toggle: 'tooltip' }, title: event.ref_name }
|
%strong.gl-display-inline-flex.gl-max-w-50p{ data: { toggle: 'tooltip' }, title: event.ref_name }
|
||||||
|
|
|
@ -37,7 +37,9 @@
|
||||||
- link_start_group_path = '<a href="%{path}">' % { path: new_group_path }
|
- link_start_group_path = '<a href="%{path}">' % { path: new_group_path }
|
||||||
- project_tip = s_('ProjectsNew|Want to house several dependent projects under the same namespace? %{link_start}Create a group.%{link_end}') % { link_start: link_start_group_path, link_end: '</a>' }
|
- project_tip = s_('ProjectsNew|Want to house several dependent projects under the same namespace? %{link_start}Create a group.%{link_end}') % { link_start: link_start_group_path, link_end: '</a>' }
|
||||||
= project_tip.html_safe
|
= project_tip.html_safe
|
||||||
= render 'shared/global_alert', alert_class: "gl-mb-4 gl-display-none js-user-readme-repo", dismissible: false, variant: :success do
|
= render Pajamas::AlertComponent.new(alert_class: "gl-mb-4 gl-display-none js-user-readme-repo",
|
||||||
|
dismissible: false,
|
||||||
|
variant: :success) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/profile/index', anchor: 'add-details-to-your-profile-with-a-readme') }
|
- help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/profile/index', anchor: 'add-details-to-your-profile-with-a-readme') }
|
||||||
= html_escape(_('%{project_path} is a project that you can use to add a README to your GitLab profile. Create a public project and initialize the repository with a README to get started. %{help_link_start}Learn more.%{help_link_end}')) % { project_path: "<strong>#{current_user.username} / #{current_user.username}</strong>".html_safe, help_link_start: help_link_start, help_link_end: '</a>'.html_safe }
|
= html_escape(_('%{project_path} is a project that you can use to add a README to your GitLab profile. Create a public project and initialize the repository with a README to get started. %{help_link_start}Learn more.%{help_link_end}')) % { project_path: "<strong>#{current_user.username} / #{current_user.username}</strong>".html_safe, help_link_start: help_link_start, help_link_end: '</a>'.html_safe }
|
||||||
|
|
|
@ -15,10 +15,9 @@
|
||||||
#{ dropzone_text.html_safe }
|
#{ dropzone_text.html_safe }
|
||||||
|
|
||||||
%br
|
%br
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
|
||||||
alert_class: 'dropzone-alerts gl-alert gl-alert-danger gl-mb-5 data gl-display-none',
|
alert_class: 'dropzone-alerts gl-alert gl-alert-danger gl-mb-5 data gl-display-none',
|
||||||
dismissible: false
|
dismissible: false)
|
||||||
|
|
||||||
= render 'shared/new_commit_form', placeholder: placeholder, ref: local_assigns[:ref]
|
= render 'shared/new_commit_form', placeholder: placeholder, ref: local_assigns[:ref]
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,9 @@
|
||||||
- webpack_preload_asset_tag('monaco')
|
- webpack_preload_asset_tag('monaco')
|
||||||
|
|
||||||
- if @conflict
|
- if @conflict
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: 'gl-mb-5 gl-mt-5',
|
||||||
alert_class: 'gl-mb-5 gl-mt-5',
|
|
||||||
variant: :danger,
|
variant: :danger,
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
- blob_url = project_blob_path(@project, @id)
|
- blob_url = project_blob_path(@project, @id)
|
||||||
- external_link_icon = content_tag 'span', { aria: { label: _('Opens new window') }} do
|
- external_link_icon = content_tag 'span', { aria: { label: _('Opens new window') }} do
|
||||||
- sprite_icon('external-link', css_class: 'gl-icon').html_safe
|
- sprite_icon('external-link', css_class: 'gl-icon').html_safe
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
- default_ref = params[:ref] || @project.default_branch
|
- default_ref = params[:ref] || @project.default_branch
|
||||||
|
|
||||||
- if @error
|
- if @error
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger) do
|
||||||
variant: :danger,
|
|
||||||
close_button_class: 'js-close' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= @error
|
= @error
|
||||||
%h3.page-title
|
%h3.page-title
|
||||||
|
|
|
@ -35,9 +35,8 @@
|
||||||
|
|
||||||
- if hidden > 0
|
- if hidden > 0
|
||||||
%li
|
%li
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
dismissible: false) do
|
||||||
dismissible: false do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= n_('%s additional commit has been omitted to prevent performance issues.', '%s additional commits have been omitted to prevent performance issues.', hidden) % number_with_delimiter(hidden)
|
= n_('%s additional commit has been omitted to prevent performance issues.', '%s additional commits have been omitted to prevent performance issues.', hidden) % number_with_delimiter(hidden)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: _('Too many changes to show.'),
|
||||||
title: _('Too many changes to show.'),
|
|
||||||
variant: :warning,
|
variant: :warning,
|
||||||
alert_class: 'gl-mb-5' do
|
alert_class: 'gl-mb-5') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= html_escape(_("To preserve performance only %{strong_open}%{display_size} of %{real_size}%{strong_close} files are displayed.")) % { display_size: diff_files.size, real_size: diff_files.real_size, strong_open: '<strong>'.html_safe, strong_close: '</strong>'.html_safe }
|
= html_escape(_("To preserve performance only %{strong_open}%{display_size} of %{real_size}%{strong_close} files are displayed.")) % { display_size: diff_files.size, real_size: diff_files.real_size, strong_open: '<strong>'.html_safe, strong_close: '</strong>'.html_safe }
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
- page_title _("Fork project")
|
- page_title _("Fork project")
|
||||||
- if @forked_project && !@forked_project.saved?
|
- if @forked_project && !@forked_project.saved?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: _('Fork Error!'),
|
||||||
title: _('Fork Error!'),
|
|
||||||
variant: :danger,
|
variant: :danger,
|
||||||
alert_class: 'gl-mt-5',
|
alert_class: 'gl-mt-5',
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
%p
|
%p
|
||||||
= _("You tried to fork %{link_to_the_project} but it failed for the following reason:").html_safe % { link_to_the_project: link_to_project(@project) }
|
= _("You tried to fork %{link_to_the_project} but it failed for the following reason:").html_safe % { link_to_the_project: link_to_project(@project) }
|
||||||
|
|
|
@ -2,9 +2,7 @@
|
||||||
- service_desk_link_url = help_page_path('user/project/service_desk')
|
- service_desk_link_url = help_page_path('user/project/service_desk')
|
||||||
- service_desk_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: service_desk_link_url }
|
- service_desk_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: service_desk_link_url }
|
||||||
|
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
alert_class: 'hide js-alert-moved-from-service-desk-warning gl-mt-5') do
|
||||||
close_button_class: 'js-close',
|
|
||||||
alert_class: 'hide js-alert-moved-from-service-desk-warning gl-mt-5' do
|
|
||||||
.gl-alert-body.gl-mr-3
|
.gl-alert-body.gl-mr-3
|
||||||
= s_('This project does not have %{service_desk_link_start}Service Desk%{service_desk_link_end} enabled, so the user who created the issue will no longer receive email notifications about new activity.').html_safe % { service_desk_link_start: service_desk_link_start, service_desk_link_end: '</a>'.html_safe }
|
= s_('This project does not have %{service_desk_link_start}Service Desk%{service_desk_link_end} enabled, so the user who created the issue will no longer receive email notifications about new activity.').html_safe % { service_desk_link_start: service_desk_link_start, service_desk_link_end: '</a>'.html_safe }
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
- if @teams_error_message
|
- if @teams_error_message
|
||||||
= content_for :flash_message do
|
= content_for :flash_message do
|
||||||
.gl-alert.gl-alert-danger
|
= render Pajamas::AlertComponent.new(variant: :danger) do
|
||||||
= sprite_icon('error', css_class: 'gl-icon gl-alert-icon gl-alert-icon-no-title')
|
.gl-alert-body
|
||||||
.gl-alert-body= @teams_error_message
|
= @teams_error_message
|
||||||
|
|
||||||
%p
|
%p
|
||||||
You aren’t a member of any team on the Mattermost instance at
|
You aren’t a member of any team on the Mattermost instance at
|
||||||
|
|
|
@ -6,10 +6,9 @@
|
||||||
|
|
||||||
= cache(cache_key, expires_in: 1.day) do
|
= cache(cache_key, expires_in: 1.day) do
|
||||||
- if @merge_request.closed_or_merged_without_fork?
|
- if @merge_request.closed_or_merged_without_fork?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: 'gl-mb-5',
|
||||||
alert_class: 'gl-mb-5',
|
|
||||||
variant: :danger,
|
variant: :danger,
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= _('The source project of this merge request has been removed.')
|
= _('The source project of this merge request has been removed.')
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,8 @@
|
||||||
= render "projects/merge_requests/mr_title"
|
= render "projects/merge_requests/mr_title"
|
||||||
= render "projects/merge_requests/mr_box"
|
= render "projects/merge_requests/mr_box"
|
||||||
|
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
dismissible: false) do
|
||||||
dismissible: false do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- if @merge_request.for_fork? && !@merge_request.source_project
|
- if @merge_request.for_fork? && !@merge_request.source_project
|
||||||
= err_fork_project_removed
|
= err_fork_project_removed
|
||||||
|
|
|
@ -12,11 +12,9 @@
|
||||||
= render_if_exists 'shared/milestones/burndown', milestone: @milestone, project: @project
|
= render_if_exists 'shared/milestones/burndown', milestone: @milestone, project: @project
|
||||||
|
|
||||||
- if can?(current_user, :read_issue, @project) && @milestone.total_issues_count == 0
|
- if can?(current_user, :read_issue, @project) && @milestone.total_issues_count == 0
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(dismissible: false,
|
||||||
variant: :info,
|
|
||||||
dismissible: false,
|
|
||||||
alert_data: { testid: 'no-issues-alert' },
|
alert_data: { testid: 'no-issues-alert' },
|
||||||
alert_class: 'gl-mt-3 gl-mb-5' do
|
alert_class: 'gl-mt-3 gl-mb-5') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= _('Assign some issues to this milestone.')
|
= _('Assign some issues to this milestone.')
|
||||||
- else
|
- else
|
||||||
|
|
|
@ -37,9 +37,7 @@
|
||||||
.panel-footer
|
.panel-footer
|
||||||
= f.submit _('Mirror repository'), class: 'gl-button btn btn-confirm js-mirror-submit qa-mirror-repository-button', name: :update_remote_mirror
|
= f.submit _('Mirror repository'), class: 'gl-button btn btn-confirm js-mirror-submit qa-mirror-repository-button', name: :update_remote_mirror
|
||||||
- else
|
- else
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(dismissible: false) do
|
||||||
dismissible: false,
|
|
||||||
variant: :info do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= _('Mirror settings are only available to GitLab administrators.')
|
= _('Mirror settings are only available to GitLab administrators.')
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
.form-group.js-ssh-host-keys-section{ class: ('collapse' unless mirror.ssh_mirror_url?) }
|
.form-group.js-ssh-host-keys-section{ class: ('collapse' unless mirror.ssh_mirror_url?) }
|
||||||
%button.btn.gl-button.btn-inverted.btn-secondary.inline.js-detect-host-keys.gl-mr-3{ type: 'button', data: { qa_selector: 'detect_host_keys' } }
|
%button.btn.gl-button.btn-inverted.btn-secondary.inline.js-detect-host-keys.gl-mr-3{ type: 'button', data: { qa_selector: 'detect_host_keys' } }
|
||||||
.js-spinner.d-none.gl-spinner.mr-1
|
= gl_loading_icon(inline: true, css_class: 'js-spinner gl-display-none gl-mr-2')
|
||||||
= _('Detect host keys')
|
= _('Detect host keys')
|
||||||
.fingerprint-ssh-info.js-fingerprint-ssh-info.gl-mt-3.gl-mb-3{ class: ('collapse' unless mirror.ssh_mirror_url?) }
|
.fingerprint-ssh-info.js-fingerprint-ssh-info.gl-mt-3.gl-mb-3{ class: ('collapse' unless mirror.ssh_mirror_url?) }
|
||||||
%label.label-bold
|
%label.label-bold
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
- if domain_presenter.errors.any?
|
- if domain_presenter.errors.any?
|
||||||
= render 'shared/global_alert', variant: :danger, dismissible: false do
|
= render Pajamas::AlertComponent.new(variant: :danger, dismissible: false) do
|
||||||
- domain_presenter.errors.full_messages.each do |msg|
|
- domain_presenter.errors.full_messages.each do |msg|
|
||||||
= msg
|
= msg
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,9 @@
|
||||||
-# When using integration.activate_disabled_reason[:trackers], it's potentially insecure to use the raw records
|
-# When using integration.activate_disabled_reason[:trackers], it's potentially insecure to use the raw records
|
||||||
-# when passed directly to the frontend. Only use specific fields that are needed for render.
|
-# when passed directly to the frontend. Only use specific fields that are needed for render.
|
||||||
-# For example, we can get the link to each tracker with scoped_edit_integration_path(tracker, tracker.project)
|
-# For example, we can get the link to each tracker with scoped_edit_integration_path(tracker, tracker.project)
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: s_('ExternalIssueIntegration|Another issue tracker is already in use'),
|
||||||
title: s_('ExternalIssueIntegration|Another issue tracker is already in use'),
|
|
||||||
variant: :warning,
|
variant: :warning,
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('ExternalIssueIntegration|Only one issue tracker integration can be active at a time. Please disable the active tracker first and try again.')
|
= s_('ExternalIssueIntegration|Only one issue tracker integration can be active at a time. Please disable the active tracker first and try again.')
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
- if show_auto_devops_implicitly_enabled_banner?(project, current_user)
|
- if show_auto_devops_implicitly_enabled_banner?(project, current_user)
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: 'qa-auto-devops-banner auto-devops-implicitly-enabled-banner',
|
||||||
variant: :info,
|
|
||||||
alert_class: 'qa-auto-devops-banner auto-devops-implicitly-enabled-banner',
|
|
||||||
close_button_class: 'hide-auto-devops-implicitly-enabled-banner',
|
close_button_class: 'hide-auto-devops-implicitly-enabled-banner',
|
||||||
close_button_data: { project_id: project.id } do
|
close_button_data: { project_id: project.id }) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_("AutoDevOps|The Auto DevOps pipeline has been enabled and will be used if no alternative CI configuration file is found.")
|
= s_("AutoDevOps|The Auto DevOps pipeline has been enabled and will be used if no alternative CI configuration file is found.")
|
||||||
- unless Gitlab.config.registry.enabled
|
- unless Gitlab.config.registry.enabled
|
||||||
|
|
|
@ -8,11 +8,10 @@
|
||||||
= _('Git repository URL')
|
= _('Git repository URL')
|
||||||
= f.text_field :import_url, value: import_url.sanitized_url,
|
= f.text_field :import_url, value: import_url.sanitized_url,
|
||||||
autocomplete: 'off', class: 'form-control gl-form-input', placeholder: 'https://gitlab.company.com/group/project.git', required: true
|
autocomplete: 'off', class: 'form-control gl-form-input', placeholder: 'https://gitlab.company.com/group/project.git', required: true
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
|
||||||
alert_class: 'gl-mt-3 js-import-url-error hide',
|
alert_class: 'gl-mt-3 js-import-url-error hide',
|
||||||
dismissible: false,
|
dismissible: false,
|
||||||
close_button_class: 'js-close-2fa-enabled-success-alert' do
|
close_button_class: 'js-close-2fa-enabled-success-alert') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Import|There is not a valid Git repository at this URL. If your HTTP repository is not publicly accessible, verify your credentials.')
|
= s_('Import|There is not a valid Git repository at this URL. If your HTTP repository is not publicly accessible, verify your credentials.')
|
||||||
.row
|
.row
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
- if show_no_password_message?
|
- if show_no_password_message?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
|
||||||
alert_class: 'js-no-password-message',
|
alert_class: 'js-no-password-message',
|
||||||
close_button_class: 'js-hide-no-password-message' do
|
close_button_class: 'js-hide-no-password-message') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= no_password_message
|
= no_password_message
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
- if show_no_ssh_key_message?
|
- if show_no_ssh_key_message?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
|
||||||
alert_class: 'js-no-ssh-message',
|
alert_class: 'js-no-ssh-message',
|
||||||
close_button_class: 'js-hide-no-ssh-message' do
|
close_button_class: 'js-hide-no-ssh-message') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_("MissingSSHKeyWarningLink|You can't push or pull repositories using SSH until you add an SSH key to your profile.")
|
= s_("MissingSSHKeyWarningLink|You can't push or pull repositories using SSH until you add an SSH key to your profile.")
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
- if cookies[:hide_project_limit_message].blank? && !current_user.hide_project_limit && !current_user.can_create_project? && current_user.projects_limit > 0
|
- if cookies[:hide_project_limit_message].blank? && !current_user.hide_project_limit && !current_user.can_create_project? && current_user.projects_limit > 0
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
|
||||||
dismissible: false,
|
dismissible: false,
|
||||||
alert_class: 'project-limit-message' do
|
alert_class: 'project-limit-message') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= _("You won't be able to create new projects because you have reached your project limit.")
|
= _("You won't be able to create new projects because you have reached your project limit.")
|
||||||
.gl-alert-actions
|
.gl-alert-actions
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
- if session[:ask_for_usage_stats_consent]
|
- if session[:ask_for_usage_stats_consent]
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: 'service-ping-consent-message') do
|
||||||
variant: :info,
|
|
||||||
alert_class: 'service-ping-consent-message' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
- docs_link = link_to _('collect usage information'), help_page_path('user/admin_area/settings/usage_statistics.md'), class: 'gl-link'
|
- docs_link = link_to _('collect usage information'), help_page_path('user/admin_area/settings/usage_statistics.md'), class: 'gl-link'
|
||||||
- settings_link = link_to _('your settings'), metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), class: 'gl-link'
|
- settings_link = link_to _('your settings'), metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), class: 'gl-link'
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :warning,
|
||||||
variant: :warning,
|
|
||||||
alert_class: 'js-recovery-settings-callout gl-mt-5',
|
alert_class: 'js-recovery-settings-callout gl-mt-5',
|
||||||
alert_data: { feature_id: Users::CalloutsHelper::TWO_FACTOR_AUTH_RECOVERY_SETTINGS_CHECK, dismiss_endpoint: callouts_path, defer_links: 'true' },
|
alert_data: { feature_id: Users::CalloutsHelper::TWO_FACTOR_AUTH_RECOVERY_SETTINGS_CHECK,
|
||||||
close_button_data: { testid: 'close-account-recovery-regular-check-callout' } do
|
dismiss_endpoint: callouts_path,
|
||||||
|
defer_links: 'true' },
|
||||||
|
close_button_data: { testid: 'close-account-recovery-regular-check-callout' }) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Profiles|Ensure you have two-factor authentication recovery codes stored in a safe place.')
|
= s_('Profiles|Ensure you have two-factor authentication recovery codes stored in a safe place.')
|
||||||
= link_to _('Learn more.'), help_page_path('user/profile/account/two_factor_authentication', anchor: 'recovery-codes'), target: '_blank', rel: 'noopener noreferrer'
|
= link_to _('Learn more.'), help_page_path('user/profile/account/two_factor_authentication', anchor: 'recovery-codes'), target: '_blank', rel: 'noopener noreferrer'
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: 'gl-my-5',
|
||||||
alert_class: 'gl-my-5',
|
|
||||||
variant: :danger,
|
variant: :danger,
|
||||||
dismissible: false,
|
dismissible: false,
|
||||||
title: reason do
|
title: reason) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('The git server, Gitaly, is not available at this time. Please contact your administrator.')
|
= s_('The git server, Gitaly, is not available at this time. Please contact your administrator.')
|
||||||
|
|
|
@ -10,10 +10,9 @@
|
||||||
%hr
|
%hr
|
||||||
|
|
||||||
- if hook_log.internal_error_message.present?
|
- if hook_log.internal_error_message.present?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: _('Internal error occurred while delivering this webhook.'),
|
||||||
title: _('Internal error occurred while delivering this webhook.'),
|
|
||||||
variant: :danger,
|
variant: :danger,
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= _('Error: %{error}') % { error: hook_log.internal_error_message }
|
= _('Error: %{error}') % { error: hook_log.internal_error_message }
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,9 @@
|
||||||
= form_errors(issuable)
|
= form_errors(issuable)
|
||||||
|
|
||||||
- if @conflict
|
- if @conflict
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :danger,
|
||||||
variant: :danger,
|
|
||||||
dismissible: false,
|
dismissible: false,
|
||||||
alert_class: 'gl-mb-5' do
|
alert_class: 'gl-mb-5') do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
Someone edited the #{issuable.class.model_name.human.downcase} the same time you did.
|
Someone edited the #{issuable.class.model_name.human.downcase} the same time you did.
|
||||||
Please check out
|
Please check out
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
.dropdown-page-two.dropdown-new-label
|
.dropdown-page-two.dropdown-new-label
|
||||||
= dropdown_title(create_label_title(subject), options: { back: true, close: show_close })
|
= dropdown_title(create_label_title(subject), options: { back: true, close: show_close })
|
||||||
= dropdown_content do
|
= dropdown_content do
|
||||||
= render 'shared/global_alert', variant: :danger, alert_class: 'js-label-error gl-mb-3', dismissible: false
|
= render Pajamas::AlertComponent.new(variant: :danger, alert_class: 'js-label-error gl-mb-3', dismissible: false)
|
||||||
%input#new_label_name.default-dropdown-input{ type: "text", placeholder: _('Name new label') }
|
%input#new_label_name.default-dropdown-input{ type: "text", placeholder: _('Name new label') }
|
||||||
.suggest-colors.suggest-colors-dropdown
|
.suggest-colors.suggest-colors-dropdown
|
||||||
= render_suggested_colors
|
= render_suggested_colors
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
- milestone = local_assigns[:milestone]
|
- milestone = local_assigns[:milestone]
|
||||||
|
|
||||||
- if milestone.complete? && milestone.active?
|
- if milestone.complete? && milestone.active?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(variant: :success,
|
||||||
variant: :success,
|
|
||||||
alert_data: { testid: 'all-issues-closed-alert' },
|
alert_data: { testid: 'all-issues-closed-alert' },
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= yield
|
= yield
|
||||||
|
|
|
@ -1,18 +1,16 @@
|
||||||
- alert_class = 'gl-mb-5'
|
- alert_class = 'gl-mb-5'
|
||||||
|
|
||||||
- if runner.group_type?
|
- if runner.group_type?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: alert_class,
|
||||||
alert_class: alert_class,
|
|
||||||
title: s_('Runners|This runner is available to all projects and subgroups in a group.'),
|
title: s_('Runners|This runner is available to all projects and subgroups in a group.'),
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Runners|Use Group runners when you want all projects in a group to have access to a set of runners.')
|
= s_('Runners|Use Group runners when you want all projects in a group to have access to a set of runners.')
|
||||||
= link_to _('Learn more.'), help_page_path('ci/runners/runners_scope', anchor: 'group-runners'), target: '_blank', rel: 'noopener noreferrer'
|
= link_to _('Learn more.'), help_page_path('ci/runners/runners_scope', anchor: 'group-runners'), target: '_blank', rel: 'noopener noreferrer'
|
||||||
- else
|
- else
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(alert_class: alert_class,
|
||||||
alert_class: alert_class,
|
|
||||||
title: s_('Runners|This runner is associated with specific projects.'),
|
title: s_('Runners|This runner is associated with specific projects.'),
|
||||||
dismissible: false do
|
dismissible: false) do
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Runners|You can set up a specific runner to be used by multiple projects but you cannot make this a shared runner.')
|
= s_('Runners|You can set up a specific runner to be used by multiple projects but you cannot make this a shared runner.')
|
||||||
= link_to _('Learn more.'), help_page_path('ci/runners/runners_scope', anchor: 'specific-runners'), target: '_blank', rel: 'noopener noreferrer'
|
= link_to _('Learn more.'), help_page_path('ci/runners/runners_scope', anchor: 'specific-runners'), target: '_blank', rel: 'noopener noreferrer'
|
||||||
|
|
|
@ -10,17 +10,13 @@
|
||||||
limit: hook.rate_limit,
|
limit: hook.rate_limit,
|
||||||
support_link_start: link_start % { url: support_path },
|
support_link_start: link_start % { url: support_path },
|
||||||
support_link_end: link_end }
|
support_link_end: link_end }
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: s_('Webhooks|Webhook was automatically disabled'),
|
||||||
title: s_('Webhooks|Webhook was automatically disabled'),
|
variant: :danger) do
|
||||||
variant: :danger,
|
|
||||||
close_button_class: 'js-close' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Webhooks|The webhook was triggered more than %{limit} times per minute and is now disabled. To re-enable this webhook, fix the problems shown in %{strong_start}Recent events%{strong_end}, then re-test your settings. %{support_link_start}Contact Support%{support_link_end} if you need help re-enabling your webhook.').html_safe % placeholders
|
= s_('Webhooks|The webhook was triggered more than %{limit} times per minute and is now disabled. To re-enable this webhook, fix the problems shown in %{strong_start}Recent events%{strong_end}, then re-test your settings. %{support_link_start}Contact Support%{support_link_end} if you need help re-enabling your webhook.').html_safe % placeholders
|
||||||
- elsif hook.permanently_disabled?
|
- elsif hook.permanently_disabled?
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: s_('Webhooks|Webhook failed to connect'),
|
||||||
title: s_('Webhooks|Webhook failed to connect'),
|
variant: :danger) do
|
||||||
variant: :danger,
|
|
||||||
close_button_class: 'js-close' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Webhooks|The webhook failed to connect, and is disabled. To re-enable it, check %{strong_start}Recent events%{strong_end} for error details, then test your settings below.').html_safe % { strong_start: strong_start, strong_end: strong_end }
|
= s_('Webhooks|The webhook failed to connect, and is disabled. To re-enable it, check %{strong_start}Recent events%{strong_end} for error details, then test your settings below.').html_safe % { strong_start: strong_start, strong_end: strong_end }
|
||||||
- elsif hook.temporarily_disabled?
|
- elsif hook.temporarily_disabled?
|
||||||
|
@ -30,9 +26,7 @@
|
||||||
retry_time: time_interval_in_words(hook.disabled_until - Time.now),
|
retry_time: time_interval_in_words(hook.disabled_until - Time.now),
|
||||||
help_link_start: link_start % { url: help_path },
|
help_link_start: link_start % { url: help_path },
|
||||||
help_link_end: link_end }
|
help_link_end: link_end }
|
||||||
= render 'shared/global_alert',
|
= render Pajamas::AlertComponent.new(title: s_('Webhooks|Webhook fails to connect'),
|
||||||
title: s_('Webhooks|Webhook fails to connect'),
|
variant: :warning) do
|
||||||
variant: :warning,
|
|
||||||
close_button_class: 'js-close' do
|
|
||||||
.gl-alert-body
|
.gl-alert-body
|
||||||
= s_('Webhooks|The webhook %{help_link_start}failed to connect%{help_link_end}, and will retry in %{retry_time}. To re-enable it, check %{strong_start}Recent events%{strong_end} for error details, then test your settings below.').html_safe % placeholders
|
= s_('Webhooks|The webhook %{help_link_start}failed to connect%{help_link_end}, and will retry in %{retry_time}. To re-enable it, check %{strong_start}Recent events%{strong_end} for error details, then test your settings below.').html_safe % placeholders
|
||||||
|
|
|
@ -4,14 +4,11 @@ module BulkImports
|
||||||
class PipelineWorker # rubocop:disable Scalability/IdempotentWorker
|
class PipelineWorker # rubocop:disable Scalability/IdempotentWorker
|
||||||
include ApplicationWorker
|
include ApplicationWorker
|
||||||
|
|
||||||
|
NDJSON_PIPELINE_PERFORM_DELAY = 10.seconds
|
||||||
|
|
||||||
data_consistency :always
|
data_consistency :always
|
||||||
|
|
||||||
NDJSON_PIPELINE_PERFORM_DELAY = 1.minute
|
|
||||||
|
|
||||||
feature_category :importers
|
feature_category :importers
|
||||||
|
|
||||||
sidekiq_options retry: false, dead: false
|
sidekiq_options retry: false, dead: false
|
||||||
|
|
||||||
worker_has_external_dependencies!
|
worker_has_external_dependencies!
|
||||||
|
|
||||||
def perform(pipeline_tracker_id, stage, entity_id)
|
def perform(pipeline_tracker_id, stage, entity_id)
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
name: ci_safe_artifact_content_type
|
||||||
|
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83826
|
||||||
|
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357664
|
||||||
|
milestone: '14.10'
|
||||||
|
type: development
|
||||||
|
group: group::pipeline insights
|
||||||
|
default_enabled: false
|
|
@ -72,13 +72,14 @@ The following items are exported:
|
||||||
|
|
||||||
The following items are **not** exported:
|
The following items are **not** exported:
|
||||||
|
|
||||||
|
- [Child pipeline history](https://gitlab.com/gitlab-org/gitlab/-/issues/221088)
|
||||||
- Build traces and artifacts
|
- Build traces and artifacts
|
||||||
- Container registry images
|
- Container registry images
|
||||||
- CI/CD variables
|
- CI/CD variables
|
||||||
- Pipeline triggers
|
- Pipeline triggers
|
||||||
- Webhooks
|
- Webhooks
|
||||||
- Any encrypted tokens
|
- Any encrypted tokens
|
||||||
- Merge Request Approvers
|
- Merge Request Approvers and [the number of required approvals](https://gitlab.com/gitlab-org/gitlab/-/issues/221088)
|
||||||
- Repository size limits
|
- Repository size limits
|
||||||
- Deploy keys allowed to push to protected branches
|
- Deploy keys allowed to push to protected branches
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,11 @@ module API
|
||||||
|
|
||||||
bad_request! unless path.valid?
|
bad_request! unless path.valid?
|
||||||
|
|
||||||
send_artifacts_entry(build.artifacts_file, path)
|
if ::Feature.enabled?(:ci_safe_artifact_content_type, build&.project, default_enabled: :yaml)
|
||||||
|
send_artifacts_entry(build.artifacts_file, path)
|
||||||
|
else
|
||||||
|
legacy_send_artifacts_entry(build.artifacts_file, path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Download the artifacts archive from a job' do
|
desc 'Download the artifacts archive from a job' do
|
||||||
|
@ -100,7 +104,11 @@ module API
|
||||||
|
|
||||||
bad_request! unless path.valid?
|
bad_request! unless path.valid?
|
||||||
|
|
||||||
send_artifacts_entry(build.artifacts_file, path)
|
# This endpoint is being used for Artifact Browser feature that renders the content via pages.
|
||||||
|
# Since Content-Type is controlled by Rails and Workhorse, if a wrong
|
||||||
|
# content-type is sent, it could cause a regression on pages rendering.
|
||||||
|
# See https://gitlab.com/gitlab-org/gitlab/-/issues/357078 for more information.
|
||||||
|
legacy_send_artifacts_entry(build.artifacts_file, path)
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Keep the artifacts to prevent them from being deleted' do
|
desc 'Keep the artifacts to prevent them from being deleted' do
|
||||||
|
|
|
@ -705,8 +705,16 @@ module API
|
||||||
body ''
|
body ''
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Deprecated. Use `send_artifacts_entry` instead.
|
||||||
|
def legacy_send_artifacts_entry(file, entry)
|
||||||
|
header(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
|
||||||
|
|
||||||
|
body ''
|
||||||
|
end
|
||||||
|
|
||||||
def send_artifacts_entry(file, entry)
|
def send_artifacts_entry(file, entry)
|
||||||
header(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
|
header(*Gitlab::Workhorse.send_artifacts_entry(file, entry))
|
||||||
|
header(*Gitlab::Workhorse.detect_content_type)
|
||||||
|
|
||||||
body ''
|
body ''
|
||||||
end
|
end
|
||||||
|
|
|
@ -961,7 +961,7 @@ module Gitlab
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
"Finalize it manualy by running" \
|
"Finalize it manualy by running" \
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
"\tsudo gitlab-rake gitlab:background_migrations:finalize[#{job_class_name},#{table_name},#{column_name},'#{job_arguments.inspect.gsub(',', '\,')}']" \
|
"\tsudo gitlab-rake gitlab:background_migrations:finalize[#{job_class_name},#{table_name},#{column_name},'#{job_arguments.to_json.gsub(',', '\,')}']" \
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
"For more information, check the documentation" \
|
"For more information, check the documentation" \
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
|
|
|
@ -226,6 +226,13 @@ module Gitlab
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def detect_content_type
|
||||||
|
[
|
||||||
|
Gitlab::Workhorse::DETECT_HEADER,
|
||||||
|
'true'
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
# This is the outermost encoding of a senddata: header. It is safe for
|
# This is the outermost encoding of a senddata: header. It is safe for
|
||||||
|
|
|
@ -19,7 +19,7 @@ namespace :gitlab do
|
||||||
args[:job_class_name],
|
args[:job_class_name],
|
||||||
args[:table_name],
|
args[:table_name],
|
||||||
args[:column_name],
|
args[:column_name],
|
||||||
Gitlab::Json.parse(args[:job_arguments]),
|
args[:job_arguments],
|
||||||
connection: main_model.connection
|
connection: main_model.connection
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
@ -38,7 +38,7 @@ namespace :gitlab do
|
||||||
args[:job_class_name],
|
args[:job_class_name],
|
||||||
args[:table_name],
|
args[:table_name],
|
||||||
args[:column_name],
|
args[:column_name],
|
||||||
Gitlab::Json.parse(args[:job_arguments]),
|
args[:job_arguments],
|
||||||
connection: model.connection
|
connection: model.connection
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
|
@ -256,7 +256,7 @@
|
||||||
"stylelint": "^14.3.0",
|
"stylelint": "^14.3.0",
|
||||||
"timezone-mock": "^1.0.8",
|
"timezone-mock": "^1.0.8",
|
||||||
"vue-jest": "4.0.1",
|
"vue-jest": "4.0.1",
|
||||||
"webpack-dev-server": "4.7.4",
|
"webpack-dev-server": "4.8.0",
|
||||||
"xhr-mock": "^2.5.1",
|
"xhr-mock": "^2.5.1",
|
||||||
"yarn-check-webpack-plugin": "^1.2.0",
|
"yarn-check-webpack-plugin": "^1.2.0",
|
||||||
"yarn-deduplicate": "^4.0.0"
|
"yarn-deduplicate": "^4.0.0"
|
||||||
|
|
|
@ -323,6 +323,7 @@ RSpec.describe Projects::ArtifactsController do
|
||||||
subject
|
subject
|
||||||
|
|
||||||
expect(response).to have_gitlab_http_status(:ok)
|
expect(response).to have_gitlab_http_status(:ok)
|
||||||
|
expect(response.headers['Gitlab-Workhorse-Detect-Content-Type']).to eq('true')
|
||||||
expect(send_data).to start_with('artifacts-entry:')
|
expect(send_data).to start_with('artifacts-entry:')
|
||||||
|
|
||||||
expect(params.keys).to eq(%w(Archive Entry))
|
expect(params.keys).to eq(%w(Archive Entry))
|
||||||
|
@ -380,6 +381,18 @@ RSpec.describe Projects::ArtifactsController do
|
||||||
let(:store) { ObjectStorage::Store::LOCAL }
|
let(:store) { ObjectStorage::Store::LOCAL }
|
||||||
let(:archive_path) { JobArtifactUploader.root }
|
let(:archive_path) { JobArtifactUploader.root }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when ci_safe_artifact_content_type is disabled' do
|
||||||
|
before do
|
||||||
|
stub_feature_flags(ci_safe_artifact_content_type: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does not let workhorse set content type' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response.headers).not_to include('Gitlab-Workhorse-Detect-Content-Type')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when the artifact is not zip' do
|
context 'when the artifact is not zip' do
|
||||||
|
|
|
@ -2211,7 +2211,7 @@ RSpec.describe Gitlab::Database::MigrationHelpers do
|
||||||
job_class_name: 'CopyColumnUsingBackgroundMigrationJob',
|
job_class_name: 'CopyColumnUsingBackgroundMigrationJob',
|
||||||
table_name: :events,
|
table_name: :events,
|
||||||
column_name: :id,
|
column_name: :id,
|
||||||
job_arguments: [["id"], ["id_convert_to_bigint"]]
|
job_arguments: [["id"], ["id_convert_to_bigint"], nil]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -2226,7 +2226,7 @@ RSpec.describe Gitlab::Database::MigrationHelpers do
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
"Finalize it manualy by running" \
|
"Finalize it manualy by running" \
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
"\tsudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,events,id,'[[\"id\"]\\, [\"id_convert_to_bigint\"]]']" \
|
"\tsudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,events,id,'[[\"id\"]\\,[\"id_convert_to_bigint\"]\\,null]']" \
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
"For more information, check the documentation" \
|
"For more information, check the documentation" \
|
||||||
"\n\n" \
|
"\n\n" \
|
||||||
|
|
|
@ -448,6 +448,14 @@ RSpec.describe Gitlab::Workhorse do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '.detect_content_type' do
|
||||||
|
subject { described_class.detect_content_type }
|
||||||
|
|
||||||
|
it 'returns array setting detect content type in workhorse' do
|
||||||
|
expect(subject).to eq(%w[Gitlab-Workhorse-Detect-Content-Type true])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '.send_git_blob' do
|
describe '.send_git_blob' do
|
||||||
include FakeBlobHelpers
|
include FakeBlobHelpers
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,13 @@ RSpec.describe Projects::BuildArtifactsSizeRefresh, type: :model do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'scopes' do
|
describe 'scopes' do
|
||||||
let_it_be(:refresh_1) { create(:project_build_artifacts_size_refresh, :running, updated_at: 4.days.ago) }
|
let_it_be(:refresh_1) { create(:project_build_artifacts_size_refresh, :running, updated_at: (described_class::STALE_WINDOW + 1.second).ago) }
|
||||||
let_it_be(:refresh_2) { create(:project_build_artifacts_size_refresh, :running, updated_at: 2.days.ago) }
|
let_it_be(:refresh_2) { create(:project_build_artifacts_size_refresh, :running, updated_at: 1.hour.ago) }
|
||||||
let_it_be(:refresh_3) { create(:project_build_artifacts_size_refresh, :pending) }
|
let_it_be(:refresh_3) { create(:project_build_artifacts_size_refresh, :pending) }
|
||||||
let_it_be(:refresh_4) { create(:project_build_artifacts_size_refresh, :created) }
|
let_it_be(:refresh_4) { create(:project_build_artifacts_size_refresh, :created) }
|
||||||
|
|
||||||
describe 'stale' do
|
describe 'stale' do
|
||||||
it 'returns records in running state and has not been updated for more than 3 days' do
|
it 'returns records in running state and has not been updated for more than 2 hours' do
|
||||||
expect(described_class.stale).to eq([refresh_1])
|
expect(described_class.stale).to eq([refresh_1])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -224,6 +224,8 @@ RSpec.describe API::Ci::JobArtifacts do
|
||||||
expect(response.headers.to_h)
|
expect(response.headers.to_h)
|
||||||
.to include('Content-Type' => 'application/json',
|
.to include('Content-Type' => 'application/json',
|
||||||
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
|
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
|
||||||
|
expect(response.headers.to_h)
|
||||||
|
.not_to include('Gitlab-Workhorse-Detect-Content-Type' => 'true')
|
||||||
expect(response.parsed_body).to be_empty
|
expect(response.parsed_body).to be_empty
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -556,7 +558,18 @@ RSpec.describe API::Ci::JobArtifacts do
|
||||||
expect(response).to have_gitlab_http_status(:ok)
|
expect(response).to have_gitlab_http_status(:ok)
|
||||||
expect(response.headers.to_h)
|
expect(response.headers.to_h)
|
||||||
.to include('Content-Type' => 'application/json',
|
.to include('Content-Type' => 'application/json',
|
||||||
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
|
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/,
|
||||||
|
'Gitlab-Workhorse-Detect-Content-Type' => 'true')
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when ci_safe_artifact_content_type is disabled' do
|
||||||
|
before do
|
||||||
|
stub_feature_flags(ci_safe_artifact_content_type: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does not let workhorse set content type' do
|
||||||
|
expect(response.headers).not_to include('Gitlab-Workhorse-Detect-Content-Type')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -626,7 +639,8 @@ RSpec.describe API::Ci::JobArtifacts do
|
||||||
expect(response).to have_gitlab_http_status(:ok)
|
expect(response).to have_gitlab_http_status(:ok)
|
||||||
expect(response.headers.to_h)
|
expect(response.headers.to_h)
|
||||||
.to include('Content-Type' => 'application/json',
|
.to include('Content-Type' => 'application/json',
|
||||||
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
|
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/,
|
||||||
|
'Gitlab-Workhorse-Detect-Content-Type' => 'true')
|
||||||
expect(response.parsed_body).to be_empty
|
expect(response.parsed_body).to be_empty
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -644,7 +658,8 @@ RSpec.describe API::Ci::JobArtifacts do
|
||||||
expect(response).to have_gitlab_http_status(:ok)
|
expect(response).to have_gitlab_http_status(:ok)
|
||||||
expect(response.headers.to_h)
|
expect(response.headers.to_h)
|
||||||
.to include('Content-Type' => 'application/json',
|
.to include('Content-Type' => 'application/json',
|
||||||
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/)
|
'Gitlab-Workhorse-Send-Data' => /artifacts-entry/,
|
||||||
|
'Gitlab-Workhorse-Detect-Content-Type' => 'true')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,17 @@ RSpec.describe 'gitlab:background_migrations namespace rake tasks' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with a null parameter' do
|
||||||
|
let(:arguments) { %w[ProjectNamespaces::BackfillProjectNamespaces projects id] + ['[null\, "up"]'] }
|
||||||
|
|
||||||
|
it 'finalizes the matching migration' do
|
||||||
|
expect(Gitlab::Database::BackgroundMigration::BatchedMigrationRunner).to receive(:finalize)
|
||||||
|
.with('ProjectNamespaces::BackfillProjectNamespaces', 'projects', 'id', [nil, "up"], connection: connection)
|
||||||
|
|
||||||
|
expect { finalize_task }.to output(/Done/).to_stdout
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'when multiple database feature is enabled' do
|
context 'when multiple database feature is enabled' do
|
||||||
subject(:finalize_task) { run_rake_task("gitlab:background_migrations:finalize:#{ci_database_name}", *arguments) }
|
subject(:finalize_task) { run_rake_task("gitlab:background_migrations:finalize:#{ci_database_name}", *arguments) }
|
||||||
|
|
||||||
|
|
398
yarn.lock
398
yarn.lock
|
@ -1421,6 +1421,11 @@
|
||||||
"@jridgewell/resolve-uri" "^3.0.3"
|
"@jridgewell/resolve-uri" "^3.0.3"
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.10"
|
"@jridgewell/sourcemap-codec" "^1.4.10"
|
||||||
|
|
||||||
|
"@leichtgewicht/ip-codec@^2.0.1":
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz#0300943770e04231041a51bd39f0439b5c7ab4f0"
|
||||||
|
integrity sha512-nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==
|
||||||
|
|
||||||
"@miragejs/pretender-node-polyfill@^0.1.0":
|
"@miragejs/pretender-node-polyfill@^0.1.0":
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/@miragejs/pretender-node-polyfill/-/pretender-node-polyfill-0.1.2.tgz#d26b6b7483fb70cd62189d05c95d2f67153e43f2"
|
resolved "https://registry.yarnpkg.com/@miragejs/pretender-node-polyfill/-/pretender-node-polyfill-0.1.2.tgz#d26b6b7483fb70cd62189d05c95d2f67153e43f2"
|
||||||
|
@ -2212,10 +2217,10 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/ws@^8.0.0", "@types/ws@^8.2.2":
|
"@types/ws@^8.0.0", "@types/ws@^8.5.1":
|
||||||
version "8.2.2"
|
version "8.5.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21"
|
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d"
|
||||||
integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==
|
integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
@ -2493,13 +2498,13 @@ abort-controller@^3.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
event-target-shim "^5.0.0"
|
event-target-shim "^5.0.0"
|
||||||
|
|
||||||
accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
|
accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
|
||||||
version "1.3.7"
|
version "1.3.8"
|
||||||
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
|
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
|
||||||
integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
|
integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
|
||||||
dependencies:
|
dependencies:
|
||||||
mime-types "~2.1.24"
|
mime-types "~2.1.34"
|
||||||
negotiator "0.6.2"
|
negotiator "0.6.3"
|
||||||
|
|
||||||
acorn-globals@^6.0.0:
|
acorn-globals@^6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
|
@ -2632,11 +2637,6 @@ ansi-regex@^5.0.0, ansi-regex@^5.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
|
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
|
||||||
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
|
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
|
||||||
|
|
||||||
ansi-regex@^6.0.1:
|
|
||||||
version "6.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a"
|
|
||||||
integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
|
|
||||||
|
|
||||||
ansi-styles@^3.2.1:
|
ansi-styles@^3.2.1:
|
||||||
version "3.2.1"
|
version "3.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
|
||||||
|
@ -2734,10 +2734,10 @@ array-flatten@1.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
|
||||||
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
|
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
|
||||||
|
|
||||||
array-flatten@^2.1.0:
|
array-flatten@^2.1.2:
|
||||||
version "2.1.1"
|
version "2.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296"
|
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
|
||||||
integrity sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=
|
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
|
||||||
|
|
||||||
array-includes@^3.1.1:
|
array-includes@^3.1.1:
|
||||||
version "3.1.2"
|
version "3.1.2"
|
||||||
|
@ -3041,33 +3041,31 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.9:
|
||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
||||||
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
||||||
|
|
||||||
body-parser@1.19.0:
|
body-parser@1.19.2:
|
||||||
version "1.19.0"
|
version "1.19.2"
|
||||||
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
|
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e"
|
||||||
integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
|
integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
|
||||||
dependencies:
|
dependencies:
|
||||||
bytes "3.1.0"
|
bytes "3.1.2"
|
||||||
content-type "~1.0.4"
|
content-type "~1.0.4"
|
||||||
debug "2.6.9"
|
debug "2.6.9"
|
||||||
depd "~1.1.2"
|
depd "~1.1.2"
|
||||||
http-errors "1.7.2"
|
http-errors "1.8.1"
|
||||||
iconv-lite "0.4.24"
|
iconv-lite "0.4.24"
|
||||||
on-finished "~2.3.0"
|
on-finished "~2.3.0"
|
||||||
qs "6.7.0"
|
qs "6.9.7"
|
||||||
raw-body "2.4.0"
|
raw-body "2.4.3"
|
||||||
type-is "~1.6.17"
|
type-is "~1.6.18"
|
||||||
|
|
||||||
bonjour@^3.5.0:
|
bonjour-service@^1.0.11:
|
||||||
version "3.5.0"
|
version "1.0.11"
|
||||||
resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
|
resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.0.11.tgz#5418e5c1ac91c89a406f853a942e7892829c0d89"
|
||||||
integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU=
|
integrity sha512-drMprzr2rDTCtgEE3VgdA9uUFaUHF+jXduwYSThHJnKMYM+FhI9Z3ph+TX3xy0LtgYHae6CHYPJ/2UnK8nQHcA==
|
||||||
dependencies:
|
dependencies:
|
||||||
array-flatten "^2.1.0"
|
array-flatten "^2.1.2"
|
||||||
deep-equal "^1.0.1"
|
|
||||||
dns-equal "^1.0.0"
|
dns-equal "^1.0.0"
|
||||||
dns-txt "^2.0.2"
|
fast-deep-equal "^3.1.3"
|
||||||
multicast-dns "^6.0.1"
|
multicast-dns "^7.2.4"
|
||||||
multicast-dns-service-types "^1.1.0"
|
|
||||||
|
|
||||||
boolbase@^1.0.0:
|
boolbase@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
|
@ -3226,11 +3224,6 @@ buffer-from@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
|
||||||
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
|
||||||
|
|
||||||
buffer-indexof@^1.0.0:
|
|
||||||
version "1.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.0.tgz#f54f647c4f4e25228baa656a2e57e43d5f270982"
|
|
||||||
integrity sha1-9U9kfE9OJSKLqmVqLlfkPV8nCYI=
|
|
||||||
|
|
||||||
buffer-json@^2.0.0:
|
buffer-json@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23"
|
resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23"
|
||||||
|
@ -3273,10 +3266,10 @@ bytes@3.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
|
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
|
||||||
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
|
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
|
||||||
|
|
||||||
bytes@3.1.0:
|
bytes@3.1.2:
|
||||||
version "3.1.0"
|
version "3.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
|
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
|
||||||
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
|
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
|
||||||
|
|
||||||
cacache@^12.0.2:
|
cacache@^12.0.2:
|
||||||
version "12.0.3"
|
version "12.0.3"
|
||||||
|
@ -3842,12 +3835,12 @@ contains-path@^0.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
|
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
|
||||||
integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
|
integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
|
||||||
|
|
||||||
content-disposition@0.5.3:
|
content-disposition@0.5.4:
|
||||||
version "0.5.3"
|
version "0.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
|
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
|
||||||
integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
|
integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "5.1.2"
|
safe-buffer "5.2.1"
|
||||||
|
|
||||||
content-type@~1.0.4:
|
content-type@~1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
|
@ -3866,10 +3859,10 @@ cookie-signature@1.0.6:
|
||||||
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
|
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
|
||||||
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
|
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
|
||||||
|
|
||||||
cookie@0.4.0:
|
cookie@0.4.2:
|
||||||
version "0.4.0"
|
version "0.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
|
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
||||||
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
|
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||||
|
|
||||||
copy-concurrently@^1.0.0:
|
copy-concurrently@^1.0.0:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
|
@ -4861,20 +4854,6 @@ define-property@^2.0.2:
|
||||||
is-descriptor "^1.0.2"
|
is-descriptor "^1.0.2"
|
||||||
isobject "^3.0.1"
|
isobject "^3.0.1"
|
||||||
|
|
||||||
del@^6.0.0:
|
|
||||||
version "6.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952"
|
|
||||||
integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==
|
|
||||||
dependencies:
|
|
||||||
globby "^11.0.1"
|
|
||||||
graceful-fs "^4.2.4"
|
|
||||||
is-glob "^4.0.1"
|
|
||||||
is-path-cwd "^2.2.0"
|
|
||||||
is-path-inside "^3.0.2"
|
|
||||||
p-map "^4.0.0"
|
|
||||||
rimraf "^3.0.2"
|
|
||||||
slash "^3.0.0"
|
|
||||||
|
|
||||||
delaunator@5:
|
delaunator@5:
|
||||||
version "5.0.0"
|
version "5.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b"
|
resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b"
|
||||||
|
@ -4976,20 +4955,12 @@ dns-equal@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
|
resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
|
||||||
integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
|
integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0=
|
||||||
|
|
||||||
dns-packet@^1.0.1:
|
dns-packet@^5.2.2:
|
||||||
version "1.3.4"
|
version "5.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f"
|
resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.3.1.tgz#eb94413789daec0f0ebe2fcc230bdc9d7c91b43d"
|
||||||
integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==
|
integrity sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==
|
||||||
dependencies:
|
dependencies:
|
||||||
ip "^1.1.0"
|
"@leichtgewicht/ip-codec" "^2.0.1"
|
||||||
safe-buffer "^5.0.1"
|
|
||||||
|
|
||||||
dns-txt@^2.0.2:
|
|
||||||
version "2.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6"
|
|
||||||
integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=
|
|
||||||
dependencies:
|
|
||||||
buffer-indexof "^1.0.0"
|
|
||||||
|
|
||||||
docdash@^1.0.2:
|
docdash@^1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
|
@ -5749,17 +5720,17 @@ expect@^26.5.2:
|
||||||
jest-message-util "^26.5.2"
|
jest-message-util "^26.5.2"
|
||||||
jest-regex-util "^26.0.0"
|
jest-regex-util "^26.0.0"
|
||||||
|
|
||||||
express@^4.17.1:
|
express@^4.17.3:
|
||||||
version "4.17.1"
|
version "4.17.3"
|
||||||
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
|
resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
|
||||||
integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
|
integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
|
||||||
dependencies:
|
dependencies:
|
||||||
accepts "~1.3.7"
|
accepts "~1.3.8"
|
||||||
array-flatten "1.1.1"
|
array-flatten "1.1.1"
|
||||||
body-parser "1.19.0"
|
body-parser "1.19.2"
|
||||||
content-disposition "0.5.3"
|
content-disposition "0.5.4"
|
||||||
content-type "~1.0.4"
|
content-type "~1.0.4"
|
||||||
cookie "0.4.0"
|
cookie "0.4.2"
|
||||||
cookie-signature "1.0.6"
|
cookie-signature "1.0.6"
|
||||||
debug "2.6.9"
|
debug "2.6.9"
|
||||||
depd "~1.1.2"
|
depd "~1.1.2"
|
||||||
|
@ -5773,13 +5744,13 @@ express@^4.17.1:
|
||||||
on-finished "~2.3.0"
|
on-finished "~2.3.0"
|
||||||
parseurl "~1.3.3"
|
parseurl "~1.3.3"
|
||||||
path-to-regexp "0.1.7"
|
path-to-regexp "0.1.7"
|
||||||
proxy-addr "~2.0.5"
|
proxy-addr "~2.0.7"
|
||||||
qs "6.7.0"
|
qs "6.9.7"
|
||||||
range-parser "~1.2.1"
|
range-parser "~1.2.1"
|
||||||
safe-buffer "5.1.2"
|
safe-buffer "5.2.1"
|
||||||
send "0.17.1"
|
send "0.17.2"
|
||||||
serve-static "1.14.1"
|
serve-static "1.14.2"
|
||||||
setprototypeof "1.1.1"
|
setprototypeof "1.2.0"
|
||||||
statuses "~1.5.0"
|
statuses "~1.5.0"
|
||||||
type-is "~1.6.18"
|
type-is "~1.6.18"
|
||||||
utils-merge "1.0.1"
|
utils-merge "1.0.1"
|
||||||
|
@ -6071,10 +6042,10 @@ format@^0.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
|
resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
|
||||||
integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
|
integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
|
||||||
|
|
||||||
forwarded@~0.1.2:
|
forwarded@0.2.0:
|
||||||
version "0.1.2"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
|
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
|
||||||
integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
|
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
|
||||||
|
|
||||||
fragment-cache@^0.2.1:
|
fragment-cache@^0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
|
@ -6696,16 +6667,16 @@ http-deceiver@^1.2.7:
|
||||||
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
|
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
|
||||||
integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
|
integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=
|
||||||
|
|
||||||
http-errors@1.7.2, http-errors@~1.7.2:
|
http-errors@1.8.1:
|
||||||
version "1.7.2"
|
version "1.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
|
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
|
||||||
integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
|
integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
|
||||||
dependencies:
|
dependencies:
|
||||||
depd "~1.1.2"
|
depd "~1.1.2"
|
||||||
inherits "2.0.3"
|
inherits "2.0.4"
|
||||||
setprototypeof "1.1.1"
|
setprototypeof "1.2.0"
|
||||||
statuses ">= 1.5.0 < 2"
|
statuses ">= 1.5.0 < 2"
|
||||||
toidentifier "1.0.0"
|
toidentifier "1.0.1"
|
||||||
|
|
||||||
http-errors@~1.6.2:
|
http-errors@~1.6.2:
|
||||||
version "1.6.2"
|
version "1.6.2"
|
||||||
|
@ -6730,10 +6701,10 @@ http-proxy-agent@^2.1.0:
|
||||||
agent-base "4"
|
agent-base "4"
|
||||||
debug "3.1.0"
|
debug "3.1.0"
|
||||||
|
|
||||||
http-proxy-middleware@^2.0.0:
|
http-proxy-middleware@^2.0.3:
|
||||||
version "2.0.2"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.2.tgz#94d7593790aad6b3de48164f13792262f656c332"
|
resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a"
|
||||||
integrity sha512-XtmDN5w+vdFTBZaYhdJAbMqn0DP/EhkUaAeo963mojwpKMMbw6nivtFKw07D7DDOH745L5k0VL0P8KRYNEVF/g==
|
integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/http-proxy" "^1.17.8"
|
"@types/http-proxy" "^1.17.8"
|
||||||
http-proxy "^1.18.1"
|
http-proxy "^1.18.1"
|
||||||
|
@ -6902,7 +6873,7 @@ inflight@^1.0.4:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
|
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
|
@ -6959,17 +6930,7 @@ ip-regex@^2.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
|
resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
|
||||||
integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
|
integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=
|
||||||
|
|
||||||
ip@^1.1.0:
|
ipaddr.js@1.9.1, ipaddr.js@^1.9.1:
|
||||||
version "1.1.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
|
|
||||||
integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
|
|
||||||
|
|
||||||
ipaddr.js@1.9.0:
|
|
||||||
version "1.9.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
|
|
||||||
integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
|
|
||||||
|
|
||||||
ipaddr.js@^1.9.1:
|
|
||||||
version "1.9.1"
|
version "1.9.1"
|
||||||
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
|
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
|
||||||
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
||||||
|
@ -7157,12 +7118,7 @@ is-obj@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
|
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
|
||||||
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
|
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
|
||||||
|
|
||||||
is-path-cwd@^2.2.0:
|
is-path-inside@^3.0.1:
|
||||||
version "2.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
|
|
||||||
integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
|
|
||||||
|
|
||||||
is-path-inside@^3.0.1, is-path-inside@^3.0.2:
|
|
||||||
version "3.0.3"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
|
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
|
||||||
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
|
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
|
||||||
|
@ -8872,17 +8828,17 @@ miller-rabin@^4.0.0:
|
||||||
bn.js "^4.0.0"
|
bn.js "^4.0.0"
|
||||||
brorand "^1.0.1"
|
brorand "^1.0.1"
|
||||||
|
|
||||||
mime-db@1.51.0, "mime-db@>= 1.40.0 < 2":
|
mime-db@1.52.0, "mime-db@>= 1.40.0 < 2":
|
||||||
version "1.51.0"
|
version "1.52.0"
|
||||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
|
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||||
integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
|
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||||
|
|
||||||
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
|
mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
|
||||||
version "2.1.34"
|
version "2.1.35"
|
||||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
|
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||||
integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
|
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||||
dependencies:
|
dependencies:
|
||||||
mime-db "1.51.0"
|
mime-db "1.52.0"
|
||||||
|
|
||||||
mime@1.6.0:
|
mime@1.6.0:
|
||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
|
@ -9107,28 +9063,23 @@ ms@2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
||||||
|
|
||||||
ms@2.1.1:
|
ms@2.1.2:
|
||||||
version "2.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
|
|
||||||
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
|
|
||||||
|
|
||||||
ms@2.1.2, ms@^2.1.1:
|
|
||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||||
|
|
||||||
multicast-dns-service-types@^1.1.0:
|
ms@2.1.3, ms@^2.1.1:
|
||||||
version "1.1.0"
|
version "2.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||||
integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=
|
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
|
||||||
|
|
||||||
multicast-dns@^6.0.1:
|
multicast-dns@^7.2.4:
|
||||||
version "6.1.1"
|
version "7.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde"
|
resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.4.tgz#cf0b115c31e922aeb20b64e6556cbeb34cf0dd19"
|
||||||
integrity sha1-bn3oalcIcqsXBYrepxYLvsqBTd4=
|
integrity sha512-XkCYOU+rr2Ft3LI6w4ye51M3VK31qJXFIxu0XLw169PtKG0Zx47OrXeVW/GCYOfpC9s1yyyf1S+L8/4LY0J9Zw==
|
||||||
dependencies:
|
dependencies:
|
||||||
dns-packet "^1.0.1"
|
dns-packet "^5.2.2"
|
||||||
thunky "^0.1.0"
|
thunky "^1.0.2"
|
||||||
|
|
||||||
nanoid@^3.1.30:
|
nanoid@^3.1.30:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
|
@ -9157,10 +9108,10 @@ natural-compare@^1.4.0:
|
||||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||||
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
|
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
|
||||||
|
|
||||||
negotiator@0.6.2:
|
negotiator@0.6.3:
|
||||||
version "0.6.2"
|
version "0.6.3"
|
||||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
|
||||||
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
|
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
|
||||||
|
|
||||||
neo-async@^2.5.0, neo-async@^2.6.1:
|
neo-async@^2.5.0, neo-async@^2.6.1:
|
||||||
version "2.6.2"
|
version "2.6.2"
|
||||||
|
@ -9184,10 +9135,10 @@ node-fetch@^2.6.1, node-fetch@^2.6.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
whatwg-url "^5.0.0"
|
whatwg-url "^5.0.0"
|
||||||
|
|
||||||
node-forge@^1.2.0:
|
node-forge@^1:
|
||||||
version "1.2.1"
|
version "1.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c"
|
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
|
||||||
integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==
|
integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
|
||||||
|
|
||||||
node-int64@^0.4.0:
|
node-int64@^0.4.0:
|
||||||
version "0.4.0"
|
version "0.4.0"
|
||||||
|
@ -10206,13 +10157,13 @@ proto-list@~1.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
|
||||||
integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
|
integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=
|
||||||
|
|
||||||
proxy-addr@~2.0.5:
|
proxy-addr@~2.0.7:
|
||||||
version "2.0.5"
|
version "2.0.7"
|
||||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
|
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
|
||||||
integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==
|
integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
|
||||||
dependencies:
|
dependencies:
|
||||||
forwarded "~0.1.2"
|
forwarded "0.2.0"
|
||||||
ipaddr.js "1.9.0"
|
ipaddr.js "1.9.1"
|
||||||
|
|
||||||
prr@~1.0.1:
|
prr@~1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
|
@ -10305,10 +10256,10 @@ purgecss@^4.0.3:
|
||||||
postcss "^8.2.1"
|
postcss "^8.2.1"
|
||||||
postcss-selector-parser "^6.0.2"
|
postcss-selector-parser "^6.0.2"
|
||||||
|
|
||||||
qs@6.7.0:
|
qs@6.9.7:
|
||||||
version "6.7.0"
|
version "6.9.7"
|
||||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
|
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe"
|
||||||
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
|
integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
|
||||||
|
|
||||||
qs@~6.5.2:
|
qs@~6.5.2:
|
||||||
version "6.5.2"
|
version "6.5.2"
|
||||||
|
@ -10362,13 +10313,13 @@ raphael@^2.2.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
eve-raphael "0.5.0"
|
eve-raphael "0.5.0"
|
||||||
|
|
||||||
raw-body@2.4.0:
|
raw-body@2.4.3:
|
||||||
version "2.4.0"
|
version "2.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
|
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c"
|
||||||
integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
|
integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
|
||||||
dependencies:
|
dependencies:
|
||||||
bytes "3.1.0"
|
bytes "3.1.2"
|
||||||
http-errors "1.7.2"
|
http-errors "1.8.1"
|
||||||
iconv-lite "0.4.24"
|
iconv-lite "0.4.24"
|
||||||
unpipe "1.0.0"
|
unpipe "1.0.0"
|
||||||
|
|
||||||
|
@ -10835,6 +10786,11 @@ safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0,
|
||||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||||
|
|
||||||
|
safe-buffer@5.2.1:
|
||||||
|
version "5.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||||
|
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||||
|
|
||||||
safe-regex@^1.1.0:
|
safe-regex@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
|
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
|
||||||
|
@ -10953,12 +10909,12 @@ select@^1.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
|
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
|
||||||
integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
|
integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=
|
||||||
|
|
||||||
selfsigned@^2.0.0:
|
selfsigned@^2.0.1:
|
||||||
version "2.0.0"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.0.tgz#e927cd5377cbb0a1075302cff8df1042cc2bce5b"
|
resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56"
|
||||||
integrity sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==
|
integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
node-forge "^1.2.0"
|
node-forge "^1"
|
||||||
|
|
||||||
semver-diff@^3.1.1:
|
semver-diff@^3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
|
@ -10989,10 +10945,10 @@ semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
send@0.17.1:
|
send@0.17.2:
|
||||||
version "0.17.1"
|
version "0.17.2"
|
||||||
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
|
resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
|
||||||
integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
|
integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "2.6.9"
|
debug "2.6.9"
|
||||||
depd "~1.1.2"
|
depd "~1.1.2"
|
||||||
|
@ -11001,9 +10957,9 @@ send@0.17.1:
|
||||||
escape-html "~1.0.3"
|
escape-html "~1.0.3"
|
||||||
etag "~1.8.1"
|
etag "~1.8.1"
|
||||||
fresh "0.5.2"
|
fresh "0.5.2"
|
||||||
http-errors "~1.7.2"
|
http-errors "1.8.1"
|
||||||
mime "1.6.0"
|
mime "1.6.0"
|
||||||
ms "2.1.1"
|
ms "2.1.3"
|
||||||
on-finished "~2.3.0"
|
on-finished "~2.3.0"
|
||||||
range-parser "~1.2.1"
|
range-parser "~1.2.1"
|
||||||
statuses "~1.5.0"
|
statuses "~1.5.0"
|
||||||
|
@ -11040,15 +10996,15 @@ serve-index@^1.9.1:
|
||||||
mime-types "~2.1.17"
|
mime-types "~2.1.17"
|
||||||
parseurl "~1.3.2"
|
parseurl "~1.3.2"
|
||||||
|
|
||||||
serve-static@1.14.1:
|
serve-static@1.14.2:
|
||||||
version "1.14.1"
|
version "1.14.2"
|
||||||
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
|
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa"
|
||||||
integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
|
integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
encodeurl "~1.0.2"
|
encodeurl "~1.0.2"
|
||||||
escape-html "~1.0.3"
|
escape-html "~1.0.3"
|
||||||
parseurl "~1.3.3"
|
parseurl "~1.3.3"
|
||||||
send "0.17.1"
|
send "0.17.2"
|
||||||
|
|
||||||
set-blocking@^2.0.0:
|
set-blocking@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
|
@ -11075,10 +11031,10 @@ setprototypeof@1.0.3:
|
||||||
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
|
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
|
||||||
integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=
|
integrity sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=
|
||||||
|
|
||||||
setprototypeof@1.1.1:
|
setprototypeof@1.2.0:
|
||||||
version "1.1.1"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
|
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
|
||||||
integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
|
integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
|
||||||
|
|
||||||
sha.js@^2.4.0, sha.js@^2.4.8:
|
sha.js@^2.4.0, sha.js@^2.4.8:
|
||||||
version "2.4.10"
|
version "2.4.10"
|
||||||
|
@ -11506,13 +11462,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex "^5.0.1"
|
ansi-regex "^5.0.1"
|
||||||
|
|
||||||
strip-ansi@^7.0.0:
|
|
||||||
version "7.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
|
|
||||||
integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
|
|
||||||
dependencies:
|
|
||||||
ansi-regex "^6.0.1"
|
|
||||||
|
|
||||||
strip-bom@^3.0.0:
|
strip-bom@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
|
||||||
|
@ -11838,10 +11787,10 @@ through2@^2.0.0:
|
||||||
readable-stream "~2.3.6"
|
readable-stream "~2.3.6"
|
||||||
xtend "~4.0.1"
|
xtend "~4.0.1"
|
||||||
|
|
||||||
thunky@^0.1.0:
|
thunky@^1.0.2:
|
||||||
version "0.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e"
|
resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
|
||||||
integrity sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=
|
integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
|
||||||
|
|
||||||
timeago.js@^4.0.2:
|
timeago.js@^4.0.2:
|
||||||
version "4.0.2"
|
version "4.0.2"
|
||||||
|
@ -11929,10 +11878,10 @@ toggle-selection@^1.0.6:
|
||||||
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
|
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
|
||||||
integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
|
integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
|
||||||
|
|
||||||
toidentifier@1.0.0:
|
toidentifier@1.0.1:
|
||||||
version "1.0.0"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
|
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
|
||||||
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
|
integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
|
||||||
|
|
||||||
totalist@^1.0.0:
|
totalist@^1.0.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
|
@ -12092,7 +12041,7 @@ type-fest@^0.8.1:
|
||||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
|
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
|
||||||
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
|
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
|
||||||
|
|
||||||
type-is@~1.6.17, type-is@~1.6.18:
|
type-is@~1.6.18:
|
||||||
version "1.6.18"
|
version "1.6.18"
|
||||||
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
|
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
|
||||||
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
|
integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
|
||||||
|
@ -12827,39 +12776,38 @@ webpack-dev-middleware@^5.3.1:
|
||||||
range-parser "^1.2.1"
|
range-parser "^1.2.1"
|
||||||
schema-utils "^4.0.0"
|
schema-utils "^4.0.0"
|
||||||
|
|
||||||
webpack-dev-server@4.7.4:
|
webpack-dev-server@4.8.0:
|
||||||
version "4.7.4"
|
version "4.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945"
|
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.8.0.tgz#022bb845946e31ca01527509a942869ecfc7e047"
|
||||||
integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==
|
integrity sha512-yZ7OWVP1nOtv8s10R/ZCsH6zf6QKkNusMRBE9DsQbOknRzKaFYYrbwVPCXp8ynUOTt3RlD9szM8H0pUlrJ6wcw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/bonjour" "^3.5.9"
|
"@types/bonjour" "^3.5.9"
|
||||||
"@types/connect-history-api-fallback" "^1.3.5"
|
"@types/connect-history-api-fallback" "^1.3.5"
|
||||||
"@types/express" "^4.17.13"
|
"@types/express" "^4.17.13"
|
||||||
"@types/serve-index" "^1.9.1"
|
"@types/serve-index" "^1.9.1"
|
||||||
"@types/sockjs" "^0.3.33"
|
"@types/sockjs" "^0.3.33"
|
||||||
"@types/ws" "^8.2.2"
|
"@types/ws" "^8.5.1"
|
||||||
ansi-html-community "^0.0.8"
|
ansi-html-community "^0.0.8"
|
||||||
bonjour "^3.5.0"
|
bonjour-service "^1.0.11"
|
||||||
chokidar "^3.5.3"
|
chokidar "^3.5.3"
|
||||||
colorette "^2.0.10"
|
colorette "^2.0.10"
|
||||||
compression "^1.7.4"
|
compression "^1.7.4"
|
||||||
connect-history-api-fallback "^1.6.0"
|
connect-history-api-fallback "^1.6.0"
|
||||||
default-gateway "^6.0.3"
|
default-gateway "^6.0.3"
|
||||||
del "^6.0.0"
|
express "^4.17.3"
|
||||||
express "^4.17.1"
|
|
||||||
graceful-fs "^4.2.6"
|
graceful-fs "^4.2.6"
|
||||||
html-entities "^2.3.2"
|
html-entities "^2.3.2"
|
||||||
http-proxy-middleware "^2.0.0"
|
http-proxy-middleware "^2.0.3"
|
||||||
ipaddr.js "^2.0.1"
|
ipaddr.js "^2.0.1"
|
||||||
open "^8.0.9"
|
open "^8.0.9"
|
||||||
p-retry "^4.5.0"
|
p-retry "^4.5.0"
|
||||||
portfinder "^1.0.28"
|
portfinder "^1.0.28"
|
||||||
|
rimraf "^3.0.2"
|
||||||
schema-utils "^4.0.0"
|
schema-utils "^4.0.0"
|
||||||
selfsigned "^2.0.0"
|
selfsigned "^2.0.1"
|
||||||
serve-index "^1.9.1"
|
serve-index "^1.9.1"
|
||||||
sockjs "^0.3.21"
|
sockjs "^0.3.21"
|
||||||
spdy "^4.0.2"
|
spdy "^4.0.2"
|
||||||
strip-ansi "^7.0.0"
|
|
||||||
webpack-dev-middleware "^5.3.1"
|
webpack-dev-middleware "^5.3.1"
|
||||||
ws "^8.4.2"
|
ws "^8.4.2"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue