Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2023-11-28 15:10:14 +00:00
parent a115ce8e49
commit b6d3467a44
51 changed files with 814 additions and 418 deletions

View File

@ -28,8 +28,6 @@ gem 'rails', '~> 7.0.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'vite_rails' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bootsnap', '~> 1.17.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -453,6 +451,11 @@ group :development, :test do
gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory
# For now we only use vite in development / test, and not for production builds
# See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
gem 'vite_rails', '~> 3.0.17', feature_category: :shared
gem 'vite_ruby', '~> 3.5.0', feature_category: :shared
end
group :development, :test, :danger do

View File

@ -691,8 +691,8 @@
{"name":"version_sorter","version":"2.3.0","platform":"ruby","checksum":"2147f2a1a3804fbb8f60d268b7d7c1ec717e6dd727ffe2c165b4e05e82efe1da"},
{"name":"view_component","version":"3.7.0","platform":"ruby","checksum":"648909bde6c188621d607732d64a82515b03e69761c8098a0fe4336166d7e403"},
{"name":"virtus","version":"2.0.0","platform":"ruby","checksum":"8841dae4eb7fcc097320ba5ea516bf1839e5d056c61ee27138aa4bddd6e3d1c2"},
{"name":"vite_rails","version":"3.0.15","platform":"ruby","checksum":"b8ec528aedf7e24b54f222b449cd9250810ea2456d5f8dd4ef87f06b475cf860"},
{"name":"vite_ruby","version":"3.3.4","platform":"ruby","checksum":"025e438385a6dc2320c8c148dff453f5bb1d4f056ce69c3386f47d4c388ad80c"},
{"name":"vite_rails","version":"3.0.17","platform":"ruby","checksum":"b90e85a3e55802981cbdb43a4101d944b1e7055bfe85599d9cb7de0f1ea58bcc"},
{"name":"vite_ruby","version":"3.5.0","platform":"ruby","checksum":"a3e5da3fdd816f831cb1530c4001a790aac862c89f74c09f48d5a3cfed3dea73"},
{"name":"vmstat","version":"2.3.0","platform":"ruby","checksum":"ab5446a3e3bd0a9cdb9d9ac69a0bbd119c4f161d945a0846a519dd7018af656d"},
{"name":"warden","version":"1.2.9","platform":"ruby","checksum":"46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0"},
{"name":"warning","version":"1.3.0","platform":"ruby","checksum":"23695a5d8e50bd5c46068931b529bee0b28e4982cbcefbe77d867800dde8069e"},

View File

@ -1721,10 +1721,10 @@ GEM
axiom-types (~> 0.1)
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
vite_rails (3.0.15)
vite_rails (3.0.17)
railties (>= 5.1, < 8)
vite_ruby (~> 3.0, >= 3.2.2)
vite_ruby (3.3.4)
vite_ruby (3.5.0)
dry-cli (>= 0.7, < 2)
rack-proxy (~> 0.6, >= 0.6.1)
zeitwerk (~> 2.2)
@ -2086,7 +2086,8 @@ DEPENDENCIES
validates_hostname (~> 1.0.13)
version_sorter (~> 2.3)
view_component (~> 3.7.0)
vite_rails
vite_rails (~> 3.0.17)
vite_ruby (~> 3.5.0)
vmstat (~> 2.3.0)
warning (~> 1.3.0)
webauthn (~> 3.0)

View File

@ -1,40 +0,0 @@
<script>
import { GlDisclosureDropdown } from '@gitlab/ui';
import { __ } from '~/locale';
import printMarkdownDom from '~/lib/print_markdown_dom';
export default {
components: {
GlDisclosureDropdown,
},
inject: ['target', 'title', 'stylesheet'],
computed: {
dropdownItems() {
return [
{
text: __('Print as PDF'),
action: this.print,
},
];
},
},
methods: {
print() {
printMarkdownDom({
target: document.querySelector(this.target),
title: this.title,
stylesheet: this.stylesheet,
});
},
},
};
</script>
<template>
<gl-disclosure-dropdown
:items="dropdownItems"
icon="ellipsis_v"
category="tertiary"
placement="right"
no-caret
/>
</template>

View File

@ -0,0 +1,58 @@
<script>
import { GlDisclosureDropdown } from '@gitlab/ui';
import { s__, __ } from '~/locale';
import printMarkdownDom from '~/lib/print_markdown_dom';
export default {
components: {
GlDisclosureDropdown,
},
inject: ['print', 'history'],
computed: {
dropdownItems() {
const items = [];
if (this.history) {
items.push({
text: s__('Wiki|Page history'),
href: this.history,
extraAttrs: {
'data-testid': 'page-history-button',
},
});
}
if (this.print) {
items.push({
text: __('Print as PDF'),
action: this.printPage,
extraAttrs: {
'data-testid': 'page-print-button',
},
});
}
return items;
},
},
methods: {
printPage() {
printMarkdownDom({
target: document.querySelector(this.print.target),
title: this.print.title,
stylesheet: this.print.stylesheet,
});
},
},
};
</script>
<template>
<gl-disclosure-dropdown
:items="dropdownItems"
icon="ellipsis_v"
category="tertiary"
placement="right"
no-caret
data-testid="wiki-more-dropdown"
/>
</template>

View File

