Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
62b1efcc13
commit
43511919ac
|
@ -35,7 +35,7 @@ export default {
|
||||||
<gl-button
|
<gl-button
|
||||||
category="tertiary"
|
category="tertiary"
|
||||||
:href="menuItem.href"
|
:href="menuItem.href"
|
||||||
class="top-nav-menu-item gl-display-block"
|
class="top-nav-menu-item gl-display-block gl-pr-3!"
|
||||||
:class="[menuItem.css_class, { [$options.ACTIVE_CLASS]: menuItem.active }]"
|
:class="[menuItem.css_class, { [$options.ACTIVE_CLASS]: menuItem.active }]"
|
||||||
:aria-label="menuItem.title"
|
:aria-label="menuItem.title"
|
||||||
v-bind="dataAttrs"
|
v-bind="dataAttrs"
|
||||||
|
|
|
@ -139,8 +139,10 @@ export default {
|
||||||
/>
|
/>
|
||||||
<gl-button
|
<gl-button
|
||||||
v-if="commit.descriptionHtml"
|
v-if="commit.descriptionHtml"
|
||||||
|
v-gl-tooltip
|
||||||
:class="{ open: showDescription }"
|
:class="{ open: showDescription }"
|
||||||
:aria-label="__('Show commit description')"
|
:title="__('Toggle commit description')"
|
||||||
|
:aria-label="__('Toggle commit description')"
|
||||||
class="text-expander gl-vertical-align-bottom!"
|
class="text-expander gl-vertical-align-bottom!"
|
||||||
icon="ellipsis_h"
|
icon="ellipsis_h"
|
||||||
@click="toggleShowDescription"
|
@click="toggleShowDescription"
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
<script>
|
||||||
|
import { GlAvatar, GlLink } from '@gitlab/ui';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
GlAvatar,
|
||||||
|
GlLink,
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
runner: {
|
||||||
|
type: Object,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
groups() {
|
||||||
|
return this.runner.groups?.nodes || [];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="gl-border-t-gray-100 gl-border-t-1 gl-border-t-solid">
|
||||||
|
<h3 class="gl-font-lg gl-my-5">{{ s__('Runners|Assigned Group') }}</h3>
|
||||||
|
<template v-if="groups.length">
|
||||||
|
<div v-for="group in groups" :key="group.id" class="gl-display-flex gl-align-items-center">
|
||||||
|
<gl-link
|
||||||
|
:href="group.webUrl"
|
||||||
|
data-testid="group-avatar"
|
||||||
|
class="gl-text-decoration-none! gl-mr-3"
|
||||||
|
>
|
||||||
|
<gl-avatar
|
||||||
|
shape="rect"
|
||||||
|
:entity-name="group.name"
|
||||||
|
:src="group.avatarUrl"
|
||||||
|
:alt="group.name"
|
||||||
|
:size="48"
|
||||||
|
/>
|
||||||
|
</gl-link>
|
||||||
|
|
||||||
|
<gl-link :href="group.webUrl" class="gl-font-lg gl-font-weight-bold gl-text-gray-900!">{{
|
||||||
|
group.fullName
|
||||||
|
}}</gl-link>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<span v-else class="gl-text-gray-500">{{ __('None') }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
|
@ -3,8 +3,9 @@ import { GlTabs, GlTab, GlIntersperse } from '@gitlab/ui';
|
||||||
import { s__ } from '~/locale';
|
import { s__ } from '~/locale';
|
||||||
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
|
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
|
||||||
import { timeIntervalInWords } from '~/lib/utils/datetime_utility';
|
import { timeIntervalInWords } from '~/lib/utils/datetime_utility';
|
||||||
import { ACCESS_LEVEL_REF_PROTECTED } from '../constants';
|
import { ACCESS_LEVEL_REF_PROTECTED, GROUP_TYPE } from '../constants';
|
||||||
import RunnerDetail from './runner_detail.vue';
|
import RunnerDetail from './runner_detail.vue';
|
||||||
|
import RunnerDetailGroups from './runner_detail_groups.vue';
|
||||||
import RunnerTags from './runner_tags.vue';
|
import RunnerTags from './runner_tags.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -13,6 +14,7 @@ export default {
|
||||||
GlTab,
|
GlTab,
|
||||||
GlIntersperse,
|
GlIntersperse,
|
||||||
RunnerDetail,
|
RunnerDetail,
|
||||||
|
RunnerDetailGroups,
|
||||||
RunnerTags,
|
RunnerTags,
|
||||||
TimeAgo,
|
TimeAgo,
|
||||||
},
|
},
|
||||||
|
@ -43,6 +45,9 @@ export default {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
|
isGroupRunner() {
|
||||||
|
return this.runner?.runnerType === GROUP_TYPE;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
ACCESS_LEVEL_REF_PROTECTED,
|
ACCESS_LEVEL_REF_PROTECTED,
|
||||||
};
|
};
|
||||||
|
@ -53,40 +58,44 @@ export default {
|
||||||
<gl-tab>
|
<gl-tab>
|
||||||
<template #title>{{ s__('Runners|Details') }}</template>
|
<template #title>{{ s__('Runners|Details') }}</template>
|
||||||
|
|
||||||
<div v-if="runner" class="gl-py-4">
|
<template v-if="runner">
|
||||||
<dl>
|
<div class="gl-pt-4">
|
||||||
<runner-detail :label="s__('Runners|Description')" :value="runner.description" />
|
<dl class="gl-mb-0">
|
||||||
<runner-detail
|
<runner-detail :label="s__('Runners|Description')" :value="runner.description" />
|
||||||
:label="s__('Runners|Last contact')"
|
<runner-detail
|
||||||
:empty-value="s__('Runners|Never contacted')"
|
:label="s__('Runners|Last contact')"
|
||||||
>
|
:empty-value="s__('Runners|Never contacted')"
|
||||||
<template #value>
|
>
|
||||||
<time-ago v-if="runner.contactedAt" :time="runner.contactedAt" />
|
<template #value>
|
||||||
</template>
|
<time-ago v-if="runner.contactedAt" :time="runner.contactedAt" />
|
||||||
</runner-detail>
|
</template>
|
||||||
<runner-detail :label="s__('Runners|Version')" :value="runner.version" />
|
</runner-detail>
|
||||||
<runner-detail :label="s__('Runners|IP Address')" :value="runner.ipAddress" />
|
<runner-detail :label="s__('Runners|Version')" :value="runner.version" />
|
||||||
<runner-detail :label="s__('Runners|Configuration')">
|
<runner-detail :label="s__('Runners|IP Address')" :value="runner.ipAddress" />
|
||||||
<template #value>
|
<runner-detail :label="s__('Runners|Configuration')">
|
||||||
<gl-intersperse v-if="configTextProtected || configTextUntagged">
|
<template #value>
|
||||||
<span v-if="configTextProtected">{{ configTextProtected }}</span>
|
<gl-intersperse v-if="configTextProtected || configTextUntagged">
|
||||||
<span v-if="configTextUntagged">{{ configTextUntagged }}</span>
|
<span v-if="configTextProtected">{{ configTextProtected }}</span>
|
||||||
</gl-intersperse>
|
<span v-if="configTextUntagged">{{ configTextUntagged }}</span>
|
||||||
</template>
|
</gl-intersperse>
|
||||||
</runner-detail>
|
</template>
|
||||||
<runner-detail :label="s__('Runners|Maximum job timeout')" :value="maximumTimeout" />
|
</runner-detail>
|
||||||
<runner-detail :label="s__('Runners|Tags')">
|
<runner-detail :label="s__('Runners|Maximum job timeout')" :value="maximumTimeout" />
|
||||||
<template #value>
|
<runner-detail :label="s__('Runners|Tags')">
|
||||||
<runner-tags
|
<template #value>
|
||||||
v-if="runner.tagList && runner.tagList.length"
|
<runner-tags
|
||||||
class="gl-vertical-align-middle"
|
v-if="runner.tagList && runner.tagList.length"
|
||||||
:tag-list="runner.tagList"
|
class="gl-vertical-align-middle"
|
||||||
size="sm"
|
:tag-list="runner.tagList"
|
||||||
/>
|
size="sm"
|
||||||
</template>
|
/>
|
||||||
</runner-detail>
|
</template>
|
||||||
</dl>
|
</runner-detail>
|
||||||
</div>
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<runner-detail-groups v-if="isGroupRunner" :runner="runner" />
|
||||||
|
</template>
|
||||||
</gl-tab>
|
</gl-tab>
|
||||||
</gl-tabs>
|
</gl-tabs>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -18,4 +18,13 @@ fragment RunnerDetailsShared on CiRunner {
|
||||||
updateRunner
|
updateRunner
|
||||||
deleteRunner
|
deleteRunner
|
||||||
}
|
}
|
||||||
|
groups {
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
avatarUrl
|
||||||
|
name
|
||||||
|
fullName
|
||||||
|
webUrl
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,8 @@ class GroupsController < Groups::ApplicationController
|
||||||
|
|
||||||
before_action :check_export_rate_limit!, only: [:export, :download_export]
|
before_action :check_export_rate_limit!, only: [:export, :download_export]
|
||||||
|
|
||||||
|
before_action :track_experiment_event, only: [:new]
|
||||||
|
|
||||||
helper_method :captcha_required?
|
helper_method :captcha_required?
|
||||||
|
|
||||||
skip_cross_project_access_check :index, :new, :create, :edit, :update,
|
skip_cross_project_access_check :index, :new, :create, :edit, :update,
|
||||||
|
@ -378,6 +380,12 @@ class GroupsController < Groups::ApplicationController
|
||||||
def captcha_required?
|
def captcha_required?
|
||||||
captcha_enabled? && !params[:parent_id]
|
captcha_enabled? && !params[:parent_id]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def track_experiment_event
|
||||||
|
return if params[:parent_id]
|
||||||
|
|
||||||
|
experiment(:require_verification_for_namespace_creation, user: current_user).track(:start_create_group)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
GroupsController.prepend_mod_with('GroupsController')
|
GroupsController.prepend_mod_with('GroupsController')
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
class RequireVerificationForNamespaceCreationExperiment < ApplicationExperiment # rubocop:disable Gitlab/NamespacedClass
|
class RequireVerificationForNamespaceCreationExperiment < ApplicationExperiment # rubocop:disable Gitlab/NamespacedClass
|
||||||
|
exclude :existing_user
|
||||||
|
|
||||||
|
EXPERIMENT_START_DATE = Date.new(2022, 1, 31)
|
||||||
|
|
||||||
def control_behavior
|
def control_behavior
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -24,4 +28,10 @@ class RequireVerificationForNamespaceCreationExperiment < ApplicationExperiment
|
||||||
def subject
|
def subject
|
||||||
context.value[:user]
|
context.value[:user]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def existing_user
|
||||||
|
return false unless user_or_actor
|
||||||
|
|
||||||
|
user_or_actor.created_at < EXPERIMENT_START_DATE
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -139,7 +139,7 @@ module GroupsHelper
|
||||||
{}
|
{}
|
||||||
end
|
end
|
||||||
|
|
||||||
def require_verification_for_group_creation_enabled?
|
def require_verification_for_namespace_creation_enabled?
|
||||||
# overridden in EE
|
# overridden in EE
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
name: require_verification_for_group_creation
|
|
||||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77569
|
|
||||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/349857
|
|
||||||
milestone: '14.7'
|
|
||||||
type: experiment
|
|
||||||
group: group::activation
|
|
||||||
default_enabled: false
|
|
|
@ -214,7 +214,7 @@ or `git push --mirror` is used.
|
||||||
|
|
||||||
This limit does not affect any of the updated merge request pipelines.
|
This limit does not affect any of the updated merge request pipelines.
|
||||||
All updated merge requests have a pipeline created when using
|
All updated merge requests have a pipeline created when using
|
||||||
[pipelines for merge requests](../ci/pipelines/merge_request_pipelines.md).
|
[merge request pipelines](../ci/pipelines/merge_request_pipelines.md).
|
||||||
|
|
||||||
## Retention of activity history
|
## Retention of activity history
|
||||||
|
|
||||||
|
|
|
@ -1040,8 +1040,8 @@ It requires `.gitlab-ci.yml` to be configured with `only: [merge_requests]` to c
|
||||||
The new pipeline can be:
|
The new pipeline can be:
|
||||||
|
|
||||||
- A detached merge request pipeline.
|
- A detached merge request pipeline.
|
||||||
- A [pipeline for merged results](../ci/pipelines/pipelines_for_merged_results.md)
|
- A [merged results pipeline](../ci/pipelines/merged_results_pipelines.md)
|
||||||
if the [project setting is enabled](../ci/pipelines/pipelines_for_merged_results.md#enable-pipelines-for-merged-results). **(PREMIUM)**
|
if the [project setting is enabled](../ci/pipelines/merged_results_pipelines.md#enable-merged-results-pipelines).
|
||||||
|
|
||||||
```plaintext
|
```plaintext
|
||||||
POST /projects/:id/merge_requests/:merge_request_iid/pipelines
|
POST /projects/:id/merge_requests/:merge_request_iid/pipelines
|
||||||
|
|
|
@ -308,7 +308,7 @@ Note the following:
|
||||||
- If the environment URL isn't valid (for example, the URL is malformed), the system doesn't update
|
- If the environment URL isn't valid (for example, the URL is malformed), the system doesn't update
|
||||||
the environment URL.
|
the environment URL.
|
||||||
- If the script that runs in `stop_review` exists only in your repository and therefore can't use
|
- If the script that runs in `stop_review` exists only in your repository and therefore can't use
|
||||||
`GIT_STRATEGY: none`, configure [pipelines for merge requests](../../ci/pipelines/merge_request_pipelines.md)
|
`GIT_STRATEGY: none`, configure [merge request pipelines](../../ci/pipelines/merge_request_pipelines.md)
|
||||||
for these jobs. This ensures that runners can fetch the repository even after a feature branch is
|
for these jobs. This ensures that runners can fetch the repository even after a feature branch is
|
||||||
deleted. For more information, see [Ref Specs for Runners](../pipelines/index.md#ref-specs-for-runners).
|
deleted. For more information, see [Ref Specs for Runners](../pipelines/index.md#ref-specs-for-runners).
|
||||||
|
|
||||||
|
@ -440,7 +440,7 @@ the `stop_review` job might not be included in all pipelines that include the
|
||||||
The job with [`action: stop` might not run](#the-job-with-action-stop-doesnt-run)
|
The job with [`action: stop` might not run](#the-job-with-action-stop-doesnt-run)
|
||||||
if it's in a later stage than the job that started the environment.
|
if it's in a later stage than the job that started the environment.
|
||||||
|
|
||||||
If you can't use [pipelines for merge requests](../pipelines/merge_request_pipelines.md),
|
If you can't use [merge request pipelines](../pipelines/merge_request_pipelines.md),
|
||||||
set the [`GIT_STRATEGY`](../runners/configure_runners.md#git-strategy) to `none` in the
|
set the [`GIT_STRATEGY`](../runners/configure_runners.md#git-strategy) to `none` in the
|
||||||
`stop_review` job. Then the [runner](https://docs.gitlab.com/runner/) doesn't
|
`stop_review` job. Then the [runner](https://docs.gitlab.com/runner/) doesn't
|
||||||
try to check out the code after the branch is deleted.
|
try to check out the code after the branch is deleted.
|
||||||
|
|
|
@ -64,7 +64,7 @@ GitLab CI/CD supports numerous configuration options:
|
||||||
| [Git submodules for CI/CD](git_submodules.md) | Configure jobs for using Git submodules. |
|
| [Git submodules for CI/CD](git_submodules.md) | Configure jobs for using Git submodules. |
|
||||||
| [SSH keys for CI/CD](ssh_keys/index.md) | Using SSH keys in your CI pipelines. |
|
| [SSH keys for CI/CD](ssh_keys/index.md) | Using SSH keys in your CI pipelines. |
|
||||||
| [Pipeline triggers](triggers/index.md) | Trigger pipelines through the API. |
|
| [Pipeline triggers](triggers/index.md) | Trigger pipelines through the API. |
|
||||||
| [Pipelines for merge requests](pipelines/merge_request_pipelines.md) | Design a pipeline structure for running a pipeline in merge requests. |
|
| [Merge request pipelines](pipelines/merge_request_pipelines.md) | Design a pipeline structure for running a pipeline in merge requests. |
|
||||||
| [Integrate with Kubernetes clusters](../user/infrastructure/clusters/index.md) | Connect your project to Google Kubernetes Engine (GKE) or an existing Kubernetes cluster. |
|
| [Integrate with Kubernetes clusters](../user/infrastructure/clusters/index.md) | Connect your project to Google Kubernetes Engine (GKE) or an existing Kubernetes cluster. |
|
||||||
| [Optimize GitLab and GitLab Runner for large repositories](large_repositories/index.md) | Recommended strategies for handling large repositories. |
|
| [Optimize GitLab and GitLab Runner for large repositories](large_repositories/index.md) | Recommended strategies for handling large repositories. |
|
||||||
| [`.gitlab-ci.yml` full reference](yaml/index.md) | All the attributes you can use with GitLab CI/CD. |
|
| [`.gitlab-ci.yml` full reference](yaml/index.md) | All the attributes you can use with GitLab CI/CD. |
|
||||||
|
|
|
@ -220,7 +220,7 @@ check the value of the `$CI_PIPELINE_SOURCE` variable:
|
||||||
| `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/index.md) command. |
|
| `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/index.md) command. |
|
||||||
| `external` | When you use CI services other than GitLab. |
|
| `external` | When you use CI services other than GitLab. |
|
||||||
| `external_pull_request_event` | When an external pull request on GitHub is created or updated. See [Pipelines for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests). |
|
| `external_pull_request_event` | When an external pull request on GitHub is created or updated. See [Pipelines for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests). |
|
||||||
| `merge_request_event` | For pipelines created when a merge request is created or updated. Required to enable [merge request pipelines](../pipelines/merge_request_pipelines.md), [merged results pipelines](../pipelines/pipelines_for_merged_results.md), and [merge trains](../pipelines/merge_trains.md). |
|
| `merge_request_event` | For pipelines created when a merge request is created or updated. Required to enable [merge request pipelines](../pipelines/merge_request_pipelines.md), [merged results pipelines](../pipelines/merged_results_pipelines.md), and [merge trains](../pipelines/merge_trains.md). |
|
||||||
| `parent_pipeline` | For pipelines triggered by a [parent/child pipeline](../pipelines/parent_child_pipelines.md) with `rules`. Use this pipeline source in the child pipeline configuration so that it can be triggered by the parent pipeline. |
|
| `parent_pipeline` | For pipelines triggered by a [parent/child pipeline](../pipelines/parent_child_pipelines.md) with `rules`. Use this pipeline source in the child pipeline configuration so that it can be triggered by the parent pipeline. |
|
||||||
| `pipeline` | For [multi-project pipelines](../pipelines/multi_project_pipelines.md) created by [using the API with `CI_JOB_TOKEN`](../pipelines/multi_project_pipelines.md#create-multi-project-pipelines-by-using-the-api), or the [`trigger`](../yaml/index.md#trigger) keyword. |
|
| `pipeline` | For [multi-project pipelines](../pipelines/multi_project_pipelines.md) created by [using the API with `CI_JOB_TOKEN`](../pipelines/multi_project_pipelines.md#create-multi-project-pipelines-by-using-the-api), or the [`trigger`](../yaml/index.md#trigger) keyword. |
|
||||||
| `push` | For pipelines triggered by a `git push` event, including for branches and tags. |
|
| `push` | For pipelines triggered by a `git push` event, including for branches and tags. |
|
||||||
|
@ -406,9 +406,9 @@ the `build` job is still skipped. The job does not run for any of the files.
|
||||||
|
|
||||||
With some configurations that use `changes`, [jobs or pipelines might run unexpectedly](#jobs-or-pipelines-run-unexpectedly-when-using-changes)
|
With some configurations that use `changes`, [jobs or pipelines might run unexpectedly](#jobs-or-pipelines-run-unexpectedly-when-using-changes)
|
||||||
|
|
||||||
#### Use `only:changes` with pipelines for merge requests
|
#### Use `only:changes` with merge request pipelines
|
||||||
|
|
||||||
With [pipelines for merge requests](../pipelines/merge_request_pipelines.md),
|
With [merge request pipelines](../pipelines/merge_request_pipelines.md),
|
||||||
it's possible to define a job to be created based on files modified
|
it's possible to define a job to be created based on files modified
|
||||||
in a merge request.
|
in a merge request.
|
||||||
|
|
||||||
|
@ -931,7 +931,7 @@ For example:
|
||||||
|
|
||||||
You might have jobs or pipelines that run unexpectedly when using [`rules: changes`](../yaml/index.md#ruleschanges)
|
You might have jobs or pipelines that run unexpectedly when using [`rules: changes`](../yaml/index.md#ruleschanges)
|
||||||
or [`only: changes`](../yaml/index.md#onlychanges--exceptchanges) without
|
or [`only: changes`](../yaml/index.md#onlychanges--exceptchanges) without
|
||||||
[pipelines for merge requests](../pipelines/merge_request_pipelines.md).
|
[merge request pipelines](../pipelines/merge_request_pipelines.md).
|
||||||
|
|
||||||
Pipelines on branches or tags that don't have an explicit association with a merge request
|
Pipelines on branches or tags that don't have an explicit association with a merge request
|
||||||
use a previous SHA to calculate the diff. This calculation is equivalent to `git diff HEAD~`
|
use a previous SHA to calculate the diff. This calculation is equivalent to `git diff HEAD~`
|
||||||
|
|
|
@ -50,13 +50,13 @@ Pipelines can be configured in many different ways:
|
||||||
followed by the next stage.
|
followed by the next stage.
|
||||||
- [Directed Acyclic Graph Pipeline (DAG) pipelines](../directed_acyclic_graph/index.md) are based on relationships
|
- [Directed Acyclic Graph Pipeline (DAG) pipelines](../directed_acyclic_graph/index.md) are based on relationships
|
||||||
between jobs and can run more quickly than basic pipelines.
|
between jobs and can run more quickly than basic pipelines.
|
||||||
- [Pipelines for merge requests](../pipelines/merge_request_pipelines.md) run for merge
|
- [Merge request pipelines](../pipelines/merge_request_pipelines.md) run for merge
|
||||||
requests only (rather than for every commit).
|
requests only (rather than for every commit).
|
||||||
- [Pipelines for merged results](../pipelines/pipelines_for_merged_results.md)
|
- [Merged results pipelines](../pipelines/merged_results_pipelines.md)
|
||||||
are merge request pipelines that act as though the changes from the source branch have
|
are merge request pipelines that act as though the changes from the source branch have
|
||||||
already been merged into the target branch.
|
already been merged into the target branch.
|
||||||
- [Merge trains](../pipelines/merge_trains.md)
|
- [Merge trains](../pipelines/merge_trains.md)
|
||||||
use pipelines for merged results to queue merges one after the other.
|
use merged results pipelines to queue merges one after the other.
|
||||||
- [Parent-child pipelines](parent_child_pipelines.md) break down complex pipelines
|
- [Parent-child pipelines](parent_child_pipelines.md) break down complex pipelines
|
||||||
into one parent pipeline that can trigger multiple child sub-pipelines, which all
|
into one parent pipeline that can trigger multiple child sub-pipelines, which all
|
||||||
run in the same project and with the same SHA. This pipeline architecture is commonly used for mono-repos.
|
run in the same project and with the same SHA. This pipeline architecture is commonly used for mono-repos.
|
||||||
|
@ -123,7 +123,7 @@ This table lists the refspecs injected for each pipeline type:
|
||||||
|--------------- |---------------------------------------- |
|
|--------------- |---------------------------------------- |
|
||||||
| pipeline for branches | `+<sha>:refs/pipelines/<id>` and `+refs/heads/<name>:refs/remotes/origin/<name>` |
|
| pipeline for branches | `+<sha>:refs/pipelines/<id>` and `+refs/heads/<name>:refs/remotes/origin/<name>` |
|
||||||
| pipeline for tags | `+<sha>:refs/pipelines/<id>` and `+refs/tags/<name>:refs/tags/<name>` |
|
| pipeline for tags | `+<sha>:refs/pipelines/<id>` and `+refs/tags/<name>:refs/tags/<name>` |
|
||||||
| [pipeline for merge requests](../pipelines/merge_request_pipelines.md) | `+<sha>:refs/pipelines/<id>` |
|
| [merge request pipeline](../pipelines/merge_request_pipelines.md) | `+<sha>:refs/pipelines/<id>` |
|
||||||
|
|
||||||
The refs `refs/heads/<name>` and `refs/tags/<name>` exist in your
|
The refs `refs/heads/<name>` and `refs/tags/<name>` exist in your
|
||||||
project repository. GitLab generates the special ref `refs/pipelines/<id>` during a
|
project repository. GitLab generates the special ref `refs/pipelines/<id>` during a
|
||||||
|
|
|
@ -5,13 +5,15 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
# Pipelines for merge requests **(FREE)**
|
# Merge request pipelines **(FREE)**
|
||||||
|
|
||||||
|
> [Renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/351192) from `pipelines for merge requests` to `merge request pipelines` in GitLab 14.8.
|
||||||
|
|
||||||
You can configure your [pipeline](index.md) to run every time you commit changes to a branch.
|
You can configure your [pipeline](index.md) to run every time you commit changes to a branch.
|
||||||
This type of pipeline is called a *branch pipeline*.
|
This type of pipeline is called a *branch pipeline*.
|
||||||
|
|
||||||
Alternatively, you can configure your pipeline to run every time you make changes to the
|
Alternatively, you can configure your pipeline to run every time you make changes to the
|
||||||
source branch for a merge request. This type of pipeline is called a *pipeline for merge requests*.
|
source branch for a merge request. This type of pipeline is called a *merge request pipeline*.
|
||||||
|
|
||||||
Branch pipelines:
|
Branch pipelines:
|
||||||
|
|
||||||
|
@ -20,28 +22,28 @@ Branch pipelines:
|
||||||
- Have access to [some predefined variables](../variables/predefined_variables.md).
|
- Have access to [some predefined variables](../variables/predefined_variables.md).
|
||||||
- Have access to [protected variables](../variables/index.md#protect-a-cicd-variable).
|
- Have access to [protected variables](../variables/index.md#protect-a-cicd-variable).
|
||||||
|
|
||||||
Pipelines for merge requests:
|
Merge request pipelines:
|
||||||
|
|
||||||
- Run when you:
|
- Run when you:
|
||||||
- Create a new merge request.
|
- Create a new merge request.
|
||||||
- Push a new commit to the source branch for a merge request.
|
- Push a new commit to the source branch for a merge request.
|
||||||
- Select **Run pipeline** from the **Pipelines** tab in a merge request. This option
|
- Select **Run pipeline** from the **Pipelines** tab in a merge request. This option
|
||||||
is only available when pipelines for merge requests are configured for the pipeline.
|
is only available when merge request pipelines are configured for the pipeline.
|
||||||
- Do not run by default. The jobs in the CI/CD configuration file [must be configured](#prerequisites)
|
- Do not run by default. The jobs in the CI/CD configuration file [must be configured](#prerequisites)
|
||||||
to run in pipelines for merge request.
|
to run in merge request pipelines.
|
||||||
- Have access to [more predefined variables](#available-predefined-variables).
|
- Have access to [more predefined variables](#available-predefined-variables).
|
||||||
- Do not have access to [protected variables](../variables/index.md#protect-a-cicd-variable).
|
- Do not have access to [protected variables](../variables/index.md#protect-a-cicd-variable).
|
||||||
|
|
||||||
Both of these types of pipelines can appear on the **Pipelines** tab of a merge request.
|
Both of these types of pipelines can appear on the **Pipelines** tab of a merge request.
|
||||||
|
|
||||||
## Types of pipelines for merge requests
|
## Types of merge request pipelines
|
||||||
|
|
||||||
The three types of pipelines for merge requests are:
|
The three types of merge request pipelines are:
|
||||||
|
|
||||||
- Pipelines for merge requests, which run on the changes in the merge request's
|
- Merge request pipelines, which run on the changes in the merge request's
|
||||||
source branch. These pipelines display a `detached` label to indicate that the
|
source branch. These pipelines display a `detached` label to indicate that the
|
||||||
pipeline ran only on the contents of the source branch, ignoring the target branch.
|
pipeline ran only on the contents of the source branch, ignoring the target branch.
|
||||||
- [Pipelines for merged results](pipelines_for_merged_results.md), which run on
|
- [Merged results pipelines](merged_results_pipelines.md), which run on
|
||||||
the result of combining the source branch's changes with the target branch.
|
the result of combining the source branch's changes with the target branch.
|
||||||
- [Merge trains](merge_trains.md), which run when merging multiple merge requests
|
- [Merge trains](merge_trains.md), which run when merging multiple merge requests
|
||||||
at the same time. The changes from each merge request are combined into the
|
at the same time. The changes from each merge request are combined into the
|
||||||
|
@ -50,31 +52,31 @@ The three types of pipelines for merge requests are:
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
To use pipelines for merge requests:
|
To use merge request pipelines:
|
||||||
|
|
||||||
- Your project's [CI/CD configuration file](../yaml/index.md) must be configured with
|
- Your project's [CI/CD configuration file](../yaml/index.md) must be configured with
|
||||||
jobs that run in pipelines for merge requests. To do this, you can use:
|
jobs that run in merge request pipelines. To do this, you can use:
|
||||||
- [`rules`](#use-rules-to-add-jobs).
|
- [`rules`](#use-rules-to-add-jobs).
|
||||||
- [`only/except`](#use-only-to-add-jobs).
|
- [`only/except`](#use-only-to-add-jobs).
|
||||||
- You must have at least the Developer [role](../../user/permissions.md) in the
|
- You must have at least the Developer [role](../../user/permissions.md) in the
|
||||||
source project to run a pipeline for merge requests.
|
source project to run a merge request pipeline.
|
||||||
- Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/index.md).
|
- Your repository must be a GitLab repository, not an [external repository](../ci_cd_for_external_repos/index.md).
|
||||||
|
|
||||||
## Use `rules` to add jobs
|
## Use `rules` to add jobs
|
||||||
|
|
||||||
You can use the [`rules`](../yaml/index.md#rules) keyword to configure jobs to run in
|
You can use the [`rules`](../yaml/index.md#rules) keyword to configure jobs to run in
|
||||||
pipelines for merge requests. For example:
|
merge request pipelines. For example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
job1:
|
job1:
|
||||||
script:
|
script:
|
||||||
- echo "This job runs in pipelines for merge requests"
|
- echo "This job runs in merge request pipelines"
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also use the [`workflow: rules`](../yaml/index.md#workflowrules) keyword
|
You can also use the [`workflow: rules`](../yaml/index.md#workflowrules) keyword
|
||||||
to configure the entire pipeline to run in pipelines for merge requests. For example:
|
to configure the entire pipeline to run in merge request pipelines. For example:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
workflow:
|
workflow:
|
||||||
|
@ -83,22 +85,22 @@ workflow:
|
||||||
|
|
||||||
job1:
|
job1:
|
||||||
script:
|
script:
|
||||||
- echo "This job runs in pipelines for merge requests"
|
- echo "This job runs in merge request pipelines"
|
||||||
|
|
||||||
job2:
|
job2:
|
||||||
script:
|
script:
|
||||||
- echo "This job also runs in pipelines for merge requests"
|
- echo "This job also runs in merge request pipelines"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Use `only` to add jobs
|
## Use `only` to add jobs
|
||||||
|
|
||||||
You can use the [`only`](../yaml/index.md#onlyrefs--exceptrefs) keyword with `merge_requests`
|
You can use the [`only`](../yaml/index.md#onlyrefs--exceptrefs) keyword with `merge_requests`
|
||||||
to configure jobs to run in pipelines for merge requests.
|
to configure jobs to run in merge request pipelines.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
job1:
|
job1:
|
||||||
script:
|
script:
|
||||||
- echo "This job runs in pipelines for merge requests"
|
- echo "This job runs in merge request pipelines"
|
||||||
only:
|
only:
|
||||||
- merge_requests
|
- merge_requests
|
||||||
```
|
```
|
||||||
|
@ -122,7 +124,7 @@ Pipelines for forks display with the **fork** badge in the parent project:
|
||||||
|
|
||||||
### Run pipelines in the parent project **(PREMIUM)**
|
### Run pipelines in the parent project **(PREMIUM)**
|
||||||
|
|
||||||
Project members in the parent project can choose to run a pipeline for merge requests
|
Project members in the parent project can choose to run a merge request pipeline
|
||||||
for a merge request submitted from a fork project. This pipeline:
|
for a merge request submitted from a fork project. This pipeline:
|
||||||
|
|
||||||
- Is created and runs in the parent (target) project, not the fork (source) project.
|
- Is created and runs in the parent (target) project, not the fork (source) project.
|
||||||
|
@ -148,12 +150,12 @@ can create pipelines in the parent project for merge requests from a forked proj
|
||||||
|
|
||||||
## Available predefined variables
|
## Available predefined variables
|
||||||
|
|
||||||
When you use pipelines for merge requests, you can use:
|
When you use merge request pipelines, you can use:
|
||||||
|
|
||||||
- All the same [predefined variables](../variables/predefined_variables.md) that are
|
- All the same [predefined variables](../variables/predefined_variables.md) that are
|
||||||
available in branch pipelines.
|
available in branch pipelines.
|
||||||
- [Additional predefined variables](../variables/predefined_variables.md#predefined-variables-for-merge-request-pipelines)
|
- [Additional predefined variables](../variables/predefined_variables.md#predefined-variables-for-merge-request-pipelines)
|
||||||
available only to jobs in pipelines for merge requests. These variables contain
|
available only to jobs in merge request pipelines. These variables contain
|
||||||
information from the associated merge request, which can be when calling the
|
information from the associated merge request, which can be when calling the
|
||||||
[GitLab Merge Request API endpoint](../../api/merge_requests.md) from a job.
|
[GitLab Merge Request API endpoint](../../api/merge_requests.md) from a job.
|
||||||
|
|
||||||
|
@ -166,14 +168,14 @@ to run for both branches and merge requests at the same time. Adjust your pipeli
|
||||||
configuration to [avoid duplicate pipelines](../jobs/job_control.md#avoid-duplicate-pipelines).
|
configuration to [avoid duplicate pipelines](../jobs/job_control.md#avoid-duplicate-pipelines).
|
||||||
|
|
||||||
In [GitLab 13.7 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/201845),
|
In [GitLab 13.7 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/201845),
|
||||||
you can add `workflow:rules` to [switch from branch pipelines to pipelines for merge requests](../yaml/workflow.md#switch-between-branch-pipelines-and-merge-request-pipelines).
|
you can add `workflow:rules` to [switch from branch pipelines to merge request pipelines](../yaml/workflow.md#switch-between-branch-pipelines-and-merge-request-pipelines).
|
||||||
After a merge request is open on the branch, the pipeline switches to a merge request pipeline.
|
After a merge request is open on the branch, the pipeline switches to a merge request pipeline.
|
||||||
|
|
||||||
### Two pipelines when pushing an invalid CI/CD configuration file
|
### Two pipelines when pushing an invalid CI/CD configuration file
|
||||||
|
|
||||||
If you push an invalid CI/CD configuration to a merge request's branch, two failed
|
If you push an invalid CI/CD configuration to a merge request's branch, two failed
|
||||||
pipelines appear in the pipelines tab. One pipeline is a failed branch pipeline,
|
pipelines appear in the pipelines tab. One pipeline is a failed branch pipeline,
|
||||||
the other is a failed pipeline for merge requests.
|
the other is a failed merge request pipeline.
|
||||||
|
|
||||||
When the configuration syntax is fixed, no further failed pipelines should appear.
|
When the configuration syntax is fixed, no further failed pipelines should appear.
|
||||||
To find and fix the configuration problem, you can use:
|
To find and fix the configuration problem, you can use:
|
||||||
|
@ -183,7 +185,7 @@ To find and fix the configuration problem, you can use:
|
||||||
|
|
||||||
### The merge request's pipeline is marked as failed but the latest pipeline succeeded
|
### The merge request's pipeline is marked as failed but the latest pipeline succeeded
|
||||||
|
|
||||||
It's possible to have both branch pipelines and pipelines for merge requests in the
|
It's possible to have both branch pipelines and merge request pipelines in the
|
||||||
**Pipelines** tab of a single merge request. This might be [by configuration](../yaml/workflow.md#switch-between-branch-pipelines-and-merge-request-pipelines),
|
**Pipelines** tab of a single merge request. This might be [by configuration](../yaml/workflow.md#switch-between-branch-pipelines-and-merge-request-pipelines),
|
||||||
or [by accident](#two-pipelines-when-pushing-to-a-branch).
|
or [by accident](#two-pipelines-when-pushing-to-a-branch).
|
||||||
|
|
||||||
|
@ -191,8 +193,8 @@ If both types of pipelines are in one merge request, the merge request's pipelin
|
||||||
is not considered successful if:
|
is not considered successful if:
|
||||||
|
|
||||||
- The branch pipeline succeeds.
|
- The branch pipeline succeeds.
|
||||||
- The pipeline for merge request fails.
|
- The merge request pipeline fails.
|
||||||
|
|
||||||
When using the [merge when pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md)
|
When using the [merge when pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md)
|
||||||
feature and both pipelines types are present, the pipelines for merge requests are checked,
|
feature and both pipelines types are present, the merge request pipelines are checked,
|
||||||
not the branch pipelines.
|
not the branch pipelines.
|
||||||
|
|
|
@ -11,7 +11,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
|
||||||
|
|
||||||
For more information about why you might want to use merge trains, read [How merge trains keep your master green](https://about.gitlab.com/blog/2020/01/30/all-aboard-merge-trains/).
|
For more information about why you might want to use merge trains, read [How merge trains keep your master green](https://about.gitlab.com/blog/2020/01/30/all-aboard-merge-trains/).
|
||||||
|
|
||||||
When [pipelines for merged results](pipelines_for_merged_results.md) are
|
When [merged results pipelines](merged_results_pipelines.md) are
|
||||||
enabled, the pipeline jobs run as if the changes from your source branch have already
|
enabled, the pipeline jobs run as if the changes from your source branch have already
|
||||||
been merged into the target branch.
|
been merged into the target branch.
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ In GitLab 13.5 and earlier, there is only one checkbox, named
|
||||||
|
|
||||||
WARNING:
|
WARNING:
|
||||||
If you select the check box but don't configure your CI/CD to use
|
If you select the check box but don't configure your CI/CD to use
|
||||||
pipelines for merge requests, your merge requests may become stuck in an
|
merge request pipelines, your merge requests may become stuck in an
|
||||||
unresolved state or your pipelines may be dropped.
|
unresolved state or your pipelines may be dropped.
|
||||||
|
|
||||||
## Start a merge train
|
## Start a merge train
|
||||||
|
@ -193,8 +193,8 @@ for more information.
|
||||||
|
|
||||||
### Merge train pipeline cannot be retried
|
### Merge train pipeline cannot be retried
|
||||||
|
|
||||||
When a pipeline for merge trains fails the merge request is dropped from the train and the pipeline can't be retried.
|
When a merge train pipeline fails, the merge request is dropped from the train and the pipeline can't be retried.
|
||||||
Pipelines for merge trains run on the merged result of the changes in the merge request and
|
Merge train pipelines run on the merged result of the changes in the merge request and
|
||||||
the changes from other merge requests already on the train. If the merge request is dropped from the train,
|
the changes from other merge requests already on the train. If the merge request is dropped from the train,
|
||||||
the merged result is out of date and the pipeline can't be retried.
|
the merged result is out of date and the pipeline can't be retried.
|
||||||
|
|
||||||
|
@ -211,11 +211,16 @@ is enabled in **Settings > General > Merge requests**. This option requires that
|
||||||
run a new successful pipeline before you can re-add a merge request to a merge train.
|
run a new successful pipeline before you can re-add a merge request to a merge train.
|
||||||
|
|
||||||
Merge trains ensure that each pipeline has succeeded before a merge happens, so
|
Merge trains ensure that each pipeline has succeeded before a merge happens, so
|
||||||
you can clear the **Pipelines must succeed** checkbox and keep
|
you can:
|
||||||
**Enable merge trains and pipelines for merged results** (merge trains) selected.
|
|
||||||
|
- Clear the **Pipelines must succeed** checkbox.
|
||||||
|
- Select the **Enable merged results pipelines** and **Enable merge trains** checkboxes.
|
||||||
|
|
||||||
|
In GitLab 13.5 and earlier, there is only one checkbox, named
|
||||||
|
**Enable merge trains and pipelines for merged results**.
|
||||||
|
|
||||||
If you want to keep the **Pipelines must succeed** option selected along with merge
|
If you want to keep the **Pipelines must succeed** option selected along with merge
|
||||||
trains, create a new pipeline for merged results when this error occurs:
|
trains, create a new merged results pipeline when this error occurs:
|
||||||
|
|
||||||
1. On the **Pipelines** tab, select **Run pipeline**.
|
1. On the **Pipelines** tab, select **Run pipeline**.
|
||||||
1. Select **Start/Add to merge train when pipeline succeeds**.
|
1. Select **Start/Add to merge train when pipeline succeeds**.
|
||||||
|
@ -229,8 +234,8 @@ In [GitLab 13.6 and later](https://gitlab.com/gitlab-org/gitlab/-/issues/244831)
|
||||||
you can [enable or disable merge trains in the project settings](#enable-merge-trains).
|
you can [enable or disable merge trains in the project settings](#enable-merge-trains).
|
||||||
|
|
||||||
In GitLab 13.5 and earlier, merge trains are automatically enabled when
|
In GitLab 13.5 and earlier, merge trains are automatically enabled when
|
||||||
[pipelines for merged results](pipelines_for_merged_results.md) are enabled.
|
[merged results pipelines](merged_results_pipelines.md) are enabled.
|
||||||
To use pipelines for merged results without using merge trains, you can enable a
|
To use merged results pipelines without using merge trains, you can enable a
|
||||||
[feature flag](../../user/feature_flags.md) that blocks the merge trains feature.
|
[feature flag](../../user/feature_flags.md) that blocks the merge trains feature.
|
||||||
|
|
||||||
[GitLab administrators with access to the GitLab Rails console](../../administration/feature_flags.md)
|
[GitLab administrators with access to the GitLab Rails console](../../administration/feature_flags.md)
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
---
|
||||||
|
stage: Verify
|
||||||
|
group: Pipeline Execution
|
||||||
|
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||||
|
---
|
||||||
|
|
||||||
|
# Merged results pipelines **(PREMIUM)**
|
||||||
|
|
||||||
|
> [Renamed](https://gitlab.com/gitlab-org/gitlab/-/issues/351192) from `pipelines for merged results` to `merged results pipelines` in GitLab 14.8.
|
||||||
|
|
||||||
|
A *merged results pipeline* is a type of [merge request pipeline](merge_request_pipelines.md). It is a pipeline that runs against the results of the source and target branches merged together.
|
||||||
|
|
||||||
|
GitLab creates an internal commit with the merged results, so the pipeline can run
|
||||||
|
against it. This commit does not exist in either branch,
|
||||||
|
but you can view it in the pipeline details.
|
||||||
|
|
||||||
|
The pipeline runs against the target branch as it exists at the moment you run the pipeline.
|
||||||
|
Over time, while you're working in the source branch, the target branch might change.
|
||||||
|
Any time you want to be sure the merged results are accurate, you should re-run the pipeline.
|
||||||
|
|
||||||
|
Merged results pipelines can't run when:
|
||||||
|
|
||||||
|
- The target branch has changes that conflict with the changes in the source branch.
|
||||||
|
- The merge request is a [**Draft** merge request](../../user/project/merge_requests/drafts.md).
|
||||||
|
|
||||||
|
In these cases, the pipeline runs as a [merge request pipeline](merge_request_pipelines.md)
|
||||||
|
and is labeled as `detached`.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
To use merged results pipelines:
|
||||||
|
|
||||||
|
- Your project's [CI/CD configuration file](../yaml/index.md) must be configured to
|
||||||
|
[run jobs in merge request pipelines](merge_request_pipelines.md#prerequisites).
|
||||||
|
- Your repository must be a GitLab repository, not an
|
||||||
|
[external repository](../ci_cd_for_external_repos/index.md).
|
||||||
|
- You must not be using [fast forward merges](../../user/project/merge_requests/fast_forward_merge.md).
|
||||||
|
[An issue exits](https://gitlab.com/gitlab-org/gitlab/-/issues/26996) to change this behavior.
|
||||||
|
|
||||||
|
## Enable merged results pipelines
|
||||||
|
|
||||||
|
To enable merged results pipelines in a project, you must have at least the
|
||||||
|
[Maintainer role](../../user/permissions.md):
|
||||||
|
|
||||||
|
1. On the top bar, select **Menu > Projects** and find your project.
|
||||||
|
1. On the left sidebar, select **Settings > General**.
|
||||||
|
1. Expand **Merge requests**.
|
||||||
|
1. Select **Enable merged results pipelines**.
|
||||||
|
1. Select **Save changes**.
|
||||||
|
|
||||||
|
WARNING:
|
||||||
|
If you select the checkbox but don't configure your pipeline to use
|
||||||
|
merge request pipelines, your merge requests may become stuck in an
|
||||||
|
unresolved state or your pipelines may be dropped.
|
||||||
|
|
||||||
|
## Troubleshooting
|
||||||
|
|
||||||
|
### Merged results pipelines are not created
|
||||||
|
|
||||||
|
In GitLab 13.7 and earlier, merged results pipelines might not be created due
|
||||||
|
to a disabled [feature flag](../../user/feature_flags.md). This feature flag
|
||||||
|
[was removed](https://gitlab.com/gitlab-org/gitlab/-/issues/299115) in GitLab 13.8.
|
||||||
|
Upgrade to 13.8 or later, or make sure the `:merge_ref_auto_sync`
|
||||||
|
[feature flag is enabled](../../administration/feature_flags.md#check-if-a-feature-flag-is-enabled)
|
||||||
|
on your GitLab instance.
|
||||||
|
|
||||||
|
### Pipelines fail intermittently with a `fatal: reference is not a tree:` error
|
||||||
|
|
||||||
|
Merged results pipelines run on a merge ref for a merge request
|
||||||
|
(`refs/merge-requests/<iid>/merge`), so the Git reference could be overwritten at an
|
||||||
|
unexpected time.
|
||||||
|
|
||||||
|
For example, when a source or target branch is advanced, the pipeline fails with
|
||||||
|
the `fatal: reference is not a tree:` error, which indicates that the checkout-SHA
|
||||||
|
is not found in the merge ref.
|
||||||
|
|
||||||
|
This behavior was improved in GitLab 12.4 by introducing [persistent pipeline refs](../troubleshooting.md#fatal-reference-is-not-a-tree-error).
|
||||||
|
Upgrade to GitLab 12.4 or later to resolve the problem.
|
|
@ -1,76 +1,9 @@
|
||||||
---
|
---
|
||||||
stage: Verify
|
redirect_to: 'merged_results_pipelines.md'
|
||||||
group: Pipeline Execution
|
remove_date: '2022-04-27'
|
||||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Pipelines for merged results **(PREMIUM)**
|
This document was moved to [another location](merged_results_pipelines.md).
|
||||||
|
|
||||||
A *pipeline for merged results* is a type of [pipeline for merge requests](merge_request_pipelines.md). It is a pipeline that runs against the results of the source and target branches merged together.
|
<!-- This redirect file can be deleted after 2022-04-27. -->
|
||||||
|
<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->
|
||||||
GitLab creates an internal commit with the merged results, so the pipeline can run
|
|
||||||
against it. This commit does not exist in either branch,
|
|
||||||
but you can view it in the pipeline details.
|
|
||||||
|
|
||||||
The pipeline runs against the target branch as it exists at the moment you run the pipeline.
|
|
||||||
Over time, while you're working in the source branch, the target branch might change.
|
|
||||||
Any time you want to be sure the merged results are accurate, you should re-run the pipeline.
|
|
||||||
|
|
||||||
Pipelines for merged results can't run when:
|
|
||||||
|
|
||||||
- The target branch has changes that conflict with the changes in the source branch.
|
|
||||||
- The merge request is a [**Draft** merge request](../../user/project/merge_requests/drafts.md).
|
|
||||||
|
|
||||||
In these cases, the pipeline runs as a [pipeline for merge requests](merge_request_pipelines.md)
|
|
||||||
and is labeled as `detached`.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
To use pipelines for merged results:
|
|
||||||
|
|
||||||
- Your project's [CI/CD configuration file](../yaml/index.md) must be configured to
|
|
||||||
[run jobs in pipelines for merge requests](merge_request_pipelines.md#prerequisites).
|
|
||||||
- Your repository must be a GitLab repository, not an
|
|
||||||
[external repository](../ci_cd_for_external_repos/index.md).
|
|
||||||
- You must not be using [fast forward merges](../../user/project/merge_requests/fast_forward_merge.md).
|
|
||||||
[An issue exits](https://gitlab.com/gitlab-org/gitlab/-/issues/26996) to change this behavior.
|
|
||||||
|
|
||||||
## Enable pipelines for merged results
|
|
||||||
|
|
||||||
To enable pipelines for merged results in a project, you must have at least the
|
|
||||||
[Maintainer role](../../user/permissions.md):
|
|
||||||
|
|
||||||
1. On the top bar, select **Menu > Projects** and find your project.
|
|
||||||
1. On the left sidebar, select **Settings > General**.
|
|
||||||
1. Expand **Merge requests**.
|
|
||||||
1. Select **Enable merged results pipelines**.
|
|
||||||
1. Select **Save changes**.
|
|
||||||
|
|
||||||
WARNING:
|
|
||||||
If you select the checkbox but don't configure your pipeline to use
|
|
||||||
pipelines for merge requests, your merge requests may become stuck in an
|
|
||||||
unresolved state or your pipelines may be dropped.
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### Pipelines for merged results are not created
|
|
||||||
|
|
||||||
In GitLab 13.7 and earlier, pipelines for merged results might not be created due
|
|
||||||
to a disabled [feature flag](../../user/feature_flags.md). This feature flag
|
|
||||||
[was removed](https://gitlab.com/gitlab-org/gitlab/-/issues/299115) in GitLab 13.8.
|
|
||||||
Upgrade to 13.8 or later, or make sure the `:merge_ref_auto_sync`
|
|
||||||
[feature flag is enabled](../../administration/feature_flags.md#check-if-a-feature-flag-is-enabled)
|
|
||||||
on your GitLab instance.
|
|
||||||
|
|
||||||
### Pipelines fail intermittently with a `fatal: reference is not a tree:` error
|
|
||||||
|
|
||||||
Pipelines for merged results run on a merge ref for a merge request
|
|
||||||
(`refs/merge-requests/<iid>/merge`), so the Git reference could be overwritten at an
|
|
||||||
unexpected time.
|
|
||||||
|
|
||||||
For example, when a source or target branch is advanced, the pipeline fails with
|
|
||||||
the `fatal: reference is not a tree:` error, which indicates that the checkout-SHA
|
|
||||||
is not found in the merge ref.
|
|
||||||
|
|
||||||
This behavior was improved in GitLab 12.4 by introducing [persistent pipeline refs](../troubleshooting.md#fatal-reference-is-not-a-tree-error).
|
|
||||||
Upgrade to GitLab 12.4 or later to resolve the problem.
|
|
||||||
|
|
|
@ -69,12 +69,12 @@ if you are using that type:
|
||||||
and run separate pipelines in the same project. You can also
|
and run separate pipelines in the same project. You can also
|
||||||
[dynamically generate the child pipeline's configuration](pipelines/parent_child_pipelines.md#dynamic-child-pipelines)
|
[dynamically generate the child pipeline's configuration](pipelines/parent_child_pipelines.md#dynamic-child-pipelines)
|
||||||
at runtime.
|
at runtime.
|
||||||
- [Pipelines for merge requests](pipelines/merge_request_pipelines.md): Run a pipeline
|
- [Merge request pipelines](pipelines/merge_request_pipelines.md): Run a pipeline
|
||||||
in the context of a merge request.
|
in the context of a merge request.
|
||||||
- [Pipelines for merge results](pipelines/pipelines_for_merged_results.md):
|
- [Merged results pipelines](pipelines/merged_results_pipelines.md):
|
||||||
Pipelines for merge requests that run on the combined source and target branch
|
Merge request pipelines that run on the combined source and target branch
|
||||||
- [Merge trains](pipelines/merge_trains.md):
|
- [Merge trains](pipelines/merge_trains.md):
|
||||||
Multiple pipelines for merged results that queue and run automatically before
|
Multiple merged results pipelines that queue and run automatically before
|
||||||
changes are merged.
|
changes are merged.
|
||||||
|
|
||||||
### Troubleshooting Guides for CI/CD features
|
### Troubleshooting Guides for CI/CD features
|
||||||
|
@ -173,8 +173,8 @@ a branch to its remote repository. To illustrate the problem, suppose you've had
|
||||||
|
|
||||||
This occurs because the previous pipeline cannot find a checkout-SHA (which is associated with the pipeline record)
|
This occurs because the previous pipeline cannot find a checkout-SHA (which is associated with the pipeline record)
|
||||||
from the `example` branch that the commit history has already been overwritten by the force-push.
|
from the `example` branch that the commit history has already been overwritten by the force-push.
|
||||||
Similarly, [Pipelines for merged results](pipelines/pipelines_for_merged_results.md)
|
Similarly, [Merged results pipelines](pipelines/merged_results_pipelines.md)
|
||||||
might have failed intermittently due to [the same reason](pipelines/pipelines_for_merged_results.md#pipelines-fail-intermittently-with-a-fatal-reference-is-not-a-tree-error).
|
might have failed intermittently due to [the same reason](pipelines/merged_results_pipelines.md#pipelines-fail-intermittently-with-a-fatal-reference-is-not-a-tree-error).
|
||||||
|
|
||||||
As of GitLab 12.4, we've improved this behavior by persisting pipeline refs exclusively.
|
As of GitLab 12.4, we've improved this behavior by persisting pipeline refs exclusively.
|
||||||
To illustrate its life cycle:
|
To illustrate its life cycle:
|
||||||
|
@ -229,7 +229,7 @@ should disable **Pipelines must succeed** so you can accept merge requests.
|
||||||
### "The pipeline for this merge request did not complete. Push a new commit to fix the failure or check the troubleshooting documentation to see other possible actions." message
|
### "The pipeline for this merge request did not complete. Push a new commit to fix the failure or check the troubleshooting documentation to see other possible actions." message
|
||||||
|
|
||||||
This message is shown if the [merge request pipeline](pipelines/merge_request_pipelines.md),
|
This message is shown if the [merge request pipeline](pipelines/merge_request_pipelines.md),
|
||||||
[merged results pipeline](pipelines/pipelines_for_merged_results.md),
|
[merged results pipeline](pipelines/merged_results_pipelines.md),
|
||||||
or [merge train pipeline](pipelines/merge_trains.md)
|
or [merge train pipeline](pipelines/merge_trains.md)
|
||||||
has failed or been canceled.
|
has failed or been canceled.
|
||||||
|
|
||||||
|
|
|
@ -372,7 +372,7 @@ You can protect a project, group or instance CI/CD variable so it is only passed
|
||||||
to pipelines running on [protected branches](../../user/project/protected_branches.md)
|
to pipelines running on [protected branches](../../user/project/protected_branches.md)
|
||||||
or [protected tags](../../user/project/protected_tags.md).
|
or [protected tags](../../user/project/protected_tags.md).
|
||||||
|
|
||||||
[Pipelines for merge requests](../pipelines/merge_request_pipelines.md) do not have access to protected variables.
|
[Merge request pipelines](../pipelines/merge_request_pipelines.md) do not have access to protected variables.
|
||||||
An [issue exists](https://gitlab.com/gitlab-org/gitlab/-/issues/28002) regarding this limitation.
|
An [issue exists](https://gitlab.com/gitlab-org/gitlab/-/issues/28002) regarding this limitation.
|
||||||
|
|
||||||
To protect a variable:
|
To protect a variable:
|
||||||
|
|
|
@ -27,7 +27,7 @@ There are also a number of [variables you can use to configure runner behavior](
|
||||||
| `CI_API_V4_URL` | 11.7 | all | The GitLab API v4 root URL. |
|
| `CI_API_V4_URL` | 11.7 | all | The GitLab API v4 root URL. |
|
||||||
| `CI_BUILDS_DIR` | all | 11.10 | The top-level directory where builds are executed. |
|
| `CI_BUILDS_DIR` | all | 11.10 | The top-level directory where builds are executed. |
|
||||||
| `CI_COMMIT_AUTHOR` | 13.11 | all | The author of the commit in `Name <email>` format. |
|
| `CI_COMMIT_AUTHOR` | 13.11 | all | The author of the commit in `Name <email>` format. |
|
||||||
| `CI_COMMIT_BEFORE_SHA` | 11.2 | all | The previous latest commit present on a branch. Is always `0000000000000000000000000000000000000000` in pipelines for merge requests. |
|
| `CI_COMMIT_BEFORE_SHA` | 11.2 | all | The previous latest commit present on a branch. Is always `0000000000000000000000000000000000000000` in merge request pipelines. |
|
||||||
| `CI_COMMIT_BRANCH` | 12.6 | 0.5 | The commit branch name. Available in branch pipelines, including pipelines for the default branch. Not available in merge request pipelines or tag pipelines. |
|
| `CI_COMMIT_BRANCH` | 12.6 | 0.5 | The commit branch name. Available in branch pipelines, including pipelines for the default branch. Not available in merge request pipelines or tag pipelines. |
|
||||||
| `CI_COMMIT_DESCRIPTION` | 10.8 | all | The description of the commit. If the title is shorter than 100 characters, the message without the first line. |
|
| `CI_COMMIT_DESCRIPTION` | 10.8 | all | The description of the commit. If the title is shorter than 100 characters, the message without the first line. |
|
||||||
| `CI_COMMIT_MESSAGE` | 10.8 | all | The full commit message. |
|
| `CI_COMMIT_MESSAGE` | 10.8 | all | The full commit message. |
|
||||||
|
@ -148,12 +148,12 @@ These variables are available when:
|
||||||
| `CI_MERGE_REQUEST_PROJECT_URL` | 11.6 | all | The URL of the project of the merge request. For example, `http://192.168.10.15:3000/namespace/awesome-project`. |
|
| `CI_MERGE_REQUEST_PROJECT_URL` | 11.6 | all | The URL of the project of the merge request. For example, `http://192.168.10.15:3000/namespace/awesome-project`. |
|
||||||
| `CI_MERGE_REQUEST_REF_PATH` | 11.6 | all | The ref path of the merge request. For example, `refs/merge-requests/1/head`. |
|
| `CI_MERGE_REQUEST_REF_PATH` | 11.6 | all | The ref path of the merge request. For example, `refs/merge-requests/1/head`. |
|
||||||
| `CI_MERGE_REQUEST_SOURCE_BRANCH_NAME` | 11.6 | all | The source branch name of the merge request. |
|
| `CI_MERGE_REQUEST_SOURCE_BRANCH_NAME` | 11.6 | all | The source branch name of the merge request. |
|
||||||
| `CI_MERGE_REQUEST_SOURCE_BRANCH_SHA` | 11.9 | all | The HEAD SHA of the source branch of the merge request. The variable is empty in merge request pipelines. The SHA is present only in [merged results pipelines](../pipelines/pipelines_for_merged_results.md). **(PREMIUM)** |
|
| `CI_MERGE_REQUEST_SOURCE_BRANCH_SHA` | 11.9 | all | The HEAD SHA of the source branch of the merge request. The variable is empty in merge request pipelines. The SHA is present only in [merged results pipelines](../pipelines/merged_results_pipelines.md). |
|
||||||
| `CI_MERGE_REQUEST_SOURCE_PROJECT_ID` | 11.6 | all | The ID of the source project of the merge request. |
|
| `CI_MERGE_REQUEST_SOURCE_PROJECT_ID` | 11.6 | all | The ID of the source project of the merge request. |
|
||||||
| `CI_MERGE_REQUEST_SOURCE_PROJECT_PATH` | 11.6 | all | The path of the source project of the merge request. |
|
| `CI_MERGE_REQUEST_SOURCE_PROJECT_PATH` | 11.6 | all | The path of the source project of the merge request. |
|
||||||
| `CI_MERGE_REQUEST_SOURCE_PROJECT_URL` | 11.6 | all | The URL of the source project of the merge request. |
|
| `CI_MERGE_REQUEST_SOURCE_PROJECT_URL` | 11.6 | all | The URL of the source project of the merge request. |
|
||||||
| `CI_MERGE_REQUEST_TARGET_BRANCH_NAME` | 11.6 | all | The target branch name of the merge request. |
|
| `CI_MERGE_REQUEST_TARGET_BRANCH_NAME` | 11.6 | all | The target branch name of the merge request. |
|
||||||
| `CI_MERGE_REQUEST_TARGET_BRANCH_SHA` | 11.9 | all | The HEAD SHA of the target branch of the merge request. The variable is empty in merge request pipelines. The SHA is present only in [merged results pipelines](../pipelines/pipelines_for_merged_results.md). **(PREMIUM)** |
|
| `CI_MERGE_REQUEST_TARGET_BRANCH_SHA` | 11.9 | all | The HEAD SHA of the target branch of the merge request. The variable is empty in merge request pipelines. The SHA is present only in [merged results pipelines](../pipelines/merged_results_pipelines.md). |
|
||||||
| `CI_MERGE_REQUEST_TITLE` | 11.9 | all | The title of the merge request. |
|
| `CI_MERGE_REQUEST_TITLE` | 11.9 | all | The title of the merge request. |
|
||||||
| `CI_MERGE_REQUEST_EVENT_TYPE` | 12.3 | all | The event type of the merge request. Can be `detached`, `merged_result` or `merge_train`. |
|
| `CI_MERGE_REQUEST_EVENT_TYPE` | 12.3 | all | The event type of the merge request. Can be `detached`, `merged_result` or `merge_train`. |
|
||||||
| `CI_MERGE_REQUEST_DIFF_ID` | 13.7 | all | The version of the merge request diff. |
|
| `CI_MERGE_REQUEST_DIFF_ID` | 13.7 | all | The version of the merge request diff. |
|
||||||
|
|
|
@ -415,7 +415,7 @@ and the pipeline is for either:
|
||||||
- You can use the [`workflow:rules` templates](workflow.md#workflowrules-templates) to import
|
- You can use the [`workflow:rules` templates](workflow.md#workflowrules-templates) to import
|
||||||
a preconfigured `workflow: rules` entry.
|
a preconfigured `workflow: rules` entry.
|
||||||
- [Common `if` clauses for `workflow:rules`](workflow.md#common-if-clauses-for-workflowrules).
|
- [Common `if` clauses for `workflow:rules`](workflow.md#common-if-clauses-for-workflowrules).
|
||||||
- [Use `rules` to run pipelines for merge requests](../pipelines/merge_request_pipelines.md#use-rules-to-add-jobs).
|
- [Use `rules` to run merge request pipelines](../pipelines/merge_request_pipelines.md#use-rules-to-add-jobs).
|
||||||
|
|
||||||
#### `workflow:rules:variables`
|
#### `workflow:rules:variables`
|
||||||
|
|
||||||
|
@ -2372,7 +2372,7 @@ pipeline based on branch names or pipeline types.
|
||||||
| `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/index.md) command. |
|
| `chat` | For pipelines created by using a [GitLab ChatOps](../chatops/index.md) command. |
|
||||||
| `external` | When you use CI services other than GitLab. |
|
| `external` | When you use CI services other than GitLab. |
|
||||||
| `external_pull_requests` | When an external pull request on GitHub is created or updated (See [Pipelines for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests)). |
|
| `external_pull_requests` | When an external pull request on GitHub is created or updated (See [Pipelines for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests)). |
|
||||||
| `merge_requests` | For pipelines created when a merge request is created or updated. Enables [merge request pipelines](../pipelines/merge_request_pipelines.md), [merged results pipelines](../pipelines/pipelines_for_merged_results.md), and [merge trains](../pipelines/merge_trains.md). |
|
| `merge_requests` | For pipelines created when a merge request is created or updated. Enables [merge request pipelines](../pipelines/merge_request_pipelines.md), [merged results pipelines](../pipelines/merged_results_pipelines.md), and [merge trains](../pipelines/merge_trains.md). |
|
||||||
| `pipelines` | For [multi-project pipelines](../pipelines/multi_project_pipelines.md) created by [using the API with `CI_JOB_TOKEN`](../pipelines/multi_project_pipelines.md#create-multi-project-pipelines-by-using-the-api), or the [`trigger`](#trigger) keyword. |
|
| `pipelines` | For [multi-project pipelines](../pipelines/multi_project_pipelines.md) created by [using the API with `CI_JOB_TOKEN`](../pipelines/multi_project_pipelines.md#create-multi-project-pipelines-by-using-the-api), or the [`trigger`](#trigger) keyword. |
|
||||||
| `pushes` | For pipelines triggered by a `git push` event, including for branches and tags. |
|
| `pushes` | For pipelines triggered by a `git push` event, including for branches and tags. |
|
||||||
| `schedules` | For [scheduled pipelines](../pipelines/schedules.md). |
|
| `schedules` | For [scheduled pipelines](../pipelines/schedules.md). |
|
||||||
|
@ -2471,7 +2471,7 @@ Use `changes` in pipelines with the following refs:
|
||||||
|
|
||||||
- `branches`
|
- `branches`
|
||||||
- `external_pull_requests`
|
- `external_pull_requests`
|
||||||
- `merge_requests` (see additional details about [using `only:changes` with pipelines for merge requests](../jobs/job_control.md#use-onlychanges-with-pipelines-for-merge-requests))
|
- `merge_requests` (see additional details about [using `only:changes` with merge request pipelines](../jobs/job_control.md#use-onlychanges-with-merge-request-pipelines))
|
||||||
|
|
||||||
**Keyword type**: Job keyword. You can use it only as part of a job.
|
**Keyword type**: Job keyword. You can use it only as part of a job.
|
||||||
|
|
||||||
|
@ -2513,7 +2513,7 @@ docker build:
|
||||||
|
|
||||||
- [`only: changes` and `except: changes` examples](../jobs/job_control.md#onlychanges--exceptchanges-examples).
|
- [`only: changes` and `except: changes` examples](../jobs/job_control.md#onlychanges--exceptchanges-examples).
|
||||||
- If you use `changes` with [only allow merge requests to be merged if the pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds),
|
- If you use `changes` with [only allow merge requests to be merged if the pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md#only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds),
|
||||||
you should [also use `only:merge_requests`](../jobs/job_control.md#use-onlychanges-with-pipelines-for-merge-requests).
|
you should [also use `only:merge_requests`](../jobs/job_control.md#use-onlychanges-with-merge-request-pipelines).
|
||||||
- [Jobs or pipelines can run unexpectedly when using `only: changes`](../jobs/job_control.md#jobs-or-pipelines-run-unexpectedly-when-using-changes).
|
- [Jobs or pipelines can run unexpectedly when using `only: changes`](../jobs/job_control.md#jobs-or-pipelines-run-unexpectedly-when-using-changes).
|
||||||
|
|
||||||
#### `only:kubernetes` / `except:kubernetes`
|
#### `only:kubernetes` / `except:kubernetes`
|
||||||
|
@ -3085,7 +3085,7 @@ job:
|
||||||
|
|
||||||
- [Common `if` expressions for `rules`](../jobs/job_control.md#common-if-clauses-for-rules).
|
- [Common `if` expressions for `rules`](../jobs/job_control.md#common-if-clauses-for-rules).
|
||||||
- [Avoid duplicate pipelines](../jobs/job_control.md#avoid-duplicate-pipelines).
|
- [Avoid duplicate pipelines](../jobs/job_control.md#avoid-duplicate-pipelines).
|
||||||
- [Use `rules` to run pipelines for merge requests](../pipelines/merge_request_pipelines.md#use-rules-to-add-jobs).
|
- [Use `rules` to run merge request pipelines](../pipelines/merge_request_pipelines.md#use-rules-to-add-jobs).
|
||||||
|
|
||||||
#### `rules:changes`
|
#### `rules:changes`
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ makes your pipelines run for branches and tags.
|
||||||
Branch pipeline status is displayed in merge requests that use the branch
|
Branch pipeline status is displayed in merge requests that use the branch
|
||||||
as a source. However, this pipeline type does not support any features offered by
|
as a source. However, this pipeline type does not support any features offered by
|
||||||
[merge request pipelines](../pipelines/merge_request_pipelines.md), like
|
[merge request pipelines](../pipelines/merge_request_pipelines.md), like
|
||||||
[pipelines for merged results](../pipelines/pipelines_for_merged_results.md)
|
[merged results pipelines](../pipelines/merged_results_pipelines.md)
|
||||||
or [merge trains](../pipelines/merge_trains.md).
|
or [merge trains](../pipelines/merge_trains.md).
|
||||||
This template intentionally avoids those features.
|
This template intentionally avoids those features.
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ include:
|
||||||
The [`MergeRequest-Pipelines` template](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates/Workflows/MergeRequest-Pipelines.gitlab-ci.yml)
|
The [`MergeRequest-Pipelines` template](https://gitlab.com/gitlab-org/gitlab/-/tree/master/lib/gitlab/ci/templates/Workflows/MergeRequest-Pipelines.gitlab-ci.yml)
|
||||||
makes your pipelines run for the default branch, tags, and
|
makes your pipelines run for the default branch, tags, and
|
||||||
all types of merge request pipelines. Use this template if you use any of the
|
all types of merge request pipelines. Use this template if you use any of the
|
||||||
the [pipelines for merge requests features](../pipelines/merge_request_pipelines.md).
|
the [merge request pipelines features](../pipelines/merge_request_pipelines.md).
|
||||||
|
|
||||||
To [include](index.md#include) it:
|
To [include](index.md#include) it:
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ On the left side we have the events that can trigger a pipeline based on various
|
||||||
- A `git push` is the most common event that triggers a pipeline.
|
- A `git push` is the most common event that triggers a pipeline.
|
||||||
- The [Web API](../../api/pipelines.md#create-a-new-pipeline).
|
- The [Web API](../../api/pipelines.md#create-a-new-pipeline).
|
||||||
- A user clicking the "Run pipeline" button in the UI.
|
- A user clicking the "Run pipeline" button in the UI.
|
||||||
- When a [merge request is created or updated](../../ci/pipelines/merge_request_pipelines.md#pipelines-for-merge-requests).
|
- When a [merge request is created or updated](../../ci/pipelines/merge_request_pipelines.md).
|
||||||
- When an MR is added to a [Merge Train](../../ci/pipelines/merge_trains.md#merge-trains).
|
- When an MR is added to a [Merge Train](../../ci/pipelines/merge_trains.md#merge-trains).
|
||||||
- A [scheduled pipeline](../../ci/pipelines/schedules.md#pipeline-schedules).
|
- A [scheduled pipeline](../../ci/pipelines/schedules.md#pipeline-schedules).
|
||||||
- When project is [subscribed to an upstream project](../../ci/pipelines/multi_project_pipelines.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt).
|
- When project is [subscribed to an upstream project](../../ci/pipelines/multi_project_pipelines.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt).
|
||||||
|
|
|
@ -479,7 +479,7 @@ WARNING:
|
||||||
[very specific cases](https://about.gitlab.com/handbook/engineering/workflow/#criteria-for-merging-during-broken-master).
|
[very specific cases](https://about.gitlab.com/handbook/engineering/workflow/#criteria-for-merging-during-broken-master).
|
||||||
For other cases, follow these [handbook instructions](https://about.gitlab.com/handbook/engineering/workflow/#merging-during-broken-master).
|
For other cases, follow these [handbook instructions](https://about.gitlab.com/handbook/engineering/workflow/#merging-during-broken-master).
|
||||||
- If the latest pipeline was created before the merge request was approved, start a new pipeline to ensure that full RSpec suite has been run. You may skip this step only if the merge request does not contain any backend change.
|
- If the latest pipeline was created before the merge request was approved, start a new pipeline to ensure that full RSpec suite has been run. You may skip this step only if the merge request does not contain any backend change.
|
||||||
- If the **latest [Pipeline for Merged Results](../ci/pipelines/pipelines_for_merged_results.md)** finished less than 2 hours ago, you
|
- If the **latest [merged results pipeline](../ci/pipelines/merged_results_pipelines.md)** finished less than 2 hours ago, you
|
||||||
may merge without starting a new pipeline as the merge request is close
|
may merge without starting a new pipeline as the merge request is close
|
||||||
enough to `main`.
|
enough to `main`.
|
||||||
- When you set the MR to "Merge When Pipeline Succeeds", you should take over
|
- When you set the MR to "Merge When Pipeline Succeeds", you should take over
|
||||||
|
@ -489,7 +489,7 @@ WARNING:
|
||||||
the squashed commit's default commit message is taken from the merge request title.
|
the squashed commit's default commit message is taken from the merge request title.
|
||||||
You're encouraged to [select a commit with a more informative commit message](../user/project/merge_requests/squash_and_merge.md) before merging.
|
You're encouraged to [select a commit with a more informative commit message](../user/project/merge_requests/squash_and_merge.md) before merging.
|
||||||
|
|
||||||
Thanks to **Pipeline for Merged Results**, authors no longer have to rebase their
|
Thanks to **merged results pipelines**, authors no longer have to rebase their
|
||||||
branch as frequently anymore (only when there are conflicts) because the Merge
|
branch as frequently anymore (only when there are conflicts) because the Merge
|
||||||
Results Pipeline already incorporate the latest changes from `main`.
|
Results Pipeline already incorporate the latest changes from `main`.
|
||||||
This results in faster review/merge cycles because maintainers don't have to ask
|
This results in faster review/merge cycles because maintainers don't have to ask
|
||||||
|
@ -501,7 +501,7 @@ Merge Results against the latest `main` at the time of the pipeline creation.
|
||||||
|
|
||||||
WARNING:
|
WARNING:
|
||||||
**Review all changes thoroughly for malicious code before starting a
|
**Review all changes thoroughly for malicious code before starting a
|
||||||
[Pipeline for Merged Results](../ci/pipelines/merge_request_pipelines.md#run-pipelines-in-the-parent-project).**
|
[merged results pipeline](../ci/pipelines/merge_request_pipelines.md#run-pipelines-in-the-parent-project).**
|
||||||
|
|
||||||
When reviewing merge requests added by wider community contributors:
|
When reviewing merge requests added by wider community contributors:
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ The following GitLab features are used among others:
|
||||||
- [Review Apps](../../ci/review_apps/index.md)
|
- [Review Apps](../../ci/review_apps/index.md)
|
||||||
- [Artifacts](../../ci/yaml/index.md#artifacts)
|
- [Artifacts](../../ci/yaml/index.md#artifacts)
|
||||||
- [Specific runner](../../ci/runners/runners_scope.md#prevent-a-specific-runner-from-being-enabled-for-other-projects)
|
- [Specific runner](../../ci/runners/runners_scope.md#prevent-a-specific-runner-from-being-enabled-for-other-projects)
|
||||||
- [Pipelines for merge requests](../../ci/pipelines/merge_request_pipelines.md)
|
- [Merge request pipelines](../../ci/pipelines/merge_request_pipelines.md)
|
||||||
|
|
||||||
## Troubleshooting review apps
|
## Troubleshooting review apps
|
||||||
|
|
||||||
|
|
|
@ -108,12 +108,12 @@ This problem was discovered in <https://gitlab.com/gitlab-org/gitlab-qa/-/issues
|
||||||
work-around was suggested in <https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4717>.
|
work-around was suggested in <https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4717>.
|
||||||
A feature proposal to segregate access control regarding running pipelines from ability to push/merge was also created at <https://gitlab.com/gitlab-org/gitlab/-/issues/24585>.
|
A feature proposal to segregate access control regarding running pipelines from ability to push/merge was also created at <https://gitlab.com/gitlab-org/gitlab/-/issues/24585>.
|
||||||
|
|
||||||
#### With Pipeline for Merged Results
|
#### With merged results pipelines
|
||||||
|
|
||||||
In a Pipeline for Merged Results, the pipeline runs on a new ref that contains the merge result of the source and target branch.
|
In a merged results pipeline, the pipeline runs on a new ref that contains the merge result of the source and target branch.
|
||||||
However, this ref is not available to the `gitlab-qa-mirror` pipeline.
|
However, this ref is not available to the `gitlab-qa-mirror` pipeline.
|
||||||
|
|
||||||
For this reason, the end-to-end tests on a Pipeline for Merged Results would use the head of the merge request source branch.
|
For this reason, the end-to-end tests on a merged results pipeline would use the head of the merge request source branch.
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph LR
|
graph LR
|
||||||
|
@ -126,7 +126,7 @@ A --> C
|
||||||
B --> C
|
B --> C
|
||||||
|
|
||||||
A --> E["E2E tests"]
|
A --> E["E2E tests"]
|
||||||
C --> D["Pipeline for merged results"]
|
C --> D["Merged results pipeline"]
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Running custom tests
|
##### Running custom tests
|
||||||
|
|
|
@ -98,10 +98,10 @@ base address for Docker images. You can override this globally by setting the CI
|
||||||
the container-scanning analyzer which uses
|
the container-scanning analyzer which uses
|
||||||
`registry.gitlab.com/security-products/container-scanning` as its registry.
|
`registry.gitlab.com/security-products/container-scanning` as its registry.
|
||||||
|
|
||||||
### Use security scanning tools with Pipelines for Merge Requests
|
### Use security scanning tools with merge request pipelines
|
||||||
|
|
||||||
By default, the application security jobs are configured to run for branch pipelines only.
|
By default, the application security jobs are configured to run for branch pipelines only.
|
||||||
To use them with [pipelines for merge requests](../../ci/pipelines/merge_request_pipelines.md),
|
To use them with [merge request pipelines](../../ci/pipelines/merge_request_pipelines.md),
|
||||||
you may need to override the default `rules:` configuration to add:
|
you may need to override the default `rules:` configuration to add:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|
|
@ -248,9 +248,9 @@ This can be done:
|
||||||
### Using with merge request pipelines
|
### Using with merge request pipelines
|
||||||
|
|
||||||
The configuration provided by the Code Quality template does not let the `code_quality` job
|
The configuration provided by the Code Quality template does not let the `code_quality` job
|
||||||
run on [pipelines for merge requests](../../../ci/pipelines/merge_request_pipelines.md).
|
run on [merge request pipelines](../../../ci/pipelines/merge_request_pipelines.md).
|
||||||
|
|
||||||
If pipelines for merge requests is enabled, the `code_quality:rules` must be redefined.
|
If merge request pipelines is enabled, the `code_quality:rules` must be redefined.
|
||||||
|
|
||||||
The template has these [`rules`](../../../ci/yaml/index.md#rules) for the `code quality` job:
|
The template has these [`rules`](../../../ci/yaml/index.md#rules) for the `code quality` job:
|
||||||
|
|
||||||
|
|
|
@ -79,11 +79,11 @@ draft merge requests:
|
||||||
|
|
||||||
## Pipelines for drafts
|
## Pipelines for drafts
|
||||||
|
|
||||||
When the [pipelines for merged results](../../../ci/pipelines/pipelines_for_merged_results.md)
|
When the [merged results pipelines](../../../ci/pipelines/merged_results_pipelines.md)
|
||||||
feature is enabled, draft merge requests run
|
feature is enabled, draft merge requests run
|
||||||
[merge request pipelines](../../../ci/pipelines/merge_request_pipelines.md) only.
|
[merge request pipelines](../../../ci/pipelines/merge_request_pipelines.md) only.
|
||||||
|
|
||||||
To run pipelines for merged results, you must
|
To run merged results pipelines, you must
|
||||||
[mark the merge request as ready](#mark-merge-requests-as-ready).
|
[mark the merge request as ready](#mark-merge-requests-as-ready).
|
||||||
|
|
||||||
<!-- ## Troubleshooting
|
<!-- ## Troubleshooting
|
||||||
|
|
|
@ -42,8 +42,8 @@ This template requires:
|
||||||
- A project built in Rails that uses RSpec for testing.
|
- A project built in Rails that uses RSpec for testing.
|
||||||
- CI/CD configured to:
|
- CI/CD configured to:
|
||||||
- Use a Docker image with Ruby available.
|
- Use a Docker image with Ruby available.
|
||||||
- Use [Pipelines for merge requests](../../../ci/pipelines/merge_request_pipelines.md#prerequisites)
|
- Use [Merge request pipelines](../../../ci/pipelines/merge_request_pipelines.md#prerequisites)
|
||||||
- [Pipelines for Merged Results](../../../ci/pipelines/pipelines_for_merged_results.md#enable-pipelines-for-merged-results)
|
- [Merged results pipelines](../../../ci/pipelines/merged_results_pipelines.md#enable-merged-results-pipelines)
|
||||||
enabled in the project settings.
|
enabled in the project settings.
|
||||||
- A Docker image with Ruby available. The template uses `image: ruby:2.6` by default, but you [can override](../../../ci/yaml/includes.md#override-included-configuration-values) this.
|
- A Docker image with Ruby available. The template uses `image: ruby:2.6` by default, but you [can override](../../../ci/yaml/includes.md#override-included-configuration-values) this.
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ or link to useful information directly from merge requests:
|
||||||
| [License Compliance](../../compliance/license_compliance/index.md) | Manage the licenses of your dependencies. |
|
| [License Compliance](../../compliance/license_compliance/index.md) | Manage the licenses of your dependencies. |
|
||||||
| [Metrics Reports](../../../ci/metrics_reports.md) | Display the Metrics Report on the merge request so that it's fast and easy to identify changes to important metrics. |
|
| [Metrics Reports](../../../ci/metrics_reports.md) | Display the Metrics Report on the merge request so that it's fast and easy to identify changes to important metrics. |
|
||||||
| [Multi-Project pipelines](../../../ci/pipelines/multi_project_pipelines.md) | When you set up GitLab CI/CD across multiple projects, you can visualize the entire pipeline, including all cross-project interdependencies. |
|
| [Multi-Project pipelines](../../../ci/pipelines/multi_project_pipelines.md) | When you set up GitLab CI/CD across multiple projects, you can visualize the entire pipeline, including all cross-project interdependencies. |
|
||||||
| [Pipelines for merge requests](../../../ci/pipelines/merge_request_pipelines.md) | Customize a specific pipeline structure for merge requests in order to speed the cycle up by running only important jobs. |
|
| [Merge request pipelines](../../../ci/pipelines/merge_request_pipelines.md) | Customize a specific pipeline structure for merge requests in order to speed the cycle up by running only important jobs. |
|
||||||
| [Pipeline Graphs](../../../ci/pipelines/index.md#visualize-pipelines) | View the status of pipelines within the merge request, including the deployment process. |
|
| [Pipeline Graphs](../../../ci/pipelines/index.md#visualize-pipelines) | View the status of pipelines within the merge request, including the deployment process. |
|
||||||
| [Test Coverage visualization](test_coverage_visualization.md) | See test coverage results for merge requests, within the file diff. |
|
| [Test Coverage visualization](test_coverage_visualization.md) | See test coverage results for merge requests, within the file diff. |
|
||||||
|
|
||||||
|
|
|
@ -81,12 +81,16 @@ module Gitlab
|
||||||
|
|
||||||
return true if status == 0
|
return true if status == 0
|
||||||
|
|
||||||
|
output = output&.strip
|
||||||
|
message = "command exited with error code #{status}"
|
||||||
|
message += ": #{output}" if output.present?
|
||||||
|
|
||||||
if @shared.respond_to?(:error)
|
if @shared.respond_to?(:error)
|
||||||
@shared.error(Gitlab::ImportExport::Error.new(output.to_s))
|
@shared.error(Gitlab::ImportExport::Error.new(message))
|
||||||
|
|
||||||
false
|
false
|
||||||
else
|
else
|
||||||
raise Gitlab::ImportExport::Error, 'System call failed'
|
raise Gitlab::ImportExport::Error, message
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# rubocop:enable Gitlab/ModuleWithInstanceVariables
|
# rubocop:enable Gitlab/ModuleWithInstanceVariables
|
||||||
|
|
|
@ -4374,9 +4374,6 @@ msgstr ""
|
||||||
msgid "ApprovalRule|Add approvers"
|
msgid "ApprovalRule|Add approvers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Add required approvers to improve your code review process"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "ApprovalRule|All scanners"
|
msgid "ApprovalRule|All scanners"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4407,9 +4404,6 @@ msgstr ""
|
||||||
msgid "ApprovalRule|Approvers"
|
msgid "ApprovalRule|Approvers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Assign approvers by area of expertise."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "ApprovalRule|Confirmed"
|
msgid "ApprovalRule|Confirmed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4419,13 +4413,13 @@ msgstr ""
|
||||||
msgid "ApprovalRule|Examples: QA, Security."
|
msgid "ApprovalRule|Examples: QA, Security."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Increase your organization’s code quality."
|
msgid "ApprovalRule|Improve your organization's code review with required approvals."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Learn more about merge request approval."
|
msgid "ApprovalRule|Increase quality and maintain standards."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Let GitLab designate eligible approvers based on the files changed."
|
msgid "ApprovalRule|Learn more about merge request approval rules."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Name"
|
msgid "ApprovalRule|Name"
|
||||||
|
@ -4452,7 +4446,7 @@ msgstr ""
|
||||||
msgid "ApprovalRule|Previously detected"
|
msgid "ApprovalRule|Previously detected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Reduce the overall time to merge."
|
msgid "ApprovalRule|Reduce your time to merge."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Resolved"
|
msgid "ApprovalRule|Resolved"
|
||||||
|
@ -4467,6 +4461,9 @@ msgstr ""
|
||||||
msgid "ApprovalRule|Select All"
|
msgid "ApprovalRule|Select All"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "ApprovalRule|Select eligible approvers by expertise or files changed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Select scanners"
|
msgid "ApprovalRule|Select scanners"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4482,7 +4479,7 @@ msgstr ""
|
||||||
msgid "ApprovalRule|Target branch"
|
msgid "ApprovalRule|Target branch"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Try it for free"
|
msgid "ApprovalRule|Try for free"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "ApprovalRule|Vulnerabilities allowed"
|
msgid "ApprovalRule|Vulnerabilities allowed"
|
||||||
|
@ -30753,6 +30750,9 @@ msgstr ""
|
||||||
msgid "Runners|Architecture"
|
msgid "Runners|Architecture"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Runners|Assigned Group"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Runners|Associated with one or more projects"
|
msgid "Runners|Associated with one or more projects"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -33024,9 +33024,6 @@ msgstr ""
|
||||||
msgid "Show comments only"
|
msgid "Show comments only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Show commit description"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Show complete raw log"
|
msgid "Show complete raw log"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -208,7 +208,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/plugin-transform-modules-commonjs": "^7.10.1",
|
"@babel/plugin-transform-modules-commonjs": "^7.10.1",
|
||||||
"@gitlab/eslint-plugin": "10.0.0",
|
"@gitlab/eslint-plugin": "10.0.0",
|
||||||
"@gitlab/stylelint-config": "2.6.0",
|
"@gitlab/stylelint-config": "3.0.0",
|
||||||
"@graphql-eslint/eslint-plugin": "3.0.0",
|
"@graphql-eslint/eslint-plugin": "3.0.0",
|
||||||
"@testing-library/dom": "^7.16.2",
|
"@testing-library/dom": "^7.16.2",
|
||||||
"@vue/test-utils": "1.3.0",
|
"@vue/test-utils": "1.3.0",
|
||||||
|
@ -255,6 +255,7 @@
|
||||||
"purgecss": "^4.0.3",
|
"purgecss": "^4.0.3",
|
||||||
"purgecss-from-html": "^4.0.3",
|
"purgecss-from-html": "^4.0.3",
|
||||||
"sass": "^1.32.12",
|
"sass": "^1.32.12",
|
||||||
|
"stylelint": "13.9.0",
|
||||||
"timezone-mock": "^1.0.8",
|
"timezone-mock": "^1.0.8",
|
||||||
"vue-jest": "4.0.1",
|
"vue-jest": "4.0.1",
|
||||||
"webpack-dev-server": "^3.11.3",
|
"webpack-dev-server": "^3.11.3",
|
||||||
|
|
|
@ -174,7 +174,7 @@ module QA
|
||||||
end
|
end
|
||||||
|
|
||||||
def start_all_nodes
|
def start_all_nodes
|
||||||
start_node(@postgres)
|
start_postgres
|
||||||
start_node(@primary_node)
|
start_node(@primary_node)
|
||||||
start_node(@secondary_node)
|
start_node(@secondary_node)
|
||||||
start_node(@tertiary_node)
|
start_node(@tertiary_node)
|
||||||
|
@ -183,6 +183,16 @@ module QA
|
||||||
wait_for_health_check_all_nodes
|
wait_for_health_check_all_nodes
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def start_postgres
|
||||||
|
start_node(@postgres)
|
||||||
|
|
||||||
|
Support::Waiter.repeat_until(max_attempts: 60, sleep_interval: 1) do
|
||||||
|
shell(sql_to_docker_exec_cmd("SELECT 1 as healthy_database"), fail_on_exception: false) do |line|
|
||||||
|
break true if line.include?("healthy_database")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def verify_storage_move(source_storage, destination_storage, repo_type: :project)
|
def verify_storage_move(source_storage, destination_storage, repo_type: :project)
|
||||||
return if Specs::Helpers::ContextSelector.dot_com?
|
return if Specs::Helpers::ContextSelector.dot_com?
|
||||||
|
|
||||||
|
|
|
@ -13,23 +13,25 @@ module QA
|
||||||
# TODO, make it possible to use generic QA framework classes
|
# TODO, make it possible to use generic QA framework classes
|
||||||
# as a library - gitlab-org/gitlab-qa#94
|
# as a library - gitlab-org/gitlab-qa#94
|
||||||
#
|
#
|
||||||
def shell(command, stdin_data: nil)
|
def shell(command, stdin_data: nil, fail_on_exception: true)
|
||||||
puts "Executing `#{command}`"
|
puts "Executing `#{command}`"
|
||||||
|
|
||||||
Open3.popen2e(*command) do |stdin, out, wait|
|
Open3.popen2e(*command) do |stdin, out, wait|
|
||||||
stdin.puts(stdin_data) if stdin_data
|
stdin.puts(stdin_data) if stdin_data
|
||||||
stdin.close if stdin_data
|
stdin.close if stdin_data
|
||||||
|
cmd_output = ''
|
||||||
|
|
||||||
if block_given?
|
if block_given?
|
||||||
out.each do |line|
|
out.each do |line|
|
||||||
|
cmd_output += line
|
||||||
yield line
|
yield line
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
out.each_char { |char| print char }
|
out.each_char { |char| print char }
|
||||||
|
|
||||||
if wait.value.exited? && wait.value.exitstatus.nonzero?
|
if wait.value.exited? && wait.value.exitstatus.nonzero? && fail_on_exception
|
||||||
raise CommandError, "Command `#{command}` failed!"
|
raise CommandError, "Command failed: #{command} \nCommand Output: #{cmd_output}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -132,6 +132,29 @@ RSpec.describe GroupsController, factory_default: :keep do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'require_verification_for_namespace_creation experiment', :experiment do
|
||||||
|
before do
|
||||||
|
sign_in(owner)
|
||||||
|
stub_experiments(require_verification_for_namespace_creation: :candidate)
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'tracks a "start_create_group" event' do
|
||||||
|
expect(experiment(:require_verification_for_namespace_creation)).to track(
|
||||||
|
:start_create_group
|
||||||
|
).on_next_instance.with_context(user: owner)
|
||||||
|
|
||||||
|
get :new
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when creating a sub-group' do
|
||||||
|
it 'does not track a "start_create_group" event' do
|
||||||
|
expect(experiment(:require_verification_for_namespace_creation)).not_to track(:start_create_group)
|
||||||
|
|
||||||
|
get :new, params: { parent_id: group.id }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'GET #activity' do
|
describe 'GET #activity' do
|
||||||
|
|
|
@ -5,7 +5,7 @@ require 'spec_helper'
|
||||||
RSpec.describe RequireVerificationForNamespaceCreationExperiment, :experiment do
|
RSpec.describe RequireVerificationForNamespaceCreationExperiment, :experiment do
|
||||||
subject(:experiment) { described_class.new(user: user) }
|
subject(:experiment) { described_class.new(user: user) }
|
||||||
|
|
||||||
let_it_be(:user) { create(:user) }
|
let(:user) { create(:user, created_at: RequireVerificationForNamespaceCreationExperiment::EXPERIMENT_START_DATE + 1.hour) }
|
||||||
|
|
||||||
describe '#candidate?' do
|
describe '#candidate?' do
|
||||||
context 'when experiment subject is candidate' do
|
context 'when experiment subject is candidate' do
|
||||||
|
@ -56,4 +56,20 @@ RSpec.describe RequireVerificationForNamespaceCreationExperiment, :experiment do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'exclusions' do
|
||||||
|
context 'when user is new' do
|
||||||
|
it 'is not excluded' do
|
||||||
|
expect(subject).not_to exclude(user: user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when user is NOT new' do
|
||||||
|
let(:user) { create(:user, created_at: RequireVerificationForNamespaceCreationExperiment::EXPERIMENT_START_DATE - 1.day) }
|
||||||
|
|
||||||
|
it 'is excluded' do
|
||||||
|
expect(subject).to exclude(user: user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -78,6 +78,14 @@ RSpec.describe 'Runner (JavaScript fixtures)' do
|
||||||
|
|
||||||
expect_graphql_errors_to_be_empty
|
expect_graphql_errors_to_be_empty
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "#{fixtures_path}#{get_runner_query_name}.with_group.json" do
|
||||||
|
post_graphql(query, current_user: admin, variables: {
|
||||||
|
id: group_runner.to_global_id.to_s
|
||||||
|
})
|
||||||
|
|
||||||
|
expect_graphql_errors_to_be_empty
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -137,6 +137,7 @@ describe('~/nav/components/top_nav_menu_item.vue', () => {
|
||||||
expect(wrapper.classes()).toStrictEqual([
|
expect(wrapper.classes()).toStrictEqual([
|
||||||
'top-nav-menu-item',
|
'top-nav-menu-item',
|
||||||
'gl-display-block',
|
'gl-display-block',
|
||||||
|
'gl-pr-3!',
|
||||||
...expectedClasses,
|
...expectedClasses,
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
import { GlAvatar } from '@gitlab/ui';
|
||||||
|
import { shallowMountExtended } from 'helpers/vue_test_utils_helper';
|
||||||
|
|
||||||
|
import RunnerDetailGroups from '~/runner/components/runner_detail_groups.vue';
|
||||||
|
|
||||||
|
import { runnerData, runnerWithGroupData } from '../mock_data';
|
||||||
|
|
||||||
|
const mockInstanceRunner = runnerData.data.runner;
|
||||||
|
const mockGroupRunner = runnerWithGroupData.data.runner;
|
||||||
|
const mockGroup = mockGroupRunner.groups.nodes[0];
|
||||||
|
|
||||||
|
describe('RunnerDetailGroups', () => {
|
||||||
|
let wrapper;
|
||||||
|
|
||||||
|
const findHeading = () => wrapper.find('h3');
|
||||||
|
const findGroupAvatar = () => wrapper.findByTestId('group-avatar');
|
||||||
|
|
||||||
|
const createComponent = ({ runner = mockGroupRunner, mountFn = shallowMountExtended } = {}) => {
|
||||||
|
wrapper = mountFn(RunnerDetailGroups, {
|
||||||
|
propsData: {
|
||||||
|
runner,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
afterEach(() => {
|
||||||
|
wrapper.destroy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Shows a heading', () => {
|
||||||
|
createComponent();
|
||||||
|
|
||||||
|
expect(findHeading().text()).toBe('Assigned Group');
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('When there is group runner', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
createComponent();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Shows a group avatar', () => {
|
||||||
|
const avatar = findGroupAvatar();
|
||||||
|
|
||||||
|
expect(avatar.attributes('href')).toBe(mockGroup.webUrl);
|
||||||
|
expect(avatar.findComponent(GlAvatar).props()).toMatchObject({
|
||||||
|
alt: mockGroup.name,
|
||||||
|
entityName: mockGroup.name,
|
||||||
|
src: mockGroup.avatarUrl,
|
||||||
|
shape: 'rect',
|
||||||
|
size: 48,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Shows a group link', () => {
|
||||||
|
const groupFullName = wrapper.findByText(mockGroup.fullName);
|
||||||
|
|
||||||
|
expect(groupFullName.attributes('href')).toBe(mockGroup.webUrl);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('When there are no groups', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
createComponent({
|
||||||
|
runner: mockInstanceRunner,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Shows a "None" label', () => {
|
||||||
|
expect(wrapper.findByText('None').exists()).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
|
@ -7,10 +7,12 @@ import { ACCESS_LEVEL_REF_PROTECTED, ACCESS_LEVEL_NOT_PROTECTED } from '~/runner
|
||||||
|
|
||||||
import RunnerDetails from '~/runner/components/runner_details.vue';
|
import RunnerDetails from '~/runner/components/runner_details.vue';
|
||||||
import RunnerDetail from '~/runner/components/runner_detail.vue';
|
import RunnerDetail from '~/runner/components/runner_detail.vue';
|
||||||
|
import RunnerDetailGroups from '~/runner/components/runner_detail_groups.vue';
|
||||||
|
|
||||||
import { runnerData } from '../mock_data';
|
import { runnerData, runnerWithGroupData } from '../mock_data';
|
||||||
|
|
||||||
const mockRunner = runnerData.data.runner;
|
const mockRunner = runnerData.data.runner;
|
||||||
|
const mockGroupRunner = runnerWithGroupData.data.runner;
|
||||||
|
|
||||||
describe('RunnerDetails', () => {
|
describe('RunnerDetails', () => {
|
||||||
let wrapper;
|
let wrapper;
|
||||||
|
@ -33,13 +35,12 @@ describe('RunnerDetails', () => {
|
||||||
return ErrorWrapper(dtLabel);
|
return ErrorWrapper(dtLabel);
|
||||||
};
|
};
|
||||||
|
|
||||||
const createComponent = ({ runner = {}, mountFn = shallowMountExtended } = {}) => {
|
const findDetailGroups = () => wrapper.findComponent(RunnerDetailGroups);
|
||||||
|
|
||||||
|
const createComponent = ({ props = {}, mountFn = shallowMountExtended } = {}) => {
|
||||||
wrapper = mountFn(RunnerDetails, {
|
wrapper = mountFn(RunnerDetails, {
|
||||||
propsData: {
|
propsData: {
|
||||||
runner: {
|
...props,
|
||||||
...mockRunner,
|
|
||||||
...runner,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
stubs: {
|
stubs: {
|
||||||
GlIntersperse,
|
GlIntersperse,
|
||||||
|
@ -54,6 +55,16 @@ describe('RunnerDetails', () => {
|
||||||
wrapper.destroy();
|
wrapper.destroy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('when no runner is present, no contents are shown', () => {
|
||||||
|
createComponent({
|
||||||
|
props: {
|
||||||
|
runner: null,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(wrapper.text()).toBe('');
|
||||||
|
});
|
||||||
|
|
||||||
describe.each`
|
describe.each`
|
||||||
field | runner | expectedValue
|
field | runner | expectedValue
|
||||||
${'Description'} | ${{ description: 'My runner' }} | ${'My runner'}
|
${'Description'} | ${{ description: 'My runner' }} | ${'My runner'}
|
||||||
|
@ -75,7 +86,12 @@ describe('RunnerDetails', () => {
|
||||||
`('"$field" field', ({ field, runner, expectedValue }) => {
|
`('"$field" field', ({ field, runner, expectedValue }) => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
createComponent({
|
createComponent({
|
||||||
runner,
|
props: {
|
||||||
|
runner: {
|
||||||
|
...mockRunner,
|
||||||
|
...runner,
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -87,7 +103,9 @@ describe('RunnerDetails', () => {
|
||||||
describe('"Tags" field', () => {
|
describe('"Tags" field', () => {
|
||||||
it('displays expected value "tag-1 tag-2"', () => {
|
it('displays expected value "tag-1 tag-2"', () => {
|
||||||
createComponent({
|
createComponent({
|
||||||
runner: { tagList: ['tag-1', 'tag-2'] },
|
props: {
|
||||||
|
runner: { ...mockRunner, tagList: ['tag-1', 'tag-2'] },
|
||||||
|
},
|
||||||
mountFn: mountExtended,
|
mountFn: mountExtended,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -96,11 +114,27 @@ describe('RunnerDetails', () => {
|
||||||
|
|
||||||
it('displays "None" when runner has no tags', () => {
|
it('displays "None" when runner has no tags', () => {
|
||||||
createComponent({
|
createComponent({
|
||||||
runner: { tagList: [] },
|
props: {
|
||||||
|
runner: { ...mockRunner, tagList: [] },
|
||||||
|
},
|
||||||
mountFn: mountExtended,
|
mountFn: mountExtended,
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(findDd('Tags').text().replace(/\s+/g, ' ')).toBe('None');
|
expect(findDd('Tags').text().replace(/\s+/g, ' ')).toBe('None');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('Group runners', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
createComponent({
|
||||||
|
props: {
|
||||||
|
runner: mockGroupRunner,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('Shows a group runner details', () => {
|
||||||
|
expect(findDetailGroups().props('runner')).toEqual(mockGroupRunner);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -130,6 +130,7 @@ describe('RunnerUpdateForm', () => {
|
||||||
editAdminUrl,
|
editAdminUrl,
|
||||||
contactedAt,
|
contactedAt,
|
||||||
userPermissions,
|
userPermissions,
|
||||||
|
groups,
|
||||||
version,
|
version,
|
||||||
...submitted
|
...submitted
|
||||||
} = mockRunner;
|
} = mockRunner;
|
||||||
|
|
|
@ -5,6 +5,7 @@ import runnersData from 'test_fixtures/graphql/runner/get_runners.query.graphql.
|
||||||
import runnersCountData from 'test_fixtures/graphql/runner/get_runners_count.query.graphql.json';
|
import runnersCountData from 'test_fixtures/graphql/runner/get_runners_count.query.graphql.json';
|
||||||
import runnersDataPaginated from 'test_fixtures/graphql/runner/get_runners.query.graphql.paginated.json';
|
import runnersDataPaginated from 'test_fixtures/graphql/runner/get_runners.query.graphql.paginated.json';
|
||||||
import runnerData from 'test_fixtures/graphql/runner/get_runner.query.graphql.json';
|
import runnerData from 'test_fixtures/graphql/runner/get_runner.query.graphql.json';
|
||||||
|
import runnerWithGroupData from 'test_fixtures/graphql/runner/get_runner.query.graphql.with_group.json';
|
||||||
|
|
||||||
// Group queries
|
// Group queries
|
||||||
import groupRunnersData from 'test_fixtures/graphql/runner/get_group_runners.query.graphql.json';
|
import groupRunnersData from 'test_fixtures/graphql/runner/get_group_runners.query.graphql.json';
|
||||||
|
@ -12,10 +13,11 @@ import groupRunnersCountData from 'test_fixtures/graphql/runner/get_group_runner
|
||||||
import groupRunnersDataPaginated from 'test_fixtures/graphql/runner/get_group_runners.query.graphql.paginated.json';
|
import groupRunnersDataPaginated from 'test_fixtures/graphql/runner/get_group_runners.query.graphql.paginated.json';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
runnerData,
|
runnersData,
|
||||||
runnersCountData,
|
runnersCountData,
|
||||||
runnersDataPaginated,
|
runnersDataPaginated,
|
||||||
runnersData,
|
runnerData,
|
||||||
|
runnerWithGroupData,
|
||||||
groupRunnersData,
|
groupRunnersData,
|
||||||
groupRunnersCountData,
|
groupRunnersCountData,
|
||||||
groupRunnersDataPaginated,
|
groupRunnersDataPaginated,
|
||||||
|
|
|
@ -97,7 +97,7 @@ RSpec.describe Gitlab::ImportExport::CommandLineUtil do
|
||||||
include Gitlab::ImportExport::CommandLineUtil
|
include Gitlab::ImportExport::CommandLineUtil
|
||||||
end.new
|
end.new
|
||||||
|
|
||||||
expect { klass.tar_cf(archive: 'test', dir: 'test') }.to raise_error(Gitlab::ImportExport::Error, 'System call failed')
|
expect { klass.tar_cf(archive: 'test', dir: 'test') }.to raise_error(Gitlab::ImportExport::Error, 'command exited with error code 1: Error')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -125,14 +125,31 @@ RSpec.describe Gitlab::ImportExport::CommandLineUtil do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when something goes wrong' do
|
context 'when something goes wrong' do
|
||||||
it 'raises an error' do
|
before do
|
||||||
expect(Gitlab::Popen).to receive(:popen).and_return(['Error', 1])
|
expect(Gitlab::Popen).to receive(:popen).and_return(['Error', 1])
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'raises an error' do
|
||||||
klass = Class.new do
|
klass = Class.new do
|
||||||
include Gitlab::ImportExport::CommandLineUtil
|
include Gitlab::ImportExport::CommandLineUtil
|
||||||
end.new
|
end.new
|
||||||
|
|
||||||
expect { klass.untar_xf(archive: 'test', dir: 'test') }.to raise_error(Gitlab::ImportExport::Error, 'System call failed')
|
expect { klass.untar_xf(archive: 'test', dir: 'test') }.to raise_error(Gitlab::ImportExport::Error, 'command exited with error code 1: Error')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns false and includes error status' do
|
||||||
|
klass = Class.new do
|
||||||
|
include Gitlab::ImportExport::CommandLineUtil
|
||||||
|
|
||||||
|
attr_accessor :shared
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
@shared = Gitlab::ImportExport::Shared.new(nil)
|
||||||
|
end
|
||||||
|
end.new
|
||||||
|
|
||||||
|
expect(klass.tar_czf(archive: 'test', dir: 'test')).to eq(false)
|
||||||
|
expect(klass.shared.errors).to eq(['command exited with error code 1: Error'])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
475
yarn.lock
475
yarn.lock
|
@ -9,32 +9,39 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/highlight" "^7.10.4"
|
"@babel/highlight" "^7.10.4"
|
||||||
|
|
||||||
"@babel/code-frame@7.16.0", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5":
|
"@babel/code-frame@7.16.0":
|
||||||
version "7.16.0"
|
version "7.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
|
||||||
integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
|
integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/highlight" "^7.16.0"
|
"@babel/highlight" "^7.16.0"
|
||||||
|
|
||||||
"@babel/compat-data@^7.10.1", "@babel/compat-data@^7.15.0":
|
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.7":
|
||||||
version "7.15.0"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176"
|
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
|
||||||
integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==
|
integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
|
||||||
|
dependencies:
|
||||||
|
"@babel/highlight" "^7.16.7"
|
||||||
|
|
||||||
|
"@babel/compat-data@^7.10.1", "@babel/compat-data@^7.16.4":
|
||||||
|
version "7.16.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60"
|
||||||
|
integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==
|
||||||
|
|
||||||
"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.10.1", "@babel/core@^7.7.5":
|
"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.10.1", "@babel/core@^7.7.5":
|
||||||
version "7.15.0"
|
version "7.16.12"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8"
|
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784"
|
||||||
integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==
|
integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame" "^7.14.5"
|
"@babel/code-frame" "^7.16.7"
|
||||||
"@babel/generator" "^7.15.0"
|
"@babel/generator" "^7.16.8"
|
||||||
"@babel/helper-compilation-targets" "^7.15.0"
|
"@babel/helper-compilation-targets" "^7.16.7"
|
||||||
"@babel/helper-module-transforms" "^7.15.0"
|
"@babel/helper-module-transforms" "^7.16.7"
|
||||||
"@babel/helpers" "^7.14.8"
|
"@babel/helpers" "^7.16.7"
|
||||||
"@babel/parser" "^7.15.0"
|
"@babel/parser" "^7.16.12"
|
||||||
"@babel/template" "^7.14.5"
|
"@babel/template" "^7.16.7"
|
||||||
"@babel/traverse" "^7.15.0"
|
"@babel/traverse" "^7.16.10"
|
||||||
"@babel/types" "^7.15.0"
|
"@babel/types" "^7.16.8"
|
||||||
convert-source-map "^1.7.0"
|
convert-source-map "^1.7.0"
|
||||||
debug "^4.1.0"
|
debug "^4.1.0"
|
||||||
gensync "^1.0.0-beta.2"
|
gensync "^1.0.0-beta.2"
|
||||||
|
@ -42,12 +49,12 @@
|
||||||
semver "^6.3.0"
|
semver "^6.3.0"
|
||||||
source-map "^0.5.0"
|
source-map "^0.5.0"
|
||||||
|
|
||||||
"@babel/generator@^7.15.0", "@babel/generator@^7.15.4":
|
"@babel/generator@^7.15.4", "@babel/generator@^7.16.8":
|
||||||
version "7.15.4"
|
version "7.16.8"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0"
|
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe"
|
||||||
integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==
|
integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.8"
|
||||||
jsesc "^2.5.1"
|
jsesc "^2.5.1"
|
||||||
source-map "^0.5.0"
|
source-map "^0.5.0"
|
||||||
|
|
||||||
|
@ -66,14 +73,14 @@
|
||||||
"@babel/helper-explode-assignable-expression" "^7.10.1"
|
"@babel/helper-explode-assignable-expression" "^7.10.1"
|
||||||
"@babel/types" "^7.10.1"
|
"@babel/types" "^7.10.1"
|
||||||
|
|
||||||
"@babel/helper-compilation-targets@^7.10.2", "@babel/helper-compilation-targets@^7.15.0":
|
"@babel/helper-compilation-targets@^7.10.2", "@babel/helper-compilation-targets@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9"
|
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b"
|
||||||
integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==
|
integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/compat-data" "^7.15.0"
|
"@babel/compat-data" "^7.16.4"
|
||||||
"@babel/helper-validator-option" "^7.14.5"
|
"@babel/helper-validator-option" "^7.16.7"
|
||||||
browserslist "^4.16.6"
|
browserslist "^4.17.5"
|
||||||
semver "^6.3.0"
|
semver "^6.3.0"
|
||||||
|
|
||||||
"@babel/helper-create-class-features-plugin@^7.10.1", "@babel/helper-create-class-features-plugin@^7.14.5":
|
"@babel/helper-create-class-features-plugin@^7.10.1", "@babel/helper-create-class-features-plugin@^7.14.5":
|
||||||
|
@ -106,6 +113,13 @@
|
||||||
"@babel/types" "^7.10.1"
|
"@babel/types" "^7.10.1"
|
||||||
lodash "^4.17.13"
|
lodash "^4.17.13"
|
||||||
|
|
||||||
|
"@babel/helper-environment-visitor@^7.16.7":
|
||||||
|
version "7.16.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
|
||||||
|
integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
|
||||||
|
dependencies:
|
||||||
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-explode-assignable-expression@^7.10.1":
|
"@babel/helper-explode-assignable-expression@^7.10.1":
|
||||||
version "7.10.1"
|
version "7.10.1"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz#e9d76305ee1162ca467357ae25df94f179af2b7e"
|
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz#e9d76305ee1162ca467357ae25df94f179af2b7e"
|
||||||
|
@ -114,28 +128,28 @@
|
||||||
"@babel/traverse" "^7.10.1"
|
"@babel/traverse" "^7.10.1"
|
||||||
"@babel/types" "^7.10.1"
|
"@babel/types" "^7.10.1"
|
||||||
|
|
||||||
"@babel/helper-function-name@^7.10.1", "@babel/helper-function-name@^7.15.4":
|
"@babel/helper-function-name@^7.10.1", "@babel/helper-function-name@^7.15.4", "@babel/helper-function-name@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc"
|
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
|
||||||
integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==
|
integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-get-function-arity" "^7.15.4"
|
"@babel/helper-get-function-arity" "^7.16.7"
|
||||||
"@babel/template" "^7.15.4"
|
"@babel/template" "^7.16.7"
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-get-function-arity@^7.10.1", "@babel/helper-get-function-arity@^7.15.4":
|
"@babel/helper-get-function-arity@^7.10.1", "@babel/helper-get-function-arity@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b"
|
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
|
||||||
integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==
|
integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-hoist-variables@^7.10.1", "@babel/helper-hoist-variables@^7.15.4":
|
"@babel/helper-hoist-variables@^7.10.1", "@babel/helper-hoist-variables@^7.15.4", "@babel/helper-hoist-variables@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df"
|
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
|
||||||
integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==
|
integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-member-expression-to-functions@^7.15.4":
|
"@babel/helper-member-expression-to-functions@^7.15.4":
|
||||||
version "7.15.4"
|
version "7.15.4"
|
||||||
|
@ -144,26 +158,26 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.15.4"
|
||||||
|
|
||||||
"@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.1", "@babel/helper-module-imports@^7.15.4":
|
"@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.10.1", "@babel/helper-module-imports@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f"
|
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
|
||||||
integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==
|
integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-module-transforms@^7.10.1", "@babel/helper-module-transforms@^7.15.0":
|
"@babel/helper-module-transforms@^7.10.1", "@babel/helper-module-transforms@^7.15.0", "@babel/helper-module-transforms@^7.16.7":
|
||||||
version "7.15.7"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226"
|
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41"
|
||||||
integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==
|
integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-module-imports" "^7.15.4"
|
"@babel/helper-environment-visitor" "^7.16.7"
|
||||||
"@babel/helper-replace-supers" "^7.15.4"
|
"@babel/helper-module-imports" "^7.16.7"
|
||||||
"@babel/helper-simple-access" "^7.15.4"
|
"@babel/helper-simple-access" "^7.16.7"
|
||||||
"@babel/helper-split-export-declaration" "^7.15.4"
|
"@babel/helper-split-export-declaration" "^7.16.7"
|
||||||
"@babel/helper-validator-identifier" "^7.15.7"
|
"@babel/helper-validator-identifier" "^7.16.7"
|
||||||
"@babel/template" "^7.15.4"
|
"@babel/template" "^7.16.7"
|
||||||
"@babel/traverse" "^7.15.4"
|
"@babel/traverse" "^7.16.7"
|
||||||
"@babel/types" "^7.15.6"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-optimise-call-expression@^7.10.1", "@babel/helper-optimise-call-expression@^7.15.4":
|
"@babel/helper-optimise-call-expression@^7.10.1", "@babel/helper-optimise-call-expression@^7.15.4":
|
||||||
version "7.15.4"
|
version "7.15.4"
|
||||||
|
@ -205,12 +219,12 @@
|
||||||
"@babel/traverse" "^7.15.4"
|
"@babel/traverse" "^7.15.4"
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.15.4"
|
||||||
|
|
||||||
"@babel/helper-simple-access@^7.14.8", "@babel/helper-simple-access@^7.15.4":
|
"@babel/helper-simple-access@^7.14.8", "@babel/helper-simple-access@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b"
|
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7"
|
||||||
integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==
|
integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-skip-transparent-expression-wrappers@^7.14.5":
|
"@babel/helper-skip-transparent-expression-wrappers@^7.14.5":
|
||||||
version "7.15.4"
|
version "7.15.4"
|
||||||
|
@ -219,22 +233,22 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.15.4"
|
||||||
|
|
||||||
"@babel/helper-split-export-declaration@^7.10.1", "@babel/helper-split-export-declaration@^7.15.4":
|
"@babel/helper-split-export-declaration@^7.10.1", "@babel/helper-split-export-declaration@^7.15.4", "@babel/helper-split-export-declaration@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257"
|
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
|
||||||
integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==
|
integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7":
|
"@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.16.7":
|
||||||
version "7.15.7"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
|
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
|
||||||
integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
|
integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
|
||||||
|
|
||||||
"@babel/helper-validator-option@^7.14.5":
|
"@babel/helper-validator-option@^7.16.7":
|
||||||
version "7.14.5"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
|
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
|
||||||
integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
|
integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
|
||||||
|
|
||||||
"@babel/helper-wrap-function@^7.10.1":
|
"@babel/helper-wrap-function@^7.10.1":
|
||||||
version "7.10.1"
|
version "7.10.1"
|
||||||
|
@ -246,29 +260,34 @@
|
||||||
"@babel/traverse" "^7.10.1"
|
"@babel/traverse" "^7.10.1"
|
||||||
"@babel/types" "^7.10.1"
|
"@babel/types" "^7.10.1"
|
||||||
|
|
||||||
"@babel/helpers@^7.14.8":
|
"@babel/helpers@^7.16.7":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43"
|
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc"
|
||||||
integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==
|
integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/template" "^7.15.4"
|
"@babel/template" "^7.16.7"
|
||||||
"@babel/traverse" "^7.15.4"
|
"@babel/traverse" "^7.16.7"
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0":
|
"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0", "@babel/highlight@^7.16.7":
|
||||||
version "7.16.0"
|
version "7.16.10"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a"
|
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
|
||||||
integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
|
integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-validator-identifier" "^7.15.7"
|
"@babel/helper-validator-identifier" "^7.16.7"
|
||||||
chalk "^2.0.0"
|
chalk "^2.0.0"
|
||||||
js-tokens "^4.0.0"
|
js-tokens "^4.0.0"
|
||||||
|
|
||||||
"@babel/parser@7.15.8", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.15.0", "@babel/parser@^7.15.4":
|
"@babel/parser@7.15.8":
|
||||||
version "7.15.8"
|
version "7.15.8"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016"
|
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016"
|
||||||
integrity sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==
|
integrity sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==
|
||||||
|
|
||||||
|
"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.15.4", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7":
|
||||||
|
version "7.16.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6"
|
||||||
|
integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==
|
||||||
|
|
||||||
"@babel/plugin-proposal-async-generator-functions@^7.10.1":
|
"@babel/plugin-proposal-async-generator-functions@^7.10.1":
|
||||||
version "7.10.1"
|
version "7.10.1"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz#6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55"
|
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz#6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55"
|
||||||
|
@ -803,16 +822,16 @@
|
||||||
resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.10.2.tgz#49dbbadcbc4b199df064d7d8b3e21c915b84abdb"
|
resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.10.2.tgz#49dbbadcbc4b199df064d7d8b3e21c915b84abdb"
|
||||||
integrity sha512-PNQuj9oQH6BL/3l9iiL8hJLQwX14woA2/FHcPtNIZAc7IgFZYJdtMBMXiy4xcefADHTSvoBnmc2AybrHRW1IKQ==
|
integrity sha512-PNQuj9oQH6BL/3l9iiL8hJLQwX14woA2/FHcPtNIZAc7IgFZYJdtMBMXiy4xcefADHTSvoBnmc2AybrHRW1IKQ==
|
||||||
|
|
||||||
"@babel/template@^7.10.1", "@babel/template@^7.14.5", "@babel/template@^7.15.4", "@babel/template@^7.3.3":
|
"@babel/template@^7.10.1", "@babel/template@^7.16.7", "@babel/template@^7.3.3":
|
||||||
version "7.15.4"
|
version "7.16.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194"
|
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
|
||||||
integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==
|
integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame" "^7.14.5"
|
"@babel/code-frame" "^7.16.7"
|
||||||
"@babel/parser" "^7.15.4"
|
"@babel/parser" "^7.16.7"
|
||||||
"@babel/types" "^7.15.4"
|
"@babel/types" "^7.16.7"
|
||||||
|
|
||||||
"@babel/traverse@7.15.4", "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1", "@babel/traverse@^7.15.0", "@babel/traverse@^7.15.4":
|
"@babel/traverse@7.15.4":
|
||||||
version "7.15.4"
|
version "7.15.4"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d"
|
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d"
|
||||||
integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==
|
integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==
|
||||||
|
@ -827,7 +846,23 @@
|
||||||
debug "^4.1.0"
|
debug "^4.1.0"
|
||||||
globals "^11.1.0"
|
globals "^11.1.0"
|
||||||
|
|
||||||
"@babel/types@7.15.6", "@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.1", "@babel/types@^7.10.2", "@babel/types@^7.15.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
|
"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7":
|
||||||
|
version "7.16.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f"
|
||||||
|
integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/code-frame" "^7.16.7"
|
||||||
|
"@babel/generator" "^7.16.8"
|
||||||
|
"@babel/helper-environment-visitor" "^7.16.7"
|
||||||
|
"@babel/helper-function-name" "^7.16.7"
|
||||||
|
"@babel/helper-hoist-variables" "^7.16.7"
|
||||||
|
"@babel/helper-split-export-declaration" "^7.16.7"
|
||||||
|
"@babel/parser" "^7.16.10"
|
||||||
|
"@babel/types" "^7.16.8"
|
||||||
|
debug "^4.1.0"
|
||||||
|
globals "^11.1.0"
|
||||||
|
|
||||||
|
"@babel/types@7.15.6":
|
||||||
version "7.15.6"
|
version "7.15.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f"
|
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f"
|
||||||
integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==
|
integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==
|
||||||
|
@ -835,6 +870,14 @@
|
||||||
"@babel/helper-validator-identifier" "^7.14.9"
|
"@babel/helper-validator-identifier" "^7.14.9"
|
||||||
to-fast-properties "^2.0.0"
|
to-fast-properties "^2.0.0"
|
||||||
|
|
||||||
|
"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.1", "@babel/types@^7.10.2", "@babel/types@^7.15.4", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
|
||||||
|
version "7.16.8"
|
||||||
|
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1"
|
||||||
|
integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==
|
||||||
|
dependencies:
|
||||||
|
"@babel/helper-validator-identifier" "^7.16.7"
|
||||||
|
to-fast-properties "^2.0.0"
|
||||||
|
|
||||||
"@bcoe/v8-coverage@^0.2.3":
|
"@bcoe/v8-coverage@^0.2.3":
|
||||||
version "0.2.3"
|
version "0.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||||
|
@ -905,12 +948,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@gitlab/favicon-overlay/-/favicon-overlay-2.0.0.tgz#2f32d0b6a4d5b8ac44e2927083d9ab478a78c984"
|
resolved "https://registry.yarnpkg.com/@gitlab/favicon-overlay/-/favicon-overlay-2.0.0.tgz#2f32d0b6a4d5b8ac44e2927083d9ab478a78c984"
|
||||||
integrity sha512-GNcORxXJ98LVGzOT9dDYKfbheqH6lNgPDD72lyXRnQIH7CjgGyos8i17aSBPq1f4s3zF3PyedFiAR4YEZbva2Q==
|
integrity sha512-GNcORxXJ98LVGzOT9dDYKfbheqH6lNgPDD72lyXRnQIH7CjgGyos8i17aSBPq1f4s3zF3PyedFiAR4YEZbva2Q==
|
||||||
|
|
||||||
"@gitlab/stylelint-config@2.6.0":
|
"@gitlab/stylelint-config@3.0.0":
|
||||||
version "2.6.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@gitlab/stylelint-config/-/stylelint-config-2.6.0.tgz#8c7d6c9d8e0a9a30eda98a2076dee222b88c840b"
|
resolved "https://registry.yarnpkg.com/@gitlab/stylelint-config/-/stylelint-config-3.0.0.tgz#8419c64da34e611fb00374829a2d576a03f4b84a"
|
||||||
integrity sha512-9rBMsvQg2IX7FRNtp+ajRk4Map2kBlkepvc/0CTfd84oLX8zadRqG+J62/Ox285vLnihsVM13SGOD7BWvrvQzw==
|
integrity sha512-tz5M9FlQlvWEs3rEPQB6mXcq4Ea3vTLa5PTYJoqzOQjSY59U2ZN/cc56C4W53VAHZKKBt3+Gm5MBX8hagQ+ZKg==
|
||||||
dependencies:
|
dependencies:
|
||||||
stylelint "13.9.0"
|
|
||||||
stylelint-declaration-strict-value "1.7.7"
|
stylelint-declaration-strict-value "1.7.7"
|
||||||
stylelint-scss "3.18.0"
|
stylelint-scss "3.18.0"
|
||||||
|
|
||||||
|
@ -1830,9 +1872,9 @@
|
||||||
integrity sha512-R83q/yPX2nIlo9D3WtSjyUDd57t8s+GVLaL8YIv3k7zMMWpYpOXqjJgrWp80qXUJB/a1t76nTyBpxrv0JNYaEg==
|
integrity sha512-R83q/yPX2nIlo9D3WtSjyUDd57t8s+GVLaL8YIv3k7zMMWpYpOXqjJgrWp80qXUJB/a1t76nTyBpxrv0JNYaEg==
|
||||||
|
|
||||||
"@types/mdast@^3.0.0":
|
"@types/mdast@^3.0.0":
|
||||||
version "3.0.3"
|
version "3.0.10"
|
||||||
resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb"
|
resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af"
|
||||||
integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==
|
integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/unist" "*"
|
"@types/unist" "*"
|
||||||
|
|
||||||
|
@ -1842,9 +1884,9 @@
|
||||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||||
|
|
||||||
"@types/minimist@^1.2.0":
|
"@types/minimist@^1.2.0":
|
||||||
version "1.2.1"
|
version "1.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256"
|
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
|
||||||
integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==
|
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
|
||||||
|
|
||||||
"@types/node@*", "@types/node@14.17.5", "@types/node@>=6":
|
"@types/node@*", "@types/node@14.17.5", "@types/node@>=6":
|
||||||
version "14.17.5"
|
version "14.17.5"
|
||||||
|
@ -1972,9 +2014,9 @@
|
||||||
"@types/estree" "*"
|
"@types/estree" "*"
|
||||||
|
|
||||||
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
|
"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
|
||||||
version "2.0.3"
|
version "2.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
|
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
|
||||||
integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
|
integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
|
||||||
|
|
||||||
"@types/websocket@1.0.4":
|
"@types/websocket@1.0.4":
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
|
@ -2692,15 +2734,15 @@ atob@^2.1.2:
|
||||||
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
||||||
|
|
||||||
autoprefixer@^9.8.6:
|
autoprefixer@^9.8.6:
|
||||||
version "9.8.6"
|
version "9.8.8"
|
||||||
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
|
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a"
|
||||||
integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
|
integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==
|
||||||
dependencies:
|
dependencies:
|
||||||
browserslist "^4.12.0"
|
browserslist "^4.12.0"
|
||||||
caniuse-lite "^1.0.30001109"
|
caniuse-lite "^1.0.30001109"
|
||||||
colorette "^1.2.1"
|
|
||||||
normalize-range "^0.1.2"
|
normalize-range "^0.1.2"
|
||||||
num2fraction "^1.2.2"
|
num2fraction "^1.2.2"
|
||||||
|
picocolors "^0.2.1"
|
||||||
postcss "^7.0.32"
|
postcss "^7.0.32"
|
||||||
postcss-value-parser "^4.1.0"
|
postcss-value-parser "^4.1.0"
|
||||||
|
|
||||||
|
@ -3085,16 +3127,16 @@ browserify-zlib@^0.2.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
pako "~1.0.5"
|
pako "~1.0.5"
|
||||||
|
|
||||||
browserslist@^4.12.0, browserslist@^4.16.6:
|
browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.17.5:
|
||||||
version "4.17.1"
|
version "4.19.1"
|
||||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9"
|
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
|
||||||
integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==
|
integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
|
||||||
dependencies:
|
dependencies:
|
||||||
caniuse-lite "^1.0.30001259"
|
caniuse-lite "^1.0.30001286"
|
||||||
electron-to-chromium "^1.3.846"
|
electron-to-chromium "^1.4.17"
|
||||||
escalade "^3.1.1"
|
escalade "^3.1.1"
|
||||||
nanocolors "^0.1.5"
|
node-releases "^2.0.1"
|
||||||
node-releases "^1.1.76"
|
picocolors "^1.0.0"
|
||||||
|
|
||||||
bser@2.1.1:
|
bser@2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
|
@ -3271,10 +3313,10 @@ camelcase@^6.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
|
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e"
|
||||||
integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
|
integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==
|
||||||
|
|
||||||
caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001259:
|
caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286:
|
||||||
version "1.0.30001261"
|
version "1.0.30001302"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz#96d89813c076ea061209a4e040d8dcf0c66a1d01"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001302.tgz#da57ce61c51177ef3661eeed7faef392d3790aaa"
|
||||||
integrity sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==
|
integrity sha512-YYTMO+tfwvgUN+1ZnRViE53Ma1S/oETg+J2lISsqi/ZTNThj3ZYBOKP2rHwJc37oCsPqAzJ3w2puZHn0xlLPPw==
|
||||||
|
|
||||||
canvas-confetti@^1.4.0:
|
canvas-confetti@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
|
@ -3551,7 +3593,7 @@ color-name@~1.1.4:
|
||||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||||
|
|
||||||
colorette@^1.2.1, colorette@^1.2.2:
|
colorette@^1.2.2:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
|
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
|
||||||
integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
|
integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
|
||||||
|
@ -4607,9 +4649,9 @@ debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
|
debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
|
||||||
version "4.3.2"
|
version "4.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
|
||||||
integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
|
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
ms "2.1.2"
|
ms "2.1.2"
|
||||||
|
|
||||||
|
@ -5017,10 +5059,10 @@ ee-first@1.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
|
||||||
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
|
||||||
|
|
||||||
electron-to-chromium@^1.3.846:
|
electron-to-chromium@^1.4.17:
|
||||||
version "1.3.853"
|
version "1.4.53"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.853.tgz#f3ed1d31f092cb3a17af188bca6c6a3ec91c3e82"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.53.tgz#5d80a91c399b44952ef485857fb5b9d4387d2e60"
|
||||||
integrity sha512-W4U8n+U8I5/SUaFcqZgbKRmYZwcyEIQVBDf+j5QQK6xChjXnQD+wj248eGR9X4u+dDmDR//8vIfbu4PrdBBIoQ==
|
integrity sha512-rFveSKQczlcav+H3zkKqykU6ANseFwXwkl855jOIap5/0gnEcuIhv2ecz6aoTrXavF6I/CEBeRnBnkB51k06ew==
|
||||||
|
|
||||||
elliptic@^6.0.0:
|
elliptic@^6.0.0:
|
||||||
version "6.5.4"
|
version "6.5.4"
|
||||||
|
@ -5699,10 +5741,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"
|
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
|
||||||
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
|
||||||
|
|
||||||
fast-glob@^3.1.1, fast-glob@^3.2.4, fast-glob@^3.2.5:
|
fast-glob@^3.2.4, fast-glob@^3.2.5, fast-glob@^3.2.9:
|
||||||
version "3.2.7"
|
version "3.2.11"
|
||||||
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
|
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
|
||||||
integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
|
integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@nodelib/fs.stat" "^2.0.2"
|
"@nodelib/fs.stat" "^2.0.2"
|
||||||
"@nodelib/fs.walk" "^1.2.3"
|
"@nodelib/fs.walk" "^1.2.3"
|
||||||
|
@ -6152,15 +6194,15 @@ globals@^13.6.0, globals@^13.9.0:
|
||||||
type-fest "^0.20.2"
|
type-fest "^0.20.2"
|
||||||
|
|
||||||
globby@^11.0.1, globby@^11.0.2, globby@^11.0.3:
|
globby@^11.0.1, globby@^11.0.2, globby@^11.0.3:
|
||||||
version "11.0.4"
|
version "11.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
|
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
|
||||||
integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
|
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
|
||||||
dependencies:
|
dependencies:
|
||||||
array-union "^2.1.0"
|
array-union "^2.1.0"
|
||||||
dir-glob "^3.0.1"
|
dir-glob "^3.0.1"
|
||||||
fast-glob "^3.1.1"
|
fast-glob "^3.2.9"
|
||||||
ignore "^5.1.4"
|
ignore "^5.2.0"
|
||||||
merge2 "^1.3.0"
|
merge2 "^1.4.1"
|
||||||
slash "^3.0.0"
|
slash "^3.0.0"
|
||||||
|
|
||||||
globby@^6.1.0:
|
globby@^6.1.0:
|
||||||
|
@ -6430,10 +6472,10 @@ hosted-git-info@^2.1.4:
|
||||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
|
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
|
||||||
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
|
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
|
||||||
|
|
||||||
hosted-git-info@^3.0.6:
|
hosted-git-info@^4.0.1:
|
||||||
version "3.0.8"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d"
|
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
|
||||||
integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==
|
integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
|
@ -6632,7 +6674,12 @@ ignore@^4.0.6:
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||||
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
||||||
|
|
||||||
ignore@^5.1.4, ignore@^5.1.8, ignore@~5.1.8:
|
ignore@^5.1.8, ignore@^5.2.0:
|
||||||
|
version "5.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
|
||||||
|
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
|
||||||
|
|
||||||
|
ignore@~5.1.8:
|
||||||
version "5.1.8"
|
version "5.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
|
||||||
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
|
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
|
||||||
|
@ -6691,11 +6738,6 @@ indent-string@^4.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
|
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
|
||||||
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
|
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
|
||||||
|
|
||||||
indexes-of@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
|
|
||||||
integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc=
|
|
||||||
|
|
||||||
infer-owner@^1.0.3, infer-owner@^1.0.4:
|
infer-owner@^1.0.3, infer-owner@^1.0.4:
|
||||||
version "1.0.4"
|
version "1.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
|
resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
|
||||||
|
@ -6845,10 +6887,10 @@ is-ci@^2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
ci-info "^2.0.0"
|
ci-info "^2.0.0"
|
||||||
|
|
||||||
is-core-module@^2.2.0, is-core-module@^2.7.0:
|
is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.7.0:
|
||||||
version "2.8.0"
|
version "2.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548"
|
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
|
||||||
integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
|
integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
|
||||||
dependencies:
|
dependencies:
|
||||||
has "^1.0.3"
|
has "^1.0.3"
|
||||||
|
|
||||||
|
@ -8268,9 +8310,9 @@ map-obj@^1.0.0:
|
||||||
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
|
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
|
||||||
|
|
||||||
map-obj@^4.0.0:
|
map-obj@^4.0.0:
|
||||||
version "4.1.0"
|
version "4.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.1.0.tgz#b91221b542734b9f14256c0132c897c5d7256fd5"
|
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
|
||||||
integrity sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==
|
integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
|
||||||
|
|
||||||
map-visit@^1.0.0:
|
map-visit@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
|
@ -8459,7 +8501,7 @@ merge-stream@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
|
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
|
||||||
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
|
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
|
||||||
|
|
||||||
merge2@^1.3.0:
|
merge2@^1.3.0, merge2@^1.4.1:
|
||||||
version "1.4.1"
|
version "1.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
||||||
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
|
||||||
|
@ -8785,11 +8827,6 @@ multicast-dns@^6.0.1:
|
||||||
dns-packet "^1.0.1"
|
dns-packet "^1.0.1"
|
||||||
thunky "^0.1.0"
|
thunky "^0.1.0"
|
||||||
|
|
||||||
nanocolors@^0.1.5:
|
|
||||||
version "0.1.12"
|
|
||||||
resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6"
|
|
||||||
integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==
|
|
||||||
|
|
||||||
nanoid@^3.1.23:
|
nanoid@^3.1.23:
|
||||||
version "3.1.23"
|
version "3.1.23"
|
||||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
|
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
|
||||||
|
@ -8900,10 +8937,10 @@ node-notifier@^8.0.0:
|
||||||
uuid "^8.3.0"
|
uuid "^8.3.0"
|
||||||
which "^2.0.2"
|
which "^2.0.2"
|
||||||
|
|
||||||
node-releases@^1.1.76:
|
node-releases@^2.0.1:
|
||||||
version "1.1.76"
|
version "2.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e"
|
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
|
||||||
integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==
|
integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
|
||||||
|
|
||||||
nodemon@^2.0.4:
|
nodemon@^2.0.4:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
|
@ -8947,13 +8984,13 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
|
||||||
validate-npm-package-license "^3.0.1"
|
validate-npm-package-license "^3.0.1"
|
||||||
|
|
||||||
normalize-package-data@^3.0.0:
|
normalize-package-data@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.0.tgz#1f8a7c423b3d2e85eb36985eaf81de381d01301a"
|
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
|
||||||
integrity sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==
|
integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
|
||||||
dependencies:
|
dependencies:
|
||||||
hosted-git-info "^3.0.6"
|
hosted-git-info "^4.0.1"
|
||||||
resolve "^1.17.0"
|
is-core-module "^2.5.0"
|
||||||
semver "^7.3.2"
|
semver "^7.3.4"
|
||||||
validate-npm-package-license "^3.0.1"
|
validate-npm-package-license "^3.0.1"
|
||||||
|
|
||||||
normalize-path@^2.1.1:
|
normalize-path@^2.1.1:
|
||||||
|
@ -9478,6 +9515,16 @@ performance-now@^2.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
|
||||||
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
|
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
|
||||||
|
|
||||||
|
picocolors@^0.2.1:
|
||||||
|
version "0.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f"
|
||||||
|
integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
|
||||||
|
|
||||||
|
picocolors@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
||||||
|
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
||||||
|
|
||||||
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
|
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
|
||||||
|
@ -9646,13 +9693,11 @@ postcss-scss@^2.1.1:
|
||||||
postcss "^7.0.6"
|
postcss "^7.0.6"
|
||||||
|
|
||||||
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
|
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
|
||||||
version "6.0.4"
|
version "6.0.9"
|
||||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
|
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f"
|
||||||
integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
|
integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
cssesc "^3.0.0"
|
cssesc "^3.0.0"
|
||||||
indexes-of "^1.0.1"
|
|
||||||
uniq "^1.0.1"
|
|
||||||
util-deprecate "^1.0.2"
|
util-deprecate "^1.0.2"
|
||||||
|
|
||||||
postcss-syntax@^0.36.2:
|
postcss-syntax@^0.36.2:
|
||||||
|
@ -9671,13 +9716,12 @@ postcss-value-parser@^4.1.0:
|
||||||
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
|
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
|
||||||
|
|
||||||
postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6:
|
postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6:
|
||||||
version "7.0.35"
|
version "7.0.39"
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
|
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
|
||||||
integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
|
integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
|
||||||
dependencies:
|
dependencies:
|
||||||
chalk "^2.4.2"
|
picocolors "^0.2.1"
|
||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
supports-color "^6.1.0"
|
|
||||||
|
|
||||||
postcss@^8.2.1:
|
postcss@^8.2.1:
|
||||||
version "8.2.15"
|
version "8.2.15"
|
||||||
|
@ -10687,7 +10731,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||||
|
|
||||||
semver@^7.2.1, semver@^7.3.2:
|
semver@^7.2.1, semver@^7.3.2, semver@^7.3.4:
|
||||||
version "7.3.5"
|
version "7.3.5"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
|
||||||
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
||||||
|
@ -11422,9 +11466,9 @@ sync-fetch@0.3.1:
|
||||||
node-fetch "^2.6.1"
|
node-fetch "^2.6.1"
|
||||||
|
|
||||||
table@^6.0.7, table@^6.0.9:
|
table@^6.0.7, table@^6.0.9:
|
||||||
version "6.7.3"
|
version "6.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/table/-/table-6.7.3.tgz#255388439715a738391bd2ee4cbca89a4d05a9b7"
|
resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
|
||||||
integrity sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==
|
integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv "^8.0.1"
|
ajv "^8.0.1"
|
||||||
lodash.truncate "^4.4.2"
|
lodash.truncate "^4.4.2"
|
||||||
|
@ -11741,9 +11785,9 @@ tr46@~0.0.3:
|
||||||
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
|
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
|
||||||
|
|
||||||
trim-newlines@^3.0.0:
|
trim-newlines@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30"
|
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
|
||||||
integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==
|
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
|
||||||
|
|
||||||
trough@^1.0.0:
|
trough@^1.0.0:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
|
@ -11940,9 +11984,9 @@ unicode-property-aliases-ecmascript@^1.0.4:
|
||||||
integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==
|
integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==
|
||||||
|
|
||||||
unified@^9.1.0:
|
unified@^9.1.0:
|
||||||
version "9.2.0"
|
version "9.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8"
|
resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975"
|
||||||
integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==
|
integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
bail "^1.0.0"
|
bail "^1.0.0"
|
||||||
extend "^3.0.0"
|
extend "^3.0.0"
|
||||||
|
@ -11961,11 +12005,6 @@ union-value@^1.0.0:
|
||||||
is-extendable "^0.1.1"
|
is-extendable "^0.1.1"
|
||||||
set-value "^2.0.1"
|
set-value "^2.0.1"
|
||||||
|
|
||||||
uniq@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
|
|
||||||
integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
|
|
||||||
|
|
||||||
unique-filename@^1.1.1:
|
unique-filename@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
|
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
|
||||||
|
@ -11995,9 +12034,9 @@ unist-util-find-all-after@^3.0.2:
|
||||||
unist-util-is "^4.0.0"
|
unist-util-is "^4.0.0"
|
||||||
|
|
||||||
unist-util-is@^4.0.0:
|
unist-util-is@^4.0.0:
|
||||||
version "4.0.4"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.4.tgz#3e9e8de6af2eb0039a59f50c9b3e99698a924f50"
|
resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797"
|
||||||
integrity sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==
|
integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==
|
||||||
|
|
||||||
unist-util-stringify-position@^2.0.0:
|
unist-util-stringify-position@^2.0.0:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
|
@ -12152,9 +12191,9 @@ uuid@^8.3.0:
|
||||||
integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==
|
integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==
|
||||||
|
|
||||||
v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1, v8-compile-cache@^2.2.0:
|
v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1, v8-compile-cache@^2.2.0:
|
||||||
version "2.2.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132"
|
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
|
||||||
integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==
|
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
|
||||||
|
|
||||||
v8-to-istanbul@^5.0.1:
|
v8-to-istanbul@^5.0.1:
|
||||||
version "5.0.1"
|
version "5.0.1"
|
||||||
|
@ -12882,9 +12921,9 @@ yargs-parser@^18.1.2:
|
||||||
decamelize "^1.2.0"
|
decamelize "^1.2.0"
|
||||||
|
|
||||||
yargs-parser@^20.2.3:
|
yargs-parser@^20.2.3:
|
||||||
version "20.2.4"
|
version "20.2.9"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
|
||||||
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
|
integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
|
||||||
|
|
||||||
yargs@^13.3.2:
|
yargs@^13.3.2:
|
||||||
version "13.3.2"
|
version "13.3.2"
|
||||||
|
|
Loading…
Reference in New Issue