Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
e878a8e80f
commit
ef59e05bd1
|
@ -11,6 +11,7 @@ import {
|
|||
GlModalDirective,
|
||||
} from '@gitlab/ui';
|
||||
import { s__, sprintf } from '~/locale';
|
||||
import getStatesQuery from '../graphql/queries/get_states.query.graphql';
|
||||
import addDataToState from '../graphql/mutations/add_data_to_state.mutation.graphql';
|
||||
import lockState from '../graphql/mutations/lock_state.mutation.graphql';
|
||||
import removeState from '../graphql/mutations/remove_state.mutation.graphql';
|
||||
|
@ -148,7 +149,7 @@ export default {
|
|||
variables: {
|
||||
stateID: this.state.id,
|
||||
},
|
||||
refetchQueries: () => ['getStates'],
|
||||
refetchQueries: () => [{ query: getStatesQuery }],
|
||||
awaitRefetchQueries: true,
|
||||
notifyOnNetworkStatusChange: true,
|
||||
})
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
.sub-section
|
||||
%h4= s_('GroupSettings|Export group')
|
||||
%p= _('Export this group with all related data.')
|
||||
.gl-alert.gl-alert-warning.gl-mb-4{ role: 'alert' }
|
||||
= sprite_icon('warning', css_class: 'gl-icon s16 gl-alert-icon gl-alert-icon-no-title')
|
||||
= render 'shared/global_alert', variant: :warning, dismissible: false, alert_class: 'gl-mb-4' do
|
||||
.gl-alert-body
|
||||
- docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/group/import/index.md') }
|
||||
- docs_link_end = '</a>'.html_safe
|
||||
|
@ -15,17 +14,18 @@
|
|||
- export_information = _('After the export is complete, download the data file from a notification email or from this page. You can then import the data file from the %{strong_text_start}Create new group%{strong_text_end} page of another GitLab instance.') % { strong_text_start: '<strong>'.html_safe, strong_text_end: '</strong>'.html_safe}
|
||||
= export_information.html_safe
|
||||
= link_to _('Learn more.'), help_page_path('user/group/settings/import_export.md'), target: '_blank', rel: 'noopener noreferrer'
|
||||
.bs-callout.bs-callout-info
|
||||
%p.gl-mb-0
|
||||
%p= _('The following items will be exported:')
|
||||
%ul
|
||||
- group_export_descriptions.each do |description|
|
||||
%li= description
|
||||
%p= _('The following items will NOT be exported:')
|
||||
%ul
|
||||
%li= _('Projects')
|
||||
%li= _('Runner tokens')
|
||||
%li= _('SAML discovery tokens')
|
||||
= render 'shared/global_alert', dismissible: false, alert_class: 'gl-mb-5' do
|
||||
.gl-alert-body
|
||||
%p.gl-mb-0
|
||||
%p= _('The following items will be exported:')
|
||||
%ul
|
||||
- group_export_descriptions.each do |description|
|
||||
%li= description
|
||||
%p= _('The following items will NOT be exported:')
|
||||
%ul
|
||||
%li= _('Projects')
|
||||
%li= _('Runner tokens')
|
||||
%li= _('SAML discovery tokens')
|
||||
- if group.export_file_exists?
|
||||
= link_to _('Download export'), download_export_group_path(group),
|
||||
rel: 'nofollow', method: :get, class: 'btn gl-button btn-default', data: { qa_selector: 'download_export_link' }
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: spread_parallel_import
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81026
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/353217
|
||||
milestone: '14.9'
|
||||
type: development
|
||||
group: group::source code
|
||||
default_enabled: true
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: verify_protected_tags_for_pull_mirror
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80388
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/352494
|
||||
milestone: '14.9'
|
||||
type: development
|
||||
group: group::source code
|
||||
default_enabled: true
|
|
@ -300,7 +300,7 @@ disable enforcement. For more information, see the documentation on configuring
|
|||
```toml
|
||||
listen_addr = '0.0.0.0:8075'
|
||||
|
||||
internal_socket_dir = '/var/opt/gitlab/gitaly'
|
||||
runtime_dir = '/var/opt/gitlab/gitaly'
|
||||
|
||||
[logging]
|
||||
format = 'json'
|
||||
|
@ -308,6 +308,9 @@ disable enforcement. For more information, see the documentation on configuring
|
|||
dir = '/var/log/gitaly'
|
||||
```
|
||||
|
||||
For GitLab 14.9 and earlier, set `internal_socket_dir = '/var/opt/gitlab/gitaly'` instead
|
||||
of `runtime_dir`.
|
||||
|
||||
1. Append the following to `/home/git/gitaly/config.toml` for each respective Gitaly server:
|
||||
|
||||
On `gitaly1.internal`:
|
||||
|
|
|
@ -403,7 +403,7 @@ Parameters:
|
|||
| `merge_request_iid` | integer | yes | The IID of a project merge request |
|
||||
| `body` | string | yes | The content of a note. Limited to 1,000,000 characters. |
|
||||
| `created_at` | string | no | Date time string, ISO 8601 formatted. Example: `2016-03-11T03:45:40Z` (requires administrator or project/group owner rights) |
|
||||
| `merge_request_diff_sha`| string | no | The SHA of the head commit which is used to ensure that the merge request hasn't been updated since the API request was sent. This is required for the /merge quick action |
|
||||
| `merge_request_diff_sha`| string | no | Required for the `/merge` [quick action](../user/project/quick_actions.md). The SHA of the head commit, which ensures the merge request wasn't updated after the API request was sent. |
|
||||
|
||||
### Modify existing merge request note
|
||||
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
---
|
||||
stage: Release
|
||||
group: Incubation
|
||||
info: Cloud Seed (formerly 5mp) is a GitLab Incubation Engineering program. No technical writer assigned to this group.
|
||||
---
|
||||
|
||||
# Cloud Seed
|
||||
|
||||
Cloud Seed is an open-source program led
|
||||
by [GitLab Incubation Engineering](https://about.gitlab.com/handbook/engineering/incubation/) in collaboration with
|
||||
[Google Cloud](https://cloud.google.com/).
|
||||
|
||||
Cloud Seed is in `private-testing` mode and is available to a select group of users. If you are interested in joining
|
||||
this group, please fill in
|
||||
the [Cloud Seed Trusted Testers invitation form](https://docs.google.com/forms/d/e/1FAIpQLSeJPtFE8Vpqs_YTAKkFK42p5mO9zIYA2jr_PiP2h32cs8R39Q/viewform)
|
||||
and we will reach out to you.
|
||||
|
||||
## Purpose
|
||||
|
||||
We believe that it should be **trivial** to deploy web applications (and other workloads) from GitLab to major cloud
|
||||
providers.
|
||||
|
||||
To support this effort, Cloud Seed makes it simple and intuitive to consume appropriate Google Cloud services
|
||||
within GitLab.
|
||||
|
||||
## Why Google Cloud
|
||||
|
||||
*or Why not AWS or Azure?*
|
||||
|
||||
Cloud Seed is an open-source program that can be extended by anyone, and we'd love to work with every major cloud
|
||||
provider. We chose to work with Google Cloud because their team is accessible, supportive, and collaborative in
|
||||
this effort.
|
||||
|
||||
As an open-source project, [everyone can contribute](#contribute-to-cloud-seed) and shape our direction.
|
||||
|
||||
## Deploy to Google Cloud Run
|
||||
|
||||
After you have your web application in a GitLab project, follow these steps
|
||||
to deploy your application from GitLab to Google Cloud with Cloud Seed:
|
||||
|
||||
1. [Set up deployment credentials](#set-up-deployment-credentials)
|
||||
1. (Optional) [Configure your preferred GCP region](#configure-your-preferred-gcp-region)
|
||||
1. [Configure the Cloud Run deployment pipeline](#configure-the-cloud-run-deployment-pipeline)
|
||||
|
||||
### Set up deployment credentials
|
||||
|
||||
Cloud Seed provides an interface to create Google Cloud Platform (GCP) service accounts from your GitLab project. The associated GCP project
|
||||
must be selected during the service account creation workflow. This process generates a service account, keys, and deployment permissions.
|
||||
|
||||
To create a service account:
|
||||
|
||||
1. Go to the `Project :: Infrastructure :: Google Cloud` page.
|
||||
1. Select **Create Service Account**.
|
||||
1. Follow the Google OAuth 2 workflow and authorize GitLab.
|
||||
1. Select your GCP project.
|
||||
1. Associate a Git reference (such as a branch or tag) for the selected GCP project.
|
||||
1. Submit the form to create the service account.
|
||||
|
||||
The generated service account, service account key, and associated GCP project ID are stored in GitLab as project CI
|
||||
variables. You can review and manage these in the `Project :: Settings :: CI` page.
|
||||
|
||||
The generated service account has the following roles:
|
||||
|
||||
- `roles/iam.serviceAccountUser`
|
||||
- `roles/artifactregistry.admin`
|
||||
- `roles/cloudbuild.builds.builder`
|
||||
- `roles/run.admin`
|
||||
- `roles/storage.admin`
|
||||
- `roles/cloudsql.admin`
|
||||
- `roles/browser`
|
||||
|
||||
You can enhance security by storing CI variables in secret managers. Learn more about [secret management with GitLab](../ci/secrets/index.md).
|
||||
|
||||
### Configure your preferred GCP region
|
||||
|
||||
When you configure GCP regions for your deployments, the list of regions offered is a subset of
|
||||
all GCP regions available.
|
||||
|
||||
To configure a region:
|
||||
|
||||
1. Go to the `Project :: Infrastructure :: Google Cloud` page.
|
||||
1. Select **Configure GCP Region**.
|
||||
1. Select your preferred GCP region.
|
||||
1. Associate a Git reference (such as a branch or tag) for the selected GCP region.
|
||||
1. Submit the form to configure the GCP region.
|
||||
|
||||
The configured GCP region is stored in GitLab as a project CI variable. You can review and manage these in
|
||||
the `Project :: Settings :: CI` page.
|
||||
|
||||
### Configure the Cloud Run deployment pipeline
|
||||
|
||||
You can configure the Google Cloud Run deployment job in your pipeline. A typical use case for such
|
||||
a pipeline is continuous deployment of your web application.
|
||||
|
||||
The project pipeline itself could have a broader purpose spanning across several stages, such as build, test, and secure.
|
||||
Therefore, the Cloud Run deployment offering comes packaged as one job that fits into a much larger pipeline.
|
||||
|
||||
To configure the Cloud Run deployment pipeline:
|
||||
|
||||
1. Go to the `Project :: Infrastructure :: Google Cloud` page.
|
||||
1. Go to the `Deployments` tab.
|
||||
1. For `Cloud Run`, select **Configure via Merge Request**.
|
||||
1. Review the changes and submit to create a merge request.
|
||||
|
||||
This creates a new branch with the Cloud Run deployment pipeline (or injected into an existing pipeline)
|
||||
and creates an associated merge request where the changes and deployment pipeline execution can be reviewed and merged
|
||||
into the main branch.
|
||||
|
||||
## Contribute to Cloud Seed
|
||||
|
||||
There are several ways you can contribute to Cloud Seed:
|
||||
|
||||
- [Become a Cloud Seed user](https://docs.google.com/forms/d/e/1FAIpQLSeJPtFE8Vpqs_YTAKkFK42p5mO9zIYA2jr_PiP2h32cs8R39Q/viewform)
|
||||
in GitLab
|
||||
and [share feedback](https://gitlab.com/gitlab-org/incubation-engineering/five-minute-production/feedback/-/issues/new?template=general_feedback).
|
||||
- If you are familiar with Ruby on Rails or Vue.js,
|
||||
consider [contributing to GitLab](../development/contributing/index.md) as a developer.
|
||||
- Much of Cloud Seed is an internal module within the GitLab code base.
|
||||
- If you are familiar with GitLab pipelines, consider contributing to
|
||||
the [Cloud Seed Library](https://gitlab.com/gitlab-org/incubation-engineering/five-minute-production/library) project.
|
|
@ -64,3 +64,8 @@ Use GitLab [Releases](../user/project/releases/index.md) to plan, build, and del
|
|||
### Feature flags
|
||||
|
||||
Use [feature flags](../operations/feature_flags.md) to control and strategically rollout application deployments.
|
||||
|
||||
## Deploy to Google Cloud
|
||||
|
||||
GitLab [Cloud Seed](../cloud_seed/index.md) is an open-source Incubation Engineering program that
|
||||
enables you to set up deployment credentials and deploy your application to Google Cloud Run with minimal friction.
|
||||
|
|
|
@ -41,9 +41,10 @@ GitLab IaC scanning supports a variety of IaC configuration files. Our IaC secur
|
|||
| Google Deployment Manager | [KICS](https://kics.io/) | 14.5 |
|
||||
| Kubernetes | [KICS](https://kics.io/) | 14.5 |
|
||||
| OpenAPI | [KICS](https://kics.io/) | 14.5 |
|
||||
| Terraform | [KICS](https://kics.io/) | 14.5 |
|
||||
| Terraform <sup>2</sup> | [KICS](https://kics.io/) | 14.5 |
|
||||
|
||||
1. IaC scanning can analyze Azure Resource Manager templates in JSON format. If you write templates in the [Bicep](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview) language, you must use [the bicep CLI](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/bicep-cli) to convert your Bicep files into JSON before GitLab IaC scanning can analyze them.
|
||||
1. Terraform modules in a custom registry are not scanned for vulnerabilities. You can follow [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/357004) for the proposed feature.
|
||||
|
||||
### Making IaC analyzers available to all GitLab tiers
|
||||
|
||||
|
|
|
@ -5,17 +5,24 @@ module Gitlab
|
|||
module BackgroundMigration
|
||||
class BatchMetrics
|
||||
attr_reader :timings
|
||||
attr_reader :affected_rows
|
||||
|
||||
def initialize
|
||||
@timings = {}
|
||||
@affected_rows = {}
|
||||
end
|
||||
|
||||
def time_operation(label)
|
||||
def time_operation(label, &blk)
|
||||
instrument_operation(label, instrument_affected_rows: false, &blk)
|
||||
end
|
||||
|
||||
def instrument_operation(label, instrument_affected_rows: true)
|
||||
start_time = monotonic_time
|
||||
|
||||
yield
|
||||
count = yield
|
||||
|
||||
timings_for_label(label) << monotonic_time - start_time
|
||||
affected_rows_for_label(label) << count if instrument_affected_rows && count.is_a?(Integer)
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -24,6 +31,10 @@ module Gitlab
|
|||
timings[label] ||= []
|
||||
end
|
||||
|
||||
def affected_rows_for_label(label)
|
||||
affected_rows[label] ||= []
|
||||
end
|
||||
|
||||
def monotonic_time
|
||||
Gitlab::Metrics::System.monotonic_time
|
||||
end
|
||||
|
|
|
@ -72,7 +72,7 @@ module Gitlab
|
|||
# Imports all objects in parallel by scheduling a Sidekiq job for every
|
||||
# individual object.
|
||||
def parallel_import
|
||||
if Feature.enabled?(:spread_parallel_import, default_enabled: :yaml) && parallel_import_batch.present?
|
||||
if parallel_import_batch.present?
|
||||
spread_parallel_import
|
||||
else
|
||||
parallel_import_deprecated
|
||||
|
|
|
@ -24,7 +24,7 @@ module Gitlab
|
|||
end
|
||||
execution_message do
|
||||
if params[:merge_request_diff_head_sha].blank?
|
||||
_("Merge request diff sha parameter is required for the merge quick action.")
|
||||
_("The `/merge` quick action requires the SHA of the head of the branch.")
|
||||
elsif params[:merge_request_diff_head_sha] != quick_action_target.diff_head_sha
|
||||
_("Branch has been updated since the merge was requested.")
|
||||
elsif preferred_strategy = preferred_auto_merge_strategy(quick_action_target)
|
||||
|
|
|
@ -124,9 +124,9 @@ module Gitlab
|
|||
|
||||
config[:storage] = storages
|
||||
|
||||
internal_socket_dir = options[:internal_socket_dir] || File.join(gitaly_dir, 'internal_sockets')
|
||||
FileUtils.mkdir(internal_socket_dir) unless File.exist?(internal_socket_dir)
|
||||
config[:internal_socket_dir] = internal_socket_dir
|
||||
runtime_dir = options[:runtime_dir] || File.join(gitaly_dir, 'run')
|
||||
FileUtils.mkdir(runtime_dir) unless File.exist?(runtime_dir)
|
||||
config[:runtime_dir] = runtime_dir
|
||||
|
||||
config[:'gitaly-ruby'] = { dir: File.join(gitaly_dir, 'ruby') } if gitaly_ruby
|
||||
config[:'gitlab-shell'] = { dir: Gitlab.config.gitlab_shell.path }
|
||||
|
|
|
@ -23451,9 +23451,6 @@ msgstr ""
|
|||
msgid "Merge request dependencies"
|
||||
msgstr ""
|
||||
|
||||
msgid "Merge request diff sha parameter is required for the merge quick action."
|
||||
msgstr ""
|
||||
|
||||
msgid "Merge request events"
|
||||
msgstr ""
|
||||
|
||||
|
@ -37142,6 +37139,9 @@ msgstr ""
|
|||
msgid "The URLs for connecting to Elasticsearch. For clustering, add the URLs separated by commas."
|
||||
msgstr ""
|
||||
|
||||
msgid "The `/merge` quick action requires the SHA of the head of the branch."
|
||||
msgstr ""
|
||||
|
||||
msgid "The application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
"webpack-prod": "NODE_OPTIONS=\"--max-old-space-size=3584\" NODE_ENV=production webpack --config config/webpack.config.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/client": "^3.3.11",
|
||||
"@apollo/client": "^3.5.10",
|
||||
"@babel/core": "^7.10.1",
|
||||
"@babel/plugin-proposal-class-properties": "^7.10.1",
|
||||
"@babel/plugin-proposal-json-strings": "^7.10.1",
|
||||
|
@ -95,7 +95,7 @@
|
|||
"@tiptap/vue-2": "^2.0.0-beta.77",
|
||||
"@toast-ui/editor": "^2.5.2",
|
||||
"@toast-ui/vue-editor": "^2.5.2",
|
||||
"apollo-upload-client": "^14.1.3",
|
||||
"apollo-upload-client": "15.0.0",
|
||||
"autosize": "^5.0.1",
|
||||
"aws-sdk": "^2.637.0",
|
||||
"axios": "^0.24.0",
|
||||
|
@ -259,7 +259,6 @@
|
|||
"bootstrap-vue": "https://docs.gitlab.com/ee/development/fe_guide/dependencies.html#bootstrapvue"
|
||||
},
|
||||
"resolutions": {
|
||||
"@apollo/client/subscriptions-transport-ws": "0.11.0",
|
||||
"chokidar": "^3.5.3",
|
||||
"@types/node": "14.17.5"
|
||||
},
|
||||
|
|
|
@ -476,9 +476,6 @@ describe('AlertsSettingsWrapper', () => {
|
|||
destroyHttpIntegration(wrapper);
|
||||
|
||||
expect(destroyIntegrationHandler).toHaveBeenCalled();
|
||||
await waitForPromises();
|
||||
|
||||
expect(findIntegrations()).toHaveLength(3);
|
||||
});
|
||||
|
||||
it('displays flash if mutation had a recoverable error', async () => {
|
||||
|
|
|
@ -102,7 +102,7 @@ export const destroyIntegrationResponse = {
|
|||
httpIntegrationDestroy: {
|
||||
errors: [],
|
||||
integration: {
|
||||
__typename: 'AlertManagementIntegration',
|
||||
__typename: 'AlertManagementHttpIntegration',
|
||||
id: '37',
|
||||
type: 'HTTP',
|
||||
active: true,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const agent = {
|
||||
__typename: 'ClusterAgent',
|
||||
id: 'agent-id',
|
||||
name: 'agent-name',
|
||||
webPath: 'agent-webPath',
|
||||
|
|
|
@ -183,7 +183,7 @@ describe('Design management index page', () => {
|
|||
[moveDesignMutation, moveDesignHandler],
|
||||
];
|
||||
|
||||
fakeApollo = createMockApollo(requestHandlers);
|
||||
fakeApollo = createMockApollo(requestHandlers, {}, { addTypename: true });
|
||||
wrapper = shallowMount(Index, {
|
||||
apolloProvider: fakeApollo,
|
||||
router,
|
||||
|
|
|
@ -150,7 +150,8 @@ describe('app_index.vue', () => {
|
|||
expect(findEmptyState().exists()).toBe(emptyState);
|
||||
});
|
||||
|
||||
it(`${toDescription(flashMessage)} show a flash message`, () => {
|
||||
it(`${toDescription(flashMessage)} show a flash message`, async () => {
|
||||
await waitForPromises();
|
||||
if (flashMessage) {
|
||||
expect(createFlash).toHaveBeenCalledWith({
|
||||
message: ReleasesIndexApp.i18n.errorMessage,
|
||||
|
|
|
@ -143,6 +143,12 @@ describe('Release show component', () => {
|
|||
|
||||
describe('when the request succeeded, but the returned "project.release" key was null', () => {
|
||||
beforeEach(async () => {
|
||||
// As we return a release as `null`, Apollo also throws an error to the console
|
||||
// about the missing field. We need to suppress console.error in order to check
|
||||
// that flash message was called
|
||||
|
||||
// eslint-disable-next-line no-console
|
||||
console.error = jest.fn();
|
||||
const apolloProvider = createMockApollo([
|
||||
[
|
||||
oneReleaseQuery,
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
export const getStatesResponse = {
|
||||
data: {
|
||||
project: {
|
||||
id: 'project-1',
|
||||
terraformStates: {
|
||||
count: 1,
|
||||
nodes: {
|
||||
_showDetails: true,
|
||||
errorMessages: [],
|
||||
loadingLock: false,
|
||||
loadingRemove: false,
|
||||
id: 'state-1',
|
||||
name: 'state',
|
||||
lockedAt: '01-01-2022',
|
||||
updatedAt: '01-01-2022',
|
||||
lockedByUser: {
|
||||
id: 'user-1',
|
||||
avatarUrl: 'avatar',
|
||||
name: 'User 1',
|
||||
username: 'user-1',
|
||||
webUrl: 'web',
|
||||
},
|
||||
latestVersion: null,
|
||||
},
|
||||
pageInfo: {
|
||||
__typename: 'PageInfo',
|
||||
hasNextPage: true,
|
||||
hasPreviousPage: false,
|
||||
startCursor: 'prev',
|
||||
endCursor: 'next',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
|
@ -9,6 +9,8 @@ import StateActions from '~/terraform/components/states_table_actions.vue';
|
|||
import lockStateMutation from '~/terraform/graphql/mutations/lock_state.mutation.graphql';
|
||||
import removeStateMutation from '~/terraform/graphql/mutations/remove_state.mutation.graphql';
|
||||
import unlockStateMutation from '~/terraform/graphql/mutations/unlock_state.mutation.graphql';
|
||||
import getStatesQuery from '~/terraform/graphql/queries/get_states.query.graphql';
|
||||
import { getStatesResponse } from './mock_data';
|
||||
|
||||
Vue.use(VueApollo);
|
||||
|
||||
|
@ -49,6 +51,7 @@ describe('StatesTableActions', () => {
|
|||
[lockStateMutation, lockResponse],
|
||||
[removeStateMutation, removeResponse],
|
||||
[unlockStateMutation, unlockResponse],
|
||||
[getStatesQuery, jest.fn().mockResolvedValue(getStatesResponse)],
|
||||
],
|
||||
{
|
||||
Mutation: {
|
||||
|
|
|
@ -10,7 +10,6 @@ RSpec.describe Gitlab::Database::BackgroundMigration::BatchMetrics do
|
|||
expect(batch_metrics.timings).to be_empty
|
||||
|
||||
expect(Gitlab::Metrics::System).to receive(:monotonic_time)
|
||||
.exactly(6).times
|
||||
.and_return(0.0, 111.0, 200.0, 290.0, 300.0, 410.0)
|
||||
|
||||
batch_metrics.time_operation(:my_label) do
|
||||
|
@ -28,4 +27,33 @@ RSpec.describe Gitlab::Database::BackgroundMigration::BatchMetrics do
|
|||
expect(batch_metrics.timings).to eq(my_label: [111.0, 110.0], my_other_label: [90.0])
|
||||
end
|
||||
end
|
||||
|
||||
describe '#instrument_operation' do
|
||||
it 'tracks duration and affected rows' do
|
||||
expect(batch_metrics.timings).to be_empty
|
||||
expect(batch_metrics.affected_rows).to be_empty
|
||||
|
||||
expect(Gitlab::Metrics::System).to receive(:monotonic_time)
|
||||
.and_return(0.0, 111.0, 200.0, 290.0, 300.0, 410.0, 420.0, 450.0)
|
||||
|
||||
batch_metrics.instrument_operation(:my_label) do
|
||||
3
|
||||
end
|
||||
|
||||
batch_metrics.instrument_operation(:my_other_label) do
|
||||
42
|
||||
end
|
||||
|
||||
batch_metrics.instrument_operation(:my_label) do
|
||||
2
|
||||
end
|
||||
|
||||
batch_metrics.instrument_operation(:my_other_label) do
|
||||
:not_an_integer
|
||||
end
|
||||
|
||||
expect(batch_metrics.timings).to eq(my_label: [111.0, 110.0], my_other_label: [90.0, 30.0])
|
||||
expect(batch_metrics.affected_rows).to eq(my_label: [3, 2], my_other_label: [42])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -295,25 +295,6 @@ RSpec.describe Gitlab::GithubImport::ParallelScheduling do
|
|||
importer.parallel_import
|
||||
end
|
||||
end
|
||||
|
||||
context 'when FF is disabled' do
|
||||
before do
|
||||
stub_feature_flags(spread_parallel_import: false)
|
||||
end
|
||||
|
||||
it 'imports data in parallel' do
|
||||
expect(importer)
|
||||
.to receive(:each_object_to_import)
|
||||
.and_yield(object)
|
||||
|
||||
expect(worker_class)
|
||||
.to receive(:perform_async)
|
||||
.with(project.id, { title: 'Foo' }, an_instance_of(String))
|
||||
|
||||
expect(importer.parallel_import)
|
||||
.to be_an_instance_of(Gitlab::JobWaiter)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#each_object_to_import' do
|
||||
|
|
|
@ -800,7 +800,7 @@ RSpec.describe QuickActions::InterpretService do
|
|||
let(:project) { repository_project }
|
||||
let(:service) { described_class.new(project, developer, {}) }
|
||||
|
||||
it_behaves_like 'failed command', 'Merge request diff sha parameter is required for the merge quick action.' do
|
||||
it_behaves_like 'failed command', 'The `/merge` quick action requires the SHA of the head of the branch.' do
|
||||
let(:content) { "/merge" }
|
||||
let(:issuable) { merge_request }
|
||||
end
|
||||
|
|
|
@ -267,7 +267,7 @@ module GitalySetup
|
|||
{ 'default' => repos_path },
|
||||
force: true,
|
||||
options: {
|
||||
internal_socket_dir: File.join(gitaly_dir, "internal_gitaly2"),
|
||||
runtime_dir: File.join(gitaly_dir, "run2"),
|
||||
gitaly_socket: "gitaly2.socket",
|
||||
config_filename: "gitaly2.config.toml"
|
||||
}
|
||||
|
|
157
yarn.lock
157
yarn.lock
|
@ -2,24 +2,23 @@
|
|||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@apollo/client@^3.2.5", "@apollo/client@^3.3.11":
|
||||
version "3.3.11"
|
||||
resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.3.11.tgz#125051405e83dc899d471d43b79fd6045d92a802"
|
||||
integrity sha512-54+D5FB6RJlQ+g37f432gaexnyvDsG5X6L9VO5kqN54HJlbF8hCf/8CXtAQEHCWodAwZhy6kOLp2RM96829q3A==
|
||||
"@apollo/client@^3.5.10":
|
||||
version "3.5.10"
|
||||
resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.5.10.tgz#43463108a6e07ae602cca0afc420805a19339a71"
|
||||
integrity sha512-tL3iSpFe9Oldq7gYikZK1dcYxp1c01nlSwtsMz75382HcI6fvQXyFXUCJTTK3wgO2/ckaBvRGw7VqjFREdVoRw==
|
||||
dependencies:
|
||||
"@graphql-typed-document-node/core" "^3.0.0"
|
||||
"@types/zen-observable" "^0.8.0"
|
||||
"@wry/context" "^0.5.2"
|
||||
"@wry/equality" "^0.3.0"
|
||||
fast-json-stable-stringify "^2.0.0"
|
||||
graphql-tag "^2.12.0"
|
||||
"@wry/context" "^0.6.0"
|
||||
"@wry/equality" "^0.5.0"
|
||||
"@wry/trie" "^0.3.0"
|
||||
graphql-tag "^2.12.3"
|
||||
hoist-non-react-statics "^3.3.2"
|
||||
optimism "^0.14.0"
|
||||
optimism "^0.16.1"
|
||||
prop-types "^15.7.2"
|
||||
symbol-observable "^2.0.0"
|
||||
ts-invariant "^0.6.0"
|
||||
tslib "^1.10.0"
|
||||
zen-observable "^0.8.14"
|
||||
symbol-observable "^4.0.0"
|
||||
ts-invariant "^0.9.4"
|
||||
tslib "^2.3.0"
|
||||
zen-observable-ts "^1.2.0"
|
||||
|
||||
"@babel/code-frame@7.12.11":
|
||||
version "7.12.11"
|
||||
|
@ -829,7 +828,7 @@
|
|||
core-js-pure "^3.0.0"
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.8.4":
|
||||
"@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.13.10", "@babel/runtime@^7.8.4":
|
||||
version "7.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
|
||||
integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
|
||||
|
@ -2129,11 +2128,6 @@
|
|||
dependencies:
|
||||
"@types/estree" "*"
|
||||
|
||||
"@types/ungap__global-this@^0.3.1":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/ungap__global-this/-/ungap__global-this-0.3.1.tgz#18ce9f657da556037a29d50604335614ce703f4c"
|
||||
integrity sha512-+/DsiV4CxXl6ZWefwHZDXSe1Slitz21tom38qPCaG0DYCS1NnDPIQDTKcmQ/tvK/edJUKkmuIDBJbmKDiB0r/g==
|
||||
|
||||
"@types/unist@*":
|
||||
version "2.0.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
|
||||
|
@ -2165,11 +2159,6 @@
|
|||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
"@types/zen-observable@^0.8.0":
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d"
|
||||
integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==
|
||||
|
||||
"@typescript-eslint/experimental-utils@^2.5.0":
|
||||
version "2.30.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.30.0.tgz#9845e868c01f3aed66472c561d4b6bac44809dd0"
|
||||
|
@ -2193,11 +2182,6 @@
|
|||
semver "^6.3.0"
|
||||
tsutils "^3.17.1"
|
||||
|
||||
"@ungap/global-this@^0.4.2":
|
||||
version "0.4.4"
|
||||
resolved "https://registry.yarnpkg.com/@ungap/global-this/-/global-this-0.4.4.tgz#8a1b2cfcd3e26e079a847daba879308c924dd695"
|
||||
integrity sha512-mHkm6FvepJECMNthFuIgpAEFmPOk71UyXuIxYfjytvFTnSDBIz7jmViO+LfHI/AjrazWije0PnSP3+/NlwzqtA==
|
||||
|
||||
"@vue/component-compiler-utils@^3.1.0":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz#d4ef8f80292674044ad6211e336a302e4d2a6575"
|
||||
|
@ -2384,26 +2368,26 @@
|
|||
resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.1.tgz#0de2875ac31b46b6c5bb1ae0a7d7f0ba5678dffe"
|
||||
integrity sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==
|
||||
|
||||
"@wry/context@^0.5.2":
|
||||
version "0.5.4"
|
||||
resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.5.4.tgz#b6c28038872e0a0e1ff14eb40b5bf4cab2ab4e06"
|
||||
integrity sha512-/pktJKHUXDr4D6TJqWgudOPJW2Z+Nb+bqk40jufA3uTkLbnCRKdJPiYDIa/c7mfcPH8Hr6O8zjCERpg5Sq04Zg==
|
||||
"@wry/context@^0.6.0":
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2"
|
||||
integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==
|
||||
dependencies:
|
||||
tslib "^1.14.1"
|
||||
tslib "^2.3.0"
|
||||
|
||||
"@wry/equality@^0.3.0":
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.3.3.tgz#1ec8f9af01d40a2eb00d055d9a3173315126c648"
|
||||
integrity sha512-pMrKHIgDAWxLDTGsbaVag+USmwZ2+gGrSBrtyGUxp2pxRg1Cad70lI/hd0NTPtJ4zJxN16EQ679U1Rts83AF5g==
|
||||
"@wry/equality@^0.5.0":
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73"
|
||||
integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==
|
||||
dependencies:
|
||||
tslib "^1.14.1"
|
||||
tslib "^2.3.0"
|
||||
|
||||
"@wry/trie@^0.2.1":
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.2.2.tgz#99f20f0fcbbcda17006069b155c826cbabfc402f"
|
||||
integrity sha512-OxqBB39x6MfHaa2HpMiRMfhuUnQTddD32Ko020eBeJXq87ivX6xnSSnzKHVbA21p7iqBASz8n/07b6W5wW1BVQ==
|
||||
"@wry/trie@^0.3.0":
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.1.tgz#2279b790f15032f8bcea7fc944d27988e5b3b139"
|
||||
integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw==
|
||||
dependencies:
|
||||
tslib "^1.14.1"
|
||||
tslib "^2.3.0"
|
||||
|
||||
"@xtuc/ieee754@^1.2.0":
|
||||
version "1.2.0"
|
||||
|
@ -2616,14 +2600,12 @@ anymatch@^3.0.3, anymatch@~3.1.2:
|
|||
normalize-path "^3.0.0"
|
||||
picomatch "^2.0.4"
|
||||
|
||||
apollo-upload-client@^14.1.3:
|
||||
version "14.1.3"
|
||||
resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-14.1.3.tgz#91f39011897bd08e99c0de0164e77ad2f3402247"
|
||||
integrity sha512-X2T+7pHk5lcaaWnvP9h2tuAAMCzOW6/9juedQ0ZuGp3Ufl81BpDISlCs0o6u29wBV0RRT/QpMU2gbP+3FCfVpQ==
|
||||
apollo-upload-client@15.0.0:
|
||||
version "15.0.0"
|
||||
resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-15.0.0.tgz#02ad5a156c146c13f3a93b9658196e5d73a73fca"
|
||||
integrity sha512-7kyBwflLTqRhfsNIIBc94z1Row3WVWOgLm77izAuG3YJEzUbpy8k4775G40j3xlToSey5c7CR/9NOdoDcQw/xg==
|
||||
dependencies:
|
||||
"@apollo/client" "^3.2.5"
|
||||
"@babel/runtime" "^7.12.5"
|
||||
extract-files "^9.0.0"
|
||||
extract-files "^10.0.0"
|
||||
|
||||
aproba@^1.1.1:
|
||||
version "1.2.0"
|
||||
|
@ -5716,10 +5698,10 @@ extract-files@11.0.0:
|
|||
resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-11.0.0.tgz#b72d428712f787eef1f5193aff8ab5351ca8469a"
|
||||
integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==
|
||||
|
||||
extract-files@^9.0.0:
|
||||
version "9.0.0"
|
||||
resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a"
|
||||
integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==
|
||||
extract-files@^10.0.0:
|
||||
version "10.0.0"
|
||||
resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-10.0.0.tgz#228b1da1d910971cf8d7f1ed259653c6001ba5ad"
|
||||
integrity sha512-4KXYOSf8SlMlQCj94Ygy89xIZU2GTs0HU2Nz9mG2/F5TKsHyq/3sDWGjHgHmfw9RhXF3hO+pBKyC6JfIHD52bw==
|
||||
|
||||
extract-from-css@^0.4.4:
|
||||
version "0.4.4"
|
||||
|
@ -6269,17 +6251,17 @@ graphql-sse@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/graphql-sse/-/graphql-sse-1.0.4.tgz#051598b0e06c225327aac659f19fcc18bcaa0191"
|
||||
integrity sha512-oB43ifRcEdElgep9jTP9qsj5cJ7Ny/1tAFyIl1W3A0hXRRg/P71tUHzMFBrRkEsJ9IA7MTp+RKSJfh52QR6PBQ==
|
||||
|
||||
graphql-tag@^2.11.0, graphql-tag@^2.12.0:
|
||||
version "2.12.1"
|
||||
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.1.tgz#b065ef885e4800e4afd0842811b718a205f4aa58"
|
||||
integrity sha512-LPewEE1vzGkHnCO8zdOGogKsHHBdtpGyihow1UuMwp6RnZa0lAS7NcbvltLOuo4pi5diQCPASAXZkQq44ffixA==
|
||||
graphql-tag@^2.11.0, graphql-tag@^2.12.3:
|
||||
version "2.12.6"
|
||||
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1"
|
||||
integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==
|
||||
dependencies:
|
||||
tslib "^1.14.1"
|
||||
tslib "^2.1.0"
|
||||
|
||||
graphql-ws@^5.4.1:
|
||||
version "5.5.3"
|
||||
resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.5.3.tgz#1495c1c1ad7dcd3cf76a46db629810a55d3b2d18"
|
||||
integrity sha512-Okp3gE3vq9OoeqsYVbmzKvPcvlinKNXrfVajH7D3ul1UdCg2+K2zVYbWKmqxehkAZ+GKVfngK5fzyXSsfpe+pA==
|
||||
version "5.6.3"
|
||||
resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.6.3.tgz#32321594a7b744755df992f24afccc84143b4b7d"
|
||||
integrity sha512-ZolWOi6bzI35ovGROCZROB9nDbwZiJdIsaPdzW/jkICCGNb3qL/33IONY/yQiBa+Je2uA11HfY4Uxse4+/ePYA==
|
||||
|
||||
graphql@^15.7.2:
|
||||
version "15.7.2"
|
||||
|
@ -9010,13 +8992,13 @@ opener@^1.5.2:
|
|||
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
|
||||
integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
|
||||
|
||||
optimism@^0.14.0:
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.14.0.tgz#256fb079a3428585b40a3a8462f907e0abd2fc49"
|
||||
integrity sha512-ygbNt8n4DOCVpkwiLF+IrKKeNHOjtr9aXLWGP9HNJGoblSGsnVbJLstcH6/nE9Xy5ZQtlkSioFQNnthmENW6FQ==
|
||||
optimism@^0.16.1:
|
||||
version "0.16.1"
|
||||
resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d"
|
||||
integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==
|
||||
dependencies:
|
||||
"@wry/context" "^0.5.2"
|
||||
"@wry/trie" "^0.2.1"
|
||||
"@wry/context" "^0.6.0"
|
||||
"@wry/trie" "^0.3.0"
|
||||
|
||||
optionator@^0.8.1:
|
||||
version "0.8.3"
|
||||
|
@ -11119,7 +11101,7 @@ stylis@^4.0.10:
|
|||
resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240"
|
||||
integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==
|
||||
|
||||
subscriptions-transport-ws@0.11.0, subscriptions-transport-ws@^0.11.0:
|
||||
subscriptions-transport-ws@^0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz#baf88f050cba51d52afe781de5e81b3c31f89883"
|
||||
integrity sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==
|
||||
|
@ -11172,10 +11154,10 @@ symbol-observable@^1.0.4:
|
|||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
||||
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
||||
|
||||
symbol-observable@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a"
|
||||
integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==
|
||||
symbol-observable@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205"
|
||||
integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==
|
||||
|
||||
symbol-tree@^3.2.4:
|
||||
version "3.2.4"
|
||||
|
@ -11459,14 +11441,12 @@ trim-newlines@^3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
|
||||
integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
|
||||
|
||||
ts-invariant@^0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.6.1.tgz#eb4c52b45daaca8367abbfd6cff998ea871d592d"
|
||||
integrity sha512-QQgN33g8E8yrdDuH29HASveLtbzMnRRgWh0i/JNTW4+zcLsdIOnfsgEDi/NKx4UckQyuMFt9Ujm6TWLWQ58Kvg==
|
||||
ts-invariant@^0.9.4:
|
||||
version "0.9.4"
|
||||
resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.4.tgz#42ac6c791aade267dd9dc65276549df5c5d71cac"
|
||||
integrity sha512-63jtX/ZSwnUNi/WhXjnK8kz4cHHpYS60AnmA6ixz17l7E12a5puCWFlNpkne5Rl0J8TBPVHpGjsj4fxs8ObVLQ==
|
||||
dependencies:
|
||||
"@types/ungap__global-this" "^0.3.1"
|
||||
"@ungap/global-this" "^0.4.2"
|
||||
tslib "^1.9.3"
|
||||
tslib "^2.1.0"
|
||||
|
||||
ts-node@^9:
|
||||
version "9.1.1"
|
||||
|
@ -11490,12 +11470,12 @@ tsconfig-paths@^3.9.0:
|
|||
minimist "^1.2.0"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@2.3.0, tslib@^2, tslib@^2.2.0, tslib@~2.3.0:
|
||||
tslib@2.3.0, tslib@^2, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0, tslib@~2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
|
||||
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
|
||||
|
||||
tslib@^1.10.0, tslib@^1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
|
||||
tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
@ -12577,7 +12557,14 @@ yocto-queue@^0.1.0:
|
|||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
||||
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|
||||
|
||||
zen-observable@^0.8.14:
|
||||
zen-observable-ts@^1.2.0:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz#c2f5ccebe812faf0cfcde547e6004f65b1a6d769"
|
||||
integrity sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==
|
||||
dependencies:
|
||||
zen-observable "0.8.15"
|
||||
|
||||
zen-observable@0.8.15:
|
||||
version "0.8.15"
|
||||
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
|
||||
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
|
||||
|
|
Loading…
Reference in New Issue