diff options
22 files changed, 233 insertions, 117 deletions
diff --git a/app/assets/javascripts/boards/components/board_list.vue b/app/assets/javascripts/boards/components/board_list.vue index ee889e0f7e0..4a64d9e04f2 100644 --- a/app/assets/javascripts/boards/components/board_list.vue +++ b/app/assets/javascripts/boards/components/board_list.vue @@ -181,6 +181,8 @@ export default { boardsStore.startMoving(list, issue); + this.$root.$emit('bv::hide::tooltip'); + sortableStart(); }, onAdd: e => { diff --git a/app/assets/javascripts/vue_shared/components/date_time_picker/date_time_picker.vue b/app/assets/javascripts/vue_shared/components/date_time_picker/date_time_picker.vue index eedcafe2b42..932ca8e002e 100644 --- a/app/assets/javascripts/vue_shared/components/date_time_picker/date_time_picker.vue +++ b/app/assets/javascripts/vue_shared/components/date_time_picker/date_time_picker.vue @@ -149,7 +149,13 @@ export default { }; </script> <template> - <gl-dropdown :text="timeWindowText" class="date-time-picker" menu-class="date-time-picker-menu"> + <gl-dropdown + :text="timeWindowText" + class="date-time-picker" + menu-class="date-time-picker-menu" + v-bind="$attrs" + toggle-class="w-100 text-truncate" + > <div class="d-flex justify-content-between gl-p-2"> <gl-form-group :label="__('Custom range')" diff --git a/changelogs/unreleased/14806-tooltips-on-issue-boards-remain-on-screen-even-after-you-move-your-.yml b/changelogs/unreleased/14806-tooltips-on-issue-boards-remain-on-screen-even-after-you-move-your-.yml new file mode 100644 index 00000000000..df1cfdc4a4a --- /dev/null +++ b/changelogs/unreleased/14806-tooltips-on-issue-boards-remain-on-screen-even-after-you-move-your-.yml @@ -0,0 +1,5 @@ +--- +title: Hide label tooltips when dragging board cards +merge_request: 24239 +author: +type: fixed diff --git a/changelogs/unreleased/195137-update-compression-webpack-plugin-and-copy-webpack-plugin.yml b/changelogs/unreleased/195137-update-compression-webpack-plugin-and-copy-webpack-plugin.yml new file mode 100644 index 00000000000..2e0c8cd0dc5 --- /dev/null +++ b/changelogs/unreleased/195137-update-compression-webpack-plugin-and-copy-webpack-plugin.yml @@ -0,0 +1,5 @@ +--- +title: Update webpack related packages +merge_request: 22456 +author: Takuya Noguchi +type: security diff --git a/changelogs/unreleased/bump-deploy-0-9-1.yml b/changelogs/unreleased/bump-deploy-0-9-1.yml new file mode 100644 index 00000000000..5fccfdd34ac --- /dev/null +++ b/changelogs/unreleased/bump-deploy-0-9-1.yml @@ -0,0 +1,5 @@ +--- +title: Bump auto-deploy-image for Auto DevOps deploy to 0.9.1 +merge_request: 24231 +author: +type: other diff --git a/doc/development/dangerbot.md b/doc/development/dangerbot.md index b30ac0f0748..cd884a023ca 100644 --- a/doc/development/dangerbot.md +++ b/doc/development/dangerbot.md @@ -18,7 +18,7 @@ to the existing rules, then this is the document for you. A subset of the current checks can be run locally with the following rake task: ```shell -bundle exec danger_local +bin/rake danger_local ``` ## Operation diff --git a/doc/development/fe_guide/graphql.md b/doc/development/fe_guide/graphql.md index 336a808b793..68c0c1e3370 100644 --- a/doc/development/fe_guide/graphql.md +++ b/doc/development/fe_guide/graphql.md @@ -371,6 +371,54 @@ it('calls mutation on submitting form ', () => { }); ``` +## Handling errors + +GitLab's GraphQL mutations currently have two distinct error modes: [Top-level](#top-level-errors) and [errors-as-data](#errors-as-data). + +When utilising a GraphQL mutation, we must consider handling **both of these error modes** to ensure that the user receives the appropriate feedback when an error occurs. + +### Top-level errors + +These errors are located at the "top level" of a GraphQL response. These are non-recoverable errors including argument errors and syntax errors, and should not be presented directly to the user. + +#### Handling top-level errors + +Apollo is aware of top-level errors, so we are able to leverage Apollo's various error-handling mechanisms to handle these errors (e.g. handling Promise rejections after invoking the [`mutate`](https://www.apollographql.com/docs/react/api/apollo-client/#ApolloClient.mutate) method, or handling the `error` event emitted from the [`ApolloMutation`](https://apollo.vuejs.org/api/apollo-mutation.html#events) component). + +Because these errors are not intended for users, error messages for top-level errors should be defined client-side. + +### Errors-as-data + +These errors are nested within the `data` object of a GraphQL response. These are recoverable errors that, ideally, can be presented directly to the user. + +#### Handling errors-as-data + +First, we must add `errors` to our mutation object: + +```diff +mutation createNoteMutation($input: String!) { + createNoteMutation(input: $input) { + note { + id ++ errors + } + } +``` + +Now, when we commit this mutation and errors occur, the response will include `errors` for us to handle: + +```javascript +{ + data: { + mutationName: { + errors: ["Sorry, we were not able to update the note."] + } + } +} +``` + +When handling errors-as-data, use your best judgement to determine whether to present the error message in the response, or another message defined client-side, to the user. + ## Usage outside of Vue It is also possible to use GraphQL outside of Vue by directly importing diff --git a/doc/development/go_guide/index.md b/doc/development/go_guide/index.md index f6aae945f62..59efc7be2f4 100644 --- a/doc/development/go_guide/index.md +++ b/doc/development/go_guide/index.md @@ -302,7 +302,7 @@ There are a few guidelines one should follow when using the fields in the context of that code path, such as the URI of the request using [`WithField`](https://godoc.org/github.com/sirupsen/logrus#WithField) or [`WithFields`](https://godoc.org/github.com/sirupsen/logrus#WithFields). For - example, `logrus.WithField("file", "/app/go).Info("Opening dir")`. If you + example, `logrus.WithField("file", "/app/go").Info("Opening dir")`. If you have to log multiple keys, always use `WithFields` instead of calling `WithField` more than once. diff --git a/doc/development/testing_guide/best_practices.md b/doc/development/testing_guide/best_practices.md index f4844cb14d1..58e802a9d27 100644 --- a/doc/development/testing_guide/best_practices.md +++ b/doc/development/testing_guide/best_practices.md @@ -545,6 +545,15 @@ why without editing the source and rerun the tests. This is especially useful whenever it's showing 500 internal server error. +Prefer named HTTP status like `:no_content` over its numeric representation +`206`. See a list of [supported status codes](https://github.com/rack/rack/blob/f2d2df4016a906beec755b63b4edfcc07b58ee05/lib/rack/utils.rb#L490). + +Example: + +```ruby +expect(response).to have_gitlab_http_status(:ok) +``` + ### Shared contexts Shared contexts only used in one spec file can be declared inline. diff --git a/lib/gitlab/ci/pipeline/chain/config/content/auto_devops.rb b/lib/gitlab/ci/pipeline/chain/config/content/auto_devops.rb index 54be789988c..8d19a73dfc3 100644 --- a/lib/gitlab/ci/pipeline/chain/config/content/auto_devops.rb +++ b/lib/gitlab/ci/pipeline/chain/config/content/auto_devops.rb @@ -31,9 +31,7 @@ module Gitlab end def beta_enabled? - Feature.enabled?(:auto_devops_beta, project, default_enabled: true) && - # workflow:rules are required by `Beta/Auto-DevOps.gitlab-ci.yml` - Feature.enabled?(:workflow_rules, project, default_enabled: true) + Feature.enabled?(:auto_devops_beta, project, default_enabled: true) end end end diff --git a/lib/gitlab/ci/pipeline/chain/config/content/legacy_auto_devops.rb b/lib/gitlab/ci/pipeline/chain/config/content/legacy_auto_devops.rb index b282886a56f..c72b5f18424 100644 --- a/lib/gitlab/ci/pipeline/chain/config/content/legacy_auto_devops.rb +++ b/lib/gitlab/ci/pipeline/chain/config/content/legacy_auto_devops.rb @@ -31,9 +31,7 @@ module Gitlab end def beta_enabled? - Feature.enabled?(:auto_devops_beta, project, default_enabled: true) && - # workflow:rules are required by `Beta/Auto-DevOps.gitlab-ci.yml` - Feature.enabled?(:workflow_rules, project, default_enabled: true) + Feature.enabled?(:auto_devops_beta, project, default_enabled: true) end end end diff --git a/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules.rb b/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules.rb index 81f5733b279..a793ae9cc24 100644 --- a/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules.rb +++ b/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules.rb @@ -9,17 +9,7 @@ module Gitlab include Chain::Helpers def perform! - unless feature_enabled? - if has_workflow_rules? - error("Workflow rules are disabled", config_error: true) - end - - return - end - - unless workflow_passed? - error('Pipeline filtered out by workflow rules.') - end + error('Pipeline filtered out by workflow rules.') unless workflow_passed? end def break? @@ -28,10 +18,6 @@ module Gitlab private - def feature_enabled? - Feature.enabled?(:workflow_rules, @pipeline.project, default_enabled: true) - end - def workflow_passed? strong_memoize(:workflow_passed) do workflow_rules.evaluate(@pipeline, global_context).pass? diff --git a/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml b/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml index d20d04425f6..f5dc83ef472 100644 --- a/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml +++ b/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml @@ -1,5 +1,5 @@ .auto-deploy: - image: "registry.gitlab.com/gitlab-org/cluster-integration/auto-deploy-image:v0.8.3" + image: "registry.gitlab.com/gitlab-org/cluster-integration/auto-deploy-image:v0.9.1" review: extends: .auto-deploy diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 473490ba7bb..260c3d2625b 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -649,9 +649,6 @@ msgstr "" msgid "1st contribution!" msgstr "" -msgid "2 days" -msgstr "" - msgid "2 weeks" msgstr "" @@ -682,9 +679,6 @@ msgstr "" msgid "30+ contributions" msgstr "" -msgid "4 hours" -msgstr "" - msgid "403|Please contact your GitLab administrator to get permission." msgstr "" @@ -11991,6 +11985,9 @@ msgstr "" msgid "Metrics|For grouping similar metrics" msgstr "" +msgid "Metrics|Invalid time range, please verify." +msgstr "" + msgid "Metrics|Label of the y-axis (usually the unit). The x-axis always represents time." msgstr "" @@ -13362,9 +13359,6 @@ msgstr "" msgid "Past due" msgstr "" -msgid "Past week" -msgstr "" - msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}" msgstr "" diff --git a/package.json b/package.json index 3bb3a21a245..2f91aa1e605 100644 --- a/package.json +++ b/package.json @@ -63,8 +63,8 @@ "classlist-polyfill": "^1.2.0", "clipboard": "^1.7.1", "codesandbox-api": "^0.0.20", - "compression-webpack-plugin": "^3.0.0", - "copy-webpack-plugin": "^5.0.4", + "compression-webpack-plugin": "^3.0.1", + "copy-webpack-plugin": "^5.0.5", "core-js": "^3.2.1", "cropper": "^2.3.0", "css-loader": "^1.0.0", diff --git a/qa/qa/resource/events/base.rb b/qa/qa/resource/events/base.rb index f98a54a6f57..91ec0e59e37 100644 --- a/qa/qa/resource/events/base.rb +++ b/qa/qa/resource/events/base.rb @@ -3,7 +3,7 @@ module QA module Resource module Events - MAX_WAIT = 10 + MAX_WAIT = 60 RAISE_ON_FAILURE = true EventNotFoundError = Class.new(RuntimeError) diff --git a/spec/frontend/projects/pipelines/charts/components/app_spec.js b/spec/frontend/projects/pipelines/charts/components/app_spec.js index 48ea333e2c3..8aeeb4d5d7d 100644 --- a/spec/frontend/projects/pipelines/charts/components/app_spec.js +++ b/spec/frontend/projects/pipelines/charts/components/app_spec.js @@ -1,7 +1,7 @@ import { shallowMount } from '@vue/test-utils'; import { GlColumnChart } from '@gitlab/ui/dist/charts'; -import Component from '~/projects/pipelines/charts/components/app'; -import StatisticsList from '~/projects/pipelines/charts/components/statistics_list'; +import Component from '~/projects/pipelines/charts/components/app.vue'; +import StatisticsList from '~/projects/pipelines/charts/components/statistics_list.vue'; import { counts, timesChartData } from '../mock_data'; describe('ProjectsPipelinesChartsApp', () => { diff --git a/spec/frontend/projects/pipelines/charts/components/statistics_list_spec.js b/spec/frontend/projects/pipelines/charts/components/statistics_list_spec.js index 93130f22407..f78608e9cb2 100644 --- a/spec/frontend/projects/pipelines/charts/components/statistics_list_spec.js +++ b/spec/frontend/projects/pipelines/charts/components/statistics_list_spec.js @@ -1,5 +1,5 @@ import { shallowMount } from '@vue/test-utils'; -import Component from '~/projects/pipelines/charts/components/statistics_list'; +import Component from '~/projects/pipelines/charts/components/statistics_list.vue'; import { counts } from '../mock_data'; describe('StatisticsList', () => { diff --git a/spec/lib/gitlab/safe_request_store_spec.rb b/spec/lib/gitlab/safe_request_store_spec.rb index bae87e43615..def05a3f285 100644 --- a/spec/lib/gitlab/safe_request_store_spec.rb +++ b/spec/lib/gitlab/safe_request_store_spec.rb @@ -38,7 +38,7 @@ describe Gitlab::SafeRequestStore do describe '.clear!' do context 'when RequestStore is active', :request_store do it 'uses RequestStore' do - expect(RequestStore).to receive(:clear!).twice.and_call_original + expect(RequestStore).to receive(:clear!).once.and_call_original described_class.clear! end @@ -56,7 +56,7 @@ describe Gitlab::SafeRequestStore do describe '.end!' do context 'when RequestStore is active', :request_store do it 'uses RequestStore' do - expect(RequestStore).to receive(:end!).twice.and_call_original + expect(RequestStore).to receive(:end!).once.and_call_original described_class.end! end diff --git a/spec/services/ci/create_pipeline_service/rules_spec.rb b/spec/services/ci/create_pipeline_service/rules_spec.rb index 0a2c5724ce4..713d230731b 100644 --- a/spec/services/ci/create_pipeline_service/rules_spec.rb +++ b/spec/services/ci/create_pipeline_service/rules_spec.rb @@ -100,17 +100,6 @@ describe Ci::CreatePipelineService do stub_ci_pipeline_yaml_file(config) end - shared_examples 'workflow:rules feature disabled' do - before do - stub_feature_flags(workflow_rules: false) - end - - it 'presents a message that rules are disabled' do - expect(pipeline.errors[:base]).to include('Workflow rules are disabled') - expect(pipeline).to be_persisted - end - end - context 'with a single regex-matching if: clause' do let(:config) do <<-EOY @@ -241,8 +230,6 @@ describe Ci::CreatePipelineService do expect(pipeline.errors[:base]).to include('No stages / jobs for this pipeline.') expect(pipeline).not_to be_persisted end - - it_behaves_like 'workflow:rules feature disabled' end context 'where workflow passes and the job passes' do @@ -252,8 +239,6 @@ describe Ci::CreatePipelineService do expect(pipeline).to be_pending expect(pipeline).to be_persisted end - - it_behaves_like 'workflow:rules feature disabled' end context 'where workflow fails and the job fails' do @@ -263,8 +248,6 @@ describe Ci::CreatePipelineService do expect(pipeline.errors[:base]).to include('Pipeline filtered out by workflow rules.') expect(pipeline).not_to be_persisted end - - it_behaves_like 'workflow:rules feature disabled' end context 'where workflow fails and the job passes' do @@ -274,8 +257,6 @@ describe Ci::CreatePipelineService do expect(pipeline.errors[:base]).to include('Pipeline filtered out by workflow rules.') expect(pipeline).not_to be_persisted end - - it_behaves_like 'workflow:rules feature disabled' end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6393e482904..32eeeb5dfb4 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -208,11 +208,11 @@ RSpec.configure do |config| example.run if config.inclusion_filter[:quarantine] end - config.before(:example, :request_store) do + config.around(:example, :request_store) do |example| RequestStore.begin! - end - config.after(:example, :request_store) do + example.run + RequestStore.end! RequestStore.clear! end diff --git a/yarn.lock b/yarn.lock index 58ab2e590f4..a3d9f9970e0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1408,6 +1408,14 @@ after@0.8.2: resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv-errors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.0.tgz#ecf021fa108fd17dfb5e6b383f2dd233e31ffc59" @@ -2275,16 +2283,17 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.2.0, cacache@^11.3.3: - version "11.3.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" - integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== dependencies: bluebird "^3.5.5" chownr "^1.1.1" figgy-pudding "^3.5.1" glob "^7.1.4" graceful-fs "^4.1.15" + infer-owner "^1.0.3" lru-cache "^5.1.1" mississippi "^3.0.0" mkdirp "^0.5.1" @@ -2295,26 +2304,29 @@ cacache@^11.2.0, cacache@^11.3.3: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" + chownr "^1.1.2" figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" lru-cache "^5.1.1" - mississippi "^3.0.0" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" mkdirp "^0.5.1" move-concurrently "^1.0.1" + p-map "^3.0.0" promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" unique-filename "^1.1.1" - y18n "^4.0.0" cache-base@^1.0.1: version "1.0.1" @@ -2580,10 +2592,10 @@ chokidar@^3.0.0: optionalDependencies: fsevents "^2.0.6" -chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== chrome-trace-event@^1.0.2: version "1.0.2" @@ -2637,6 +2649,11 @@ clean-css@^4.1.6, clean-css@^4.2.1: dependencies: source-map "~0.6.0" +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" @@ -2821,16 +2838,16 @@ compressible@~2.0.16: dependencies: mime-db ">= 1.40.0 < 2" -compression-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-3.0.0.tgz#097d2e4d95c3a14cb5c8ed20899009ab5b9bbca0" - integrity sha512-ls+oKw4eRbvaSv/hj9NmctihhBcR26j76JxV0bLRLcWhrUBdQFgd06z/Kgg7exyQvtWWP484wZxs0gIUX3NO0Q== +compression-webpack-plugin@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-3.0.1.tgz#be7a343e6dfbccbd64a77c5fbe29627d140fc321" + integrity sha512-FOwoBVzDiwSdJDnZTKXDpAjJU90k8SbChgxnoiYwTo15xjIDJkSC8wFKuc13DymXjgasPEqzS5+2RUgSKXdKKA== dependencies: - cacache "^11.2.0" + cacache "^13.0.1" find-cache-dir "^3.0.0" neo-async "^2.5.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" + schema-utils "^2.6.1" + serialize-javascript "^2.1.2" webpack-sources "^1.0.1" compression@^1.7.4: @@ -3002,12 +3019,12 @@ copy-to-clipboard@^3.0.8: dependencies: toggle-selection "^1.0.6" -copy-webpack-plugin@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655" - integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg== +copy-webpack-plugin@^5.0.5: + version "5.1.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz#5481a03dea1123d88a988c6ff8b78247214f0b88" + integrity sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg== dependencies: - cacache "^11.3.3" + cacache "^12.0.3" find-cache-dir "^2.1.0" glob-parent "^3.1.0" globby "^7.1.1" @@ -3015,9 +3032,9 @@ copy-webpack-plugin@^5.0.4: loader-utils "^1.2.3" minimatch "^3.0.4" normalize-path "^3.0.0" - p-limit "^2.2.0" + p-limit "^2.2.1" schema-utils "^1.0.0" - serialize-javascript "^1.7.0" + serialize-javascript "^2.1.2" webpack-log "^2.0.0" core-js-compat@^3.1.1: @@ -5013,6 +5030,13 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.2.1" +fs-minipass@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz#a6415edab02fae4b9e9230bc87ee2e4472003cd1" + integrity sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A== + dependencies: + minipass "^3.0.0" + fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -5342,10 +5366,10 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" - integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -5782,6 +5806,11 @@ indent-string@^3.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + 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" @@ -5792,7 +5821,7 @@ indexof@0.0.1: resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= -infer-owner@^1.0.3: +infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -7806,6 +7835,27 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" + integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== + dependencies: + minipass "^3.0.0" + minipass@^2.2.1, minipass@^2.3.4: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" @@ -7814,6 +7864,13 @@ minipass@^2.2.1, minipass@^2.3.4: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" + integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== + dependencies: + yallist "^4.0.0" + minizlib@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" @@ -8457,10 +8514,10 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== dependencies: p-try "^2.0.0" @@ -8490,6 +8547,13 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-reduce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" @@ -9859,7 +9923,14 @@ rfdc@^1.1.4: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== -rimraf@2, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -9995,10 +10066,10 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz#48a065ce219e0cacf4631473159037b2c1ae82da" - integrity sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA== +schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f" + integrity sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg== dependencies: ajv "^6.10.2" ajv-keywords "^3.4.1" @@ -10083,11 +10154,6 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^1.4.0, serialize-javascript@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" - integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== - serialize-javascript@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" @@ -10480,6 +10546,14 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +ssri@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" @@ -12207,6 +12281,11 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yargs-parser@10.x, yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" |