@ -1,7 +1,7 @@
import Vue from 'vue';
import Wikis from './wikis';
import WikiContent from './components/wiki_content.vue';
import WikiExport from './components/wiki_export.vue';
import WikiMoreDropdown from './components/wiki_more_dropdown.vue';
const mountWikiContentApp = () => {
const el = document.querySelector('.js-async-wiki-page-content');
@ -25,17 +25,16 @@ const mountWikiExportApp = () => {
const el = document.querySelector('#js-export-actions');
if (!el) return false;
const { target, title, stylesheet } = JSON.parse(el.dataset.options);
const { history, print } = JSON.parse(el.dataset.options);
return new Vue({
el,
provide: {
target,
title,
stylesheet,
history,
print,
},
render(createElement) {
return createElement(WikiExport);
return createElement(WikiMoreDropdown);
},
});
};

View File

@ -90,8 +90,6 @@
}
a {
color: var(--gray-400, $gray-400);
&:hover,
&.active {
text-decoration: none;
@ -103,18 +101,16 @@
}
.active > .wiki-list {
a,
.wiki-list-expand-button,
.wiki-list-collapse-button {
color: var(--gl-text-color, $gl-text-color);
}
background-color: $gray-50;
}
.wiki-list {
min-height: $gl-spacing-scale-8;
padding: $gl-spacing-scale-2 $gl-spacing-scale-3;
margin-bottom: $gl-spacing-scale-1;
@include gl-rounded-base;
&:hover {
background: $gray-10;
background: $gray-50;
.wiki-list-create-child-button {
display: block;
@ -148,8 +144,7 @@
margin: 0;
}
ul.wiki-pages ul,
ul.wiki-pages li:not(.wiki-directory){
ul.wiki-pages ul {
padding-left: 20px;
}

View File

@ -184,6 +184,10 @@ module Ci
scope :without_coverage, -> { where(coverage: nil) }
scope :with_coverage_regex, -> { where.not(coverage_regex: nil) }
scope :in_merge_request, ->(merge_request) do
joins(:pipeline).where(Ci::Pipeline.arel_table[:merge_request_id].eq(merge_request))
end
acts_as_taggable
add_authentication_token_field :token,
@ -367,6 +371,10 @@ module Ci
end
end
def self.ids_in_merge_request(merge_request_ids)
in_merge_request(merge_request_ids).pluck(:id)
end
def build_matcher
strong_memoize(:build_matcher) do
Gitlab::Ci::Matching::BuildMatcher.new({

View File

@ -111,7 +111,8 @@ module Analytics
:author_id,
:state_id,
:start_event_timestamp,
:end_event_timestamp
:end_event_timestamp,
:duration_in_milliseconds
]
end
@ -125,7 +126,8 @@ module Analytics
:author_id,
:state_id,
:start_event_timestamp,
:end_event_timestamp
:end_event_timestamp,
:duration_in_milliseconds
]
end

View File

@ -656,7 +656,7 @@ class ContainerRepository < ApplicationRecord
tag.updated_at = raw_tag['updated_at']
tag.total_size = raw_tag['size_bytes']
tag.manifest_digest = raw_tag['digest']
tag.revision = raw_tag['config_digest'].to_s.split(':')[1]
tag.revision = raw_tag['config_digest'].to_s.split(':')[1] || ''
tag
end
end

View File

@ -20,6 +20,7 @@ class PagesDeployment < ApplicationRecord
scope :with_files_stored_locally, -> { where(file_store: ::ObjectStorage::Store::LOCAL) }
scope :with_files_stored_remotely, -> { where(file_store: ::ObjectStorage::Store::REMOTE) }
scope :project_id_in, ->(ids) { where(project_id: ids) }
scope :ci_build_id_in, ->(ids) { where(ci_build_id: ids) }
scope :with_path_prefix, ->(prefix) { where("COALESCE(path_prefix, '') = ?", prefix.to_s) }
# We have to mark the PagesDeployment upload as ready to ensure we only
@ -28,6 +29,7 @@ class PagesDeployment < ApplicationRecord
scope :active, -> { upload_ready.where(deleted_at: nil).order(created_at: :desc) }
scope :deactivated, -> { where('deleted_at < ?', Time.now.utc) }
scope :versioned, -> { where.not(path_prefix: [nil, '']) }
validates :file, presence: true
validates :file_store, presence: true, inclusion: { in: ObjectStorage::SUPPORTED_STORES }
@ -62,6 +64,10 @@ class PagesDeployment < ApplicationRecord
.update_all(updated_at: now, deleted_at: time || now)
end
def self.deactivate
update(deleted_at: Time.now.utc)
end
private
def set_size

View File

@ -119,6 +119,10 @@ module MergeRequests
Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter
end
def deactivate_pages_deployments(merge_request)
Pages::DeactivateMrDeploymentsWorker.perform_async(merge_request)
end
private
def self.constructor_container_arg(value)

View File

@ -22,6 +22,7 @@ module MergeRequests
invalidate_cache_counts(merge_request, users: merge_request.assignees | merge_request.reviewers)
merge_request.update_project_counter_caches
cleanup_environments(merge_request)
deactivate_pages_deployments(merge_request)
abort_auto_merge(merge_request, 'merge request was closed')
cleanup_refs(merge_request)
trigger_merge_request_merge_status_updated(merge_request)

View File

@ -32,6 +32,7 @@ module MergeRequests
cancel_review_app_jobs!(merge_request)
cleanup_environments(merge_request)
cleanup_refs(merge_request)
deactivate_pages_deployments(merge_request)
execute_hooks(merge_request, 'merge')
end

View File

@ -1,6 +1,4 @@
- if @page&.persisted?
= link_button_to wiki_page_path(@wiki, @page, action: :history), role: "button", data: { testid: 'page-history-button' } do
= s_("Wiki|Page history")
- if can?(current_user, :create_wiki, @wiki.container)
= link_button_to wiki_path(@wiki, action: :new), role: "button", data: { testid: 'new-page-button' }, variant: :confirm, category: :secondary do
= s_("Wiki|New page")

View File

@ -2,6 +2,6 @@
%li{ class: active_when(params[:id] == wiki_page.slug) }
.gl-relative.gl-display-flex.gl-align-items-center.js-wiki-list-toggle.wiki-list{ data: { testid: 'wiki-list' } }
= render Pajamas::ButtonComponent.new(icon: 'plus', href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-3' })
= render Pajamas::ButtonComponent.new(icon: 'plus', size: :small, href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-2' })
= link_to wiki_path, data: { testid: 'wiki-page-link', qa_page_name: wiki_page.human_title } do
= wiki_page.human_title

View File

@ -1,10 +1,10 @@
- wiki_path = wiki_page_path(@wiki, wiki_directory)
%li{ class: ['wiki-directory', active_when(params[:id] == wiki_directory.slug)], data: { testid: 'wiki-directory-content' } }
%li{ data: { testid: 'wiki-directory-content' } }
.gl-relative.gl-display-flex.gl-align-items-center.js-wiki-list-toggle.wiki-list{ data: { testid: 'wiki-list' } }<
= sprite_icon('chevron-right', css_class: 'js-wiki-list-expand-button wiki-list-expand-button gl-mr-2 gl-cursor-pointer')
= sprite_icon('chevron-down', css_class: 'js-wiki-list-collapse-button wiki-list-collapse-button gl-mr-2 gl-cursor-pointer')
= render Pajamas::ButtonComponent.new(icon: 'plus', href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-3' })
= render Pajamas::ButtonComponent.new(icon: 'plus', size: :small, href: "#{wiki_path}/{new_page_title}", button_options: { class: 'wiki-list-create-child-button gl-bg-transparent! gl-hover-bg-gray-50! gl-focus-bg-gray-50! gl-absolute gl-top-half gl-translate-y-n50 gl-cursor-pointer gl-right-2' })
= link_to wiki_path, data: { testid: 'wiki-dir-page-link', qa_page_name: wiki_directory.title } do
= wiki_directory.title
%ul.gl-pl-8

View File

@ -12,7 +12,7 @@
= _('Changes')
.nav-controls.pb-md-3.pb-lg-0
= link_button_to wiki_page_path(@wiki, @page, action: :history), role: 'button', data: { qa_selector: 'page_history_button' } do
= link_button_to wiki_page_path(@wiki, @page, action: :history), role: 'button', data: { testid: 'page-history-button' } do
= s_('Wiki|Page history')
.page-content-header

View File

@ -12,7 +12,7 @@
%h1.page-title.gl-font-size-h-display.gl-flex-grow-1
- if @page.persisted?
= link_to_wiki_page @page
%span.light
%span.gl-text-secondary
&middot;
= s_("Wiki|Edit Page")
- else

View File

@ -11,7 +11,7 @@
= _('History')
.prepend-top-default.gl-mb-3
.table-holder
.table-holder{ data: { testid: 'wiki-history-table' } }
%table.table.wiki-history
%thead
%tr

View File

@ -1,7 +1,8 @@
- wiki_page_title @page
- add_page_specific_style 'page_bundles/wiki'
- page_history = @page&.persisted? ? wiki_page_path(@wiki, @page, action: :history) : ''
.wiki-page-header.top-area.has-sidebar-toggle.flex-column.flex-lg-row
.wiki-page-header.top-area.has-sidebar-toggle.flex-column.flex-lg-row.gl-border-b-0
= wiki_sidebar_toggle_button
.nav-text.flex-fill
@ -11,8 +12,12 @@
= time_ago_with_tooltip(@page.last_version.authored_date)
.nav-controls.pb-md-3.pb-lg-0
- if can?(current_user, :create_wiki, @wiki.container) && @page.latest? && @valid_encoding
= render Pajamas::ButtonComponent.new(href: wiki_page_path(@wiki, @page, action: :edit), button_options: { class: 'js-wiki-edit', data: { testid: 'wiki-edit-button' }}) do
= _('Edit')
= render 'shared/wikis/main_links'
#js-export-actions{ data: { options: { target: '.js-wiki-page-content', title: @page.human_title, stylesheet: [stylesheet_path('application')] }.to_json } }
#js-export-actions{ data: { options: { history: page_history, print: { target: '.js-wiki-page-content', title: @page.human_title, stylesheet: [stylesheet_path('application')] } }.to_json } }
- if @page.historical?
= render Pajamas::AlertComponent.new(variant: :warning,
@ -26,12 +31,9 @@
= render Pajamas::ButtonComponent.new(href: wiki_page_path(@wiki, @page, action: :history)) do
= s_('WikiHistoricalPage|Browse history')
.gl-mt-5.gl-mb-3
.gl-mb-3
.gl-display-flex.gl-justify-content-space-between
%h2.gl-mt-0.gl-mb-5{ data: { testid: 'wiki-page-title' } }= @page.human_title
%div
- if can?(current_user, :create_wiki, @wiki.container) && @page.latest? && @valid_encoding
= render Pajamas::ButtonComponent.new(href: wiki_page_path(@wiki, @page, action: :edit), icon: 'pencil', button_options: { class: 'js-wiki-edit', title: "Edit", data: { testid: 'wiki-edit-button' }})
.js-async-wiki-page-content.md.gl-pt-2{ data: { qa_selector: 'wiki_page_content', testid: 'wiki-page-content', tracking_context: wiki_page_tracking_context(@page).to_json, get_wiki_content_url: wiki_page_render_api_endpoint(@page) } }

View File

@ -3468,6 +3468,15 @@
:weight: 1
:idempotent: false
:tags: []
- :name: pages_deactivate_mr_deployments
:worker_name: Pages::DeactivateMrDeploymentsWorker
:feature_category: :pages
:has_external_dependencies: false
:urgency: :low
:resource_boundary: :unknown
:weight: 1
:idempotent: true
:tags: []
- :name: pages_domain_ssl_renewal
:worker_name: PagesDomainSslRenewalWorker
:feature_category: :pages

View File

@ -0,0 +1,29 @@
# frozen_string_literal: true
module Pages
class DeactivateMrDeploymentsWorker
include ApplicationWorker
idempotent!
data_consistency :always # rubocop: disable SidekiqLoadBalancing/WorkerDataConsistency -- performing writes only
urgency :low
feature_category :pages
def perform(merge_request_id)
build_ids = Ci::Build.ids_in_merge_request(merge_request_id)
deactivate_deployments_with_build_ids(build_ids)
end
private
def deactivate_deployments_with_build_ids(build_ids)
PagesDeployment
.versioned
.ci_build_id_in(build_ids)
.each_batch do |batch| # rubocop: disable Style/SymbolProc -- deactivate does not accept the index argument
batch.deactivate
end
end
end
end

View File

@ -0,0 +1,8 @@
---
name: product_analytics_usage_quota_annual_data
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136932
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432734
milestone: '16.7'
type: development
group: group::product analytics
default_enabled: false

View File

@ -2,7 +2,7 @@
name: use_sync_service_token_worker
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/135486
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/431608
milestone: '16.6'
milestone: '16.7'
type: development
group: group::cloud connector
default_enabled: false
default_enabled: true

View File

@ -519,6 +519,8 @@
- 1
- - pages
- 1
- - pages_deactivate_mr_deployments
- 1
- - pages_domain_ssl_renewal
- 1
- - pages_domain_verification

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
class AddDurationToIssueStageEvents < Gitlab::Database::Migration[2.2]
milestone '16.7'
def change
add_column :analytics_cycle_analytics_issue_stage_events, :duration_in_milliseconds, :bigint
end
end

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
class AddDurationToMrStageEvents < Gitlab::Database::Migration[2.2]
milestone '16.7'
def change
add_column :analytics_cycle_analytics_merge_request_stage_events, :duration_in_milliseconds, :bigint
end
end

View File

@ -0,0 +1 @@
6d5b44a7961e78b76c10453005e4fab6de12a106d5437a8ccc52312cf02d3d3d

View File

@ -0,0 +1 @@
7a7b73d20d7048dae1b63651b5874702b474820325ecbcd22dd0af1c8529ba59

View File

@ -1002,7 +1002,8 @@ CREATE TABLE analytics_cycle_analytics_issue_stage_events (
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
)
PARTITION BY HASH (stage_event_hash_id);
@ -1017,7 +1018,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_01 (
@ -1031,7 +1033,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_02 (
@ -1045,7 +1048,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_03 (
@ -1059,7 +1063,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_04 (
@ -1073,7 +1078,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_05 (
@ -1087,7 +1093,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_06 (
@ -1101,7 +1108,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_07 (
@ -1115,7 +1123,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_08 (
@ -1129,7 +1138,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_09 (
@ -1143,7 +1153,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_10 (
@ -1157,7 +1168,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_11 (
@ -1171,7 +1183,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_12 (
@ -1185,7 +1198,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_13 (
@ -1199,7 +1213,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_14 (
@ -1213,7 +1228,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_15 (
@ -1227,7 +1243,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_16 (
@ -1241,7 +1258,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_17 (
@ -1255,7 +1273,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_18 (
@ -1269,7 +1288,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_19 (
@ -1283,7 +1303,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_20 (
@ -1297,7 +1318,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_21 (
@ -1311,7 +1333,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_22 (
@ -1325,7 +1348,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_23 (
@ -1339,7 +1363,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_24 (
@ -1353,7 +1378,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_25 (
@ -1367,7 +1393,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_26 (
@ -1381,7 +1408,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_27 (
@ -1395,7 +1423,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_28 (
@ -1409,7 +1438,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_29 (
@ -1423,7 +1453,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_30 (
@ -1437,7 +1468,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_events_31 (
@ -1451,7 +1483,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_issue_stage_even
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL,
weight integer,
sprint_id bigint
sprint_id bigint,
duration_in_milliseconds bigint
);
CREATE TABLE analytics_cycle_analytics_merge_request_stage_events (
@ -1463,7 +1496,8 @@ CREATE TABLE analytics_cycle_analytics_merge_request_stage_events (
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
)
PARTITION BY HASH (stage_event_hash_id);
@ -1476,7 +1510,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_01 (
@ -1488,7 +1523,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_02 (
@ -1500,7 +1536,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_03 (
@ -1512,7 +1549,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_04 (
@ -1524,7 +1562,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_05 (
@ -1536,7 +1575,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_06 (
@ -1548,7 +1588,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_07 (
@ -1560,7 +1601,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_08 (
@ -1572,7 +1614,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_09 (
@ -1584,7 +1627,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_10 (
@ -1596,7 +1640,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_11 (
@ -1608,7 +1653,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_12 (
@ -1620,7 +1666,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_13 (
@ -1632,7 +1679,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_14 (
@ -1644,7 +1692,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_15 (
@ -1656,7 +1705,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_16 (
@ -1668,7 +1718,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_17 (
@ -1680,7 +1731,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_18 (
@ -1692,7 +1744,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_19 (
@ -1704,7 +1757,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_20 (
@ -1716,7 +1770,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_21 (
@ -1728,7 +1783,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_22 (
@ -1740,7 +1796,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_23 (
@ -1752,7 +1809,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_24 (
@ -1764,7 +1822,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_25 (
@ -1776,7 +1835,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_26 (
@ -1788,7 +1848,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_27 (
@ -1800,7 +1861,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_28 (
@ -1812,7 +1874,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_29 (
@ -1824,7 +1887,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_30 (
@ -1836,7 +1900,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_stage_events_31 (
@ -1848,7 +1913,8 @@ CREATE TABLE gitlab_partitions_static.analytics_cycle_analytics_merge_request_st
author_id bigint,
start_event_timestamp timestamp with time zone NOT NULL,
end_event_timestamp timestamp with time zone,
state_id smallint DEFAULT 1 NOT NULL
state_id smallint DEFAULT 1 NOT NULL,
duration_in_milliseconds bigint
);
CREATE TABLE issue_search_data (

View File

@ -7,7 +7,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Use OpenID Connect as an OAuth 2.0 authentication provider **(FREE SELF)**
GitLab can use [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html)
You can use GitLab as a client application with [OpenID Connect](https://openid.net/specs/openid-connect-core-1_0.html)
as an OmniAuth provider.
To enable the OpenID Connect OmniAuth provider, you must register your application

View File

@ -22513,6 +22513,18 @@ Version of a machine learning model.
| <a id="mlmodelversionid"></a>`id` | [`MlModelVersionID!`](#mlmodelversionid) | ID of the model version. |
| <a id="mlmodelversionversion"></a>`version` | [`String!`](#string) | Name of the version. |
### `MonthlyUsage`
Product analytics events for a specific month and year.
#### Fields
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="monthlyusagecount"></a>`count` | [`Int`](#int) | Count of product analytics events. |
| <a id="monthlyusagemonth"></a>`month` | [`Int!`](#int) | Month of the data. |
| <a id="monthlyusageyear"></a>`year` | [`Int!`](#int) | Year of the data. |
### `Namespace`
#### Fields
@ -24782,16 +24794,19 @@ four standard [pagination arguments](#connection-pagination-arguments):
##### `Project.productAnalyticsEventsStored`
Count of all events used, filtered optionally by month.
Count of all events used, broken down by month.
Returns [`Int`](#int).
WARNING:
**Introduced** in 16.7.
This feature is an Experiment. It can be changed or removed at any time.
Returns [`[MonthlyUsage!]`](#monthlyusage).
###### Arguments
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="projectproductanalyticseventsstoredmonth"></a>`month` | [`Int`](#int) | Month for the period to return. |
| <a id="projectproductanalyticseventsstoredyear"></a>`year` | [`Int`](#int) | Year for the period to return. |
| <a id="projectproductanalyticseventsstoredmonthselection"></a>`monthSelection` | [`[MonthSelectionInput!]!`](#monthselectioninput) | Selection for the period to return. |
##### `Project.projectMembers`
@ -33420,6 +33435,17 @@ Represents an escalation rule.
| <a id="mergerequestsresolvernegatedparamslabels"></a>`labels` | [`[String!]`](#string) | Array of label names. All resolved merge requests will not have these labels. |
| <a id="mergerequestsresolvernegatedparamsmilestonetitle"></a>`milestoneTitle` | [`String`](#string) | Title of the milestone. |
### `MonthSelectionInput`
A year and month input for querying product analytics usage data.
#### Arguments
| Name | Type | Description |
| ---- | ---- | ----------- |
| <a id="monthselectioninputmonth"></a>`month` | [`Int!`](#int) | Month of the period to return. |
| <a id="monthselectioninputyear"></a>`year` | [`Int!`](#int) | Year of the period to return. |
### `NegatedBoardIssueInput`
#### Arguments

View File

@ -359,8 +359,9 @@ scope.
| Component | Milestone | Issue | Changes |
|------------------|----------:|-------|---------|
|GitLab Runner Helm Chart| `%15.10` | Update the Runner Helm Chart to support registration with the authentication token. |
|GitLab Runner Operator| `%15.10` | Update the Runner Operator to support registration with the authentication token. |
| GitLab Runner Helm Chart | `%15.10` | Update the Runner Helm Chart to support registration with the authentication token. |
| GitLab Runner Operator | `%15.10` | Update the Runner Operator to support registration with the authentication token. |
| GitLab Runner Helm Chart | `%16.2` | Add `systemID` to Runner Helm Chart. |
### Stage 3 - Database changes

View File

@ -77,3 +77,19 @@ code review. For docs changes in merge requests, whenever a change to files unde
is made, Danger Bot leaves a comment with further instructions about the documentation
process. This is configured in the `Dangerfile` in the GitLab repository under
[/danger/documentation/](https://gitlab.com/gitlab-org/gitlab/-/tree/master/danger/documentation).
## Request a documentation survey banner
To reach to a wider audience, you can request
[a survey banner](https://gitlab.com/gitlab-org/gitlab-docs/-/blob/main/doc/maintenance.md#survey-banner).
Only one banner can exist at any given time. Priority is given based on who
asked for the banner first.
To request a survey banner:
1. [Open an issue](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/new?issue[title]=Survey%20banner%20request&issuable_template=Survey%20banner%20request)
in the `gitlab-docs` project and use the "Survey banner request" template.
1. Fill in the details in the issue description.
1. Create the issue and someone from the Technical Writing team will handle your request.
1. When you no longer need the banner, ping the person assigned to the issue and ask them to remove it.

View File

@ -285,8 +285,8 @@
"stylelint": "^15.10.2",
"swagger-cli": "^4.0.4",
"timezone-mock": "^1.0.8",
"vite": "^4.4.9",
"vite-plugin-ruby": "^3.2.2",
"vite": "^5.0.0",
"vite-plugin-ruby": "^5.0.0",
"vue-loader-vue3": "npm:vue-loader@17",
"vue-test-utils-compat": "0.0.14",
"vuex-mock-store": "^0.1.0",

View File

@ -20,7 +20,6 @@ module QA
base.view 'app/views/shared/wikis/_main_links.html.haml' do
element 'new-page-button'
element 'page-history-button'
end
base.view 'app/views/shared/empty_states/_wikis.html.haml' do
@ -49,6 +48,7 @@ module QA
end
def click_page_history
click_element('wiki-more-dropdown')
click_element('page-history-button')
end

View File

@ -225,6 +225,19 @@ tests = [
explanation: 'Map EE rake tasks',
source: 'ee/lib/tasks/geo.rake',
expected: ['ee/spec/tasks/geo_rake_spec.rb']
},
{
explanation: 'Map controllers to request specs',
source: 'app/controllers/admin/abuse_reports_controller.rb',
expected: ['spec/requests/admin/abuse_reports_controller_spec.rb']
},
{
explanation: 'Map EE controllers to controller and request specs',
source: 'ee/app/controllers/users_controller.rb',
expected: [
'ee/spec/controllers/users_controller_spec.rb',
'ee/spec/requests/users_controller_spec.rb'
]
}
]

View File

@ -1,5 +1,5 @@
import { shallowMount } from '@vue/test-utils';
import Vue, { nextTick } from 'vue';
import Vue from 'vue';
// eslint-disable-next-line no-restricted-imports
import Vuex from 'vuex';
import IdeSidebarNav from '~/ide/components/ide_sidebar_nav.vue';
@ -37,31 +37,26 @@ describe('ide/components/panes/collapsible_sidebar.vue', () => {
});
describe('with a tab', () => {
let fakeView;
let extensionTabs;
beforeEach(() => {
const FakeComponent = Vue.component(fakeComponentName, {
render: () => null,
});
fakeView = {
name: fakeComponentName,
keepAlive: true,
component: FakeComponent,
};
extensionTabs = [
{
show: true,
title: fakeComponentName,
views: [fakeView],
icon: 'text-description',
buttonClasses: ['button-class-1', 'button-class-2'],
},
];
const FakeComponent = Vue.component(fakeComponentName, {
render: () => null,
});
const fakeView = {
name: fakeComponentName,
keepAlive: true,
component: FakeComponent,
};
const extensionTabs = [
{
show: true,
title: fakeComponentName,
views: [fakeView],
icon: 'text-description',
buttonClasses: ['button-class-1', 'button-class-2'],
},
];
describe.each`
side
${'left'}
@ -79,10 +74,6 @@ describe('ide/components/panes/collapsible_sidebar.vue', () => {
expect(findSidebarNav().props('side')).toBe(side);
});
it('nothing is dispatched', () => {
expect(store.dispatch).not.toHaveBeenCalled();
});
it('when sidebar emits open, dispatch open', () => {
const view = 'lorem-view';
@ -98,6 +89,13 @@ describe('ide/components/panes/collapsible_sidebar.vue', () => {
});
});
describe('when side bar is rendered initially', () => {
it('nothing is dispatched', () => {
createComponent({ extensionTabs });
expect(store.dispatch).not.toHaveBeenCalled();
});
});
describe.each`
isOpen
${true}
@ -125,25 +123,15 @@ describe('ide/components/panes/collapsible_sidebar.vue', () => {
});
describe('with initOpenView that does not exist', () => {
beforeEach(async () => {
createComponent({ extensionTabs, initOpenView: 'does-not-exist' });
await nextTick();
});
it('nothing is dispatched', () => {
createComponent({ extensionTabs, initOpenView: 'does-not-exist' });
expect(store.dispatch).not.toHaveBeenCalled();
});
});
describe('with initOpenView that does exist', () => {
beforeEach(async () => {
createComponent({ extensionTabs, initOpenView: fakeView.name });
await nextTick();
});
it('dispatches open with view on create', () => {
createComponent({ extensionTabs, initOpenView: fakeView.name });
expect(store.dispatch).toHaveBeenCalledWith('rightPane/open', fakeView);
});
});

View File

@ -26,24 +26,20 @@ describe('Breadcrumbs utils', () => {
`;
const mockRouter = jest.fn();
let MockComponent;
let mockApolloProvider;
beforeEach(() => {
MockComponent = Vue.component('MockComponent', {
render: (createElement) =>
createElement('span', {
attrs: {
'data-testid': 'mock-component',
},
}),
});
mockApolloProvider = createMockApollo();
const MockComponent = Vue.component('MockComponent', {
render: (createElement) =>
createElement('span', {
attrs: {
'data-testid': 'mock-component',
},
}),
});
const mockApolloProvider = createMockApollo();
afterEach(() => {
resetHTMLFixture();
MockComponent = null;
});
describe('injectVueAppBreadcrumbs', () => {

View File

@ -13,7 +13,7 @@ import {
pypiMetadata,
packageMetadataQuery,
} from 'jest/packages_and_registries/package_registry/mock_data';
import component from '~/packages_and_registries/package_registry/components/details/additional_metadata.vue';
import AdditionalMetadata from '~/packages_and_registries/package_registry/components/details/additional_metadata.vue';
import {
FETCH_PACKAGE_METADATA_ERROR_MESSAGE,
PACKAGE_TYPE_NUGET,
@ -52,12 +52,9 @@ describe('Package Additional metadata', () => {
const requestHandlers = [[getPackageMetadata, resolver]];
apolloProvider = createMockApollo(requestHandlers);
wrapper = shallowMountExtended(component, {
wrapper = shallowMountExtended(AdditionalMetadata, {
apolloProvider,
propsData: { ...defaultProps, ...props },
stubs: {
component: { template: '<div data-testid="component-is"></div>' },
},
});
};
@ -91,7 +88,7 @@ describe('Package Additional metadata', () => {
const title = findTitle();
expect(title.exists()).toBe(true);
expect(title.text()).toMatchInterpolatedText(component.i18n.componentTitle);
expect(title.text()).toMatchInterpolatedText(AdditionalMetadata.i18n.componentTitle);
});
it('does not render gl-alert', () => {

View File

@ -1,48 +0,0 @@
import { GlDisclosureDropdown } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
import WikiExport from '~/pages/shared/wikis/components/wiki_export.vue';
import printMarkdownDom from '~/lib/print_markdown_dom';
jest.mock('~/lib/print_markdown_dom');
describe('pages/shared/wikis/components/wiki_export', () => {
let wrapper;
const createComponent = (provide) => {
wrapper = shallowMount(WikiExport, {
provide,
});
};
const findDropdown = () => wrapper.findComponent(GlDisclosureDropdown);
const findPrintItem = () =>
findDropdown()
.props('items')
.find((x) => x.text === 'Print as PDF');
describe('print', () => {
beforeEach(() => {
document.body.innerHTML = '<div id="content-body">Content</div>';
});
afterEach(() => {
document.body.innerHTML = '';
});
it('should print the content', () => {
createComponent({
target: '#content-body',
title: 'test title',
stylesheet: [],
});
findPrintItem().action();
expect(printMarkdownDom).toHaveBeenCalledWith({
target: document.querySelector('#content-body'),
title: 'test title',
stylesheet: [],
});
});
});
});

View File

@ -0,0 +1,83 @@
import { GlDisclosureDropdown, GlDisclosureDropdownItem } from '@gitlab/ui';
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
import WikiMoreDropdown from '~/pages/shared/wikis/components/wiki_more_dropdown.vue';
import printMarkdownDom from '~/lib/print_markdown_dom';
jest.mock('~/lib/print_markdown_dom');
describe('pages/shared/wikis/components/wiki_more_dropdown', () => {
let wrapper;
const createComponent = (provide) => {
wrapper = shallowMountExtended(WikiMoreDropdown, {
provide: {
history: 'https://history.url/path',
print: {
target: '#content-body',
title: 'test title',
stylesheet: [],
},
...provide,
},
stubs: {
GlDisclosureDropdown,
GlDisclosureDropdownItem,
},
});
};
const findHistoryItem = () => wrapper.findByTestId('page-history-button');
const findPrintItem = () => wrapper.findByTestId('page-print-button');
describe('history', () => {
it('renders if `history` is set', () => {
createComponent({ history: false });
expect(findHistoryItem().exists()).toBe(false);
createComponent();
expect(findHistoryItem().exists()).toBe(true);
});
it('should have history page url', () => {
createComponent();
expect(findHistoryItem().attributes('href')).toBe('https://history.url/path');
});
});
describe('print', () => {
beforeEach(() => {
document.body.innerHTML = '<div id="content-body">Content</div>';
});
afterEach(() => {
document.body.innerHTML = '';
});
it('renders if `print` is set', () => {
createComponent({ print: false });
expect(findPrintItem().exists()).toBe(false);
createComponent();
expect(findPrintItem().exists()).toBe(true);
});
it('should print the content', () => {
createComponent();
expect(findPrintItem().exists()).toBe(true);
findPrintItem().trigger('click');
expect(printMarkdownDom).toHaveBeenCalledWith({
target: document.querySelector('#content-body'),
title: 'test title',
stylesheet: [],
});
});
});
});

View File

@ -713,7 +713,7 @@ RSpec.describe ContainerRepository, :aggregate_failures, feature_category: :cont
{
name: 'latest',
digest: 'sha256:6c3c624b58dbbcd3c0dd82b4c53f04191247c6eebdaab7c610cf7d66709b3',
config_digest: 'sha256:66b1132a0173910b01ee694462c99efbe1b9ab5bf8083231232312',
config_digest: nil,
media_type: 'application/vnd.oci.image.manifest.v1+json',
size_bytes: 1234567892,
created_at: 10.minutes.ago,
@ -742,7 +742,7 @@ RSpec.describe ContainerRepository, :aggregate_failures, feature_category: :cont
expect(return_value[:pagination]).to eq(response_body[:pagination])
return_value[:tags].each_with_index do |tag, index|
expected_revision = tags_response[index][:config_digest].to_s.split(':')[1]
expected_revision = tags_response[index][:config_digest].to_s.split(':')[1].to_s
expect(tag.is_a?(ContainerRegistry::Tag)).to eq(true)
expect(tag).to have_attributes(

View File

@ -153,5 +153,17 @@ RSpec.describe MergeRequests::PostMergeService, feature_category: :code_review_w
expect(deploy_job.reload.canceled?).to be false
end
end
context 'when the merge request has a pages deployment' do
it 'performs Pages::DeactivateMrDeploymentWorker asynchronously' do
expect(Pages::DeactivateMrDeploymentsWorker)
.to receive(:perform_async)
.with(merge_request)
subject
expect(merge_request.reload).to be_merged
end
end
end
end

View File

@ -16,6 +16,10 @@ RSpec.shared_examples 'User views a wiki page' do
)
end
let(:more_actions_dropdown) do
find('[data-testid="wiki-more-dropdown"] button')
end
before do
sign_in(user)
end
@ -38,10 +42,12 @@ RSpec.shared_examples 'User views a wiki page' do
expect(page).to have_content('Wiki page was successfully created.')
end
it 'shows the history of a page that has a path' do
it 'shows the history of a page that has a path', :js do
expect(page).to have_current_path(%r{one/two/three-test})
first(:link, text: 'three').click
more_actions_dropdown.click
click_on('Page history')
expect(page).to have_current_path(%r{one/two/three-test})
@ -69,6 +75,7 @@ RSpec.shared_examples 'User views a wiki page' do
expect(page).to have_content('Wiki page was successfully updated.')
more_actions_dropdown.click
click_on('Page history')
within('.wiki-page-header') do
@ -119,11 +126,12 @@ RSpec.shared_examples 'User views a wiki page' do
wiki_page.update(message: 'updated home', content: 'updated [some link](other-page)') # rubocop:disable Rails/SaveBang
end
it 'shows the page history' do
it 'shows the page history', :js do
visit(wiki_page_path(wiki, wiki_page))
expect(page).to have_selector('[data-testid="wiki-edit-button"]')
more_actions_dropdown.click
click_on('Page history')
expect(page).to have_content(user.name)

View File

@ -14,7 +14,8 @@ RSpec.shared_examples 'StageEventModel' do
milestone_id: 6,
state_id: 1,
start_event_timestamp: time,
end_event_timestamp: time
end_event_timestamp: time,
duration_in_milliseconds: 3
},
{
stage_event_hash_id: 7,
@ -25,7 +26,8 @@ RSpec.shared_examples 'StageEventModel' do
milestone_id: 13,
state_id: 1,
start_event_timestamp: time,
end_event_timestamp: time
end_event_timestamp: time,
duration_in_milliseconds: 5
}
]
end
@ -40,7 +42,8 @@ RSpec.shared_examples 'StageEventModel' do
:milestone_id,
:state_id,
:start_event_timestamp,
:end_event_timestamp
:end_event_timestamp,
:duration_in_milliseconds
]
end

View File

@ -0,0 +1,44 @@
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Pages::DeactivateMrDeploymentsWorker, feature_category: :pages do
subject(:worker) { described_class.new }
describe '#perform' do
let(:merge_request) { create(:merge_request) }
let(:pipeline_1) { create(:ci_pipeline, merge_request: merge_request) }
let(:pipeline_2) { create(:ci_pipeline, merge_request: merge_request) }
context 'when MR does not have a Pages Build' do
it 'does not raise an error' do
expect { worker.perform(merge_request) }.not_to raise_error
end
end
context 'when MR does have a Pages Build' do
let(:build_1) { create(:ci_build, pipeline: pipeline_1) }
let(:build_2) { create(:ci_build, pipeline: pipeline_2) }
context 'with a path_prefix' do
it 'deactivates the deployment', :freeze_time do
pages_deployment_1 = create(:pages_deployment, path_prefix: '/foo', ci_build: build_1)
pages_deployment_2 = create(:pages_deployment, path_prefix: '/bar', ci_build: build_1)
expect { worker.perform(merge_request.id) }
.to change { pages_deployment_1.reload.deleted_at }.from(nil).to(Time.now.utc)
.and change { pages_deployment_2.reload.deleted_at }.from(nil).to(Time.now.utc)
end
end
context 'without a path_prefix' do
it 'does not deactivate the deployment' do
pages_deployment_1 = create(:pages_deployment, path_prefix: '', ci_build: build_1)
expect { worker.perform(merge_request) }
.to not_change { pages_deployment_1.reload.deleted_at }
end
end
end
end
end

View File

@ -55,6 +55,10 @@ mapping:
- source: '(ee/)?app/views/(.+)\.haml'
test: '%sspec/views/%s.haml_spec.rb'
# EE/FOSS controllers should map to request specs
- source: '(ee/)?app/controllers/(.+)\.rb'
test: '%sspec/requests/%s_spec.rb'
# EE/FOSS spec code should map to itself
- source: '(.+)_spec\.rb'
test: '%s_spec.rb'

View File

@ -92,10 +92,10 @@ export default defineConfig({
define: {
// window can be undefined in a Web Worker
IS_EE: IS_EE
? 'typeof window !== "undefined" && window.gon && window.gon.ee'
? JSON.stringify('typeof window !== "undefined" && window.gon && window.gon.ee')
: JSON.stringify(false),
IS_JH: IS_JH
? 'typeof window !== "undefined" && window.gon && window.gon.jh'
? JSON.stringify('typeof window !== "undefined" && window.gon && window.gon.jh')
: JSON.stringify(false),
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH),

367
yarn.lock
View File

@ -1052,120 +1052,120 @@
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
"@esbuild/android-arm64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.15.tgz#abbe87b815d2f95ec749ffb4eba65d7d5343411f"
integrity sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==
"@esbuild/android-arm64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz#276c5f99604054d3dbb733577e09adae944baa90"
integrity sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==
"@esbuild/android-arm@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.15.tgz#6afedd79c68d5d4d1e434e20a9ab620bb5849372"
integrity sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==
"@esbuild/android-arm@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.5.tgz#4a3cbf14758166abaae8ba9c01a80e68342a4eec"
integrity sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==
"@esbuild/android-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.15.tgz#cdd886a58748b1584ad72d960c446fa958c11ab3"
integrity sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==
"@esbuild/android-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.5.tgz#21a3d11cd4613d2d3c5ccb9e746c254eb9265b0a"
integrity sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==
"@esbuild/darwin-arm64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.15.tgz#648b124a6a63022adb5b0cf441e264e8f5ba4af2"
integrity sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==
"@esbuild/darwin-arm64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz#714cb839f467d6a67b151ee8255886498e2b9bf6"
integrity sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==
"@esbuild/darwin-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.15.tgz#91cd2601c1604d123454d325e6b24fb6438350cf"
integrity sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==
"@esbuild/darwin-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz#2c553e97a6d2b4ae76a884e35e6cbab85a990bbf"
integrity sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==
"@esbuild/freebsd-arm64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.15.tgz#575940b0fc2f52833de4f6360445586742a8ff8b"
integrity sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==
"@esbuild/freebsd-arm64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz#d554f556718adb31917a0da24277bf84b6ee87f3"
integrity sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==
"@esbuild/freebsd-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.15.tgz#09694fc601dd8d3263a1075977ee7d3488514ef8"
integrity sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==
"@esbuild/freebsd-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz#288f7358a3bb15d99e73c65c9adaa3dabb497432"
integrity sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==
"@esbuild/linux-arm64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.15.tgz#2f5d226b024964f2b5b6bce7c874a8ad31785fa2"
integrity sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==
"@esbuild/linux-arm64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz#95933ae86325c93cb6b5e8333d22120ecfdc901b"
integrity sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==
"@esbuild/linux-arm@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.15.tgz#172331fc66bbe89ba96e5e2ad583b2faa132d85c"
integrity sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==
"@esbuild/linux-arm@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz#0acef93aa3e0579e46d33b666627bddb06636664"
integrity sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==
"@esbuild/linux-ia32@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.15.tgz#fa797051131ee5f46d70c65a7edd14b6230cfc2f"
integrity sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==
"@esbuild/linux-ia32@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz#b6e5c9e80b42131cbd6b1ddaa48c92835f1ed67f"
integrity sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==
"@esbuild/linux-loong64@0.14.54":
version "0.14.54"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
"@esbuild/linux-loong64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.15.tgz#aeae1fa3d92b1486a91c0cb1cfd9c0ebe9168de4"
integrity sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==
"@esbuild/linux-loong64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz#e5f0cf95a180158b01ff5f417da796a1c09dfbea"
integrity sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==
"@esbuild/linux-mips64el@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.15.tgz#b63cfe356c33807c4d8ee5a75452922e98502073"
integrity sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==
"@esbuild/linux-mips64el@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz#ae36fb86c7d5f641f3a0c8472e83dcb6ea36a408"
integrity sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==
"@esbuild/linux-ppc64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.15.tgz#7dcb394e69cb47e4dc8a5960dd58b1a273d07f5d"
integrity sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==
"@esbuild/linux-ppc64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz#7960cb1666f0340ddd9eef7b26dcea3835d472d0"
integrity sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==
"@esbuild/linux-riscv64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.15.tgz#fdfb9cf23b50d33112315e3194b9e16f7abf6c30"
integrity sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==
"@esbuild/linux-riscv64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz#32207df26af60a3a9feea1783fc21b9817bade19"
integrity sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==
"@esbuild/linux-s390x@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.15.tgz#ce608d95989a502878d7cb1167df791e45268011"
integrity sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==
"@esbuild/linux-s390x@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz#b38d5681db89a3723862dfa792812397b1510a7d"
integrity sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==
"@esbuild/linux-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.15.tgz#49bbba5607702709f63b41906b4f1bcc44cf2f8e"
integrity sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==
"@esbuild/linux-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz#46feba2ad041a241379d150f415b472fe3885075"
integrity sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==
"@esbuild/netbsd-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.15.tgz#08b5ccaf027c7e2174b9a19c29bebfe59dce1cfb"
integrity sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==
"@esbuild/netbsd-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz#3b5c1fb068f26bfc681d31f682adf1bea4ef0702"
integrity sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==
"@esbuild/openbsd-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.15.tgz#38ec4223ebab562f0a89ffe20a40f05d500f89f0"
integrity sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==
"@esbuild/openbsd-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz#ca6830316ca68056c5c88a875f103ad3235e00db"
integrity sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==
"@esbuild/sunos-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.15.tgz#dbbebf641957a54b77f39ca9b10b0b38586799ba"
integrity sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==
"@esbuild/sunos-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz#9efc4eb9539a7be7d5a05ada52ee43cda0d8e2dd"
integrity sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==
"@esbuild/win32-arm64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.15.tgz#7f15fe5d14b9b24eb18ca211ad92e0f5df92a18b"
integrity sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==
"@esbuild/win32-arm64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz#29f8184afa7a02a956ebda4ed638099f4b8ff198"
integrity sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==
"@esbuild/win32-ia32@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.15.tgz#a6609735a4a5e8fbdeb045720bc8be46825566fa"
integrity sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==
"@esbuild/win32-ia32@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz#f3de07afb292ecad651ae4bb8727789de2d95b05"
integrity sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==
"@esbuild/win32-x64@0.18.15":
version "0.18.15"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.15.tgz#41ee66253566124cc44bce1b4c760a87d9f5bf1d"
integrity sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==
"@esbuild/win32-x64@0.19.5":
version "0.19.5"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz#faad84c41ba12e3a0acb52571df9bff37bee75f6"
integrity sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
@ -1913,6 +1913,66 @@
estree-walker "^2.0.2"
picomatch "^2.3.1"
"@rollup/rollup-android-arm-eabi@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.4.1.tgz#f276b0fa322270aa42d1f56c982db6ef8d6a4393"
integrity sha512-Ss4suS/sd+6xLRu+MLCkED2mUrAyqHmmvZB+zpzZ9Znn9S8wCkTQCJaQ8P8aHofnvG5L16u9MVnJjCqioPErwQ==
"@rollup/rollup-android-arm64@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.4.1.tgz#f0492f00d18e1067785f8e820e137c00528c5e62"
integrity sha512-sRSkGTvGsARwWd7TzC8LKRf8FiPn7257vd/edzmvG4RIr9x68KBN0/Ek48CkuUJ5Pj/Dp9vKWv6PEupjKWjTYA==
"@rollup/rollup-darwin-arm64@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.4.1.tgz#40443db7f4559171d797581e0618ec1a4c8dcee9"
integrity sha512-nz0AiGrrXyaWpsmBXUGOBiRDU0wyfSXbFuF98pPvIO8O6auQsPG6riWsfQqmCCC5FNd8zKQ4JhgugRNAkBJ8mQ==
"@rollup/rollup-darwin-x64@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.4.1.tgz#2868f37a9f9c2c22c091b6209f6ce7454437edf9"
integrity sha512-Ogqvf4/Ve/faMaiPRvzsJEqajbqs00LO+8vtrPBVvLgdw4wBg6ZDXdkDAZO+4MLnrc8mhGV6VJAzYScZdPLtJg==
"@rollup/rollup-linux-arm-gnueabihf@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.4.1.tgz#d78d7ad358d24058166ab5599de3dcb5ab951add"
integrity sha512-9zc2tqlr6HfO+hx9+wktUlWTRdje7Ub15iJqKcqg5uJZ+iKqmd2CMxlgPpXi7+bU7bjfDIuvCvnGk7wewFEhCg==
"@rollup/rollup-linux-arm64-gnu@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.4.1.tgz#5d07588b40a04f5b6fbd9e0169c8dc32c1c2ed21"
integrity sha512-phLb1fN3rq2o1j1v+nKxXUTSJnAhzhU0hLrl7Qzb0fLpwkGMHDem+o6d+ZI8+/BlTXfMU4kVWGvy6g9k/B8L6Q==
"@rollup/rollup-linux-arm64-musl@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.4.1.tgz#d452e88a02755f449f6e98d4ce424d655ef42cfe"
integrity sha512-M2sDtw4tf57VPSjbTAN/lz1doWUqO2CbQuX3L9K6GWIR5uw9j+ROKCvvUNBY8WUbMxwaoc8mH9HmmBKsLht7+w==
"@rollup/rollup-linux-x64-gnu@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.4.1.tgz#e8e8e87ab098784383a5ced4aa4bbfa7b2c92a4e"
integrity sha512-mHIlRLX+hx+30cD6c4BaBOsSqdnCE4ok7/KDvjHYAHoSuveoMMxIisZFvcLhUnyZcPBXDGZTuBoalcuh43UfQQ==
"@rollup/rollup-linux-x64-musl@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.4.1.tgz#3e5da42626672e2d620ed12746158b0cf6143b23"
integrity sha512-tB+RZuDi3zxFx7vDrjTNGVLu2KNyzYv+UY8jz7e4TMEoAj7iEt8Qk6xVu6mo3pgjnsHj6jnq3uuRsHp97DLwOA==
"@rollup/rollup-win32-arm64-msvc@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.4.1.tgz#0f0d0c6b75c53643fab8238c76889a95bca3b9cc"
integrity sha512-Hdn39PzOQowK/HZzYpCuZdJC91PE6EaGbTe2VCA9oq2u18evkisQfws0Smh9QQGNNRa/T7MOuGNQoLeXhhE3PQ==
"@rollup/rollup-win32-ia32-msvc@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.4.1.tgz#8bb9e8fbf0fdf96fe3bebcee23f5cfdbbd9a4a0a"
integrity sha512-tLpKb1Elm9fM8c5w3nl4N1eLTP4bCqTYw9tqUBxX8/hsxqHO3dxc2qPbZ9PNkdK4tg4iLEYn0pOUnVByRd2CbA==
"@rollup/rollup-win32-x64-msvc@4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.4.1.tgz#8311b77e6cce322865ba12ada8c3779369610d18"
integrity sha512-eAhItDX9yQtZVM3yvXS/VR3qPqcnXvnLyx1pLXl4JzyNMBNO3KC986t/iAg2zcMzpAp9JSvxB5VZGnBiNoA98w==
"@sentry-internal/tracing@7.81.1":
version "7.81.1"
resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.81.1.tgz#1180365cd8a9e18cb0f92e1ea970161840ec0e2e"
@ -5995,33 +6055,33 @@ esbuild@^0.14.14:
esbuild-windows-64 "0.14.54"
esbuild-windows-arm64 "0.14.54"
esbuild@^0.18.10:
version "0.18.15"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.15.tgz#5b5c1a22e608afd5675f82ad466c4d2cfd723f85"
integrity sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==
esbuild@^0.19.3:
version "0.19.5"
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.5.tgz#53a0e19dfbf61ba6c827d51a80813cf071239a8c"
integrity sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==
optionalDependencies:
"@esbuild/android-arm" "0.18.15"
"@esbuild/android-arm64" "0.18.15"
"@esbuild/android-x64" "0.18.15"
"@esbuild/darwin-arm64" "0.18.15"
"@esbuild/darwin-x64" "0.18.15"
"@esbuild/freebsd-arm64" "0.18.15"
"@esbuild/freebsd-x64" "0.18.15"
"@esbuild/linux-arm" "0.18.15"
"@esbuild/linux-arm64" "0.18.15"
"@esbuild/linux-ia32" "0.18.15"
"@esbuild/linux-loong64" "0.18.15"
"@esbuild/linux-mips64el" "0.18.15"
"@esbuild/linux-ppc64" "0.18.15"
"@esbuild/linux-riscv64" "0.18.15"
"@esbuild/linux-s390x" "0.18.15"
"@esbuild/linux-x64" "0.18.15"
"@esbuild/netbsd-x64" "0.18.15"
"@esbuild/openbsd-x64" "0.18.15"
"@esbuild/sunos-x64" "0.18.15"
"@esbuild/win32-arm64" "0.18.15"
"@esbuild/win32-ia32" "0.18.15"
"@esbuild/win32-x64" "0.18.15"
"@esbuild/android-arm" "0.19.5"
"@esbuild/android-arm64" "0.19.5"
"@esbuild/android-x64" "0.19.5"
"@esbuild/darwin-arm64" "0.19.5"
"@esbuild/darwin-x64" "0.19.5"
"@esbuild/freebsd-arm64" "0.19.5"
"@esbuild/freebsd-x64" "0.19.5"
"@esbuild/linux-arm" "0.19.5"
"@esbuild/linux-arm64" "0.19.5"
"@esbuild/linux-ia32" "0.19.5"
"@esbuild/linux-loong64" "0.19.5"
"@esbuild/linux-mips64el" "0.19.5"
"@esbuild/linux-ppc64" "0.19.5"
"@esbuild/linux-riscv64" "0.19.5"
"@esbuild/linux-s390x" "0.19.5"
"@esbuild/linux-x64" "0.19.5"
"@esbuild/netbsd-x64" "0.19.5"
"@esbuild/openbsd-x64" "0.19.5"
"@esbuild/sunos-x64" "0.19.5"
"@esbuild/win32-arm64" "0.19.5"
"@esbuild/win32-ia32" "0.19.5"
"@esbuild/win32-x64" "0.19.5"
escalade@^3.1.1:
version "3.1.1"
@ -6513,10 +6573,10 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.2.12, fast-glob@^3.2.4, fast-glob@^3.2.9, fast-glob@^3.3.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
fast-glob@^3.2.12, fast-glob@^3.2.4, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@ -6815,10 +6875,10 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^2.3.2, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1, function-bind@^1.1.2:
version "1.1.2"
@ -10016,9 +10076,9 @@ multicast-dns@^7.2.4:
thunky "^1.0.2"
nanoid@^3.3.6:
version "3.3.6"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
nanomatch@^1.2.9:
version "1.2.13"
@ -10749,7 +10809,7 @@ postcss-value-parser@^4.2.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@8.4.28, postcss@^8.1.10, postcss@^8.4.14, postcss@^8.4.25, postcss@^8.4.27:
postcss@8.4.28:
version "8.4.28"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.28.tgz#c6cc681ed00109072816e1557f889ef51cf950a5"
integrity sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==
@ -10766,6 +10826,15 @@ postcss@^7.0.14, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6:
picocolors "^0.2.1"
source-map "^0.6.1"
postcss@^8.1.10, postcss@^8.4.14, postcss@^8.4.25, postcss@^8.4.31:
version "8.4.31"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@ -11543,11 +11612,23 @@ robust-predicates@^3.0.0:
resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.1.tgz#ecde075044f7f30118682bd9fb3f123109577f9a"
integrity sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==
rollup@^3.27.1:
version "3.27.2"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.27.2.tgz#59adc973504408289be89e5978e938ce852c9520"
integrity sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ==
rollup@^4.2.0:
version "4.4.1"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.4.1.tgz#2f85169f23d13dabb3d9b846d753965757353820"
integrity sha512-idZzrUpWSblPJX66i+GzrpjKE3vbYrlWirUHteoAbjKReZwa0cohAErOYA5efoMmNCdvG9yrJS+w9Kl6csaH4w==
optionalDependencies:
"@rollup/rollup-android-arm-eabi" "4.4.1"
"@rollup/rollup-android-arm64" "4.4.1"
"@rollup/rollup-darwin-arm64" "4.4.1"
"@rollup/rollup-darwin-x64" "4.4.1"
"@rollup/rollup-linux-arm-gnueabihf" "4.4.1"
"@rollup/rollup-linux-arm64-gnu" "4.4.1"
"@rollup/rollup-linux-arm64-musl" "4.4.1"
"@rollup/rollup-linux-x64-gnu" "4.4.1"
"@rollup/rollup-linux-x64-musl" "4.4.1"
"@rollup/rollup-win32-arm64-msvc" "4.4.1"
"@rollup/rollup-win32-ia32-msvc" "4.4.1"
"@rollup/rollup-win32-x64-msvc" "4.4.1"
fsevents "~2.3.2"
rope-sequence@^1.3.0:
@ -13327,24 +13408,24 @@ visibilityjs@^1.2.4:
resolved "https://registry.yarnpkg.com/visibilityjs/-/visibilityjs-1.2.4.tgz#bff8663da62c8c10ad4ee5ae6a1ae6fac4259d63"
integrity sha1-v/hmPaYsjBCtTuWuahrm+sQlnWM=
vite-plugin-ruby@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/vite-plugin-ruby/-/vite-plugin-ruby-3.2.2.tgz#a174bc435b11350cfcb1b976342ca740d0bcaed2"
integrity sha512-cuHG1MajRWPR8YdfF6lvgsQRnKFEBRwZF//asFbRiI1psacxB5aPlHSvYZYxAu5IflrAa0MdR0HxEq+g98M3iQ==
vite-plugin-ruby@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/vite-plugin-ruby/-/vite-plugin-ruby-5.0.0.tgz#cd891198a7672f2e8402439f53ab9d2b08f6502d"
integrity sha512-c8PjTp21Ah/ttgnNUyu0qvCXZI08Jr9I24oUKg3TRIRhF5GcOZ++6wtlTCrNFd9COEQbpXHxlRIXd/MEg0iZJw==
dependencies:
debug "^4.3.4"
fast-glob "^3.2.12"
fast-glob "^3.3.2"
vite@^4.4.9:
version "4.4.9"
resolved "https://registry.yarnpkg.com/vite/-/vite-4.4.9.tgz#1402423f1a2f8d66fd8d15e351127c7236d29d3d"
integrity sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==
vite@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.0.0.tgz#3bfb65acda2a97127e4fa240156664a1f234ce08"
integrity sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==
dependencies:
esbuild "^0.18.10"
postcss "^8.4.27"
rollup "^3.27.1"
esbuild "^0.19.3"
postcss "^8.4.31"
rollup "^4.2.0"
optionalDependencies:
fsevents "~2.3.2"
fsevents "~2.3.3"
vm-browserify@^1.0.1:
version "1.1.0"