From bba9fa5e0eaa3339dd70011ad1a80397f47f4c85 Mon Sep 17 00:00:00 2001 From: Naveen <172697+naveensrinivasan@users.noreply.github.com> Date: Wed, 23 Mar 2022 21:20:05 -0500 Subject: [PATCH 01/31] Pin actions to a full length commit SHA (#24647) * build: Pin actions to a full length commit SHA - Pinned actions by SHA https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions * build: Fixed the incorrect SHA's Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com> (cherry picked from commit 8ae8216a37ebec9813c071682a912558f36320a8) --- .github/workflows/build-dev-app.yml | 4 ++-- .github/workflows/deploy-dev-app.yml | 6 +++--- .github/workflows/dev-infra.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-dev-app.yml b/.github/workflows/build-dev-app.yml index 66e2763686a1..670973d1d2a4 100644 --- a/.github/workflows/build-dev-app.yml +++ b/.github/workflows/build-dev-app.yml @@ -20,7 +20,7 @@ jobs: (github.event.action == 'labeled' && github.event.label.name == 'dev-app preview') || (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'dev-app preview')) steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.0.0 - uses: ./.github/actions/yarn-install - run: ./scripts/bazel/setup-remote-execution.sh @@ -42,7 +42,7 @@ jobs: echo ${{github.event.pull_request.head.sha}} > dist/devapp/pr_sha # Upload the generated dev-app archive. - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 # renovate: tag=v2.0.0 with: name: devapp path: dist/devapp diff --git a/.github/workflows/deploy-dev-app.yml b/.github/workflows/deploy-dev-app.yml index 01669e07e7c6..1c0c1a29fad2 100644 --- a/.github/workflows/deploy-dev-app.yml +++ b/.github/workflows/deploy-dev-app.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.0.0 - uses: ./.github/actions/yarn-install - name: 'Download artifact from build job' @@ -36,7 +36,7 @@ jobs: echo "::set-output name=number::$(cat ./dist/dev-app-web-pkg/pr_number)" echo "::set-output name=sha::$(cat ./dist/dev-app-web-pkg/pr_sha)" - - uses: FirebaseExtended/action-hosting-deploy@v0 + - uses: FirebaseExtended/action-hosting-deploy@276388dd6c2cde23455b30293105cc866c22282d # renovate: tag=v0.0.0 id: deploy with: repoToken: '${{secrets.GITHUB_TOKEN}}' @@ -45,7 +45,7 @@ jobs: projectId: ng-comp-dev channelId: pr-${{steps.pr_info.outputs.number}}-${{steps.pr_info.outputs.sha}} - - uses: marocchino/sticky-pull-request-comment@v2 + - uses: marocchino/sticky-pull-request-comment@39c5b5dc7717447d0cba270cd115037d32d28443 # renovate: tag=v2.0.0 with: message: | Deployed dev-app to: ${{ steps.deploy.outputs.details_url }} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 6837b8e162f6..fa5e180b2698 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -8,7 +8,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.0.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@138ec743c342cd2a4a75443d19e0ccd47244ee07 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} From d04e7c9b69233dbff7891381c66226ba4ac3a9bd Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Thu, 24 Mar 2022 14:29:52 +0100 Subject: [PATCH 02/31] fix(material/core): unable to override tag selectors inside .mat-typography (#14617) Currently we've got two sets of typography selectors: some that target tags under `.mat-typography` (e.g. `.mat-typography h1`) and others that target a specific class (e.g. `.mat-title`). The intention with the class selectors was also to allow for the styles of a tag to be replaced (e.g. having an `h3` look like an `h2` if necessary), however that wasn't possible while inside `.mat-typography`, because the tag selectors were more specific. These changes update the class selectors to make it possible to override the tag selectors. Fixes #14597. (cherry picked from commit 5770eba622853c9d03d5341ebab4b1fa6f00ffa8) --- src/material/core/typography/_typography.scss | 63 +++++++++++++++---- 1 file changed, 50 insertions(+), 13 deletions(-) diff --git a/src/material/core/typography/_typography.scss b/src/material/core/typography/_typography.scss index 55b3fb619705..d18c8cc4fbb9 100644 --- a/src/material/core/typography/_typography.scss +++ b/src/material/core/typography/_typography.scss @@ -183,22 +183,41 @@ @mixin typography-hierarchy($config-or-theme, $selector: '.mat-typography') { $config: private-typography-to-2014-config(theming.get-typography-config($config-or-theme)); - .mat-h1, .mat-headline, #{$selector} h1 { + // Note that it seems redundant to prefix the class rules with the `$selector`, however it's + // necessary if we want to allow people to overwrite the tag selectors. This is due to + // selectors like `#{$selector} h1` being more specific than ones like `.mat-title`. + .mat-h1, + .mat-headline, + #{$selector} .mat-h1, + #{$selector} .mat-headline, + #{$selector} h1 { @include typography-utils.typography-level($config, headline); margin: 0 0 16px; } - .mat-h2, .mat-title, #{$selector} h2 { + .mat-h2, + .mat-title, + #{$selector} .mat-h2, + #{$selector} .mat-title, + #{$selector} h2 { @include typography-utils.typography-level($config, title); margin: 0 0 16px; } - .mat-h3, .mat-subheading-2, #{$selector} h3 { + .mat-h3, + .mat-subheading-2, + #{$selector} .mat-h3, + #{$selector} .mat-subheading-2, + #{$selector} h3 { @include typography-utils.typography-level($config, subheading-2); margin: 0 0 16px; } - .mat-h4, .mat-subheading-1, #{$selector} h4 { + .mat-h4, + .mat-subheading-1, + #{$selector} .mat-h4, + #{$selector} .mat-subheading-1, + #{$selector} h4 { @include typography-utils.typography-level($config, subheading-1); margin: 0 0 16px; } @@ -206,7 +225,9 @@ // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em // and h6 at 0.67em. - .mat-h5, #{$selector} h5 { + .mat-h5, + #{$selector} .mat-h5, + #{$selector} h5 { @include typography-utils.font-shorthand( // calc is used here to support css variables calc(#{typography-utils.font-size($config, body-1)} * 0.83), @@ -218,7 +239,9 @@ margin: 0 0 12px; } - .mat-h6, #{$selector} h6 { + .mat-h6, + #{$selector} .mat-h6, + #{$selector} h6 { @include typography-utils.font-shorthand( // calc is used here to support css variables calc(#{typography-utils.font-size($config, body-1)} * 0.67), @@ -230,11 +253,18 @@ margin: 0 0 12px; } - .mat-body-strong, .mat-body-2 { + .mat-body-strong, + .mat-body-2, + #{$selector} .mat-body-strong, + #{$selector} .mat-body-2 { @include typography-utils.typography-level($config, body-2); } - .mat-body, .mat-body-1, #{$selector} { + .mat-body, + .mat-body-1, + #{$selector} .mat-body, + #{$selector} .mat-body-1, + #{$selector} { @include typography-utils.typography-level($config, body-1); p { @@ -242,26 +272,33 @@ } } - .mat-small, .mat-caption { + .mat-small, + .mat-caption, + #{$selector} .mat-small, + #{$selector} .mat-caption { @include typography-utils.typography-level($config, caption); } - .mat-display-4, #{$selector} .mat-display-4 { + .mat-display-4, + #{$selector} .mat-display-4 { @include typography-utils.typography-level($config, display-4); margin: 0 0 56px; } - .mat-display-3, #{$selector} .mat-display-3 { + .mat-display-3, + #{$selector} .mat-display-3 { @include typography-utils.typography-level($config, display-3); margin: 0 0 64px; } - .mat-display-2, #{$selector} .mat-display-2 { + .mat-display-2, + #{$selector} .mat-display-2 { @include typography-utils.typography-level($config, display-2); margin: 0 0 64px; } - .mat-display-1, #{$selector} .mat-display-1 { + .mat-display-1, + #{$selector} .mat-display-1 { @include typography-utils.typography-level($config, display-1); margin: 0 0 64px; } From 3b2b5ad380f6cb1ce3e21af5ffe520532001e6c3 Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Thu, 24 Mar 2022 14:32:59 +0100 Subject: [PATCH 03/31] refactor(material/checkbox): remove xml:space attr from svg checkmark (#24461) It seems that it was accidentally added in the first version of the component. unneeded attribute xml:space is removed. (cherry picked from commit 2f06a67eee20d308ab5a538b880eefc6006c80d1) --- src/material/checkbox/checkbox.html | 1 - 1 file changed, 1 deletion(-) diff --git a/src/material/checkbox/checkbox.html b/src/material/checkbox/checkbox.html index 1e46a03ef823..22b400daac3c 100644 --- a/src/material/checkbox/checkbox.html +++ b/src/material/checkbox/checkbox.html @@ -30,7 +30,6 @@ focusable="false" class="mat-checkbox-checkmark" viewBox="0 0 24 24" - xml:space="preserve" aria-hidden="true"> Date: Thu, 24 Mar 2022 11:07:03 -0700 Subject: [PATCH 04/31] docs: fix bug in datepicker-views-selection demo (#24638) Fix issue #24230 in the Datepicker Views Selection code demo. When selecting a month, set the year on the form value to the active year on the datepicker. Previously, this demo would only set the year when clicking on a year in the datepicker, but this did not account for changing the year with the next/previous year buttons. Fixes #24230 (cherry picked from commit c8d9125c0fbe917fd376f0e999c4f3227ee3b44a) --- .../datepicker-views-selection-example.html | 3 +-- .../datepicker-views-selection-example.ts | 11 +++-------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html b/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html index 647332fa7a77..1e72b7504430 100644 --- a/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html +++ b/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.html @@ -4,8 +4,7 @@ diff --git a/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.ts b/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.ts index ab9ddbc4af24..c97df1bfaf48 100644 --- a/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.ts +++ b/src/components-examples/material/datepicker/datepicker-views-selection/datepicker-views-selection-example.ts @@ -49,15 +49,10 @@ export const MY_FORMATS = { export class DatepickerViewsSelectionExample { date = new FormControl(moment()); - chosenYearHandler(normalizedYear: Moment) { + setMonthAndYear(normalizedMonthAndYear: Moment, datepicker: MatDatepicker) { const ctrlValue = this.date.value; - ctrlValue.year(normalizedYear.year()); - this.date.setValue(ctrlValue); - } - - chosenMonthHandler(normalizedMonth: Moment, datepicker: MatDatepicker) { - const ctrlValue = this.date.value; - ctrlValue.month(normalizedMonth.month()); + ctrlValue.month(normalizedMonthAndYear.month()); + ctrlValue.year(normalizedMonthAndYear.year()); this.date.setValue(ctrlValue); datepicker.close(); } From 16801e777b4f58caf8406de56826e064f6156555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=AD=20Siqueira?= Date: Thu, 24 Mar 2022 15:34:26 -0300 Subject: [PATCH 05/31] docs(material/stepper): fix typo into stepper documentation (#24618) Fix a small typo error at Material Stepper documentation. Fixes #24613 (cherry picked from commit 82359e0b3d861ee053ec9d35bcf15b07d4d4ab76) --- src/material/stepper/stepper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/material/stepper/stepper.md b/src/material/stepper/stepper.md index 229fb7044498..873120e87455 100644 --- a/src/material/stepper/stepper.md +++ b/src/material/stepper/stepper.md @@ -223,7 +223,7 @@ step content is automatically set based on step selection change. The stepper and each step should be given a meaningful label via `aria-label` or `aria-labelledby`. -Prefer verticl steppers when building for small screen sizes, as horizontal +Prefer vertical steppers when building for small screen sizes, as horizontal steppers typically take up significantly more horizontal space thus introduce horizontal scrolling. Applications with multiple scrolling dimensions make content harder to consume for some users. See the [Responsive Stepper section](#responsive-stepper) From 23e7b8e6c1a2e0f4f02413f0e7a45dd710bba83d Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 25 Mar 2022 01:35:25 +0100 Subject: [PATCH 06/31] fix(material-experimental/mdc-chips): make it easier to customize chip typography (#24632) Moves the typography styles of the chip to the root of the component so that it's easier to customize, similar to the non-MDC version. (cherry picked from commit e4863652c711359893e3863468d08c77600264b9) --- src/material-experimental/mdc-chips/_chips-theme.scss | 9 +++++++-- src/material-experimental/mdc-chips/chip.scss | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/material-experimental/mdc-chips/_chips-theme.scss b/src/material-experimental/mdc-chips/_chips-theme.scss index e4b6b9cd73c0..3634dd61f78b 100644 --- a/src/material-experimental/mdc-chips/_chips-theme.scss +++ b/src/material-experimental/mdc-chips/_chips-theme.scss @@ -1,8 +1,8 @@ -@use '@material/chips/chip' as mdc-chip; @use '@material/chips/chip-theme' as mdc-chip-theme; @use '@material/chips/chip-set' as mdc-chip-set; @use '@material/theme/theme-color' as mdc-theme-color; @use '@material/theme/color-palette' as mdc-color-palette; +@use '@material/typography' as mdc-typography; @use 'sass:color'; @use 'sass:map'; @use '../mdc-helpers/mdc-helpers'; @@ -80,7 +80,12 @@ theming.get-typography-config($config-or-theme)); @include mdc-chip-set.core-styles($query: mdc-helpers.$mat-typography-styles-query); @include mdc-helpers.mat-using-mdc-typography($config) { - @include mdc-chip.without-ripple-styles($query: mdc-helpers.$mat-typography-styles-query); + // Note that we don't go through MDC's typography mixin, because it assigns the styles to + // an inner element which makes it difficult for clients to customize. Instead we apply the + // same styles ourselves to the root. + .mat-mdc-standard-chip { + @include mdc-typography.typography(body2, $query: mdc-helpers.$mat-typography-styles-query); + } } } diff --git a/src/material-experimental/mdc-chips/chip.scss b/src/material-experimental/mdc-chips/chip.scss index 4fa66e348c5f..f262b4396bbb 100644 --- a/src/material-experimental/mdc-chips/chip.scss +++ b/src/material-experimental/mdc-chips/chip.scss @@ -73,6 +73,14 @@ width: 100%; } + // This element can be placed on a `button` node which usually has some user agent styles. + // Reset the font so that the typography from the root element can propagate down. + .mdc-evolution-chip__action--primary { + font: inherit; + letter-spacing: inherit; + white-space: inherit; + } + // MDC sizes and positions this element using `width`, `height` and `padding`. // This usually works, but it's common for apps to add `box-sizing: border-box` // to all elements on the page which can cause the graphic to be clipped. From 2656a0394cf004e69b7a9d76646544e6471e2723 Mon Sep 17 00:00:00 2001 From: Shivam Sethi <57300750+seth0027@users.noreply.github.com> Date: Fri, 25 Mar 2022 07:25:34 -0700 Subject: [PATCH 07/31] docs(cdk/accordion): define string type for cdkaccordion property id (#24640) Fixes a bug in accordion/api documentation in CdkAccordion where id property is not loosley defined. This is because id property is not explicitly defined as string. Fixes #24639 (cherry picked from commit 853d2cc27fe7a5215b927a09b7bbb42da3488fe7) --- src/cdk/accordion/accordion.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cdk/accordion/accordion.ts b/src/cdk/accordion/accordion.ts index 3127c869a67a..3cbe7cc3e5a0 100644 --- a/src/cdk/accordion/accordion.ts +++ b/src/cdk/accordion/accordion.ts @@ -36,7 +36,7 @@ export class CdkAccordion implements OnDestroy, OnChanges { readonly _openCloseAllActions: Subject = new Subject(); /** A readonly id value to use for unique selection coordination. */ - readonly id = `cdk-accordion-${nextId++}`; + readonly id: string = `cdk-accordion-${nextId++}`; /** Whether the accordion should allow multiple expanded accordion items simultaneously. */ @Input() From e9734a9c663b0e462e5c3d8ba2126a87aeeb3191 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 25 Mar 2022 16:48:25 +0100 Subject: [PATCH 08/31] fix(cdk/testing): entering negative number values not working with reactive forms (#24656) We were entering negative values into number inputs character-by-character which doesn't appear to work with Angular's reactive forms. These changes switch to entering the entire value all at once. Fixes #24414. (cherry picked from commit 5b4bcf5caebb57e986b6b60b2c06345c89bbd51d) --- src/cdk/testing/testbed/fake-events/type-in-element.ts | 2 +- src/cdk/testing/tests/cross-environment.spec.ts | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/cdk/testing/testbed/fake-events/type-in-element.ts b/src/cdk/testing/testbed/fake-events/type-in-element.ts index 69a43acf5791..92d8c8d52a1c 100644 --- a/src/cdk/testing/testbed/fake-events/type-in-element.ts +++ b/src/cdk/testing/testbed/fake-events/type-in-element.ts @@ -97,7 +97,7 @@ export function typeInElement(element: HTMLElement, ...modifiersAndKeys: any[]) const enterValueIncrementally = inputType === 'number' ? // The value can be set character by character in number inputs if it doesn't have any decimals. - keys.every(key => key.key !== '.' && key.keyCode !== PERIOD) + keys.every(key => key.key !== '.' && key.key !== '-' && key.keyCode !== PERIOD) : incrementalInputTypes.has(inputType); triggerFocus(element); diff --git a/src/cdk/testing/tests/cross-environment.spec.ts b/src/cdk/testing/tests/cross-environment.spec.ts index fcd752297f3a..e3c1d9a28ef5 100644 --- a/src/cdk/testing/tests/cross-environment.spec.ts +++ b/src/cdk/testing/tests/cross-environment.spec.ts @@ -465,6 +465,15 @@ export function crossEnvironmentSpecs( expect(await value.text()).toBe('Number value: 123.456'); }); + it('should be able to set a negative input value on a reactive form control', async () => { + const input = await harness.numberInput(); + const value = await harness.numberInputValue(); + await input.sendKeys('-123'); + + expect(await input.getProperty('value')).toBe('-123'); + expect(await value.text()).toBe('Number value: -123'); + }); + it('should be able to retrieve dimensions', async () => { const dimensions = await (await harness.title()).getDimensions(); expect(dimensions).toEqual(jasmine.objectContaining({height: 100, width: 200})); From 04f4937b759418ae29c483b716cf2ccef5d25dfa Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 25 Mar 2022 19:06:45 +0100 Subject: [PATCH 09/31] fix(material/tabs): update tab state when active tab is swapped out (#24164) Fixes that when the selected tab is swapped out, we weren't marking the new tab as active and emitting the `selectedTabChange` event. Fixes #24147. (cherry picked from commit 7c2545c2403510d1167d6bd9ddf89da70bd8abf3) --- .../mdc-tabs/tab-group.spec.ts | 20 +++++++++++++++++++ src/material/tabs/tab-group.spec.ts | 20 +++++++++++++++++++ src/material/tabs/tab-group.ts | 12 +++++++++++ 3 files changed, 52 insertions(+) diff --git a/src/material-experimental/mdc-tabs/tab-group.spec.ts b/src/material-experimental/mdc-tabs/tab-group.spec.ts index af5b9b55e0b4..b510c32ef7ac 100644 --- a/src/material-experimental/mdc-tabs/tab-group.spec.ts +++ b/src/material-experimental/mdc-tabs/tab-group.spec.ts @@ -589,6 +589,26 @@ describe('MDC-based MatTabGroup', () => { expect(fixture.componentInstance.handleSelection).not.toHaveBeenCalled(); })); + + it('should update the newly-selected tab if the previously-selected tab is replaced', fakeAsync(() => { + const component: MatTabGroup = fixture.debugElement.query( + By.css('mat-tab-group'), + )!.componentInstance; + + spyOn(fixture.componentInstance, 'handleSelection'); + + fixture.componentInstance.tabs[fixture.componentInstance.selectedIndex] = { + label: 'New', + content: 'New', + }; + fixture.detectChanges(); + tick(); + + expect(component._tabs.get(1)?.isActive).toBe(true); + expect(fixture.componentInstance.handleSelection).toHaveBeenCalledWith( + jasmine.objectContaining({index: 1}), + ); + })); }); describe('async tabs', () => { diff --git a/src/material/tabs/tab-group.spec.ts b/src/material/tabs/tab-group.spec.ts index 6cb53a529583..6e0f7b530845 100644 --- a/src/material/tabs/tab-group.spec.ts +++ b/src/material/tabs/tab-group.spec.ts @@ -588,6 +588,26 @@ describe('MatTabGroup', () => { expect(fixture.componentInstance.handleSelection).not.toHaveBeenCalled(); })); + + it('should update the newly-selected tab if the previously-selected tab is replaced', fakeAsync(() => { + const component: MatTabGroup = fixture.debugElement.query( + By.css('mat-tab-group'), + )!.componentInstance; + + spyOn(fixture.componentInstance, 'handleSelection'); + + fixture.componentInstance.tabs[fixture.componentInstance.selectedIndex] = { + label: 'New', + content: 'New', + }; + fixture.detectChanges(); + tick(); + + expect(component._tabs.get(1)?.isActive).toBe(true); + expect(fixture.componentInstance.handleSelection).toHaveBeenCalledWith( + jasmine.objectContaining({index: 1}), + ); + })); }); describe('async tabs', () => { diff --git a/src/material/tabs/tab-group.ts b/src/material/tabs/tab-group.ts index 7952dabdaa51..d198374ce79c 100644 --- a/src/material/tabs/tab-group.ts +++ b/src/material/tabs/tab-group.ts @@ -284,6 +284,7 @@ export abstract class _MatTabGroupBase // explicit change that selects a different tab. if (indexToSelect === this._selectedIndex) { const tabs = this._tabs.toArray(); + let selectedTab: MatTab | undefined; for (let i = 0; i < tabs.length; i++) { if (tabs[i].isActive) { @@ -291,9 +292,20 @@ export abstract class _MatTabGroupBase // event, otherwise the consumer may end up in an infinite loop in some edge cases like // adding a tab within the `selectedIndexChange` event. this._indexToSelect = this._selectedIndex = i; + selectedTab = tabs[i]; break; } } + + // If we haven't found an active tab and a tab exists at the selected index, it means + // that the active tab was swapped out. Since this won't be picked up by the rendering + // loop in `ngAfterContentChecked`, we need to sync it up manually. + if (!selectedTab && tabs[indexToSelect]) { + Promise.resolve().then(() => { + tabs[indexToSelect].isActive = true; + this.selectedTabChange.emit(this._createChangeEvent(indexToSelect)); + }); + } } this._changeDetectorRef.markForCheck(); From 70e865d4d8b2a09bb563b2a17d5d99eb48e1d736 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 25 Mar 2022 19:09:47 +0100 Subject: [PATCH 10/31] refactor(cdk/portal): simplify DomPortalOutlet constructor (#24504) Most of the constructor parameters of `DomPortalOutlet` are only used for component portals. These changes make them optional in order to simplify the constructor. If we hit a code path that does require them, we'll throw a runtime error. Related to the discussion in #24334. (cherry picked from commit a4642cb282b139418640adcbfd93e0f4743d7d50) --- src/cdk/portal/dom-portal-outlet.ts | 36 ++++++++++++++++++++++------ tools/public_api_guard/cdk/portal.md | 2 +- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/cdk/portal/dom-portal-outlet.ts b/src/cdk/portal/dom-portal-outlet.ts index ee20518ad879..58bfc4c6fb09 100644 --- a/src/cdk/portal/dom-portal-outlet.ts +++ b/src/cdk/portal/dom-portal-outlet.ts @@ -22,12 +22,23 @@ import {BasePortalOutlet, ComponentPortal, TemplatePortal, DomPortal} from './po export class DomPortalOutlet extends BasePortalOutlet { private _document: Document; + /** + * @param outletElement Element into which the content is projected. + * @param _componentFactoryResolver Used to resolve the component factory. + * Only required when attaching component portals. + * @param _appRef Reference to the application. Only used in component portals when there + * is no `ViewContainerRef` available. + * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't + * have one. Only used for component portals. + * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually + * become a required parameter. + */ constructor( /** Element into which the content is projected. */ public outletElement: Element, - private _componentFactoryResolver: ComponentFactoryResolver, - private _appRef: ApplicationRef, - private _defaultInjector: Injector, + private _componentFactoryResolver?: ComponentFactoryResolver, + private _appRef?: ApplicationRef, + private _defaultInjector?: Injector, /** * @deprecated `_document` Parameter to be made required. @@ -45,7 +56,12 @@ export class DomPortalOutlet extends BasePortalOutlet { * @returns Reference to the created component. */ attachComponentPortal(portal: ComponentPortal): ComponentRef { - const resolver = portal.componentFactoryResolver || this._componentFactoryResolver; + const resolver = (portal.componentFactoryResolver || this._componentFactoryResolver)!; + + if ((typeof ngDevMode === 'undefined' || ngDevMode) && !resolver) { + throw Error('Cannot attach component portal to outlet without a ComponentFactoryResolver.'); + } + const componentFactory = resolver.resolveComponentFactory(portal.component); let componentRef: ComponentRef; @@ -62,10 +78,16 @@ export class DomPortalOutlet extends BasePortalOutlet { this.setDisposeFn(() => componentRef.destroy()); } else { - componentRef = componentFactory.create(portal.injector || this._defaultInjector); - this._appRef.attachView(componentRef.hostView); + if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) { + throw Error('Cannot attach component portal to outlet without an ApplicationRef.'); + } + + componentRef = componentFactory.create( + portal.injector || this._defaultInjector || Injector.NULL, + ); + this._appRef!.attachView(componentRef.hostView); this.setDisposeFn(() => { - this._appRef.detachView(componentRef.hostView); + this._appRef!.detachView(componentRef.hostView); componentRef.destroy(); }); } diff --git a/tools/public_api_guard/cdk/portal.md b/tools/public_api_guard/cdk/portal.md index 71b106338faf..cd4dd9dc9fd4 100644 --- a/tools/public_api_guard/cdk/portal.md +++ b/tools/public_api_guard/cdk/portal.md @@ -104,7 +104,7 @@ export class DomPortalHost extends DomPortalOutlet { // @public export class DomPortalOutlet extends BasePortalOutlet { constructor( - outletElement: Element, _componentFactoryResolver: ComponentFactoryResolver, _appRef: ApplicationRef, _defaultInjector: Injector, + outletElement: Element, _componentFactoryResolver?: ComponentFactoryResolver | undefined, _appRef?: ApplicationRef | undefined, _defaultInjector?: Injector | undefined, _document?: any); attachComponentPortal(portal: ComponentPortal): ComponentRef; // @deprecated From c677f11ed8b9a268a307488dca26589dfd9412da Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 25 Mar 2022 19:11:58 +0100 Subject: [PATCH 11/31] fix(material/button-toggle): ripples not clipping correctly in safari (#12311) Fixes the ripples on button toggles not being clipped to the border radius in Safari. Relates to #12244. (cherry picked from commit 938d7870a78391f6db491091b07359ea1b39124c) --- src/material/button-toggle/button-toggle.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/material/button-toggle/button-toggle.scss b/src/material/button-toggle/button-toggle.scss index 989346841cbc..1c91ff2c4286 100644 --- a/src/material/button-toggle/button-toggle.scss +++ b/src/material/button-toggle/button-toggle.scss @@ -19,6 +19,9 @@ $legacy-border-radius: 2px !default; border-radius: $legacy-border-radius; -webkit-tap-highlight-color: transparent; + // Fixes the ripples not being clipped to the border radius on Safari. + transform: translateZ(0); + @include a11y.high-contrast(active, off) { outline: solid 1px; } From 20af3e7c9dc7be162828cdb368a0a7cc2ca0014a Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 25 Mar 2022 19:30:31 +0100 Subject: [PATCH 12/31] fix(material/chips): ripple not clipped on safari (#21495) Fixes that the chip ripple wasn't being clipped to the border radius on Safari. This was fixed initially in #12244, but it seems to have regressed. Moving the `transform` to the ripple container seems to fix it. (cherry picked from commit 73dde8432573dcc99d2c3ac83b55d26aa9559735) --- src/material/chips/chips.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/material/chips/chips.scss b/src/material/chips/chips.scss index 4dfeb723ea42..c37e9ef97c43 100644 --- a/src/material/chips/chips.scss +++ b/src/material/chips/chips.scss @@ -30,9 +30,6 @@ $chip-remove-size: 18px; box-sizing: border-box; -webkit-tap-highlight-color: transparent; - // Required for the ripple to clip properly in Safari. - transform: translateZ(0); - // Chips could be set on buttons so we need to reset the user agent styles. border: none; -webkit-appearance: none; @@ -200,6 +197,9 @@ $chip-remove-size: 18px; // Ensures that the ripple effect doesn't overflow the ripple target. overflow: hidden; + + // Required for the ripple to clip in Safari. + transform: translateZ(0); } .mat-chip-list-wrapper { From 518022288b268dff2125017f1f187ef1683527a2 Mon Sep 17 00:00:00 2001 From: ByzantineFailure Date: Fri, 25 Mar 2022 14:05:36 -0700 Subject: [PATCH 13/31] fix(material-experimental/mdc-chips): Mirror aria-describedby to matChipInput (#24551) Updates mat-chip-grid to associate any ids set for aria-describedby to the matChipInput instance within the grid, if one exists. Removes the aria-describedby attribute on the grid itself since it never receives focus. Fixes #24542 (cherry picked from commit 1bc98ec31eab37debe94bb1cee2618805b82c832) --- .../mdc-chips/chip-grid.spec.ts | 29 ++++++-- .../mdc-chips/chip-grid.ts | 21 +++++- .../mdc-chips/chip-input.spec.ts | 74 +++++++++++-------- .../mdc-chips/chip-input.ts | 8 ++ .../mdc-chips/chip-set.ts | 5 -- .../mdc-chips/chip-text-control.ts | 3 + 6 files changed, 96 insertions(+), 44 deletions(-) diff --git a/src/material-experimental/mdc-chips/chip-grid.spec.ts b/src/material-experimental/mdc-chips/chip-grid.spec.ts index 96e44bcb7d25..6cca4302482a 100644 --- a/src/material-experimental/mdc-chips/chip-grid.spec.ts +++ b/src/material-experimental/mdc-chips/chip-grid.spec.ts @@ -846,13 +846,18 @@ describe('MDC-based MatChipGrid', () => { let errorTestComponent: ChipGridWithFormErrorMessages; let containerEl: HTMLElement; let chipGridEl: HTMLElement; + let inputEl: HTMLElement; - beforeEach(() => { + beforeEach(fakeAsync(() => { fixture = createComponent(ChipGridWithFormErrorMessages); + flush(); + fixture.detectChanges(); + errorTestComponent = fixture.componentInstance; containerEl = fixture.debugElement.query(By.css('mat-form-field'))!.nativeElement; chipGridEl = fixture.debugElement.query(By.css('mat-chip-grid'))!.nativeElement; - }); + inputEl = fixture.debugElement.query(By.css('input'))!.nativeElement; + })); it('should not show any errors if the user has not interacted', () => { expect(errorTestComponent.formControl.untouched) @@ -901,6 +906,7 @@ describe('MDC-based MatChipGrid', () => { .toBe(0); dispatchFakeEvent(fixture.debugElement.query(By.css('form'))!.nativeElement, 'submit'); + flush(); fixture.detectChanges(); fixture.whenStable().then(() => { @@ -917,10 +923,12 @@ describe('MDC-based MatChipGrid', () => { .withContext('Expected aria-invalid to be set to "true".') .toBe('true'); }); + flush(); })); it('should hide the errors and show the hints once the chip grid becomes valid', fakeAsync(() => { errorTestComponent.formControl.markAsTouched(); + flush(); fixture.detectChanges(); fixture.whenStable().then(() => { @@ -935,6 +943,7 @@ describe('MDC-based MatChipGrid', () => { .toBe(0); errorTestComponent.formControl.setValue('something'); + flush(); fixture.detectChanges(); fixture.whenStable().then(() => { @@ -949,6 +958,8 @@ describe('MDC-based MatChipGrid', () => { .withContext('Expected one hint to be shown once the input is valid.') .toBe(1); }); + + flush(); }); })); @@ -959,11 +970,11 @@ describe('MDC-based MatChipGrid', () => { expect(containerEl.querySelector('mat-error')!.getAttribute('aria-live')).toBe('polite'); }); - it('sets the aria-describedby to reference errors when in error state', () => { + it('sets the aria-describedby on the input to reference errors when in error state', fakeAsync(() => { let hintId = fixture.debugElement .query(By.css('.mat-mdc-form-field-hint'))! .nativeElement.getAttribute('id'); - let describedBy = chipGridEl.getAttribute('aria-describedby'); + let describedBy = inputEl.getAttribute('aria-describedby'); expect(hintId).withContext('hint should be shown').toBeTruthy(); expect(describedBy).toBe(hintId); @@ -971,15 +982,19 @@ describe('MDC-based MatChipGrid', () => { fixture.componentInstance.formControl.markAsTouched(); fixture.detectChanges(); + // Flush the describedby timer and detect changes caused by it. + flush(); + fixture.detectChanges(); + let errorIds = fixture.debugElement .queryAll(By.css('.mat-mdc-form-field-error')) .map(el => el.nativeElement.getAttribute('id')) .join(' '); - describedBy = chipGridEl.getAttribute('aria-describedby'); + let errorDescribedBy = inputEl.getAttribute('aria-describedby'); expect(errorIds).withContext('errors should be shown').toBeTruthy(); - expect(describedBy).toBe(errorIds); - }); + expect(errorDescribedBy).toBe(errorIds); + })); }); function createComponent( diff --git a/src/material-experimental/mdc-chips/chip-grid.ts b/src/material-experimental/mdc-chips/chip-grid.ts index 57add5da8653..911a32ca4105 100644 --- a/src/material-experimental/mdc-chips/chip-grid.ts +++ b/src/material-experimental/mdc-chips/chip-grid.ts @@ -97,8 +97,6 @@ const _MatChipGridMixinBase = mixinErrorState(MatChipGridBase); 'class': 'mat-mdc-chip-set mat-mdc-chip-grid mdc-evolution-chip-set', '[attr.role]': 'role', '[tabIndex]': '_chips && _chips.length === 0 ? -1 : tabIndex', - // TODO: replace this binding with use of AriaDescriber - '[attr.aria-describedby]': '_ariaDescribedby || null', '[attr.aria-disabled]': 'disabled.toString()', '[attr.aria-invalid]': 'errorState', '[class.mat-mdc-chip-list-disabled]': 'disabled', @@ -132,6 +130,11 @@ export class MatChipGrid /** The chip input to add more chips */ protected _chipInput: MatChipTextControl; + /** + * List of element ids to propagate to the chipInput's aria-describedby attribute. + */ + private _ariaDescribedbyIds: string[] = []; + /** * Function when touched. Set as part of ControlValueAccessor implementation. * @docs-private @@ -329,6 +332,7 @@ export class MatChipGrid /** Associates an HTML input element with this chip grid. */ registerInput(inputElement: MatChipTextControl): void { this._chipInput = inputElement; + this._chipInput.setDescribedByIds(this._ariaDescribedbyIds); } /** @@ -370,7 +374,18 @@ export class MatChipGrid * @docs-private */ setDescribedByIds(ids: string[]) { - this._ariaDescribedby = ids.join(' '); + // We must keep this up to date to handle the case where ids are set + // before the chip input is registered. + this._ariaDescribedbyIds = ids; + + if (this._chipInput) { + // Use a setTimeout in case this is being run during change detection + // and the chip input has already determined its host binding for + // aria-describedBy. + setTimeout(() => { + this._chipInput.setDescribedByIds(ids); + }, 0); + } } /** diff --git a/src/material-experimental/mdc-chips/chip-input.spec.ts b/src/material-experimental/mdc-chips/chip-input.spec.ts index e83af9f8d9f6..46c6b52d9505 100644 --- a/src/material-experimental/mdc-chips/chip-input.spec.ts +++ b/src/material-experimental/mdc-chips/chip-input.spec.ts @@ -25,39 +25,35 @@ describe('MDC-based MatChipInput', () => { let chipInputDirective: MatChipInput; let dir = 'ltr'; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [PlatformModule, MatChipsModule, MatFormFieldModule, NoopAnimationsModule], - declarations: [TestChipInput], - providers: [ - { - provide: Directionality, - useFactory: () => { - return { - value: dir.toLowerCase(), - change: new Subject(), - }; - }, + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [PlatformModule, MatChipsModule, MatFormFieldModule, NoopAnimationsModule], + declarations: [TestChipInput], + providers: [ + { + provide: Directionality, + useFactory: () => { + return { + value: dir.toLowerCase(), + change: new Subject(), + }; }, - ], - }); + }, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(TestChipInput); - testChipInput = fixture.debugElement.componentInstance; - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(TestChipInput); + testChipInput = fixture.debugElement.componentInstance; + fixture.detectChanges(); - inputDebugElement = fixture.debugElement.query(By.directive(MatChipInput))!; - chipInputDirective = inputDebugElement.injector.get(MatChipInput); - inputNativeElement = inputDebugElement.nativeElement; - }), - ); + inputDebugElement = fixture.debugElement.query(By.directive(MatChipInput))!; + chipInputDirective = inputDebugElement.injector.get(MatChipInput); + inputNativeElement = inputDebugElement.nativeElement; + })); describe('basic behavior', () => { it('emits the (chipEnd) on enter keyup', () => { @@ -230,6 +226,26 @@ describe('MDC-based MatChipInput', () => { dispatchKeyboardEvent(inputNativeElement, 'keydown', ENTER, undefined, {shift: true}); expect(testChipInput.add).not.toHaveBeenCalled(); }); + + it('should set aria-describedby correctly when a non-empty list of ids is passed to setDescribedByIds', fakeAsync(() => { + const ids = ['a', 'b', 'c']; + + testChipInput.chipGridInstance.setDescribedByIds(ids); + flush(); + fixture.detectChanges(); + + expect(inputNativeElement.getAttribute('aria-describedby')).toEqual('a b c'); + })); + + it('should set aria-describedby correctly when an empty list of ids is passed to setDescribedByIds', fakeAsync(() => { + const ids: string[] = []; + + testChipInput.chipGridInstance.setDescribedByIds(ids); + flush(); + fixture.detectChanges(); + + expect(inputNativeElement.getAttribute('aria-describedby')).toBeNull(); + })); }); }); diff --git a/src/material-experimental/mdc-chips/chip-input.ts b/src/material-experimental/mdc-chips/chip-input.ts index d69d027e1f72..c38debeae9b3 100644 --- a/src/material-experimental/mdc-chips/chip-input.ts +++ b/src/material-experimental/mdc-chips/chip-input.ts @@ -68,6 +68,7 @@ let nextUniqueId = 0; '[attr.disabled]': 'disabled || null', '[attr.placeholder]': 'placeholder || null', '[attr.aria-invalid]': '_chipGrid && _chipGrid.ngControl ? _chipGrid.ngControl.invalid : null', + '[attr.aria-describedby]': '_ariaDescribedby || null', '[attr.aria-required]': '_chipGrid && _chipGrid.required || null', '[attr.required]': '_chipGrid && _chipGrid.required || null', }, @@ -76,6 +77,9 @@ export class MatChipInput implements MatChipTextControl, AfterContentInit, OnCha /** Used to prevent focus moving to chips while user is holding backspace */ private _focusLastChipOnBackspace: boolean; + /** Value for ariaDescribedby property */ + _ariaDescribedby?: string; + /** Whether the control is focused. */ focused: boolean = false; _chipGrid: MatChipGrid; @@ -243,6 +247,10 @@ export class MatChipInput implements MatChipTextControl, AfterContentInit, OnCha this._focusLastChipOnBackspace = true; } + setDescribedByIds(ids: string[]): void { + this._ariaDescribedby = ids.join(' '); + } + /** Checks whether a keycode is one of the configured separators. */ private _isSeparatorKey(event: KeyboardEvent) { return !hasModifierKey(event) && new Set(this.separatorKeyCodes).has(event.keyCode); diff --git a/src/material-experimental/mdc-chips/chip-set.ts b/src/material-experimental/mdc-chips/chip-set.ts index 1b8787de063a..2edea14af562 100644 --- a/src/material-experimental/mdc-chips/chip-set.ts +++ b/src/material-experimental/mdc-chips/chip-set.ts @@ -65,8 +65,6 @@ const _MatChipSetMixinBase = mixinTabIndex(MatChipSetBase); host: { 'class': 'mat-mdc-chip-set mdc-evolution-chip-set', '[attr.role]': 'role', - // TODO: replace this binding with use of AriaDescriber - '[attr.aria-describedby]': '_ariaDescribedby || null', }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, @@ -135,9 +133,6 @@ export class MatChipSet }, }; - /** The aria-describedby attribute on the chip list for improved a11y. */ - _ariaDescribedby: string; - /** * Map from class to whether the class is enabled. * Enabled classes are set on the MDC chip-set div. diff --git a/src/material-experimental/mdc-chips/chip-text-control.ts b/src/material-experimental/mdc-chips/chip-text-control.ts index bcb515d85a54..422328517e23 100644 --- a/src/material-experimental/mdc-chips/chip-text-control.ts +++ b/src/material-experimental/mdc-chips/chip-text-control.ts @@ -22,4 +22,7 @@ export interface MatChipTextControl { /** Focuses the text control. */ focus(): void; + + /** Sets the list of ids the input is described by. */ + setDescribedByIds(ids: string[]): void; } From 8140af48924d434cbcdf534cc75d5a0a9617706d Mon Sep 17 00:00:00 2001 From: Wagner Maciel Date: Fri, 25 Mar 2022 23:03:48 +0000 Subject: [PATCH 14/31] Revert "Revert "perf(cdk/scrolling): do not run change detection if there are no `viewChange` listeners (#23987)"" (#24617) This reverts commit d8c7c48b788e0626db70560a331bf227bac30c20. (cherry picked from commit 71bdb14540dcc681eed4124506255798618ac97f) --- src/cdk/scrolling/virtual-for-of.ts | 4 +- .../scrolling/virtual-scroll-viewport.spec.ts | 38 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/cdk/scrolling/virtual-for-of.ts b/src/cdk/scrolling/virtual-for-of.ts index 0a2def6a6557..6700bcfb147e 100644 --- a/src/cdk/scrolling/virtual-for-of.ts +++ b/src/cdk/scrolling/virtual-for-of.ts @@ -199,7 +199,9 @@ export class CdkVirtualForOf }); this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => { this._renderedRange = range; - ngZone.run(() => this.viewChange.next(this._renderedRange)); + if (this.viewChange.observers.length) { + ngZone.run(() => this.viewChange.next(this._renderedRange)); + } this._onRenderedDataChange(); }); this._viewport.attach(this); diff --git a/src/cdk/scrolling/virtual-scroll-viewport.spec.ts b/src/cdk/scrolling/virtual-scroll-viewport.spec.ts index 71202b01eb6f..97cabe8b58e6 100644 --- a/src/cdk/scrolling/virtual-scroll-viewport.spec.ts +++ b/src/cdk/scrolling/virtual-scroll-viewport.spec.ts @@ -15,6 +15,7 @@ import { ViewEncapsulation, Directive, ViewContainerRef, + ApplicationRef, } from '@angular/core'; import { waitForAsync, @@ -786,6 +787,43 @@ describe('CdkVirtualScrollViewport', () => { } }).not.toThrow(); })); + + describe('viewChange change detection behavior', () => { + let appRef: ApplicationRef; + + beforeEach(inject([ApplicationRef], (ar: ApplicationRef) => { + appRef = ar; + })); + + it('should not run change detection if there are no viewChange listeners', fakeAsync(() => { + finishInit(fixture); + testComponent.items = Array(10).fill(0); + fixture.detectChanges(); + flush(); + + spyOn(appRef, 'tick'); + + viewport.scrollToIndex(5); + triggerScroll(viewport); + + expect(appRef.tick).not.toHaveBeenCalled(); + })); + + it('should run change detection if there are any viewChange listeners', fakeAsync(() => { + testComponent.virtualForOf.viewChange.subscribe(); + finishInit(fixture); + testComponent.items = Array(10).fill(0); + fixture.detectChanges(); + flush(); + + spyOn(appRef, 'tick'); + + viewport.scrollToIndex(5); + triggerScroll(viewport); + + expect(appRef.tick).toHaveBeenCalledTimes(1); + })); + }); }); describe('with RTL direction', () => { From 945069f9e23b14480c69fb9178c799ebae96ec4a Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sat, 26 Mar 2022 09:57:10 +0100 Subject: [PATCH 15/31] build: fix formatting error (#24667) Fixes an error in one of the test files that is breaking the CI. (cherry picked from commit 10206022faa8dc68178a5958f35021ddfc8afde6) --- .../scrolling/virtual-scroll-viewport.spec.ts | 68 ++++++++----------- 1 file changed, 30 insertions(+), 38 deletions(-) diff --git a/src/cdk/scrolling/virtual-scroll-viewport.spec.ts b/src/cdk/scrolling/virtual-scroll-viewport.spec.ts index 97cabe8b58e6..3ad89328f616 100644 --- a/src/cdk/scrolling/virtual-scroll-viewport.spec.ts +++ b/src/cdk/scrolling/virtual-scroll-viewport.spec.ts @@ -34,14 +34,12 @@ describe('CdkVirtualScrollViewport', () => { let testComponent: FixedSizeVirtualScroll; let viewport: CdkVirtualScrollViewport; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule], - declarations: [FixedSizeVirtualScroll], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule], + declarations: [FixedSizeVirtualScroll], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(FixedSizeVirtualScroll); @@ -953,14 +951,12 @@ describe('CdkVirtualScrollViewport', () => { let testComponent: VirtualScrollWithItemInjectingViewContainer; let viewport: CdkVirtualScrollViewport; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule], - declarations: [VirtualScrollWithItemInjectingViewContainer, InjectsViewContainer], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule], + declarations: [VirtualScrollWithItemInjectingViewContainer, InjectsViewContainer], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(VirtualScrollWithItemInjectingViewContainer); @@ -990,17 +986,15 @@ describe('CdkVirtualScrollViewport', () => { let testComponent: DelayedInitializationVirtualScroll; let viewport: CdkVirtualScrollViewport; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule, CommonModule], - declarations: [DelayedInitializationVirtualScroll], - }).compileComponents(); - fixture = TestBed.createComponent(DelayedInitializationVirtualScroll); - testComponent = fixture.componentInstance; - viewport = testComponent.viewport; - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule, CommonModule], + declarations: [DelayedInitializationVirtualScroll], + }).compileComponents(); + fixture = TestBed.createComponent(DelayedInitializationVirtualScroll); + testComponent = fixture.componentInstance; + viewport = testComponent.viewport; + })); it('should call custom trackBy when virtual for is added after init', fakeAsync(() => { finishInit(fixture); @@ -1021,17 +1015,15 @@ describe('CdkVirtualScrollViewport', () => { let testComponent: VirtualScrollWithAppendOnly; let viewport: CdkVirtualScrollViewport; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule, CommonModule], - declarations: [VirtualScrollWithAppendOnly], - }).compileComponents(); - fixture = TestBed.createComponent(VirtualScrollWithAppendOnly); - testComponent = fixture.componentInstance; - viewport = testComponent.viewport; - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule, CommonModule], + declarations: [VirtualScrollWithAppendOnly], + }).compileComponents(); + fixture = TestBed.createComponent(VirtualScrollWithAppendOnly); + testComponent = fixture.componentInstance; + viewport = testComponent.viewport; + })); it('should not remove item that have already been rendered', fakeAsync(() => { finishInit(fixture); From ea672a3447a3c25e02057157692b1a33c8ea453b Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Sat, 26 Mar 2022 11:04:44 +0100 Subject: [PATCH 16/31] build: update to rules_nodejs v5 and update dev-infra --- .github/workflows/dev-infra.yml | 2 +- .github/workflows/feature-requests.yml | 2 +- .github/workflows/lock-closed.yml | 2 +- BUILD.bazel | 8 + WORKSPACE | 40 +- integration/harness-e2e-cli/package.json | 2 +- integration/harness-e2e-cli/yarn.lock | 2507 ++++++++++++---------- package.json | 25 +- src/BUILD.bazel | 2 +- tools/BUILD.bazel | 4 - tools/angular/index.bzl | 11 +- tools/defaults.bzl | 12 +- tools/multiple-node-versions.patch | 44 - tools/postinstall/apply-patches.js | 5 +- yarn.lock | 914 ++++---- 15 files changed, 1932 insertions(+), 1648 deletions(-) delete mode 100644 tools/multiple-node-versions.patch diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index fa5e180b2698..c892e81d873c 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.0.0 - - uses: angular/dev-infra/github-actions/commit-message-based-labels@138ec743c342cd2a4a75443d19e0ccd47244ee07 + - uses: angular/dev-infra/github-actions/commit-message-based-labels@2e2d1a6beeb26b0cc61c70f157f1dc073cdcf235 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/feature-requests.yml b/.github/workflows/feature-requests.yml index bc237c58c13f..fd204f77a7c4 100644 --- a/.github/workflows/feature-requests.yml +++ b/.github/workflows/feature-requests.yml @@ -10,6 +10,6 @@ jobs: if: github.repository == 'angular/components' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/feature-request@138ec743c342cd2a4a75443d19e0ccd47244ee07 + - uses: angular/dev-infra/github-actions/feature-request@2e2d1a6beeb26b0cc61c70f157f1dc073cdcf235 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/lock-closed.yml b/.github/workflows/lock-closed.yml index b940cdcc2fb0..214b8d534724 100644 --- a/.github/workflows/lock-closed.yml +++ b/.github/workflows/lock-closed.yml @@ -9,6 +9,6 @@ jobs: lock_closed: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/lock-closed@138ec743c342cd2a4a75443d19e0ccd47244ee07 + - uses: angular/dev-infra/github-actions/lock-closed@2e2d1a6beeb26b0cc61c70f157f1dc073cdcf235 with: lock-bot-key: ${{ secrets.LOCK_BOT_PRIVATE_KEY }} diff --git a/BUILD.bazel b/BUILD.bazel index 399afc9eff28..b163a0305807 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,3 +1,4 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary") load("//:pkg-externals.bzl", "PKG_EXTERNALS") load("//src/cdk:config.bzl", "CDK_ENTRYPOINTS") load("//src/cdk-experimental:config.bzl", "CDK_EXPERIMENTAL_ENTRYPOINTS") @@ -11,6 +12,13 @@ exports_files([ "package.json", ]) +nodejs_binary( + name = "yarn_vendored", + data = [".yarn/releases/yarn-1.22.17.cjs"], + entry_point = ".yarn/releases/yarn-1.22.17.cjs", + visibility = ["//integration:__subpackages__"], +) + # Target which writes the list of package externals into a JSON file so that the # Starlark-configured externals (for the NPM package bundling) can be passed to # the `check-package-externals` Yarn script, which validates our module imports. diff --git a/WORKSPACE b/WORKSPACE index ceddfed9b008..b4958fcb187e 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -8,9 +8,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # Add NodeJS rules http_archive( name = "build_bazel_rules_nodejs", - patches = ["//tools:multiple-node-versions.patch"], - sha256 = "f7037c8e295fdc921f714962aee7c496110052511e2b14076bd8e2d46bc9819c", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.5/rules_nodejs-4.4.5.tar.gz"], + sha256 = "3ceb1e5b5dcad5fa2ad8870a20201cfbb9c9c63cac4055c9ab370034c765297f", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.3.0/rules_nodejs-5.3.0.tar.gz"], ) # Add sass rules @@ -28,10 +27,10 @@ http_archive( # for declaring Bazel build setting flags. http_archive( name = "bazel_skylib", - sha256 = "191ea53b19b7e49b5b63d0ef81d1a6278227f9ac2c09fed1c2b3a75d573f1eeb", - strip_prefix = "bazel-skylib-b2ed61686ebca2a44d44857fef5b3e1d31cc2483", + sha256 = "a9c5d3a22461ed7063aa7b088f9c96fa0aaaa8b6984b601f84d705adc47d8a58", + strip_prefix = "bazel-skylib-8334f938c1574ef6f1f7a38a03550a31df65274e", urls = [ - "https://github.com/bazelbuild/bazel-skylib/archive/b2ed61686ebca2a44d44857fef5b3e1d31cc2483.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/archive/8334f938c1574ef6f1f7a38a03550a31df65274e.tar.gz", ], ) @@ -52,14 +51,18 @@ load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace() -load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install") +load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") -node_repositories( - # TOOD: Bring this in sync with CircleCI and nvmrc once we are on `rules_nodejs`#v5. - node_version = "16.10.0", - package_json = ["//:package.json"], +build_bazel_rules_nodejs_dependencies() + +load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") + +nodejs_register_toolchains( + name = "nodejs", + node_version = "16.14.0", ) +load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install") load("//tools:integration.bzl", "create_npm_package_archive_build_file") yarn_install( @@ -67,12 +70,23 @@ yarn_install( # We add the postinstall patches file here so that Yarn will rerun whenever # the file is modified. data = [ + "//:.yarn/releases/yarn-1.22.17.cjs", + "//:.yarnrc", "//:tools/postinstall/apply-patches.js", + "//:tools/postinstall/devmode-es2020-bazel.patch", ], + # Currently disabled due to: + # 1. Missing Windows support currently. + # 2. Incompatibilites with the `ts_library` rule. + exports_directories_only = False, # Add archive targets for some NPM packages that are needed in integration tests. manual_build_file_contents = create_npm_package_archive_build_file(), package_json = "//:package.json", quiet = False, + # We prefer to symlink the `node_modules` to only maintain a single install. + # See https://github.com/angular/dev-infra/pull/446#issuecomment-1059820287 for details. + symlink_node_modules = True, + yarn = "//:.yarn/releases/yarn-1.22.17.cjs", yarn_lock = "//:yarn.lock", ) @@ -106,4 +120,6 @@ _dev_infra_browser_repositories() load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories") -esbuild_repositories() +esbuild_repositories( + npm_repository = "npm", +) diff --git a/integration/harness-e2e-cli/package.json b/integration/harness-e2e-cli/package.json index 1d379b9888a5..34bae08fe3e3 100644 --- a/integration/harness-e2e-cli/package.json +++ b/integration/harness-e2e-cli/package.json @@ -43,7 +43,7 @@ "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "~1.7.0", "selenium-webdriver": "3.6.0", - "ts-node": "~9.1.1", + "ts-node": "~10.7.0", "typescript": "file:../../node_modules/typescript", "wait-on": "^6.0.0" } diff --git a/integration/harness-e2e-cli/yarn.lock b/integration/harness-e2e-cli/yarn.lock index b46862b8708a..39cdaf8bffac 100644 --- a/integration/harness-e2e-cli/yarn.lock +++ b/integration/harness-e2e-cli/yarn.lock @@ -2,172 +2,170 @@ # yarn lockfile v1 -"@ampproject/remapping@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.0.2.tgz#a7ebbadb71517dd63298420868f27d98fe230a0a" - integrity sha512-SncaVxs+E3EdoA9xJgHfWPxZfowAgeIsd71VpqCKP6KNKm6s7zSqqvUc70UpKUFsrV3dAmy6qxHoIj5NG+3DiA== +"@ampproject/remapping@2.1.2", "@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== dependencies: - "@jridgewell/resolve-uri" "1.0.0" - sourcemap-codec "1.4.8" + "@jridgewell/trace-mapping" "^0.3.0" -"@angular-devkit/architect@0.1302.0-next.1": - version "0.1302.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0-next.1.tgz#2668f797be01528b063892c7226dabc131f6f5af" - integrity sha512-iIoXlrview9QiMFx/g+p+OnfjPKNU71YwzPBoJRhI4c/yUv7d2dtCxOyZXK+d5a3aXdiDMccIM+DKEUon+LfCA== +"@angular-devkit/architect@0.1400.0-next.6": + version "0.1400.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.6.tgz#6e62d380fb6e37b2b79d4bf14062f15da0bae508" + integrity sha512-0UrdngAmP40VrFEjyYIc8DDiv3j6VLocy5igIkgNCaRe6kGNt3WBsn/MZDBmAXwGl050ZkO57QbcM7CBOhN73w== dependencies: - "@angular-devkit/core" "13.2.0-next.1" + "@angular-devkit/core" "14.0.0-next.6" rxjs "6.6.7" "@angular-devkit/build-angular@file:../../node_modules/@angular-devkit/build-angular": - version "13.2.0-next.1" - dependencies: - "@ampproject/remapping" "1.0.2" - "@angular-devkit/architect" "0.1302.0-next.1" - "@angular-devkit/build-webpack" "0.1302.0-next.1" - "@angular-devkit/core" "13.2.0-next.1" - "@babel/core" "7.16.5" - "@babel/generator" "7.16.5" - "@babel/helper-annotate-as-pure" "7.16.0" - "@babel/plugin-proposal-async-generator-functions" "7.16.5" - "@babel/plugin-transform-async-to-generator" "7.16.5" - "@babel/plugin-transform-runtime" "7.16.5" - "@babel/preset-env" "7.16.5" - "@babel/runtime" "7.16.5" - "@babel/template" "7.16.0" - "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "13.2.0-next.1" + version "14.0.0-next.6" + dependencies: + "@ampproject/remapping" "2.1.2" + "@angular-devkit/architect" "0.1400.0-next.6" + "@angular-devkit/build-webpack" "0.1400.0-next.6" + "@angular-devkit/core" "14.0.0-next.6" + "@babel/core" "7.17.7" + "@babel/generator" "7.17.7" + "@babel/helper-annotate-as-pure" "7.16.7" + "@babel/plugin-proposal-async-generator-functions" "7.16.8" + "@babel/plugin-transform-async-to-generator" "7.16.8" + "@babel/plugin-transform-runtime" "7.17.0" + "@babel/preset-env" "7.16.11" + "@babel/runtime" "7.17.7" + "@babel/template" "7.16.7" + "@discoveryjs/json-ext" "0.5.7" + "@ngtools/webpack" "14.0.0-next.6" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "15.3.0" - circular-dependency-plugin "5.2.2" - copy-webpack-plugin "10.1.0" - core-js "3.19.3" - critters "0.0.15" - css-loader "6.5.1" - esbuild-wasm "0.14.5" + cacache "16.0.1" + copy-webpack-plugin "10.2.4" + core-js "3.21.1" + critters "0.0.16" + css-loader "6.7.1" + esbuild-wasm "0.14.27" glob "7.2.0" https-proxy-agent "5.0.0" - inquirer "8.2.0" + inquirer "8.2.1" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" less-loader "10.2.0" - license-webpack-plugin "4.0.0" + license-webpack-plugin "4.0.2" loader-utils "3.2.0" - mini-css-extract-plugin "2.4.5" - minimatch "3.0.4" + mini-css-extract-plugin "2.6.0" + minimatch "5.0.1" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.5" + postcss "8.4.12" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "6.7.0" + postcss-preset-env "7.4.2" regenerator-runtime "0.13.9" - resolve-url-loader "4.0.0" + resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.45.0" - sass-loader "12.4.0" + sass "1.49.9" + sass-loader "12.6.0" semver "7.3.5" - source-map-loader "3.0.0" + source-map-loader "3.0.1" source-map-support "0.5.21" - stylus "0.55.0" + stylus "0.56.0" stylus-loader "6.2.0" - terser "5.10.0" + terser "5.12.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.65.0" - webpack-dev-middleware "5.2.2" - webpack-dev-server "4.6.0" + webpack "5.70.0" + webpack-dev-middleware "5.3.1" + webpack-dev-server "4.7.4" webpack-merge "5.8.0" - webpack-subresource-integrity "5.0.0" + webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.5" + esbuild "0.14.27" -"@angular-devkit/build-webpack@0.1302.0-next.1": - version "0.1302.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1302.0-next.1.tgz#f4b417f800f2a168eb49d1562c75d3bde6b912bd" - integrity sha512-+e0A6JkjFtGIOiC9duEGHvvqoNbpKu1TBxjyL26Ou8Kgd0vRoyuKvUdDBPO9pqQcrApcB50RCFH5SGkLB06ZkQ== +"@angular-devkit/build-webpack@0.1400.0-next.6": + version "0.1400.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.6.tgz#a3e9507966e7ce655d583baaaad8bc4f3fb2f4d3" + integrity sha512-bBiPQ30+kdgHX9/dExfXs1rEiFTSF3f9Rd0tm/EkYkejdR0+QTOV6o+cDTutts4LKebRV14Fqbj1NQW9MwHTvg== dependencies: - "@angular-devkit/architect" "0.1302.0-next.1" + "@angular-devkit/architect" "0.1400.0-next.6" rxjs "6.6.7" -"@angular-devkit/core@13.2.0-next.1": - version "13.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.2.0-next.1.tgz#599b8ad65db6d19fef03aaacfe526f3d744e8db3" - integrity sha512-a0WbgZifWm+H8dIsODq2yS3MlLxMkPRr2nioxSPdk/l6JYqgpNms+E0jv/nU4WxBIiloPIFik/223VZoddrJww== +"@angular-devkit/core@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.6.tgz#e3956878ba3dfc2687b04ea4469968cd918bb5d9" + integrity sha512-QvQEbI+T61aM1nDZFAdfWdNumq3UzT7Yno1xTu+ODDlFZcsmtWJXu9jrke71mTk8hIIR4GY0fJ1bPoEA+pKUuQ== dependencies: - ajv "8.8.2" + ajv "8.10.0" ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" - magic-string "0.25.7" + magic-string "0.26.1" rxjs "6.6.7" source-map "0.7.3" -"@angular-devkit/schematics@13.2.0-next.1": - version "13.2.0-next.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-13.2.0-next.1.tgz#367a9d782107d5da1fc4a30ccdec4c135af2b09d" - integrity sha512-90UJD+kujR+zAOqfb942P0AQkMcEVdkkAihP7yNSsMSrN5tukTZ45aeBfMvM7gnivqg+ojzGk5mnToM7VhEEIg== +"@angular-devkit/schematics@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-14.0.0-next.6.tgz#920dce1b0e941faec1739ed468adbe9bec39ac64" + integrity sha512-mUaEkkfJZNi+irDmcLIYW2w3AupgImxtV1vmDMO0q0LS4y7bNRKBkSsYB6E3HSReGUgaxnrLL+5VLii2Y1i22A== dependencies: - "@angular-devkit/core" "13.2.0-next.1" + "@angular-devkit/core" "14.0.0-next.6" jsonc-parser "3.0.0" - magic-string "0.25.7" + magic-string "0.26.1" ora "5.4.1" rxjs "6.6.7" "@angular/animations@file:../../node_modules/@angular/animations": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/cdk@file:../../dist/releases/cdk": - version "13.0.0-next.7" + version "14.0.0-next.6" dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" "@angular/cli@file:../../node_modules/@angular/cli": - version "13.2.0-next.1" + version "14.0.0-next.6" dependencies: - "@angular-devkit/architect" "0.1302.0-next.1" - "@angular-devkit/core" "13.2.0-next.1" - "@angular-devkit/schematics" "13.2.0-next.1" - "@schematics/angular" "13.2.0-next.1" + "@angular-devkit/architect" "0.1400.0-next.6" + "@angular-devkit/core" "14.0.0-next.6" + "@angular-devkit/schematics" "14.0.0-next.6" + "@schematics/angular" "14.0.0-next.6" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.3.3" ini "2.0.0" - inquirer "8.2.0" + inquirer "8.2.1" jsonc-parser "3.0.0" - npm-package-arg "8.1.5" - npm-pick-manifest "6.1.1" + npm-package-arg "9.0.1" + npm-pick-manifest "7.0.0" open "8.4.0" ora "5.4.1" - pacote "12.0.2" - resolve "1.20.0" + pacote "13.0.5" + resolve "1.22.0" semver "7.3.5" symbol-observable "4.0.0" uuid "8.3.2" + yargs "17.3.1" "@angular/common@file:../../node_modules/@angular/common": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/compiler-cli@file:../../node_modules/@angular/compiler-cli": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: - "@babel/core" "^7.8.6" - canonical-path "1.0.0" + "@babel/core" "^7.17.2" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" - magic-string "^0.25.0" + magic-string "^0.26.0" reflect-metadata "^0.1.2" semver "^7.0.0" sourcemap-codec "^1.4.8" @@ -175,37 +173,37 @@ yargs "^17.2.1" "@angular/compiler@file:../../node_modules/@angular/compiler": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/core@file:../../node_modules/@angular/core": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/forms@file:../../node_modules/@angular/forms": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/material@file:../../dist/releases/material": - version "13.0.0-next.7" + version "14.0.0-next.6" dependencies: tslib "^2.3.0" "@angular/platform-browser-dynamic@file:../../node_modules/@angular/platform-browser-dynamic": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/platform-browser@file:../../node_modules/@angular/platform-browser": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" "@angular/router@file:../../node_modules/@angular/router": - version "13.2.0-next.2" + version "14.0.0-next.9" dependencies: tslib "^2.3.0" @@ -214,7 +212,7 @@ resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.16.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -226,28 +224,33 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== -"@babel/core@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.5.tgz#924aa9e1ae56e1e55f7184c8bf073a50d8677f5c" - integrity sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.5" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-module-transforms" "^7.16.5" - "@babel/helpers" "^7.16.5" - "@babel/parser" "^7.16.5" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.5" - "@babel/types" "^7.16.0" +"@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" + integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== + +"@babel/core@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" + integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.7" + "@babel/parser" "^7.17.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.1.2" semver "^6.3.0" - source-map "^0.5.0" -"@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.6": +"@babel/core@^7.12.3", "@babel/core@^7.7.5": version "7.16.12" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== @@ -268,16 +271,37 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.5.tgz#26e1192eb8f78e0a3acaf3eede3c6fc96d22bedf" - integrity sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA== +"@babel/core@^7.17.2": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== dependencies: - "@babel/types" "^7.16.0" + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + +"@babel/generator@7.17.7", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== + dependencies: + "@babel/types" "^7.17.0" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.16.5", "@babel/generator@^7.16.8": +"@babel/generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== @@ -286,14 +310,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" - integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-annotate-as-pure@^7.16.7": +"@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== @@ -308,7 +325,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.16.7": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== @@ -318,6 +335,16 @@ browserslist "^4.17.5" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" + integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" @@ -331,6 +358,19 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" +"@babel/helper-create-class-features-plugin@^7.17.6": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" + integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-create-regexp-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" @@ -339,7 +379,7 @@ "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.3.0", "@babel/helper-define-polyfill-provider@^0.3.1": +"@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== @@ -397,14 +437,14 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.5", "@babel/helper-module-transforms@^7.16.7": +"@babel/helper-module-transforms@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== @@ -418,6 +458,20 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helper-module-transforms@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" + integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" @@ -425,12 +479,12 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== -"@babel/helper-remap-async-to-generator@^7.16.5", "@babel/helper-remap-async-to-generator@^7.16.8": +"@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== @@ -457,6 +511,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-simple-access@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" + integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== + dependencies: + "@babel/types" "^7.17.0" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -476,7 +537,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-option@^7.14.5", "@babel/helper-validator-option@^7.16.7": +"@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== @@ -491,7 +552,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.5", "@babel/helpers@^7.16.7": +"@babel/helpers@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== @@ -500,6 +561,15 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helpers@^7.17.7", "@babel/helpers@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" + integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + "@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" @@ -509,19 +579,24 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.5", "@babel/parser@^7.16.7": +"@babel/parser@^7.14.7", "@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-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": +"@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" + integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== @@ -530,16 +605,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" -"@babel/plugin-proposal-async-generator-functions@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz#fd3bd7e0d98404a3d4cbca15a72d533f8c9a2f67" - integrity sha512-C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.5" - "@babel/helper-remap-async-to-generator" "^7.16.5" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@^7.16.5": +"@babel/plugin-proposal-async-generator-functions@7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== @@ -548,7 +614,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.5": +"@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== @@ -556,16 +622,16 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-class-static-block@^7.16.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" - integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== +"@babel/plugin-proposal-class-static-block@^7.16.7": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" + integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.17.6" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.16.5": +"@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== @@ -573,7 +639,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.16.5": +"@babel/plugin-proposal-export-namespace-from@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== @@ -581,7 +647,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.16.5": +"@babel/plugin-proposal-json-strings@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== @@ -589,7 +655,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.5": +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== @@ -597,7 +663,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.5": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== @@ -605,7 +671,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.5": +"@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== @@ -613,18 +679,18 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.16.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" - integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== +"@babel/plugin-proposal-object-rest-spread@^7.16.7": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" + integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== dependencies: - "@babel/compat-data" "^7.16.4" + "@babel/compat-data" "^7.17.0" "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.7" -"@babel/plugin-proposal-optional-catch-binding@^7.16.5": +"@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== @@ -632,7 +698,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.5", "@babel/plugin-proposal-optional-chaining@^7.16.7": +"@babel/plugin-proposal-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== @@ -641,7 +707,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.5": +"@babel/plugin-proposal-private-methods@^7.16.11": version "7.16.11" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== @@ -649,7 +715,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-private-property-in-object@^7.16.5": +"@babel/plugin-proposal-private-property-in-object@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== @@ -659,7 +725,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== @@ -765,23 +831,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.16.5": +"@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-async-to-generator@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz#89c9b501e65bb14c4579a6ce9563f859de9b34e4" - integrity sha512-TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.16.5" - "@babel/helper-remap-async-to-generator" "^7.16.5" - -"@babel/plugin-transform-async-to-generator@^7.16.5": +"@babel/plugin-transform-async-to-generator@7.16.8", "@babel/plugin-transform-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== @@ -790,21 +847,21 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-block-scoped-functions@^7.16.5": +"@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.16.5": +"@babel/plugin-transform-block-scoping@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-classes@^7.16.5": +"@babel/plugin-transform-classes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== @@ -818,21 +875,21 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.5": +"@babel/plugin-transform-computed-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.16.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" - integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== +"@babel/plugin-transform-destructuring@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-dotall-regex@^7.16.5", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== @@ -840,14 +897,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-duplicate-keys@^7.16.5": +"@babel/plugin-transform-duplicate-keys@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-exponentiation-operator@^7.16.5": +"@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== @@ -855,14 +912,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.5": +"@babel/plugin-transform-for-of@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-function-name@^7.16.5": +"@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== @@ -871,21 +928,21 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.16.5": +"@babel/plugin-transform-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-member-expression-literals@^7.16.5": +"@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.16.5": +"@babel/plugin-transform-modules-amd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== @@ -894,28 +951,28 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.5": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" - integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== +"@babel/plugin-transform-modules-commonjs@^7.16.8": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" + integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== dependencies: - "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.5": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== +"@babel/plugin-transform-modules-systemjs@^7.16.7": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" + integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== dependencies: "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.5": +"@babel/plugin-transform-modules-umd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== @@ -923,21 +980,21 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.5": +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" -"@babel/plugin-transform-new-target@^7.16.5": +"@babel/plugin-transform-new-target@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-object-super@^7.16.5": +"@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== @@ -945,54 +1002,54 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.16.5", "@babel/plugin-transform-parameters@^7.16.7": +"@babel/plugin-transform-parameters@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-property-literals@^7.16.5": +"@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.16.5": +"@babel/plugin-transform-regenerator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.16.5": +"@babel/plugin-transform-reserved-words@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.5.tgz#0cc3f01d69f299d5a42cd9ec43b92ea7a777b8db" - integrity sha512-gxpfS8XQWDbQ8oP5NcmpXxtEgCJkbO+W9VhZlOhr0xPyVaRjAQPOv7ZDj9fg0d5s9+NiVvMCE6gbkEkcsxwGRw== +"@babel/plugin-transform-runtime@7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" + integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.16.5" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.16.5": +"@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.16.5": +"@babel/plugin-transform-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== @@ -1000,35 +1057,35 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.16.5": +"@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.5": +"@babel/plugin-transform-template-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-typeof-symbol@^7.16.5": +"@babel/plugin-transform-typeof-symbol@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-escapes@^7.16.5": +"@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-regex@^7.16.5": +"@babel/plugin-transform-unicode-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== @@ -1036,32 +1093,32 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.5.tgz#2e94d922f4a890979af04ffeb6a6b4e44ba90847" - integrity sha512-MiJJW5pwsktG61NDxpZ4oJ1CKxM1ncam9bzRtx9g40/WkLRkxFP6mhpkYV0/DxcciqoiHicx291+eUQrXb/SfQ== +"@babel/preset-env@7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-plugin-utils" "^7.16.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.5" - "@babel/plugin-proposal-class-properties" "^7.16.5" - "@babel/plugin-proposal-class-static-block" "^7.16.5" - "@babel/plugin-proposal-dynamic-import" "^7.16.5" - "@babel/plugin-proposal-export-namespace-from" "^7.16.5" - "@babel/plugin-proposal-json-strings" "^7.16.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.5" - "@babel/plugin-proposal-numeric-separator" "^7.16.5" - "@babel/plugin-proposal-object-rest-spread" "^7.16.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.5" - "@babel/plugin-proposal-optional-chaining" "^7.16.5" - "@babel/plugin-proposal-private-methods" "^7.16.5" - "@babel/plugin-proposal-private-property-in-object" "^7.16.5" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.5" + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -1076,44 +1133,44 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.5" - "@babel/plugin-transform-async-to-generator" "^7.16.5" - "@babel/plugin-transform-block-scoped-functions" "^7.16.5" - "@babel/plugin-transform-block-scoping" "^7.16.5" - "@babel/plugin-transform-classes" "^7.16.5" - "@babel/plugin-transform-computed-properties" "^7.16.5" - "@babel/plugin-transform-destructuring" "^7.16.5" - "@babel/plugin-transform-dotall-regex" "^7.16.5" - "@babel/plugin-transform-duplicate-keys" "^7.16.5" - "@babel/plugin-transform-exponentiation-operator" "^7.16.5" - "@babel/plugin-transform-for-of" "^7.16.5" - "@babel/plugin-transform-function-name" "^7.16.5" - "@babel/plugin-transform-literals" "^7.16.5" - "@babel/plugin-transform-member-expression-literals" "^7.16.5" - "@babel/plugin-transform-modules-amd" "^7.16.5" - "@babel/plugin-transform-modules-commonjs" "^7.16.5" - "@babel/plugin-transform-modules-systemjs" "^7.16.5" - "@babel/plugin-transform-modules-umd" "^7.16.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.5" - "@babel/plugin-transform-new-target" "^7.16.5" - "@babel/plugin-transform-object-super" "^7.16.5" - "@babel/plugin-transform-parameters" "^7.16.5" - "@babel/plugin-transform-property-literals" "^7.16.5" - "@babel/plugin-transform-regenerator" "^7.16.5" - "@babel/plugin-transform-reserved-words" "^7.16.5" - "@babel/plugin-transform-shorthand-properties" "^7.16.5" - "@babel/plugin-transform-spread" "^7.16.5" - "@babel/plugin-transform-sticky-regex" "^7.16.5" - "@babel/plugin-transform-template-literals" "^7.16.5" - "@babel/plugin-transform-typeof-symbol" "^7.16.5" - "@babel/plugin-transform-unicode-escapes" "^7.16.5" - "@babel/plugin-transform-unicode-regex" "^7.16.5" + "@babel/plugin-transform-arrow-functions" "^7.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.8" babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" + core-js-compat "^3.20.2" semver "^6.3.0" "@babel/preset-modules@^0.1.5": @@ -1127,10 +1184,10 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.16.5": - version "7.16.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.5.tgz#7f3e34bf8bdbbadf03fbb7b1ea0d929569c9487a" - integrity sha512-TXWihFIS3Pyv5hzR7j6ihmeLkZfrXGxAr5UfSl8CHf+6q/wpiYDkUau0czckpYG8QmnCIuPpdLtuA9VmuGGyMA== +"@babel/runtime@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" + integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== dependencies: regenerator-runtime "^0.13.4" @@ -1141,16 +1198,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/template@^7.16.0", "@babel/template@^7.16.7": +"@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1159,7 +1207,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.5", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== @@ -1175,6 +1223,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@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.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.4.4": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" @@ -1183,21 +1247,100 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== +"@babel/types@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== + +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== + dependencies: + "@cspotcode/source-map-consumer" "0.8.0" + +"@csstools/postcss-color-function@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.0.3.tgz#251c961a852c99e9aabdbbdbefd50e9a96e8a9ff" + integrity sha512-J26I69pT2B3MYiLY/uzCGKVJyMYVg9TCpXkWsRlt+Yfq+nELUEm72QXIMYXs4xA9cJA4Oqs2EylrfokKl3mJEQ== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-font-format-keywords@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.0.tgz#7e7df948a83a0dfb7eb150a96e2390ac642356a1" + integrity sha512-oO0cZt8do8FdVBX8INftvIA4lUrKUSCcWUf9IwH9IPWOgKT22oAZFXeHLoDK7nhB2SmkNycp5brxfNMRLIhd6Q== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-hwb-function@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.0.tgz#d6785c1c5ba8152d1d392c66f3a6a446c6034f6d" + integrity sha512-VSTd7hGjmde4rTj1rR30sokY3ONJph1reCBTUXqeW1fKwETPy1x4t/XIeaaqbMbC5Xg4SM/lyXZ2S8NELT2TaA== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-ic-unit@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.0.tgz#f484db59fc94f35a21b6d680d23b0ec69b286b7f" + integrity sha512-i4yps1mBp2ijrx7E96RXrQXQQHm6F4ym1TOD0D69/sjDjZvQ22tqiEvaNw7pFZTUO5b9vWRHzbHzP9+UKuw+bA== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-is-pseudo-class@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.1.tgz#472fff2cf434bdf832f7145b2a5491587e790c9e" + integrity sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q== + dependencies: + postcss-selector-parser "^6.0.9" + +"@csstools/postcss-normalize-display-values@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.0.tgz#ce698f688c28517447aedf15a9037987e3d2dc97" + integrity sha512-bX+nx5V8XTJEmGtpWTO6kywdS725t71YSLlxWt78XoHUbELWgoCXeOFymRJmL3SU1TLlKSIi7v52EWqe60vJTQ== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-oklab-function@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.0.2.tgz#87cd646e9450347a5721e405b4f7cc35157b7866" + integrity sha512-QwhWesEkMlp4narAwUi6pgc6kcooh8cC7zfxa9LSQNYXqzcdNUtNBzbGc5nuyAVreb7uf5Ox4qH1vYT3GA1wOg== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" + integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== + dependencies: + postcss-value-parser "^4.2.0" -"@discoveryjs/json-ext@0.5.6": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" - integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@gar/promisify@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + "@hapi/hoek@^9.0.0": version "9.2.1" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" @@ -1226,15 +1369,28 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jridgewell/resolve-uri@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83" - integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA== +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== -"@ngtools/webpack@13.2.0-next.1": - version "13.2.0-next.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.2.0-next.1.tgz#2a4bab214b0f5d8b7e89fd0c1dfca80983065c92" - integrity sha512-pM0pA8ENqDuPvjrjvhq14OzfO1uZ++4cUxQ1mm0gw46bVtWtyLcxqE2RFHSw+qnMeduTu9e70LqcGTjtmipvYA== +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@ngtools/webpack@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.6.tgz#da8717586aba2099a550607a9eae9932379a1433" + integrity sha512-bWCv6bk4iunLvx/RPiZ0BDnRvEKMg2NqRIBKSORC79Ek33vEB1MN+RWER51JAwioE8Qz6qZCKJbVUkI1xXQBvA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1265,21 +1421,30 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" -"@npmcli/git@^2.1.0": +"@npmcli/fs@^2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" - integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" + integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/git@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.0.tgz#466a18980da6b646a8112a7676688ae5347deba3" + integrity sha512-xfSBJ+KBMZWWqRHFbEgIaXG/LtELHrQZMJ72Gkb3yWdHysu/7+VGOs8ME0c3td7QNQX57Ggo3kYL6ylcd70/kA== dependencies: "@npmcli/promise-spawn" "^1.3.2" - lru-cache "^6.0.0" + lru-cache "^7.3.1" mkdirp "^1.0.4" - npm-pick-manifest "^6.1.1" + npm-pick-manifest "^7.0.0" + proc-log "^2.0.0" promise-inflight "^1.0.1" promise-retry "^2.0.1" semver "^7.3.5" which "^2.0.2" -"@npmcli/installed-package-contents@^1.0.6": +"@npmcli/installed-package-contents@^1.0.7": version "1.0.7" resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== @@ -1287,7 +1452,7 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -"@npmcli/move-file@^1.0.1": +"@npmcli/move-file@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== @@ -1295,7 +1460,7 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@npmcli/node-gyp@^1.0.2": +"@npmcli/node-gyp@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== @@ -1307,23 +1472,23 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-2.0.0.tgz#9949c0cab415b17aaac279646db4f027d6f1e743" - integrity sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig== +"@npmcli/run-script@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-3.0.1.tgz#9d10b46586300074cc9e53ef320130a69567e1ce" + integrity sha512-o2fkld5hYwu9sKYzoXTpqEocMnDLaigobaPzLaGB63k/ExmLBTaB+KpfKlpcIePPnuP8RFR+0GDI4KopJCM6Xg== dependencies: - "@npmcli/node-gyp" "^1.0.2" + "@npmcli/node-gyp" "^1.0.3" "@npmcli/promise-spawn" "^1.3.2" - node-gyp "^8.2.0" - read-package-json-fast "^2.0.1" + node-gyp "^9.0.0" + read-package-json-fast "^2.0.3" -"@schematics/angular@13.2.0-next.1": - version "13.2.0-next.1" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.2.0-next.1.tgz#e670e0c9d734dda81e5d712fbbab9a8e25fb3ba7" - integrity sha512-2VUYODbnPETqVyM1xCB4sISZKZNzE7c2uYd/ljMbIg21sFrBD7Ali4gIRpkBaen93+33eAwCFCD9L6wqheUTDA== +"@schematics/angular@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-14.0.0-next.6.tgz#b574ea00a152e8d1859d690d67b76ffe91fc7881" + integrity sha512-vBzsmErpC099TeQ+cgIbGia/MdVklUgGJmghQYJDB5gKC500eP8JM6zAgJ7nTuqRE6zNupAkpt6kCxTr7JTJhQ== dependencies: - "@angular-devkit/core" "13.2.0-next.1" - "@angular-devkit/schematics" "13.2.0-next.1" + "@angular-devkit/core" "14.0.0-next.6" + "@angular-devkit/schematics" "14.0.0-next.6" jsonc-parser "3.0.0" "@sideway/address@^4.1.3": @@ -1348,16 +1513,66 @@ resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" "@types/component-emitter@^1.2.10": version "1.2.11" resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ== +"@types/connect-history-api-fallback@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" + integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + "@types/cookie@^0.4.1": version "0.4.1" resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" @@ -1368,7 +1583,7 @@ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== -"@types/eslint-scope@^3.7.0": +"@types/eslint-scope@^3.7.3": version "3.7.3" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== @@ -1384,11 +1599,35 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.50": +"@types/estree@*": version "0.0.50" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/http-proxy@^1.17.8": version "1.17.8" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.8.tgz#968c66903e7e42b483608030ee85800f22d03f55" @@ -1406,6 +1645,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + "@types/node@*", "@types/node@>=10.0.0": version "17.0.10" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.10.tgz#616f16e9d3a2a3d618136b1be244315d95bd7cab" @@ -1421,6 +1665,16 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + "@types/retry@^0.12.0": version "0.12.1" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" @@ -1431,6 +1685,35 @@ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.19.tgz#28ecede76f15b13553b4e86074d4cf9a0bbe49c4" integrity sha512-OFUilxQg+rWL2FMxtmIgCkUDlJB6pskkpvmew7yeXfzzsOBb5rc+y2+DjHm+r3r1ZPPcJefK3DveNSYWGiy68g== +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + +"@types/ws@^8.2.2": + version "8.5.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" + integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== + dependencies: + "@types/node" "*" + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -1590,7 +1873,12 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn@^8.4.1: +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^8.4.1, acorn@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -1610,10 +1898,10 @@ agent-base@6, agent-base@^6.0.2: dependencies: debug "4" -agentkeepalive@^4.1.3: - version "4.2.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.0.tgz#616ce94ccb41d1a39a45d203d8076fe98713062d" - integrity sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw== +agentkeepalive@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" + integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== dependencies: debug "^4.1.0" depd "^1.1.2" @@ -1646,10 +1934,10 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.8.2: - version "8.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== +ajv@8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -1782,18 +2070,17 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.6.1: - version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== +autoprefixer@^10.4.2: + version "10.4.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" + integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" + browserslist "^4.20.2" + caniuse-lite "^1.0.30001317" + fraction.js "^4.2.0" normalize-range "^0.1.2" - num2fraction "^1.2.2" - picocolors "^0.2.1" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" axios@^0.21.1: version "0.21.4" @@ -1839,13 +2126,13 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" + integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.21.0" babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.1" @@ -1934,6 +2221,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -1941,7 +2235,7 @@ braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.6.4, browserslist@^4.9.1: +browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: version "4.19.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== @@ -1952,6 +2246,17 @@ browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^ node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.19.3, browserslist@^4.20.2: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== + dependencies: + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" + escalade "^3.1.1" + node-releases "^2.0.2" + picocolors "^1.0.0" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -1985,28 +2290,52 @@ bytes@3.1.1: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== -cacache@15.3.0, cacache@^15.0.5, cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== +cacache@16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.1.tgz#bad1d14963d9851840da3dd6c4db3b6a3bdb585d" + integrity sha512-tHPtfdZDqQpZ15eaEZeLspIqS5mK5fOBDZi6AjuqaIi53QNVXH3dQv6uKT3YuUu6uxV/8pjU9in0CoJ8fgaHqw== dependencies: "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" + "@npmcli/move-file" "^1.1.2" chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" + fs-minipass "^2.1.0" + glob "^7.2.0" infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" + lru-cache "^7.5.1" + minipass "^3.1.6" minipass-collect "^1.0.2" minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" ssri "^8.0.1" - tar "^6.0.2" + tar "^6.1.11" + unique-filename "^1.1.1" + +cacache@^16.0.0, cacache@^16.0.2: + version "16.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" + integrity sha512-eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^1.1.2" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.2.0" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.11" unique-filename "^1.1.1" call-bind@^1.0.0, call-bind@^1.0.2: @@ -2027,15 +2356,15 @@ camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286: +caniuse-lite@^1.0.30001286: version "1.0.30001301" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz#ebc9086026534cab0dab99425d9c3b4425e5f450" integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA== -canonical-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" - integrity sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg== +caniuse-lite@^1.0.30001317: + version "1.0.30001320" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285" + integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== chalk@^2.0.0: version "2.4.2" @@ -2059,7 +2388,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1, chokidar@^3.5.2: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.5.1, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -2084,11 +2413,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -circular-dependency-plugin@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" - integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -2283,10 +2607,10 @@ copy-anything@^2.0.1: dependencies: is-what "^3.12.0" -copy-webpack-plugin@10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.1.0.tgz#d27cf1cbe1c9b4ac57f1f96312e6f7da00108d23" - integrity sha512-dPGo+zoW77wiF5LlwkQcZTY7FsrSm7dmovhLDHsjYyciiJ+ZhLFt2EQbw9LRUHJ586JXN0K1A70Kbudclvt00Q== +copy-webpack-plugin@10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe" + integrity sha512-xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg== dependencies: fast-glob "^3.2.7" glob-parent "^6.0.1" @@ -2295,18 +2619,18 @@ copy-webpack-plugin@10.1.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.20.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" - integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== +core-js-compat@^3.20.2, core-js-compat@^3.21.0: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" + integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== dependencies: browserslist "^4.19.1" semver "7.0.0" -core-js@3.19.3: - version "3.19.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.3.tgz#6df8142a996337503019ff3235a7022d7cdf4559" - integrity sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g== +core-js@3.21.1: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" + integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== core-util-is@~1.0.0: version "1.0.3" @@ -2337,13 +2661,13 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -critters@0.0.15: - version "0.0.15" - resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.15.tgz#b1c8d18fd18e614471733d7d749deac0f386b738" - integrity sha512-AE7hkXb3eZUbEvS1SKZa+OU4o2kUOXtzVeE/2E/mjU/0mV1wpBT1HfUCWVRS4zwvkBNJ0AQYsVjAoFm+kIhfdw== +critters@0.0.16: + version "0.0.16" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.16.tgz#ffa2c5561a65b43c53b940036237ce72dcebfe93" + integrity sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A== dependencies: chalk "^4.1.0" - css-select "^4.1.3" + css-select "^4.2.0" parse5 "^6.0.1" parse5-htmlparser2-tree-adapter "^6.0.1" postcss "^8.3.7" @@ -2358,43 +2682,40 @@ cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== +css-blank-pseudo@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" + integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== dependencies: - postcss "^7.0.5" + postcss-selector-parser "^6.0.9" -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== +css-has-pseudo@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" + integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" + postcss-selector-parser "^6.0.9" -css-loader@6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" - integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== +css-loader@6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" + integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== dependencies: icss-utils "^5.1.0" - postcss "^8.2.15" + postcss "^8.4.7" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" + postcss-value-parser "^4.2.0" semver "^7.3.5" -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" +css-prefers-color-scheme@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" + integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== -css-select@^4.1.3: +css-select@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== @@ -2419,15 +2740,10 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== +cssdb@^6.4.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" + integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== cssesc@^3.0.0: version "3.0.0" @@ -2470,12 +2786,12 @@ debug@^3.1.1, debug@^3.2.6: dependencies: ms "^2.1.1" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== +debug@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "2.0.0" + ms "2.1.2" decode-uri-component@^0.2.0: version "0.2.0" @@ -2646,6 +2962,11 @@ electron-to-chromium@^1.4.17: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz#a432f5a5d983ace79278a33057300cf949627e63" integrity sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ== +electron-to-chromium@^1.4.84: + version "1.4.94" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.94.tgz#f19206c977361264a51d53a7ea7ef861a94baa10" + integrity sha512-CoOKsuACoa0PAG3hQXxbh/XDiFcjGuSyGKUi09cjMHOt6RCi7/EXgXhaFF3I+aC89Omudqmkzd0YOQKxwtf/Bg== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -2661,7 +2982,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.12: +encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -2691,10 +3012,10 @@ engine.io@~6.1.0: engine.io-parser "~5.0.0" ws "~8.2.3" -enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== +enhanced-resolve@^5.9.2: + version "5.9.2" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz#0224dcd6a43389ebfb2d55efee517e5466772dd9" + integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -2738,118 +3059,136 @@ es-module-lexer@^0.9.0: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== -esbuild-android-arm64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.5.tgz#a7bc2263e099b67d1d6bc10ad504f396b439a42a" - integrity sha512-Sl6ysm7OAZZz+X3Mv3tOPhjMuSxNmztgoXH4ZZ3Yhbje5emEY6qiTnv3vBSljDlUl/yGaIjqC44qlj8s8G71xA== - -esbuild-darwin-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.5.tgz#589f4b8663feb044f2425e70618f6a9debebaf14" - integrity sha512-VHZl23sM9BOZXcLxk1vTYls8TCAY+/3llw9vHKIWAHDHzBBOlVv26ORK8gnStNMqTjCSGSMoq4T5jOZf2WrJPQ== - -esbuild-darwin-arm64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.5.tgz#c4def102fddd52ccaf23cf00c3274296de6b12db" - integrity sha512-ugPOLgEQPoPLSqAFBajaczt+lcbUZR+V2fby3572h5jf/kFV6UL8LAZ1Ze58hcbKwfvbh4C09kp0PhqPgXKwOg== - -esbuild-freebsd-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.5.tgz#e5152bbf256942fe498dfe4a5f92b8bb148a64b5" - integrity sha512-uP0yOixSHF505o/Kzq9e4bvZblCZp9GGx+a7enLOVSuvIvLmtj2yhZLRPGfbVNkPJXktTKNRAnNGkXHl53M6sw== - -esbuild-freebsd-arm64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.5.tgz#7c1ad25ae9ed101df76dc64d83fcfd2ddba5aed0" - integrity sha512-M99NPu8hlirFo6Fgx0WfX6XxUFdGclUNv3MyyfDtTdNYbccMESwLSACGpE7HvJKWscdjaqajeMu2an9adGNfCw== - -esbuild-linux-32@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.5.tgz#047a2d6d9dd5f85e6e6875b048c41ab2515e12ce" - integrity sha512-hfqln4yb/jf/vPvI/A6aCvpIzqF3PdDmrKiikTohEUuRtvEZz234krtNwEAw5ssCue4NX8BJqrMpCTAHOl3LQw== - -esbuild-linux-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.5.tgz#03793b5a0ae450c725616fc724b3a406cd2da2fa" - integrity sha512-T+OuYPlhytjj5DsvjUXizNjbV+/IrZiaDc9SNUfqiUOXHu0URFqchjhPVbBiBnWykCMJFB6pqNap2Oxth4iuYw== - -esbuild-linux-arm64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.5.tgz#9217283b5ccaf2ec9a31f9b4eaeb5787607252a3" - integrity sha512-ANOzoaH4kfbhEZT0EGY9g1tsZhDA+I0FRwBsj7D8pCU900pXF/l8YAOy5jWFQIb3vjG5+orFc5SqSzAKCisvTQ== - -esbuild-linux-arm@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.5.tgz#e048a681e7f42b12cac1db4a34a84ef17e219333" - integrity sha512-5b10jKJ3lU4BUchOw9TgRResu8UZJf8qVjAzV5muHedonCfBzClGTT4KCNuOcLTJomH3wz6gNVJt1AxMglXnJg== - -esbuild-linux-mips64le@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.5.tgz#c1817c00023d8a1c8fe507e60c63cf8a602bce29" - integrity sha512-sSmGfOUNNB2Nd3tzp1RHSxiJmM5/RUIEP5aAtH+PpOP7FPp15Jcfwq7UNBJ82KLN3SJcwhUeEfcCaUFBzbTKxg== - -esbuild-linux-ppc64le@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.5.tgz#5fa1178c7d7ebd13056c7ccd0604653b0ccc2264" - integrity sha512-usfQrVVIQcpuc/U2NWc7/Ry+m622v+PjJ5eErNPdjWBPlcvD6kXaBTv94uQkVzZOHX3uYqprRrOjseed9ApSYA== - -esbuild-netbsd-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.5.tgz#757572c7664ae6122c8e4dd89a2b6d337c3c27b2" - integrity sha512-Q5KpvPZcPnNEaTjrvuWqvEnlhI2jyi1wWwYunlEUAhx60spQOTy10sdYOA+s1M+LPb6kwvasrZZDmYyQlcVZeA== - -esbuild-openbsd-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.5.tgz#046827c211daa2b6a2241a9f910321e116d2cc24" - integrity sha512-RZzRUu1RYKextJgXkHhAsuhLDvm73YP/wogpUG9MaAGvKTxnKAKRuaw2zJfnbz8iBqBQB2no2PmpVBNbqUTQrw== - -esbuild-sunos-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.5.tgz#3e2b0e79188069a366faec3d5b1b3065b792a733" - integrity sha512-J2ffKsBBWscQlye+/giEgKsQCppwHHFqqt/sh+ojVF+DZy1ve6RpPGwXGcGF6IaZTAI9+Vk4eHleiQxb+PC9Yw== - -esbuild-wasm@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.5.tgz#fdd22d953b5c746db4b22236092391fbca5a2a3a" - integrity sha512-oIC9zxAUE3ce1+2L5H6+ThFQ7sgZViAXGXCTo0i8r+1W+fS9STUp9YSLla/8cL0/HFxfFZ1qRR4XcmIvpxABQQ== - -esbuild-windows-32@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.5.tgz#520f3737719177d76955b8f1c34eca8e8d005eba" - integrity sha512-OTZvuAc1JBnwmeT+hR1+Vmgz6LOD7DggpnwtKMAExruSLxUMl02Z3pyalJ7zKh3gJ/KBRM1JQZLSk4/mFWijeQ== - -esbuild-windows-64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.5.tgz#0100d8aa3c5d57e676aeb37975e948880f751650" - integrity sha512-ZM9rlBDsPEeMVJ1wcpNMXUad9VzYOFeOBUXBi+16HZTvFPy2DkcC2ZWcrByP3IESToD5lvHdjSX/w8rxphjqig== - -esbuild-windows-arm64@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.5.tgz#c1d575f2c6d27159de9b5d273bcde02445f17a1d" - integrity sha512-iK41mKG2LG0AKHE+9g/jDYU5ZQpJObt1uIPSGTiiiJKI5qbHdEck6Gaqq2tmBI933F2zB9yqZIX7IAdxwN/q4A== - -esbuild@0.14.5: - version "0.14.5" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.5.tgz#45ef0287a94cc7a3d367621e4a7ba470a847669f" - integrity sha512-ofwgH4ITPXhkMo2AM39oXpSe5KIyWjxicdqYVy+tLa1lMgxzPCKwaepcrSRtYbgTUMXwquxB1C3xQYpUNaPAFA== +esbuild-android-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" + integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== + +esbuild-android-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" + integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== + +esbuild-darwin-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" + integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== + +esbuild-darwin-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" + integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== + +esbuild-freebsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" + integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== + +esbuild-freebsd-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" + integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== + +esbuild-linux-32@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" + integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== + +esbuild-linux-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" + integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== + +esbuild-linux-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" + integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== + +esbuild-linux-arm@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" + integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== + +esbuild-linux-mips64le@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" + integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== + +esbuild-linux-ppc64le@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" + integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== + +esbuild-linux-riscv64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" + integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== + +esbuild-linux-s390x@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" + integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== + +esbuild-netbsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" + integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== + +esbuild-openbsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" + integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== + +esbuild-sunos-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" + integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== + +esbuild-wasm@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" + integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== + +esbuild-windows-32@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" + integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== + +esbuild-windows-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" + integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== + +esbuild-windows-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" + integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== + +esbuild@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" + integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== optionalDependencies: - esbuild-android-arm64 "0.14.5" - esbuild-darwin-64 "0.14.5" - esbuild-darwin-arm64 "0.14.5" - esbuild-freebsd-64 "0.14.5" - esbuild-freebsd-arm64 "0.14.5" - esbuild-linux-32 "0.14.5" - esbuild-linux-64 "0.14.5" - esbuild-linux-arm "0.14.5" - esbuild-linux-arm64 "0.14.5" - esbuild-linux-mips64le "0.14.5" - esbuild-linux-ppc64le "0.14.5" - esbuild-netbsd-64 "0.14.5" - esbuild-openbsd-64 "0.14.5" - esbuild-sunos-64 "0.14.5" - esbuild-windows-32 "0.14.5" - esbuild-windows-64 "0.14.5" - esbuild-windows-arm64 "0.14.5" + esbuild-android-64 "0.14.27" + esbuild-android-arm64 "0.14.27" + esbuild-darwin-64 "0.14.27" + esbuild-darwin-arm64 "0.14.27" + esbuild-freebsd-64 "0.14.27" + esbuild-freebsd-arm64 "0.14.27" + esbuild-linux-32 "0.14.27" + esbuild-linux-64 "0.14.27" + esbuild-linux-arm "0.14.27" + esbuild-linux-arm64 "0.14.27" + esbuild-linux-mips64le "0.14.27" + esbuild-linux-ppc64le "0.14.27" + esbuild-linux-riscv64 "0.14.27" + esbuild-linux-s390x "0.14.27" + esbuild-netbsd-64 "0.14.27" + esbuild-openbsd-64 "0.14.27" + esbuild-sunos-64 "0.14.27" + esbuild-windows-32 "0.14.27" + esbuild-windows-64 "0.14.27" + esbuild-windows-arm64 "0.14.27" escalade@^3.1.1: version "3.1.1" @@ -3070,11 +3409,6 @@ flatted@^3.2.4: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - follow-redirects@^1.0.0, follow-redirects@^1.14.0: version "1.14.7" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" @@ -3085,6 +3419,11 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -3189,7 +3528,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.2.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: +glob@7.2.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -3230,7 +3569,7 @@ globby@^12.0.2: merge2 "^1.4.1" slash "^4.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== @@ -3288,12 +3627,12 @@ hdr-histogram-percentiles-obj@^3.0.0: resolved "https://registry.yarnpkg.com/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz#9409f4de0c2dda78e61de2d9d78b1e9f3cba283c" integrity sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw== -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== +hosted-git-info@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.0.0.tgz#df7a06678b4ebd722139786303db80fdf302ea56" + integrity sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q== dependencies: - lru-cache "^6.0.0" + lru-cache "^7.5.1" hpack.js@^2.1.6: version "2.1.6" @@ -3351,12 +3690,12 @@ http-parser-js@>=0.5.1: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: - "@tootallnate/once" "1" + "@tootallnate/once" "2" agent-base "6" debug "4" @@ -3407,7 +3746,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: +iconv-lite@^0.6.2, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -3469,11 +3808,6 @@ indent-string@^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" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -3502,10 +3836,10 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -inquirer@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a" - integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== +inquirer@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.1.tgz#e00022e3e8930a92662f760f020686530a84671d" + integrity sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g== dependencies: ansi-escapes "^4.2.1" chalk "^4.1.1" @@ -3517,7 +3851,7 @@ inquirer@8.2.0: mute-stream "0.0.8" ora "^5.4.1" run-async "^2.4.0" - rxjs "^7.2.0" + rxjs "^7.5.5" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" @@ -3557,7 +3891,7 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-core-module@^2.2.0, is-core-module@^2.8.1: +is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -3803,7 +4137,7 @@ json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0: +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== @@ -3962,10 +4296,10 @@ less@4.1.2: needle "^2.5.2" source-map "~0.6.0" -license-webpack-plugin@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.0.tgz#11cf6ac96559f4a987cf55d3d2a33f295ae8f13b" - integrity sha512-b9iMrROrw2fTOJBZ57h0xJfT5/1Cxg4ucYbtpWoukv4Awb2TFPfDDFVHNM8w6SYQpVfB13a5tQJxgGamqwrsyw== +license-webpack-plugin@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz#1e18442ed20b754b82f1adeff42249b81d11aec6" + integrity sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw== dependencies: webpack-sources "^3.0.0" @@ -4052,12 +4386,17 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -magic-string@0.25.7, magic-string@^0.25.0: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== +lru-cache@^7.3.1, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.7.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" + integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== + +magic-string@0.26.1, magic-string@^0.26.0: + version "0.26.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" + integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== dependencies: - sourcemap-codec "^1.4.4" + sourcemap-codec "^1.4.8" make-dir@^2.1.0: version "2.1.0" @@ -4079,34 +4418,34 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^9.0.1, make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.6: + version "10.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.0.tgz#7232ef7002a635c04d4deac325df144f21871408" + integrity sha512-HeP4QlkadP/Op+hE+Une1070kcyN85FshQObku3/rmzRh4zDcKXA19d2L3AQR6UoaX3uZmhSOpTLH15b1vOFvQ== dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" + agentkeepalive "^4.2.1" + cacache "^16.0.2" http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" + http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" + lru-cache "^7.7.1" + minipass "^3.1.6" minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" + minipass-fetch "^2.0.3" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" - negotiator "^0.6.2" + negotiator "^0.6.3" promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" + socks-proxy-agent "^6.1.1" + ssri "^8.0.1" media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memfs@^3.2.2: +memfs@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== @@ -4168,10 +4507,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.5.tgz#191d6c170226037212c483af1180b4010b7b9eef" - integrity sha512-oEIhRucyn1JbT/1tU2BhnwO6ft1jjH1iCX9Gc59WFMg0n5773rQU0oyQ0zzeYFFuBfONaRbQJyGoPtuNseMxjA== +mini-css-extract-plugin@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" + integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w== dependencies: schema-utils "^4.0.0" @@ -4180,7 +4519,14 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -4199,16 +4545,16 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" -minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== +minipass-fetch@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" + integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== dependencies: - minipass "^3.1.0" + minipass "^3.1.6" minipass-sized "^1.0.3" - minizlib "^2.0.0" + minizlib "^2.1.2" optionalDependencies: - encoding "^0.1.12" + encoding "^0.1.13" minipass-flush@^1.0.5: version "1.0.5" @@ -4225,7 +4571,7 @@ minipass-json-stream@^1.0.1: jsonparse "^1.3.1" minipass "^3.0.0" -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: +minipass-pipeline@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== @@ -4239,14 +4585,14 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" -minizlib@^2.0.0, minizlib@^2.1.1: +minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -4261,7 +4607,7 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.5" -mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -4304,6 +4650,11 @@ nanoid@^3.1.30: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== +nanoid@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + needle@^2.5.2: version "2.9.1" resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" @@ -4318,7 +4669,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -negotiator@^0.6.2: +negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -4341,25 +4692,25 @@ node-addon-api@^3.0.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.0.tgz#37a874ea723855f37db091e6c186e5b67a01d4b2" + integrity sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA== node-gyp-build@^4.2.2: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== -node-gyp@^8.2.0: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== +node-gyp@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" + integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" + make-fetch-happen "^10.0.3" nopt "^5.0.0" npmlog "^6.0.0" rimraf "^3.0.2" @@ -4372,6 +4723,11 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== +node-releases@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" + integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== + nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -4379,6 +4735,16 @@ nopt@^5.0.0: dependencies: abbrev "1" +normalize-package-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.0.tgz#1122d5359af21d4cd08718b92b058a658594177c" + integrity sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g== + dependencies: + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -4389,7 +4755,7 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -npm-bundled@^1.1.1: +npm-bundled@^1.1.1, npm-bundled@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== @@ -4408,46 +4774,47 @@ npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.1.5, npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2: - version "8.1.5" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" - integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== +npm-package-arg@9.0.1, npm-package-arg@^9.0.0, npm-package-arg@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.0.1.tgz#db9c6379c45d79db88ee6dd40d3ec6a9d9a4d13a" + integrity sha512-Xs9wznfEAmZAR61qsYH3iN24V/qMYYkvAR5CRQNMvC6PjN2fHtO8y9XP/xdp5K+Icx+u1wMBMgWRPCmAEChSog== dependencies: - hosted-git-info "^4.0.1" - semver "^7.3.4" + hosted-git-info "^5.0.0" + semver "^7.3.5" validate-npm-package-name "^3.0.0" -npm-packlist@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-3.0.0.tgz#0370df5cfc2fcc8f79b8f42b37798dd9ee32c2a9" - integrity sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ== +npm-packlist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-4.0.0.tgz#ba54713f8ee2ad919a6dc9f1b9ec7aa291466703" + integrity sha512-gL6XC/iw9YSmqArmZOGSkyy+yIZf2f7uH0p4Vmxef/irn73vd9/rDkCtvm+a9rh/QK2xGYfCAMOghM06ymzC0A== dependencies: - glob "^7.1.6" + glob "^7.2.0" ignore-walk "^4.0.1" - npm-bundled "^1.1.1" + npm-bundled "^1.1.2" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@6.1.1, npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" - integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== +npm-pick-manifest@7.0.0, npm-pick-manifest@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.0.tgz#e3b18b09678a47e894f90941bef8204ea5d96c3b" + integrity sha512-njM1AcdioFaKd0JSGtLO09YA1WRwctjGQJbnHGmKS+u+uwP8oFvtZtOQWPYdxrnY5eJud3wn8OpH4sEIx6+GEQ== dependencies: npm-install-checks "^4.0.0" npm-normalize-package-bin "^1.0.1" - npm-package-arg "^8.1.2" - semver "^7.3.4" + npm-package-arg "^9.0.0" + semver "^7.3.5" -npm-registry-fetch@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" - integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== +npm-registry-fetch@^13.0.1: + version "13.1.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.1.0.tgz#71bed52e30a4b27441604bbba79c7db8e0e34cb5" + integrity sha512-TIYL5X8CcwDhbFMXFDShNcpG6OMCYK6VzvSr6MUWP20tCU2DJ4ao2qQg3DT+3Pet8mO6/cgbZpon4LMh3duYLg== dependencies: - make-fetch-happen "^9.0.1" - minipass "^3.1.3" - minipass-fetch "^1.3.0" + make-fetch-happen "^10.0.6" + minipass "^3.1.6" + minipass-fetch "^2.0.3" minipass-json-stream "^1.0.1" - minizlib "^2.0.0" - npm-package-arg "^8.0.0" + minizlib "^2.1.2" + npm-package-arg "^9.0.1" + proc-log "^2.0.0" npm-run-path@^4.0.1: version "4.0.1" @@ -4473,11 +4840,6 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - object-assign@^4: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -4600,30 +4962,32 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.2.tgz#14ae30a81fe62ec4fc18c071150e6763e932527c" - integrity sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg== +pacote@13.0.5: + version "13.0.5" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.0.5.tgz#d6f370b11112492d8257ae1178a003b36d4bb261" + integrity sha512-6CYfot3/rUAn3qqzF2d/jrrXm5HlBtvaSgfmg0VtOUAdJ8fbSq21BJwftMGArkL71yXHIbUJ7Bt5B04547HELA== dependencies: - "@npmcli/git" "^2.1.0" - "@npmcli/installed-package-contents" "^1.0.6" + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^2.0.0" - cacache "^15.0.5" + "@npmcli/run-script" "^3.0.1" + cacache "^16.0.0" chownr "^2.0.0" fs-minipass "^2.1.0" infer-owner "^1.0.4" - minipass "^3.1.3" - mkdirp "^1.0.3" - npm-package-arg "^8.0.1" - npm-packlist "^3.0.0" - npm-pick-manifest "^6.0.0" - npm-registry-fetch "^11.0.0" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^4.0.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" promise-retry "^2.0.1" - read-package-json-fast "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" rimraf "^3.0.2" ssri "^8.0.1" - tar "^6.1.0" + tar "^6.1.11" pako@^1.0.3, pako@~1.0.2: version "1.0.11" @@ -4704,7 +5068,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -4719,11 +5083,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -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" @@ -4771,138 +5130,105 @@ portfinder@^1.0.28: debug "^3.1.1" mkdirp "^0.5.5" -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: +postcss-attribute-case-insensitive@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c" + integrity sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ== dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" + postcss-selector-parser "^6.0.2" -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== +postcss-color-functional-notation@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" + integrity sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ== dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" + postcss-value-parser "^4.2.0" -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== +postcss-color-hex-alpha@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.3.tgz#61a0fd151d28b128aa6a8a21a2dad24eebb34d52" + integrity sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw== dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" + postcss-value-parser "^4.2.0" -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== +postcss-color-rebeccapurple@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz#5d397039424a58a9ca628762eb0b88a61a66e079" + integrity sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw== dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" + postcss-value-parser "^4.2.0" -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" +postcss-custom-media@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" + integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== +postcss-custom-properties@^12.1.4: + version "12.1.5" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.5.tgz#e669cfff89b0ea6fc85c45864a32b450cb6b196f" + integrity sha512-FHbbB/hRo/7cxLGkc2NS7cDRIDN1oFqQnUKBiyh4b/gwk8DD8udvmRDpUhEK836kB8ggUCieHVOvZDnF9XhI3g== dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" + postcss-value-parser "^4.2.0" -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== +postcss-custom-selectors@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" + integrity sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q== dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" + postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== +postcss-dir-pseudo-class@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.4.tgz#9afe49ea631f0cb36fa0076e7c2feb4e7e3f049c" + integrity sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw== dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" + postcss-selector-parser "^6.0.9" -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== +postcss-double-position-gradients@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.1.tgz#a12cfdb7d11fa1a99ccecc747f0c19718fb37152" + integrity sha512-jM+CGkTs4FcG53sMPjrrGE0rIvLDdCrqMzgDC5fLI7JHDO7o6QG8C5TQBtExb13hdBdoH9C2QVbG4jo2y9lErQ== dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== +postcss-env-function@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" + integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" + postcss-value-parser "^4.2.0" -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== +postcss-focus-visible@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" + integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== dependencies: - postcss "^7.0.2" + postcss-selector-parser "^6.0.9" -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== +postcss-focus-within@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" + integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== dependencies: - postcss "^7.0.2" + postcss-selector-parser "^6.0.9" -postcss-font-variant@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" - integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== - dependencies: - postcss "^7.0.2" +postcss-font-variant@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" + integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" +postcss-gap-properties@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.3.tgz#6401bb2f67d9cf255d677042928a70a915e6ba60" + integrity sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ== -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== +postcss-image-set-function@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.6.tgz#bcff2794efae778c09441498f40e0c77374870a9" + integrity sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A== dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" + postcss-value-parser "^4.2.0" postcss-import@14.0.2: version "14.0.2" @@ -4913,21 +5239,18 @@ postcss-import@14.0.2: read-cache "^1.0.0" resolve "^1.1.7" -postcss-initial@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" - integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== - dependencies: - postcss "^7.0.2" +postcss-initial@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" + integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== +postcss-lab-function@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.1.2.tgz#b75afe43ba9c1f16bfe9bb12c8109cabd55b5fc2" + integrity sha512-isudf5ldhg4fk16M8viAwAbg6Gv14lVO35N3Z/49NhbwPQ2xbiEoHgrRgpgQojosF4vF7jY653ktB6dDrUOR8Q== dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" postcss-loader@6.2.1: version "6.2.1" @@ -4938,19 +5261,15 @@ postcss-loader@6.2.1: klona "^2.0.5" semver "^7.3.5" -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" +postcss-logical@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" + integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" +postcss-media-minmax@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" + integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== postcss-modules-extract-imports@^3.0.0: version "3.0.0" @@ -4980,119 +5299,103 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== +postcss-nesting@^10.1.2: + version "10.1.3" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.1.3.tgz#f0b1cd7ae675c697ab6a5a5ca1feea4784a2ef77" + integrity sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw== dependencies: - postcss "^7.0.2" + postcss-selector-parser "^6.0.9" -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" +postcss-opacity-percentage@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" + integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" +postcss-overflow-shorthand@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.3.tgz#ebcfc0483a15bbf1b27fdd9b3c10125372f4cbc2" + integrity sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg== -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" +postcss-page-break@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" + integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-selector-matches@^4.0.0: +postcss-place@^7.0.4: + version "7.0.4" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.4.tgz#eb026650b7f769ae57ca4f938c1addd6be2f62c9" + integrity sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-preset-env@7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" + integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== + dependencies: + "@csstools/postcss-color-function" "^1.0.2" + "@csstools/postcss-font-format-keywords" "^1.0.0" + "@csstools/postcss-hwb-function" "^1.0.0" + "@csstools/postcss-ic-unit" "^1.0.0" + "@csstools/postcss-is-pseudo-class" "^2.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.0" + "@csstools/postcss-oklab-function" "^1.0.1" + "@csstools/postcss-progressive-custom-properties" "^1.2.0" + autoprefixer "^10.4.2" + browserslist "^4.19.3" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^6.4.0" + postcss-attribute-case-insensitive "^5.0.0" + postcss-color-functional-notation "^4.2.2" + postcss-color-hex-alpha "^8.0.3" + postcss-color-rebeccapurple "^7.0.2" + postcss-custom-media "^8.0.0" + postcss-custom-properties "^12.1.4" + postcss-custom-selectors "^6.0.0" + postcss-dir-pseudo-class "^6.0.4" + postcss-double-position-gradients "^3.1.0" + postcss-env-function "^4.0.5" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.3" + postcss-image-set-function "^4.0.6" + postcss-initial "^4.0.1" + postcss-lab-function "^4.1.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.1.2" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.3" + postcss-page-break "^3.0.4" + postcss-place "^7.0.4" + postcss-pseudo-class-any-link "^7.1.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" + +postcss-pseudo-class-any-link@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.1.tgz#534eb1dadd9945eb07830dbcc06fb4d5d865b8e0" + integrity sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg== + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" + integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== -postcss-selector-not@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" - integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: +postcss-selector-not@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7" + integrity sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ== dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" + balanced-match "^1.0.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -5100,21 +5403,21 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== +postcss@8.4.12, postcss@^8.2.14, postcss@^8.4.7: + version "8.4.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" + integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" -postcss@8.4.5, postcss@^8.2.15, postcss@^8.3.7: +postcss@^8.3.7: version "8.4.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== @@ -5123,19 +5426,16 @@ postcss@8.4.5, postcss@^8.2.15, postcss@^8.3.7: picocolors "^1.0.0" source-map-js "^1.0.1" -postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== +proc-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.0.tgz#25f8cb346a5d08e27f2422b3ca6ba8379bcbf8ba" + integrity sha512-I/35MfCX2H8jBUhKN8JB8nmqvQo/nKdrBodBY7L3RhDSPPyvOHwLYNmPuhwuJq7a7C3vgFKWGQM+ecPStcvOHA== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -5167,11 +5467,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -5187,11 +5482,6 @@ qs@6.9.6: resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -5226,7 +5516,7 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -read-package-json-fast@^2.0.1: +read-package-json-fast@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== @@ -5234,6 +5524,16 @@ read-package-json-fast@^2.0.1: json-parse-even-better-errors "^2.3.0" npm-normalize-package-bin "^1.0.1" +read-package-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.0.tgz#d62602755547e152a3923c220238d9a7f0b60745" + integrity sha512-1cjk2MV5ONDMn34uxSID3X8NY7VKsXfJnjbcVdFMvHEnJOBzU6MJ7/3yg6QFVZDq5/1yFNrKBUK9kGnonyGP2Q== + dependencies: + glob "^7.2.0" + json-parse-even-better-errors "^2.3.1" + normalize-package-data "^4.0.0" + npm-normalize-package-bin "^1.0.1" + readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -5354,26 +5654,18 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== +resolve-url-loader@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz#ee3142fb1f1e0d9db9524d539cfa166e9314f795" + integrity sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg== dependencies: adjust-sourcemap-loader "^4.0.0" convert-source-map "^1.7.0" loader-utils "^2.0.0" - postcss "^7.0.35" + postcss "^8.2.14" source-map "0.6.1" -resolve@1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^1.1.7, resolve@^1.14.2: +resolve@1.22.0, resolve@^1.1.7, resolve@^1.14.2: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -5441,13 +5733,20 @@ rxjs@6.6.7, rxjs@^6.6.3, "rxjs@file:../../node_modules/rxjs": dependencies: tslib "^1.9.0" -rxjs@^7.1.0, rxjs@^7.2.0: +rxjs@^7.1.0: version "7.5.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== dependencies: tslib "^2.1.0" +rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== + dependencies: + tslib "^2.1.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -5463,18 +5762,18 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@12.4.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.4.0.tgz#260b0d51a8a373bb8e88efc11f6ba5583fea0bcf" - integrity sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg== +sass-loader@12.6.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== dependencies: klona "^2.0.4" neo-async "^2.6.2" -sass@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.45.0.tgz#192ede1908324bb293a3e403d1841dbcaafdd323" - integrity sha512-ONy5bjppoohtNkFJRqdz1gscXamMzN3wQy1YH9qO2FiNpgjLhpz/IPRGg0PpCjyz/pWfCOaNEaiEGCcjOFAjqw== +sass@1.49.9: + version "1.49.9" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" + integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -5528,19 +5827,19 @@ selenium-webdriver@3.6.0: tmp "0.0.30" xml2js "^0.4.17" -selfsigned@^1.10.11: - version "1.10.14" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" - integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== +selfsigned@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" + integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== dependencies: - node-forge "^0.10.0" + node-forge "^1" semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5: +semver@7.3.5, semver@^7.0.0, semver@^7.1.1, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -5700,7 +5999,7 @@ sockjs@^0.3.21: uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.0.0: +socks-proxy-agent@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== @@ -5717,24 +6016,19 @@ socks@^2.6.1: ip "^1.1.5" smart-buffer "^4.1.0" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -source-map-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.0.tgz#f2a04ee2808ad01c774dea6b7d2639839f3b3049" - integrity sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw== +source-map-loader@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" + integrity sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA== dependencies: abab "^2.0.5" - iconv-lite "^0.6.2" - source-map-js "^0.6.2" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" source-map-resolve@^0.6.0: version "0.6.0" @@ -5744,7 +6038,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.21, source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@~0.5.20: +source-map-support@0.5.21, source-map-support@^0.5.5, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -5767,7 +6061,7 @@ source-map@^0.5.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -sourcemap-codec@1.4.8, sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: +sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -5777,6 +6071,32 @@ spawn-command@^0.0.2-1: resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -5805,7 +6125,7 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -ssri@^8.0.0, ssri@^8.0.1: +ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== @@ -5877,18 +6197,16 @@ stylus-loader@6.2.0: klona "^2.0.4" normalize-path "^3.0.0" -stylus@0.55.0: - version "0.55.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.55.0.tgz#bd404a36dd93fa87744a9dd2d2b1b8450345e5fc" - integrity sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw== +stylus@0.56.0: + version "0.56.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.56.0.tgz#13fc85c48082db483c90d2530942fe8b0be988eb" + integrity sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA== dependencies: css "^3.0.0" - debug "~3.1.0" + debug "^4.3.2" glob "^7.1.6" - mkdirp "~1.0.4" safer-buffer "^2.1.2" sax "~1.2.4" - semver "^6.3.0" source-map "^0.7.3" supports-color@^5.3.0: @@ -5927,7 +6245,7 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar@^6.0.2, tar@^6.1.0, tar@^6.1.2: +tar@^6.1.11, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -5950,7 +6268,17 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.10.0, terser@^5.7.2: +terser@5.12.1: + version "5.12.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" + integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== + dependencies: + acorn "^8.5.0" + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + +terser@^5.7.2: version "5.10.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== @@ -6026,16 +6354,23 @@ tree-kill@1.2.2, tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-node@~9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== +ts-node@~10.7.0: + version "10.7.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.7.0.tgz#35d503d0fab3e2baa672a0e94f4b40653c2463f5" + integrity sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A== dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" arg "^4.1.0" create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - source-map-support "^0.5.17" + v8-compile-cache-lib "^3.0.0" yn "3.1.1" tslib@2.3.1, tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.0: @@ -6067,7 +6402,7 @@ typed-assert@^1.0.8: integrity sha512-5NkbXZUlmCE73Fs7gvkp1XXJWHYetPkg60QnQ2NXQmBYNFxbBr2zA8GCtaH4K2s2WhOmSlgiSTmrjrcm5tnM5g== "typescript@file:../../node_modules/typescript": - version "4.5.2" + version "4.6.3" ua-parser-js@^0.7.30: version "0.7.31" @@ -6097,11 +6432,6 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== -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: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -6133,14 +6463,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -6156,6 +6478,19 @@ uuid@8.3.2, uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +v8-compile-cache-lib@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz#0582bcb1c74f3a2ee46487ceecf372e46bce53e8" + integrity sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA== + +validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + validate-npm-package-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" @@ -6206,36 +6541,31 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -webpack-dev-middleware@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" - integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== - dependencies: - colorette "^2.0.10" - memfs "^3.2.2" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-middleware@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz#8fc02dba6e72e1d373eca361623d84610f27be7c" - integrity sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg== +webpack-dev-middleware@5.3.1, webpack-dev-middleware@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz#aa079a8dedd7e58bfeab358a9af7dab304cee57f" + integrity sha512-81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg== dependencies: colorette "^2.0.10" - memfs "^3.2.2" + memfs "^3.4.1" mime-types "^2.1.31" range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz#e8648601c440172d9b6f248d28db98bed335315a" - integrity sha512-oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg== - dependencies: +webpack-dev-server@4.7.4: + version "4.7.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz#d0ef7da78224578384e795ac228d8efb63d5f945" + integrity sha512-nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.2.2" ansi-html-community "^0.0.8" bonjour "^3.5.0" - chokidar "^3.5.2" + chokidar "^3.5.3" colorette "^2.0.10" compression "^1.7.4" connect-history-api-fallback "^1.6.0" @@ -6250,14 +6580,13 @@ webpack-dev-server@4.6.0: p-retry "^4.5.0" portfinder "^1.0.28" schema-utils "^4.0.0" - selfsigned "^1.10.11" + selfsigned "^2.0.0" serve-index "^1.9.1" sockjs "^0.3.21" spdy "^4.0.2" strip-ansi "^7.0.0" - url "^0.11.0" - webpack-dev-middleware "^5.2.1" - ws "^8.1.0" + webpack-dev-middleware "^5.3.1" + ws "^8.4.2" webpack-merge@5.8.0: version "5.8.0" @@ -6267,25 +6596,25 @@ webpack-merge@5.8.0: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^3.0.0, webpack-sources@^3.2.2: +webpack-sources@^3.0.0, webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack-subresource-integrity@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.0.0.tgz#8268b9cc1a229a8f8129ca9eeb59cde52185b6b1" - integrity sha512-x9514FpLRydO+UAQ8DY4aLtCjxmdLkuQVcDFN1kGzuusREYJ1B0rzk/iIlWiL6dnvrhEGFj2+UsdxDkP8Z4UKg== +webpack-subresource-integrity@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" + integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== dependencies: typed-assert "^1.0.8" -webpack@5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== +webpack@5.70.0: + version "5.70.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" + integrity sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw== dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" @@ -6293,12 +6622,12 @@ webpack@5.65.0: acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" + enhanced-resolve "^5.9.2" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" json-parse-better-errors "^1.0.2" loader-runner "^4.2.0" mime-types "^2.1.27" @@ -6307,7 +6636,7 @@ webpack@5.65.0: tapable "^2.1.1" terser-webpack-plugin "^5.1.3" watchpack "^2.3.1" - webpack-sources "^3.2.2" + webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -6363,10 +6692,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^8.1.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.2.tgz#18e749868d8439f2268368829042894b6907aa0b" - integrity sha512-Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA== +ws@^8.4.2: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== ws@~8.2.3: version "8.2.3" @@ -6411,31 +6740,31 @@ yargs-parser@^21.0.0: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== -yargs@^16.1.1, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@17.3.1, yargs@^17.2.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.0.0" -yargs@^17.2.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== +yargs@^16.1.1, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.3" + string-width "^4.2.0" y18n "^5.0.5" - yargs-parser "^21.0.0" + yargs-parser "^20.2.2" yn@3.1.1: version "3.1.1" diff --git a/package.json b/package.json index 72442b851232..ea3c09d5b4a5 100644 --- a/package.json +++ b/package.json @@ -72,27 +72,26 @@ "@angular-devkit/build-angular": "13.3.0", "@angular-devkit/core": "13.3.0", "@angular-devkit/schematics": "13.3.0", - "@angular/bazel": "13.3.0", + "@angular/bazel": "14.0.0-next.9", "@angular/cli": "13.3.0", "@angular/compiler-cli": "13.3.0", - "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#7544378ad9aa94cdfe256aaaa923c107f45175a2", + "@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#04424ec1cd38a1d12786ffdaa8005645e6640687", "@angular/localize": "13.3.0", "@angular/platform-browser-dynamic": "13.3.0", "@angular/platform-server": "13.3.0", "@angular/router": "13.3.0", "@axe-core/webdriverjs": "^4.3.2", "@babel/core": "^7.16.12", - "@bazel/bazelisk": "1.11.0", - "@bazel/buildifier": "4.2.5", - "@bazel/concatjs": "4.4.5", - "@bazel/esbuild": "4.4.5", - "@bazel/ibazel": "0.15.10", - "@bazel/jasmine": "4.4.5", - "@bazel/protractor": "4.4.5", - "@bazel/rollup": "4.4.5", - "@bazel/runfiles": "4.4.5", - "@bazel/terser": "4.4.5", - "@bazel/typescript": "4.4.5", + "@bazel/bazelisk": "~1.11.0", + "@bazel/buildifier": "~5.0.1", + "@bazel/concatjs": "5.3.0", + "@bazel/esbuild": "5.3.0", + "@bazel/ibazel": "~0.16.2", + "@bazel/jasmine": "5.3.0", + "@bazel/protractor": "5.3.0", + "@bazel/rollup": "5.3.0", + "@bazel/runfiles": "5.3.0", + "@bazel/terser": "5.3.0", "@firebase/app-types": "^0.7.0", "@material/animation": "14.0.0-canary.9736ddce9.0", "@material/auto-init": "14.0.0-canary.9736ddce9.0", diff --git a/src/BUILD.bazel b/src/BUILD.bazel index 5bd9ad3bf60e..801ab5ea6c12 100644 --- a/src/BUILD.bazel +++ b/src/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") +load("@npm//@bazel/concatjs:index.bzl", "ts_config") load("//src/cdk:config.bzl", "CDK_ENTRYPOINTS") load("//src/material:config.bzl", "MATERIAL_ENTRYPOINTS", "MATERIAL_TESTING_ENTRYPOINTS") load("//tools/dgeni:index.bzl", "dgeni_api_docs") diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel index 196b3c6c93cc..15af1f7e4224 100644 --- a/tools/BUILD.bazel +++ b/tools/BUILD.bazel @@ -2,10 +2,6 @@ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") package(default_visibility = ["//visibility:public"]) -exports_files([ - "multiple-node-versions.patch", -]) - # Bazel config setting that matches if the partial compilation flag # for `@angular/bazel` is set to `True`. config_setting( diff --git a/tools/angular/index.bzl b/tools/angular/index.bzl index 5481dd5f3e75..5782bd391c77 100644 --- a/tools/angular/index.bzl +++ b/tools/angular/index.bzl @@ -23,9 +23,14 @@ def _linker_mapping_impl(ctx): sources = depset(ctx.files.srcs), ), LinkerPackageMappingInfo( - mappings = { - ctx.attr.module_name: "%s/%s" % (ctx.label.package, ctx.attr.subpath), - }, + mappings = depset([ + struct( + package_name = ctx.attr.module_name, + package_path = "", + link_path = "%s/%s" % (ctx.label.package, ctx.attr.subpath), + ), + ]), + node_modules_roots = depset([]), ), ] diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 45c92df52721..548b8273ebe9 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -12,7 +12,7 @@ load("@npm//@angular/dev-infra-private/bazel/http-server:index.bzl", _http_serve load("@npm//@angular/dev-infra-private/bazel:extract_js_module_output.bzl", "extract_js_module_output") load("@npm//@bazel/jasmine:index.bzl", _jasmine_node_test = "jasmine_node_test") load("@npm//@bazel/protractor:index.bzl", _protractor_web_test_suite = "protractor_web_test_suite") -load("@npm//@bazel/typescript:index.bzl", _ts_library = "ts_library") +load("@npm//@bazel/concatjs:index.bzl", _ts_library = "ts_library") load("@npm//tsec:index.bzl", _tsec_test = "tsec_test") load("//:packages.bzl", "NO_STAMP_NPM_PACKAGE_SUBSTITUTIONS", "NPM_PACKAGE_SUBSTITUTIONS") load("//:pkg-externals.bzl", "PKG_EXTERNALS") @@ -338,16 +338,10 @@ def node_integration_test(setup_chromium = False, node_repository = "nodejs", ** environment = kwargs.pop("environment", {}) tool_mappings = kwargs.pop("tool_mappings", {}) - data += [ - # The Yarn files also need to be part of the integration test as runfiles - # because the `yarn_bin` target is not a self-contained standalone binary. - "@%s//:yarn_files" % node_repository, - ] - # Setup Yarn and Node as tools in a way that allows for them to be overridden. tool_mappings = dict({ - "@%s//:yarn_bin" % node_repository: "yarn", - "@%s//:node_bin" % node_repository: "node", + "//:yarn_vendored": "yarn", + "@%s_toolchains//:resolved_toolchain" % node_repository: "node", }, **tool_mappings) # If Chromium should be configured, add it to the runfiles and expose its binaries diff --git a/tools/multiple-node-versions.patch b/tools/multiple-node-versions.patch deleted file mode 100644 index 9a4d9da5faeb..000000000000 --- a/tools/multiple-node-versions.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git nodejs/private/toolchains_repo.bzl nodejs/private/toolchains_repo.bzl -index 9dcdc60..4927e75 100644 ---- nodejs/private/toolchains_repo.bzl -+++ nodejs/private/toolchains_repo.bzl -@@ -70,7 +70,7 @@ def _toolchains_repo_impl(repository_ctx): - - # Forward all the providers - def _resolved_toolchain_impl(ctx): -- toolchain_info = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"] -+ toolchain_info = ctx.toolchains["@build_bazel_rules_nodejs//nodejs:toolchain_type"] - return [ - toolchain_info, - toolchain_info.default, -@@ -82,7 +82,7 @@ def _resolved_toolchain_impl(ctx): - # https://cs.opensource.google/bazel/bazel/+/master:tools/jdk/java_toolchain_alias.bzl - resolved_toolchain = rule( - implementation = _resolved_toolchain_impl, -- toolchains = ["@rules_nodejs//nodejs:toolchain_type"], -+ toolchains = ["@build_bazel_rules_nodejs//nodejs:toolchain_type"], - incompatible_use_toolchain_transition = True, - ) - """ -@@ -107,7 +107,7 @@ toolchain( - exec_compatible_with = {compatible_with}, - target_compatible_with = {compatible_with}, - toolchain = "@{user_node_repository_name}_{platform}//:node_toolchain", -- toolchain_type = "@rules_nodejs//nodejs:toolchain_type", -+ toolchain_type = "@build_bazel_rules_nodejs//nodejs:toolchain_type", - ) - """.format( - platform = platform, -diff --git nodejs/repositories.bzl nodejs/repositories.bzl -index 494217b..6dfb8fb 100644 ---- nodejs/repositories.bzl -+++ nodejs/repositories.bzl -@@ -690,7 +690,7 @@ filegroup( - # the platform attribute is only set when used from this file, not from build_bazel_rules_nodejs - if repository_ctx.attr.platform: - build_content += """ --load("@rules_nodejs//nodejs:toolchain.bzl", "node_toolchain") -+load("@build_bazel_rules_nodejs//nodejs:toolchain.bzl", "node_toolchain") - node_toolchain(name = "node_toolchain", target_tool = ":node_bin") - """ - repository_ctx.file("BUILD.bazel", content = build_content) diff --git a/tools/postinstall/apply-patches.js b/tools/postinstall/apply-patches.js index 143218c2e825..5b87ebf1a698 100644 --- a/tools/postinstall/apply-patches.js +++ b/tools/postinstall/apply-patches.js @@ -14,7 +14,7 @@ const chalk = require('chalk'); * Version of the post install patch. Needs to be incremented when * existing patches or edits have been modified. */ -const PATCH_VERSION = 14; +const PATCH_VERSION = 15; /** Path to the project directory. */ const projectDir = path.join(__dirname, '../..'); @@ -55,6 +55,9 @@ function applyPatches() { // Switches the devmode output for Angular Bazel to ES2020 target and module. applyPatch(path.join(__dirname, './devmode-es2020-bazel.patch')); + // Workaround until https://github.com/google/tsec/pull/25 is available. + searchAndReplace('@bazel/typescript', '@bazel/concatjs', 'node_modules/tsec/index.bzl'); + // More info in https://github.com/angular/angular/pull/33786 shelljs.rm('-rf', [ 'node_modules/rxjs/add/', diff --git a/yarn.lock b/yarn.lock index 607d89251c70..2a32406b2d65 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,12 +25,12 @@ "@angular-devkit/core" "13.3.0" rxjs "6.6.7" -"@angular-devkit/architect@0.1400.0-next.3": - version "0.1400.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.3.tgz#5ed4bc74b44c8b08b668499b0f56cfeb735815e5" - integrity sha512-80ibgReUoIwT/Cvc9fc6Kq8pcVp6BVIneYlx0SMV1g6yw0nuSLpCCn5AuUW7kzpFSpSXTOPmt6QctzgWRgGUNQ== +"@angular-devkit/architect@0.1400.0-next.6": + version "0.1400.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1400.0-next.6.tgz#6e62d380fb6e37b2b79d4bf14062f15da0bae508" + integrity sha512-0UrdngAmP40VrFEjyYIc8DDiv3j6VLocy5igIkgNCaRe6kGNt3WBsn/MZDBmAXwGl050ZkO57QbcM7CBOhN73w== dependencies: - "@angular-devkit/core" "14.0.0-next.3" + "@angular-devkit/core" "14.0.0-next.6" rxjs "6.6.7" "@angular-devkit/build-angular@13.3.0": @@ -105,76 +105,76 @@ optionalDependencies: esbuild "0.14.22" -"@angular-devkit/build-angular@14.0.0-next.3": - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.3.tgz#3c7effb2ce3f5774c8a52d39379ea58478335edb" - integrity sha512-ksAwJDc1LEAu+Ekt3rEovSNcbIzsyGJZ1mqE8FokLy3Bz4sRrBVFxQ/Uzg8aj3dpeV9QQyNzj8D+ASWueBpdZw== +"@angular-devkit/build-angular@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-14.0.0-next.6.tgz#b16c9a576b7807045886eed9e4b3bd0f99a2d0f4" + integrity sha512-vH8zXfcmoumBXsIbPqubC/hGxu066+rntQ2GzcJkcYvNdsOB9TIPkLtXib9/SKu2QEG0zJLjOlHtZgkyMeujIA== dependencies: "@ampproject/remapping" "2.1.2" - "@angular-devkit/architect" "0.1400.0-next.3" - "@angular-devkit/build-webpack" "0.1400.0-next.3" - "@angular-devkit/core" "14.0.0-next.3" - "@babel/core" "7.17.5" - "@babel/generator" "7.17.3" + "@angular-devkit/architect" "0.1400.0-next.6" + "@angular-devkit/build-webpack" "0.1400.0-next.6" + "@angular-devkit/core" "14.0.0-next.6" + "@babel/core" "7.17.7" + "@babel/generator" "7.17.7" "@babel/helper-annotate-as-pure" "7.16.7" "@babel/plugin-proposal-async-generator-functions" "7.16.8" "@babel/plugin-transform-async-to-generator" "7.16.8" "@babel/plugin-transform-runtime" "7.17.0" "@babel/preset-env" "7.16.11" - "@babel/runtime" "7.17.2" + "@babel/runtime" "7.17.7" "@babel/template" "7.16.7" - "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "14.0.0-next.3" + "@discoveryjs/json-ext" "0.5.7" + "@ngtools/webpack" "14.0.0-next.6" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "15.3.0" + cacache "16.0.1" copy-webpack-plugin "10.2.4" core-js "3.21.1" critters "0.0.16" - css-loader "6.6.0" - esbuild-wasm "0.14.23" + css-loader "6.7.1" + esbuild-wasm "0.14.27" glob "7.2.0" https-proxy-agent "5.0.0" - inquirer "8.2.0" + inquirer "8.2.1" jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" less-loader "10.2.0" license-webpack-plugin "4.0.2" loader-utils "3.2.0" - mini-css-extract-plugin "2.5.3" - minimatch "5.0.0" + mini-css-extract-plugin "2.6.0" + minimatch "5.0.1" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.2.0" - postcss "8.4.6" + postcss "8.4.12" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "7.4.1" + postcss-preset-env "7.4.2" regenerator-runtime "0.13.9" resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.49.8" + sass "1.49.9" sass-loader "12.6.0" semver "7.3.5" source-map-loader "3.0.1" source-map-support "0.5.21" stylus "0.56.0" stylus-loader "6.2.0" - terser "5.11.0" + terser "5.12.1" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.69.1" + webpack "5.70.0" webpack-dev-middleware "5.3.1" webpack-dev-server "4.7.4" webpack-merge "5.8.0" webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.23" + esbuild "0.14.27" "@angular-devkit/build-webpack@0.1303.0": version "0.1303.0" @@ -184,12 +184,12 @@ "@angular-devkit/architect" "0.1303.0" rxjs "6.6.7" -"@angular-devkit/build-webpack@0.1400.0-next.3": - version "0.1400.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.3.tgz#0ee3729ae2f9adb6186752d0793b25a7996ec145" - integrity sha512-4h/LxjdrM1kt2rZJGlX6wdAryUlg3gpuXc7egQaohb9oEAp3wALCl1MwTAyurCFU5lP8CrGYuWJoiKUkYhUqFg== +"@angular-devkit/build-webpack@0.1400.0-next.6": + version "0.1400.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1400.0-next.6.tgz#a3e9507966e7ce655d583baaaad8bc4f3fb2f4d3" + integrity sha512-bBiPQ30+kdgHX9/dExfXs1rEiFTSF3f9Rd0tm/EkYkejdR0+QTOV6o+cDTutts4LKebRV14Fqbj1NQW9MwHTvg== dependencies: - "@angular-devkit/architect" "0.1400.0-next.3" + "@angular-devkit/architect" "0.1400.0-next.6" rxjs "6.6.7" "@angular-devkit/core@13.3.0": @@ -204,15 +204,15 @@ rxjs "6.6.7" source-map "0.7.3" -"@angular-devkit/core@14.0.0-next.3": - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.3.tgz#2e4fad0f7b09c5604c50ae88bd177f8c21d81341" - integrity sha512-WmvlBb9N3xL5dvrTBMIkIOcrjMPhCBOEuqmaX3BJRrWDfniKPSs5Op+myG04/3JuM2kMXTsibp1Fmo8V12tlcg== +"@angular-devkit/core@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-14.0.0-next.6.tgz#e3956878ba3dfc2687b04ea4469968cd918bb5d9" + integrity sha512-QvQEbI+T61aM1nDZFAdfWdNumq3UzT7Yno1xTu+ODDlFZcsmtWJXu9jrke71mTk8hIIR4GY0fJ1bPoEA+pKUuQ== dependencies: ajv "8.10.0" ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" - magic-string "0.25.7" + magic-string "0.26.1" rxjs "6.6.7" source-map "0.7.3" @@ -234,10 +234,10 @@ dependencies: tslib "^2.3.0" -"@angular/bazel@13.3.0": - version "13.3.0" - resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-13.3.0.tgz#e63e6a78b8a39425f2e96c91afa7488e8e6242e4" - integrity sha512-anQIhBfE4OfAPOQW+kqdpCCpAfOnNT3o5Z49WYGLdYQ/eoGfnW0El90rcC7yluR3wZ6t/9udaH1ebdD+t9z2bQ== +"@angular/bazel@14.0.0-next.9": + version "14.0.0-next.9" + resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-14.0.0-next.9.tgz#720c9bd4e539354129bea7c144e912b88fc280a7" + integrity sha512-0827Ha72vLhBbgrsJM1827Uvp61yncammsBSGtxdnd2jWU2rMhA0Dj4PCf46mHOziSNWj1z4JwSNy7QjV9V3dQ== dependencies: "@microsoft/api-extractor" "7.19.4" shelljs "^0.8.5" @@ -331,21 +331,21 @@ dependencies: tslib "^2.3.0" -"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#7544378ad9aa94cdfe256aaaa923c107f45175a2": - version "0.0.0-8feef7a4ad17f94a98b55e3fa7ce4697bfaef895" - resolved "https://github.com/angular/dev-infra-private-builds.git#7544378ad9aa94cdfe256aaaa923c107f45175a2" +"@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#04424ec1cd38a1d12786ffdaa8005645e6640687": + version "0.0.0-2e2d1a6beeb26b0cc61c70f157f1dc073cdcf235" + resolved "https://github.com/angular/dev-infra-private-builds.git#04424ec1cd38a1d12786ffdaa8005645e6640687" dependencies: - "@angular-devkit/build-angular" "14.0.0-next.3" + "@angular-devkit/build-angular" "14.0.0-next.6" "@angular/benchpress" "0.3.0" "@babel/core" "^7.16.0" "@bazel/buildifier" "^5.0.1" - "@bazel/concatjs" "4.6.0" - "@bazel/esbuild" "4.6.0" - "@bazel/protractor" "4.6.0" - "@bazel/runfiles" "4.6.0" - "@bazel/terser" "4.6.0" - "@bazel/typescript" "4.6.0" - "@microsoft/api-extractor" "7.19.4" + "@bazel/concatjs" "5.3.0" + "@bazel/esbuild" "5.3.0" + "@bazel/protractor" "5.3.0" + "@bazel/runfiles" "5.3.0" + "@bazel/terser" "5.3.0" + "@bazel/typescript" "5.3.0" + "@microsoft/api-extractor" "7.19.5" "@types/browser-sync" "^2.26.3" "@types/node" "16.10.9" "@types/node-fetch" "^2.5.10" @@ -361,11 +361,11 @@ prettier "^2.3.2" protractor "^7.0.0" selenium-webdriver "4.1.1" - send "^0.17.2" + send "^0.18.0" tmp "^0.2.1" "true-case-path" "^2.2.1" tslib "^2.3.0" - typescript "~4.5.0" + typescript "~4.6.2" uuid "^8.3.2" yargs "^17.0.0" zone.js "^0.11.4" @@ -504,18 +504,18 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@7.17.5", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.16.12": - version "7.17.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" - integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== +"@babel/core@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" + integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.3" + "@babel/generator" "^7.17.7" + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-module-transforms" "^7.17.7" + "@babel/helpers" "^7.17.7" + "@babel/parser" "^7.17.7" "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" @@ -525,18 +525,18 @@ json5 "^2.1.2" semver "^6.3.0" -"@babel/core@^7.17.2": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" - integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== +"@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.16.12", "@babel/core@^7.17.2": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.17.7" "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.7" - "@babel/parser" "^7.17.7" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" @@ -555,19 +555,19 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.3", "@babel/generator@^7.16.8", "@babel/generator@^7.17.3": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" - integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== +"@babel/generator@7.17.7", "@babel/generator@^7.17.0", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" + integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== dependencies: "@babel/types" "^7.17.0" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.17.0", "@babel/generator@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== +"@babel/generator@^7.16.8": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" + integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== dependencies: "@babel/types" "^7.17.0" jsesc "^2.5.1" @@ -802,7 +802,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.7", "@babel/helpers@^7.17.2": +"@babel/helpers@^7.16.7": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== @@ -811,10 +811,10 @@ "@babel/traverse" "^7.17.0" "@babel/types" "^7.17.0" -"@babel/helpers@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127" - integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== +"@babel/helpers@^7.17.2", "@babel/helpers@^7.17.7": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" + integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" @@ -829,12 +829,17 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" + integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== + +"@babel/parser@^7.16.12": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== -"@babel/parser@^7.17.0", "@babel/parser@^7.17.7": +"@babel/parser@^7.17.0": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== @@ -1453,7 +1458,14 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.17.2", "@babel/runtime@^7.8.4": +"@babel/runtime@7.17.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" + integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.8.4": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== @@ -1493,132 +1505,80 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@bazel/bazelisk@1.11.0": +"@bazel/bazelisk@~1.11.0": version "1.11.0" resolved "https://registry.yarnpkg.com/@bazel/bazelisk/-/bazelisk-1.11.0.tgz#f98d8438b4c14e3328126618b96775d271caa5f8" integrity sha512-lxiQzVqSGDG0PIDQGJdVDjp7T+50p5NnM4EnRJa76mkZp6u5ul19GJNKhPKi81TZQALZEZDxAgxVqQKkWTUOxA== -"@bazel/buildifier@4.2.5": - version "4.2.5" - resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-4.2.5.tgz#de51339613e2ca1f39dda6ade8b0062e6575b3e1" - integrity sha512-lTg3YEuCO1e7dCc/fLUWu5R7KOHmpPDSkoSeT+rPrszFfxqrWGJTSxZbtk/4AJZnuC3p704po8RUJinPtmxTmQ== - -"@bazel/buildifier@^5.0.1": +"@bazel/buildifier@^5.0.1", "@bazel/buildifier@~5.0.1": version "5.0.1" resolved "https://registry.yarnpkg.com/@bazel/buildifier/-/buildifier-5.0.1.tgz#8946848cf2c28717ec8fb4ff46e424aeba82be74" integrity sha512-3eMWxdFtcQf+Jw55PZqD/I9N785wp6QQ2k/SZst7R64KAGrS8Ke1EhPXaZHZBkXao5GXrm6SNLDV287xg2kguA== -"@bazel/concatjs@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-4.4.5.tgz#105a156f412da5a43b37724b50d29ee5ee4ff678" - integrity sha512-pmoRJFaQZn70Q/c4uIPYxCg7ovoju2P6yut9Wl5SfnhBkAJofb1z7YRe6ccfV25EK0PdSjjRP71kuBnCMaH5yA== - dependencies: - protobufjs "6.8.8" - source-map-support "0.5.9" - tsutils "3.21.0" - -"@bazel/concatjs@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-4.6.0.tgz#7ed6ea8e1065057544fba351ca22bc2143d8a3a9" - integrity sha512-KtPpQxN/JcRHM8Miof8kDpgHczPycDlOl6mggKdbhMppBh64FKIIyNAKnngKswaFU+2WJiJs17YwDEJBB+Yqrg== +"@bazel/concatjs@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/concatjs/-/concatjs-5.3.0.tgz#40abb0690d4109ece1e67a514fba8cd54fced691" + integrity sha512-mLxGpz7JsRIXb1TTi8p56/1IM7FqcN2deUchuXIiSmIUq+85vYcV3UMnR6HZeJh5PGBCwxDNeqkZ/hUAVojaSw== dependencies: protobufjs "6.8.8" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/esbuild@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-4.4.5.tgz#17331868ac42f2d2c03afc776847dea2d0e650d4" - integrity sha512-CImfEr+1ecouGFVGgfCV6Zvx0I3Lw0abxkI8R3BmMleyQcLj8FejCGSFhxIJLKLuxGh/OJXjxoE+PAMTON4O9Q== - -"@bazel/esbuild@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-4.6.0.tgz#68bf9506c104ed4076a0227c4066e3f5df847ee3" - integrity sha512-pu4wSBNokYKLisHlXdHxu3UX19vFL4wNQJ45cyekfiWF2szWjWR8x/ZP15a49ChmvP6aelwrURahuhhgzfluOQ== +"@bazel/esbuild@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-5.3.0.tgz#b1c6dfa92d7e56952231ea3a0a3eb02804535d7f" + integrity sha512-UshiI+YFQmSoYW4ej2IxLNnZ2hceIsggTMYTpr16sx0FMOaFQuI3zV0w1/wu+coT18cco0bV/5AZBPV0I0f+Ug== -"@bazel/ibazel@0.15.10": - version "0.15.10" - resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.15.10.tgz#cf0cff1aec6d8e7bb23e1fc618d09fbd39b7a13f" - integrity sha512-0v+OwCQ6fsGFa50r6MXWbUkSGuWOoZ22K4pMSdtWiL5LKFIE4kfmMmtQS+M7/ICNwk2EIYob+NRreyi/DGUz5A== +"@bazel/ibazel@~0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.16.2.tgz#05dd7f06659759fda30f87b15534f1e42f1201bb" + integrity sha512-KgqAWMH0emL6f3xH6nqyTryoBMqlJ627LBIe9PT1PRRQPz2FtHib3FIHJPukp1slzF3hJYZvdiVwgPnHbaSOOA== -"@bazel/jasmine@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-4.4.5.tgz#e9540f0bffe286f23ce47ab59e6e015cc14c21af" - integrity sha512-BDWKtDmfux89TtWOhSMSuA01cdaNmdU9/8zrMNQopkTGDBmaDyPYvaxyhBAvQQLMiloOUBcS2eMO/fcSKRyg/A== +"@bazel/jasmine@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-5.3.0.tgz#2fc450deebb4f886a6f46cdce2fa0b5826e49fd0" + integrity sha512-USGQ9sdEOmeCbOJt5mNu2eGd12F/fIEG+tuhw5CXWZ7aYBFLCub2LlQ2vAcXSFWbtZjNwjTvCcGi35cqUyzAcw== dependencies: c8 "~7.5.0" - jasmine-reporters "~2.4.0" - -"@bazel/protractor@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-4.4.5.tgz#b406e85c3d59015e0895c00700396ddd0d58d755" - integrity sha512-pW4hwkpLpBYHGFp7CO+vHfUXkOoFJBh11+2zFUjEXPaCYAol78Zt2SUzWRYD14CVEDWhxJlI6kCRg7IxW7/S2w== + jasmine-reporters "~2.5.0" -"@bazel/protractor@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-4.6.0.tgz#03f52ef8426b8fda5a23d42cda51a7c866d26d31" - integrity sha512-bBDbg3cP07PNDIt7QhG9aS3NlImbRnV7+9Udnbs9jYBmUHCjnvUkgZZAoedeKl2+ae/Xo0ca/isiRP/rbnoOLw== +"@bazel/protractor@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-5.3.0.tgz#4f690ca8854fe1abb564f4817a7821ebaa152846" + integrity sha512-of7Cxrr6hUnDzzO6aDCy//lYT5v2KgSlfDsq573VdtD/zbkY+UKcRPFCfG9maD3NixsLJCkxdt/DVZrsvmiOYA== -"@bazel/rollup@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-4.4.5.tgz#3a2aded5fcc130624e5242a0574424033e90ddb4" - integrity sha512-zt3HZXq4Zfgnxr/ASirzv2YKCcQhvKvbAXC9NKvzzo352Uw3CfdfR9V9FuN8OsiBYYAsONSBKvmWMq0LeDC8ZQ== +"@bazel/rollup@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-5.3.0.tgz#f759fc06f16a32ca137d432c1de39890cc456e5d" + integrity sha512-Y3qtWatJPVlLtROiyBPQSAb5otUOfn8SOt4cnoC/+nPsMbzNDjn/2QYNVqbw1ZWVgPeUykHgyyuB1vGnfWOsww== dependencies: - "@bazel/worker" "4.4.5" + "@bazel/worker" "5.3.0" -"@bazel/runfiles@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-4.4.5.tgz#bbf112e882ea37d88f02009bb7cb661ac8908742" - integrity sha512-tFua24Ra/AI/K2di3sD03gzqG1uf9ziL+gSyc9dwjx9De1z4Fgafnqul9zXf1gqjEdWdJhZYXbntYmyj76BZNw== - -"@bazel/runfiles@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-4.6.0.tgz#e6b7620b61e65d2f85ed823bda1529838a54af0b" - integrity sha512-Zl3Y+BrsrYaEKvRQCmhqSAdVcyjzBrdCxgpzi5/lj5X9H9RxXrO/oOlrQf6yJeWYRKmA8voyF7haES0Ao50uKQ== - -"@bazel/terser@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-4.4.5.tgz#510cc63c365cbf83ef708d83b4a2c3f044911488" - integrity sha512-kZowInZEsmjQq9NibRqsppEtqzLZxbclDUxwqSO6mHSPuIxThVDLgKB/WuiRJg8ludi+ToCg3cfwbQXO4bLVXQ== - -"@bazel/terser@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-4.6.0.tgz#03d41d6e7f79645154ef30eee15db00ea2c212ba" - integrity sha512-kgmegDNLgh8xADYDe7K06STeQ7utJL5eExy0gx+3f9JnPisWIgT9seXh4+ACc4CjTh1gQiQAHOYVCzXo0gp0fQ== +"@bazel/runfiles@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/runfiles/-/runfiles-5.3.0.tgz#51495dab3a76886d79011047aae0bc48faebc94f" + integrity sha512-RrGOUd/yTgOO0Vl/VxHXlymXSMHGF7kw0q0xpuOuFZheDWOaHs9SZLZgLjkvStEI43zhZpJ9Yf9kZLEPptbWTg== -"@bazel/typescript@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-4.4.5.tgz#0b323a292910dbfdc5f90312377e9282c73035f0" - integrity sha512-Cgq7ZXGkFPAAOn2t9C9JWIDkSjDKB7AkwNgXEwrPwpchKgdoCcD1uMieiErfwBB0FWgJF1xvwwLGOnWA6E/G0A== - dependencies: - "@bazel/worker" "4.4.5" - protobufjs "6.8.8" - semver "5.6.0" - source-map-support "0.5.9" - tsutils "3.21.0" +"@bazel/terser@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-5.3.0.tgz#50d0f67f6111640b11800cac90d39f26d02eb8dd" + integrity sha512-M4We9XzocIk9ivvgCV2zIIwHEdhP8C+BQQbsrmt5h63S0XKMVrn5bEQiWqE1Q9WxyrZ7pUqHGVelYV/d7QFvtQ== -"@bazel/typescript@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-4.6.0.tgz#cd1fe24214581af72622dbc9e025c9af21e2ebda" - integrity sha512-TLysIpJuMxZXAjZEFHkmLg71Ec3RRQTpbZsUtobBnIG5rRwbb2fgdFVfBx3Wvjg4oR+gj5Yj8yCRa4Ad+UhoYg== +"@bazel/typescript@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-5.3.0.tgz#84ff0f0d5a1c885c8246b52dc4351029d03213cb" + integrity sha512-n49HdHo/qFqXGYnNlzol203MKb5EytvC1GChroBzqoT6woWpb+p4e/xEatiMOEKWnlyPT/ZUAMQ8Ve/6yv1Dig== dependencies: - "@bazel/worker" "4.6.0" + "@bazel/worker" "5.3.0" protobufjs "6.8.8" semver "5.6.0" source-map-support "0.5.9" tsutils "3.21.0" -"@bazel/worker@4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-4.4.5.tgz#1f9292c31615dff8a7297960f7f520bf9febf428" - integrity sha512-PoBMiN0SGSb1Qn/SabiM9HWC5nqwyWn0yTJgz6Vq2GMHo1UG7olVHuIfDb2ScFx9jY+mJ3wSyxQ4htlTGldedA== - dependencies: - google-protobuf "^3.6.1" - -"@bazel/worker@4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-4.6.0.tgz#0a4332be547fcd94fa5da1dfa200a28a6bf5fc5b" - integrity sha512-X6LIvvsMxhjIXp4G6zBYBYduDkphRC3Tj/6Es0+mJUWjWlK1pH0vRbONf9mDNCsABeoQ2iCcWVn5ABQV7wfwUw== +"@bazel/worker@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@bazel/worker/-/worker-5.3.0.tgz#c3a1296d741057a1ea380afc2fda06b74c182cd6" + integrity sha512-Tgyaud2/6mtYeaH+uCFQuuIVd/VRDvbUDFJgz8b+/LxTcXaDCb8OSI0ZnrEzLV7FJizMCam3/vWE2x9Ul4SOJw== dependencies: google-protobuf "^3.6.1" @@ -1717,6 +1677,11 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -2546,6 +2511,15 @@ "@microsoft/tsdoc-config" "~0.15.2" "@rushstack/node-core-library" "3.45.0" +"@microsoft/api-extractor-model@7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.15.4.tgz#59fc1e00530b7a604c719221a59dc265c76e9bc5" + integrity sha512-9bIXQKKQr5jAH1c9atXrukr4ua30fhqxMwWIOOjEnexPBPu3nhy9lC4/GpE0kPUp1Al3wSXgFnOEGzEH+HFz+w== + dependencies: + "@microsoft/tsdoc" "0.13.2" + "@microsoft/tsdoc-config" "~0.15.2" + "@rushstack/node-core-library" "3.45.1" + "@microsoft/api-extractor@7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.19.4.tgz#95d43d410a1dfb28a02062c4693bcb9c52afe9eb" @@ -2564,6 +2538,24 @@ source-map "~0.6.1" typescript "~4.5.2" +"@microsoft/api-extractor@7.19.5": + version "7.19.5" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.19.5.tgz#85b2404135a4158864d448fde8991ef7dc39b6a7" + integrity sha512-ra5r8P7PocOpemrZRccI3Tf1+wukI0gT6ncRB448QSxSYlmqKuvez95YUSYPwHIN/ztKL0cn5PfMOauU1lZfGQ== + dependencies: + "@microsoft/api-extractor-model" "7.15.4" + "@microsoft/tsdoc" "0.13.2" + "@microsoft/tsdoc-config" "~0.15.2" + "@rushstack/node-core-library" "3.45.1" + "@rushstack/rig-package" "0.3.8" + "@rushstack/ts-command-line" "4.10.7" + colors "~1.2.1" + lodash "~4.17.15" + resolve "~1.17.0" + semver "~7.3.0" + source-map "~0.6.1" + typescript "~4.5.2" + "@microsoft/tsdoc-config@~0.15.2": version "0.15.2" resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz#eb353c93f3b62ab74bdc9ab6f4a82bcf80140f14" @@ -2584,10 +2576,10 @@ resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.3.0.tgz#4aa73b6e05aafbe539b7442eae248a02d5f8619f" integrity sha512-QbTQWXK2WzYU+aKKVDG0ya7WYT+6rNAUXVt5ov9Nz1SGgDeozpiOx8ZqPWUvnToTY8EoodwWFGCVtkLHXUR+wA== -"@ngtools/webpack@14.0.0-next.3": - version "14.0.0-next.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.3.tgz#17ee2806b5d2e8fb6e9208b1549f9979a0841d2c" - integrity sha512-UZGdXguWqdTILA5rVrEP/C1ZN84273ZwUuD6ECmMlijnWDQHYBYIO97znOciFx/rfrneZYlQt5OynbCyZO0eVg== +"@ngtools/webpack@14.0.0-next.6": + version "14.0.0-next.6" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.0.0-next.6.tgz#da8717586aba2099a550607a9eae9932379a1433" + integrity sha512-bWCv6bk4iunLvx/RPiZ0BDnRvEKMg2NqRIBKSORC79Ek33vEB1MN+RWER51JAwioE8Qz6qZCKJbVUkI1xXQBvA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -2640,7 +2632,7 @@ npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -"@npmcli/move-file@^1.0.1": +"@npmcli/move-file@^1.0.1", "@npmcli/move-file@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== @@ -2890,6 +2882,21 @@ timsort "~0.3.0" z-schema "~5.0.2" +"@rushstack/node-core-library@3.45.1": + version "3.45.1" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.45.1.tgz#787361b61a48d616eb4b059641721a3dc138f001" + integrity sha512-BwdssTNe007DNjDBxJgInHg8ePytIPyT0La7ZZSQZF9+rSkT42AygXPGvbGsyFfEntjr4X37zZSJI7yGzL16cQ== + dependencies: + "@types/node" "12.20.24" + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.17.0" + semver "~7.3.0" + timsort "~0.3.0" + z-schema "~5.0.2" + "@rushstack/rig-package@0.3.7": version "0.3.7" resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.7.tgz#3fa564b1d129d28689dd4309502792b15e84bf81" @@ -2898,6 +2905,14 @@ resolve "~1.17.0" strip-json-comments "~3.1.1" +"@rushstack/rig-package@0.3.8": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.8.tgz#0e8b2fbc7a35d96f6ccf34e773f7c1adb1524296" + integrity sha512-MDWg1xovea99PWloSiYMjFcCLsrdjFtYt6aOyHNs5ojn5mxrzR6U9F83hvbQjTWnKPMvZtr0vcek+4n+OQOp3Q== + dependencies: + resolve "~1.17.0" + strip-json-comments "~3.1.1" + "@rushstack/ts-command-line@4.10.6": version "4.10.6" resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.6.tgz#5669e481e4339ceb4e1428183eb0937d3bc3841b" @@ -2908,6 +2923,16 @@ colors "~1.2.1" string-argv "~0.3.1" +"@rushstack/ts-command-line@4.10.7": + version "4.10.7" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.7.tgz#21e3757a756cbd4f7eeab8f89ec028a64d980efc" + integrity sha512-CjS+DfNXUSO5Ab2wD1GBGtUTnB02OglRWGqfaTcac9Jn45V5MeUOsq/wA8wEeS5Y/3TZ2P1k+IWdVDiuOFP9Og== + dependencies: + "@types/argparse" "1.0.38" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" + "@schematics/angular@13.3.0": version "13.3.0" resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.3.0.tgz#c1a4d2ca25218d8cc7f220fc8323ba306bf7aa55" @@ -3659,6 +3684,11 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" +"@xmldom/xmldom@^0.7.3": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" + integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A== + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -4813,6 +4843,30 @@ cacache@15.3.0, cacache@^15.0.5, cacache@^15.2.0, cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" +cacache@16.0.1: + version "16.0.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.1.tgz#bad1d14963d9851840da3dd6c4db3b6a3bdb585d" + integrity sha512-tHPtfdZDqQpZ15eaEZeLspIqS5mK5fOBDZi6AjuqaIi53QNVXH3dQv6uKT3YuUu6uxV/8pjU9in0CoJ8fgaHqw== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.1.2" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.2.0" + infer-owner "^1.0.4" + lru-cache "^7.5.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.11" + unique-filename "^1.1.1" + cacheable-lookup@^5.0.3: version "5.0.4" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" @@ -5729,13 +5783,13 @@ css-loader@6.5.1: postcss-value-parser "^4.1.0" semver "^7.3.5" -css-loader@6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.6.0.tgz#c792ad5510bd1712618b49381bd0310574fafbd3" - integrity sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg== +css-loader@6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" + integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== dependencies: icss-utils "^5.1.0" - postcss "^8.4.5" + postcss "^8.4.7" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" @@ -6155,10 +6209,10 @@ deprecation@^2.0.0, deprecation@^2.3.1: resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -destroy@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.1.1.tgz#38a65ed2f2615ad12bf59c6b5e885512c0cf13dd" - integrity sha512-jxwFW+yrVOLdwqIWvowFOM8UPdhZnvOF6mhXQQLXMxBDLtv2JVJlVJPEwkDv9prqscEtGtmnxuuI6pQKStK1vA== +destroy@1.2.0, destroy@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== destroy@~1.0.4: version "1.0.4" @@ -6801,305 +6855,210 @@ es6-weak-map@^2.0.3: es6-iterator "^2.0.3" es6-symbol "^3.1.1" -esbuild-android-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz#d532d38cb5fe0ae45167ce35f4bbc784c636be40" - integrity sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ== +esbuild-android-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" + integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== esbuild-android-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz#fb051169a63307d958aec85ad596cfc7d7770303" integrity sha512-k1Uu4uC4UOFgrnTj2zuj75EswFSEBK+H6lT70/DdS4mTAOfs2ECv2I9ZYvr3w0WL0T4YItzJdK7fPNxcPw6YmQ== -esbuild-android-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" - integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== - -esbuild-android-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz#9c5bb3366aabfd14a1c726d36978b79441dfcb6e" - integrity sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw== +esbuild-android-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" + integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== esbuild-darwin-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz#615ea0a9de67b57a293a7128d7ac83ee307a856d" integrity sha512-d8Ceuo6Vw6HM3fW218FB6jTY6O3r2WNcTAU0SGsBkXZ3k8SDoRLd3Nrc//EqzdgYnzDNMNtrWegK2Qsss4THhw== -esbuild-darwin-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" - integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== - -esbuild-darwin-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz#05dcdb6d884f427039ffee5e92ff97527e56c26d" - integrity sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA== +esbuild-darwin-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" + integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== esbuild-darwin-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz#82054dcfcecb15ccfd237093b8008e7745a99ad9" integrity sha512-YAt9Tj3SkIUkswuzHxkaNlT9+sg0xvzDvE75LlBo4DI++ogSgSmKNR6B4eUhU5EUUepVXcXdRIdqMq9ppeRqfw== -esbuild-darwin-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" - integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== - -esbuild-darwin-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz#28e080da4ea0cfe9498071e7f8060498caee1a95" - integrity sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw== +esbuild-darwin-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" + integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== esbuild-freebsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz#778a818c5b078d5cdd6bb6c0e0797217d196999b" integrity sha512-ek1HUv7fkXMy87Qm2G4IRohN+Qux4IcnrDBPZGXNN33KAL0pEJJzdTv0hB/42+DCYWylSrSKxk3KUXfqXOoH4A== -esbuild-freebsd-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" - integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== - -esbuild-freebsd-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz#200d3664a3b945bc9fdcba73614b49a11ebd1cfa" - integrity sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ== +esbuild-freebsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" + integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== esbuild-freebsd-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz#18da93b9f3db2e036f72383bfe73b28b73bb332c" integrity sha512-zPh9SzjRvr9FwsouNYTqgqFlsMIW07O8mNXulGeQx6O5ApgGUBZBgtzSlBQXkHi18WjrosYfsvp5nzOKiWzkjQ== -esbuild-freebsd-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" - integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== - -esbuild-freebsd-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz#624b08c5da6013bdc312aaa23c4ff409580f5c3c" - integrity sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug== +esbuild-freebsd-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" + integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== esbuild-linux-32@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz#d0d5d9f5bb3536e17ac097e9512019c65b7c0234" integrity sha512-SnpveoE4nzjb9t2hqCIzzTWBM0RzcCINDMBB67H6OXIuDa4KqFqaIgmTchNA9pJKOVLVIKd5FYxNiJStli21qg== -esbuild-linux-32@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" - integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== - -esbuild-linux-32@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz#0238e597eb0b60aa06c7e98fccbbfd6bb9a0d6c5" - integrity sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw== +esbuild-linux-32@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" + integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== esbuild-linux-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz#2773d540971999ea7f38107ef92fca753f6a8c30" integrity sha512-Zcl9Wg7gKhOWWNqAjygyqzB+fJa19glgl2JG7GtuxHyL1uEnWlpSMytTLMqtfbmRykIHdab797IOZeKwk5g0zg== -esbuild-linux-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" - integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== - -esbuild-linux-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz#8a8b8cf47dfce127c858e71229d9a385a82c62e8" - integrity sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug== +esbuild-linux-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" + integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== esbuild-linux-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz#5d4480ce6d6bffab1dd76a23158f5a5ab33e7ba4" integrity sha512-8q/FRBJtV5IHnQChO3LHh/Jf7KLrxJ/RCTGdBvlVZhBde+dk3/qS9fFsUy+rs3dEi49aAsyVitTwlKw1SUFm+A== -esbuild-linux-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" - integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== - -esbuild-linux-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz#7ac94371418a2640ba413bc1700aaedeb2794e52" - integrity sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw== +esbuild-linux-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" + integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== esbuild-linux-arm@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz#c6391b3f7c8fa6d3b99a7e893ce0f45f3a921eef" integrity sha512-soPDdbpt/C0XvOOK45p4EFt8HbH5g+0uHs5nUKjHVExfgR7du734kEkXR/mE5zmjrlymk5AA79I0VIvj90WZ4g== -esbuild-linux-arm@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" - integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== - -esbuild-linux-arm@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz#034bd18e9310b9f010c89f90ef7f05706689600b" - integrity sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw== +esbuild-linux-arm@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" + integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== esbuild-linux-mips64le@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz#2c8dabac355c502e86c38f9f292b3517d8e181f3" integrity sha512-SiNDfuRXhGh1JQLLA9JPprBgPVFOsGuQ0yDfSPTNxztmVJd8W2mX++c4FfLpAwxuJe183mLuKf7qKCHQs5ZnBQ== -esbuild-linux-mips64le@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" - integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== - -esbuild-linux-mips64le@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz#05f98a8cf6b578eab6b4e6b0ab094f37530934f4" - integrity sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ== +esbuild-linux-mips64le@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" + integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== esbuild-linux-ppc64le@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz#69d71b2820d5c94306072dac6094bae38e77d1c0" integrity sha512-6t/GI9I+3o1EFm2AyN9+TsjdgWCpg2nwniEhjm2qJWtJyJ5VzTXGUU3alCO3evopu8G0hN2Bu1Jhz2YmZD0kng== -esbuild-linux-ppc64le@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" - integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== - -esbuild-linux-ppc64le@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz#46fd0add8d8535678439d7a9c2876ad20042d952" - integrity sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw== +esbuild-linux-ppc64le@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" + integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== esbuild-linux-riscv64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz#c0ec0fc3a23624deebf657781550d2329cec4213" integrity sha512-AyJHipZKe88sc+tp5layovquw5cvz45QXw5SaDgAq2M911wLHiCvDtf/07oDx8eweCyzYzG5Y39Ih568amMTCQ== -esbuild-linux-riscv64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" - integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== - -esbuild-linux-riscv64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz#ea2e986f0f3e5df73c635135dd778051734fc605" - integrity sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w== +esbuild-linux-riscv64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" + integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== esbuild-linux-s390x@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz#ec2af4572d63336cfb27f5a5c851fb1b6617dd91" integrity sha512-Sz1NjZewTIXSblQDZWEFZYjOK6p8tV6hrshYdXZ0NHTjWE+lwxpOpWeElUGtEmiPcMT71FiuA9ODplqzzSxkzw== -esbuild-linux-s390x@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" - integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== - -esbuild-linux-s390x@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz#efe89486e9a1b1508925048076e3f3a6698aa6a3" - integrity sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ== +esbuild-linux-s390x@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" + integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== esbuild-netbsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz#0e283278e9fdbaa7f0930f93ee113d7759cd865e" integrity sha512-TBbCtx+k32xydImsHxvFgsOCuFqCTGIxhzRNbgSL1Z2CKhzxwT92kQMhxort9N/fZM2CkRCPPs5wzQSamtzEHA== -esbuild-netbsd-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" - integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== - -esbuild-netbsd-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz#439fe27d8ee3b5887501ee63988e85f920107db6" - integrity sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA== +esbuild-netbsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" + integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== esbuild-openbsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz#2a73bba04e16d8ef278fbe2be85248e12a2f2cc2" integrity sha512-vK912As725haT313ANZZZN+0EysEEQXWC/+YE4rQvOQzLuxAQc2tjbzlAFREx3C8+uMuZj/q7E5gyVB7TzpcTA== -esbuild-openbsd-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" - integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== - -esbuild-openbsd-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz#31ebf616aadf6e60674469f2b92cec92280d9930" - integrity sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A== +esbuild-openbsd-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" + integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== esbuild-sunos-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz#8fe03513b8b2e682a6d79d5e3ca5849651a3c1d8" integrity sha512-/mbJdXTW7MTcsPhtfDsDyPEOju9EOABvCjeUU2OJ7fWpX/Em/H3WYDa86tzLUbcVg++BScQDzqV/7RYw5XNY0g== -esbuild-sunos-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" - integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== - -esbuild-sunos-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz#815e4f936d74970292a63ccfd5791fe5e3569f5f" - integrity sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw== +esbuild-sunos-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" + integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== esbuild-wasm@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz#9671d1355473b6688d00fe8ef6fa50274eff5465" integrity sha512-FOSAM29GN1fWusw0oLMv6JYhoheDIh5+atC72TkJKfIUMID6yISlicoQSd9gsNSFsNBvABvtE2jR4JB1j4FkFw== -esbuild-wasm@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz#b1e9fed66362ad9f82fcf897265ee005778b9fa2" - integrity sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ== +esbuild-wasm@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.27.tgz#285e5222036c2efeaa0756ee6230f2550352415a" + integrity sha512-Ejpdf/li+o4T68pAPiFqVVSro8b5IwIl1clpVu62p3cjX32J/A7yuG2jKCK6HliYtf5gltVQLD69ezu+2F75KQ== esbuild-windows-32@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.22.tgz#a75df61e3e49df292a1842be8e877a3153ee644f" integrity sha512-1vRIkuvPTjeSVK3diVrnMLSbkuE36jxA+8zGLUOrT4bb7E/JZvDRhvtbWXWaveUc/7LbhaNFhHNvfPuSw2QOQg== -esbuild-windows-32@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" - integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== - -esbuild-windows-32@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz#189e14df2478f2c193c86968ab1fb54e1ceaafd2" - integrity sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA== +esbuild-windows-32@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" + integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== esbuild-windows-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz#d06cf8bbe4945b8bf95a730d871e54a22f635941" integrity sha512-AxjIDcOmx17vr31C5hp20HIwz1MymtMjKqX4qL6whPj0dT9lwxPexmLj6G1CpR3vFhui6m75EnBEe4QL82SYqw== -esbuild-windows-64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" - integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== - -esbuild-windows-64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz#3d5fbfdc3856850bb47439299e3b60dd18be111f" - integrity sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA== +esbuild-windows-64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" + integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== esbuild-windows-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz#f8b1b05c548073be8413a5ecb12d7c2f6e717227" integrity sha512-5wvQ+39tHmRhNpu2Fx04l7QfeK3mQ9tKzDqqGR8n/4WUxsFxnVLfDRBGirIfk4AfWlxk60kqirlODPoT5LqMUg== -esbuild-windows-arm64@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" - integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== - -esbuild-windows-arm64@0.14.25: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz#8b243cbbad8a86cf98697da9ccb88c05df2ef458" - integrity sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA== +esbuild-windows-arm64@0.14.27: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" + integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== esbuild@0.14.22: version "0.14.22" @@ -7126,56 +7085,31 @@ esbuild@0.14.22: esbuild-windows-64 "0.14.22" esbuild-windows-arm64 "0.14.22" -esbuild@0.14.23: - version "0.14.23" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" - integrity sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig== +esbuild@0.14.27, esbuild@^0.14.14: + version "0.14.27" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" + integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== optionalDependencies: - esbuild-android-arm64 "0.14.23" - esbuild-darwin-64 "0.14.23" - esbuild-darwin-arm64 "0.14.23" - esbuild-freebsd-64 "0.14.23" - esbuild-freebsd-arm64 "0.14.23" - esbuild-linux-32 "0.14.23" - esbuild-linux-64 "0.14.23" - esbuild-linux-arm "0.14.23" - esbuild-linux-arm64 "0.14.23" - esbuild-linux-mips64le "0.14.23" - esbuild-linux-ppc64le "0.14.23" - esbuild-linux-riscv64 "0.14.23" - esbuild-linux-s390x "0.14.23" - esbuild-netbsd-64 "0.14.23" - esbuild-openbsd-64 "0.14.23" - esbuild-sunos-64 "0.14.23" - esbuild-windows-32 "0.14.23" - esbuild-windows-64 "0.14.23" - esbuild-windows-arm64 "0.14.23" - -esbuild@^0.14.14: - version "0.14.25" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.25.tgz#ddb9d47b91ca76abb7d850ce3dfed0bc3dc88d16" - integrity sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q== - optionalDependencies: - esbuild-android-64 "0.14.25" - esbuild-android-arm64 "0.14.25" - esbuild-darwin-64 "0.14.25" - esbuild-darwin-arm64 "0.14.25" - esbuild-freebsd-64 "0.14.25" - esbuild-freebsd-arm64 "0.14.25" - esbuild-linux-32 "0.14.25" - esbuild-linux-64 "0.14.25" - esbuild-linux-arm "0.14.25" - esbuild-linux-arm64 "0.14.25" - esbuild-linux-mips64le "0.14.25" - esbuild-linux-ppc64le "0.14.25" - esbuild-linux-riscv64 "0.14.25" - esbuild-linux-s390x "0.14.25" - esbuild-netbsd-64 "0.14.25" - esbuild-openbsd-64 "0.14.25" - esbuild-sunos-64 "0.14.25" - esbuild-windows-32 "0.14.25" - esbuild-windows-64 "0.14.25" - esbuild-windows-arm64 "0.14.25" + esbuild-android-64 "0.14.27" + esbuild-android-arm64 "0.14.27" + esbuild-darwin-64 "0.14.27" + esbuild-darwin-arm64 "0.14.27" + esbuild-freebsd-64 "0.14.27" + esbuild-freebsd-arm64 "0.14.27" + esbuild-linux-32 "0.14.27" + esbuild-linux-64 "0.14.27" + esbuild-linux-arm "0.14.27" + esbuild-linux-arm64 "0.14.27" + esbuild-linux-mips64le "0.14.27" + esbuild-linux-ppc64le "0.14.27" + esbuild-linux-riscv64 "0.14.27" + esbuild-linux-s390x "0.14.27" + esbuild-netbsd-64 "0.14.27" + esbuild-openbsd-64 "0.14.27" + esbuild-sunos-64 "0.14.27" + esbuild-windows-32 "0.14.27" + esbuild-windows-64 "0.14.27" + esbuild-windows-arm64 "0.14.27" escalade@^3.1.1: version "3.1.1" @@ -9135,7 +9069,7 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inquirer@8.2.0, inquirer@^8.2.0: +inquirer@8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a" integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== @@ -9155,6 +9089,26 @@ inquirer@8.2.0, inquirer@^8.2.0: strip-ansi "^6.0.0" through "^2.3.6" +inquirer@^8.2.0: + version "8.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" + integrity sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + inquirer@~6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" @@ -9668,13 +9622,13 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-reporters@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.4.0.tgz#708c17ae70ba6671e3a930bb1b202aab80a31409" - integrity sha512-jxONSrBLN1vz/8zCx5YNWQSS8iyDAlXQ5yk1LuqITe4C6iXCDx5u6Q0jfNtkKhL4qLZPe69fL+AWvXFt9/x38w== +jasmine-reporters@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/jasmine-reporters/-/jasmine-reporters-2.5.0.tgz#f9e2e0f82aaa2e07e8d553be56457efe0fd8b39e" + integrity sha512-J69peyTR8j6SzvIPP6aO1Y00wwCqXuIvhwTYvE/di14roCf6X3wDZ4/cKGZ2fGgufjhP2FKjpgrUIKjwau4e/Q== dependencies: - mkdirp "^0.5.1" - xmldom "^0.5.0" + "@xmldom/xmldom" "^0.7.3" + mkdirp "^1.0.4" jasmine@2.8.0: version "2.8.0" @@ -10533,6 +10487,11 @@ lru-cache@^7.4.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.4.1.tgz#afe07e885ef0cd5bf99f62f4fa7545d48746d779" integrity sha512-NCD7/WRlFmADccuHjsRUYqdluYBr//n/O0fesCb/n52FoGcgKh8o4Dpm7YIbZwVcDs8rPBQbCZLmWWsp6m+xGQ== +lru-cache@^7.5.1: + version "7.7.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" + integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== + lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -10580,6 +10539,13 @@ magic-string@0.25.7: dependencies: sourcemap-codec "^1.4.4" +magic-string@0.26.1, magic-string@^0.26.0: + version "0.26.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" + integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== + dependencies: + sourcemap-codec "^1.4.8" + magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -10587,13 +10553,6 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" -magic-string@^0.26.0: - version "0.26.1" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.1.tgz#ba9b651354fa9512474199acecf9c6dbe93f97fd" - integrity sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg== - dependencies: - sourcemap-codec "^1.4.8" - make-dir@^1.0.0, make-dir@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -11048,12 +11007,12 @@ mkdirp-classic@^0.5.2: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== +mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.3, mkdirp@^0.5.5: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "^1.2.5" + minimist "^1.2.6" mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" @@ -11138,7 +11097,7 @@ nan@^2.15.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== -nanoid@^3.1.30, nanoid@^3.2.0, nanoid@^3.3.1: +nanoid@^3.1.30, nanoid@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== @@ -11506,7 +11465,7 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@^2.2.0: +on-finished@2.4.1, on-finished@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== @@ -12435,6 +12394,15 @@ postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" +postcss@8.4.12, postcss@^8.1.7, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: + version "8.4.12" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" + integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + postcss@8.4.5: version "8.4.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" @@ -12444,16 +12412,7 @@ postcss@8.4.5: picocolors "^1.0.0" source-map-js "^1.0.1" -postcss@8.4.6: - version "8.4.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" - integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== - dependencies: - nanoid "^3.2.0" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.1.7, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.3.7, postcss@^8.4.5, postcss@^8.4.6: +postcss@^8.2.15, postcss@^8.4.6: version "8.4.8" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== @@ -13675,6 +13634,25 @@ send@0.17.2, send@^0.17.2: range-parser "~1.2.1" statuses "~1.5.0" +send@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + sentence-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" @@ -14687,7 +14665,7 @@ tar@^4.3.0: safe-buffer "^5.2.1" yallist "^3.1.1" -tar@^6.0.2, tar@^6.1.0, tar@^6.1.2: +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -14745,10 +14723,10 @@ terser@5.11.0: source-map "~0.7.2" source-map-support "~0.5.20" -terser@^5.10.0, terser@^5.7.2: - version "5.12.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a" - integrity sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A== +terser@5.12.1, terser@^5.10.0, terser@^5.7.2: + version "5.12.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" + integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== dependencies: acorn "^8.5.0" commander "^2.20.0" @@ -15138,7 +15116,7 @@ typedarray-to-buffer@^3.1.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== -typescript@4.6.2, typescript@~4.5.0, typescript@~4.5.4, typescript@~4.6.2: +typescript@4.6.2, typescript@~4.5.4: version "4.6.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== @@ -15148,6 +15126,11 @@ typescript@^3.9.10, typescript@^3.9.5, typescript@^3.9.7: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== +typescript@~4.6.2: + version "4.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" + integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== + ua-parser-js@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.2.tgz#e2976c34dbfb30b15d2c300b2a53eac87c57a775" @@ -16004,11 +15987,6 @@ xmlbuilder@~11.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== -xmldom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e" - integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA== - xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" From ceae4c7efc66e457079b6c57543ee3147609349c Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Sat, 26 Mar 2022 11:10:16 +0100 Subject: [PATCH 17/31] refactor: re-format all files after recent dev-infra update YAML files are now formatted by default, and it looks like some spec files also need to be reformatted after a Prettier update. --- .circleci/config.yml | 95 +- .github/ISSUE_TEMPLATE/bug.yml | 6 +- .github/ISSUE_TEMPLATE/docs.yml | 4 +- .github/ISSUE_TEMPLATE/feature.yml | 4 +- .github/ISSUE_TEMPLATE/troubleshooting.yml | 6 +- .github/actions/yarn-install/action.yml | 6 +- .github/angular-robot.yml | 32 +- .github/workflows/dev-infra.yml | 2 +- .../combobox/combobox.spec.ts | 42 +- src/cdk-experimental/listbox/listbox.spec.ts | 154 ++- .../menu/context-menu.spec.ts | 56 +- src/cdk-experimental/menu/menu-bar.spec.ts | 132 ++- src/cdk-experimental/menu/menu-group.spec.ts | 101 +- .../menu/menu-item-checkbox.spec.ts | 24 +- .../menu/menu-item-radio.spec.ts | 28 +- .../menu/menu-item-trigger.spec.ts | 42 +- src/cdk-experimental/menu/menu-item.spec.ts | 24 +- src/cdk-experimental/menu/menu-stack.spec.ts | 14 +- src/cdk-experimental/menu/menu.spec.ts | 177 ++-- .../menu/pointer-focus-tracker.spec.ts | 12 +- .../scrolling/virtual-scroll-viewport.spec.ts | 14 +- .../selection/selection.spec.ts | 56 +- src/cdk/a11y/focus-trap/focus-trap.spec.ts | 190 ++-- src/cdk/accordion/accordion-item.spec.ts | 16 +- src/cdk/accordion/accordion.spec.ts | 16 +- src/cdk/bidi/directionality.spec.ts | 30 +- src/cdk/observers/observe-content.spec.ts | 68 +- .../fullscreen-overlay-container.spec.ts | 98 +- src/cdk/overlay/overlay-container.spec.ts | 12 +- src/cdk/overlay/overlay-directives.spec.ts | 25 +- src/cdk/overlay/overlay.spec.ts | 50 +- .../scroll/block-scroll-strategy.spec.ts | 20 +- .../scroll/reposition-scroll-strategy.spec.ts | 34 +- src/cdk/scrolling/scroll-dispatcher.spec.ts | 18 +- src/cdk/scrolling/scrollable.spec.ts | 14 +- src/cdk/table/text-column.spec.ts | 14 +- src/cdk/testing/tests/testbed.spec.ts | 9 +- src/cdk/text-field/autosize.spec.ts | 28 +- .../dialog-harness-example.spec.ts | 20 +- src/google-maps/google-map/google-map.spec.ts | 14 +- .../map-bicycling-layer.spec.ts | 14 +- src/google-maps/map-circle/map-circle.spec.ts | 30 +- .../map-directions-renderer.spec.ts | 14 +- .../map-ground-overlay.spec.ts | 14 +- .../map-heatmap-layer.spec.ts | 14 +- .../map-info-window/map-info-window.spec.ts | 14 +- .../map-kml-layer/map-kml-layer.spec.ts | 14 +- .../map-marker-clusterer.spec.ts | 14 +- src/google-maps/map-marker/map-marker.spec.ts | 14 +- .../map-polygon/map-polygon.spec.ts | 26 +- .../map-polyline/map-polyline.spec.ts | 34 +- .../map-rectangle/map-rectangle.spec.ts | 18 +- .../map-traffic-layer.spec.ts | 14 +- .../map-transit-layer.spec.ts | 14 +- .../adapter/date-fns-adapter.spec.ts | 32 +- .../mdc-autocomplete/autocomplete.spec.ts | 29 +- .../mdc-button/button.spec.ts | 16 +- .../mdc-chips/chip-edit-input.spec.ts | 26 +- .../mdc-chips/chip-option.spec.ts | 38 +- .../mdc-chips/chip-remove.spec.ts | 38 +- .../mdc-chips/chip-row.spec.ts | 34 +- .../mdc-chips/chip-set.spec.ts | 16 +- .../mdc-chips/chip.spec.ts | 46 +- .../mdc-core/option/option.spec.ts | 48 +- .../mdc-list/list.spec.ts | 53 +- .../mdc-list/selection-list.spec.ts | 276 +++-- .../progress-spinner.spec.ts | 38 +- .../mdc-radio/radio.spec.ts | 126 ++- .../mdc-select/select.spec.ts | 72 +- .../mdc-slider/slider.spec.ts | 456 ++++----- .../mdc-table/table.spec.ts | 36 +- .../mdc-tabs/tab-body.spec.ts | 20 +- .../mdc-tabs/tab-group.spec.ts | 29 +- .../mdc-tabs/tab-header.spec.ts | 18 +- .../mdc-tabs/tab-nav-bar/tab-nav-bar.spec.ts | 57 +- .../mdc-tooltip/tooltip.spec.ts | 89 +- .../menubar/menubar-item.spec.ts | 14 +- .../menubar/menubar.spec.ts | 14 +- .../adapter/luxon-date-adapter.spec.ts | 76 +- .../adapter/moment-date-adapter.spec.ts | 92 +- .../autocomplete/autocomplete.spec.ts | 29 +- src/material/button/button.spec.ts | 16 +- src/material/chips/chip-input.spec.ts | 54 +- src/material/chips/chip-remove.spec.ts | 36 +- src/material/chips/chip.spec.ts | 48 +- .../core/datetime/native-date-adapter.spec.ts | 40 +- src/material/core/option/option.spec.ts | 48 +- src/material/datepicker/calendar-body.spec.ts | 14 +- .../datepicker/calendar-header.spec.ts | 31 +- src/material/datepicker/calendar.spec.ts | 38 +- src/material/datepicker/month-view.spec.ts | 114 +-- .../datepicker/multi-year-view.spec.ts | 36 +- src/material/datepicker/year-view.spec.ts | 34 +- src/material/expansion/accordion.spec.ts | 36 +- src/material/expansion/expansion.spec.ts | 51 +- src/material/icon/icon.spec.ts | 84 +- src/material/list/list.spec.ts | 53 +- src/material/list/selection-list.spec.ts | 300 +++--- .../progress-spinner/progress-spinner.spec.ts | 40 +- src/material/radio/radio.spec.ts | 120 +-- src/material/select/select.spec.ts | 89 +- src/material/sidenav/drawer.spec.ts | 74 +- src/material/sidenav/sidenav.spec.ts | 22 +- src/material/sort/sort.spec.ts | 85 +- src/material/table/table-data-source.spec.ts | 14 +- src/material/table/table.spec.ts | 34 +- src/material/table/text-column.spec.ts | 14 +- src/material/tabs/tab-body.spec.ts | 20 +- src/material/tabs/tab-group.spec.ts | 29 +- src/material/tabs/tab-header.spec.ts | 18 +- .../tabs/tab-nav-bar/tab-nav-bar.spec.ts | 55 +- src/material/toolbar/toolbar.spec.ts | 28 +- src/material/tooltip/tooltip.spec.ts | 89 +- src/youtube-player/youtube-player.spec.ts | 28 +- yarn.lock | 955 +++++++++--------- 115 files changed, 3014 insertions(+), 3506 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e5555db76f89..5fd6b80f24aa 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -40,12 +40,12 @@ var_8: &save_cache save_cache: key: *cache_key paths: - - "node_modules" - - "~/.cache/bazelisk" - - "~/bazel_repository_cache" + - 'node_modules' + - '~/.cache/bazelisk' + - '~/bazel_repository_cache' # Decryption token that is used to decode the GCP credentials file in ".circleci/gcp_token". -var_9: &gcp_decrypt_token "angular" +var_9: &gcp_decrypt_token 'angular' # Job step that ensures that the node module dependencies are installed and up-to-date. We use # Yarn with the frozen lockfile option in order to make sure that lock file and package.json are @@ -53,20 +53,20 @@ var_9: &gcp_decrypt_token "angular" # CircleCI automatically discards the cache if the checksum of the lock file has changed. var_10: &yarn_install run: - name: "Installing project dependencies" + name: 'Installing project dependencies' command: yarn install --frozen-lockfile --non-interactive # Installs all dependencies but does not enforce a frozen lockfile. Helpful when # the "package.json" is updated as part of a CI job. e.g. when setting up snapshots. var_11: &yarn_install_loose_lockfile run: - name: "Installing project dependencies" + name: 'Installing project dependencies' command: yarn install --non-interactive # Sets up the Bazel config which is specific for CircleCI builds. var_12: &setup_bazel_ci_config run: - name: "Setting up Bazel configuration for CI" + name: 'Setting up Bazel configuration for CI' # Note: We add the remote config flag to the user bazelrc file that is not tracked # by Git. This is necessary to avoid stamping builds with `.with-local-changes`. command: echo "import %workspace%/.circleci/bazel.rc" >> ./.bazelrc.user @@ -95,46 +95,46 @@ var_14: &publish_branches_filter var_15: &ignore_presubmit_branch_filter branches: ignore: - - "_presubmit" + - '_presubmit' # Runs a script that sets up the Bazel remote execution. This will be used by jobs that run # Bazel primarily and should benefit from remote caching and execution. var_16: &setup_bazel_remote_execution run: - name: "Setup bazel RBE remote execution" + name: 'Setup bazel RBE remote execution' command: ./scripts/bazel/setup-remote-execution.sh # Sets up the bazel binary globally. We don't want to access bazel through Yarn and NodeJS # because it could mean that the Bazel child process only has access to limited memory. var_17: &setup_bazel_binary run: - name: "Setting up global Bazel binary" + name: 'Setting up global Bazel binary' command: ./scripts/circleci/setup_bazel_binary.sh # Sets up the Angular snapshot builds. var_18: &setup_snapshot_builds run: - name: "Setting up Angular snapshot builds" + name: 'Setting up Angular snapshot builds' command: node ./scripts/circleci/setup-angular-snapshots.js master # Filter which ensures that jobs only run for pull requests. var_19: &only_on_pull_requests_filter branches: - only: - - /pull\/\d+/ + only: + - /pull\/\d+/ # Anchor for a step that notifies Slack when preceding steps failed. var_20: &slack_notify_on_failure run: - name: "Notifying team about job failure" + name: 'Notifying team about job failure' when: on_fail command: node ./scripts/circleci/notify-slack-job-failure.js # Branch filter that only matches the main branch. var_21: &only_main_branch_filter branches: - only: - - master + only: + - master # ----------------------------- # Container version of CircleCI @@ -150,7 +150,6 @@ orbs: # push conflicts. queue: eddiewebb/queue@1.5.0 - commands: checkout_and_rebase: description: Checkout and rebase the repository @@ -206,15 +205,15 @@ jobs: environment: GCP_DECRYPT_TOKEN: *gcp_decrypt_token steps: - - checkout_and_rebase - - *restore_cache - - *setup_bazel_ci_config - - *setup_bazel_remote_execution - - *yarn_install - - *setup_bazel_binary + - checkout_and_rebase + - *restore_cache + - *setup_bazel_ci_config + - *setup_bazel_remote_execution + - *yarn_install + - *setup_bazel_binary - - run: bazel test tools/public_api_guard/... - - *slack_notify_on_failure + - run: bazel test tools/public_api_guard/... + - *slack_notify_on_failure # ----------------------------------------------------------------- # Job that runs the e2e tests with Protractor and Chromium headless @@ -265,8 +264,8 @@ jobs: <<: *job_defaults resource_class: xlarge environment: - BROWSER_STACK_USERNAME: "angularteam1" - BROWSER_STACK_ACCESS_KEY: "CaXMeMHD9pr5PHg8N7Jq" + BROWSER_STACK_USERNAME: 'angularteam1' + BROWSER_STACK_ACCESS_KEY: 'CaXMeMHD9pr5PHg8N7Jq' steps: - checkout_and_rebase - *restore_cache @@ -284,19 +283,19 @@ jobs: <<: *job_defaults resource_class: xlarge environment: - SAUCE_USERNAME: "angular-components" - SAUCE_ACCESS_KEY: "63348201a846-eeb9-3ee4-300f-ea990b8a" + SAUCE_USERNAME: 'angular-components' + SAUCE_ACCESS_KEY: '63348201a846-eeb9-3ee4-300f-ea990b8a' # Note: This number should not be too high because otherwise we might run into # a rate limit exception. KARMA_PARALLEL_BROWSERS: 2 steps: - - checkout_and_rebase - - *restore_cache - - *setup_bazel_ci_config - - *yarn_install + - checkout_and_rebase + - *restore_cache + - *setup_bazel_ci_config + - *yarn_install - - run: ./scripts/circleci/run-saucelabs-tests.sh - - *slack_notify_on_failure + - run: ./scripts/circleci/run-saucelabs-tests.sh + - *slack_notify_on_failure # ---------------------------------- # Lint job. @@ -374,7 +373,7 @@ jobs: - persist_to_workspace: root: dist paths: - - "releases/**/*" + - 'releases/**/*' - *slack_notify_on_failure upload_release_packages: @@ -414,7 +413,7 @@ jobs: # ---------------------------------------- # Job that monitors the docs site, ensuring - # the docs site is online and works as expected. + # the docs site is online and works as expected. # ---------------------------------------- monitor_docs_site: docker: @@ -463,7 +462,7 @@ jobs: # completes/starts, and this will improve stability of the queue step. See source: # https://github.com/eddiewebb/circleci-queue/commit/5d42add5bbcff5e8ac7fe189448a61fea98b0839. - queue/until_front_of_line: - confidence: "2" + confidence: '2' - run: ./scripts/circleci/publish-snapshots.sh - *slack_notify_on_failure @@ -477,16 +476,16 @@ jobs: environment: GCP_DECRYPT_TOKEN: *gcp_decrypt_token steps: - - checkout_and_rebase - - *restore_cache - - *setup_bazel_ci_config - - *setup_bazel_remote_execution - - *setup_snapshot_builds - - *yarn_install_loose_lockfile - - *setup_bazel_binary + - checkout_and_rebase + - *restore_cache + - *setup_bazel_ci_config + - *setup_bazel_remote_execution + - *setup_snapshot_builds + - *yarn_install_loose_lockfile + - *setup_bazel_binary - - run: bazel test --build_tag_filters=-e2e --test_tag_filters=-e2e --build_tests_only -- src/... - - *slack_notify_on_failure + - run: bazel test --build_tag_filters=-e2e --test_tag_filters=-e2e --build_tests_only -- src/... + - *slack_notify_on_failure # ---------------------------------------------------------------------------- # Job that runs all Bazel integration tests. @@ -665,7 +664,7 @@ workflows: triggers: - schedule: - cron: "0 * * * *" + cron: '0 * * * *' filters: branches: only: diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index a4923a2c100e..1239583a47f7 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -1,7 +1,7 @@ name: Bug Report description: Report a bug in Angular Material or the CDK -title: "bug(COMPONENT): TITLE" -labels: ["needs triage"] +title: 'bug(COMPONENT): TITLE' +labels: ['needs triage'] body: - type: checkboxes id: is-regression @@ -34,7 +34,7 @@ body: value: | Steps to reproduce: 1. - 2. + 2. validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/docs.yml b/.github/ISSUE_TEMPLATE/docs.yml index afc76a94cb7d..32f05e124764 100644 --- a/.github/ISSUE_TEMPLATE/docs.yml +++ b/.github/ISSUE_TEMPLATE/docs.yml @@ -1,7 +1,7 @@ name: Documentation description: Suggest an improvement to our documentation at material.angular.io -title: "docs-bug(COMPONENT): TITLE" -labels: ["docs", "needs triage"] +title: 'docs-bug(COMPONENT): TITLE' +labels: ['docs', 'needs triage'] body: - type: textarea id: description diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index 8c01fd13a222..8abab1b2e822 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -1,7 +1,7 @@ name: Feature description: Propose a new feature for Angular Material or the CDK -title: "feat(COMPONENT): TITLE" -labels: ["feature", "needs triage"] +title: 'feat(COMPONENT): TITLE' +labels: ['feature', 'needs triage'] body: - type: textarea id: description diff --git a/.github/ISSUE_TEMPLATE/troubleshooting.yml b/.github/ISSUE_TEMPLATE/troubleshooting.yml index 1fc66dcb5d3b..ee7801802f20 100644 --- a/.github/ISSUE_TEMPLATE/troubleshooting.yml +++ b/.github/ISSUE_TEMPLATE/troubleshooting.yml @@ -1,7 +1,7 @@ name: Troubleshooting description: Request for help on an issue you are facing with Angular Material or the CDK -title: "help(COMPONENT): TITLE" -labels: ["troubleshooting", "needs triage"] +title: 'help(COMPONENT): TITLE' +labels: ['troubleshooting', 'needs triage'] body: - type: markdown attributes: @@ -38,7 +38,7 @@ body: value: | Steps to reproduce: 1. - 2. + 2. validations: required: true - type: textarea diff --git a/.github/actions/yarn-install/action.yml b/.github/actions/yarn-install/action.yml index fc29e4503bb3..c83950b1ba67 100644 --- a/.github/actions/yarn-install/action.yml +++ b/.github/actions/yarn-install/action.yml @@ -1,8 +1,8 @@ -name: "Installing Yarn dependencies" -description: "Installs the dependencies using Yarn" +name: 'Installing Yarn dependencies' +description: 'Installs the dependencies using Yarn' runs: - using: "composite" + using: 'composite' steps: - uses: actions/cache@v2 with: diff --git a/.github/angular-robot.yml b/.github/angular-robot.yml index af3a32349eac..5e37776bd671 100644 --- a/.github/angular-robot.yml +++ b/.github/angular-robot.yml @@ -7,7 +7,7 @@ size: disabled: true # Name of the status that will be responsible for providing # artifacts that will be measured by the robot. - circleCiStatusName: "ci/circleci: build_release_packages" + circleCiStatusName: 'ci/circleci: build_release_packages' # Byte value of maximum allowed change in size maxSizeIncrease: 10000 @@ -18,11 +18,11 @@ merge: # set to true to disable disabled: false # the name of the status - context: "ci/angular: merge status" + context: 'ci/angular: merge status' # text to show when all checks pass - successText: "All checks passed!" + successText: 'All checks passed!' # text to show when some checks are failing - failureText: "The following checks are failing:" + failureText: 'The following checks are failing:' # the g3 status will be added to your pull requests if they include files that match the patterns g3Status: @@ -33,7 +33,7 @@ merge: mergeConflictComment: "Hi @{{PRAuthor}}! This PR has merge conflicts due to recent upstream merges.\nPlease help to unblock it by resolving these conflicts. Thanks!" # label to monitor - mergeLabel: "pr: merge ready" + mergeLabel: 'pr: merge ready' # list of checks that will determine if the merge label can be added checks: @@ -43,23 +43,23 @@ merge: requireReviews: false # list of labels that a PR needs to have, checked with a regexp (e.g. "PR target:" will work for the label "PR target: master") requiredLabels: - - "target: *" + - 'target: *' # list of labels that a PR shouldn't have, checked after the required labels with a regexp forbiddenLabels: - - "blocked" - - "pr: blocked" - - "pr: needs*" - - "presubmit failures" + - 'blocked' + - 'pr: blocked' + - 'pr: needs*' + - 'presubmit failures' # list of PR statuses that need to be successful requiredStatuses: - - "ci/circleci: lint" - - "ci/circleci: bazel_build" - - "ci/circleci: tests_browsers" - - "ci/circleci: tests_browserstack" - - "ci/circleci: tests_saucelabs" - - "ci/circleci: build_release_packages" + - 'ci/circleci: lint' + - 'ci/circleci: bazel_build' + - 'ci/circleci: tests_browsers' + - 'ci/circleci: tests_browserstack' + - 'ci/circleci: tests_saucelabs' + - 'ci/circleci: build_release_packages' # the comment that will be added when the merge label is added despite failing checks, leave empty or set to false to disable # {{MERGE_LABEL}} will be replaced by the value of the mergeLabel option diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index c892e81d873c..0059395c7fb9 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -8,7 +8,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.0.0 + - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 # renovate: tag=v2.0.0 - uses: angular/dev-infra/github-actions/commit-message-based-labels@2e2d1a6beeb26b0cc61c70f157f1dc073cdcf235 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/src/cdk-experimental/combobox/combobox.spec.ts b/src/cdk-experimental/combobox/combobox.spec.ts index 277ad6521650..ede60225bce4 100644 --- a/src/cdk-experimental/combobox/combobox.spec.ts +++ b/src/cdk-experimental/combobox/combobox.spec.ts @@ -37,14 +37,12 @@ describe('Combobox', () => { let applyButton: DebugElement; let applyButtonElement: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkComboboxModule], - declarations: [ComboboxToggle, FakeDialogContent], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkComboboxModule], + declarations: [ComboboxToggle, FakeDialogContent], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ComboboxToggle); @@ -203,14 +201,12 @@ describe('Combobox', () => { let combobox: DebugElement; let comboboxInstance: CdkCombobox; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkComboboxModule], - declarations: [ComboboxToggle, FakeDialogContent], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkComboboxModule], + declarations: [ComboboxToggle, FakeDialogContent], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ComboboxToggle); @@ -276,14 +272,12 @@ describe('Combobox', () => { let comboboxInstance: CdkCombobox; let comboboxElement: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkComboboxModule], - declarations: [ComboboxToggle, FakeDialogContent], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkComboboxModule], + declarations: [ComboboxToggle, FakeDialogContent], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ComboboxToggle); diff --git a/src/cdk-experimental/listbox/listbox.spec.ts b/src/cdk-experimental/listbox/listbox.spec.ts index cc68637f35ec..e8a63b2acab0 100644 --- a/src/cdk-experimental/listbox/listbox.spec.ts +++ b/src/cdk-experimental/listbox/listbox.spec.ts @@ -25,31 +25,27 @@ describe('CdkOption and CdkListbox', () => { let optionInstances: CdkOption[]; let optionElements: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkListboxModule], - declarations: [ListboxWithOptions], - }).compileComponents(); - }), - ); - - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(ListboxWithOptions); - fixture.detectChanges(); - - testComponent = fixture.debugElement.componentInstance; - - listbox = fixture.debugElement.query(By.directive(CdkListbox)); - listboxInstance = listbox.injector.get>(CdkListbox); - listboxElement = listbox.nativeElement; - - options = fixture.debugElement.queryAll(By.directive(CdkOption)); - optionInstances = options.map(o => o.injector.get(CdkOption)); - optionElements = options.map(o => o.nativeElement); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkListboxModule], + declarations: [ListboxWithOptions], + }).compileComponents(); + })); + + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(ListboxWithOptions); + fixture.detectChanges(); + + testComponent = fixture.debugElement.componentInstance; + + listbox = fixture.debugElement.query(By.directive(CdkListbox)); + listboxInstance = listbox.injector.get>(CdkListbox); + listboxElement = listbox.nativeElement; + + options = fixture.debugElement.queryAll(By.directive(CdkOption)); + optionInstances = options.map(o => o.injector.get(CdkOption)); + optionElements = options.map(o => o.nativeElement); + })); it('should generate a unique optionId for each option', () => { let optionIds: string[] = []; @@ -363,29 +359,25 @@ describe('CdkOption and CdkListbox', () => { let optionInstances: CdkOption[]; let optionElements: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkListboxModule], - declarations: [ListboxMultiselect], - }).compileComponents(); - }), - ); - - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(ListboxMultiselect); - fixture.detectChanges(); - - testComponent = fixture.debugElement.componentInstance; - listbox = fixture.debugElement.query(By.directive(CdkListbox)); - listboxInstance = listbox.injector.get>(CdkListbox); - - options = fixture.debugElement.queryAll(By.directive(CdkOption)); - optionInstances = options.map(o => o.injector.get(CdkOption)); - optionElements = options.map(o => o.nativeElement); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkListboxModule], + declarations: [ListboxMultiselect], + }).compileComponents(); + })); + + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(ListboxMultiselect); + fixture.detectChanges(); + + testComponent = fixture.debugElement.componentInstance; + listbox = fixture.debugElement.query(By.directive(CdkListbox)); + listboxInstance = listbox.injector.get>(CdkListbox); + + options = fixture.debugElement.queryAll(By.directive(CdkOption)); + optionInstances = options.map(o => o.injector.get(CdkOption)); + optionElements = options.map(o => o.nativeElement); + })); it('should select all options using the select all method', () => { let selectedOptions = optionInstances.filter(option => option.selected); @@ -510,31 +502,27 @@ describe('CdkOption and CdkListbox', () => { let optionInstances: CdkOption[]; let optionElements: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkListboxModule], - declarations: [ListboxActiveDescendant], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkListboxModule], + declarations: [ListboxActiveDescendant], + }).compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(ListboxActiveDescendant); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(ListboxActiveDescendant); + fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; + testComponent = fixture.debugElement.componentInstance; - listbox = fixture.debugElement.query(By.directive(CdkListbox)); - listboxInstance = listbox.injector.get>(CdkListbox); - listboxElement = listbox.nativeElement; + listbox = fixture.debugElement.query(By.directive(CdkListbox)); + listboxInstance = listbox.injector.get>(CdkListbox); + listboxElement = listbox.nativeElement; - options = fixture.debugElement.queryAll(By.directive(CdkOption)); - optionInstances = options.map(o => o.injector.get(CdkOption)); - optionElements = options.map(o => o.nativeElement); - }), - ); + options = fixture.debugElement.queryAll(By.directive(CdkOption)); + optionInstances = options.map(o => o.injector.get(CdkOption)); + optionElements = options.map(o => o.nativeElement); + })); it('should update aria active descendant when enabled', () => { expect(listboxElement.hasAttribute('aria-activedescendant')).toBeFalse(); @@ -598,14 +586,12 @@ describe('CdkOption and CdkListbox', () => { let optionInstances: CdkOption[]; let optionElements: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkListboxModule, FormsModule, ReactiveFormsModule], - declarations: [ListboxControlValueAccessor], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkListboxModule, FormsModule, ReactiveFormsModule], + declarations: [ListboxControlValueAccessor], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ListboxControlValueAccessor); @@ -797,14 +783,12 @@ describe('CdkOption and CdkListbox', () => { let optionInstances: CdkOption[]; let optionElements: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkListboxModule, CdkComboboxModule], - declarations: [ListboxInsideCombobox], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkListboxModule, CdkComboboxModule], + declarations: [ListboxInsideCombobox], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ListboxInsideCombobox); diff --git a/src/cdk-experimental/menu/context-menu.spec.ts b/src/cdk-experimental/menu/context-menu.spec.ts index f260378b3461..1a136b2c1ccd 100644 --- a/src/cdk-experimental/menu/context-menu.spec.ts +++ b/src/cdk-experimental/menu/context-menu.spec.ts @@ -13,14 +13,12 @@ describe('CdkContextMenuTrigger', () => { describe('with simple context menu trigger', () => { let fixture: ComponentFixture; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [SimpleContextMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [SimpleContextMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SimpleContextMenu); @@ -133,14 +131,12 @@ describe('CdkContextMenuTrigger', () => { describe('nested context menu triggers', () => { let fixture: ComponentFixture; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [NestedContextMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [NestedContextMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(NestedContextMenu); @@ -249,14 +245,12 @@ describe('CdkContextMenuTrigger', () => { let fixture: ComponentFixture; let instance: ContextMenuWithSubmenu; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [ContextMenuWithSubmenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [ContextMenuWithSubmenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ContextMenuWithSubmenu); @@ -282,14 +276,12 @@ describe('CdkContextMenuTrigger', () => { let nativeMenuBar: HTMLElement; let nativeMenuBarTrigger: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [ContextMenuWithMenuBarAndInlineMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [ContextMenuWithMenuBarAndInlineMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ContextMenuWithMenuBarAndInlineMenu); diff --git a/src/cdk-experimental/menu/menu-bar.spec.ts b/src/cdk-experimental/menu/menu-bar.spec.ts index 61aafbe534f7..186096c31010 100644 --- a/src/cdk-experimental/menu/menu-bar.spec.ts +++ b/src/cdk-experimental/menu/menu-bar.spec.ts @@ -43,21 +43,19 @@ describe('MenuBar', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemRadio[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuBarRadioGroup], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuBarRadioGroup], + }).compileComponents(); - fixture = TestBed.createComponent(MenuBarRadioGroup); - fixture.detectChanges(); + fixture = TestBed.createComponent(MenuBarRadioGroup); + fixture.detectChanges(); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemRadio)) - .map(element => element.injector.get(CdkMenuItemRadio)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemRadio)) + .map(element => element.injector.get(CdkMenuItemRadio)); + })); it('should toggle menuitemradio items', () => { expect(menuItems[0].checked).toBeTrue(); @@ -74,22 +72,20 @@ describe('MenuBar', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemRadio[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuBarRadioGroup], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuBarRadioGroup], + }).compileComponents(); - fixture = TestBed.createComponent(MenuBarRadioGroup); + fixture = TestBed.createComponent(MenuBarRadioGroup); - fixture.detectChanges(); + fixture.detectChanges(); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemRadio)) - .map(element => element.injector.get(CdkMenuItemRadio)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemRadio)) + .map(element => element.injector.get(CdkMenuItemRadio)); + })); it('should emit on click', () => { const spy = jasmine.createSpy('cdkMenu change spy'); @@ -141,14 +137,12 @@ describe('MenuBar', () => { detectChanges(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MultiMenuWithSubmenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MultiMenuWithSubmenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MultiMenuWithSubmenu); @@ -568,14 +562,12 @@ describe('MenuBar', () => { detectChanges(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MultiMenuWithSubmenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MultiMenuWithSubmenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MultiMenuWithSubmenu); @@ -698,14 +690,12 @@ describe('MenuBar', () => { detectChanges(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuWithCheckboxes], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuWithCheckboxes], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MenuWithCheckboxes); @@ -767,14 +757,12 @@ describe('MenuBar', () => { detectChanges(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuWithRadioButtons], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuWithRadioButtons], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MenuWithRadioButtons); @@ -825,14 +813,12 @@ describe('MenuBar', () => { grabElementsForTesting(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuBarWithMenusAndInlineMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuBarWithMenusAndInlineMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MenuBarWithMenusAndInlineMenu); @@ -946,14 +932,12 @@ describe('MenuBar', () => { detectChanges(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MultiMenuWithSubmenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MultiMenuWithSubmenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MultiMenuWithSubmenu); diff --git a/src/cdk-experimental/menu/menu-group.spec.ts b/src/cdk-experimental/menu/menu-group.spec.ts index cafb8883f98e..3dd49f9224ef 100644 --- a/src/cdk-experimental/menu/menu-group.spec.ts +++ b/src/cdk-experimental/menu/menu-group.spec.ts @@ -1,38 +1,37 @@ import {Component, ViewChild} from '@angular/core'; import {ComponentFixture, TestBed, waitForAsync} from '@angular/core/testing'; + import {By} from '@angular/platform-browser'; -import {CdkMenuModule} from './menu-module'; import {CdkMenuGroup} from './menu-group'; +import {CdkMenuItem} from './menu-item'; import {CdkMenuItemCheckbox} from './menu-item-checkbox'; import {CdkMenuItemRadio} from './menu-item-radio'; +import {CdkMenuModule} from './menu-module'; import {CdkMenuPanel} from './menu-panel'; import {MenuStack} from './menu-stack'; -import {CdkMenuItem} from './menu-item'; describe('MenuGroup', () => { describe('with MenuItems as checkbox', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemCheckbox[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [CheckboxMenu], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [CheckboxMenu], + }).compileComponents(); - fixture = TestBed.createComponent(CheckboxMenu); - fixture.detectChanges(); + fixture = TestBed.createComponent(CheckboxMenu); + fixture.detectChanges(); - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemCheckbox)) - .map(e => e.injector.get(CdkMenuItemCheckbox)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemCheckbox)) + .map(e => e.injector.get(CdkMenuItemCheckbox)); + })); it('should not change state of sibling checked menuitemcheckbox', () => { menuItems[1].trigger(); @@ -45,25 +44,23 @@ describe('MenuGroup', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemRadio[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuWithMultipleRadioGroups], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuWithMultipleRadioGroups], + }).compileComponents(); - fixture = TestBed.createComponent(MenuWithMultipleRadioGroups); - fixture.detectChanges(); + fixture = TestBed.createComponent(MenuWithMultipleRadioGroups); + fixture.detectChanges(); - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemRadio)) - .map(e => e.injector.get(CdkMenuItemRadio)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemRadio)) + .map(e => e.injector.get(CdkMenuItemRadio)); + })); it('should change state of sibling menuitemradio in same group', () => { menuItems[1].trigger(); @@ -93,25 +90,23 @@ describe('MenuGroup', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemRadio[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuWithMenuItemsAndRadioGroups], - }).compileComponents(); - - fixture = TestBed.createComponent(MenuWithMenuItemsAndRadioGroups); - fixture.detectChanges(); - - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); - - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemRadio)) - .map(element => element.injector.get(CdkMenuItemRadio)); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuWithMenuItemsAndRadioGroups], + }).compileComponents(); + + fixture = TestBed.createComponent(MenuWithMenuItemsAndRadioGroups); + fixture.detectChanges(); + + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); + + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemRadio)) + .map(element => element.injector.get(CdkMenuItemRadio)); + })); it('should emit from enclosing radio group only', () => { const spies: jasmine.Spy[] = []; diff --git a/src/cdk-experimental/menu/menu-item-checkbox.spec.ts b/src/cdk-experimental/menu/menu-item-checkbox.spec.ts index 9c48d6245191..7079cdab2cf1 100644 --- a/src/cdk-experimental/menu/menu-item-checkbox.spec.ts +++ b/src/cdk-experimental/menu/menu-item-checkbox.spec.ts @@ -11,19 +11,17 @@ describe('MenuItemCheckbox', () => { let checkbox: CdkMenuItemCheckbox; let checkboxElement: HTMLButtonElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [SingleCheckboxButton], - providers: [ - {provide: CDK_MENU, useClass: CdkMenu}, - // View engine can't figure out the ElementRef to inject so we need to provide a fake - {provide: ElementRef, useValue: new ElementRef(null)}, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [SingleCheckboxButton], + providers: [ + {provide: CDK_MENU, useClass: CdkMenu}, + // View engine can't figure out the ElementRef to inject so we need to provide a fake + {provide: ElementRef, useValue: new ElementRef(null)}, + ], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SingleCheckboxButton); diff --git a/src/cdk-experimental/menu/menu-item-radio.spec.ts b/src/cdk-experimental/menu/menu-item-radio.spec.ts index 3ecf30d24099..198453075385 100644 --- a/src/cdk-experimental/menu/menu-item-radio.spec.ts +++ b/src/cdk-experimental/menu/menu-item-radio.spec.ts @@ -13,21 +13,19 @@ describe('MenuItemRadio', () => { let radioElement: HTMLButtonElement; let selectionDispatcher: UniqueSelectionDispatcher; - beforeEach( - waitForAsync(() => { - selectionDispatcher = new UniqueSelectionDispatcher(); - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [SimpleRadioButton], - providers: [ - {provide: UniqueSelectionDispatcher, useValue: selectionDispatcher}, - {provide: CDK_MENU, useClass: CdkMenu}, - // View engine can't figure out the ElementRef to inject so we need to provide a fake - {provide: ElementRef, useValue: new ElementRef(null)}, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + selectionDispatcher = new UniqueSelectionDispatcher(); + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [SimpleRadioButton], + providers: [ + {provide: UniqueSelectionDispatcher, useValue: selectionDispatcher}, + {provide: CDK_MENU, useClass: CdkMenu}, + // View engine can't figure out the ElementRef to inject so we need to provide a fake + {provide: ElementRef, useValue: new ElementRef(null)}, + ], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SimpleRadioButton); diff --git a/src/cdk-experimental/menu/menu-item-trigger.spec.ts b/src/cdk-experimental/menu/menu-item-trigger.spec.ts index d2d7d3c82fa3..b2046bf48c42 100644 --- a/src/cdk-experimental/menu/menu-item-trigger.spec.ts +++ b/src/cdk-experimental/menu/menu-item-trigger.spec.ts @@ -15,14 +15,12 @@ describe('MenuItemTrigger', () => { let menuItem: CdkMenuItem; let menuItemElement: HTMLButtonElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [TriggerForEmptyMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [TriggerForEmptyMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(TriggerForEmptyMenu); @@ -84,14 +82,12 @@ describe('MenuItemTrigger', () => { const setDocumentDirection = (dir: 'ltr' | 'rtl') => (document.dir = dir); - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuBarWithNestedSubMenus], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuBarWithNestedSubMenus], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MenuBarWithNestedSubMenus); @@ -355,14 +351,12 @@ describe('MenuItemTrigger', () => { grabElementsForTesting(); }; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [StandaloneTriggerWithInlineMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [StandaloneTriggerWithInlineMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(StandaloneTriggerWithInlineMenu); diff --git a/src/cdk-experimental/menu/menu-item.spec.ts b/src/cdk-experimental/menu/menu-item.spec.ts index 1128f4067ab8..5a15be029a44 100644 --- a/src/cdk-experimental/menu/menu-item.spec.ts +++ b/src/cdk-experimental/menu/menu-item.spec.ts @@ -12,19 +12,17 @@ describe('MenuItem', () => { let menuItem: CdkMenuItem; let nativeButton: HTMLButtonElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [SingleMenuItem], - providers: [ - {provide: CDK_MENU, useClass: CdkMenu}, - // View engine can't figure out the ElementRef to inject so we need to provide a fake - {provide: ElementRef, useValue: new ElementRef(null)}, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [SingleMenuItem], + providers: [ + {provide: CDK_MENU, useClass: CdkMenu}, + // View engine can't figure out the ElementRef to inject so we need to provide a fake + {provide: ElementRef, useValue: new ElementRef(null)}, + ], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SingleMenuItem); diff --git a/src/cdk-experimental/menu/menu-stack.spec.ts b/src/cdk-experimental/menu/menu-stack.spec.ts index 36ddd9c0b83c..caf33baa20a7 100644 --- a/src/cdk-experimental/menu/menu-stack.spec.ts +++ b/src/cdk-experimental/menu/menu-stack.spec.ts @@ -20,14 +20,12 @@ describe('MenuStack', () => { menuStack = fixture.componentInstance.menuBar._menuStack; } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MultiMenuWithSubmenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MultiMenuWithSubmenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MultiMenuWithSubmenu); diff --git a/src/cdk-experimental/menu/menu.spec.ts b/src/cdk-experimental/menu/menu.spec.ts index 0152952520a0..03ecd8426f15 100644 --- a/src/cdk-experimental/menu/menu.spec.ts +++ b/src/cdk-experimental/menu/menu.spec.ts @@ -1,51 +1,50 @@ +import {Component, ElementRef, QueryList, ViewChild, ViewChildren} from '@angular/core'; import { ComponentFixture, TestBed, fakeAsync, - tick, flush, + tick, waitForAsync, } from '@angular/core/testing'; -import {Component, ViewChild, ViewChildren, QueryList, ElementRef} from '@angular/core'; -import {TAB} from '@angular/cdk/keycodes'; import { - dispatchKeyboardEvent, - dispatchMouseEvent, createMouseEvent, dispatchEvent, + dispatchKeyboardEvent, + dispatchMouseEvent, } from '../../cdk/testing/private'; + import {By} from '@angular/platform-browser'; import {CdkMenu} from './menu'; -import {CdkMenuModule} from './menu-module'; -import {CdkMenuItemCheckbox} from './menu-item-checkbox'; import {CdkMenuItem} from './menu-item'; +import {CdkMenuItemCheckbox} from './menu-item-checkbox'; +import {CdkMenuModule} from './menu-module'; import {CdkMenuPanel} from './menu-panel'; import {MenuStack} from './menu-stack'; +import {TAB} from '@angular/cdk/keycodes'; describe('Menu', () => { describe('as checkbox group', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemCheckbox[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuCheckboxGroup], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuCheckboxGroup], + }).compileComponents(); - fixture = TestBed.createComponent(MenuCheckboxGroup); - fixture.detectChanges(); + fixture = TestBed.createComponent(MenuCheckboxGroup); + fixture.detectChanges(); - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemCheckbox)) - .map(element => element.injector.get(CdkMenuItemCheckbox)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemCheckbox)) + .map(element => element.injector.get(CdkMenuItemCheckbox)); + })); it('should toggle menuitemcheckbox', () => { expect(menuItems[0].checked).toBeTrue(); @@ -65,25 +64,23 @@ describe('Menu', () => { let fixture: ComponentFixture; let menuItems: CdkMenuItemCheckbox[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuCheckboxGroup], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuCheckboxGroup], + }).compileComponents(); - fixture = TestBed.createComponent(MenuCheckboxGroup); - fixture.detectChanges(); + fixture = TestBed.createComponent(MenuCheckboxGroup); + fixture.detectChanges(); - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemCheckbox)) - .map(element => element.injector.get(CdkMenuItemCheckbox)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemCheckbox)) + .map(element => element.injector.get(CdkMenuItemCheckbox)); + })); it('should emit on click', () => { const spy = jasmine.createSpy('cdkMenu change spy'); @@ -101,27 +98,25 @@ describe('Menu', () => { let menuItems: CdkMenuItemCheckbox[]; let menu: CdkMenu; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuWithNestedGroup], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuWithNestedGroup], + }).compileComponents(); - fixture = TestBed.createComponent(MenuWithNestedGroup); - fixture.detectChanges(); + fixture = TestBed.createComponent(MenuWithNestedGroup); + fixture.detectChanges(); - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); - menu = fixture.debugElement.query(By.directive(CdkMenu)).injector.get(CdkMenu); + menu = fixture.debugElement.query(By.directive(CdkMenu)).injector.get(CdkMenu); - menuItems = fixture.debugElement - .queryAll(By.directive(CdkMenuItemCheckbox)) - .map(element => element.injector.get(CdkMenuItemCheckbox)); - }), - ); + menuItems = fixture.debugElement + .queryAll(By.directive(CdkMenuItemCheckbox)) + .map(element => element.injector.get(CdkMenuItemCheckbox)); + })); it('should not emit change from root menu ', () => { const spy = jasmine.createSpy('changeSpy for root menu'); @@ -146,24 +141,22 @@ describe('Menu', () => { .map(element => element.injector.get(CdkMenuItemCheckbox)); }; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [MenuWithConditionalGroup], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [MenuWithConditionalGroup], + }).compileComponents(); - fixture = TestBed.createComponent(MenuWithConditionalGroup); - fixture.detectChanges(); + fixture = TestBed.createComponent(MenuWithConditionalGroup); + fixture.detectChanges(); - fixture.componentInstance.panel._menuStack = new MenuStack(); - fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); - fixture.detectChanges(); + fixture.componentInstance.panel._menuStack = new MenuStack(); + fixture.componentInstance.trigger.getMenuTrigger()?.toggle(); + fixture.detectChanges(); - menu = fixture.debugElement.query(By.directive(CdkMenu)).injector.get(CdkMenu); - menuItems = getMenuItems(); - }), - ); + menu = fixture.debugElement.query(By.directive(CdkMenu)).injector.get(CdkMenu); + menuItems = getMenuItems(); + })); it('should not emit after the menu group element renders', () => { const spy = jasmine.createSpy('cdkMenu change'); @@ -186,14 +179,12 @@ describe('Menu', () => { let nativeMenu: HTMLElement; let nativeMenuItems: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [InlineMenu], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [InlineMenu], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(InlineMenu); @@ -264,14 +255,12 @@ describe('Menu', () => { let nativeMenus: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [WithComplexNestedMenus], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [WithComplexNestedMenus], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(WithComplexNestedMenus); @@ -462,14 +451,12 @@ describe('Menu', () => { let nativeMenus: HTMLElement[]; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkMenuModule], - declarations: [WithComplexNestedMenusOnBottom], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkMenuModule], + declarations: [WithComplexNestedMenusOnBottom], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(WithComplexNestedMenusOnBottom); diff --git a/src/cdk-experimental/menu/pointer-focus-tracker.spec.ts b/src/cdk-experimental/menu/pointer-focus-tracker.spec.ts index 3a0dc0a62a9b..0e8c2ca43467 100644 --- a/src/cdk-experimental/menu/pointer-focus-tracker.spec.ts +++ b/src/cdk-experimental/menu/pointer-focus-tracker.spec.ts @@ -17,13 +17,11 @@ describe('FocusMouseManger', () => { mockElements = fixture.componentInstance._allItems.toArray(); } - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [MultiElementWithConditionalComponent, MockWrapper], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [MultiElementWithConditionalComponent, MockWrapper], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MultiElementWithConditionalComponent); diff --git a/src/cdk-experimental/scrolling/virtual-scroll-viewport.spec.ts b/src/cdk-experimental/scrolling/virtual-scroll-viewport.spec.ts index b75b0b2b60f2..226e4dc6a726 100644 --- a/src/cdk-experimental/scrolling/virtual-scroll-viewport.spec.ts +++ b/src/cdk-experimental/scrolling/virtual-scroll-viewport.spec.ts @@ -9,14 +9,12 @@ describe('CdkVirtualScrollViewport', () => { let testComponent: AutoSizeVirtualScroll; let viewport: CdkVirtualScrollViewport; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule, ExperimentalScrollingModule], - declarations: [AutoSizeVirtualScroll], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule, ExperimentalScrollingModule], + declarations: [AutoSizeVirtualScroll], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(AutoSizeVirtualScroll); diff --git a/src/cdk-experimental/selection/selection.spec.ts b/src/cdk-experimental/selection/selection.spec.ts index 43fb472f60ca..0a15f2bd45d1 100644 --- a/src/cdk-experimental/selection/selection.spec.ts +++ b/src/cdk-experimental/selection/selection.spec.ts @@ -10,14 +10,12 @@ describe('CdkSelection', () => { let fixture: ComponentFixture; let component: ListWithMultiSelection; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkSelectionModule], - declarations: [ListWithMultiSelection], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkSelectionModule], + declarations: [ListWithMultiSelection], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ListWithMultiSelection); @@ -239,14 +237,12 @@ describe('CdkSelection with multiple = false', () => { let fixture: ComponentFixture; let component: ListWithSingleSelection; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkSelectionModule], - declarations: [ListWithSingleSelection], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkSelectionModule], + declarations: [ListWithSingleSelection], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ListWithSingleSelection); @@ -307,14 +303,12 @@ describe('cdkSelectionColumn', () => { let fixture: ComponentFixture; let component: MultiSelectTableWithSelectionColumn; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkSelectionModule, CdkTableModule], - declarations: [MultiSelectTableWithSelectionColumn], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkSelectionModule, CdkTableModule], + declarations: [MultiSelectTableWithSelectionColumn], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MultiSelectTableWithSelectionColumn); @@ -404,14 +398,12 @@ describe('cdkSelectionColumn with multiple = false', () => { let fixture: ComponentFixture; let component: SingleSelectTableWithSelectionColumn; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkSelectionModule, CdkTableModule], - declarations: [SingleSelectTableWithSelectionColumn], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkSelectionModule, CdkTableModule], + declarations: [SingleSelectTableWithSelectionColumn], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SingleSelectTableWithSelectionColumn); diff --git a/src/cdk/a11y/focus-trap/focus-trap.spec.ts b/src/cdk/a11y/focus-trap/focus-trap.spec.ts index 7969a5adb20e..7c8bbfe0b76d 100644 --- a/src/cdk/a11y/focus-trap/focus-trap.spec.ts +++ b/src/cdk/a11y/focus-trap/focus-trap.spec.ts @@ -12,26 +12,24 @@ import {A11yModule, FocusTrap, CdkTrapFocus} from '../index'; import {By} from '@angular/platform-browser'; describe('FocusTrap', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [A11yModule, PortalModule], - declarations: [ - FocusTrapWithBindings, - SimpleFocusTrap, - FocusTrapTargets, - FocusTrapWithSvg, - FocusTrapWithoutFocusableElements, - FocusTrapWithAutoCapture, - FocusTrapUnfocusableTarget, - FocusTrapInsidePortal, - FocusTrapWithAutoCaptureInShadowDom, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [A11yModule, PortalModule], + declarations: [ + FocusTrapWithBindings, + SimpleFocusTrap, + FocusTrapTargets, + FocusTrapWithSvg, + FocusTrapWithoutFocusableElements, + FocusTrapWithAutoCapture, + FocusTrapUnfocusableTarget, + FocusTrapInsidePortal, + FocusTrapWithAutoCaptureInShadowDom, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('with default element', () => { let fixture: ComponentFixture; @@ -206,109 +204,93 @@ describe('FocusTrap', () => { }); describe('with autoCapture', () => { - it( - 'should automatically capture and return focus on init / destroy', - waitForAsync(() => { - const fixture = TestBed.createComponent(FocusTrapWithAutoCapture); - fixture.detectChanges(); - - const buttonOutsideTrappedRegion = fixture.nativeElement.querySelector('button'); - buttonOutsideTrappedRegion.focus(); + it('should automatically capture and return focus on init / destroy', waitForAsync(() => { + const fixture = TestBed.createComponent(FocusTrapWithAutoCapture); + fixture.detectChanges(); + + const buttonOutsideTrappedRegion = fixture.nativeElement.querySelector('button'); + buttonOutsideTrappedRegion.focus(); + expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); + + fixture.componentInstance.showTrappedRegion = true; + fixture.detectChanges(); + + fixture.whenStable().then(() => { + expect(getActiveElement().id).toBe('auto-capture-target'); + + fixture.destroy(); expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); + }); + })); - fixture.componentInstance.showTrappedRegion = true; - fixture.detectChanges(); + it('should capture focus if auto capture is enabled later on', waitForAsync(() => { + const fixture = TestBed.createComponent(FocusTrapWithAutoCapture); + fixture.componentInstance.autoCaptureEnabled = false; + fixture.componentInstance.showTrappedRegion = true; + fixture.detectChanges(); - fixture.whenStable().then(() => { - expect(getActiveElement().id).toBe('auto-capture-target'); + const buttonOutsideTrappedRegion = fixture.nativeElement.querySelector('button'); + buttonOutsideTrappedRegion.focus(); + expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - fixture.destroy(); - expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - }); - }), - ); + fixture.componentInstance.autoCaptureEnabled = true; + fixture.detectChanges(); - it( - 'should capture focus if auto capture is enabled later on', - waitForAsync(() => { - const fixture = TestBed.createComponent(FocusTrapWithAutoCapture); - fixture.componentInstance.autoCaptureEnabled = false; - fixture.componentInstance.showTrappedRegion = true; - fixture.detectChanges(); + fixture.whenStable().then(() => { + expect(getActiveElement().id).toBe('auto-capture-target'); - const buttonOutsideTrappedRegion = fixture.nativeElement.querySelector('button'); - buttonOutsideTrappedRegion.focus(); + fixture.destroy(); expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); + }); + })); - fixture.componentInstance.autoCaptureEnabled = true; - fixture.detectChanges(); + it('should automatically capture and return focus on init / destroy inside the shadow DOM', waitForAsync(() => { + if (!_supportsShadowDom()) { + return; + } - fixture.whenStable().then(() => { - expect(getActiveElement().id).toBe('auto-capture-target'); + const fixture = TestBed.createComponent(FocusTrapWithAutoCaptureInShadowDom); + fixture.detectChanges(); - fixture.destroy(); - expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - }); - }), - ); + const buttonOutsideTrappedRegion = fixture.debugElement.query(By.css('button')).nativeElement; + buttonOutsideTrappedRegion.focus(); + expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - it( - 'should automatically capture and return focus on init / destroy inside the shadow DOM', - waitForAsync(() => { - if (!_supportsShadowDom()) { - return; - } + fixture.componentInstance.showTrappedRegion = true; + fixture.detectChanges(); - const fixture = TestBed.createComponent(FocusTrapWithAutoCaptureInShadowDom); - fixture.detectChanges(); + fixture.whenStable().then(() => { + expect(getActiveElement().id).toBe('auto-capture-target'); - const buttonOutsideTrappedRegion = fixture.debugElement.query( - By.css('button'), - ).nativeElement; - buttonOutsideTrappedRegion.focus(); + fixture.destroy(); expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); + }); + })); - fixture.componentInstance.showTrappedRegion = true; - fixture.detectChanges(); - - fixture.whenStable().then(() => { - expect(getActiveElement().id).toBe('auto-capture-target'); - - fixture.destroy(); - expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - }); - }), - ); - - it( - 'should capture focus if auto capture is enabled later on inside the shadow DOM', - waitForAsync(() => { - if (!_supportsShadowDom()) { - return; - } - - const fixture = TestBed.createComponent(FocusTrapWithAutoCaptureInShadowDom); - fixture.componentInstance.autoCaptureEnabled = false; - fixture.componentInstance.showTrappedRegion = true; - fixture.detectChanges(); - - const buttonOutsideTrappedRegion = fixture.debugElement.query( - By.css('button'), - ).nativeElement; - buttonOutsideTrappedRegion.focus(); - expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); + it('should capture focus if auto capture is enabled later on inside the shadow DOM', waitForAsync(() => { + if (!_supportsShadowDom()) { + return; + } - fixture.componentInstance.autoCaptureEnabled = true; - fixture.detectChanges(); + const fixture = TestBed.createComponent(FocusTrapWithAutoCaptureInShadowDom); + fixture.componentInstance.autoCaptureEnabled = false; + fixture.componentInstance.showTrappedRegion = true; + fixture.detectChanges(); - fixture.whenStable().then(() => { - expect(getActiveElement().id).toBe('auto-capture-target'); + const buttonOutsideTrappedRegion = fixture.debugElement.query(By.css('button')).nativeElement; + buttonOutsideTrappedRegion.focus(); + expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - fixture.destroy(); - expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); - }); - }), - ); + fixture.componentInstance.autoCaptureEnabled = true; + fixture.detectChanges(); + + fixture.whenStable().then(() => { + expect(getActiveElement().id).toBe('auto-capture-target'); + + fixture.destroy(); + expect(getActiveElement()).toBe(buttonOutsideTrappedRegion); + }); + })); }); it('should put anchors inside the outlet when set at the root of a template portal', () => { diff --git a/src/cdk/accordion/accordion-item.spec.ts b/src/cdk/accordion/accordion-item.spec.ts index 707f7e7fc281..97c4d7987eae 100644 --- a/src/cdk/accordion/accordion-item.spec.ts +++ b/src/cdk/accordion/accordion-item.spec.ts @@ -5,15 +5,13 @@ import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; import {CdkAccordionModule, CdkAccordionItem} from './public-api'; describe('CdkAccordionItem', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, CdkAccordionModule], - declarations: [SingleItem, ItemGroupWithoutAccordion, ItemGroupWithAccordion], - }); - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [BrowserAnimationsModule, CdkAccordionModule], + declarations: [SingleItem, ItemGroupWithoutAccordion, ItemGroupWithAccordion], + }); + TestBed.compileComponents(); + })); describe('single item', () => { let fixture: ComponentFixture; diff --git a/src/cdk/accordion/accordion.spec.ts b/src/cdk/accordion/accordion.spec.ts index 3b1000b481c5..999d644cb4b6 100644 --- a/src/cdk/accordion/accordion.spec.ts +++ b/src/cdk/accordion/accordion.spec.ts @@ -7,15 +7,13 @@ import {CdkAccordionItem} from './accordion-item'; import {CdkAccordionModule} from './accordion-module'; describe('CdkAccordion', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, CdkAccordionModule], - declarations: [SetOfItems, NestedItems], - }); - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [BrowserAnimationsModule, CdkAccordionModule], + declarations: [SetOfItems, NestedItems], + }); + TestBed.compileComponents(); + })); it('should ensure only one item is expanded at a time', () => { const fixture = TestBed.createComponent(SetOfItems); diff --git a/src/cdk/bidi/directionality.spec.ts b/src/cdk/bidi/directionality.spec.ts index 6972d42e8ce3..5a97ea287d0a 100644 --- a/src/cdk/bidi/directionality.spec.ts +++ b/src/cdk/bidi/directionality.spec.ts @@ -6,22 +6,20 @@ import {BidiModule, Directionality, Dir, Direction, DIR_DOCUMENT} from './index' describe('Directionality', () => { let fakeDocument: FakeDocument; - beforeEach( - waitForAsync(() => { - fakeDocument = {body: {}, documentElement: {}}; - - TestBed.configureTestingModule({ - imports: [BidiModule], - declarations: [ - ElementWithDir, - ElementWithPredefinedAutoDir, - InjectsDirectionality, - ElementWithPredefinedUppercaseDir, - ], - providers: [{provide: DIR_DOCUMENT, useFactory: () => fakeDocument}], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + fakeDocument = {body: {}, documentElement: {}}; + + TestBed.configureTestingModule({ + imports: [BidiModule], + declarations: [ + ElementWithDir, + ElementWithPredefinedAutoDir, + InjectsDirectionality, + ElementWithPredefinedUppercaseDir, + ], + providers: [{provide: DIR_DOCUMENT, useFactory: () => fakeDocument}], + }).compileComponents(); + })); describe('Service', () => { it('should read dir from the html element if not specified on the body', () => { diff --git a/src/cdk/observers/observe-content.spec.ts b/src/cdk/observers/observe-content.spec.ts index 9b85a044aef3..c8f1c3b70ed1 100644 --- a/src/cdk/observers/observe-content.spec.ts +++ b/src/cdk/observers/observe-content.spec.ts @@ -11,16 +11,14 @@ import {ContentObserver, MutationObserverFactory, ObserversModule} from './obser describe('Observe content directive', () => { describe('basic usage', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ObserversModule], - declarations: [ComponentWithTextContent, ComponentWithChildTextContent], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ObserversModule], + declarations: [ComponentWithTextContent, ComponentWithChildTextContent], + }); + + TestBed.compileComponents(); + })); it('should trigger the callback when the content of the element changes', done => { let fixture = TestBed.createComponent(ComponentWithTextContent); @@ -87,36 +85,34 @@ describe('Observe content directive', () => { let callbacks: Function[]; let invokeCallbacks = (args?: any) => callbacks.forEach(callback => callback(args)); - beforeEach( - waitForAsync(() => { - callbacks = []; - - TestBed.configureTestingModule({ - imports: [ObserversModule], - declarations: [ComponentWithDebouncedListener], - providers: [ - { - provide: MutationObserverFactory, - useValue: { - create: function (callback: Function) { - callbacks.push(callback); - - return { - observe: () => {}, - disconnect: () => {}, - }; - }, + beforeEach(waitForAsync(() => { + callbacks = []; + + TestBed.configureTestingModule({ + imports: [ObserversModule], + declarations: [ComponentWithDebouncedListener], + providers: [ + { + provide: MutationObserverFactory, + useValue: { + create: function (callback: Function) { + callbacks.push(callback); + + return { + observe: () => {}, + disconnect: () => {}, + }; }, }, - ], - }); + }, + ], + }); - TestBed.compileComponents(); + TestBed.compileComponents(); - fixture = TestBed.createComponent(ComponentWithDebouncedListener); - fixture.detectChanges(); - }), - ); + fixture = TestBed.createComponent(ComponentWithDebouncedListener); + fixture.detectChanges(); + })); it('should debounce the content changes', fakeAsync(() => { invokeCallbacks(); diff --git a/src/cdk/overlay/fullscreen-overlay-container.spec.ts b/src/cdk/overlay/fullscreen-overlay-container.spec.ts index dafa23d0cacd..c48c63610139 100644 --- a/src/cdk/overlay/fullscreen-overlay-container.spec.ts +++ b/src/cdk/overlay/fullscreen-overlay-container.spec.ts @@ -9,57 +9,55 @@ describe('FullscreenOverlayContainer', () => { let fullscreenListeners: Set; let fakeDocument: any; - beforeEach( - waitForAsync(() => { - fullscreenListeners = new Set(); - - TestBed.configureTestingModule({ - imports: [OverlayTestModule], - providers: [ - { - provide: DOCUMENT, - useFactory: () => { - // Provide a (very limited) stub for the document. This is the most practical solution for - // now since we only hit a handful of Document APIs. If we end up having to add more - // stubs here, we should reconsider whether to use a Proxy instead. Avoiding a proxy for - // now since it isn't supported on IE. See: - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy - fakeDocument = { - body: document.body, - fullscreenElement: document.createElement('div'), - fullscreenEnabled: true, - addEventListener: function (eventName: string, listener: EventListener) { - if (eventName === 'fullscreenchange') { - fullscreenListeners.add(listener); - } else { - document.addEventListener(eventName, listener); - } - }, - removeEventListener: function (eventName: string, listener: EventListener) { - if (eventName === 'fullscreenchange') { - fullscreenListeners.delete(listener); - } else { - document.addEventListener(eventName, listener); - } - }, - querySelectorAll: function (...args: [string]) { - return document.querySelectorAll(...args); - }, - createElement: function (...args: [string, (ElementCreationOptions | undefined)?]) { - return document.createElement(...args); - }, - getElementsByClassName: function (...args: [string]) { - return document.getElementsByClassName(...args); - }, - }; - - return fakeDocument; - }, + beforeEach(waitForAsync(() => { + fullscreenListeners = new Set(); + + TestBed.configureTestingModule({ + imports: [OverlayTestModule], + providers: [ + { + provide: DOCUMENT, + useFactory: () => { + // Provide a (very limited) stub for the document. This is the most practical solution for + // now since we only hit a handful of Document APIs. If we end up having to add more + // stubs here, we should reconsider whether to use a Proxy instead. Avoiding a proxy for + // now since it isn't supported on IE. See: + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy + fakeDocument = { + body: document.body, + fullscreenElement: document.createElement('div'), + fullscreenEnabled: true, + addEventListener: function (eventName: string, listener: EventListener) { + if (eventName === 'fullscreenchange') { + fullscreenListeners.add(listener); + } else { + document.addEventListener(eventName, listener); + } + }, + removeEventListener: function (eventName: string, listener: EventListener) { + if (eventName === 'fullscreenchange') { + fullscreenListeners.delete(listener); + } else { + document.addEventListener(eventName, listener); + } + }, + querySelectorAll: function (...args: [string]) { + return document.querySelectorAll(...args); + }, + createElement: function (...args: [string, (ElementCreationOptions | undefined)?]) { + return document.createElement(...args); + }, + getElementsByClassName: function (...args: [string]) { + return document.getElementsByClassName(...args); + }, + }; + + return fakeDocument; }, - ], - }).compileComponents(); - }), - ); + }, + ], + }).compileComponents(); + })); beforeEach(inject([Overlay], (o: Overlay) => { overlay = o; diff --git a/src/cdk/overlay/overlay-container.spec.ts b/src/cdk/overlay/overlay-container.spec.ts index da1c59c4cdab..c87af0b63fd1 100644 --- a/src/cdk/overlay/overlay-container.spec.ts +++ b/src/cdk/overlay/overlay-container.spec.ts @@ -7,13 +7,11 @@ describe('OverlayContainer', () => { let overlay: Overlay; let overlayContainer: OverlayContainer; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [OverlayTestModule], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [OverlayTestModule], + }).compileComponents(); + })); beforeEach(inject([Overlay, OverlayContainer], (o: Overlay, oc: OverlayContainer) => { overlay = o; diff --git a/src/cdk/overlay/overlay-directives.spec.ts b/src/cdk/overlay/overlay-directives.spec.ts index 60199ffc6052..3ede62409005 100644 --- a/src/cdk/overlay/overlay-directives.spec.ts +++ b/src/cdk/overlay/overlay-directives.spec.ts @@ -196,23 +196,20 @@ describe('Overlay directives', () => { expect(event.defaultPrevented).toBe(false); }); - it( - 'should not depend on the order in which the `origin` and `open` are set', - waitForAsync(() => { - fixture.destroy(); + it('should not depend on the order in which the `origin` and `open` are set', waitForAsync(() => { + fixture.destroy(); - const propOrderFixture = TestBed.createComponent(ConnectedOverlayPropertyInitOrder); - propOrderFixture.detectChanges(); + const propOrderFixture = TestBed.createComponent(ConnectedOverlayPropertyInitOrder); + propOrderFixture.detectChanges(); - const overlayDirective = propOrderFixture.componentInstance.connectedOverlayDirective; + const overlayDirective = propOrderFixture.componentInstance.connectedOverlayDirective; - expect(() => { - overlayDirective.open = true; - overlayDirective.origin = propOrderFixture.componentInstance.trigger; - propOrderFixture.detectChanges(); - }).not.toThrow(); - }), - ); + expect(() => { + overlayDirective.open = true; + overlayDirective.origin = propOrderFixture.componentInstance.trigger; + propOrderFixture.detectChanges(); + }).not.toThrow(); + })); describe('inputs', () => { it('should set the width', () => { diff --git a/src/cdk/overlay/overlay.spec.ts b/src/cdk/overlay/overlay.spec.ts index cd357c260b39..ee436396110a 100644 --- a/src/cdk/overlay/overlay.spec.ts +++ b/src/cdk/overlay/overlay.spec.ts @@ -42,33 +42,31 @@ describe('Overlay', () => { let zone: MockNgZone; let mockLocation: SpyLocation; - beforeEach( - waitForAsync(() => { - dir = 'ltr'; - TestBed.configureTestingModule({ - imports: [OverlayModule, PortalModule], - declarations: [PizzaMsg, TestComponentWithTemplatePortals], - providers: [ - { - provide: Directionality, - useFactory: () => { - const fakeDirectionality = {}; - Object.defineProperty(fakeDirectionality, 'value', {get: () => dir}); - return fakeDirectionality; - }, + beforeEach(waitForAsync(() => { + dir = 'ltr'; + TestBed.configureTestingModule({ + imports: [OverlayModule, PortalModule], + declarations: [PizzaMsg, TestComponentWithTemplatePortals], + providers: [ + { + provide: Directionality, + useFactory: () => { + const fakeDirectionality = {}; + Object.defineProperty(fakeDirectionality, 'value', {get: () => dir}); + return fakeDirectionality; }, - { - provide: NgZone, - useFactory: () => (zone = new MockNgZone()), - }, - { - provide: Location, - useClass: SpyLocation, - }, - ], - }).compileComponents(); - }), - ); + }, + { + provide: NgZone, + useFactory: () => (zone = new MockNgZone()), + }, + { + provide: Location, + useClass: SpyLocation, + }, + ], + }).compileComponents(); + })); beforeEach(inject( [Overlay, OverlayContainer, Location], diff --git a/src/cdk/overlay/scroll/block-scroll-strategy.spec.ts b/src/cdk/overlay/scroll/block-scroll-strategy.spec.ts index 3039a3623bcd..488e140dc69a 100644 --- a/src/cdk/overlay/scroll/block-scroll-strategy.spec.ts +++ b/src/cdk/overlay/scroll/block-scroll-strategy.spec.ts @@ -13,19 +13,17 @@ describe('BlockScrollStrategy', () => { let componentPortal: ComponentPortal; let forceScrollElement: HTMLElement; - beforeEach( - waitForAsync(() => { - documentElement = document.documentElement!; + beforeEach(waitForAsync(() => { + documentElement = document.documentElement!; - // Ensure a clean state for every test. - documentElement.classList.remove('cdk-global-scrollblock'); + // Ensure a clean state for every test. + documentElement.classList.remove('cdk-global-scrollblock'); - TestBed.configureTestingModule({ - imports: [OverlayModule, PortalModule], - declarations: [FocacciaMsg], - }).compileComponents(); - }), - ); + TestBed.configureTestingModule({ + imports: [OverlayModule, PortalModule], + declarations: [FocacciaMsg], + }).compileComponents(); + })); beforeEach(inject( [Overlay, ViewportRuler, Platform], diff --git a/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts b/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts index becfeab5bdcd..23b5db954ce4 100644 --- a/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts +++ b/src/cdk/overlay/scroll/reposition-scroll-strategy.spec.ts @@ -17,24 +17,22 @@ describe('RepositionScrollStrategy', () => { let componentPortal: ComponentPortal; let scrolledSubject = new Subject(); - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [OverlayModule, PortalModule], - declarations: [PastaMsg], - providers: [ - { - provide: ScrollDispatcher, - useFactory: () => ({ - scrolled: () => scrolledSubject, - }), - }, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [OverlayModule, PortalModule], + declarations: [PastaMsg], + providers: [ + { + provide: ScrollDispatcher, + useFactory: () => ({ + scrolled: () => scrolledSubject, + }), + }, + ], + }); + + TestBed.compileComponents(); + })); beforeEach(inject([Overlay], (o: Overlay) => { overlay = o; diff --git a/src/cdk/scrolling/scroll-dispatcher.spec.ts b/src/cdk/scrolling/scroll-dispatcher.spec.ts index f978279f2427..408a2d9d4807 100644 --- a/src/cdk/scrolling/scroll-dispatcher.spec.ts +++ b/src/cdk/scrolling/scroll-dispatcher.spec.ts @@ -11,16 +11,14 @@ import {CdkScrollable, ScrollDispatcher, ScrollingModule} from './public-api'; import {dispatchFakeEvent} from '../testing/private'; describe('ScrollDispatcher', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule], - declarations: [ScrollingComponent, NestedScrollingComponent], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule], + declarations: [ScrollingComponent, NestedScrollingComponent], + }); + + TestBed.compileComponents(); + })); describe('Basic usage', () => { let scroll: ScrollDispatcher; diff --git a/src/cdk/scrolling/scrollable.spec.ts b/src/cdk/scrolling/scrollable.spec.ts index c0959080939e..dd411113ae85 100644 --- a/src/cdk/scrolling/scrollable.spec.ts +++ b/src/cdk/scrolling/scrollable.spec.ts @@ -24,14 +24,12 @@ describe('CdkScrollable', () => { let testComponent: ScrollableViewport; let maxOffset = 0; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [ScrollingModule], - declarations: [ScrollableViewport], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [ScrollingModule], + declarations: [ScrollableViewport], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(ScrollableViewport); diff --git a/src/cdk/table/text-column.spec.ts b/src/cdk/table/text-column.spec.ts index 9ed0aad1f37d..677c45044c5f 100644 --- a/src/cdk/table/text-column.spec.ts +++ b/src/cdk/table/text-column.spec.ts @@ -14,14 +14,12 @@ describe('CdkTextColumn', () => { let component: BasicTextColumnApp; let tableElement: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CdkTableModule], - declarations: [BasicTextColumnApp, MissingTableApp, TextColumnWithoutNameApp], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CdkTableModule], + declarations: [BasicTextColumnApp, MissingTableApp, TextColumnWithoutNameApp], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(BasicTextColumnApp); diff --git a/src/cdk/testing/tests/testbed.spec.ts b/src/cdk/testing/tests/testbed.spec.ts index 56f4fb8ddebe..9ac50f8a8f2f 100644 --- a/src/cdk/testing/tests/testbed.spec.ts +++ b/src/cdk/testing/tests/testbed.spec.ts @@ -67,12 +67,9 @@ describe('TestbedHarnessEnvironment', () => { expect(await harness.getTaskStateResult()).toBe('result'); }); - it( - 'should be able to wait for tasks outside of Angular within async test zone', - waitForAsync(() => { - harness.getTaskStateResult().then(res => expect(res).toBe('result')); - }), - ); + it('should be able to wait for tasks outside of Angular within async test zone', waitForAsync(() => { + harness.getTaskStateResult().then(res => expect(res).toBe('result')); + })); it('should be able to wait for tasks outside of Angular within fakeAsync test zone', fakeAsync(async () => { expect(await harness.getTaskStateResult()).toBe('result'); diff --git a/src/cdk/text-field/autosize.spec.ts b/src/cdk/text-field/autosize.spec.ts index eabb88228f97..c4d151c902ed 100644 --- a/src/cdk/text-field/autosize.spec.ts +++ b/src/cdk/text-field/autosize.spec.ts @@ -19,21 +19,19 @@ describe('CdkTextareaAutosize', () => { let textarea: HTMLTextAreaElement; let autosize: CdkTextareaAutosize; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [FormsModule, TextFieldModule, NoopAnimationsModule], - declarations: [ - AutosizeTextAreaWithContent, - AutosizeTextAreaWithValue, - AutosizeTextareaWithNgModel, - AutosizeTextareaWithoutAutosize, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [FormsModule, TextFieldModule, NoopAnimationsModule], + declarations: [ + AutosizeTextAreaWithContent, + AutosizeTextAreaWithValue, + AutosizeTextareaWithNgModel, + AutosizeTextareaWithoutAutosize, + ], + }); + + TestBed.compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(AutosizeTextAreaWithContent); diff --git a/src/components-examples/material/dialog/dialog-harness/dialog-harness-example.spec.ts b/src/components-examples/material/dialog/dialog-harness/dialog-harness-example.spec.ts index e64bf9f4f1d0..6321a733bfba 100644 --- a/src/components-examples/material/dialog/dialog-harness/dialog-harness-example.spec.ts +++ b/src/components-examples/material/dialog/dialog-harness/dialog-harness-example.spec.ts @@ -10,17 +10,15 @@ describe('DialogHarnessExample', () => { let fixture: ComponentFixture; let loader: HarnessLoader; - beforeEach( - waitForAsync(async () => { - await TestBed.configureTestingModule({ - imports: [MatDialogModule, NoopAnimationsModule], - declarations: [DialogHarnessExample], - }).compileComponents(); - fixture = TestBed.createComponent(DialogHarnessExample); - fixture.detectChanges(); - loader = TestbedHarnessEnvironment.documentRootLoader(fixture); - }), - ); + beforeEach(waitForAsync(async () => { + await TestBed.configureTestingModule({ + imports: [MatDialogModule, NoopAnimationsModule], + declarations: [DialogHarnessExample], + }).compileComponents(); + fixture = TestBed.createComponent(DialogHarnessExample); + fixture.detectChanges(); + loader = TestbedHarnessEnvironment.documentRootLoader(fixture); + })); it('should load harness for dialog', async () => { fixture.componentInstance.open(); diff --git a/src/google-maps/google-map/google-map.spec.ts b/src/google-maps/google-map/google-map.spec.ts index 5eea53ede1c3..98b99ca1fd5a 100644 --- a/src/google-maps/google-map/google-map.spec.ts +++ b/src/google-maps/google-map/google-map.spec.ts @@ -24,14 +24,12 @@ describe('GoogleMap', () => { let mapConstructorSpy: jasmine.Spy; let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-bicycling-layer/map-bicycling-layer.spec.ts b/src/google-maps/map-bicycling-layer/map-bicycling-layer.spec.ts index a8a281606266..a3669e85cc88 100644 --- a/src/google-maps/map-bicycling-layer/map-bicycling-layer.spec.ts +++ b/src/google-maps/map-bicycling-layer/map-bicycling-layer.spec.ts @@ -13,14 +13,12 @@ import { describe('MapBicyclingLayer', () => { let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-circle/map-circle.spec.ts b/src/google-maps/map-circle/map-circle.spec.ts index e38451688f98..649d9636b8cd 100644 --- a/src/google-maps/map-circle/map-circle.spec.ts +++ b/src/google-maps/map-circle/map-circle.spec.ts @@ -19,22 +19,20 @@ describe('MapCircle', () => { let circleRadius: number; let circleOptions: google.maps.CircleOptions; - beforeEach( - waitForAsync(() => { - circleCenter = {lat: 30, lng: 15}; - circleRadius = 15; - circleOptions = { - center: circleCenter, - radius: circleRadius, - strokeColor: 'grey', - strokeOpacity: 0.8, - }; - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + circleCenter = {lat: 30, lng: 15}; + circleRadius = 15; + circleOptions = { + center: circleCenter, + radius: circleRadius, + strokeColor: 'grey', + strokeOpacity: 0.8, + }; + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-directions-renderer/map-directions-renderer.spec.ts b/src/google-maps/map-directions-renderer/map-directions-renderer.spec.ts index f5d05df05274..63116114d780 100644 --- a/src/google-maps/map-directions-renderer/map-directions-renderer.spec.ts +++ b/src/google-maps/map-directions-renderer/map-directions-renderer.spec.ts @@ -19,14 +19,12 @@ const DEFAULT_DIRECTIONS: google.maps.DirectionsResult = { describe('MapDirectionsRenderer', () => { let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-ground-overlay/map-ground-overlay.spec.ts b/src/google-maps/map-ground-overlay/map-ground-overlay.spec.ts index 6e3b8f22f8f9..79a6fd481dcb 100644 --- a/src/google-maps/map-ground-overlay/map-ground-overlay.spec.ts +++ b/src/google-maps/map-ground-overlay/map-ground-overlay.spec.ts @@ -21,14 +21,12 @@ describe('MapGroundOverlay', () => { const opacity = 0.5; const groundOverlayOptions: google.maps.GroundOverlayOptions = {clickable, opacity}; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-heatmap-layer/map-heatmap-layer.spec.ts b/src/google-maps/map-heatmap-layer/map-heatmap-layer.spec.ts index 1b167613e6f7..d9b8b6284092 100644 --- a/src/google-maps/map-heatmap-layer/map-heatmap-layer.spec.ts +++ b/src/google-maps/map-heatmap-layer/map-heatmap-layer.spec.ts @@ -18,14 +18,12 @@ describe('MapHeatmapLayer', () => { let mapSpy: jasmine.SpyObj; let latLngSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-info-window/map-info-window.spec.ts b/src/google-maps/map-info-window/map-info-window.spec.ts index 3b14834cf611..61174af7cceb 100644 --- a/src/google-maps/map-info-window/map-info-window.spec.ts +++ b/src/google-maps/map-info-window/map-info-window.spec.ts @@ -17,14 +17,12 @@ import {MapInfoWindow} from './map-info-window'; describe('MapInfoWindow', () => { let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-kml-layer/map-kml-layer.spec.ts b/src/google-maps/map-kml-layer/map-kml-layer.spec.ts index e77fffcc0552..1c9fea03e4b9 100644 --- a/src/google-maps/map-kml-layer/map-kml-layer.spec.ts +++ b/src/google-maps/map-kml-layer/map-kml-layer.spec.ts @@ -23,14 +23,12 @@ const DEFAULT_KML_OPTIONS: google.maps.KmlLayerOptions = { describe('MapKmlLayer', () => { let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-marker-clusterer/map-marker-clusterer.spec.ts b/src/google-maps/map-marker-clusterer/map-marker-clusterer.spec.ts index ef418830b7e9..41f35486fb7a 100644 --- a/src/google-maps/map-marker-clusterer/map-marker-clusterer.spec.ts +++ b/src/google-maps/map-marker-clusterer/map-marker-clusterer.spec.ts @@ -21,14 +21,12 @@ describe('MapMarkerClusterer', () => { const anyMarkerMatcher = jasmine.any(Object) as unknown as google.maps.Marker; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-marker/map-marker.spec.ts b/src/google-maps/map-marker/map-marker.spec.ts index 850319a529c9..e275fed500d3 100644 --- a/src/google-maps/map-marker/map-marker.spec.ts +++ b/src/google-maps/map-marker/map-marker.spec.ts @@ -15,14 +15,12 @@ import {DEFAULT_MARKER_OPTIONS, MapMarker} from './map-marker'; describe('MapMarker', () => { let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-polygon/map-polygon.spec.ts b/src/google-maps/map-polygon/map-polygon.spec.ts index 589c8e9e337b..2950b73e4ec4 100644 --- a/src/google-maps/map-polygon/map-polygon.spec.ts +++ b/src/google-maps/map-polygon/map-polygon.spec.ts @@ -18,20 +18,18 @@ describe('MapPolygon', () => { let polygonPath: google.maps.LatLngLiteral[]; let polygonOptions: google.maps.PolygonOptions; - beforeEach( - waitForAsync(() => { - polygonPath = [ - {lat: 25, lng: 26}, - {lat: 26, lng: 27}, - {lat: 30, lng: 34}, - ]; - polygonOptions = {paths: polygonPath, strokeColor: 'grey', strokeOpacity: 0.8}; - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + polygonPath = [ + {lat: 25, lng: 26}, + {lat: 26, lng: 27}, + {lat: 30, lng: 34}, + ]; + polygonOptions = {paths: polygonPath, strokeColor: 'grey', strokeOpacity: 0.8}; + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-polyline/map-polyline.spec.ts b/src/google-maps/map-polyline/map-polyline.spec.ts index 2e8660d5d738..30bbf9ae41e5 100644 --- a/src/google-maps/map-polyline/map-polyline.spec.ts +++ b/src/google-maps/map-polyline/map-polyline.spec.ts @@ -18,24 +18,22 @@ describe('MapPolyline', () => { let polylinePath: google.maps.LatLngLiteral[]; let polylineOptions: google.maps.PolylineOptions; - beforeEach( - waitForAsync(() => { - polylinePath = [ - {lat: 25, lng: 26}, - {lat: 26, lng: 27}, - {lat: 30, lng: 34}, - ]; - polylineOptions = { - path: polylinePath, - strokeColor: 'grey', - strokeOpacity: 0.8, - }; - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + polylinePath = [ + {lat: 25, lng: 26}, + {lat: 26, lng: 27}, + {lat: 30, lng: 34}, + ]; + polylineOptions = { + path: polylinePath, + strokeColor: 'grey', + strokeOpacity: 0.8, + }; + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-rectangle/map-rectangle.spec.ts b/src/google-maps/map-rectangle/map-rectangle.spec.ts index 16bb29c9f296..2c74d7c680ac 100644 --- a/src/google-maps/map-rectangle/map-rectangle.spec.ts +++ b/src/google-maps/map-rectangle/map-rectangle.spec.ts @@ -18,16 +18,14 @@ describe('MapRectangle', () => { let rectangleBounds: google.maps.LatLngBoundsLiteral; let rectangleOptions: google.maps.RectangleOptions; - beforeEach( - waitForAsync(() => { - rectangleBounds = {east: 30, north: 15, west: 10, south: -5}; - rectangleOptions = {bounds: rectangleBounds, strokeColor: 'grey', strokeOpacity: 0.8}; - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + rectangleBounds = {east: 30, north: 15, west: 10, south: -5}; + rectangleOptions = {bounds: rectangleBounds, strokeColor: 'grey', strokeOpacity: 0.8}; + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-traffic-layer/map-traffic-layer.spec.ts b/src/google-maps/map-traffic-layer/map-traffic-layer.spec.ts index f643c288e301..74ea28b97bac 100644 --- a/src/google-maps/map-traffic-layer/map-traffic-layer.spec.ts +++ b/src/google-maps/map-traffic-layer/map-traffic-layer.spec.ts @@ -14,14 +14,12 @@ describe('MapTrafficLayer', () => { let mapSpy: jasmine.SpyObj; const trafficLayerOptions: google.maps.TrafficLayerOptions = {autoRefresh: false}; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/google-maps/map-transit-layer/map-transit-layer.spec.ts b/src/google-maps/map-transit-layer/map-transit-layer.spec.ts index 504055028c98..8847a468c909 100644 --- a/src/google-maps/map-transit-layer/map-transit-layer.spec.ts +++ b/src/google-maps/map-transit-layer/map-transit-layer.spec.ts @@ -13,14 +13,12 @@ import { describe('MapTransitLayer', () => { let mapSpy: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [GoogleMapsModule], - declarations: [TestApp], - }); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [GoogleMapsModule], + declarations: [TestApp], + }); + })); beforeEach(() => { TestBed.compileComponents(); diff --git a/src/material-date-fns-adapter/adapter/date-fns-adapter.spec.ts b/src/material-date-fns-adapter/adapter/date-fns-adapter.spec.ts index 3dbe6a3dcfb7..5917d726e8a1 100644 --- a/src/material-date-fns-adapter/adapter/date-fns-adapter.spec.ts +++ b/src/material-date-fns-adapter/adapter/date-fns-adapter.spec.ts @@ -20,16 +20,14 @@ const JAN = 0, describe('DateFnsAdapter', () => { let adapter: DateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [DateFnsModule], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [DateFnsModule], + }).compileComponents(); - adapter = TestBed.inject(DateAdapter); - adapter.setLocale(enUS); - }), - ); + adapter = TestBed.inject(DateAdapter); + adapter.setLocale(enUS); + })); it('should get year', () => { expect(adapter.getYear(new Date(2017, JAN, 1))).toBe(2017); @@ -459,16 +457,14 @@ describe('DateFnsAdapter', () => { describe('DateFnsAdapter with MAT_DATE_LOCALE override', () => { let adapter: DateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [DateFnsModule], - providers: [{provide: MAT_DATE_LOCALE, useValue: da}], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [DateFnsModule], + providers: [{provide: MAT_DATE_LOCALE, useValue: da}], + }).compileComponents(); - adapter = TestBed.inject(DateAdapter); - }), - ); + adapter = TestBed.inject(DateAdapter); + })); it('should take the default locale id from the MAT_DATE_LOCALE injection token', () => { const date = adapter.format(new Date(2017, JAN, 2), 'PP'); diff --git a/src/material-experimental/mdc-autocomplete/autocomplete.spec.ts b/src/material-experimental/mdc-autocomplete/autocomplete.spec.ts index 03e6e2b7f531..a7b27ae9ea7b 100644 --- a/src/material-experimental/mdc-autocomplete/autocomplete.spec.ts +++ b/src/material-experimental/mdc-autocomplete/autocomplete.spec.ts @@ -160,23 +160,20 @@ describe('MDC-based MatAutocomplete', () => { .toContain('California'); }); - it( - 'should show the panel when the first open is after the initial zone stabilization', - waitForAsync(() => { - // Note that we're running outside the Angular zone, in order to be able - // to test properly without the subscription from `_subscribeToClosingActions` - // giving us a false positive. - fixture.ngZone!.runOutsideAngular(() => { - fixture.componentInstance.trigger.openPanel(); - - Promise.resolve().then(() => { - expect(fixture.componentInstance.panel.showPanel) - .withContext(`Expected panel to be visible.`) - .toBe(true); - }); + it('should show the panel when the first open is after the initial zone stabilization', waitForAsync(() => { + // Note that we're running outside the Angular zone, in order to be able + // to test properly without the subscription from `_subscribeToClosingActions` + // giving us a false positive. + fixture.ngZone!.runOutsideAngular(() => { + fixture.componentInstance.trigger.openPanel(); + + Promise.resolve().then(() => { + expect(fixture.componentInstance.panel.showPanel) + .withContext(`Expected panel to be visible.`) + .toBe(true); }); - }), - ); + }); + })); it('should close the panel when the user clicks away', fakeAsync(() => { dispatchFakeEvent(input, 'focusin'); diff --git a/src/material-experimental/mdc-button/button.spec.ts b/src/material-experimental/mdc-button/button.spec.ts index 80fdc8d1b86e..880c5e72d238 100644 --- a/src/material-experimental/mdc-button/button.spec.ts +++ b/src/material-experimental/mdc-button/button.spec.ts @@ -6,16 +6,14 @@ import {MatRipple, ThemePalette} from '@angular/material-experimental/mdc-core'; import {createMouseEvent, dispatchEvent} from '@angular/cdk/testing/private'; describe('MDC-based MatButton', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatButtonModule], - declarations: [TestApp], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatButtonModule], + declarations: [TestApp], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); // General button tests it('should apply class based on color attribute', () => { diff --git a/src/material-experimental/mdc-chips/chip-edit-input.spec.ts b/src/material-experimental/mdc-chips/chip-edit-input.spec.ts index 4d46370e978c..9c2613aa7788 100644 --- a/src/material-experimental/mdc-chips/chip-edit-input.spec.ts +++ b/src/material-experimental/mdc-chips/chip-edit-input.spec.ts @@ -10,20 +10,18 @@ describe('MDC-based MatChipEditInput', () => { let inputDebugElement: DebugElement; let inputInstance: MatChipEditInput; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [ChipEditInputContainer], - }); - - TestBed.compileComponents(); - - fixture = TestBed.createComponent(ChipEditInputContainer); - inputDebugElement = fixture.debugElement.query(By.directive(MatChipEditInput))!; - inputInstance = inputDebugElement.injector.get(MatChipEditInput); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [ChipEditInputContainer], + }); + + TestBed.compileComponents(); + + fixture = TestBed.createComponent(ChipEditInputContainer); + inputDebugElement = fixture.debugElement.query(By.directive(MatChipEditInput))!; + inputInstance = inputDebugElement.injector.get(MatChipEditInput); + })); describe('on initialization', () => { it('should set the initial input text', () => { diff --git a/src/material-experimental/mdc-chips/chip-option.spec.ts b/src/material-experimental/mdc-chips/chip-option.spec.ts index 626f8f58494e..c540947fd4ba 100644 --- a/src/material-experimental/mdc-chips/chip-option.spec.ts +++ b/src/material-experimental/mdc-chips/chip-option.spec.ts @@ -26,27 +26,25 @@ describe('MDC-based Option Chips', () => { let globalRippleOptions: RippleGlobalOptions; let dir = 'ltr'; - beforeEach( - waitForAsync(() => { - globalRippleOptions = {}; - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [SingleChip], - providers: [ - {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, - { - provide: Directionality, - useFactory: () => ({ - value: dir, - change: new Subject(), - }), - }, - ], - }); + beforeEach(waitForAsync(() => { + globalRippleOptions = {}; + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [SingleChip], + providers: [ + {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, + { + provide: Directionality, + useFactory: () => ({ + value: dir, + change: new Subject(), + }), + }, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('MatChipOption', () => { let testComponent: SingleChip; diff --git a/src/material-experimental/mdc-chips/chip-remove.spec.ts b/src/material-experimental/mdc-chips/chip-remove.spec.ts index 02060a4dce04..e42d0de9411e 100644 --- a/src/material-experimental/mdc-chips/chip-remove.spec.ts +++ b/src/material-experimental/mdc-chips/chip-remove.spec.ts @@ -12,28 +12,24 @@ describe('MDC-based Chip Remove', () => { let chipInstance: MatChip; let chipNativeElement: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [TestChip], - }); - - TestBed.compileComponents(); - }), - ); - - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(TestChip); - testChip = fixture.debugElement.componentInstance; - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [TestChip], + }); + + TestBed.compileComponents(); + })); + + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(TestChip); + testChip = fixture.debugElement.componentInstance; + fixture.detectChanges(); - const chipDebugElement = fixture.debugElement.query(By.directive(MatChip))!; - chipNativeElement = chipDebugElement.nativeElement; - chipInstance = chipDebugElement.componentInstance; - }), - ); + const chipDebugElement = fixture.debugElement.query(By.directive(MatChip))!; + chipNativeElement = chipDebugElement.nativeElement; + chipInstance = chipDebugElement.componentInstance; + })); function triggerRemoveSequence() { // At the time of writing, MDC's removal sequence requires the following to happen: diff --git a/src/material-experimental/mdc-chips/chip-row.spec.ts b/src/material-experimental/mdc-chips/chip-row.spec.ts index c130cda43d36..0121a68f09a9 100644 --- a/src/material-experimental/mdc-chips/chip-row.spec.ts +++ b/src/material-experimental/mdc-chips/chip-row.spec.ts @@ -27,25 +27,23 @@ describe('MDC-based Row Chips', () => { let dir = 'ltr'; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [SingleChip], - providers: [ - { - provide: Directionality, - useFactory: () => ({ - value: dir, - change: new Subject(), - }), - }, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [SingleChip], + providers: [ + { + provide: Directionality, + useFactory: () => ({ + value: dir, + change: new Subject(), + }), + }, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('MatChipRow', () => { let testComponent: SingleChip; diff --git a/src/material-experimental/mdc-chips/chip-set.spec.ts b/src/material-experimental/mdc-chips/chip-set.spec.ts index 479f902a7ee8..358a59a60f55 100644 --- a/src/material-experimental/mdc-chips/chip-set.spec.ts +++ b/src/material-experimental/mdc-chips/chip-set.spec.ts @@ -5,16 +5,14 @@ import {By} from '@angular/platform-browser'; import {MatChip, MatChipSet, MatChipsModule} from './index'; describe('MDC-based MatChipSet', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatChipsModule, CommonModule], - declarations: [BasicChipSet, IndirectDescendantsChipSet], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatChipsModule, CommonModule], + declarations: [BasicChipSet, IndirectDescendantsChipSet], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('BasicChipSet', () => { let fixture: ComponentFixture; diff --git a/src/material-experimental/mdc-chips/chip.spec.ts b/src/material-experimental/mdc-chips/chip.spec.ts index 47390203c972..026bbabc697b 100644 --- a/src/material-experimental/mdc-chips/chip.spec.ts +++ b/src/material-experimental/mdc-chips/chip.spec.ts @@ -16,30 +16,28 @@ describe('MDC-based MatChip', () => { let dir = 'ltr'; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [ - BasicChip, - SingleChip, - BasicChipWithStaticTabindex, - BasicChipWithBoundTabindex, - ], - providers: [ - { - provide: Directionality, - useFactory: () => ({ - value: dir, - change: new Subject(), - }), - }, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [ + BasicChip, + SingleChip, + BasicChipWithStaticTabindex, + BasicChipWithBoundTabindex, + ], + providers: [ + { + provide: Directionality, + useFactory: () => ({ + value: dir, + change: new Subject(), + }), + }, + ], + }); + + TestBed.compileComponents(); + })); describe('MatBasicChip', () => { it('adds a class to indicate that it is a basic chip', () => { diff --git a/src/material-experimental/mdc-core/option/option.spec.ts b/src/material-experimental/mdc-core/option/option.spec.ts index bbac544968f5..72c3ebf5ce09 100644 --- a/src/material-experimental/mdc-core/option/option.spec.ts +++ b/src/material-experimental/mdc-core/option/option.spec.ts @@ -11,14 +11,12 @@ import {SPACE, ENTER} from '@angular/cdk/keycodes'; import {MatOption, MatOptionModule, MAT_OPTION_PARENT_COMPONENT} from './index'; describe('MatOption component', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatOptionModule], - declarations: [BasicOption], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatOptionModule], + declarations: [BasicOption], + }).compileComponents(); + })); it('should complete the `stateChanges` stream on destroy', () => { const fixture = TestBed.createComponent(BasicOption); @@ -209,24 +207,22 @@ describe('MatOption component', () => { describe('inside inert group', () => { let fixture: ComponentFixture; - beforeEach( - waitForAsync(() => { - TestBed.resetTestingModule(); - TestBed.configureTestingModule({ - imports: [MatOptionModule], - declarations: [InsideGroup], - providers: [ - { - provide: MAT_OPTION_PARENT_COMPONENT, - useValue: {inertGroups: true}, - }, - ], - }).compileComponents(); - - fixture = TestBed.createComponent(InsideGroup); - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.resetTestingModule(); + TestBed.configureTestingModule({ + imports: [MatOptionModule], + declarations: [InsideGroup], + providers: [ + { + provide: MAT_OPTION_PARENT_COMPONENT, + useValue: {inertGroups: true}, + }, + ], + }).compileComponents(); + + fixture = TestBed.createComponent(InsideGroup); + fixture.detectChanges(); + })); it('should remove all accessibility-related attributes from the group', () => { const group: HTMLElement = fixture.nativeElement.querySelector('mat-optgroup'); diff --git a/src/material-experimental/mdc-list/list.spec.ts b/src/material-experimental/mdc-list/list.spec.ts index 6fe496a663ec..809fcdc0673f 100644 --- a/src/material-experimental/mdc-list/list.spec.ts +++ b/src/material-experimental/mdc-list/list.spec.ts @@ -1,38 +1,37 @@ -import {waitForAsync, TestBed, fakeAsync, tick} from '@angular/core/testing'; import {Component, QueryList, ViewChildren} from '@angular/core'; +import {MatListItem, MatListModule} from './index'; +import {TestBed, fakeAsync, tick, waitForAsync} from '@angular/core/testing'; + +import {By} from '@angular/platform-browser'; import {defaultRippleAnimationConfig} from '@angular/material-experimental/mdc-core'; import {dispatchMouseEvent} from '../../cdk/testing/private'; -import {By} from '@angular/platform-browser'; -import {MatListItem, MatListModule} from './index'; describe('MDC-based MatList', () => { // Default ripple durations used for testing. const {enterDuration, exitDuration} = defaultRippleAnimationConfig; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - ListWithOneAnchorItem, - ListWithOneItem, - ListWithTwoLineItem, - ListWithThreeLineItem, - ListWithAvatar, - ListWithItemWithCssClass, - ListWithDynamicNumberOfLines, - ListWithMultipleItems, - ListWithManyLines, - NavListWithOneAnchorItem, - ActionListWithoutType, - ActionListWithType, - ListWithDisabledItems, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + ListWithOneAnchorItem, + ListWithOneItem, + ListWithTwoLineItem, + ListWithThreeLineItem, + ListWithAvatar, + ListWithItemWithCssClass, + ListWithDynamicNumberOfLines, + ListWithMultipleItems, + ListWithManyLines, + NavListWithOneAnchorItem, + ActionListWithoutType, + ActionListWithType, + ListWithDisabledItems, + ], + }); + + TestBed.compileComponents(); + })); it('should apply an additional class to lists without lines', () => { const fixture = TestBed.createComponent(ListWithOneItem); diff --git a/src/material-experimental/mdc-list/selection-list.spec.ts b/src/material-experimental/mdc-list/selection-list.spec.ts index 66c82416d2c6..e1b3fc3f5bd0 100644 --- a/src/material-experimental/mdc-list/selection-list.spec.ts +++ b/src/material-experimental/mdc-list/selection-list.spec.ts @@ -39,33 +39,29 @@ describe('MDC-based MatSelectionList without forms', () => { let listOptions: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - SelectionListWithListOptions, - SelectionListWithCheckboxPositionAfter, - SelectionListWithListDisabled, - SelectionListWithOnlyOneOption, - SelectionListWithIndirectChildOptions, - SelectionListWithSelectedOptionAndValue, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + SelectionListWithListOptions, + SelectionListWithCheckboxPositionAfter, + SelectionListWithListDisabled, + SelectionListWithOnlyOneOption, + SelectionListWithIndirectChildOptions, + SelectionListWithSelectedOptionAndValue, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithListOptions); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithListOptions); + fixture.detectChanges(); - listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - }), - ); + listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + })); function getFocusIndex() { return listOptions.findIndex(o => document.activeElement === o.nativeElement); @@ -669,25 +665,21 @@ describe('MDC-based MatSelectionList without forms', () => { let listOptionElements: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithSelectedOption], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithSelectedOption], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithSelectedOption); - listOptionElements = fixture.debugElement.queryAll(By.directive(MatListOption))!; - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithSelectedOption); + listOptionElements = fixture.debugElement.queryAll(By.directive(MatListOption))!; + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + fixture.detectChanges(); + })); it('should set its initial selected state in the selectedOptions', () => { let options = listOptionElements.map(optionEl => @@ -713,29 +705,25 @@ describe('MDC-based MatSelectionList without forms', () => { let listOptionEl: HTMLElement; let listOption: MatListOption; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithDisabledOption], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithDisabledOption], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithDisabledOption); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithDisabledOption); - const listOptionDebug = fixture.debugElement.query(By.directive(MatListOption))!; + const listOptionDebug = fixture.debugElement.query(By.directive(MatListOption))!; - listOption = listOptionDebug.componentInstance; - listOptionEl = listOptionDebug.nativeElement; + listOption = listOptionDebug.componentInstance; + listOptionEl = listOptionDebug.nativeElement; - fixture.detectChanges(); - }), - ); + fixture.detectChanges(); + })); it('should disable ripples for disabled option', () => { expect(listOption.rippleDisabled) @@ -765,30 +753,26 @@ describe('MDC-based MatSelectionList without forms', () => { let listOption: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - SelectionListWithListOptions, - SelectionListWithCheckboxPositionAfter, - SelectionListWithListDisabled, - SelectionListWithOnlyOneOption, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + SelectionListWithListOptions, + SelectionListWithCheckboxPositionAfter, + SelectionListWithListDisabled, + SelectionListWithOnlyOneOption, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithListDisabled); - listOption = fixture.debugElement.queryAll(By.directive(MatListOption)); - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithListDisabled); + listOption = fixture.debugElement.queryAll(By.directive(MatListOption)); + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + fixture.detectChanges(); + })); it('should not allow selection on disabled selection-list', () => { let testListItem = listOption[2].injector.get(MatListOption); @@ -822,28 +806,24 @@ describe('MDC-based MatSelectionList without forms', () => { describe('with checkbox position after', () => { let fixture: ComponentFixture; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - SelectionListWithListOptions, - SelectionListWithCheckboxPositionAfter, - SelectionListWithListDisabled, - SelectionListWithOnlyOneOption, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + SelectionListWithListOptions, + SelectionListWithCheckboxPositionAfter, + SelectionListWithListDisabled, + SelectionListWithOnlyOneOption, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithCheckboxPositionAfter); - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithCheckboxPositionAfter); + fixture.detectChanges(); + })); it('should be able to customize checkbox position', () => { expect(fixture.nativeElement.querySelector('.mdc-list-item__end .mdc-checkbox')) @@ -856,14 +836,12 @@ describe('MDC-based MatSelectionList without forms', () => { }); describe('with list item elements', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithAvatar, SelectionListWithIcon], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithAvatar, SelectionListWithIcon], + }).compileComponents(); + })); function expectCheckboxAtPosition( listItemElement: HTMLElement, @@ -987,20 +965,18 @@ describe('MDC-based MatSelectionList without forms', () => { let listOptions: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithListOptions], - }).compileComponents(); - - fixture = TestBed.createComponent(SelectionListWithListOptions); - fixture.componentInstance.multiple = false; - listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithListOptions], + }).compileComponents(); + + fixture = TestBed.createComponent(SelectionListWithListOptions); + fixture.componentInstance.multiple = false; + listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + fixture.detectChanges(); + })); function getFocusIndex() { return listOptions.findIndex(o => document.activeElement === o.nativeElement); @@ -1116,20 +1092,18 @@ describe('MDC-based MatSelectionList without forms', () => { let optionElement: HTMLElement; let option: MatListOption; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ListOptionWithTwoWayBinding], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ListOptionWithTwoWayBinding], + }).compileComponents(); - fixture = TestBed.createComponent(ListOptionWithTwoWayBinding); - fixture.detectChanges(); - const optionDebug = fixture.debugElement.query(By.directive(MatListOption)); - option = optionDebug.componentInstance; - optionElement = optionDebug.nativeElement; - }), - ); + fixture = TestBed.createComponent(ListOptionWithTwoWayBinding); + fixture.detectChanges(); + const optionDebug = fixture.debugElement.query(By.directive(MatListOption)); + option = optionDebug.componentInstance; + optionElement = optionDebug.nativeElement; + })); it('should sync the value from the view to the option', () => { expect(option.selected).toBe(false); @@ -1152,23 +1126,21 @@ describe('MDC-based MatSelectionList without forms', () => { }); describe('MDC-based MatSelectionList with forms', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule, FormsModule, ReactiveFormsModule], - declarations: [ - SelectionListWithModel, - SelectionListWithFormControl, - SelectionListWithPreselectedOption, - SelectionListWithPreselectedOptionAndModel, - SelectionListWithPreselectedFormControlOnPush, - SelectionListWithCustomComparator, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule, FormsModule, ReactiveFormsModule], + declarations: [ + SelectionListWithModel, + SelectionListWithFormControl, + SelectionListWithPreselectedOption, + SelectionListWithPreselectedOptionAndModel, + SelectionListWithPreselectedFormControlOnPush, + SelectionListWithCustomComparator, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('and ngModel', () => { let fixture: ComponentFixture; diff --git a/src/material-experimental/mdc-progress-spinner/progress-spinner.spec.ts b/src/material-experimental/mdc-progress-spinner/progress-spinner.spec.ts index b0550271e380..47abbf8d05b8 100644 --- a/src/material-experimental/mdc-progress-spinner/progress-spinner.spec.ts +++ b/src/material-experimental/mdc-progress-spinner/progress-spinner.spec.ts @@ -9,26 +9,24 @@ import {MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS} from '@angular/material/progress-s import {Component, ElementRef, ViewChild, ViewEncapsulation} from '@angular/core'; describe('MDC-based MatProgressSpinner', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatProgressSpinnerModule, CommonModule], - declarations: [ - BasicProgressSpinner, - IndeterminateProgressSpinner, - ProgressSpinnerWithValueAndBoundMode, - ProgressSpinnerWithColor, - ProgressSpinnerCustomStrokeWidth, - ProgressSpinnerCustomDiameter, - SpinnerWithColor, - ProgressSpinnerWithStringValues, - IndeterminateSpinnerInShadowDom, - IndeterminateSpinnerInShadowDomWithNgIf, - SpinnerWithMode, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatProgressSpinnerModule, CommonModule], + declarations: [ + BasicProgressSpinner, + IndeterminateProgressSpinner, + ProgressSpinnerWithValueAndBoundMode, + ProgressSpinnerWithColor, + ProgressSpinnerCustomStrokeWidth, + ProgressSpinnerCustomDiameter, + SpinnerWithColor, + ProgressSpinnerWithStringValues, + IndeterminateSpinnerInShadowDom, + IndeterminateSpinnerInShadowDomWithNgIf, + SpinnerWithMode, + ], + }).compileComponents(); + })); it('should apply a mode of "determinate" if no mode is provided.', () => { let fixture = TestBed.createComponent(BasicProgressSpinner); diff --git a/src/material-experimental/mdc-radio/radio.spec.ts b/src/material-experimental/mdc-radio/radio.spec.ts index 6c2c704af5f1..26f578c2a553 100644 --- a/src/material-experimental/mdc-radio/radio.spec.ts +++ b/src/material-experimental/mdc-radio/radio.spec.ts @@ -12,27 +12,25 @@ import { } from './index'; describe('MDC-based MatRadio', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatRadioModule, FormsModule, ReactiveFormsModule], - declarations: [ - DisableableRadioButton, - FocusableRadioButton, - RadiosInsideRadioGroup, - RadioGroupWithNgModel, - RadioGroupWithFormControl, - StandaloneRadioButtons, - InterleavedRadioGroup, - TranscludingWrapper, - RadioButtonWithPredefinedTabindex, - RadioButtonWithPredefinedAriaAttributes, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatRadioModule, FormsModule, ReactiveFormsModule], + declarations: [ + DisableableRadioButton, + FocusableRadioButton, + RadiosInsideRadioGroup, + RadioGroupWithNgModel, + RadioGroupWithFormControl, + StandaloneRadioButtons, + InterleavedRadioGroup, + TranscludingWrapper, + RadioButtonWithPredefinedTabindex, + RadioButtonWithPredefinedAriaAttributes, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('inside of a group', () => { let fixture: ComponentFixture; @@ -46,31 +44,29 @@ describe('MDC-based MatRadio', () => { let radioInstances: MatRadioButton[]; let testComponent: RadiosInsideRadioGroup; - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(RadiosInsideRadioGroup); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(RadiosInsideRadioGroup); + fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; + testComponent = fixture.debugElement.componentInstance; - groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; - groupInstance = groupDebugElement.injector.get(MatRadioGroup); + groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; + groupInstance = groupDebugElement.injector.get(MatRadioGroup); - radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); - radioNativeElements = radioDebugElements.map(debugEl => debugEl.nativeElement); - radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); + radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); + radioNativeElements = radioDebugElements.map(debugEl => debugEl.nativeElement); + radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); - radioLabelElements = radioDebugElements.map( - debugEl => debugEl.query(By.css('label'))!.nativeElement, - ); - radioInputElements = radioDebugElements.map( - debugEl => debugEl.query(By.css('input'))!.nativeElement, - ); - radioFormFieldElements = radioDebugElements.map( - debugEl => debugEl.query(By.css('.mdc-form-field'))!.nativeElement, - ); - }), - ); + radioLabelElements = radioDebugElements.map( + debugEl => debugEl.query(By.css('label'))!.nativeElement, + ); + radioInputElements = radioDebugElements.map( + debugEl => debugEl.query(By.css('input'))!.nativeElement, + ); + radioFormFieldElements = radioDebugElements.map( + debugEl => debugEl.query(By.css('.mdc-form-field'))!.nativeElement, + ); + })); it('should set individual radio names based on the group name', () => { expect(groupInstance.name).toBeTruthy(); @@ -879,17 +875,15 @@ describe('MDC-based MatRadio', () => { let radioDebugElements: DebugElement[]; let radioInstances: MatRadioButton[]; - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(InterleavedRadioGroup); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(InterleavedRadioGroup); + fixture.detectChanges(); - groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; - groupInstance = groupDebugElement.injector.get(MatRadioGroup); - radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); - radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); - }), - ); + groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; + groupInstance = groupDebugElement.injector.get(MatRadioGroup); + radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); + radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); + })); it('should initialize selection of radios based on model value', () => { expect(groupInstance.selected).toBe(radioInstances[2]); @@ -899,22 +893,20 @@ describe('MDC-based MatRadio', () => { describe('MatRadioDefaultOverrides', () => { describe('when MAT_RADIO_DEFAULT_OPTIONS overridden', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatRadioModule, FormsModule], - declarations: [DefaultRadioButton, RadioButtonWithColorBinding], - providers: [ - { - provide: MAT_RADIO_DEFAULT_OPTIONS, - useValue: {color: 'primary'}, - }, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatRadioModule, FormsModule], + declarations: [DefaultRadioButton, RadioButtonWithColorBinding], + providers: [ + { + provide: MAT_RADIO_DEFAULT_OPTIONS, + useValue: {color: 'primary'}, + }, + ], + }); + + TestBed.compileComponents(); + })); it('should override default color in Component', () => { const fixture: ComponentFixture = TestBed.createComponent(DefaultRadioButton); diff --git a/src/material-experimental/mdc-select/select.spec.ts b/src/material-experimental/mdc-select/select.spec.ts index 246493586229..1d7b79faefff 100644 --- a/src/material-experimental/mdc-select/select.spec.ts +++ b/src/material-experimental/mdc-select/select.spec.ts @@ -115,19 +115,17 @@ describe('MDC-based MatSelect', () => { } describe('core', () => { - beforeEach( - waitForAsync(() => { - configureMatSelectTestingModule([ - BasicSelect, - MultiSelect, - SelectWithGroups, - SelectWithGroupsAndNgContainer, - SelectWithFormFieldLabel, - SelectWithChangeEvent, - SelectInsideDynamicFormGroup, - ]); - }), - ); + beforeEach(waitForAsync(() => { + configureMatSelectTestingModule([ + BasicSelect, + MultiSelect, + SelectWithGroups, + SelectWithGroupsAndNgContainer, + SelectWithFormFieldLabel, + SelectWithChangeEvent, + SelectInsideDynamicFormGroup, + ]); + })); describe('accessibility', () => { describe('for select', () => { @@ -2630,11 +2628,8 @@ describe('MDC-based MatSelect', () => { }); describe('with a sibling component that throws an error', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([SelectWithErrorSibling, ThrowsErrorOnInit]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([SelectWithErrorSibling, ThrowsErrorOnInit]))); it('should not crash the browser when a sibling throws an error on init', fakeAsync(() => { // Note that this test can be considered successful if the error being thrown didn't @@ -3030,9 +3025,8 @@ describe('MDC-based MatSelect', () => { }); describe('with preselected array values', () => { - beforeEach( - waitForAsync(() => configureMatSelectTestingModule([SingleSelectWithPreselectedArrayValues])), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([SingleSelectWithPreselectedArrayValues]))); it('should be able to preselect an array value in single-selection mode', fakeAsync(() => { const fixture = TestBed.createComponent(SingleSelectWithPreselectedArrayValues); @@ -3048,11 +3042,8 @@ describe('MDC-based MatSelect', () => { }); describe('with custom value accessor', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([CompWithCustomSelect, CustomSelectAccessor]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([CompWithCustomSelect, CustomSelectAccessor]))); it('should support use inside a custom value accessor', fakeAsync(() => { const fixture = TestBed.createComponent(CompWithCustomSelect); @@ -3088,11 +3079,8 @@ describe('MDC-based MatSelect', () => { }); describe('with OnPush', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([BasicSelectOnPush, BasicSelectOnPushPreselected]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([BasicSelectOnPush, BasicSelectOnPushPreselected]))); it('should set the trigger text based on the value when initialized', fakeAsync(() => { const fixture = TestBed.createComponent(BasicSelectOnPushPreselected); @@ -3286,15 +3274,12 @@ describe('MDC-based MatSelect', () => { }); describe('without Angular forms', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([ - BasicSelectWithoutForms, - BasicSelectWithoutFormsPreselected, - BasicSelectWithoutFormsMultiple, - ]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([ + BasicSelectWithoutForms, + BasicSelectWithoutFormsPreselected, + BasicSelectWithoutFormsMultiple, + ]))); it('should set the value when options are clicked', fakeAsync(() => { const fixture = TestBed.createComponent(BasicSelectWithoutForms); @@ -3715,11 +3700,8 @@ describe('MDC-based MatSelect', () => { }); describe('with multiple selection', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([MultiSelect, MultiSelectWithLotsOfOptions]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([MultiSelect, MultiSelectWithLotsOfOptions]))); let fixture: ComponentFixture; let testInstance: MultiSelect; diff --git a/src/material-experimental/mdc-slider/slider.spec.ts b/src/material-experimental/mdc-slider/slider.spec.ts index 45d7f45883c1..194d8dc73c9d 100644 --- a/src/material-experimental/mdc-slider/slider.spec.ts +++ b/src/material-experimental/mdc-slider/slider.spec.ts @@ -56,15 +56,13 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(StandardSlider); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(StandardSlider); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the default values', () => { expect(inputInstance.value).toBe(0); @@ -119,17 +117,15 @@ describe('MDC-based MatSlider', () => { let sliderElement: HTMLElement; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(StandardRangeSlider); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - sliderElement = sliderDebugElement.nativeElement; - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(StandardRangeSlider); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + sliderElement = sliderDebugElement.nativeElement; + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the default values', () => { expect(startInputInstance.value).toBe(0); @@ -196,15 +192,13 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(DisabledSlider); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(DisabledSlider); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should be disabled', () => { expect(sliderInstance.disabled).toBeTrue(); @@ -234,16 +228,14 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(DisabledRangeSlider); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(DisabledRangeSlider); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should be disabled', () => { expect(sliderInstance.disabled).toBeTrue(); @@ -288,20 +280,18 @@ describe('MDC-based MatSlider', () => { let thumbX: number; let thumbY: number; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(StandardSlider); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - const sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - thumbInstance = sliderInstance._getThumb(Thumb.END); - thumbElement = thumbInstance._getHostElement(); - const thumbDimensions = thumbElement.getBoundingClientRect(); - thumbX = thumbDimensions.left - thumbDimensions.width / 2; - thumbY = thumbDimensions.top - thumbDimensions.height / 2; - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(StandardSlider); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + const sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + thumbInstance = sliderInstance._getThumb(Thumb.END); + thumbElement = thumbInstance._getHostElement(); + const thumbDimensions = thumbElement.getBoundingClientRect(); + thumbX = thumbDimensions.left - thumbDimensions.width / 2; + thumbY = thumbDimensions.top - thumbDimensions.height / 2; + })); function isRippleVisible(selector: string) { tick(500); @@ -424,15 +414,13 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(SliderWithMinAndMax); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(SliderWithMinAndMax); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the default values from the attributes', () => { expect(inputInstance.value).toBe(25); @@ -468,16 +456,14 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithMinAndMax); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithMinAndMax); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the default values from the attributes', () => { expect(startInputInstance.value).toBe(25); @@ -525,15 +511,13 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(SliderWithValue); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(SliderWithValue); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the default value from the attribute', () => { expect(inputInstance.value).toBe(50); @@ -555,16 +539,14 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(RangeSliderWithValue); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(RangeSliderWithValue); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the default value from the attribute', () => { expect(startInputInstance.value).toBe(25); @@ -597,15 +579,13 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(SliderWithStep); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(SliderWithStep); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the correct step value on mousedown', () => { expect(inputInstance.value).toBe(0); @@ -637,16 +617,14 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithStep); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithStep); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should set the correct step value on mousedown behind the start thumb', () => { sliderInstance._setValue(50, Thumb.START); @@ -805,16 +783,14 @@ describe('MDC-based MatSlider', () => { let testComponent: SliderWithOneWayBinding; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(SliderWithOneWayBinding); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - const sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(SliderWithOneWayBinding); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + const sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should update when bound value changes', () => { testComponent.value = 75; @@ -829,17 +805,15 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithOneWayBinding); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - const sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithOneWayBinding); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + const sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should update when bound start value changes', () => { testComponent.startValue = 30; @@ -861,17 +835,15 @@ describe('MDC-based MatSlider', () => { let fixture: ComponentFixture; let testComponent: SliderWithChangeHandler; - beforeEach( - waitForAsync(() => { - fixture = createComponent(SliderWithChangeHandler); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderElement = sliderDebugElement.nativeElement; - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(SliderWithChangeHandler); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderElement = sliderDebugElement.nativeElement; + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should emit change on mouseup', () => { expect(testComponent.onChange).not.toHaveBeenCalled(); @@ -944,18 +916,16 @@ describe('MDC-based MatSlider', () => { let fixture: ComponentFixture; let testComponent: RangeSliderWithChangeHandler; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithChangeHandler); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderElement = sliderDebugElement.nativeElement; - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithChangeHandler); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderElement = sliderDebugElement.nativeElement; + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should emit change on mouseup on the start thumb', () => { expect(testComponent.onStartThumbChange).not.toHaveBeenCalled(); @@ -1119,18 +1089,16 @@ describe('MDC-based MatSlider', () => { let sliderElement: HTMLElement; let testComponent: SliderWithChangeHandler; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(SliderWithChangeHandler); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + const fixture = createComponent(SliderWithChangeHandler); + fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; + testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - sliderElement = sliderInstance._elementRef.nativeElement; - }), - ); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + sliderElement = sliderInstance._elementRef.nativeElement; + })); it('should emit an input event while sliding', () => { const dispatchSliderEvent = (type: PointerEventType, value: number) => { @@ -1169,18 +1137,16 @@ describe('MDC-based MatSlider', () => { let sliderElement: HTMLElement; let testComponent: RangeSliderWithChangeHandler; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(RangeSliderWithChangeHandler); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + const fixture = createComponent(RangeSliderWithChangeHandler); + fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; + testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - sliderElement = sliderInstance._elementRef.nativeElement; - }), - ); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + sliderElement = sliderInstance._elementRef.nativeElement; + })); it('should emit an input event while sliding the start thumb', () => { const dispatchSliderEvent = (type: PointerEventType, value: number) => { @@ -1269,20 +1235,18 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(StandardSlider, [ - { - provide: Directionality, - useValue: {value: 'rtl', change: of()}, - }, - ]); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(StandardSlider, [ + { + provide: Directionality, + useValue: {value: 'rtl', change: of()}, + }, + ]); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('works in RTL languages', () => { setValueByClick(sliderInstance, 30, platform.IOS); @@ -1295,21 +1259,19 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - const fixture = createComponent(StandardRangeSlider, [ - { - provide: Directionality, - useValue: {value: 'rtl', change: of()}, - }, - ]); - fixture.detectChanges(); - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + const fixture = createComponent(StandardRangeSlider, [ + { + provide: Directionality, + useValue: {value: 'rtl', change: of()}, + }, + ]); + fixture.detectChanges(); + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('works in RTL languages', () => { setValueByClick(sliderInstance, 90, platform.IOS); @@ -1325,16 +1287,14 @@ describe('MDC-based MatSlider', () => { let testComponent: SliderWithNgModel; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(SliderWithNgModel); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - const sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(SliderWithNgModel); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + const sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should update the model on mouseup', () => { expect(testComponent.val).toBe(0); @@ -1371,17 +1331,15 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithNgModel); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - const sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithNgModel); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + const sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should update the start thumb model on mouseup', () => { expect(testComponent.startVal).toBe(0); @@ -1444,16 +1402,14 @@ describe('MDC-based MatSlider', () => { let sliderInstance: MatSlider; let inputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(SliderWithFormControl); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - inputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(SliderWithFormControl); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + inputInstance = sliderInstance._getInput(Thumb.END); + })); it('should not update the control when the value is updated', () => { expect(testComponent.control.value).toBe(0); @@ -1526,17 +1482,15 @@ describe('MDC-based MatSlider', () => { let startInputInstance: MatSliderThumb; let endInputInstance: MatSliderThumb; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithFormControl); - fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; - const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); - sliderInstance = sliderDebugElement.componentInstance; - startInputInstance = sliderInstance._getInput(Thumb.START); - endInputInstance = sliderInstance._getInput(Thumb.END); - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithFormControl); + fixture.detectChanges(); + testComponent = fixture.debugElement.componentInstance; + const sliderDebugElement = fixture.debugElement.query(By.directive(MatSlider)); + sliderInstance = sliderDebugElement.componentInstance; + startInputInstance = sliderInstance._getInput(Thumb.START); + endInputInstance = sliderInstance._getInput(Thumb.END); + })); it('should not update the start input control when the value is updated', () => { expect(testComponent.startInputControl.value).toBe(0); @@ -1690,13 +1644,11 @@ describe('MDC-based MatSlider', () => { let fixture: ComponentFixture; let testComponent: RangeSliderWithTwoWayBinding; - beforeEach( - waitForAsync(() => { - fixture = createComponent(RangeSliderWithTwoWayBinding); - fixture.detectChanges(); - testComponent = fixture.componentInstance; - }), - ); + beforeEach(waitForAsync(() => { + fixture = createComponent(RangeSliderWithTwoWayBinding); + fixture.detectChanges(); + testComponent = fixture.componentInstance; + })); it('should sync the start value binding in both directions', () => { expect(testComponent.startValue).toBe(0); diff --git a/src/material-experimental/mdc-table/table.spec.ts b/src/material-experimental/mdc-table/table.spec.ts index 471562196177..df5c09c3b7fb 100644 --- a/src/material-experimental/mdc-table/table.spec.ts +++ b/src/material-experimental/mdc-table/table.spec.ts @@ -15,25 +15,23 @@ import {MatPaginator, MatPaginatorModule} from '@angular/material-experimental/m import {NoopAnimationsModule} from '@angular/platform-browser/animations'; describe('MDC-based MatTable', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatTableModule, MatPaginatorModule, MatSortModule, NoopAnimationsModule], - declarations: [ - MatTableApp, - MatTableWithWhenRowApp, - ArrayDataSourceMatTableApp, - NativeHtmlTableApp, - MatTableWithSortApp, - MatTableWithPaginatorApp, - StickyTableApp, - TableWithNgContainerRow, - NestedTableApp, - MatFlexTableApp, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatTableModule, MatPaginatorModule, MatSortModule, NoopAnimationsModule], + declarations: [ + MatTableApp, + MatTableWithWhenRowApp, + ArrayDataSourceMatTableApp, + NativeHtmlTableApp, + MatTableWithSortApp, + MatTableWithPaginatorApp, + StickyTableApp, + TableWithNgContainerRow, + NestedTableApp, + MatFlexTableApp, + ], + }).compileComponents(); + })); describe('with basic data source', () => { it('should be able to create a table with the right content and without when row', () => { diff --git a/src/material-experimental/mdc-tabs/tab-body.spec.ts b/src/material-experimental/mdc-tabs/tab-body.spec.ts index 508fbde683ba..613891cb4f32 100644 --- a/src/material-experimental/mdc-tabs/tab-body.spec.ts +++ b/src/material-experimental/mdc-tabs/tab-body.spec.ts @@ -14,18 +14,16 @@ describe('MDC-based MatTabBody', () => { let dir: Direction = 'ltr'; let dirChange: Subject = new Subject(); - beforeEach( - waitForAsync(() => { - dir = 'ltr'; - TestBed.configureTestingModule({ - imports: [CommonModule, PortalModule, MatRippleModule, NoopAnimationsModule], - declarations: [MatTabBody, MatTabBodyPortal, SimpleTabBodyApp], - providers: [{provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}], - }); + beforeEach(waitForAsync(() => { + dir = 'ltr'; + TestBed.configureTestingModule({ + imports: [CommonModule, PortalModule, MatRippleModule, NoopAnimationsModule], + declarations: [MatTabBody, MatTabBodyPortal, SimpleTabBodyApp], + providers: [{provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('when initialized as center', () => { let fixture: ComponentFixture; diff --git a/src/material-experimental/mdc-tabs/tab-group.spec.ts b/src/material-experimental/mdc-tabs/tab-group.spec.ts index b510c32ef7ac..f374cfc0bb89 100644 --- a/src/material-experimental/mdc-tabs/tab-group.spec.ts +++ b/src/material-experimental/mdc-tabs/tab-group.spec.ts @@ -97,27 +97,24 @@ describe('MDC-based MatTabGroup', () => { })); // Note: needs to be `async` in order to fail when we expect it to. - it( - 'should set to correct tab on fast change', - waitForAsync(() => { - let component = fixture.componentInstance; - component.selectedIndex = 0; + it('should set to correct tab on fast change', waitForAsync(() => { + let component = fixture.componentInstance; + component.selectedIndex = 0; + fixture.detectChanges(); + + setTimeout(() => { + component.selectedIndex = 1; fixture.detectChanges(); setTimeout(() => { - component.selectedIndex = 1; + component.selectedIndex = 0; fixture.detectChanges(); - - setTimeout(() => { - component.selectedIndex = 0; - fixture.detectChanges(); - fixture.whenStable().then(() => { - expect(component.selectedIndex).toBe(0); - }); - }, 1); + fixture.whenStable().then(() => { + expect(component.selectedIndex).toBe(0); + }); }, 1); - }), - ); + }, 1); + })); it('should change tabs based on selectedIndex', fakeAsync(() => { let component = fixture.componentInstance; diff --git a/src/material-experimental/mdc-tabs/tab-header.spec.ts b/src/material-experimental/mdc-tabs/tab-header.spec.ts index 8001b7f9a4c5..0395069b3edf 100644 --- a/src/material-experimental/mdc-tabs/tab-header.spec.ts +++ b/src/material-experimental/mdc-tabs/tab-header.spec.ts @@ -29,17 +29,15 @@ describe('MDC-based MatTabHeader', () => { let fixture: ComponentFixture; let appComponent: SimpleTabHeaderApp; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CommonModule, PortalModule, MatRippleModule, ScrollingModule, ObserversModule], - declarations: [MatTabHeader, MatTabLabelWrapper, SimpleTabHeaderApp], - providers: [ViewportRuler], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CommonModule, PortalModule, MatRippleModule, ScrollingModule, ObserversModule], + declarations: [MatTabHeader, MatTabLabelWrapper, SimpleTabHeaderApp], + providers: [ViewportRuler], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('focusing', () => { let tabListContainer: HTMLElement; diff --git a/src/material-experimental/mdc-tabs/tab-nav-bar/tab-nav-bar.spec.ts b/src/material-experimental/mdc-tabs/tab-nav-bar/tab-nav-bar.spec.ts index 3b5dd8cdb19a..34a5e04a3a00 100644 --- a/src/material-experimental/mdc-tabs/tab-nav-bar/tab-nav-bar.spec.ts +++ b/src/material-experimental/mdc-tabs/tab-nav-bar/tab-nav-bar.spec.ts @@ -1,51 +1,50 @@ -import {SPACE} from '@angular/cdk/keycodes'; -import {waitForAsync, ComponentFixture, fakeAsync, TestBed, tick} from '@angular/core/testing'; import {Component, QueryList, ViewChild, ViewChildren} from '@angular/core'; +import {ComponentFixture, TestBed, fakeAsync, tick, waitForAsync} from '@angular/core/testing'; +import {Direction, Directionality} from '@angular/cdk/bidi'; import { MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions, } from '@angular/material-experimental/mdc-core'; -import {By} from '@angular/platform-browser'; +import {MatTabLink, MatTabNav} from './tab-nav-bar'; import { dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent, } from '../../../cdk/testing/private'; -import {Direction, Directionality} from '@angular/cdk/bidi'; -import {Subject} from 'rxjs'; -import {MatTabsModule} from '../module'; -import {MatTabLink, MatTabNav} from './tab-nav-bar'; + import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; +import {By} from '@angular/platform-browser'; import {MAT_TABS_CONFIG} from '../index'; +import {MatTabsModule} from '../module'; +import {SPACE} from '@angular/cdk/keycodes'; +import {Subject} from 'rxjs'; describe('MDC-based MatTabNavBar', () => { let dir: Direction = 'ltr'; let dirChange = new Subject(); let globalRippleOptions: RippleGlobalOptions; - beforeEach( - waitForAsync(() => { - globalRippleOptions = {}; - - TestBed.configureTestingModule({ - imports: [MatTabsModule], - declarations: [ - SimpleTabNavBarTestApp, - TabLinkWithNgIf, - TabLinkWithTabIndexBinding, - TabLinkWithNativeTabindexAttr, - TabBarWithInactiveTabsOnInit, - TabBarWithPanel, - ], - providers: [ - {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, - {provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}, - ], - }); + beforeEach(waitForAsync(() => { + globalRippleOptions = {}; - TestBed.compileComponents(); - }), - ); + TestBed.configureTestingModule({ + imports: [MatTabsModule], + declarations: [ + SimpleTabNavBarTestApp, + TabLinkWithNgIf, + TabLinkWithTabIndexBinding, + TabLinkWithNativeTabindexAttr, + TabBarWithInactiveTabsOnInit, + TabBarWithPanel, + ], + providers: [ + {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, + {provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}, + ], + }); + + TestBed.compileComponents(); + })); describe('basic behavior', () => { let fixture: ComponentFixture; diff --git a/src/material-experimental/mdc-tooltip/tooltip.spec.ts b/src/material-experimental/mdc-tooltip/tooltip.spec.ts index a07f148c8e50..369779bad0e3 100644 --- a/src/material-experimental/mdc-tooltip/tooltip.spec.ts +++ b/src/material-experimental/mdc-tooltip/tooltip.spec.ts @@ -50,41 +50,39 @@ describe('MDC-based MatTooltip', () => { let platform: Platform; let focusMonitor: FocusMonitor; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatTooltipModule, OverlayModule], - declarations: [ - BasicTooltipDemo, - ScrollableTooltipDemo, - OnPushTooltipDemo, - DynamicTooltipsDemo, - TooltipOnTextFields, - TooltipOnDraggableElement, - DataBoundAriaLabelTooltip, - ], - providers: [ - { - provide: Directionality, - useFactory: () => { - return (dir = {value: 'ltr', change: new Subject()}); - }, + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatTooltipModule, OverlayModule], + declarations: [ + BasicTooltipDemo, + ScrollableTooltipDemo, + OnPushTooltipDemo, + DynamicTooltipsDemo, + TooltipOnTextFields, + TooltipOnDraggableElement, + DataBoundAriaLabelTooltip, + ], + providers: [ + { + provide: Directionality, + useFactory: () => { + return (dir = {value: 'ltr', change: new Subject()}); }, - ], - }); + }, + ], + }); - TestBed.compileComponents(); + TestBed.compileComponents(); - inject( - [OverlayContainer, FocusMonitor, Platform], - (oc: OverlayContainer, fm: FocusMonitor, pl: Platform) => { - overlayContainerElement = oc.getContainerElement(); - focusMonitor = fm; - platform = pl; - }, - )(); - }), - ); + inject( + [OverlayContainer, FocusMonitor, Platform], + (oc: OverlayContainer, fm: FocusMonitor, pl: Platform) => { + overlayContainerElement = oc.getContainerElement(); + focusMonitor = fm; + platform = pl; + }, + )(); + })); describe('basic usage', () => { let fixture: ComponentFixture; @@ -321,25 +319,22 @@ describe('MDC-based MatTooltip', () => { expect(tooltipDirective._isTooltipVisible()).toBe(false); })); - it( - 'should not show if hide is called before delay finishes', - waitForAsync(() => { - assertTooltipInstance(tooltipDirective, false); + it('should not show if hide is called before delay finishes', waitForAsync(() => { + assertTooltipInstance(tooltipDirective, false); - const tooltipDelay = 1000; + const tooltipDelay = 1000; - tooltipDirective.show(tooltipDelay); - expect(tooltipDirective._isTooltipVisible()).toBe(false); + tooltipDirective.show(tooltipDelay); + expect(tooltipDirective._isTooltipVisible()).toBe(false); - fixture.detectChanges(); - expect(overlayContainerElement.textContent).toContain(''); - tooltipDirective.hide(); + fixture.detectChanges(); + expect(overlayContainerElement.textContent).toContain(''); + tooltipDirective.hide(); - fixture.whenStable().then(() => { - expect(tooltipDirective._isTooltipVisible()).toBe(false); - }); - }), - ); + fixture.whenStable().then(() => { + expect(tooltipDirective._isTooltipVisible()).toBe(false); + }); + })); it('should not show tooltip if message is not present or empty', () => { assertTooltipInstance(tooltipDirective, false); diff --git a/src/material-experimental/menubar/menubar-item.spec.ts b/src/material-experimental/menubar/menubar-item.spec.ts index f1dfb79e532b..a47250261b81 100644 --- a/src/material-experimental/menubar/menubar-item.spec.ts +++ b/src/material-experimental/menubar/menubar-item.spec.ts @@ -9,14 +9,12 @@ describe('MatMenuBarItem', () => { let menubarItem: MatMenuBarItem; let nativeMenubarItem: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatMenuBarModule, CdkMenuModule], - declarations: [SimpleMenuBarItem], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatMenuBarModule, CdkMenuModule], + declarations: [SimpleMenuBarItem], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SimpleMenuBarItem); diff --git a/src/material-experimental/menubar/menubar.spec.ts b/src/material-experimental/menubar/menubar.spec.ts index 61ffdc49da10..1c19118599c2 100644 --- a/src/material-experimental/menubar/menubar.spec.ts +++ b/src/material-experimental/menubar/menubar.spec.ts @@ -11,14 +11,12 @@ describe('MatMenuBar', () => { let matMenubar: MatMenuBar; let nativeMatMenubar: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatMenuBarModule], - declarations: [SimpleMatMenuBar], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatMenuBarModule], + declarations: [SimpleMatMenuBar], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SimpleMatMenuBar); diff --git a/src/material-luxon-adapter/adapter/luxon-date-adapter.spec.ts b/src/material-luxon-adapter/adapter/luxon-date-adapter.spec.ts index d871e35587d9..306b5c7aed59 100644 --- a/src/material-luxon-adapter/adapter/luxon-date-adapter.spec.ts +++ b/src/material-luxon-adapter/adapter/luxon-date-adapter.spec.ts @@ -21,16 +21,14 @@ const JAN = 1, describe('LuxonDateAdapter', () => { let adapter: DateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [LuxonDateModule], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [LuxonDateModule], + }).compileComponents(); - adapter = TestBed.inject(DateAdapter); - adapter.setLocale('en-US'); - }), - ); + adapter = TestBed.inject(DateAdapter); + adapter.setLocale('en-US'); + })); it('should get year', () => { expect(adapter.getYear(DateTime.local(2017, JAN, 1))).toBe(2017); @@ -547,16 +545,14 @@ describe('LuxonDateAdapter', () => { describe('LuxonDateAdapter with MAT_DATE_LOCALE override', () => { let adapter: DateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [LuxonDateModule], - providers: [{provide: MAT_DATE_LOCALE, useValue: 'da-DK'}], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [LuxonDateModule], + providers: [{provide: MAT_DATE_LOCALE, useValue: 'da-DK'}], + }).compileComponents(); - adapter = TestBed.inject(DateAdapter); - }), - ); + adapter = TestBed.inject(DateAdapter); + })); it('should take the default locale id from the MAT_DATE_LOCALE injection token', () => { const date = adapter.format(DateTime.local(2017, JAN, 2), 'DD'); @@ -567,16 +563,14 @@ describe('LuxonDateAdapter with MAT_DATE_LOCALE override', () => { describe('LuxonDateAdapter with LOCALE_ID override', () => { let adapter: DateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [LuxonDateModule], - providers: [{provide: LOCALE_ID, useValue: 'fr-FR'}], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [LuxonDateModule], + providers: [{provide: LOCALE_ID, useValue: 'fr-FR'}], + }).compileComponents(); - adapter = TestBed.inject(DateAdapter); - }), - ); + adapter = TestBed.inject(DateAdapter); + })); it('should take the default locale id from the LOCALE_ID injection token', () => { const date = adapter.format(DateTime.local(2017, JAN, 2), 'DD'); @@ -587,21 +581,19 @@ describe('LuxonDateAdapter with LOCALE_ID override', () => { describe('LuxonDateAdapter with MAT_LUXON_DATE_ADAPTER_OPTIONS override', () => { let adapter: DateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [LuxonDateModule], - providers: [ - { - provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, - useValue: {useUtc: true, firstDayOfWeek: 1}, - }, - ], - }).compileComponents(); - - adapter = TestBed.inject(DateAdapter); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [LuxonDateModule], + providers: [ + { + provide: MAT_LUXON_DATE_ADAPTER_OPTIONS, + useValue: {useUtc: true, firstDayOfWeek: 1}, + }, + ], + }).compileComponents(); + + adapter = TestBed.inject(DateAdapter); + })); describe('use UTC', () => { it('should create Luxon date in UTC', () => { diff --git a/src/material-moment-adapter/adapter/moment-date-adapter.spec.ts b/src/material-moment-adapter/adapter/moment-date-adapter.spec.ts index ab30b967cc72..98d3fd18b3ad 100644 --- a/src/material-moment-adapter/adapter/moment-date-adapter.spec.ts +++ b/src/material-moment-adapter/adapter/moment-date-adapter.spec.ts @@ -22,13 +22,11 @@ describe('MomentDateAdapter', () => { let adapter: MomentDateAdapter; let assertValidDate: (d: moment.Moment | null, valid: boolean) => void; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MomentDateModule], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MomentDateModule], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (dateAdapter: MomentDateAdapter) => { moment.locale('en'); @@ -541,14 +539,12 @@ describe('MomentDateAdapter', () => { describe('MomentDateAdapter with MAT_DATE_LOCALE override', () => { let adapter: MomentDateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MomentDateModule], - providers: [{provide: MAT_DATE_LOCALE, useValue: 'ja-JP'}], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MomentDateModule], + providers: [{provide: MAT_DATE_LOCALE, useValue: 'ja-JP'}], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (d: MomentDateAdapter) => { adapter = d; @@ -562,14 +558,12 @@ describe('MomentDateAdapter with MAT_DATE_LOCALE override', () => { describe('MomentDateAdapter with LOCALE_ID override', () => { let adapter: MomentDateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MomentDateModule], - providers: [{provide: LOCALE_ID, useValue: 'fr'}], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MomentDateModule], + providers: [{provide: LOCALE_ID, useValue: 'fr'}], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (d: MomentDateAdapter) => { adapter = d; @@ -583,19 +577,17 @@ describe('MomentDateAdapter with LOCALE_ID override', () => { describe('MomentDateAdapter with MAT_MOMENT_DATE_ADAPTER_OPTIONS override', () => { let adapter: MomentDateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MomentDateModule], - providers: [ - { - provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, - useValue: {useUtc: true}, - }, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MomentDateModule], + providers: [ + { + provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, + useValue: {useUtc: true}, + }, + ], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (d: MomentDateAdapter) => { adapter = d; @@ -620,22 +612,20 @@ describe('MomentDateAdapter with MAT_MOMENT_DATE_ADAPTER_OPTIONS override', () = }); describe('strict mode', () => { - beforeEach( - waitForAsync(() => { - TestBed.resetTestingModule(); - TestBed.configureTestingModule({ - imports: [MomentDateModule], - providers: [ - { - provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, - useValue: { - strict: true, - }, + beforeEach(waitForAsync(() => { + TestBed.resetTestingModule(); + TestBed.configureTestingModule({ + imports: [MomentDateModule], + providers: [ + { + provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, + useValue: { + strict: true, }, - ], - }).compileComponents(); - }), - ); + }, + ], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (d: MomentDateAdapter) => { adapter = d; diff --git a/src/material/autocomplete/autocomplete.spec.ts b/src/material/autocomplete/autocomplete.spec.ts index 7d883472acfd..ec22d4dcd789 100644 --- a/src/material/autocomplete/autocomplete.spec.ts +++ b/src/material/autocomplete/autocomplete.spec.ts @@ -164,23 +164,20 @@ describe('MatAutocomplete', () => { .toContain('California'); }); - it( - 'should show the panel when the first open is after the initial zone stabilization', - waitForAsync(() => { - // Note that we're running outside the Angular zone, in order to be able - // to test properly without the subscription from `_subscribeToClosingActions` - // giving us a false positive. - fixture.ngZone!.runOutsideAngular(() => { - fixture.componentInstance.trigger.openPanel(); - - Promise.resolve().then(() => { - expect(fixture.componentInstance.panel.showPanel) - .withContext(`Expected panel to be visible.`) - .toBe(true); - }); + it('should show the panel when the first open is after the initial zone stabilization', waitForAsync(() => { + // Note that we're running outside the Angular zone, in order to be able + // to test properly without the subscription from `_subscribeToClosingActions` + // giving us a false positive. + fixture.ngZone!.runOutsideAngular(() => { + fixture.componentInstance.trigger.openPanel(); + + Promise.resolve().then(() => { + expect(fixture.componentInstance.panel.showPanel) + .withContext(`Expected panel to be visible.`) + .toBe(true); }); - }), - ); + }); + })); it('should close the panel when the user clicks away', fakeAsync(() => { dispatchFakeEvent(input, 'focusin'); diff --git a/src/material/button/button.spec.ts b/src/material/button/button.spec.ts index 8c7bf0d84d4d..2113afdb7af1 100644 --- a/src/material/button/button.spec.ts +++ b/src/material/button/button.spec.ts @@ -6,16 +6,14 @@ import {MatRipple, ThemePalette} from '@angular/material/core'; import {createMouseEvent, dispatchEvent} from '@angular/cdk/testing/private'; describe('MatButton', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatButtonModule], - declarations: [TestApp], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatButtonModule], + declarations: [TestApp], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); // General button tests it('should apply class based on color attribute', () => { diff --git a/src/material/chips/chip-input.spec.ts b/src/material/chips/chip-input.spec.ts index 64c46b467bd8..66b848404e65 100644 --- a/src/material/chips/chip-input.spec.ts +++ b/src/material/chips/chip-input.spec.ts @@ -21,39 +21,35 @@ describe('MatChipInput', () => { let chipInputDirective: MatChipInput; const dir = 'ltr'; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [PlatformModule, MatChipsModule, MatFormFieldModule, NoopAnimationsModule], - declarations: [TestChipInput], - providers: [ - { - provide: Directionality, - useFactory: () => { - return { - value: dir.toLowerCase(), - change: new Subject(), - }; - }, + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [PlatformModule, MatChipsModule, MatFormFieldModule, NoopAnimationsModule], + declarations: [TestChipInput], + providers: [ + { + provide: Directionality, + useFactory: () => { + return { + value: dir.toLowerCase(), + change: new Subject(), + }; }, - ], - }); + }, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(TestChipInput); - testChipInput = fixture.debugElement.componentInstance; - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(TestChipInput); + testChipInput = fixture.debugElement.componentInstance; + fixture.detectChanges(); - inputDebugElement = fixture.debugElement.query(By.directive(MatChipInput))!; - chipInputDirective = inputDebugElement.injector.get(MatChipInput); - inputNativeElement = inputDebugElement.nativeElement; - }), - ); + inputDebugElement = fixture.debugElement.query(By.directive(MatChipInput))!; + chipInputDirective = inputDebugElement.injector.get(MatChipInput); + inputNativeElement = inputDebugElement.nativeElement; + })); describe('basic behavior', () => { it('emits the (chipEnd) on enter keyup', () => { diff --git a/src/material/chips/chip-remove.spec.ts b/src/material/chips/chip-remove.spec.ts index 389aff7988e1..cf333f97862f 100644 --- a/src/material/chips/chip-remove.spec.ts +++ b/src/material/chips/chip-remove.spec.ts @@ -9,27 +9,23 @@ describe('Chip Remove', () => { let chipDebugElement: DebugElement; let chipNativeElement: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [TestChip], - }); - - TestBed.compileComponents(); - }), - ); - - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(TestChip); - testChip = fixture.debugElement.componentInstance; - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [TestChip], + }); + + TestBed.compileComponents(); + })); + + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(TestChip); + testChip = fixture.debugElement.componentInstance; + fixture.detectChanges(); - chipDebugElement = fixture.debugElement.query(By.directive(MatChip))!; - chipNativeElement = chipDebugElement.nativeElement; - }), - ); + chipDebugElement = fixture.debugElement.query(By.directive(MatChip))!; + chipNativeElement = chipDebugElement.nativeElement; + })); describe('basic behavior', () => { it('should apply a CSS class to the remove icon', () => { diff --git a/src/material/chips/chip.spec.ts b/src/material/chips/chip.spec.ts index d74f241b1756..999a2a310d8e 100644 --- a/src/material/chips/chip.spec.ts +++ b/src/material/chips/chip.spec.ts @@ -16,32 +16,30 @@ describe('MatChip', () => { let globalRippleOptions: RippleGlobalOptions; let dir = 'ltr'; - beforeEach( - waitForAsync(() => { - globalRippleOptions = {}; - TestBed.configureTestingModule({ - imports: [MatChipsModule], - declarations: [ - BasicChip, - SingleChip, - BasicChipWithStaticTabindex, - BasicChipWithBoundTabindex, - ], - providers: [ - {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, - { - provide: Directionality, - useFactory: () => ({ - value: dir, - change: new Subject(), - }), - }, - ], - }); + beforeEach(waitForAsync(() => { + globalRippleOptions = {}; + TestBed.configureTestingModule({ + imports: [MatChipsModule], + declarations: [ + BasicChip, + SingleChip, + BasicChipWithStaticTabindex, + BasicChipWithBoundTabindex, + ], + providers: [ + {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, + { + provide: Directionality, + useFactory: () => ({ + value: dir, + change: new Subject(), + }), + }, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('MatBasicChip', () => { it('adds a class to indicate that it is a basic chip', () => { diff --git a/src/material/core/datetime/native-date-adapter.spec.ts b/src/material/core/datetime/native-date-adapter.spec.ts index 4d3ea34b6928..43febe89027b 100644 --- a/src/material/core/datetime/native-date-adapter.spec.ts +++ b/src/material/core/datetime/native-date-adapter.spec.ts @@ -7,13 +7,11 @@ describe('NativeDateAdapter', () => { let adapter: NativeDateAdapter; let assertValidDate: (d: Date | null, valid: boolean) => void; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [NativeDateModule], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [NativeDateModule], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (dateAdapter: NativeDateAdapter) => { adapter = dateAdapter; @@ -471,14 +469,12 @@ describe('NativeDateAdapter', () => { describe('NativeDateAdapter with MAT_DATE_LOCALE override', () => { let adapter: NativeDateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [NativeDateModule], - providers: [{provide: MAT_DATE_LOCALE, useValue: 'da-DK'}], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [NativeDateModule], + providers: [{provide: MAT_DATE_LOCALE, useValue: 'da-DK'}], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (d: NativeDateAdapter) => { adapter = d; @@ -493,14 +489,12 @@ describe('NativeDateAdapter with MAT_DATE_LOCALE override', () => { describe('NativeDateAdapter with LOCALE_ID override', () => { let adapter: NativeDateAdapter; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [NativeDateModule], - providers: [{provide: LOCALE_ID, useValue: 'da-DK'}], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [NativeDateModule], + providers: [{provide: LOCALE_ID, useValue: 'da-DK'}], + }).compileComponents(); + })); beforeEach(inject([DateAdapter], (d: NativeDateAdapter) => { adapter = d; diff --git a/src/material/core/option/option.spec.ts b/src/material/core/option/option.spec.ts index f5c3132ac06a..4c8f192cd584 100644 --- a/src/material/core/option/option.spec.ts +++ b/src/material/core/option/option.spec.ts @@ -11,14 +11,12 @@ import {SPACE, ENTER} from '@angular/cdk/keycodes'; import {MatOption, MatOptionModule, MAT_OPTION_PARENT_COMPONENT} from './index'; describe('MatOption component', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatOptionModule], - declarations: [BasicOption], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatOptionModule], + declarations: [BasicOption], + }).compileComponents(); + })); it('should complete the `stateChanges` stream on destroy', () => { const fixture = TestBed.createComponent(BasicOption); @@ -208,24 +206,22 @@ describe('MatOption component', () => { describe('inside inert group', () => { let fixture: ComponentFixture; - beforeEach( - waitForAsync(() => { - TestBed.resetTestingModule(); - TestBed.configureTestingModule({ - imports: [MatOptionModule], - declarations: [InsideGroup], - providers: [ - { - provide: MAT_OPTION_PARENT_COMPONENT, - useValue: {inertGroups: true}, - }, - ], - }).compileComponents(); - - fixture = TestBed.createComponent(InsideGroup); - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.resetTestingModule(); + TestBed.configureTestingModule({ + imports: [MatOptionModule], + declarations: [InsideGroup], + providers: [ + { + provide: MAT_OPTION_PARENT_COMPONENT, + useValue: {inertGroups: true}, + }, + ], + }).compileComponents(); + + fixture = TestBed.createComponent(InsideGroup); + fixture.detectChanges(); + })); it('should remove all accessibility-related attributes from the group', () => { const group: HTMLElement = fixture.nativeElement.querySelector('mat-optgroup'); diff --git a/src/material/datepicker/calendar-body.spec.ts b/src/material/datepicker/calendar-body.spec.ts index 52ff40e20359..8385e1499764 100644 --- a/src/material/datepicker/calendar-body.spec.ts +++ b/src/material/datepicker/calendar-body.spec.ts @@ -5,15 +5,13 @@ import {By} from '@angular/platform-browser'; import {dispatchMouseEvent, dispatchFakeEvent} from '../../cdk/testing/private'; describe('MatCalendarBody', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [MatCalendarBody, StandardCalendarBody, RangeCalendarBody], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [MatCalendarBody, StandardCalendarBody, RangeCalendarBody], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('standard calendar body', () => { let fixture: ComponentFixture; diff --git a/src/material/datepicker/calendar-header.spec.ts b/src/material/datepicker/calendar-header.spec.ts index d75d218602aa..7c8ed1260d35 100644 --- a/src/material/datepicker/calendar-header.spec.ts +++ b/src/material/datepicker/calendar-header.spec.ts @@ -10,24 +10,19 @@ import {MatDatepickerModule} from './datepicker-module'; import {yearsPerPage} from './multi-year-view'; describe('MatCalendarHeader', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatNativeDateModule, MatDatepickerModule], - declarations: [ - // Test components. - StandardCalendar, - CalendarWithMinMaxDate, - ], - providers: [ - MatDatepickerIntl, - {provide: Directionality, useFactory: () => ({value: 'ltr'})}, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatNativeDateModule, MatDatepickerModule], + declarations: [ + // Test components. + StandardCalendar, + CalendarWithMinMaxDate, + ], + providers: [MatDatepickerIntl, {provide: Directionality, useFactory: () => ({value: 'ltr'})}], + }); + + TestBed.compileComponents(); + })); describe('standard calendar', () => { let fixture: ComponentFixture; diff --git a/src/material/datepicker/calendar.spec.ts b/src/material/datepicker/calendar.spec.ts index 33b41e93fe6c..be9159180ea8 100644 --- a/src/material/datepicker/calendar.spec.ts +++ b/src/material/datepicker/calendar.spec.ts @@ -25,27 +25,25 @@ import {MatDatepickerModule} from './datepicker-module'; describe('MatCalendar', () => { let zone: MockNgZone; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatNativeDateModule, MatDatepickerModule], - declarations: [ - // Test components. - StandardCalendar, - CalendarWithMinMax, - CalendarWithDateFilter, - CalendarWithSelectableMinDate, - ], - providers: [ - MatDatepickerIntl, - {provide: NgZone, useFactory: () => (zone = new MockNgZone())}, - {provide: Directionality, useFactory: () => ({value: 'ltr'})}, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatNativeDateModule, MatDatepickerModule], + declarations: [ + // Test components. + StandardCalendar, + CalendarWithMinMax, + CalendarWithDateFilter, + CalendarWithSelectableMinDate, + ], + providers: [ + MatDatepickerIntl, + {provide: NgZone, useFactory: () => (zone = new MockNgZone())}, + {provide: Directionality, useFactory: () => ({value: 'ltr'})}, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('standard calendar', () => { let fixture: ComponentFixture; diff --git a/src/material/datepicker/month-view.spec.ts b/src/material/datepicker/month-view.spec.ts index 7a4909f8efbb..9a00fc425392 100644 --- a/src/material/datepicker/month-view.spec.ts +++ b/src/material/datepicker/month-view.spec.ts @@ -36,28 +36,26 @@ describe('MatMonthView', () => { describe('standard providers', () => { let dir: {value: Direction}; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatNativeDateModule], - declarations: [ - MatCalendarBody, - MatMonthView, - - // Test components. - StandardMonthView, - MonthViewWithDateFilter, - MonthViewWithDateClass, - ], - providers: [ - {provide: Directionality, useFactory: () => (dir = {value: 'ltr'})}, - {provide: MAT_DATE_RANGE_SELECTION_STRATEGY, useClass: DefaultMatCalendarRangeStrategy}, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatNativeDateModule], + declarations: [ + MatCalendarBody, + MatMonthView, + + // Test components. + StandardMonthView, + MonthViewWithDateFilter, + MonthViewWithDateClass, + ], + providers: [ + {provide: Directionality, useFactory: () => (dir = {value: 'ltr'})}, + {provide: MAT_DATE_RANGE_SELECTION_STRATEGY, useClass: DefaultMatCalendarRangeStrategy}, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('standard month view', () => { let fixture: ComponentFixture; @@ -593,49 +591,47 @@ describe('MatMonthView', () => { let fixture: ComponentFixture; let monthViewNativeElement: Element; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatNativeDateModule], - declarations: [ - MatCalendarBody, - MatMonthView, - - // Test components. - StandardMonthView, - MonthViewWithDateFilter, - MonthViewWithDateClass, - ], - providers: [ - {provide: Directionality, useFactory: () => ({value: 'ltr'})}, - {provide: MAT_DATE_RANGE_SELECTION_STRATEGY, useClass: DefaultMatCalendarRangeStrategy}, - { - provide: MAT_DATE_FORMATS, - useValue: { - parse: { - dateInput: null, - }, - display: { - dateInput: {year: 'numeric', month: 'numeric', day: 'numeric'}, - monthLabel: {year: 'numeric', month: 'short'}, - monthYearLabel: {year: 'numeric', month: 'short'}, - dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'}, - monthYearA11yLabel: {year: 'numeric', month: 'long'}, - }, + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatNativeDateModule], + declarations: [ + MatCalendarBody, + MatMonthView, + + // Test components. + StandardMonthView, + MonthViewWithDateFilter, + MonthViewWithDateClass, + ], + providers: [ + {provide: Directionality, useFactory: () => ({value: 'ltr'})}, + {provide: MAT_DATE_RANGE_SELECTION_STRATEGY, useClass: DefaultMatCalendarRangeStrategy}, + { + provide: MAT_DATE_FORMATS, + useValue: { + parse: { + dateInput: null, + }, + display: { + dateInput: {year: 'numeric', month: 'numeric', day: 'numeric'}, + monthLabel: {year: 'numeric', month: 'short'}, + monthYearLabel: {year: 'numeric', month: 'short'}, + dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'}, + monthYearA11yLabel: {year: 'numeric', month: 'long'}, }, }, - ], - }); + }, + ], + }); - TestBed.compileComponents(); + TestBed.compileComponents(); - fixture = TestBed.createComponent(StandardMonthView); - fixture.detectChanges(); + fixture = TestBed.createComponent(StandardMonthView); + fixture.detectChanges(); - let monthViewDebugElement = fixture.debugElement.query(By.directive(MatMonthView))!; - monthViewNativeElement = monthViewDebugElement.nativeElement; - }), - ); + let monthViewDebugElement = fixture.debugElement.query(By.directive(MatMonthView))!; + monthViewNativeElement = monthViewDebugElement.nativeElement; + })); it('has correct month label', () => { let labelEl = monthViewNativeElement.querySelector('.mat-calendar-body-label')!; diff --git a/src/material/datepicker/multi-year-view.spec.ts b/src/material/datepicker/multi-year-view.spec.ts index 4079d8cd6662..b1277653da90 100644 --- a/src/material/datepicker/multi-year-view.spec.ts +++ b/src/material/datepicker/multi-year-view.spec.ts @@ -21,26 +21,24 @@ import {MatMultiYearView, yearsPerPage, yearsPerRow} from './multi-year-view'; describe('MatMultiYearView', () => { let dir: {value: Direction}; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatNativeDateModule], - declarations: [ - MatCalendarBody, - MatMultiYearView, - - // Test components. - StandardMultiYearView, - MultiYearViewWithDateFilter, - MultiYearViewWithMinMaxDate, - MultiYearViewWithDateClass, - ], - providers: [{provide: Directionality, useFactory: () => (dir = {value: 'ltr'})}], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatNativeDateModule], + declarations: [ + MatCalendarBody, + MatMultiYearView, + + // Test components. + StandardMultiYearView, + MultiYearViewWithDateFilter, + MultiYearViewWithMinMaxDate, + MultiYearViewWithDateClass, + ], + providers: [{provide: Directionality, useFactory: () => (dir = {value: 'ltr'})}], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('standard multi-year view', () => { let fixture: ComponentFixture; diff --git a/src/material/datepicker/year-view.spec.ts b/src/material/datepicker/year-view.spec.ts index 99e6ca6783f9..de8feeac6768 100644 --- a/src/material/datepicker/year-view.spec.ts +++ b/src/material/datepicker/year-view.spec.ts @@ -21,25 +21,23 @@ import {MatYearView} from './year-view'; describe('MatYearView', () => { let dir: {value: Direction}; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatNativeDateModule], - declarations: [ - MatCalendarBody, - MatYearView, - - // Test components. - StandardYearView, - YearViewWithDateFilter, - YearViewWithDateClass, - ], - providers: [{provide: Directionality, useFactory: () => (dir = {value: 'ltr'})}], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatNativeDateModule], + declarations: [ + MatCalendarBody, + MatYearView, + + // Test components. + StandardYearView, + YearViewWithDateFilter, + YearViewWithDateClass, + ], + providers: [{provide: Directionality, useFactory: () => (dir = {value: 'ltr'})}], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('standard year view', () => { let fixture: ComponentFixture; diff --git a/src/material/expansion/accordion.spec.ts b/src/material/expansion/accordion.spec.ts index 6ef7041d109a..45d441c6f469 100644 --- a/src/material/expansion/accordion.spec.ts +++ b/src/material/expansion/accordion.spec.ts @@ -15,25 +15,23 @@ import {FocusMonitor} from '@angular/cdk/a11y'; describe('MatAccordion', () => { let focusMonitor: FocusMonitor; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [BrowserAnimationsModule, MatExpansionModule], - declarations: [ - AccordionWithHideToggle, - AccordionWithTogglePosition, - NestedPanel, - SetOfItems, - NestedAccordions, - ], - }); - TestBed.compileComponents(); - - inject([FocusMonitor], (fm: FocusMonitor) => { - focusMonitor = fm; - })(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [BrowserAnimationsModule, MatExpansionModule], + declarations: [ + AccordionWithHideToggle, + AccordionWithTogglePosition, + NestedPanel, + SetOfItems, + NestedAccordions, + ], + }); + TestBed.compileComponents(); + + inject([FocusMonitor], (fm: FocusMonitor) => { + focusMonitor = fm; + })(); + })); it('should ensure only one item is expanded at a time', () => { const fixture = TestBed.createComponent(SetOfItems); diff --git a/src/material/expansion/expansion.spec.ts b/src/material/expansion/expansion.spec.ts index 9f8d5c3cded6..728b4481ea88 100644 --- a/src/material/expansion/expansion.spec.ts +++ b/src/material/expansion/expansion.spec.ts @@ -1,41 +1,40 @@ +import {Component, ViewChild} from '@angular/core'; import { - waitForAsync, + ComponentFixture, TestBed, fakeAsync, - tick, - ComponentFixture, flush, + tick, + waitForAsync, } from '@angular/core/testing'; -import {Component, ViewChild} from '@angular/core'; -import {By} from '@angular/platform-browser'; -import {NoopAnimationsModule} from '@angular/platform-browser/animations'; +import {ENTER, SPACE} from '@angular/cdk/keycodes'; import { + MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, MatExpansionModule, MatExpansionPanel, MatExpansionPanelHeader, - MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, } from './index'; -import {SPACE, ENTER} from '@angular/cdk/keycodes'; -import {dispatchKeyboardEvent, createKeyboardEvent, dispatchEvent} from '../../cdk/testing/private'; +import {createKeyboardEvent, dispatchEvent, dispatchKeyboardEvent} from '../../cdk/testing/private'; + +import {By} from '@angular/platform-browser'; +import {NoopAnimationsModule} from '@angular/platform-browser/animations'; describe('MatExpansionPanel', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatExpansionModule, NoopAnimationsModule], - declarations: [ - PanelWithContent, - PanelWithContentInNgIf, - PanelWithCustomMargin, - LazyPanelWithContent, - LazyPanelOpenOnLoad, - PanelWithTwoWayBinding, - PanelWithHeaderTabindex, - ], - }); - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatExpansionModule, NoopAnimationsModule], + declarations: [ + PanelWithContent, + PanelWithContentInNgIf, + PanelWithCustomMargin, + LazyPanelWithContent, + LazyPanelOpenOnLoad, + PanelWithTwoWayBinding, + PanelWithHeaderTabindex, + ], + }); + TestBed.compileComponents(); + })); it('should expand and collapse the panel', fakeAsync(() => { const fixture = TestBed.createComponent(PanelWithContent); diff --git a/src/material/icon/icon.spec.ts b/src/material/icon/icon.spec.ts index a737b0d0ac4a..ec50cdbb0579 100644 --- a/src/material/icon/icon.spec.ts +++ b/src/material/icon/icon.spec.ts @@ -45,42 +45,40 @@ describe('MatIcon', () => { let fakePath: string; let errorHandler: jasmine.SpyObj; - beforeEach( - waitForAsync(() => { - // The $ prefix tells Karma not to try to process the - // request so that we don't get warnings in our logs. - fakePath = '/$fake-path'; - errorHandler = jasmine.createSpyObj('errorHandler', ['handleError']); - - TestBed.configureTestingModule({ - imports: [HttpClientTestingModule, MatIconModule], - declarations: [ - IconWithColor, - IconWithLigature, - IconWithCustomFontCss, - IconFromSvgName, - IconWithAriaHiddenFalse, - IconWithBindingAndNgIf, - InlineIcon, - SvgIconWithUserContent, - IconWithLigatureAndSvgBinding, - BlankIcon, - ], - providers: [ - { - provide: MAT_ICON_LOCATION, - useValue: {getPathname: () => fakePath}, - }, - { - provide: ErrorHandler, - useValue: errorHandler, - }, - ], - }); + beforeEach(waitForAsync(() => { + // The $ prefix tells Karma not to try to process the + // request so that we don't get warnings in our logs. + fakePath = '/$fake-path'; + errorHandler = jasmine.createSpyObj('errorHandler', ['handleError']); + + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule, MatIconModule], + declarations: [ + IconWithColor, + IconWithLigature, + IconWithCustomFontCss, + IconFromSvgName, + IconWithAriaHiddenFalse, + IconWithBindingAndNgIf, + InlineIcon, + SvgIconWithUserContent, + IconWithLigatureAndSvgBinding, + BlankIcon, + ], + providers: [ + { + provide: MAT_ICON_LOCATION, + useValue: {getPathname: () => fakePath}, + }, + { + provide: ErrorHandler, + useValue: errorHandler, + }, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); let iconRegistry: MatIconRegistry; let http: HttpTestingController; @@ -1184,16 +1182,14 @@ describe('MatIcon without HttpClientModule', () => { let iconRegistry: MatIconRegistry; let sanitizer: DomSanitizer; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatIconModule], - declarations: [IconFromSvgName], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatIconModule], + declarations: [IconFromSvgName], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); beforeEach(inject([MatIconRegistry, DomSanitizer], (mir: MatIconRegistry, ds: DomSanitizer) => { iconRegistry = mir; diff --git a/src/material/list/list.spec.ts b/src/material/list/list.spec.ts index 0d85de214d98..acb0d3d07a83 100644 --- a/src/material/list/list.spec.ts +++ b/src/material/list/list.spec.ts @@ -1,38 +1,37 @@ -import {waitForAsync, TestBed, fakeAsync, tick} from '@angular/core/testing'; import {Component, QueryList, ViewChildren} from '@angular/core'; +import {MatListItem, MatListModule} from './index'; +import {TestBed, fakeAsync, tick, waitForAsync} from '@angular/core/testing'; + +import {By} from '@angular/platform-browser'; import {defaultRippleAnimationConfig} from '@angular/material/core'; import {dispatchMouseEvent} from '../../cdk/testing/private'; -import {By} from '@angular/platform-browser'; -import {MatListItem, MatListModule} from './index'; describe('MatList', () => { // Default ripple durations used for testing. const {enterDuration, exitDuration} = defaultRippleAnimationConfig; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - ListWithOneAnchorItem, - ListWithOneItem, - ListWithTwoLineItem, - ListWithThreeLineItem, - ListWithAvatar, - ListWithItemWithCssClass, - ListWithDynamicNumberOfLines, - ListWithMultipleItems, - ListWithManyLines, - NavListWithOneAnchorItem, - ActionListWithoutType, - ActionListWithType, - ListWithDisabledItems, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + ListWithOneAnchorItem, + ListWithOneItem, + ListWithTwoLineItem, + ListWithThreeLineItem, + ListWithAvatar, + ListWithItemWithCssClass, + ListWithDynamicNumberOfLines, + ListWithMultipleItems, + ListWithManyLines, + NavListWithOneAnchorItem, + ActionListWithoutType, + ActionListWithType, + ListWithDisabledItems, + ], + }); + + TestBed.compileComponents(); + })); it('should not apply any additional class to a list without lines', () => { const fixture = TestBed.createComponent(ListWithOneItem); diff --git a/src/material/list/selection-list.spec.ts b/src/material/list/selection-list.spec.ts index 99b05a308cbf..124bf49db4bb 100644 --- a/src/material/list/selection-list.spec.ts +++ b/src/material/list/selection-list.spec.ts @@ -34,33 +34,29 @@ describe('MatSelectionList without forms', () => { let listOptions: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - SelectionListWithListOptions, - SelectionListWithCheckboxPositionAfter, - SelectionListWithListDisabled, - SelectionListWithOnlyOneOption, - SelectionListWithIndirectChildOptions, - SelectionListWithSelectedOptionAndValue, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + SelectionListWithListOptions, + SelectionListWithCheckboxPositionAfter, + SelectionListWithListDisabled, + SelectionListWithOnlyOneOption, + SelectionListWithIndirectChildOptions, + SelectionListWithSelectedOptionAndValue, + ], + }); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithListOptions); - fixture.detectChanges(); + TestBed.compileComponents(); + })); - listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - }), - ); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithListOptions); + fixture.detectChanges(); + + listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + })); it('should be able to set a value on a list option', () => { const optionValues = ['inbox', 'starred', 'sent-mail', 'archive', 'drafts']; @@ -819,25 +815,21 @@ describe('MatSelectionList without forms', () => { let listItemEl: DebugElement; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithSelectedOption], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithSelectedOption], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithSelectedOption); - listItemEl = fixture.debugElement.query(By.directive(MatListOption))!; - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithSelectedOption); + listItemEl = fixture.debugElement.query(By.directive(MatListOption))!; + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + fixture.detectChanges(); + })); it('should set its initial selected state in the selectedOptions', () => { let optionEl = listItemEl.injector.get(MatListOption); @@ -851,16 +843,14 @@ describe('MatSelectionList without forms', () => { let selectionList: MatSelectionList; let listOption: MatListOption; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithChangingOptionValue], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithChangingOptionValue], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SelectionListWithChangingOptionValue); @@ -886,29 +876,25 @@ describe('MatSelectionList without forms', () => { let listOptionEl: HTMLElement; let listOption: MatListOption; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithDisabledOption], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithDisabledOption], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithDisabledOption); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithDisabledOption); - const listOptionDebug = fixture.debugElement.query(By.directive(MatListOption))!; + const listOptionDebug = fixture.debugElement.query(By.directive(MatListOption))!; - listOption = listOptionDebug.componentInstance; - listOptionEl = listOptionDebug.nativeElement; + listOption = listOptionDebug.componentInstance; + listOptionEl = listOptionDebug.nativeElement; - fixture.detectChanges(); - }), - ); + fixture.detectChanges(); + })); it('should disable ripples for disabled option', () => { expect(listOption._isRippleDisabled()) @@ -938,30 +924,26 @@ describe('MatSelectionList without forms', () => { let listOption: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - SelectionListWithListOptions, - SelectionListWithCheckboxPositionAfter, - SelectionListWithListDisabled, - SelectionListWithOnlyOneOption, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + SelectionListWithListOptions, + SelectionListWithCheckboxPositionAfter, + SelectionListWithListDisabled, + SelectionListWithOnlyOneOption, + ], + }); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithListDisabled); - listOption = fixture.debugElement.queryAll(By.directive(MatListOption)); - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - fixture.detectChanges(); - }), - ); + TestBed.compileComponents(); + })); + + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithListDisabled); + listOption = fixture.debugElement.queryAll(By.directive(MatListOption)); + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + fixture.detectChanges(); + })); it('should not allow selection on disabled selection-list', () => { let testListItem = listOption[2].injector.get(MatListOption); @@ -1001,28 +983,24 @@ describe('MatSelectionList without forms', () => { describe('with checkbox position after', () => { let fixture: ComponentFixture; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ - SelectionListWithListOptions, - SelectionListWithCheckboxPositionAfter, - SelectionListWithListDisabled, - SelectionListWithOnlyOneOption, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ + SelectionListWithListOptions, + SelectionListWithCheckboxPositionAfter, + SelectionListWithListDisabled, + SelectionListWithOnlyOneOption, + ], + }); - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(SelectionListWithCheckboxPositionAfter); - fixture.detectChanges(); - }), - ); + TestBed.compileComponents(); + })); + + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(SelectionListWithCheckboxPositionAfter); + fixture.detectChanges(); + })); it('should be able to customize checkbox position', () => { let listItemContent = fixture.debugElement.query(By.css('.mat-list-item-content'))!; @@ -1031,14 +1009,12 @@ describe('MatSelectionList without forms', () => { }); describe('with list item elements', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithAvatar, SelectionListWithIcon], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithAvatar, SelectionListWithIcon], + }).compileComponents(); + })); it('should add a class to reflect that it has an avatar', () => { const fixture = TestBed.createComponent(SelectionListWithIcon); @@ -1062,20 +1038,18 @@ describe('MatSelectionList without forms', () => { let listOptions: DebugElement[]; let selectionList: DebugElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [SelectionListWithListOptions], - }).compileComponents(); - - fixture = TestBed.createComponent(SelectionListWithListOptions); - fixture.componentInstance.multiple = false; - listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); - selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; - fixture.detectChanges(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [SelectionListWithListOptions], + }).compileComponents(); + + fixture = TestBed.createComponent(SelectionListWithListOptions); + fixture.componentInstance.multiple = false; + listOptions = fixture.debugElement.queryAll(By.directive(MatListOption)); + selectionList = fixture.debugElement.query(By.directive(MatSelectionList))!; + fixture.detectChanges(); + })); it('should select one option at a time', () => { const testListItem1 = listOptions[1].injector.get(MatListOption); @@ -1193,20 +1167,18 @@ describe('MatSelectionList without forms', () => { let optionElement: HTMLElement; let option: MatListOption; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule], - declarations: [ListOptionWithTwoWayBinding], - }).compileComponents(); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule], + declarations: [ListOptionWithTwoWayBinding], + }).compileComponents(); - fixture = TestBed.createComponent(ListOptionWithTwoWayBinding); - fixture.detectChanges(); - const optionDebug = fixture.debugElement.query(By.directive(MatListOption)); - option = optionDebug.componentInstance; - optionElement = optionDebug.nativeElement; - }), - ); + fixture = TestBed.createComponent(ListOptionWithTwoWayBinding); + fixture.detectChanges(); + const optionDebug = fixture.debugElement.query(By.directive(MatListOption)); + option = optionDebug.componentInstance; + optionElement = optionDebug.nativeElement; + })); it('should sync the value from the view to the option', () => { expect(option.selected).toBe(false); @@ -1229,23 +1201,21 @@ describe('MatSelectionList without forms', () => { }); describe('MatSelectionList with forms', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatListModule, FormsModule, ReactiveFormsModule], - declarations: [ - SelectionListWithModel, - SelectionListWithFormControl, - SelectionListWithPreselectedOption, - SelectionListWithPreselectedOptionAndModel, - SelectionListWithPreselectedFormControlOnPush, - SelectionListWithCustomComparator, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatListModule, FormsModule, ReactiveFormsModule], + declarations: [ + SelectionListWithModel, + SelectionListWithFormControl, + SelectionListWithPreselectedOption, + SelectionListWithPreselectedOptionAndModel, + SelectionListWithPreselectedFormControlOnPush, + SelectionListWithCustomComparator, + ], + }); + + TestBed.compileComponents(); + })); describe('and ngModel', () => { let fixture: ComponentFixture; diff --git a/src/material/progress-spinner/progress-spinner.spec.ts b/src/material/progress-spinner/progress-spinner.spec.ts index 3944a03e9b46..1314022403e6 100644 --- a/src/material/progress-spinner/progress-spinner.spec.ts +++ b/src/material/progress-spinner/progress-spinner.spec.ts @@ -10,27 +10,25 @@ import { } from './index'; describe('MatProgressSpinner', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatProgressSpinnerModule, CommonModule], - declarations: [ - BasicProgressSpinner, - IndeterminateProgressSpinner, - IndeterminateSpinnerCustomDiameter, - ProgressSpinnerWithValueAndBoundMode, - ProgressSpinnerWithColor, - ProgressSpinnerCustomStrokeWidth, - ProgressSpinnerCustomDiameter, - SpinnerWithColor, - ProgressSpinnerWithStringValues, - IndeterminateSpinnerInShadowDom, - IndeterminateSpinnerInShadowDomWithNgIf, - SpinnerWithMode, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatProgressSpinnerModule, CommonModule], + declarations: [ + BasicProgressSpinner, + IndeterminateProgressSpinner, + IndeterminateSpinnerCustomDiameter, + ProgressSpinnerWithValueAndBoundMode, + ProgressSpinnerWithColor, + ProgressSpinnerCustomStrokeWidth, + ProgressSpinnerCustomDiameter, + SpinnerWithColor, + ProgressSpinnerWithStringValues, + IndeterminateSpinnerInShadowDom, + IndeterminateSpinnerInShadowDomWithNgIf, + SpinnerWithMode, + ], + }).compileComponents(); + })); it('should apply a mode of "determinate" if no mode is provided.', () => { const fixture = TestBed.createComponent(BasicProgressSpinner); diff --git a/src/material/radio/radio.spec.ts b/src/material/radio/radio.spec.ts index d24cc9b57a86..7a25723534ce 100644 --- a/src/material/radio/radio.spec.ts +++ b/src/material/radio/radio.spec.ts @@ -8,27 +8,25 @@ import {MAT_RADIO_DEFAULT_OPTIONS} from './radio'; import {MatRadioButton, MatRadioChange, MatRadioGroup, MatRadioModule} from './index'; describe('MatRadio', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatRadioModule, FormsModule, ReactiveFormsModule], - declarations: [ - DisableableRadioButton, - FocusableRadioButton, - RadiosInsideRadioGroup, - RadioGroupWithNgModel, - RadioGroupWithFormControl, - StandaloneRadioButtons, - InterleavedRadioGroup, - TranscludingWrapper, - RadioButtonWithPredefinedTabindex, - RadioButtonWithPredefinedAriaAttributes, - ], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatRadioModule, FormsModule, ReactiveFormsModule], + declarations: [ + DisableableRadioButton, + FocusableRadioButton, + RadiosInsideRadioGroup, + RadioGroupWithNgModel, + RadioGroupWithFormControl, + StandaloneRadioButtons, + InterleavedRadioGroup, + TranscludingWrapper, + RadioButtonWithPredefinedTabindex, + RadioButtonWithPredefinedAriaAttributes, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('inside of a group', () => { let fixture: ComponentFixture; @@ -41,28 +39,26 @@ describe('MatRadio', () => { let radioInstances: MatRadioButton[]; let testComponent: RadiosInsideRadioGroup; - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(RadiosInsideRadioGroup); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(RadiosInsideRadioGroup); + fixture.detectChanges(); - testComponent = fixture.debugElement.componentInstance; + testComponent = fixture.debugElement.componentInstance; - groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; - groupInstance = groupDebugElement.injector.get(MatRadioGroup); + groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; + groupInstance = groupDebugElement.injector.get(MatRadioGroup); - radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); - radioNativeElements = radioDebugElements.map(debugEl => debugEl.nativeElement); - radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); + radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); + radioNativeElements = radioDebugElements.map(debugEl => debugEl.nativeElement); + radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); - radioLabelElements = radioDebugElements.map( - debugEl => debugEl.query(By.css('label'))!.nativeElement, - ); - radioInputElements = radioDebugElements.map( - debugEl => debugEl.query(By.css('input'))!.nativeElement, - ); - }), - ); + radioLabelElements = radioDebugElements.map( + debugEl => debugEl.query(By.css('label'))!.nativeElement, + ); + radioInputElements = radioDebugElements.map( + debugEl => debugEl.query(By.css('input'))!.nativeElement, + ); + })); it('should set individual radio names based on the group name', () => { expect(groupInstance.name).toBeTruthy(); @@ -862,17 +858,15 @@ describe('MatRadio', () => { let radioDebugElements: DebugElement[]; let radioInstances: MatRadioButton[]; - beforeEach( - waitForAsync(() => { - fixture = TestBed.createComponent(InterleavedRadioGroup); - fixture.detectChanges(); + beforeEach(waitForAsync(() => { + fixture = TestBed.createComponent(InterleavedRadioGroup); + fixture.detectChanges(); - groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; - groupInstance = groupDebugElement.injector.get(MatRadioGroup); - radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); - radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); - }), - ); + groupDebugElement = fixture.debugElement.query(By.directive(MatRadioGroup))!; + groupInstance = groupDebugElement.injector.get(MatRadioGroup); + radioDebugElements = fixture.debugElement.queryAll(By.directive(MatRadioButton)); + radioInstances = radioDebugElements.map(debugEl => debugEl.componentInstance); + })); it('should initialize selection of radios based on model value', () => { expect(groupInstance.selected).toBe(radioInstances[2]); @@ -882,22 +876,20 @@ describe('MatRadio', () => { describe('MatRadioDefaultOverrides', () => { describe('when MAT_RADIO_DEFAULT_OPTIONS overridden', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatRadioModule, FormsModule], - declarations: [DefaultRadioButton, RadioButtonWithColorBinding], - providers: [ - { - provide: MAT_RADIO_DEFAULT_OPTIONS, - useValue: {color: 'primary'}, - }, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatRadioModule, FormsModule], + declarations: [DefaultRadioButton, RadioButtonWithColorBinding], + providers: [ + { + provide: MAT_RADIO_DEFAULT_OPTIONS, + useValue: {color: 'primary'}, + }, + ], + }); + + TestBed.compileComponents(); + })); it('should override default color in Component', () => { const fixture: ComponentFixture = TestBed.createComponent(DefaultRadioButton); diff --git a/src/material/select/select.spec.ts b/src/material/select/select.spec.ts index 11c25bebadd9..564c97e0b691 100644 --- a/src/material/select/select.spec.ts +++ b/src/material/select/select.spec.ts @@ -114,19 +114,17 @@ describe('MatSelect', () => { } describe('core', () => { - beforeEach( - waitForAsync(() => { - configureMatSelectTestingModule([ - BasicSelect, - MultiSelect, - SelectWithGroups, - SelectWithGroupsAndNgContainer, - SelectWithFormFieldLabel, - SelectWithChangeEvent, - SelectInsideDynamicFormGroup, - ]); - }), - ); + beforeEach(waitForAsync(() => { + configureMatSelectTestingModule([ + BasicSelect, + MultiSelect, + SelectWithGroups, + SelectWithGroupsAndNgContainer, + SelectWithFormFieldLabel, + SelectWithChangeEvent, + SelectInsideDynamicFormGroup, + ]); + })); describe('accessibility', () => { describe('for select', () => { @@ -2712,11 +2710,8 @@ describe('MatSelect', () => { }); describe('with a sibling component that throws an error', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([SelectWithErrorSibling, ThrowsErrorOnInit]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([SelectWithErrorSibling, ThrowsErrorOnInit]))); it('should not crash the browser when a sibling throws an error on init', fakeAsync(() => { // Note that this test can be considered successful if the error being thrown didn't @@ -3110,9 +3105,8 @@ describe('MatSelect', () => { }); describe('with preselected array values', () => { - beforeEach( - waitForAsync(() => configureMatSelectTestingModule([SingleSelectWithPreselectedArrayValues])), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([SingleSelectWithPreselectedArrayValues]))); it('should be able to preselect an array value in single-selection mode', fakeAsync(() => { const fixture = TestBed.createComponent(SingleSelectWithPreselectedArrayValues); @@ -3128,11 +3122,8 @@ describe('MatSelect', () => { }); describe('with custom value accessor', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([CompWithCustomSelect, CustomSelectAccessor]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([CompWithCustomSelect, CustomSelectAccessor]))); it('should support use inside a custom value accessor', fakeAsync(() => { const fixture = TestBed.createComponent(CompWithCustomSelect); @@ -3168,11 +3159,8 @@ describe('MatSelect', () => { }); describe('with OnPush', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([BasicSelectOnPush, BasicSelectOnPushPreselected]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([BasicSelectOnPush, BasicSelectOnPushPreselected]))); it('should set the trigger text based on the value when initialized', fakeAsync(() => { const fixture = TestBed.createComponent(BasicSelectOnPushPreselected); @@ -3364,15 +3352,12 @@ describe('MatSelect', () => { }); describe('without Angular forms', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([ - BasicSelectWithoutForms, - BasicSelectWithoutFormsPreselected, - BasicSelectWithoutFormsMultiple, - ]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([ + BasicSelectWithoutForms, + BasicSelectWithoutFormsPreselected, + BasicSelectWithoutFormsMultiple, + ]))); it('should set the value when options are clicked', fakeAsync(() => { const fixture = TestBed.createComponent(BasicSelectWithoutForms); @@ -3743,16 +3728,13 @@ describe('MatSelect', () => { }); describe('positioning', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([ - BasicSelect, - MultiSelect, - SelectWithGroups, - SelectWithIndirectDescendantGroups, - ]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([ + BasicSelect, + MultiSelect, + SelectWithGroups, + SelectWithIndirectDescendantGroups, + ]))); beforeEach(inject([ViewportRuler], (vr: ViewportRuler) => { viewportRuler = vr; @@ -4682,11 +4664,8 @@ describe('MatSelect', () => { }); describe('with multiple selection', () => { - beforeEach( - waitForAsync(() => - configureMatSelectTestingModule([MultiSelect, MultiSelectWithLotsOfOptions]), - ), - ); + beforeEach(waitForAsync(() => + configureMatSelectTestingModule([MultiSelect, MultiSelectWithLotsOfOptions]))); let fixture: ComponentFixture; let testInstance: MultiSelect; diff --git a/src/material/sidenav/drawer.spec.ts b/src/material/sidenav/drawer.spec.ts index 9e7e12bd2f2e..8ec61d14b97d 100644 --- a/src/material/sidenav/drawer.spec.ts +++ b/src/material/sidenav/drawer.spec.ts @@ -19,27 +19,25 @@ import {CdkScrollable} from '@angular/cdk/scrolling'; import {CommonModule} from '@angular/common'; describe('MatDrawer', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatSidenavModule, A11yModule, NoopAnimationsModule, CommonModule], - declarations: [ - BasicTestApp, - DrawerContainerNoDrawerTestApp, - DrawerSetToOpenedFalse, - DrawerSetToOpenedTrue, - DrawerDynamicPosition, - DrawerWithFocusableElements, - DrawerOpenBinding, - DrawerWithoutFocusableElements, - IndirectDescendantDrawer, - NestedDrawerContainers, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatSidenavModule, A11yModule, NoopAnimationsModule, CommonModule], + declarations: [ + BasicTestApp, + DrawerContainerNoDrawerTestApp, + DrawerSetToOpenedFalse, + DrawerSetToOpenedTrue, + DrawerDynamicPosition, + DrawerWithFocusableElements, + DrawerOpenBinding, + DrawerWithoutFocusableElements, + IndirectDescendantDrawer, + NestedDrawerContainers, + ], + }); + + TestBed.compileComponents(); + })); describe('methods', () => { it('should be able to open', fakeAsync(() => { @@ -800,24 +798,22 @@ describe('MatDrawer', () => { }); describe('MatDrawerContainer', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatSidenavModule, A11yModule, NoopAnimationsModule], - declarations: [ - DrawerContainerTwoDrawerTestApp, - DrawerDelayed, - DrawerSetToOpenedTrue, - DrawerContainerStateChangesTestApp, - AutosizeDrawer, - BasicTestApp, - DrawerContainerWithContent, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatSidenavModule, A11yModule, NoopAnimationsModule], + declarations: [ + DrawerContainerTwoDrawerTestApp, + DrawerDelayed, + DrawerSetToOpenedTrue, + DrawerContainerStateChangesTestApp, + AutosizeDrawer, + BasicTestApp, + DrawerContainerWithContent, + ], + }); + + TestBed.compileComponents(); + })); it('should be able to open and close all drawers', fakeAsync(() => { const fixture = TestBed.createComponent(DrawerContainerTwoDrawerTestApp); diff --git a/src/material/sidenav/sidenav.spec.ts b/src/material/sidenav/sidenav.spec.ts index 6f11f8e8cd50..d1d5604178c7 100644 --- a/src/material/sidenav/sidenav.spec.ts +++ b/src/material/sidenav/sidenav.spec.ts @@ -6,20 +6,14 @@ import {By} from '@angular/platform-browser'; import {CommonModule} from '@angular/common'; describe('MatSidenav', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatSidenavModule, NoopAnimationsModule, CommonModule], - declarations: [ - SidenavWithFixedPosition, - IndirectDescendantSidenav, - NestedSidenavContainers, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatSidenavModule, NoopAnimationsModule, CommonModule], + declarations: [SidenavWithFixedPosition, IndirectDescendantSidenav, NestedSidenavContainers], + }); + + TestBed.compileComponents(); + })); it('should be fixed position when in fixed mode', () => { const fixture = TestBed.createComponent(SidenavWithFixedPosition); diff --git a/src/material/sort/sort.spec.ts b/src/material/sort/sort.spec.ts index dccadfb60130..6277d444d6b9 100644 --- a/src/material/sort/sort.spec.ts +++ b/src/material/sort/sort.spec.ts @@ -1,18 +1,6 @@ import {CollectionViewer, DataSource} from '@angular/cdk/collections'; -import {CdkTableModule} from '@angular/cdk/table'; -import { - createFakeEvent, - createMouseEvent, - dispatchMouseEvent, - wrappedErrorMessage, -} from '../../cdk/testing/private'; import {Component, ElementRef, ViewChild} from '@angular/core'; -import {waitForAsync, ComponentFixture, fakeAsync, TestBed, tick} from '@angular/core/testing'; -import {NoopAnimationsModule} from '@angular/platform-browser/animations'; -import {By} from '@angular/platform-browser'; -import {Observable} from 'rxjs'; -import {map} from 'rxjs/operators'; -import {MatTableModule} from '../table/index'; +import {ComponentFixture, TestBed, fakeAsync, tick, waitForAsync} from '@angular/core/testing'; import { MAT_SORT_DEFAULT_OPTIONS, MatSort, @@ -21,6 +9,12 @@ import { Sort, SortDirection, } from './index'; +import { + createFakeEvent, + createMouseEvent, + dispatchMouseEvent, + wrappedErrorMessage, +} from '../../cdk/testing/private'; import { getSortDuplicateSortableIdError, getSortHeaderMissingIdError, @@ -28,27 +22,32 @@ import { getSortInvalidDirectionError, } from './sort-errors'; +import {By} from '@angular/platform-browser'; +import {CdkTableModule} from '@angular/cdk/table'; +import {MatTableModule} from '../table/index'; +import {NoopAnimationsModule} from '@angular/platform-browser/animations'; +import {Observable} from 'rxjs'; +import {map} from 'rxjs/operators'; + describe('MatSort', () => { describe('without default options', () => { let fixture: ComponentFixture; let component: SimpleMatSortApp; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatSortModule, MatTableModule, CdkTableModule, NoopAnimationsModule], - declarations: [ - SimpleMatSortApp, - CdkTableMatSortApp, - MatTableMatSortApp, - MatSortHeaderMissingMatSortApp, - MatSortDuplicateMatSortableIdsApp, - MatSortableMissingIdApp, - MatSortableInvalidDirection, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatSortModule, MatTableModule, CdkTableModule, NoopAnimationsModule], + declarations: [ + SimpleMatSortApp, + CdkTableMatSortApp, + MatTableMatSortApp, + MatSortHeaderMissingMatSortApp, + MatSortDuplicateMatSortableIdsApp, + MatSortableMissingIdApp, + MatSortableInvalidDirection, + ], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(SimpleMatSortApp); @@ -449,22 +448,20 @@ describe('MatSort', () => { let fixture: ComponentFixture; let component: MatSortWithoutExplicitInputs; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatSortModule, MatTableModule, CdkTableModule, NoopAnimationsModule], - declarations: [MatSortWithoutExplicitInputs], - providers: [ - { - provide: MAT_SORT_DEFAULT_OPTIONS, - useValue: { - disableClear: true, - }, + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatSortModule, MatTableModule, CdkTableModule, NoopAnimationsModule], + declarations: [MatSortWithoutExplicitInputs], + providers: [ + { + provide: MAT_SORT_DEFAULT_OPTIONS, + useValue: { + disableClear: true, }, - ], - }).compileComponents(); - }), - ); + }, + ], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(MatSortWithoutExplicitInputs); diff --git a/src/material/table/table-data-source.spec.ts b/src/material/table/table-data-source.spec.ts index c67fc10f972e..1f03e4768ca6 100644 --- a/src/material/table/table-data-source.spec.ts +++ b/src/material/table/table-data-source.spec.ts @@ -5,14 +5,12 @@ import {NoopAnimationsModule} from '@angular/platform-browser/animations'; import {Component, ViewChild} from '@angular/core'; describe('MatTableDataSource', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatSortModule, NoopAnimationsModule], - declarations: [MatSortApp], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatSortModule, NoopAnimationsModule], + declarations: [MatSortApp], + }).compileComponents(); + })); describe('sort', () => { let dataSource: MatTableDataSource; diff --git a/src/material/table/table.spec.ts b/src/material/table/table.spec.ts index 0b5d0cb14069..74c0a56a74fa 100644 --- a/src/material/table/table.spec.ts +++ b/src/material/table/table.spec.ts @@ -17,24 +17,22 @@ import {MatTable} from './table'; import {MatTableDataSource} from './table-data-source'; describe('MatTable', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatTableModule, MatPaginatorModule, MatSortModule, NoopAnimationsModule], - declarations: [ - MatTableApp, - MatTableWithWhenRowApp, - ArrayDataSourceMatTableApp, - NativeHtmlTableApp, - MatTableWithSortApp, - MatTableWithPaginatorApp, - StickyTableApp, - TableWithNgContainerRow, - NestedHtmlTableApp, - ], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatTableModule, MatPaginatorModule, MatSortModule, NoopAnimationsModule], + declarations: [ + MatTableApp, + MatTableWithWhenRowApp, + ArrayDataSourceMatTableApp, + NativeHtmlTableApp, + MatTableWithSortApp, + MatTableWithPaginatorApp, + StickyTableApp, + TableWithNgContainerRow, + NestedHtmlTableApp, + ], + }).compileComponents(); + })); describe('with basic data source', () => { it('should be able to create a table with the right content and without when row', () => { diff --git a/src/material/table/text-column.spec.ts b/src/material/table/text-column.spec.ts index b8359ae8c84b..5bbb1f484ae0 100644 --- a/src/material/table/text-column.spec.ts +++ b/src/material/table/text-column.spec.ts @@ -7,14 +7,12 @@ describe('MatTextColumn', () => { let fixture: ComponentFixture; let tableElement: HTMLElement; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatTableModule], - declarations: [BasicTextColumnApp], - }).compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatTableModule], + declarations: [BasicTextColumnApp], + }).compileComponents(); + })); beforeEach(() => { fixture = TestBed.createComponent(BasicTextColumnApp); diff --git a/src/material/tabs/tab-body.spec.ts b/src/material/tabs/tab-body.spec.ts index 2c83452496b6..f787012cc4b4 100644 --- a/src/material/tabs/tab-body.spec.ts +++ b/src/material/tabs/tab-body.spec.ts @@ -14,18 +14,16 @@ describe('MatTabBody', () => { let dir: Direction = 'ltr'; let dirChange: Subject = new Subject(); - beforeEach( - waitForAsync(() => { - dir = 'ltr'; - TestBed.configureTestingModule({ - imports: [CommonModule, PortalModule, MatRippleModule, NoopAnimationsModule], - declarations: [MatTabBody, MatTabBodyPortal, SimpleTabBodyApp], - providers: [{provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}], - }); + beforeEach(waitForAsync(() => { + dir = 'ltr'; + TestBed.configureTestingModule({ + imports: [CommonModule, PortalModule, MatRippleModule, NoopAnimationsModule], + declarations: [MatTabBody, MatTabBodyPortal, SimpleTabBodyApp], + providers: [{provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('when initialized as center', () => { let fixture: ComponentFixture; diff --git a/src/material/tabs/tab-group.spec.ts b/src/material/tabs/tab-group.spec.ts index 6e0f7b530845..cc3df1a48bd9 100644 --- a/src/material/tabs/tab-group.spec.ts +++ b/src/material/tabs/tab-group.spec.ts @@ -96,27 +96,24 @@ describe('MatTabGroup', () => { })); // Note: needs to be `async` in order to fail when we expect it to. - it( - 'should set to correct tab on fast change', - waitForAsync(() => { - const component = fixture.componentInstance; - component.selectedIndex = 0; + it('should set to correct tab on fast change', waitForAsync(() => { + const component = fixture.componentInstance; + component.selectedIndex = 0; + fixture.detectChanges(); + + setTimeout(() => { + component.selectedIndex = 1; fixture.detectChanges(); setTimeout(() => { - component.selectedIndex = 1; + component.selectedIndex = 0; fixture.detectChanges(); - - setTimeout(() => { - component.selectedIndex = 0; - fixture.detectChanges(); - fixture.whenStable().then(() => { - expect(component.selectedIndex).toBe(0); - }); - }, 1); + fixture.whenStable().then(() => { + expect(component.selectedIndex).toBe(0); + }); }, 1); - }), - ); + }, 1); + })); it('should change tabs based on selectedIndex', fakeAsync(() => { const component = fixture.componentInstance; diff --git a/src/material/tabs/tab-header.spec.ts b/src/material/tabs/tab-header.spec.ts index 93c10048710f..d86c06fa6f44 100644 --- a/src/material/tabs/tab-header.spec.ts +++ b/src/material/tabs/tab-header.spec.ts @@ -30,17 +30,15 @@ describe('MatTabHeader', () => { let fixture: ComponentFixture; let appComponent: SimpleTabHeaderApp; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [CommonModule, PortalModule, MatRippleModule, ScrollingModule, ObserversModule], - declarations: [MatTabHeader, MatInkBar, MatTabLabelWrapper, SimpleTabHeaderApp], - providers: [ViewportRuler], - }); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [CommonModule, PortalModule, MatRippleModule, ScrollingModule, ObserversModule], + declarations: [MatTabHeader, MatInkBar, MatTabLabelWrapper, SimpleTabHeaderApp], + providers: [ViewportRuler], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('focusing', () => { let tabListContainer: HTMLElement; diff --git a/src/material/tabs/tab-nav-bar/tab-nav-bar.spec.ts b/src/material/tabs/tab-nav-bar/tab-nav-bar.spec.ts index ba4c4f1e8d0a..74dd793744a3 100644 --- a/src/material/tabs/tab-nav-bar/tab-nav-bar.spec.ts +++ b/src/material/tabs/tab-nav-bar/tab-nav-bar.spec.ts @@ -1,45 +1,44 @@ -import {SPACE} from '@angular/cdk/keycodes'; -import {waitForAsync, ComponentFixture, fakeAsync, TestBed, tick} from '@angular/core/testing'; -import {Component, ViewChild, ViewChildren, QueryList} from '@angular/core'; +import {Component, QueryList, ViewChild, ViewChildren} from '@angular/core'; +import {ComponentFixture, TestBed, fakeAsync, tick, waitForAsync} from '@angular/core/testing'; +import {Direction, Directionality} from '@angular/cdk/bidi'; import {MAT_RIPPLE_GLOBAL_OPTIONS, RippleGlobalOptions} from '@angular/material/core'; -import {By} from '@angular/platform-browser'; +import {MatTabLink, MatTabNav, MatTabsModule} from '../index'; import { dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent, } from '../../../cdk/testing/private'; -import {Direction, Directionality} from '@angular/cdk/bidi'; + +import {By} from '@angular/platform-browser'; +import {SPACE} from '@angular/cdk/keycodes'; import {Subject} from 'rxjs'; -import {MatTabLink, MatTabNav, MatTabsModule} from '../index'; describe('MatTabNavBar', () => { let dir: Direction = 'ltr'; let dirChange = new Subject(); let globalRippleOptions: RippleGlobalOptions; - beforeEach( - waitForAsync(() => { - globalRippleOptions = {}; - - TestBed.configureTestingModule({ - imports: [MatTabsModule], - declarations: [ - SimpleTabNavBarTestApp, - TabLinkWithNgIf, - TabLinkWithTabIndexBinding, - TabLinkWithNativeTabindexAttr, - TabBarWithInactiveTabsOnInit, - TabBarWithPanel, - ], - providers: [ - {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, - {provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}, - ], - }); + beforeEach(waitForAsync(() => { + globalRippleOptions = {}; + + TestBed.configureTestingModule({ + imports: [MatTabsModule], + declarations: [ + SimpleTabNavBarTestApp, + TabLinkWithNgIf, + TabLinkWithTabIndexBinding, + TabLinkWithNativeTabindexAttr, + TabBarWithInactiveTabsOnInit, + TabBarWithPanel, + ], + providers: [ + {provide: MAT_RIPPLE_GLOBAL_OPTIONS, useFactory: () => globalRippleOptions}, + {provide: Directionality, useFactory: () => ({value: dir, change: dirChange})}, + ], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('basic behavior', () => { let fixture: ComponentFixture; diff --git a/src/material/toolbar/toolbar.spec.ts b/src/material/toolbar/toolbar.spec.ts index d4e12106d2a3..524ff148a570 100644 --- a/src/material/toolbar/toolbar.spec.ts +++ b/src/material/toolbar/toolbar.spec.ts @@ -5,21 +5,19 @@ import {CommonModule} from '@angular/common'; import {MatToolbarModule} from './index'; describe('MatToolbar', () => { - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatToolbarModule, CommonModule], - declarations: [ - ToolbarSingleRow, - ToolbarMultipleRows, - ToolbarMixedRowModes, - ToolbarMultipleIndirectRows, - ], - }); - - TestBed.compileComponents(); - }), - ); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatToolbarModule, CommonModule], + declarations: [ + ToolbarSingleRow, + ToolbarMultipleRows, + ToolbarMixedRowModes, + ToolbarMultipleIndirectRows, + ], + }); + + TestBed.compileComponents(); + })); describe('with single row', () => { let fixture: ComponentFixture; diff --git a/src/material/tooltip/tooltip.spec.ts b/src/material/tooltip/tooltip.spec.ts index ec96e22c6c16..4bc23b88c980 100644 --- a/src/material/tooltip/tooltip.spec.ts +++ b/src/material/tooltip/tooltip.spec.ts @@ -50,41 +50,39 @@ describe('MatTooltip', () => { let platform: Platform; let focusMonitor: FocusMonitor; - beforeEach( - waitForAsync(() => { - TestBed.configureTestingModule({ - imports: [MatTooltipModule, OverlayModule], - declarations: [ - BasicTooltipDemo, - ScrollableTooltipDemo, - OnPushTooltipDemo, - DynamicTooltipsDemo, - TooltipOnTextFields, - TooltipOnDraggableElement, - DataBoundAriaLabelTooltip, - ], - providers: [ - { - provide: Directionality, - useFactory: () => { - return (dir = {value: 'ltr', change: new Subject()}); - }, + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + imports: [MatTooltipModule, OverlayModule], + declarations: [ + BasicTooltipDemo, + ScrollableTooltipDemo, + OnPushTooltipDemo, + DynamicTooltipsDemo, + TooltipOnTextFields, + TooltipOnDraggableElement, + DataBoundAriaLabelTooltip, + ], + providers: [ + { + provide: Directionality, + useFactory: () => { + return (dir = {value: 'ltr', change: new Subject()}); }, - ], - }); + }, + ], + }); - TestBed.compileComponents(); + TestBed.compileComponents(); - inject( - [OverlayContainer, FocusMonitor, Platform], - (oc: OverlayContainer, fm: FocusMonitor, pl: Platform) => { - overlayContainerElement = oc.getContainerElement(); - focusMonitor = fm; - platform = pl; - }, - )(); - }), - ); + inject( + [OverlayContainer, FocusMonitor, Platform], + (oc: OverlayContainer, fm: FocusMonitor, pl: Platform) => { + overlayContainerElement = oc.getContainerElement(); + focusMonitor = fm; + platform = pl; + }, + )(); + })); describe('basic usage', () => { let fixture: ComponentFixture; @@ -319,25 +317,22 @@ describe('MatTooltip', () => { expect(tooltipDirective._isTooltipVisible()).toBe(false); })); - it( - 'should not show if hide is called before delay finishes', - waitForAsync(() => { - assertTooltipInstance(tooltipDirective, false); + it('should not show if hide is called before delay finishes', waitForAsync(() => { + assertTooltipInstance(tooltipDirective, false); - const tooltipDelay = 1000; + const tooltipDelay = 1000; - tooltipDirective.show(tooltipDelay); - expect(tooltipDirective._isTooltipVisible()).toBe(false); + tooltipDirective.show(tooltipDelay); + expect(tooltipDirective._isTooltipVisible()).toBe(false); - fixture.detectChanges(); - expect(overlayContainerElement.textContent).toContain(''); - tooltipDirective.hide(); + fixture.detectChanges(); + expect(overlayContainerElement.textContent).toContain(''); + tooltipDirective.hide(); - fixture.whenStable().then(() => { - expect(tooltipDirective._isTooltipVisible()).toBe(false); - }); - }), - ); + fixture.whenStable().then(() => { + expect(tooltipDirective._isTooltipVisible()).toBe(false); + }); + })); it('should not show tooltip if message is not present or empty', () => { assertTooltipInstance(tooltipDirective, false); diff --git a/src/youtube-player/youtube-player.spec.ts b/src/youtube-player/youtube-player.spec.ts index bf12447dee79..ba5800a9f092 100644 --- a/src/youtube-player/youtube-player.spec.ts +++ b/src/youtube-player/youtube-player.spec.ts @@ -15,22 +15,20 @@ describe('YoutubePlayer', () => { let testComponent: TestApp; let events: Required; - beforeEach( - waitForAsync(() => { - const fake = createFakeYtNamespace(); - playerCtorSpy = fake.playerCtorSpy; - playerSpy = fake.playerSpy; - window.YT = fake.namespace; - events = fake.events; - - TestBed.configureTestingModule({ - imports: [YouTubePlayerModule], - declarations: [TestApp, StaticStartEndSecondsApp, NoEventsApp], - }); + beforeEach(waitForAsync(() => { + const fake = createFakeYtNamespace(); + playerCtorSpy = fake.playerCtorSpy; + playerSpy = fake.playerSpy; + window.YT = fake.namespace; + events = fake.events; + + TestBed.configureTestingModule({ + imports: [YouTubePlayerModule], + declarations: [TestApp, StaticStartEndSecondsApp, NoEventsApp], + }); - TestBed.compileComponents(); - }), - ); + TestBed.compileComponents(); + })); describe('API ready', () => { beforeEach(() => { diff --git a/yarn.lock b/yarn.lock index 2a32406b2d65..9c43d1179e17 100644 --- a/yarn.lock +++ b/yarn.lock @@ -312,7 +312,7 @@ resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/core@13.3.0": +"@angular/core@13.3.0", "@angular/core@^13.0.0 || ^14.0.0-0": version "13.3.0" resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.3.0.tgz#0c415b298b61183bf464ec0846d0ee0203ae62af" integrity sha512-ZnuIMEK8YFBtthNqrxapYolMp6qRy4Yp/VG+M11YNiuBp/BoYYDjTaknwO8vu36Cn6372zWjcibsknkZMjdBkg== @@ -324,13 +324,6 @@ resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@^13.0.0 || ^14.0.0-0": - version "13.2.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.5.tgz#15f112b2ac4e21f72a3a77ee0db8fb2a1e72bffc" - integrity sha512-4CC69JQbgyETJR6xsQk6hOQqb6fBGZ/Qc333x0hwRDBbGnYE6hQehDibV+Apljea8YjV+NX6VmyOvPvHhtL4PQ== - dependencies: - tslib "^2.3.0" - "@angular/dev-infra-private@https://github.com/angular/dev-infra-private-builds.git#04424ec1cd38a1d12786ffdaa8005645e6640687": version "0.0.0-2e2d1a6beeb26b0cc61c70f157f1dc073cdcf235" resolved "https://github.com/angular/dev-infra-private-builds.git#04424ec1cd38a1d12786ffdaa8005645e6640687" @@ -432,9 +425,9 @@ integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== "@axe-core/webdriverjs@^4.3.2": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@axe-core/webdriverjs/-/webdriverjs-4.4.0.tgz#5a36916af60760f57e8c5739c190d12ce61b432c" - integrity sha512-bds2rUNl3mkUBvX+WoLQl7Vm7ctGAS/8Mz/2ADYAUD7Kf7go5ZijyqUynBvAQTtDld1DVQ3HIlo2VTPrNp8pRw== + version "4.4.2" + resolved "https://registry.yarnpkg.com/@axe-core/webdriverjs/-/webdriverjs-4.4.2.tgz#01a5a0333f7e5d15d7a67704760a4f642fdd6101" + integrity sha512-+dkfu0lXQbIwW6sv331iQLIQ7/DLDzpuQYY5pR5WKwcGyv6/1bePc5kO7TLak2oYDwK8TFbVzZ06yiH0DvnHCQ== dependencies: axe-core "^4.4.1" @@ -452,12 +445,7 @@ dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" - integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== - -"@babel/compat-data@^7.17.7": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== @@ -555,7 +543,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@7.17.7", "@babel/generator@^7.17.0", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": +"@babel/generator@7.17.7", "@babel/generator@^7.16.8", "@babel/generator@^7.17.0", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== @@ -564,15 +552,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.16.8": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" - integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - "@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -588,17 +567,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.17.7": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== @@ -681,11 +650,11 @@ "@babel/types" "^7.16.7" "@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" - integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" + integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.17.0" "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" @@ -694,21 +663,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" - integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/helper-module-transforms@^7.17.7": +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== @@ -754,13 +709,6 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - "@babel/helper-simple-access@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" @@ -802,16 +750,7 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.16.7": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" - integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" - -"@babel/helpers@^7.17.2", "@babel/helpers@^7.17.7": +"@babel/helpers@^7.16.7", "@babel/helpers@^7.17.2", "@babel/helpers@^7.17.7", "@babel/helpers@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== @@ -829,21 +768,11 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.17.8": version "7.17.8" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== -"@babel/parser@^7.16.12": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" - integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== - -"@babel/parser@^7.17.0": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" - integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -1138,9 +1067,9 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz#c445f75819641788a27a0a3a759d9df911df6abc" - integrity sha512-dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" @@ -1207,22 +1136,22 @@ babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" - integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" + integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== dependencies: - "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" + integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== dependencies: "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-module-transforms" "^7.17.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" @@ -1466,9 +1395,9 @@ regenerator-runtime "^0.13.4" "@babel/runtime@^7.8.4": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" - integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" + integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== dependencies: regenerator-runtime "^0.13.4" @@ -1702,7 +1631,7 @@ resolved "https://registry.yarnpkg.com/@firebase/app-types/-/app-types-0.7.0.tgz#c9e16d1b8bed1a991840b8d2a725fb58d0b5899f" integrity sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg== -"@gar/promisify@^1.0.1": +"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== @@ -1752,9 +1681,9 @@ p-defer "^3.0.0" "@grpc/grpc-js@~1.5.0": - version "1.5.7" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.5.7.tgz#c83a5dc1d0cf7b8aa82371cfa7125955d1f25a96" - integrity sha512-RAlSbZ9LXo0wNoHKeUlwP9dtGgVBDUbnBKFpfAv5iSqMG4qWz9um2yLH215+Wow1I48etIa1QMS+WAGmsE/7HQ== + version "1.5.10" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.5.10.tgz#12f0b33b338fad5a0e48ee1d5999b5b08da60bcc" + integrity sha512-++oAubX/7rJzlqH0ShyzDENNNDHYrlttdc3NM40KlaVQDcgGqQknuPoavmyTC+oNUDyxPCX5dHceKhfcgN3tiw== dependencies: "@grpc/proto-loader" "^0.6.4" "@types/node" ">=12.12.47" @@ -2610,6 +2539,14 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" +"@npmcli/fs@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" + integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + "@npmcli/git@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" @@ -2670,13 +2607,13 @@ "@octokit/types" "^6.0.3" "@octokit/core@^3.2.3": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" - integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.6.0.tgz#3376cb9f3008d9b3d110370d90e0a1fcd5fe6085" + integrity sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q== dependencies: "@octokit/auth-token" "^2.4.4" "@octokit/graphql" "^4.5.8" - "@octokit/request" "^5.6.0" + "@octokit/request" "^5.6.3" "@octokit/request-error" "^2.0.5" "@octokit/types" "^6.0.3" before-after-hook "^2.2.0" @@ -2734,7 +2671,7 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^5.6.0": +"@octokit/request@^5.6.0", "@octokit/request@^5.6.3": version "5.6.3" resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.3.tgz#19a022515a5bba965ac06c9d1334514eb50c48b0" integrity sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A== @@ -2764,14 +2701,14 @@ "@octokit/openapi-types" "^11.2.0" "@opentelemetry/api@^1.0.0": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.4.tgz#a167e46c10d05a07ab299fc518793b0cff8f6924" - integrity sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.1.0.tgz#563539048255bbe1a5f4f586a4a10a1bb737f44a" + integrity sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ== "@opentelemetry/semantic-conventions@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.0.1.tgz#9349c3860a53468fa2108b5df09aa843f22dbf94" - integrity sha512-7XU1sfQ8uCVcXLxtAHA8r3qaLJ2oq7sKtEwzZhzuEXqYmjW+n+J4yM3kNo0HQo3Xp1eUe47UM6Wy6yuAvIyllg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.1.1.tgz#8f09355039cf03ecd7a16b4e309c4a47cb8a8d30" + integrity sha512-GdTwDHSaZ6iP5LUdvS/SLUjn3067xn1HcBsLZCh8YOsf22d/YWTBcnFl3buieBP4KiajwHLho4I8HSMDKACBSg== "@phenomnomnominal/tsquery@^4.0.0": version "4.2.0" @@ -2962,6 +2899,11 @@ resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61" integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ== +"@socket.io/component-emitter@~3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz#8863915676f837d9dad7b76f50cb500c1e9422e9" + integrity sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q== + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -3019,9 +2961,9 @@ integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== "@types/babel__core@^7.1.18": - version "7.1.18" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" - integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== + version "7.1.19" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" + integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -3184,9 +3126,9 @@ "@types/node" "*" "@types/google.maps@^3.47.3": - version "3.48.2" - resolved "https://registry.yarnpkg.com/@types/google.maps/-/google.maps-3.48.2.tgz#9e6ca624494b80fc0c0d456d77ff3c163f2fc087" - integrity sha512-ulxQ3eLy3s/l5KChx040FzsecC/2+JFWaF+FxGp628bJjqDL50vkzkRNEy1QlWOxHk5wKFfJvBonQrla/z82oA== + version "3.48.3" + resolved "https://registry.yarnpkg.com/@types/google.maps/-/google.maps-3.48.3.tgz#c554fbd7076c75fdd82dbae0ff3d541f67f5c599" + integrity sha512-JQuLWAEXDorNfarQy22WbIezbPKhLnsTBnDw25vyg61USZLTK8KqE1glNyASKn2v2mUOcEIWFMNHX5hNzjuw/g== "@types/http-cache-semantics@*": version "4.0.1" @@ -3211,19 +3153,19 @@ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/jasmine@^3.10.3": - version "3.10.3" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.10.3.tgz#a89798b3d5a8bd23ca56e855a9aee3e5a93bdaaa" - integrity sha512-SWyMrjgdAUHNQmutvDcKablrJhkDLy4wunTme8oYLjKp41GnHGxMRXr2MQMvy/qy8H3LdzwQk9gH4hZ6T++H8g== + version "3.10.4" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.10.4.tgz#477e91a35e130f2cc5e9ab51565c0d6639729e46" + integrity sha512-7UAoOBYJpaZKmpJ8esMUIMl6pSdReliPQjviOOikWdQ7eVr4Hq8YbpeXyfXFKflZv8ymDFhYdTjVabbP2s4K4Q== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/keyv@*": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.3.tgz#1c9aae32872ec1f20dcdaee89a9f3ba88f465e41" - integrity sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg== + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== dependencies: "@types/node" "*" @@ -3273,9 +3215,9 @@ form-data "^3.0.0" "@types/node@*", "@types/node@>=10.0.0", "@types/node@>=12.12.47", "@types/node@>=13.7.0": - version "17.0.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" - integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== + version "17.0.23" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" + integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== "@types/node@12.20.24": version "12.20.24" @@ -3462,9 +3404,9 @@ integrity sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA== "@types/ws@^8.2.2": - version "8.5.2" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.2.tgz#77e0c2e360e9579da930ffcfa53c5975ea3bdd26" - integrity sha512-VXI82ykONr5tacHEojnErTQk+KQSoYbW1NB6iz6wUwrNd+BqfkfggQNoNdCqhJSzbNumShPERbM+Pc5zpfhlbw== + version "8.5.3" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" + integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== dependencies: "@types/node" "*" @@ -3481,9 +3423,9 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.0", "@types/yargs@^17.0.8": - version "17.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.9.tgz#f1f931a4e5ae2c0134dea10f501088636a50b46a" - integrity sha512-Ci8+4/DOtkHRylcisKmVMtmVO5g7weUVCKcsu1sJvF1bn0wExTmbHmhFKj7AnEm0de800iovGhdSKzYnzbaHpg== + version "17.0.10" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" + integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== dependencies: "@types/yargs-parser" "*" @@ -3833,7 +3775,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@8.10.0, ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0: +ajv@8.10.0: version "8.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== @@ -3863,6 +3805,16 @@ ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6, aj json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" + integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" @@ -3908,9 +3860,9 @@ ansi-regex@^3.0.0: integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== ansi-regex@^5.0.1: version "5.0.1" @@ -4201,13 +4153,13 @@ atob@^2.1.2: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^10.4.2: - version "10.4.2" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" - integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== + version "10.4.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.4.tgz#3e85a245b32da876a893d3ac2ea19f01e7ea5a1e" + integrity sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA== dependencies: - browserslist "^4.19.1" - caniuse-lite "^1.0.30001297" - fraction.js "^4.1.2" + browserslist "^4.20.2" + caniuse-lite "^1.0.30001317" + fraction.js "^4.2.0" normalize-range "^0.1.2" picocolors "^1.0.0" postcss-value-parser "^4.2.0" @@ -4293,7 +4245,7 @@ babel-plugin-polyfill-regenerator@^0.3.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" -backo2@1.0.2: +backo2@1.0.2, backo2@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= @@ -4313,11 +4265,6 @@ balanced-match@^2.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== -base64-arraybuffer@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" - integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= - base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" @@ -4466,9 +4413,9 @@ bl@^4.0.3, bl@^4.1.0: readable-stream "^3.4.0" blakejs@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" - integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== blob@0.0.5: version "0.0.5" @@ -4568,14 +4515,14 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: +braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -browser-sync-client@2.26.13, browser-sync-client@^2.26.13, browser-sync-client@^2.27.7: +browser-sync-client@2.26.13, browser-sync-client@^2.26.13, browser-sync-client@^2.27.9: version "2.26.13" resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.13.tgz#ee5fa3ec36fe2a03f9887553cac6846751c8232d" integrity sha512-p2VbZoYrpuDhkreq+/Sv1MkToHklh7T1OaIntDwpG6Iy2q/XkBcgwPcWjX+WwRNiZjN8MEehxIjEUh12LweLmQ== @@ -4585,16 +4532,16 @@ browser-sync-client@2.26.13, browser-sync-client@^2.26.13, browser-sync-client@^ mitt "^1.1.3" rxjs "^5.5.6" -browser-sync-ui@^2.26.13, browser-sync-ui@^2.27.7: - version "2.27.7" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.7.tgz#38cd65f7ba058544310591ad8ac2e7fdf29934f2" - integrity sha512-Bt4OQpx9p18OIzk0KKyu7jqlvmjacasUlk8ARY3uuIyiFWSBiRgr2i6XY8dEMF14DtbooaEBOpHEu9VCYvMcCw== +browser-sync-ui@^2.26.13, browser-sync-ui@^2.27.9: + version "2.27.9" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.9.tgz#53253383a6d8cbc921c85f290fa330fdb449d76b" + integrity sha512-rsduR2bRIwFvM8CX6iY/Nu5aWub0WB9zfSYg9Le/RV5N5DEyxJYey0VxdfWCnzDOoelassTDzYQo+r0iJno3qw== dependencies: async-each-series "0.1.1" connect-history-api-fallback "^1" immutable "^3" server-destroy "1.0.1" - socket.io-client "^2.4.0" + socket.io-client "^4.4.1" stream-throttle "^0.1.3" browser-sync@2.26.13: @@ -4634,12 +4581,12 @@ browser-sync@2.26.13: yargs "^15.4.1" browser-sync@^2.27.7: - version "2.27.7" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.7.tgz#65ec55d6c6e33283e505e06e5113bc32d9d0a8f0" - integrity sha512-9ElnnA/u+s2Jd+IgY+2SImB+sAEIteHsMG0NR96m7Ph/wztpvJCUpyC2on1KqmG9iAp941j+5jfmd34tEguGbg== + version "2.27.9" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.9.tgz#e0555cb44bd5ede00685e70e108b393d2966874a" + integrity sha512-3zBtggcaZIeU9so4ja9yxk7/CZu9B3DOL6zkxFpzHCHsQmkGBPVXg61jItbeoa+WXgNLnr1sYES/2yQwyEZ2+w== dependencies: - browser-sync-client "^2.27.7" - browser-sync-ui "^2.27.7" + browser-sync-client "^2.27.9" + browser-sync-ui "^2.27.9" bs-recipes "1.3.4" bs-snippet-injector "^2.0.1" chokidar "^3.5.1" @@ -4665,17 +4612,17 @@ browser-sync@^2.27.7: serve-index "1.9.1" serve-static "1.13.2" server-destroy "1.0.1" - socket.io "2.4.0" + socket.io "^4.4.1" ua-parser-js "1.0.2" - yargs "^15.4.1" + yargs "^17.3.1" -browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.9.1: - version "4.20.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.0.tgz#35951e3541078c125d36df76056e94738a52ebe9" - integrity sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ== +browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.19.3, browserslist@^4.20.2, browserslist@^4.9.1: + version "4.20.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" + integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== dependencies: - caniuse-lite "^1.0.30001313" - electron-to-chromium "^1.4.76" + caniuse-lite "^1.0.30001317" + electron-to-chromium "^1.4.84" escalade "^3.1.1" node-releases "^2.0.2" picocolors "^1.0.0" @@ -4819,7 +4766,7 @@ c8@~7.5.0: yargs "^16.0.0" yargs-parser "^20.0.0" -cacache@15.3.0, cacache@^15.0.5, cacache@^15.2.0, cacache@^15.3.0: +cacache@15.3.0, cacache@^15.0.5, cacache@^15.2.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -4867,6 +4814,30 @@ cacache@16.0.1: tar "^6.1.11" unique-filename "^1.1.1" +cacache@^16.0.2: + version "16.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.0.3.tgz#0b6314bde969bd4098b03a5f90a351e8a1483f48" + integrity sha512-eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^1.1.2" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^7.2.0" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.1.11" + unique-filename "^1.1.1" + cacheable-lookup@^5.0.3: version "5.0.4" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" @@ -4969,10 +4940,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001299, caniuse-lite@^1.0.30001313: - version "1.0.30001314" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001314.tgz#65c7f9fb7e4594fca0a333bec1d8939662377596" - integrity sha512-0zaSO+TnCHtHJIbpLroX7nsD+vYuOVjl3uzFbJO1wMVbuveJA0RK2WcQA9ZUIOiO0/ArMiMgHJLxfEZhQiC0kw== +caniuse-lite@^1.0.30001299, caniuse-lite@^1.0.30001317: + version "1.0.30001320" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285" + integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== canonical-path@^1.0.0: version "1.0.0" @@ -5857,10 +5828,10 @@ cssdb@^5.0.0: resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.1.0.tgz#ec728d5f5c0811debd0820cbebda505d43003400" integrity sha512-/vqjXhv1x9eGkE/zO6o8ZOI7dgdZbLVLUGyVRbPgk6YipXbW87YzUCcO+Jrmi5bwJlAH6oD+MNeZyRgXea1GZw== -cssdb@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.4.1.tgz#a2b5955e3283d8df6b6bb86e4107fedaeec1521b" - integrity sha512-R70R/Q1fPlM1D6Y+Kpat0QjiY+aMsY2/8lekdVoYcJ7ZQs9kw71W78FdOMf8DFq975KHQf1089PNg1dLsbAhoA== +cssdb@^6.4.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-6.5.0.tgz#61264b71f29c834f09b59cb3e5b43c8226590122" + integrity sha512-Rh7AAopF2ckPXe/VBcoUS9JrCZNSyc60+KpgE6X25vpVxA32TmiqvExjkfhwP4wGSb6Xe8Z/JIyGqwgx/zZYFA== cssesc@^3.0.0: version "3.0.0" @@ -5914,10 +5885,10 @@ date-fns@^2.28.0: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== -date-format@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.4.tgz#b58036e29e74121fca3e1b3e0dc4a62c65faa233" - integrity sha512-/jyf4rhB17ge328HJuJjAcmRtCsGd+NDeAtahRBTaK6vSPR6MO5HlrAit3Nn7dVjaa6sowW0WXt8yQtLyZQFRg== +date-format@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.6.tgz#f6138b8f17968df9815b3d101fc06b0523f066c5" + integrity sha512-B9vvg5rHuQ8cbUXE/RMWMyX2YA5TecT3jKF5fLtGNlzPlU7zblSPmAm2OImDbWL+LDOQ6pUm+4LOFz+ywS41Zw== debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" @@ -5926,10 +5897,10 @@ debug@2.6.9, debug@^2.2.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.3, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== +debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" @@ -5947,6 +5918,13 @@ debug@4.3.2: dependencies: ms "2.1.2" +debug@4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + debug@^3.1.1, debug@^3.2.6: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -5961,13 +5939,6 @@ debug@~3.1.0: dependencies: ms "2.0.0" -debug@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -6471,9 +6442,9 @@ domhandler@^2.3.0: domelementtype "1" domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" @@ -6613,10 +6584,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.4.76: - version "1.4.77" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.77.tgz#c26e454cb8721d4ebdae3e276c57cd32e51c32ed" - integrity sha512-fiDxw8mO9Ph1Z0bjX2sFTPpi0J0QkOiwOJF+5Q0J0baNc/F9lLePAvDPlnoxvbUYYMizqrKPeotRRkJ9LtxAew== +electron-to-chromium@^1.4.84: + version "1.4.94" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.94.tgz#f19206c977361264a51d53a7ea7ef861a94baa10" + integrity sha512-CoOKsuACoa0PAG3hQXxbh/XDiFcjGuSyGKUi09cjMHOt6RCi7/EXgXhaFF3I+aC89Omudqmkzd0YOQKxwtf/Bg== emoji-regex@^8.0.0: version "8.0.0" @@ -6669,21 +6640,19 @@ engine.io-client@~3.2.0: xmlhttprequest-ssl "~1.5.4" yeast "0.1.2" -engine.io-client@~3.5.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" - integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== +engine.io-client@~6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.1.1.tgz#800d4b9db5487d169686729e5bd887afa78d36b0" + integrity sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g== dependencies: - component-emitter "~1.3.0" - component-inherit "0.0.3" - debug "~3.1.0" - engine.io-parser "~2.2.0" + "@socket.io/component-emitter" "~3.0.0" + debug "~4.3.1" + engine.io-parser "~5.0.0" has-cors "1.1.0" - indexof "0.0.1" parseqs "0.0.6" parseuri "0.0.6" - ws "~7.4.2" - xmlhttprequest-ssl "~1.6.2" + ws "~8.2.3" + xmlhttprequest-ssl "~2.0.0" yeast "0.1.2" engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: @@ -6697,18 +6666,7 @@ engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: blob "0.0.5" has-binary2 "~1.0.2" -engine.io-parser@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" - integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== - dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.4" - blob "0.0.5" - has-binary2 "~1.0.2" - -engine.io-parser@~5.0.3: +engine.io-parser@~5.0.0, engine.io-parser@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09" integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg== @@ -6727,18 +6685,6 @@ engine.io@~3.2.0: engine.io-parser "~2.1.0" ws "~3.3.1" -engine.io@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" - integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== - dependencies: - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - debug "~4.1.0" - engine.io-parser "~2.2.0" - ws "~7.4.2" - engine.io@~6.1.0: version "6.1.3" resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.3.tgz#f156293d011d99a3df5691ac29d63737c3302e6f" @@ -6815,9 +6761,9 @@ es-module-lexer@^0.9.0: integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.56" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.56.tgz#fd76bc935212203a83fef35bb58cddde26ae6c3c" - integrity sha512-YUhqzoMnIjMW5y8FzaMxsCu0eWCwq32GrlwhOhbQmL5OiZReWFm/KvRiYuvqf3CaG/zZ36Kyb4KfVe674cafCQ== + version "0.10.59" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.59.tgz#71038939730eb6f4f165f1421308fb60be363bc6" + integrity sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw== dependencies: es6-iterator "^2.0.3" es6-symbol "^3.1.3" @@ -6860,6 +6806,11 @@ esbuild-android-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.27.tgz#b868bbd9955a92309c69df628d8dd1945478b45c" integrity sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ== +esbuild-android-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.28.tgz#69c7a8a4f4a888eb5584afb035524b0fda7affff" + integrity sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA== + esbuild-android-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.22.tgz#fb051169a63307d958aec85ad596cfc7d7770303" @@ -6870,6 +6821,11 @@ esbuild-android-arm64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.27.tgz#e7d6430555e8e9c505fd87266bbc709f25f1825c" integrity sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ== +esbuild-android-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.28.tgz#110ff82019e75b866b53844c32f19f7933b4ce36" + integrity sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA== + esbuild-darwin-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.22.tgz#615ea0a9de67b57a293a7128d7ac83ee307a856d" @@ -6880,6 +6836,11 @@ esbuild-darwin-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.27.tgz#4dc7484127564e89b4445c0a560a3cb50b3d68e1" integrity sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g== +esbuild-darwin-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.28.tgz#d929ce16035da6047504fe8a71587d2ac9b756ed" + integrity sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q== + esbuild-darwin-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.22.tgz#82054dcfcecb15ccfd237093b8008e7745a99ad9" @@ -6890,6 +6851,11 @@ esbuild-darwin-arm64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.27.tgz#469e59c665f84a8ed323166624c5e7b9b2d22ac1" integrity sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ== +esbuild-darwin-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.28.tgz#75e1cb75c2230c541be1707c6751395fee9f6bbd" + integrity sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw== + esbuild-freebsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.22.tgz#778a818c5b078d5cdd6bb6c0e0797217d196999b" @@ -6900,6 +6866,11 @@ esbuild-freebsd-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.27.tgz#895df03bf5f87094a56c9a5815bf92e591903d70" integrity sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA== +esbuild-freebsd-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.28.tgz#3579fd41f4c090d52e1a9134743e591c6aea49d7" + integrity sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ== + esbuild-freebsd-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.22.tgz#18da93b9f3db2e036f72383bfe73b28b73bb332c" @@ -6910,6 +6881,11 @@ esbuild-freebsd-arm64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.27.tgz#0b72a41a6b8655e9a8c5608f2ec1afdcf6958441" integrity sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA== +esbuild-freebsd-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.28.tgz#de1c102a40005fa9da5160c0242b2de89ffd2d7b" + integrity sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q== + esbuild-linux-32@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.22.tgz#d0d5d9f5bb3536e17ac097e9512019c65b7c0234" @@ -6920,6 +6896,11 @@ esbuild-linux-32@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.27.tgz#43b8ba3803b0bbe7f051869c6a8bf6de1e95de28" integrity sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw== +esbuild-linux-32@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.28.tgz#cdb8ac2000df06044450bf33a93b9d63d61bb669" + integrity sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig== + esbuild-linux-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.22.tgz#2773d540971999ea7f38107ef92fca753f6a8c30" @@ -6930,6 +6911,11 @@ esbuild-linux-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.27.tgz#dc8072097327ecfadba1735562824ce8c05dd0bd" integrity sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg== +esbuild-linux-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.28.tgz#b1e961d42af89dab8c3c0ce86420a7657765f0ae" + integrity sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg== + esbuild-linux-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.22.tgz#5d4480ce6d6bffab1dd76a23158f5a5ab33e7ba4" @@ -6940,6 +6926,11 @@ esbuild-linux-arm64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.27.tgz#c52b58cbe948426b1559910f521b0a3f396f10b8" integrity sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ== +esbuild-linux-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.28.tgz#f69e6ace792a4985b9760b443dbf627e5e3d2126" + integrity sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg== + esbuild-linux-arm@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.22.tgz#c6391b3f7c8fa6d3b99a7e893ce0f45f3a921eef" @@ -6950,6 +6941,11 @@ esbuild-linux-arm@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.27.tgz#df869dbd67d4ee3a04b3c7273b6bd2b233e78a18" integrity sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw== +esbuild-linux-arm@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.28.tgz#9c2fa45578686370a5d782314f321a2c6b641270" + integrity sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg== + esbuild-linux-mips64le@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.22.tgz#2c8dabac355c502e86c38f9f292b3517d8e181f3" @@ -6960,6 +6956,11 @@ esbuild-linux-mips64le@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.27.tgz#a2b646d9df368b01aa970a7b8968be6dd6b01d19" integrity sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A== +esbuild-linux-mips64le@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.28.tgz#99d78f0380640aa7faa2c4c49ac21229bdf33c7c" + integrity sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw== + esbuild-linux-ppc64le@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.22.tgz#69d71b2820d5c94306072dac6094bae38e77d1c0" @@ -6970,6 +6971,11 @@ esbuild-linux-ppc64le@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.27.tgz#9a21af766a0292578a3009c7408b8509cac7cefd" integrity sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA== +esbuild-linux-ppc64le@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.28.tgz#7388fa0c76033b4ca85b74071cb793d41ae77642" + integrity sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw== + esbuild-linux-riscv64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.22.tgz#c0ec0fc3a23624deebf657781550d2329cec4213" @@ -6980,6 +6986,11 @@ esbuild-linux-riscv64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.27.tgz#344a27f91568056a5903ad5841b447e00e78d740" integrity sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg== +esbuild-linux-riscv64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.28.tgz#99e4a8afe4762e927ebe02009e1927e38f3256ab" + integrity sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg== + esbuild-linux-s390x@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.22.tgz#ec2af4572d63336cfb27f5a5c851fb1b6617dd91" @@ -6990,6 +7001,11 @@ esbuild-linux-s390x@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.27.tgz#73a7309bd648a07ef58f069658f989a5096130db" integrity sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg== +esbuild-linux-s390x@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.28.tgz#38a625399ffc78f3b8b555ebe2013347256a9a8a" + integrity sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw== + esbuild-netbsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.22.tgz#0e283278e9fdbaa7f0930f93ee113d7759cd865e" @@ -7000,6 +7016,11 @@ esbuild-netbsd-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.27.tgz#482a587cdbd18a6c264a05136596927deb46c30a" integrity sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q== +esbuild-netbsd-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.28.tgz#fdc09dd69313f42be034276cc780bf60c09266b6" + integrity sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A== + esbuild-openbsd-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.22.tgz#2a73bba04e16d8ef278fbe2be85248e12a2f2cc2" @@ -7010,6 +7031,11 @@ esbuild-openbsd-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.27.tgz#e99f8cdc63f1628747b63edd124d53cf7796468d" integrity sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw== +esbuild-openbsd-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.28.tgz#9d7b0ca421ae580ab945c69c33eabd793262a84c" + integrity sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw== + esbuild-sunos-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.22.tgz#8fe03513b8b2e682a6d79d5e3ca5849651a3c1d8" @@ -7020,6 +7046,11 @@ esbuild-sunos-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.27.tgz#8611d825bcb8239c78d57452e83253a71942f45c" integrity sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg== +esbuild-sunos-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.28.tgz#5b82807ebe435519a2689e1a4d50b8a3cc5c64c0" + integrity sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg== + esbuild-wasm@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.22.tgz#9671d1355473b6688d00fe8ef6fa50274eff5465" @@ -7040,6 +7071,11 @@ esbuild-windows-32@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.27.tgz#c06374206d4d92dd31d4fda299b09f51a35e82f6" integrity sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw== +esbuild-windows-32@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.28.tgz#5cf740782fadc865c00aa0d8388e42012bcf496e" + integrity sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg== + esbuild-windows-64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.22.tgz#d06cf8bbe4945b8bf95a730d871e54a22f635941" @@ -7050,6 +7086,11 @@ esbuild-windows-64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.27.tgz#756631c1d301dfc0d1a887deed2459ce4079582f" integrity sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg== +esbuild-windows-64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.28.tgz#6e3ec1b0225d668a2da21e2ffeff2353b5c9a567" + integrity sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw== + esbuild-windows-arm64@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.22.tgz#f8b1b05c548073be8413a5ecb12d7c2f6e717227" @@ -7060,6 +7101,11 @@ esbuild-windows-arm64@0.14.27: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.27.tgz#ad7e187193dcd18768b16065a950f4441d7173f4" integrity sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg== +esbuild-windows-arm64@0.14.28: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.28.tgz#c527d52ec7d1f868259d0f74ecc4003e8475125d" + integrity sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA== + esbuild@0.14.22: version "0.14.22" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.22.tgz#2b55fde89d7aa5aaaad791816d58ff9dfc5ed085" @@ -7085,7 +7131,7 @@ esbuild@0.14.22: esbuild-windows-64 "0.14.22" esbuild-windows-arm64 "0.14.22" -esbuild@0.14.27, esbuild@^0.14.14: +esbuild@0.14.27: version "0.14.27" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.27.tgz#41fe0f1b6b68b9f77cac025009bc54bb96e616f1" integrity sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q== @@ -7111,6 +7157,32 @@ esbuild@0.14.27, esbuild@^0.14.14: esbuild-windows-64 "0.14.27" esbuild-windows-arm64 "0.14.27" +esbuild@^0.14.14: + version "0.14.28" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.28.tgz#7738635d2ea19e446bd319d83a1802545e6aebb8" + integrity sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q== + optionalDependencies: + esbuild-android-64 "0.14.28" + esbuild-android-arm64 "0.14.28" + esbuild-darwin-64 "0.14.28" + esbuild-darwin-arm64 "0.14.28" + esbuild-freebsd-64 "0.14.28" + esbuild-freebsd-arm64 "0.14.28" + esbuild-linux-32 "0.14.28" + esbuild-linux-64 "0.14.28" + esbuild-linux-arm "0.14.28" + esbuild-linux-arm64 "0.14.28" + esbuild-linux-mips64le "0.14.28" + esbuild-linux-ppc64le "0.14.28" + esbuild-linux-riscv64 "0.14.28" + esbuild-linux-s390x "0.14.28" + esbuild-netbsd-64 "0.14.28" + esbuild-openbsd-64 "0.14.28" + esbuild-sunos-64 "0.14.28" + esbuild-windows-32 "0.14.28" + esbuild-windows-64 "0.14.28" + esbuild-windows-arm64 "0.14.28" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -7924,7 +7996,7 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.1.2: +fraction.js@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== @@ -8073,11 +8145,10 @@ furi@^2.0.0: is-windows "^1.0.2" gauge@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.2.tgz#c3777652f542b6ef62797246e8c7caddecb32cc7" - integrity sha512-aSPRm2CvA9R8QyU5eXMFPd+cYkyxLsXHd2l5/FOH2V/eml//M04G6KZOmTap07O1PvEwNcl2NndyLfK8g3QrKA== + version "4.0.3" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.3.tgz#286cf105c1962c659f0963058fb05116c1b82d3f" + integrity sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw== dependencies: - ansi-regex "^5.0.1" aproba "^1.0.3 || ^2.0.0" color-support "^1.1.3" console-control-strings "^1.1.0" @@ -8316,9 +8387,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.12.1" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" - integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== + version "13.13.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" + integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== dependencies: type-fest "^0.20.2" @@ -8393,9 +8464,9 @@ google-auth-library@^6.1.3: lru-cache "^6.0.0" google-auth-library@^7.0.0, google-auth-library@^7.6.1: - version "7.14.0" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.0.tgz#9d6a20592f7b4d4c463cd3e93934c4b1711d5dc6" - integrity sha512-or8r7qUqGVI3W8lVSdPh0ZpeFyQHeE73g5c0p+bLNTTUFXJ+GSeDQmZRZ2p4H8cF/RJYa4PNvi/A1ar1uVNLFA== + version "7.14.1" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.1.tgz#e3483034162f24cc71b95c8a55a210008826213c" + integrity sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA== dependencies: arrify "^2.0.0" base64-js "^1.3.0" @@ -8866,9 +8937,9 @@ http-proxy-agent@^5.0.0: debug "4" http-proxy-middleware@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz#5df04f69a89f530c2284cd71eeaa51ba52243289" - integrity sha512-1bloEwnrHMnCoO/Gcwbz7eSVvW50KPES01PecpagI+YLNLci4AcuKJrujW4Mc3sBLpFxMSlsLNHS5Nl/lvrTPA== + version "2.0.4" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.4.tgz#03af0f4676d172ae775cb5c33f592f40e1a4e07a" + integrity sha512-m/4FxX17SUvz4lJ5WPXOHDUuCwIqXLfLHs1s0uZ3oYjhoXlx9csYxaOa0ElDEJ+h8Q4iJ1s+lTMbiCa4EXIJqg== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -9089,6 +9160,26 @@ inquirer@8.2.0: strip-ansi "^6.0.0" through "^2.3.6" +inquirer@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.1.tgz#e00022e3e8930a92662f760f020686530a84671d" + integrity sha512-pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + inquirer@^8.2.0: version "8.2.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.2.tgz#1310517a87a0814d25336c78a20b44c3d9b7629d" @@ -9532,9 +9623,9 @@ isarray@~1.0.0: integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isbinaryfile@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== isexe@^2.0.0: version "2.0.0" @@ -9784,11 +9875,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonc-parser@3.0.0, jsonc-parser@^3.0.0: version "3.0.0" @@ -9908,9 +9997,9 @@ karma-browserstack-launcher@^1.6.0: q "~1.5.0" karma-chrome-launcher@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" - integrity sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" + integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== dependencies: which "^1.2.1" @@ -10390,15 +10479,15 @@ log-symbols@^4.1.0: is-unicode-supported "^0.1.0" log4js@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.2.tgz#45ec783835acc525b397f52cf086e26994fe3b70" - integrity sha512-k80cggS2sZQLBwllpT1p06GtfvzMmSdUCkW96f0Hj83rKGJDAu2vZjt9B9ag2vx8Zz1IXzxoLgqvRJCdMKybGg== + version "6.4.4" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.4.tgz#c9bc75569f3f40bba22fe1bd0677afa7a6a13bac" + integrity sha512-ncaWPsuw9Vl1CKA406hVnJLGQKy1OHx6buk8J4rE2lVW+NW5Y82G5/DIloO7NkqLOUtNPEANaWC1kZYVjXssPw== dependencies: - date-format "^4.0.4" - debug "^4.3.3" + date-format "^4.0.6" + debug "^4.3.4" flatted "^3.2.5" rfdc "^1.3.0" - streamroller "^3.0.4" + streamroller "^3.0.6" logform@^2.3.2, logform@^2.4.0: version "2.4.0" @@ -10482,12 +10571,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.4.1.tgz#afe07e885ef0cd5bf99f62f4fa7545d48746d779" - integrity sha512-NCD7/WRlFmADccuHjsRUYqdluYBr//n/O0fesCb/n52FoGcgKh8o4Dpm7YIbZwVcDs8rPBQbCZLmWWsp6m+xGQ== - -lru-cache@^7.5.1: +lru-cache@^7.5.1, lru-cache@^7.7.1: version "7.7.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== @@ -10581,20 +10665,20 @@ make-error@^1.1.1: integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-fetch-happen@^10.0.1: - version "10.0.4" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.4.tgz#309823c7a2b4c947465274220e169112c977b94f" - integrity sha512-CiReW6usy3UXby5N46XjWfLPFPq1glugCszh18I0NYJCwr129ZAx9j3Dlv+cRsK0q3VjlVysEzhdtdw2+NhdYA== + version "10.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.0.tgz#7232ef7002a635c04d4deac325df144f21871408" + integrity sha512-HeP4QlkadP/Op+hE+Une1070kcyN85FshQObku3/rmzRh4zDcKXA19d2L3AQR6UoaX3uZmhSOpTLH15b1vOFvQ== dependencies: agentkeepalive "^4.2.1" - cacache "^15.3.0" + cacache "^16.0.2" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" is-lambda "^1.0.1" - lru-cache "^7.4.0" + lru-cache "^7.7.1" minipass "^3.1.6" minipass-collect "^1.0.2" - minipass-fetch "^2.0.1" + minipass-fetch "^2.0.3" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" negotiator "^0.6.3" @@ -10798,29 +10882,24 @@ methods@~1.1.2: integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + braces "^3.0.2" + picomatch "^2.3.1" -"mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@^2.1.16, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.51.0" + mime-db "1.52.0" mime@1.4.1: version "1.4.1" @@ -10869,6 +10948,13 @@ mini-css-extract-plugin@2.5.3: dependencies: schema-utils "^4.0.0" +mini-css-extract-plugin@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.0.tgz#578aebc7fc14d32c0ad304c2c34f08af44673f5e" + integrity sha512-ndG8nxCEnAemsg4FSgS+yNyHKgkTB4nPKqCOgh65j3/30qqC5RaSQQXMm++Y6sb6E1zRSxPkztj9fqxhS1Eo6w== + dependencies: + schema-utils "^4.0.0" + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -10888,10 +10974,10 @@ minimatch@3.0.4: dependencies: brace-expansion "^1.1.7" -minimatch@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.0.tgz#281d8402aaaeed18a9e8406ad99c46a19206c6ef" - integrity sha512-EU+GCVjXD00yOUf1TwAHVP7v3fBD3A8RkkPYsWWKGWesxM/572sL53wJQnHxquHlRhYUV36wHkqrN8cdikKc2g== +minimatch@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" + integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== dependencies: brace-expansion "^2.0.1" @@ -10904,10 +10990,10 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" @@ -10927,10 +11013,10 @@ minipass-fetch@^1.3.2, minipass-fetch@^1.4.1: optionalDependencies: encoding "^0.1.12" -minipass-fetch@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.0.2.tgz#5ea5fb9a2e24ccd3cfb489563540bb4024fc6c31" - integrity sha512-M63u5yWX0yxY1C3DcLVY1xWai0pNM3qa1xCMXFgdejY5F/NTmyzNVHGcBxKerX51lssqxwWWTjpg/ZPuD39gOQ== +minipass-fetch@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" + integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== dependencies: minipass "^3.1.6" minipass-sized "^1.0.3" @@ -11193,10 +11279,10 @@ node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-forge@^1.0.0, node-forge@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" - integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== +node-forge@^1, node-forge@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.0.tgz#37a874ea723855f37db091e6c186e5b67a01d4b2" + integrity sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA== node-gyp-build@^4.2.2: version "4.3.0" @@ -11969,7 +12055,7 @@ picocolors@^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.2, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -12048,13 +12134,6 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" -postcss-clamp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.0.0.tgz#766d3dbaa2dc56e8bea1b690291b632c0c5bf728" - integrity sha512-FsMmeBZtymFN7Jtlnw9is8I4nB+qEEb/qS0ZLTIqcKiwZyHBq44Yhv29Q+VQsTGHYFqIr/s/9tqvNM7j+j1d+g== - dependencies: - postcss-value-parser "^4.2.0" - postcss-color-functional-notation@^4.2.1, postcss-color-functional-notation@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.2.tgz#f59ccaeb4ee78f1b32987d43df146109cc743073" @@ -12082,9 +12161,9 @@ postcss-custom-media@^8.0.0: integrity sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g== postcss-custom-properties@^12.1.2, postcss-custom-properties@^12.1.4: - version "12.1.4" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.4.tgz#e3d8a8000f28094453b836dff5132385f2862285" - integrity sha512-i6AytuTCoDLJkWN/MtAIGriJz3j7UX6bV7Z5t+KgFz+dwZS15/mlTJY1S0kRizlk6ba0V8u8hN50Fz5Nm7tdZw== + version "12.1.5" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.5.tgz#e669cfff89b0ea6fc85c45864a32b450cb6b196f" + integrity sha512-FHbbB/hRo/7cxLGkc2NS7cDRIDN1oFqQnUKBiyh4b/gwk8DD8udvmRDpUhEK836kB8ggUCieHVOvZDnF9XhI3g== dependencies: postcss-value-parser "^4.2.0" @@ -12111,9 +12190,9 @@ postcss-double-position-gradients@^3.0.4, postcss-double-position-gradients@^3.1 postcss-value-parser "^4.2.0" postcss-env-function@^4.0.4, postcss-env-function@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.5.tgz#b9614d50abd91e4c88a114644a9766880dabe393" - integrity sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA== + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" + integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== dependencies: postcss-value-parser "^4.2.0" @@ -12290,10 +12369,10 @@ postcss-preset-env@7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-preset-env@7.4.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.1.tgz#ca6131c6e0d0e0bcc429dbef3e8f8d03250041ea" - integrity sha512-UvBVvPJ2vb4odAtckSbryndyBz+Me1q8wawqq0qznpDXy188I+8W5Sa929sCPqw2/NSYnqpHJbo41BKso3+I9A== +postcss-preset-env@7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.4.2.tgz#2ff3e4787bd9d89710659535855d6ce85ce6110b" + integrity sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA== dependencies: "@csstools/postcss-color-function" "^1.0.2" "@csstools/postcss-font-format-keywords" "^1.0.0" @@ -12304,13 +12383,12 @@ postcss-preset-env@7.4.1: "@csstools/postcss-oklab-function" "^1.0.1" "@csstools/postcss-progressive-custom-properties" "^1.2.0" autoprefixer "^10.4.2" - browserslist "^4.19.1" + browserslist "^4.19.3" css-blank-pseudo "^3.0.3" css-has-pseudo "^3.0.4" css-prefers-color-scheme "^6.0.3" - cssdb "^6.3.1" + cssdb "^6.4.0" postcss-attribute-case-insensitive "^5.0.0" - postcss-clamp "^4.0.0" postcss-color-functional-notation "^4.2.2" postcss-color-hex-alpha "^8.0.3" postcss-color-rebeccapurple "^7.0.2" @@ -12337,6 +12415,7 @@ postcss-preset-env@7.4.1: postcss-pseudo-class-any-link "^7.1.1" postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" + postcss-value-parser "^4.2.0" postcss-pseudo-class-any-link@^7.0.2, postcss-pseudo-class-any-link@^7.1.1: version "7.1.1" @@ -12394,7 +12473,7 @@ postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@8.4.12, postcss@^8.1.7, postcss@^8.2.14, postcss@^8.3.7, postcss@^8.4.5: +postcss@8.4.12, postcss@^8.1.7, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.3.7, postcss@^8.4.12, postcss@^8.4.5, postcss@^8.4.7: version "8.4.12" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== @@ -12412,15 +12491,6 @@ postcss@8.4.5: picocolors "^1.0.0" source-map-js "^1.0.1" -postcss@^8.2.15, postcss@^8.4.6: - version "8.4.8" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" - integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== - dependencies: - nanoid "^3.3.1" - picocolors "^1.0.0" - source-map-js "^1.0.2" - precinct@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/precinct/-/precinct-7.1.0.tgz#a0311e0b59029647eaf57c2d30b8efa9c85d129a" @@ -12475,9 +12545,9 @@ prepend-http@^2.0.0: integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= prettier@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== + version "2.6.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" + integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== pretty-bytes@^5.3.0: version "5.6.0" @@ -13288,9 +13358,9 @@ rollup-plugin-sourcemaps@^0.6.3: source-map-resolve "^0.6.0" rollup@^2.66.1: - version "2.70.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.0.tgz#17a92e5938e92a251b962352e904c9f558230ec7" - integrity sha512-iEzYw+syFxQ0X9RefVwhr8BA2TNJsTaX8L8dhyeyMECDbmiba+8UQzcu+xZdji0+JQ+s7kouQnw+9Oz5M19XKA== + version "2.70.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.1.tgz#824b1f1f879ea396db30b0fc3ae8d2fead93523e" + integrity sha512-CRYsI5EuzLbXdxC6RnYhOuRdtz4bhejPMSWjsFLfVM/7w/85n2szZv6yExqUXsBdz5KT8eoubeyDUDjhLHEslA== optionalDependencies: fsevents "~2.3.2" @@ -13370,10 +13440,10 @@ rxjs@^5.5.6: dependencies: symbol-observable "1.0.1" -rxjs@^7.2.0: - version "7.5.4" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.4.tgz#3d6bd407e6b7ce9a123e76b1e770dc5761aa368d" - integrity sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== +rxjs@^7.2.0, rxjs@^7.5.5: + version "7.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" + integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== dependencies: tslib "^2.1.0" @@ -13429,16 +13499,7 @@ sass@1.49.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -sass@1.49.8: - version "1.49.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.8.tgz#9bbbc5d43d14862db07f1c04b786c9da9b641828" - integrity sha512-NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -sass@^1.49.4: +sass@1.49.9, sass@^1.49.4: version "1.49.9" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.9.tgz#b15a189ecb0ca9e24634bae5d1ebc191809712f9" integrity sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A== @@ -13532,11 +13593,11 @@ selenium-webdriver@4.1.1: ws ">=7.4.6" selfsigned@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.0.tgz#e927cd5377cbb0a1075302cff8df1042cc2bce5b" - integrity sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" + integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== dependencies: - node-forge "^1.2.0" + node-forge "^1" semver-compare@^1.0.0: version "1.0.0" @@ -13889,22 +13950,17 @@ socket.io-client@2.1.1: socket.io-parser "~3.2.0" to-array "0.1.4" -socket.io-client@2.4.0, socket.io-client@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" - integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== +socket.io-client@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.4.1.tgz#b6aa9448149d09b8d0b2bbf3d2fac310631fdec9" + integrity sha512-N5C/L5fLNha5Ojd7Yeb/puKcPWWcoB/A09fEjjNsg91EDVr5twk/OEyO6VT9dlLSUNY85NpW6KBhVMvaLKQ3vQ== dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "~1.3.0" - debug "~3.1.0" - engine.io-client "~3.5.0" - has-binary2 "~1.0.2" - indexof "0.0.1" - parseqs "0.0.6" + "@socket.io/component-emitter" "~3.0.0" + backo2 "~1.0.2" + debug "~4.3.2" + engine.io-client "~6.1.1" parseuri "0.0.6" - socket.io-parser "~3.3.0" - to-array "0.1.4" + socket.io-parser "~4.1.1" socket.io-parser@~3.2.0: version "3.2.0" @@ -13915,24 +13971,6 @@ socket.io-parser@~3.2.0: debug "~3.1.0" isarray "2.0.1" -socket.io-parser@~3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" - integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== - dependencies: - component-emitter "~1.3.0" - debug "~3.1.0" - isarray "2.0.1" - -socket.io-parser@~3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" - integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== - dependencies: - component-emitter "1.2.1" - debug "~4.1.0" - isarray "2.0.1" - socket.io-parser@~4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" @@ -13942,6 +13980,14 @@ socket.io-parser@~4.0.4: component-emitter "~1.3.0" debug "~4.3.1" +socket.io-parser@~4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.1.2.tgz#0a97d4fb8e67022158a568450a6e41887e42035e" + integrity sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog== + dependencies: + "@socket.io/component-emitter" "~3.0.0" + debug "~4.3.1" + socket.io@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" @@ -13954,19 +14000,7 @@ socket.io@2.1.1: socket.io-client "2.1.1" socket.io-parser "~3.2.0" -socket.io@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.0.tgz#01030a2727bd8eb2e85ea96d69f03692ee53d47e" - integrity sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ== - dependencies: - debug "~4.1.0" - engine.io "~3.5.0" - has-binary2 "~1.0.2" - socket.io-adapter "~1.1.0" - socket.io-client "2.4.0" - socket.io-parser "~3.4.0" - -socket.io@^4.2.0: +socket.io@^4.2.0, socket.io@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.1.tgz#cd6de29e277a161d176832bb24f64ee045c56ab8" integrity sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg== @@ -14254,13 +14288,13 @@ stream-throttle@^0.1.3: commander "^2.2.0" limiter "^1.0.5" -streamroller@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.4.tgz#27ad87339d829483f89c5f33fd60ea6731e4183c" - integrity sha512-GI9NzeD+D88UFuIlJkKNDH/IsuR+qIN7Qh8EsmhoRZr9bQoehTraRgwtLUkZbpcAw+hLPfHOypmppz8YyGK68w== +streamroller@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.6.tgz#52823415800ded79a49aa3f7712f50a422b97493" + integrity sha512-Qz32plKq/MZywYyhEatxyYc8vs994Gz0Hu2MSYXXLD233UyPeIeRBZARIIGwFer4Mdb8r3Y2UqKkgyDghM6QCg== dependencies: - date-format "^4.0.4" - debug "^4.3.3" + date-format "^4.0.6" + debug "^4.3.4" fs-extra "^10.0.1" strict-uri-encode@^1.0.0: @@ -14418,15 +14452,15 @@ style-search@^0.1.0: integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= stylelint@^14.5.0: - version "14.5.3" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.5.3.tgz#103b6670128ba3dea69fe3a1a07c4a5d3e0e3450" - integrity sha512-omHETL+kGHR+fCXFK1SkZD/A+emCP9esggAdWEl8GPjTNeyRYj+H6uetRDcU+7E451zwWiUYGVAX+lApsAZgsQ== + version "14.6.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.6.1.tgz#aff137b0254515fc36b91921d88a3eb2edc194bf" + integrity sha512-FfNdvZUZdzh9KDQxDnO7Opp+prKh8OQVuSW8S13cBtxrooCbm6J6royhUeb++53WPMt04VB+ZbOz/QmzAijs6Q== dependencies: balanced-match "^2.0.0" colord "^2.9.2" cosmiconfig "^7.0.1" css-functions-list "^3.0.1" - debug "^4.3.3" + debug "^4.3.4" execall "^2.0.0" fast-glob "^3.2.11" fastest-levenshtein "^1.0.12" @@ -14447,7 +14481,7 @@ stylelint@^14.5.0: normalize-path "^3.0.0" normalize-selector "^0.2.0" picocolors "^1.0.0" - postcss "^8.4.6" + postcss "^8.4.12" postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.1" postcss-safe-parser "^6.0.0" @@ -15142,9 +15176,9 @@ ua-parser-js@^0.7.18, ua-parser-js@^0.7.21, ua-parser-js@^0.7.30: integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: - version "3.15.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.2.tgz#1ed2c976f448063b1f87adb68c741be79959f951" - integrity sha512-peeoTk3hSwYdoc9nrdiEJk+gx1ALCtTjdYuKSXMTDqq7n1W7dHPqWDdSi+BPL0ni2YMeHD7hKUSdbj3TZauY2A== + version "3.15.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz#9aa82ca22419ba4c0137642ba0df800cb06e0471" + integrity sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg== ultron@~1.1.0: version "1.1.1" @@ -15722,36 +15756,6 @@ webpack-subresource-integrity@5.1.0: dependencies: typed-assert "^1.0.8" -webpack@5.69.1: - version "5.69.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.69.1.tgz#8cfd92c192c6a52c99ab00529b5a0d33aa848dc5" - integrity sha512-+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.3" - webpack@5.70.0: version "5.70.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.70.0.tgz#3461e6287a72b5e6e2f4872700bc8de0d7500e6d" @@ -15949,11 +15953,6 @@ ws@~3.3.1: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@~7.4.2: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - ws@~8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" @@ -15992,10 +15991,10 @@ xmlhttprequest-ssl@~1.5.4: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= -xmlhttprequest-ssl@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" - integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== xregexp@2.0.0: version "2.0.0" @@ -16099,9 +16098,9 @@ yargs@^16.0.0, yargs@^16.0.3, yargs@^16.1.1, yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^17.0.0, yargs@^17.2.1, yargs@^17.3.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== dependencies: cliui "^7.0.2" escalade "^3.1.1" From 6999af262ec19f3dd0a44a5d43b9bf89620e24fc Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Sat, 26 Mar 2022 11:16:36 +0100 Subject: [PATCH 18/31] build: remove unused variables in starlark code Removes unused variables in Starlark code now that Buildifier seems to flag these as failures. --- tools/defaults.bzl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 548b8273ebe9..62e933ba3272 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -255,7 +255,7 @@ def jasmine_node_test(**kwargs): kwargs["templated_args"] = ["--bazel_patch_module_resolver"] + kwargs.get("templated_args", []) _jasmine_node_test(**kwargs) -def ng_test_library(deps = [], tsconfig = None, **kwargs): +def ng_test_library(deps = [], **kwargs): local_deps = [ # We declare "@angular/core" as default dependencies because # all Angular component unit tests use the `TestBed` and `Component` exports. @@ -269,7 +269,7 @@ def ng_test_library(deps = [], tsconfig = None, **kwargs): **kwargs ) -def ng_e2e_test_library(deps = [], tsconfig = None, **kwargs): +def ng_e2e_test_library(deps = [], **kwargs): local_deps = [ "@npm//@types/jasmine", "@npm//@types/selenium-webdriver", @@ -283,7 +283,6 @@ def ng_e2e_test_library(deps = [], tsconfig = None, **kwargs): ) def karma_web_test_suite(name, **kwargs): - web_test_args = {} test_deps = kwargs.get("deps", []) kwargs["tags"] = ["partial-compilation-integration"] + kwargs.get("tags", []) From 9497b02f8befb7cc5c81018b0136315758cc2853 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sun, 27 Mar 2022 03:53:49 +0200 Subject: [PATCH 19/31] fix(material-experimental/mdc-slider): update layout when container resizes (#24648) Currently the layout of the slider can look broken, because the thumb positions don't update when the size of the container changes. These changes add some extra logic to trigger the resize in such cases. Fixes #24590. (cherry picked from commit 87ab4f49dba39e16dc0e5dc005351d487cc169d3) --- .../mdc-slider/slider.ts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/material-experimental/mdc-slider/slider.ts b/src/material-experimental/mdc-slider/slider.ts index 8c3cf14dc949..f657c93b561c 100644 --- a/src/material-experimental/mdc-slider/slider.ts +++ b/src/material-experimental/mdc-slider/slider.ts @@ -693,6 +693,12 @@ export class MatSlider /** Subscription to changes to the directionality (LTR / RTL) context for the application. */ private _dirChangeSubscription: Subscription; + /** Observer used to monitor size changes in the slider. */ + private _resizeObserver: ResizeObserver | null; + + /** Timeout used to debounce resize listeners. */ + private _resizeTimer: number; + constructor( readonly _ngZone: NgZone, readonly _cdr: ChangeDetectorRef, @@ -727,6 +733,7 @@ export class MatSlider this._foundation.init(); this._foundation.layout(); this._initialized = true; + this._observeHostResize(); } // The MDC foundation requires access to the view and content children of the MatSlider. In // order to access the view and content children of MatSlider we need to wait until change @@ -746,6 +753,9 @@ export class MatSlider this._foundation.destroy(); } this._dirChangeSubscription.unsubscribe(); + this._resizeObserver?.disconnect(); + this._resizeObserver = null; + clearTimeout(this._resizeTimer); this._removeUISyncEventListener(); } @@ -919,6 +929,31 @@ export class MatSlider _isRippleDisabled(): boolean { return this.disabled || this.disableRipple || !!this._globalRippleOptions?.disabled; } + + /** Starts observing and updating the slider if the host changes its size. */ + private _observeHostResize() { + if (typeof ResizeObserver === 'undefined' || !ResizeObserver) { + return; + } + + // MDC only updates the slider when the window is resized which + // doesn't capture changes of the container itself. We use a resize + // observer to ensure that the layout is correct (see #24590). + this._ngZone.runOutsideAngular(() => { + // The callback will fire as soon as an element is observed and + // we only want to know after the initial layout. + let hasResized = false; + this._resizeObserver = new ResizeObserver(() => { + if (hasResized) { + // Debounce the layouts since they can happen frequently. + clearTimeout(this._resizeTimer); + this._resizeTimer = setTimeout(this._layout, 50); + } + hasResized = true; + }); + this._resizeObserver.observe(this._elementRef.nativeElement); + }); + } } /** The MDCSliderAdapter implementation. */ From a704913d2bf255936629b7ca16514c5b7e00f9a4 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sun, 27 Mar 2022 16:35:28 +0200 Subject: [PATCH 20/31] fix(material-experimental/mdc-button): extended fab touch target not covering entire button (#24322) Fixes that the extended FAB touch target was square which meant that it didn't cover the entire button. (cherry picked from commit c49f83bad2b5f47a2a7691e393ff02b3da927a94) --- src/material-experimental/mdc-button/fab.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/material-experimental/mdc-button/fab.scss b/src/material-experimental/mdc-button/fab.scss index cba815029ef9..fbee1ce457f6 100644 --- a/src/material-experimental/mdc-button/fab.scss +++ b/src/material-experimental/mdc-button/fab.scss @@ -89,3 +89,9 @@ ); } } + +// All FABs are square except the extended ones so we +// need to set the touch target back to full-width. +.mat-mdc-extended-fab .mat-mdc-button-touch-target { + width: 100%; +} From e85777712a13c9c6d18524a4d2e731b044479f5d Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sun, 27 Mar 2022 18:39:10 +0200 Subject: [PATCH 21/31] fix(material/radio): set tabindex based on selected state (#18081) Currently all radio buttons inside a radio group have a `tabindex` of 0, unless they're disabled, and we leave it up to the browser to focus the proper button based on its selected state when the user is tabbing. This works for the most part, but it breaks down with something like our focus trap which determines which element to focus based on its `tabindex` since all buttons have the same `tabindex`. These changes fix the issue by setting a `tabindex` of 0 only on the selected radio button. Fixes #17876. (cherry picked from commit 81ff8c8daa9a8f4d127936f930ff590bce1cab3f) --- .../mdc-radio/radio.html | 1 - .../mdc-radio/radio.spec.ts | 49 +++++++++++++++++++ src/material/radio/radio.html | 1 - src/material/radio/radio.spec.ts | 49 +++++++++++++++++++ src/material/radio/radio.ts | 38 +++++++++++++- tools/public_api_guard/material/radio.md | 5 +- 6 files changed, 139 insertions(+), 4 deletions(-) diff --git a/src/material-experimental/mdc-radio/radio.html b/src/material-experimental/mdc-radio/radio.html index e81ed6778d94..f6f3b116600a 100644 --- a/src/material-experimental/mdc-radio/radio.html +++ b/src/material-experimental/mdc-radio/radio.html @@ -7,7 +7,6 @@ [id]="inputId" [checked]="checked" [disabled]="disabled" - [tabIndex]="tabIndex" [attr.name]="name" [attr.value]="value" [required]="required" diff --git a/src/material-experimental/mdc-radio/radio.spec.ts b/src/material-experimental/mdc-radio/radio.spec.ts index 26f578c2a553..39c40f84d35b 100644 --- a/src/material-experimental/mdc-radio/radio.spec.ts +++ b/src/material-experimental/mdc-radio/radio.spec.ts @@ -26,6 +26,7 @@ describe('MDC-based MatRadio', () => { TranscludingWrapper, RadioButtonWithPredefinedTabindex, RadioButtonWithPredefinedAriaAttributes, + RadiosInsidePreCheckedRadioGroup, ], }); @@ -431,6 +432,43 @@ describe('MDC-based MatRadio', () => { ), ).toBe(true); }); + + it('should set the input tabindex based on the selected radio button', () => { + const getTabIndexes = () => { + return radioInputElements.map(element => parseInt(element.getAttribute('tabindex') || '')); + }; + + expect(getTabIndexes()).toEqual([0, 0, 0]); + + radioLabelElements[0].click(); + fixture.detectChanges(); + + expect(getTabIndexes()).toEqual([0, -1, -1]); + + radioLabelElements[1].click(); + fixture.detectChanges(); + + expect(getTabIndexes()).toEqual([-1, 0, -1]); + + radioLabelElements[2].click(); + fixture.detectChanges(); + + expect(getTabIndexes()).toEqual([-1, -1, 0]); + }); + + it('should set the input tabindex correctly with a pre-checked radio button', () => { + const precheckedFixture = TestBed.createComponent(RadiosInsidePreCheckedRadioGroup); + precheckedFixture.detectChanges(); + + const radios: NodeListOf = + precheckedFixture.nativeElement.querySelectorAll('mat-radio-button input'); + + expect( + Array.from(radios).map(radio => { + return radio.getAttribute('tabindex'); + }), + ).toEqual(['-1', '-1', '0']); + }); }); describe('group with ngModel', () => { @@ -960,6 +998,17 @@ class RadiosInsideRadioGroup { color: string | null; } +@Component({ + template: ` + + Charmander + Squirtle + Bulbasaur + + `, +}) +class RadiosInsidePreCheckedRadioGroup {} + @Component({ template: ` Spring diff --git a/src/material/radio/radio.html b/src/material/radio/radio.html index c497ead4a2fd..15e839e9e12a 100644 --- a/src/material/radio/radio.html +++ b/src/material/radio/radio.html @@ -9,7 +9,6 @@ [id]="inputId" [checked]="checked" [disabled]="disabled" - [tabIndex]="tabIndex" [attr.name]="name" [attr.value]="value" [required]="required" diff --git a/src/material/radio/radio.spec.ts b/src/material/radio/radio.spec.ts index 7a25723534ce..f46f24361f14 100644 --- a/src/material/radio/radio.spec.ts +++ b/src/material/radio/radio.spec.ts @@ -22,6 +22,7 @@ describe('MatRadio', () => { TranscludingWrapper, RadioButtonWithPredefinedTabindex, RadioButtonWithPredefinedAriaAttributes, + RadiosInsidePreCheckedRadioGroup, ], }); @@ -423,6 +424,43 @@ describe('MatRadio', () => { ), ).toBe(true); }); + + it('should set the input tabindex based on the selected radio button', () => { + const getTabIndexes = () => { + return radioInputElements.map(element => parseInt(element.getAttribute('tabindex') || '')); + }; + + expect(getTabIndexes()).toEqual([0, 0, 0]); + + radioLabelElements[0].click(); + fixture.detectChanges(); + + expect(getTabIndexes()).toEqual([0, -1, -1]); + + radioLabelElements[1].click(); + fixture.detectChanges(); + + expect(getTabIndexes()).toEqual([-1, 0, -1]); + + radioLabelElements[2].click(); + fixture.detectChanges(); + + expect(getTabIndexes()).toEqual([-1, -1, 0]); + }); + + it('should set the input tabindex correctly with a pre-checked radio button', () => { + const precheckedFixture = TestBed.createComponent(RadiosInsidePreCheckedRadioGroup); + precheckedFixture.detectChanges(); + + const radios: NodeListOf = + precheckedFixture.nativeElement.querySelectorAll('mat-radio-button input'); + + expect( + Array.from(radios).map(radio => { + return radio.getAttribute('tabindex'); + }), + ).toEqual(['-1', '-1', '0']); + }); }); describe('group with ngModel', () => { @@ -943,6 +981,17 @@ class RadiosInsideRadioGroup { color: string | null; } +@Component({ + template: ` + + Charmander + Squirtle + Bulbasaur + + `, +}) +class RadiosInsidePreCheckedRadioGroup {} + @Component({ template: ` Spring diff --git a/src/material/radio/radio.ts b/src/material/radio/radio.ts index 5a8b8e91b0ca..2052a915af07 100644 --- a/src/material/radio/radio.ts +++ b/src/material/radio/radio.ts @@ -18,6 +18,7 @@ import { Component, ContentChildren, Directive, + DoCheck, ElementRef, EventEmitter, forwardRef, @@ -361,7 +362,7 @@ const _MatRadioButtonMixinBase = mixinDisableRipple(mixinTabIndex(MatRadioButton @Directive() export abstract class _MatRadioButtonBase extends _MatRadioButtonMixinBase - implements OnInit, AfterViewInit, OnDestroy, CanDisableRipple, HasTabIndex + implements OnInit, AfterViewInit, DoCheck, OnDestroy, CanDisableRipple, HasTabIndex { private _uniqueId: string = `mat-radio-${++nextUniqueId}`; @@ -500,6 +501,9 @@ export abstract class _MatRadioButtonBase /** Unregister function for _radioDispatcher */ private _removeUniqueSelectionListener: () => void = () => {}; + /** Previous value of the input's tabindex. */ + private _previousTabIndex: number | undefined; + /** The native `` element */ @ViewChild('input') _inputElement: ElementRef; @@ -568,7 +572,12 @@ export abstract class _MatRadioButtonBase } } + ngDoCheck(): void { + this._updateTabIndex(); + } + ngAfterViewInit() { + this._updateTabIndex(); this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => { if (!focusOrigin && this.radioGroup) { this.radioGroup._touch(); @@ -629,6 +638,33 @@ export abstract class _MatRadioButtonBase this._changeDetector.markForCheck(); } } + + /** Gets the tabindex for the underlying input element. */ + private _updateTabIndex() { + const group = this.radioGroup; + let value: number; + + // Implement a roving tabindex if the button is inside a group. For most cases this isn't + // necessary, because the browser handles the tab order for inputs inside a group automatically, + // but we need an explicitly higher tabindex for the selected button in order for things like + // the focus trap to pick it up correctly. + if (!group || !group.selected || this.disabled) { + value = this.tabIndex; + } else { + value = group.selected === this ? this.tabIndex : -1; + } + + if (value !== this._previousTabIndex) { + // We have to set the tabindex directly on the DOM node, because it depends on + // the selected state which is prone to "changed after checked errors". + const input: HTMLInputElement | undefined = this._inputElement?.nativeElement; + + if (input) { + input.setAttribute('tabindex', value + ''); + this._previousTabIndex = value; + } + } + } } /** diff --git a/tools/public_api_guard/material/radio.md b/tools/public_api_guard/material/radio.md index c727b1ae98af..57c7757cec77 100644 --- a/tools/public_api_guard/material/radio.md +++ b/tools/public_api_guard/material/radio.md @@ -12,6 +12,7 @@ import { CanDisableRipple } from '@angular/material/core'; import { ChangeDetectorRef } from '@angular/core'; import { _Constructor } from '@angular/material/core'; import { ControlValueAccessor } from '@angular/forms'; +import { DoCheck } from '@angular/core'; import { ElementRef } from '@angular/core'; import { EventEmitter } from '@angular/core'; import { FocusMonitor } from '@angular/cdk/a11y'; @@ -48,7 +49,7 @@ export class MatRadioButton extends _MatRadioButtonBase { } // @public -export abstract class _MatRadioButtonBase extends _MatRadioButtonMixinBase implements OnInit, AfterViewInit, OnDestroy, CanDisableRipple, HasTabIndex { +export abstract class _MatRadioButtonBase extends _MatRadioButtonMixinBase implements OnInit, AfterViewInit, DoCheck, OnDestroy, CanDisableRipple, HasTabIndex { constructor(radioGroup: _MatRadioGroupBase<_MatRadioButtonBase>, elementRef: ElementRef, _changeDetector: ChangeDetectorRef, _focusMonitor: FocusMonitor, _radioDispatcher: UniqueSelectionDispatcher, animationMode?: string, _providerOverride?: MatRadioDefaultOptions | undefined, tabIndex?: string); ariaDescribedby: string; ariaLabel: string; @@ -75,6 +76,8 @@ export abstract class _MatRadioButtonBase extends _MatRadioButtonMixinBase imple // (undocumented) ngAfterViewInit(): void; // (undocumented) + ngDoCheck(): void; + // (undocumented) ngOnDestroy(): void; // (undocumented) ngOnInit(): void; From a5aa87502b0f48ca2317835e80ef68bb9af7287f Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sun, 27 Mar 2022 19:13:50 +0200 Subject: [PATCH 22/31] fix(material/tabs): focus wrapping back to selected label when using shift + tab (#14194) Currently the `tabindex` of each of the tab labels is determined by the selected index. This means that if the user tabbed into the header, pressed the right arrow and then pressed shift + tab, their focus would end up on the selected tab. These changes switch to basing the `tabindex` on the focused index which is tied both to the selected index and the user's keyboard navigation. (cherry picked from commit b9bfaeecb68aea4f42ee074ff80ace03c6d20a79) --- .../mdc-tabs/tab-group.spec.ts | 19 ++++++++++++++++++- src/material/tabs/tab-group.spec.ts | 19 ++++++++++++++++++- src/material/tabs/tab-group.ts | 11 +++++++++-- tools/public_api_guard/material/tabs.md | 2 +- 4 files changed, 46 insertions(+), 5 deletions(-) diff --git a/src/material-experimental/mdc-tabs/tab-group.spec.ts b/src/material-experimental/mdc-tabs/tab-group.spec.ts index f374cfc0bb89..2bf2cbc65be5 100644 --- a/src/material-experimental/mdc-tabs/tab-group.spec.ts +++ b/src/material-experimental/mdc-tabs/tab-group.spec.ts @@ -1,4 +1,4 @@ -import {LEFT_ARROW} from '@angular/cdk/keycodes'; +import {LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes'; import {dispatchFakeEvent, dispatchKeyboardEvent} from '../../cdk/testing/private'; import {Component, DebugElement, OnInit, QueryList, ViewChild, ViewChildren} from '@angular/core'; import { @@ -379,6 +379,23 @@ describe('MDC-based MatTabGroup', () => { expect(contentElements.map(e => e.getAttribute('tabindex'))).toEqual(['1', null, null]); }); + + it('should update the tabindex of the labels when navigating via keyboard', () => { + fixture.detectChanges(); + + const tabLabels = fixture.debugElement + .queryAll(By.css('.mat-mdc-tab')) + .map(label => label.nativeElement); + const tabLabelContainer = fixture.debugElement.query(By.css('.mat-mdc-tab-label-container')) + .nativeElement as HTMLElement; + + expect(tabLabels.map(label => label.getAttribute('tabindex'))).toEqual(['-1', '0', '-1']); + + dispatchKeyboardEvent(tabLabelContainer, 'keydown', RIGHT_ARROW); + fixture.detectChanges(); + + expect(tabLabels.map(label => label.getAttribute('tabindex'))).toEqual(['-1', '-1', '0']); + }); }); describe('aria labelling', () => { diff --git a/src/material/tabs/tab-group.spec.ts b/src/material/tabs/tab-group.spec.ts index cc3df1a48bd9..112600090246 100644 --- a/src/material/tabs/tab-group.spec.ts +++ b/src/material/tabs/tab-group.spec.ts @@ -1,4 +1,4 @@ -import {LEFT_ARROW} from '@angular/cdk/keycodes'; +import {LEFT_ARROW, RIGHT_ARROW} from '@angular/cdk/keycodes'; import {dispatchFakeEvent, dispatchKeyboardEvent} from '../../cdk/testing/private'; import {Component, DebugElement, OnInit, QueryList, ViewChild, ViewChildren} from '@angular/core'; import { @@ -378,6 +378,23 @@ describe('MatTabGroup', () => { expect(contentElements.map(e => e.getAttribute('tabindex'))).toEqual(['1', null, null]); }); + + it('should update the tabindex of the labels when navigating via keyboard', () => { + fixture.detectChanges(); + + const tabLabels = fixture.debugElement + .queryAll(By.css('.mat-tab-label')) + .map(label => label.nativeElement); + const tabLabelContainer = fixture.debugElement.query(By.css('.mat-tab-label-container')) + .nativeElement as HTMLElement; + + expect(tabLabels.map(label => label.getAttribute('tabindex'))).toEqual(['-1', '0', '-1']); + + dispatchKeyboardEvent(tabLabelContainer, 'keydown', RIGHT_ARROW); + fixture.detectChanges(); + + expect(tabLabels.map(label => label.getAttribute('tabindex'))).toEqual(['-1', '-1', '0']); + }); }); describe('aria labelling', () => { diff --git a/src/material/tabs/tab-group.ts b/src/material/tabs/tab-group.ts index d198374ce79c..1c85fbb71245 100644 --- a/src/material/tabs/tab-group.ts +++ b/src/material/tabs/tab-group.ts @@ -99,6 +99,9 @@ export abstract class _MatTabGroupBase /** The tab index that should be selected after the content has been checked. */ private _indexToSelect: number | null = 0; + /** Index of the tab that was focused last. */ + private _lastFocusedTabIndex: number | null = null; + /** Snapshot of the height of the tab body wrapper before another tab is activated. */ private _tabBodyWrapperHeight: number = 0; @@ -267,6 +270,7 @@ export abstract class _MatTabGroupBase if (this._selectedIndex !== indexToSelect) { this._selectedIndex = indexToSelect; + this._lastFocusedTabIndex = null; this._changeDetectorRef.markForCheck(); } } @@ -292,6 +296,7 @@ export abstract class _MatTabGroupBase // event, otherwise the consumer may end up in an infinite loop in some edge cases like // adding a tab within the `selectedIndexChange` event. this._indexToSelect = this._selectedIndex = i; + this._lastFocusedTabIndex = null; selectedTab = tabs[i]; break; } @@ -366,6 +371,7 @@ export abstract class _MatTabGroupBase } _focusChanged(index: number) { + this._lastFocusedTabIndex = index; this.focusChange.emit(this._createChangeEvent(index)); } @@ -448,11 +454,12 @@ export abstract class _MatTabGroupBase } /** Retrieves the tabindex for the tab. */ - _getTabIndex(tab: MatTab, idx: number): number | null { + _getTabIndex(tab: MatTab, index: number): number | null { if (tab.disabled) { return null; } - return this.selectedIndex === idx ? 0 : -1; + const targetIndex = this._lastFocusedTabIndex ?? this.selectedIndex; + return index === targetIndex ? 0 : -1; } /** Callback for when the focused state of a tab has changed. */ diff --git a/tools/public_api_guard/material/tabs.md b/tools/public_api_guard/material/tabs.md index 6cd03e5acfaf..c2599ce20476 100644 --- a/tools/public_api_guard/material/tabs.md +++ b/tools/public_api_guard/material/tabs.md @@ -240,7 +240,7 @@ export abstract class _MatTabGroupBase extends _MatTabGroupMixinBase implements _focusChanged(index: number): void; focusTab(index: number): void; _getTabContentId(i: number): string; - _getTabIndex(tab: MatTab, idx: number): number | null; + _getTabIndex(tab: MatTab, index: number): number | null; _getTabLabelId(i: number): string; _handleClick(tab: MatTab, tabHeader: MatTabGroupBaseHeader, index: number): void; headerPosition: MatTabHeaderPosition; From b07ae4ccc451f98c2907d6394cdf2a6f8631d2cd Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Mon, 28 Mar 2022 17:00:39 +0200 Subject: [PATCH 23/31] fix(material/menu): clicks on disabled item closing the menu (#19183) Adds an overlay on top of the content of a disabled menu item in order to capture clicks and prevent the menu from closing when clicking on it. Fixes #19173. (cherry picked from commit a76f30107ec70fcbee1c8ec87026307a55cd0494) --- src/material-experimental/mdc-menu/menu.scss | 20 ++++++++++++++------ src/material/menu/menu.scss | 19 ++++++++++++------- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/material-experimental/mdc-menu/menu.scss b/src/material-experimental/mdc-menu/menu.scss index ea8f3fc64337..8b94d48215f2 100644 --- a/src/material-experimental/mdc-menu/menu.scss +++ b/src/material-experimental/mdc-menu/menu.scss @@ -64,17 +64,25 @@ mat-menu { min-height: map.get($height-config, default); &[disabled] { - // Usually every click inside the menu closes it, however some browsers will stop events - // when the user clicks on a disabled item, **except** when the user clicks on a non-disabled - // child node of the disabled button. This is inconsistent because some regions of a disabled - // button will still cause the menu to close and some won't (see #16694). We make the behavior - // more consistent by disabling pointer events and allowing the user to click through. - pointer-events: none; cursor: default; // This is the same as `mdc-list-mixins.list-disabled-opacity` which // we can't use directly, because it comes with some selectors. opacity: mdc-list-variables.$content-disabled-opacity; + + // The browser prevents clicks on disabled buttons from propagating which prevents the menu + // from closing, but clicks on child nodes still propagate which is inconsistent (see #16694). + // In order to keep the behavior consistent and prevent the menu from closing, we add an overlay + // on top of the content that will catch all the clicks while disabled. + &::before { + display: block; + position: absolute; + content: ''; + top: 0; + left: 0; + bottom: 0; + right: 0; + } } .mat-icon { diff --git a/src/material/menu/menu.scss b/src/material/menu/menu.scss index 353986269014..98ff66bf4d75 100644 --- a/src/material/menu/menu.scss +++ b/src/material/menu/menu.scss @@ -49,13 +49,18 @@ mat-menu { @include menu-common.item-base(); position: relative; - &[disabled] { - // Usually every click inside the menu closes it, however some browsers will stop events - // when the user clicks on a disabled item, **except** when the user clicks on a non-disabled - // child node of the disabled button. This is inconsistent because some regions of a disabled - // button will still cause the menu to close and some won't (see #16694). We make the behavior - // more consistent by disabling pointer events and allowing the user to click through. - pointer-events: none; + // The browser prevents clicks on disabled buttons from propagating which prevents the menu + // from closing, but clicks on child nodes still propagate which is inconsistent (see #16694). + // In order to keep the behavior consistent and prevent the menu from closing, we add an overlay + // on top of the content that will catch all the clicks while disabled. + &[disabled]::before { + display: block; + position: absolute; + content: ''; + top: 0; + left: 0; + bottom: 0; + right: 0; } @include a11y.high-contrast(active, off) { From 9490a3164168e5999dd40daffcfaf4c0776e8353 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Tue, 29 Mar 2022 15:32:52 +0200 Subject: [PATCH 24/31] fix(material/list): not working correctly when list item is used as a button (#13617) Based on our selector for `mat-list-item`, we allow it to be a `button`, however we don't do the necessary resets for it to be usable. (cherry picked from commit 460b25cad996447e6a48175265159d27bb33a133) --- src/material/list/list.scss | 39 +++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/src/material/list/list.scss b/src/material/list/list.scss index 649e7726f824..78d732666e35 100644 --- a/src/material/list/list.scss +++ b/src/material/list/list.scss @@ -203,6 +203,26 @@ $item-inset-divider-offset: 72px; } } +// We need some extra resets when the list items are buttons. +button.mat-list-item, button.mat-list-option { + padding: 0; + width: 100%; + background: none; + color: inherit; + border: none; + outline: inherit; + -webkit-tap-highlight-color: transparent; + text-align: left; + + [dir='rtl'] & { + text-align: right; + } + + &::-moz-focus-inner { + border: 0; + } +} + // This mixin adjusts the heights and padding based on whether the list is in dense mode. @mixin subheader-spacing($top-padding, $base-height) { height: $base-height; @@ -270,25 +290,6 @@ $item-inset-divider-offset: 72px; } mat-action-list { - // Remove the native button look and make it look like a list item - button { - background: none; - color: inherit; - border: none; - font: inherit; - outline: inherit; - -webkit-tap-highlight-color: transparent; - text-align: left; - - [dir='rtl'] & { - text-align: right; - } - - &::-moz-focus-inner { - border: 0; - } - } - .mat-list-item { cursor: pointer; outline: inherit; From 2789b3701d509f5d381d432d3123882d3721528d Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 29 Mar 2022 16:23:06 +0200 Subject: [PATCH 25/31] ci: skip ci failure slack notifications for renovate branches (#24692) We want to skip CI failure Slack notifications for upstream branches which are not actual publish branches. Please enter the commit message for your changes. Lines starting (cherry picked from commit 9cb96aae01a2bbbc561ab2791ab7c3f044d2bb18) --- scripts/circleci/notify-slack-job-failure.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/scripts/circleci/notify-slack-job-failure.js b/scripts/circleci/notify-slack-job-failure.js index 81620cc39a8c..3b4ef45cd29c 100644 --- a/scripts/circleci/notify-slack-job-failure.js +++ b/scripts/circleci/notify-slack-job-failure.js @@ -5,12 +5,17 @@ * will be a noop when running for forked builds (i.e. PRs). */ +const { + isVersionBranch, + getConfig, + assertValidGithubConfig, +} = require('@angular/dev-infra-private/ng-dev'); + if (process.env.CIRCLE_PR_NUMBER) { console.info('Skipping notifications for pull requests.'); process.exit(0); } -const {echo, set} = require('shelljs'); const { CIRCLE_JOB: jobName, CIRCLE_BRANCH: branchName, @@ -18,6 +23,17 @@ const { SLACK_COMPONENTS_CI_FAILURES_WEBHOOK_URL: webhookUrl, } = process.env; +const {github} = getConfig([assertValidGithubConfig]); +const isPublishBranch = isVersionBranch(branchName) || branchName === github.mainBranchName; + +// We don't want to spam the CI failures channel with e.g. Renovate branch failures. +if (isPublishBranch === false) { + console.info('Skipping notifications for non-publish branches.'); + process.exit(0); +} + +const {echo, set} = require('shelljs'); + const text = `\`${jobName}\` failed in branch: ${branchName}: ${jobUrl}`; const payload = {text}; const [channelName] = process.argv.slice(2); From 651de3c1f7b8191ddb7aa03bc8fb5a55fc0d2bc1 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 29 Mar 2022 16:23:23 +0200 Subject: [PATCH 26/31] build: use github access token for docs site monitoring (#24691) We recently seemed to hit the rate limit in the docs site monitoring job. We can use a Github access token to avoid these rate limit failures. We move the token extraction to a common location where the GCP key is also extracted, and we use a more granular variable name to make sure it's obvious where the key is used (when added to CircleCI) (cherry picked from commit 8a5017d737b4ab2ed36ceacf1b3ce574e072a873) --- scripts/docs-deploy/github-versioning.ts | 6 ++++-- scripts/docs-deploy/utils.ts | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/docs-deploy/github-versioning.ts b/scripts/docs-deploy/github-versioning.ts index c9cf59e992c4..809c25fea5da 100644 --- a/scripts/docs-deploy/github-versioning.ts +++ b/scripts/docs-deploy/github-versioning.ts @@ -7,10 +7,12 @@ import { getNextBranchName, } from '@angular/dev-infra-private/ng-dev'; +import {githubAccessToken} from './utils'; + export function getReleaseRepoWithApi(): ReleaseRepoWithApi { const githubClient = - process.env.GITHUB_TOKEN !== undefined - ? new AuthenticatedGithubClient(process.env.GITHUB_TOKEN) + githubAccessToken !== undefined + ? new AuthenticatedGithubClient(githubAccessToken) : new GithubClient(); const {github} = getConfig([assertValidGithubConfig]); diff --git a/scripts/docs-deploy/utils.ts b/scripts/docs-deploy/utils.ts index 51760025b03d..f1255aaf069e 100644 --- a/scripts/docs-deploy/utils.ts +++ b/scripts/docs-deploy/utils.ts @@ -23,6 +23,9 @@ export const sites = { new SiteTarget(`v${major}-material-angular-io`, `https://v${major}.material.angular.io`), }; +/** Optional Github access token. Can be used for querying the active release trains. */ +export const githubAccessToken: string | undefined = process.env.DOCS_DEPLOY_GITHUB_TOKEN; + /** Configuration describing the Firebase project that we deploy to. */ export const firebaseConfig = { projectId: 'material-angular-io', From 7f274dc96f7fb2d1d39237d1acbcbbb3fd76cf9a Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Tue, 29 Mar 2022 16:28:34 +0200 Subject: [PATCH 27/31] fix(material/snack-bar): ensure that the snack bar always runs inside the NgZone (#24611) Adds an extra call to ensure that the snack bar is inside the NgZone. This is something that has come up several times in internal tests where some API call is stubbed out, pulling the snack bar outside the zone and causing tests to fail when we remove a change detection somewhere. **Note:** I had a hard time reproducing this in our own tests, presumably because the fixture ends up pulling it back into the zone. (cherry picked from commit 99f1f38caa6e1c7f34ebf4de494a190942efc329) --- .../mdc-snack-bar/snack-bar-container.ts | 22 +++++++----- src/material/snack-bar/snack-bar-container.ts | 36 +++++++++++-------- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/src/material-experimental/mdc-snack-bar/snack-bar-container.ts b/src/material-experimental/mdc-snack-bar/snack-bar-container.ts index a8a157561a63..afdc9fc72a77 100644 --- a/src/material-experimental/mdc-snack-bar/snack-bar-container.ts +++ b/src/material-experimental/mdc-snack-bar/snack-bar-container.ts @@ -176,18 +176,24 @@ export class MatSnackBarContainer enter() { // MDC uses some browser APIs that will throw during server-side rendering. if (this._platform.isBrowser) { - this._mdcFoundation.open(); - this._screenReaderAnnounce(); + this._ngZone.run(() => { + this._mdcFoundation.open(); + this._screenReaderAnnounce(); + }); } } exit(): Observable { - this._exiting = true; - this._mdcFoundation.close(); - - // If the snack bar hasn't been announced by the time it exits it wouldn't have been open - // long enough to visually read it either, so clear the timeout for announcing. - clearTimeout(this._announceTimeoutId); + // It's common for snack bars to be opened by random outside calls like HTTP requests or + // errors. Run inside the NgZone to ensure that it functions correctly. + this._ngZone.run(() => { + this._exiting = true; + this._mdcFoundation.close(); + + // If the snack bar hasn't been announced by the time it exits it wouldn't have been open + // long enough to visually read it either, so clear the timeout for announcing. + clearTimeout(this._announceTimeoutId); + }); return this._onExit; } diff --git a/src/material/snack-bar/snack-bar-container.ts b/src/material/snack-bar/snack-bar-container.ts index 2bf4a2d901d5..f405dd61ddd4 100644 --- a/src/material/snack-bar/snack-bar-container.ts +++ b/src/material/snack-bar/snack-bar-container.ts @@ -194,19 +194,23 @@ export class MatSnackBarContainer /** Begin animation of the snack bar exiting from view. */ exit(): Observable { - // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case - // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to - // `MatSnackBar.open`). - this._animationState = 'hidden'; - - // Mark this element with an 'exit' attribute to indicate that the snackbar has - // been dismissed and will soon be removed from the DOM. This is used by the snackbar - // test harness. - this._elementRef.nativeElement.setAttribute('mat-exit', ''); - - // If the snack bar hasn't been announced by the time it exits it wouldn't have been open - // long enough to visually read it either, so clear the timeout for announcing. - clearTimeout(this._announceTimeoutId); + // It's common for snack bars to be opened by random outside calls like HTTP requests or + // errors. Run inside the NgZone to ensure that it functions correctly. + this._ngZone.run(() => { + // Note: this one transitions to `hidden`, rather than `void`, in order to handle the case + // where multiple snack bars are opened in quick succession (e.g. two consecutive calls to + // `MatSnackBar.open`). + this._animationState = 'hidden'; + + // Mark this element with an 'exit' attribute to indicate that the snackbar has + // been dismissed and will soon be removed from the DOM. This is used by the snackbar + // test harness. + this._elementRef.nativeElement.setAttribute('mat-exit', ''); + + // If the snack bar hasn't been announced by the time it exits it wouldn't have been open + // long enough to visually read it either, so clear the timeout for announcing. + clearTimeout(this._announceTimeoutId); + }); return this._onExit; } @@ -223,8 +227,10 @@ export class MatSnackBarContainer */ private _completeExit() { this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => { - this._onExit.next(); - this._onExit.complete(); + this._ngZone.run(() => { + this._onExit.next(); + this._onExit.complete(); + }); }); } From e5c025dff42ca2637845417c5bb0a482bee31547 Mon Sep 17 00:00:00 2001 From: Artur Androsovych Date: Tue, 29 Mar 2022 19:51:22 +0300 Subject: [PATCH 28/31] fix(material-experimental/mdc-slider): use passive event listeners (#24675) (cherry picked from commit 75f30fd4975c4b8fbbc439402503563ee99ff594) --- .../mdc-slider/slider.ts | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/material-experimental/mdc-slider/slider.ts b/src/material-experimental/mdc-slider/slider.ts index f657c93b561c..a5e5b6c5df3d 100644 --- a/src/material-experimental/mdc-slider/slider.ts +++ b/src/material-experimental/mdc-slider/slider.ts @@ -13,7 +13,7 @@ import { coerceNumberProperty, NumberInput, } from '@angular/cdk/coercion'; -import {Platform} from '@angular/cdk/platform'; +import {Platform, normalizePassiveListenerOptions} from '@angular/cdk/platform'; import {DOCUMENT} from '@angular/common'; import { AfterViewInit, @@ -55,6 +55,9 @@ import {MDCSliderAdapter, MDCSliderFoundation, Thumb, TickMark} from '@material/ import {Subscription} from 'rxjs'; import {GlobalChangeAndInputListener} from './global-change-and-input-listener'; +/** Options used to bind passive event listeners. */ +const passiveEventListenerOptions = normalizePassiveListenerOptions({passive: true}); + /** Represents a drag event emitted by the MatSlider component. */ export interface MatSliderDragEvent { /** The MatSliderThumb that was interacted with. */ @@ -778,20 +781,36 @@ export class MatSlider // would prefer to use "mousedown" as the default, for some reason it does not work (the // callback is never triggered). if (this._SUPPORTS_POINTER_EVENTS) { - this._elementRef.nativeElement.addEventListener('pointerdown', this._layout); + this._elementRef.nativeElement.addEventListener( + 'pointerdown', + this._layout, + passiveEventListenerOptions, + ); } else { this._elementRef.nativeElement.addEventListener('mouseenter', this._layout); - this._elementRef.nativeElement.addEventListener('touchstart', this._layout); + this._elementRef.nativeElement.addEventListener( + 'touchstart', + this._layout, + passiveEventListenerOptions, + ); } } /** Removes the event listener that keeps sync the slider UI and the foundation in sync. */ _removeUISyncEventListener(): void { if (this._SUPPORTS_POINTER_EVENTS) { - this._elementRef.nativeElement.removeEventListener('pointerdown', this._layout); + this._elementRef.nativeElement.removeEventListener( + 'pointerdown', + this._layout, + passiveEventListenerOptions, + ); } else { this._elementRef.nativeElement.removeEventListener('mouseenter', this._layout); - this._elementRef.nativeElement.removeEventListener('touchstart', this._layout); + this._elementRef.nativeElement.removeEventListener( + 'touchstart', + this._layout, + passiveEventListenerOptions, + ); } } From 28b371464d1d8c81c698a61a59a9bdea73f31c0a Mon Sep 17 00:00:00 2001 From: Dilyorbek <62857168+drdilyor@users.noreply.github.com> Date: Wed, 30 Mar 2022 03:14:13 +0500 Subject: [PATCH 29/31] docs: Fix typo in word typpography (#23023) (cherry picked from commit b550b7cab94975545a4822f2baeb2e5eec6432d3) --- src/material/core/typography/_typography.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/material/core/typography/_typography.scss b/src/material/core/typography/_typography.scss index d18c8cc4fbb9..892668c26955 100644 --- a/src/material/core/typography/_typography.scss +++ b/src/material/core/typography/_typography.scss @@ -8,7 +8,7 @@ /// @param {String | Number} $font-weight The font-weight for this level. /// @param {String} $font-family The font-family for this level. /// @param {String} $letter-spacing The letter-spacing for this level. -/// @returns {Map} A map representing the definition of this typpographic level. +/// @returns {Map} A map representing the definition of this typographic level. @function define-typography-level( $font-size, $line-height: $font-size, From 48968719fc0e77df0d160f5bf0818244ff2f6bab Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Wed, 30 Mar 2022 16:00:49 +0200 Subject: [PATCH 30/31] fix(cdk/a11y): live announcer promise never resolved if new announcement comes in (#24700) We return a promise that indicates when we've added the live announcer content to the DOM, however the promise will never be resolved if a new message comes in during the 100ms that it takes for us to make the announcement. These changes add some extra logic to ensure it is always resolved. Note that I was also considering rejecting the old promise instead, but that may be a poor experience for users since they may not have control over messages that are coming in from other places in the app. Fixes #24686. (cherry picked from commit b372f683020cd00692b592fdfc4baf89cab4cabe) --- .../live-announcer/live-announcer.spec.ts | 10 ++++++ src/cdk/a11y/live-announcer/live-announcer.ts | 32 ++++++++++++------- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/cdk/a11y/live-announcer/live-announcer.spec.ts b/src/cdk/a11y/live-announcer/live-announcer.spec.ts index 84b7c1ceab58..516318cef786 100644 --- a/src/cdk/a11y/live-announcer/live-announcer.spec.ts +++ b/src/cdk/a11y/live-announcer/live-announcer.spec.ts @@ -112,6 +112,16 @@ describe('LiveAnnouncer', () => { expect(spy).toHaveBeenCalled(); })); + it('should resolve the returned promise if another announcement is made before the timeout has expired', fakeAsync(() => { + const spy = jasmine.createSpy('announce spy'); + announcer.announce('something').then(spy); + tick(10); + announcer.announce('something').then(spy); + tick(100); + + expect(spy).toHaveBeenCalledTimes(2); + })); + it('should ensure that there is only one live element at a time', fakeAsync(() => { fixture.destroy(); diff --git a/src/cdk/a11y/live-announcer/live-announcer.ts b/src/cdk/a11y/live-announcer/live-announcer.ts index cc78425ade11..3f6f5048bd80 100644 --- a/src/cdk/a11y/live-announcer/live-announcer.ts +++ b/src/cdk/a11y/live-announcer/live-announcer.ts @@ -31,6 +31,8 @@ export class LiveAnnouncer implements OnDestroy { private _liveElement: HTMLElement; private _document: Document; private _previousTimeout: number; + private _currentPromise: Promise | undefined; + private _currentResolve: (() => void) | undefined; constructor( @Optional() @Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN) elementToken: any, @@ -115,17 +117,23 @@ export class LiveAnnouncer implements OnDestroy { // second time without clearing and then using a non-zero delay. // (using JAWS 17 at time of this writing). return this._ngZone.runOutsideAngular(() => { - return new Promise(resolve => { - clearTimeout(this._previousTimeout); - this._previousTimeout = setTimeout(() => { - this._liveElement.textContent = message; - resolve(); - - if (typeof duration === 'number') { - this._previousTimeout = setTimeout(() => this.clear(), duration); - } - }, 100); - }); + if (!this._currentPromise) { + this._currentPromise = new Promise(resolve => (this._currentResolve = resolve)); + } + + clearTimeout(this._previousTimeout); + this._previousTimeout = setTimeout(() => { + this._liveElement.textContent = message; + + if (typeof duration === 'number') { + this._previousTimeout = setTimeout(() => this.clear(), duration); + } + + this._currentResolve!(); + this._currentPromise = this._currentResolve = undefined; + }, 100); + + return this._currentPromise; }); } @@ -144,6 +152,8 @@ export class LiveAnnouncer implements OnDestroy { clearTimeout(this._previousTimeout); this._liveElement?.remove(); this._liveElement = null!; + this._currentResolve?.(); + this._currentPromise = this._currentResolve = undefined; } private _createLiveElement(): HTMLElement { From d270f3aaca218a91e8c7a40139372f51d9a93a00 Mon Sep 17 00:00:00 2001 From: Andrew Seguin Date: Wed, 30 Mar 2022 09:39:47 -0600 Subject: [PATCH 31/31] release: cut the v13.3.2 release --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87e48d9b6ecc..bc450ccda073 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ + +# 13.3.2 "flannel-flamingo" (2022-03-30) +### cdk +| Commit | Type | Description | +| -- | -- | -- | +| [48968719fc](https://github.com/angular/components/commit/48968719fc0e77df0d160f5bf0818244ff2f6bab) | fix | **a11y:** live announcer promise never resolved if new announcement comes in ([#24700](https://github.com/angular/components/pull/24700)) | +| [e9734a9c66](https://github.com/angular/components/commit/e9734a9c663b0e462e5c3d8ba2126a87aeeb3191) | fix | **testing:** entering negative number values not working with reactive forms ([#24656](https://github.com/angular/components/pull/24656)) | +### material +| Commit | Type | Description | +| -- | -- | -- | +| [c677f11ed8](https://github.com/angular/components/commit/c677f11ed8b9a268a307488dca26589dfd9412da) | fix | **button-toggle:** ripples not clipping correctly in safari ([#12311](https://github.com/angular/components/pull/12311)) | +| [20af3e7c9d](https://github.com/angular/components/commit/20af3e7c9dc7be162828cdb368a0a7cc2ca0014a) | fix | **chips:** ripple not clipped on safari ([#21495](https://github.com/angular/components/pull/21495)) | +| [d04e7c9b69](https://github.com/angular/components/commit/d04e7c9b69233dbff7891381c66226ba4ac3a9bd) | fix | **core:** unable to override tag selectors inside .mat-typography ([#14617](https://github.com/angular/components/pull/14617)) | +| [9490a31641](https://github.com/angular/components/commit/9490a3164168e5999dd40daffcfaf4c0776e8353) | fix | **list:** not working correctly when list item is used as a button ([#13617](https://github.com/angular/components/pull/13617)) | +| [b07ae4ccc4](https://github.com/angular/components/commit/b07ae4ccc451f98c2907d6394cdf2a6f8631d2cd) | fix | **menu:** clicks on disabled item closing the menu ([#19183](https://github.com/angular/components/pull/19183)) | +| [e85777712a](https://github.com/angular/components/commit/e85777712a13c9c6d18524a4d2e731b044479f5d) | fix | **radio:** set tabindex based on selected state ([#18081](https://github.com/angular/components/pull/18081)) | +| [7f274dc96f](https://github.com/angular/components/commit/7f274dc96f7fb2d1d39237d1acbcbbb3fd76cf9a) | fix | **snack-bar:** ensure that the snack bar always runs inside the NgZone ([#24611](https://github.com/angular/components/pull/24611)) | +| [a5aa87502b](https://github.com/angular/components/commit/a5aa87502b0f48ca2317835e80ef68bb9af7287f) | fix | **tabs:** focus wrapping back to selected label when using shift + tab ([#14194](https://github.com/angular/components/pull/14194)) | +| [04f4937b75](https://github.com/angular/components/commit/04f4937b759418ae29c483b716cf2ccef5d25dfa) | fix | **tabs:** update tab state when active tab is swapped out ([#24164](https://github.com/angular/components/pull/24164)) | +### material-experimental +| Commit | Type | Description | +| -- | -- | -- | +| [a704913d2b](https://github.com/angular/components/commit/a704913d2bf255936629b7ca16514c5b7e00f9a4) | fix | **mdc-button:** extended fab touch target not covering entire button ([#24322](https://github.com/angular/components/pull/24322)) | +| [23e7b8e6c1](https://github.com/angular/components/commit/23e7b8e6c1a2e0f4f02413f0e7a45dd710bba83d) | fix | **mdc-chips:** make it easier to customize chip typography ([#24632](https://github.com/angular/components/pull/24632)) | +| [518022288b](https://github.com/angular/components/commit/518022288b268dff2125017f1f187ef1683527a2) | fix | **mdc-chips:** Mirror aria-describedby to matChipInput ([#24551](https://github.com/angular/components/pull/24551)) | +| [9497b02f8b](https://github.com/angular/components/commit/9497b02f8befb7cc5c81018b0136315758cc2853) | fix | **mdc-slider:** update layout when container resizes ([#24648](https://github.com/angular/components/pull/24648)) | +| [e5c025dff4](https://github.com/angular/components/commit/e5c025dff42ca2637845417c5bb0a482bee31547) | fix | **mdc-slider:** use passive event listeners ([#24675](https://github.com/angular/components/pull/24675)) | +## Special Thanks +Artur Androsovych, ByzantineFailure, David Gonzalez, Dilyorbek, Kristiyan Kostadinov, Naveen, Paul Gschwendtner, RaĆ­ Siqueira, Shivam Sethi, Wagner Maciel and Zach Arend + + + # 13.3.1 "pearl-necklace" (2022-03-23) ### cdk diff --git a/package.json b/package.json index ea3c09d5b4a5..ec4cf7463293 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "ci-docs-monitor-test": "ts-node --project scripts/tsconfig.json scripts/docs-deploy/monitoring/ci-test.ts", "prepare": "husky install" }, - "version": "13.3.1", + "version": "13.3.2", "dependencies": { "@angular/animations": "13.3.0", "@angular/common": "13.3.0",