diff --git a/apps/generate-ui-v2-e2e/src/e2e/autocomplete-field.cy.ts b/apps/generate-ui-v2-e2e/src/e2e/autocomplete-field.cy.ts index 8e6dce38a4..7abdf2a653 100644 --- a/apps/generate-ui-v2-e2e/src/e2e/autocomplete-field.cy.ts +++ b/apps/generate-ui-v2-e2e/src/e2e/autocomplete-field.cy.ts @@ -22,12 +22,13 @@ const autocompleteSchema = { 'item4', 'item5', 'item6', - 'item7', - 'item8', - 'item9', - 'item10', - 'item11', - 'item12', + 'object1', + 'object2', + 'object3', + 'object4', + 'object5', + 'object6', + 'object7', ], aliases: [], }, @@ -47,6 +48,6 @@ describe('autocomplete field', () => { it('should correctly render all options when expanded', () => { getFieldByName('option2').click(); - cy.get('intellij-option').should('have.length', 12); + cy.get('intellij-option').should('have.length', 13); }); }); diff --git a/apps/generate-ui-v2-e2e/src/e2e/field-list.cy.ts b/apps/generate-ui-v2-e2e/src/e2e/field-list.cy.ts index a74d48c679..2b94ae331a 100644 --- a/apps/generate-ui-v2-e2e/src/e2e/field-list.cy.ts +++ b/apps/generate-ui-v2-e2e/src/e2e/field-list.cy.ts @@ -14,23 +14,19 @@ describe('field list', () => { it('should show only important fields by default', () => { getFields().should('have.length', 2); - getFieldNavItems().should('have.length', 2); }); it('should show and hide fields when button is clicked', () => { clickShowMore(); getFields().should('have.length', 6); - getFieldNavItems().should('have.length', 6); clickShowMore(); getFields().should('have.length', 2); - getFieldNavItems().should('have.length', 2); }); it('should filter items based on the search bar', () => { cy.get('[id="search-bar"]').type('option1'); getFields().should('have.length', 1); - getFieldNavItems().should('have.length', 1); - cy.get('[data-cy="show-more"]').should('not.be.visible'); + cy.get('[data-cy="show-more"]').should('not.exist'); }); it('should render correct fields based on the schema', () => { @@ -81,4 +77,35 @@ describe('field list', () => { getFieldErrorByName(fieldName).should('have.length', 1); getFieldNavItemByName(fieldName).should('have.class', errorClass); }); + + describe('field nav', () => { + const greyedOutClass = 'text-gray-500'; + + it('should show all fields and some greyed out by default', () => { + getFieldNavItems().should('have.length', 6); + getFieldNavItems().filter(`.${greyedOutClass}`).should('have.length', 4); + }); + + it('should show all fields and none greyed when expanded', () => { + clickShowMore(); + getFieldNavItems().should('have.length', 6); + getFieldNavItems().filter(`.${greyedOutClass}`).should('have.length', 0); + }); + + it('should filter nav items based on the search bar', () => { + cy.get('[id="search-bar"]').type('option1'); + getFieldNavItems().should('have.length', 1); + cy.get('[data-cy="show-more"]').should('not.exist'); + }); + + it('should expand items and scroll to them when clicked', () => { + getFieldNavItemByName('option2') + .should('be.visible') + .click({ force: true }); + cy.clock().tick(100); + getFields().should('have.length', 6); + getFieldNavItems().filter(`.${greyedOutClass}`).should('have.length', 0); + getFieldByName('option2').should('be.visible'); + }); + }); }); diff --git a/apps/generate-ui-v2-e2e/src/support/visit-generate-ui.ts b/apps/generate-ui-v2-e2e/src/support/visit-generate-ui.ts index 047811d729..0fb4b7ac54 100644 --- a/apps/generate-ui-v2-e2e/src/support/visit-generate-ui.ts +++ b/apps/generate-ui-v2-e2e/src/support/visit-generate-ui.ts @@ -3,7 +3,6 @@ import { GeneratorSchema } from '@nx-console/shared/generate-ui-types'; export const visitGenerateUi = (schema: GeneratorSchema) => cy.visit('/', { onBeforeLoad: (win: any) => { - console.log('win', win); const postToWebviewCallbacks: any[] = []; win.intellijApi = { postToWebview(message: string) { @@ -30,7 +29,6 @@ export const visitGenerateUi = (schema: GeneratorSchema) => } }, registerPostToWebviewCallback(callback: any) { - console.log('registering post to webview callback', callback); postToWebviewCallbacks.push(callback); }, }; diff --git a/apps/generate-ui-v2/src/components/field-list.ts b/apps/generate-ui-v2/src/components/field-list.ts index 4c73e0858c..c83e0a6c9d 100644 --- a/apps/generate-ui-v2/src/components/field-list.ts +++ b/apps/generate-ui-v2/src/components/field-list.ts @@ -1,9 +1,14 @@ +import { Option } from '@nx-console/shared/schema'; import { LitElement, TemplateResult, html } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; -import { Option } from '@nx-console/shared/schema'; -import { when } from 'lit/directives/when.js'; import { extractItemOptions } from '../utils/generator-schema-utils'; +type OptionWithMetadata = { + option: Option; + isInSearchResults: boolean; + isImportant: boolean; +}; + @customElement('field-list') export class FieldList extends LitElement { @property() @@ -15,46 +20,33 @@ export class FieldList extends LitElement { @state() private showMore = false; - private toggleShowMore(e: CustomEvent) { - this.showMore = !!e.detail; + private toggleShowMore() { + this.showMore = !this.showMore; } protected render() { - const hiddenOptionNames: Set = getHiddenOptionNames( - this.options, - this.searchValue - ); - const [importantOptions, otherOptions] = splitOptionsByPriority( - this.options - ); + const { optionsWithMetadata, numOfImportantOptions, numOfOtherOptions } = + getOptionsWithMetadata(this.options, this.searchValue); + const shouldShowMoreOptions = - this.showMore || !!this.searchValue || importantOptions.length === 0; + this.showMore || !!this.searchValue || numOfImportantOptions === 0; const shouldHideShowMoreButton = !!this.searchValue || - otherOptions.length === 0 || - importantOptions.length === 0; + numOfOtherOptions === 0 || + numOfImportantOptions === 0; + return html`
- ${this.renderOptionNav( - importantOptions, - otherOptions, - hiddenOptionNames, - shouldShowMoreOptions - )} + ${this.renderOptionNav(optionsWithMetadata, shouldShowMoreOptions)}
- ${renderOptions(importantOptions, hiddenOptionNames)} - - ${renderOptions( - otherOptions, - hiddenOptionNames, - shouldShowMoreOptions + ${this.renderOptionsWithDivider( + optionsWithMetadata, + shouldShowMoreOptions, + shouldHideShowMoreButton )}
@@ -62,28 +54,72 @@ export class FieldList extends LitElement { } private renderOptionNav( - importantOptions: Option[], - otherOptions: Option[], - hiddenOptionNames: Set, - showMore: boolean + optionsWithMetadata: OptionWithMetadata[], + shouldShowMoreOptions: boolean ): TemplateResult { - const renderListItems = (options: Option[]): TemplateResult[] => - options.map( - (option) => - html`` - ); return html` `; } + private renderOptionsWithDivider( + optionsWithMetadata: OptionWithMetadata[], + shouldShowMoreOptions: boolean, + shouldHideShowMoreButton: boolean + ): TemplateResult { + // we need to render all options but hide some so the component instances are persisted + const renderOption = ( + optionWithMetadata: OptionWithMetadata, + hidden = false + ) => { + const componentTag = getFieldComponent(optionWithMetadata.option); + return html`
+ ${componentTag} +
`; + }; + + // if there is a search value, show all matching options regardless of importance + if (this.searchValue) { + return html`
+ ${optionsWithMetadata.map((opt) => + renderOption(opt, !opt.isInSearchResults) + )} +
`; + } + + const importantOptions = optionsWithMetadata.filter( + (opt) => opt.isImportant + ); + + const otherOptions = optionsWithMetadata.filter((opt) => !opt.isImportant); + return html` + ${importantOptions.map((opt) => renderOption(opt, false))} + + ${otherOptions.map((opt) => renderOption(opt, !shouldShowMoreOptions))} + `; + } + protected firstUpdated(): void { this.updateComplete.then(() => { const field = Array.from(this.renderRoot.querySelectorAll('*')).find( @@ -96,30 +132,35 @@ export class FieldList extends LitElement { }); } - private handleTreeClickEvent(event: Event) { + private handleTreeClickEvent(event: Event, wasGreyedOut: boolean) { const optionName = (event.target as HTMLElement).innerText; - const element = this.querySelector(`#option-${optionName}`); - if (!element) { - return; + if (wasGreyedOut) { + this.showMore = true; } - element.scrollIntoView({ behavior: 'smooth', block: 'start' }); + setTimeout(() => { + const element = this.querySelector(`#option-${optionName}`); + if (!element) { + return; + } + element.scrollIntoView({ behavior: 'smooth', block: 'start' }); - // focus field after scrolling to option - const fieldElement = this.querySelector(`#${optionName}-field`); - if (!fieldElement) { - return; - } - const observer = new IntersectionObserver( - (entries) => { - if (entries[0].isIntersecting) { - (fieldElement as HTMLElement).focus(); - observer.disconnect(); - } - }, - { rootMargin: '0px', threshold: 1.0 } - ); + // focus field after scrolling to option + const fieldElement = this.querySelector(`#${optionName}-field`); + if (!fieldElement) { + return; + } + const observer = new IntersectionObserver( + (entries) => { + if (entries[0].isIntersecting) { + (fieldElement as HTMLElement).focus(); + observer.disconnect(); + } + }, + { rootMargin: '0px', threshold: 1.0 } + ); - observer.observe(element); + observer.observe(element); + }, 100); } protected createRenderRoot(): Element | ShadowRoot { @@ -127,26 +168,6 @@ export class FieldList extends LitElement { } } -const renderOptions = ( - options: Option[], - hiddenOptionNames: Set, - show = true -): TemplateResult => { - return html`
- ${options.map((option) => { - const componentTag = getFieldComponent(option); - const hidden = !show || hiddenOptionNames.has(option.name); - - return html`
- ${componentTag} -
`; - })} -
`; -}; - const getFieldComponent = (option: Option) => { if (option.type === 'boolean') { return html` `; @@ -168,31 +189,26 @@ const getFieldComponent = (option: Option) => { return html` `; }; -const getHiddenOptionNames = ( +const getOptionsWithMetadata = ( options: Option[], searchValue: string | undefined -) => { - const hiddenOptions = new Set(); - if (!searchValue) { - return hiddenOptions; - } - options?.forEach((option) => { - if (!option.name.includes(searchValue)) { - hiddenOptions.add(option.name); - } - }); - return hiddenOptions; -}; - -const splitOptionsByPriority = (options: Option[]): [Option[], Option[]] => { - const importantOptions: Option[] = []; - const otherOptions: Option[] = []; - options?.forEach((option) => { - if (option.isRequired || option['x-priority'] === 'important') { - importantOptions.push(option); - } else { - otherOptions.push(option); - } - }); - return [importantOptions, otherOptions]; +): { + optionsWithMetadata: OptionWithMetadata[]; + numOfImportantOptions: number; + numOfOtherOptions: number; +} => { + const optionsWithMetadata = options.map((option) => ({ + option, + isInSearchResults: !searchValue || option.name.includes(searchValue), + isImportant: option.isRequired || option['x-priority'] === 'important', + })); + return { + optionsWithMetadata, + numOfImportantOptions: optionsWithMetadata.filter( + (option) => option.isImportant + ).length, + numOfOtherOptions: optionsWithMetadata.filter( + (option) => !option.isImportant + ).length, + }; }; diff --git a/apps/generate-ui-v2/src/components/field-nav-item.ts b/apps/generate-ui-v2/src/components/field-nav-item.ts index dbba467503..5acdcdba3c 100644 --- a/apps/generate-ui-v2/src/components/field-nav-item.ts +++ b/apps/generate-ui-v2/src/components/field-nav-item.ts @@ -1,15 +1,16 @@ -import { ContextConsumer } from '@lit-labs/context'; +import { Option } from '@nx-console/shared/schema'; import { html, LitElement } from 'lit'; -import { customElement, property, state } from 'lit/decorators.js'; -import { formValuesServiceContext } from '../form-values.service'; +import { customElement, property } from 'lit/decorators.js'; import { FieldValueConsumer } from './field-value-consumer-mixin'; -import { Option } from '@nx-console/shared/schema'; @customElement('field-nav-item') export class FieldNavItem extends FieldValueConsumer(LitElement) { @property() protected option: Option; + @property() + greyedOut = false; + render() { return html`
  • diff --git a/apps/generate-ui-v2/src/components/fields/autocomplete/autocomplete-field.ts b/apps/generate-ui-v2/src/components/fields/autocomplete/autocomplete-field.ts index 418de334b2..10b2477040 100644 --- a/apps/generate-ui-v2/src/components/fields/autocomplete/autocomplete-field.ts +++ b/apps/generate-ui-v2/src/components/fields/autocomplete/autocomplete-field.ts @@ -1,10 +1,11 @@ -import { LitElement, TemplateResult, html } from 'lit'; +import { LitElement, PropertyValueMap, TemplateResult, html } from 'lit'; import { Field } from '../mixins/field-mixin'; import { customElement } from 'lit/decorators.js'; import { FieldWrapper } from '../mixins/field-wrapper-mixin'; import { map } from 'lit/directives/map.js'; import { extractItemOptions } from '../../../utils/generator-schema-utils'; import { spread } from '@open-wc/lit-helpers'; +import { Combobox, ComboboxAutocomplete } from '@microsoft/fast-foundation'; @customElement('autocomplete-field') export class AutocompleteField extends FieldWrapper(Field(LitElement)) { @@ -19,9 +20,10 @@ export class AutocompleteField extends FieldWrapper(Field(LitElement)) { private renderVSCode() { return html` ${map( @@ -35,7 +37,7 @@ export class AutocompleteField extends FieldWrapper(Field(LitElement)) { private renderIntellij() { return html` + o.text.toLowerCase().includes(this.filter.toLowerCase()) + ); + + if (this.isAutocompleteList) { + if (!this.filteredOptions.length && !filter) { + this.filteredOptions = this._options; + } + + this._options.forEach((o: any) => { + o.hidden = !this.filteredOptions.includes(o); + }); + } + }; + } + + private handleInput(e: Event) { + const value = e.target as Combobox; + console.log(e, value); + } + private handleChange(e: Event) { const value = (e.target as HTMLInputElement).value; this.dispatchValue(value); diff --git a/apps/generate-ui-v2/src/components/fields/mixins/field-mixin.ts b/apps/generate-ui-v2/src/components/fields/mixins/field-mixin.ts index 9bce3ddafc..f8a4cccf6d 100644 --- a/apps/generate-ui-v2/src/components/fields/mixins/field-mixin.ts +++ b/apps/generate-ui-v2/src/components/fields/mixins/field-mixin.ts @@ -66,11 +66,10 @@ export const Field = >(superClass: T) => { _changedProperties: PropertyValueMap | Map ): void { super.updated(_changedProperties); - if (this.generatorContext) { if ( - (this.generatorContext.project && this.option.name === 'project') || - this.option.name === 'projectName' + this.generatorContext.project && + (this.option.name === 'project' || this.option.name === 'projectName') ) { this.setFieldValue(this.generatorContext.project); this.dispatchValue(this.generatorContext.project); diff --git a/apps/generate-ui-v2/src/components/search-bar.ts b/apps/generate-ui-v2/src/components/search-bar.ts index a1bb5c306e..13225b6d48 100644 --- a/apps/generate-ui-v2/src/components/search-bar.ts +++ b/apps/generate-ui-v2/src/components/search-bar.ts @@ -20,6 +20,12 @@ export class SearchBar extends EditorContext(LitElement) { icon="search" class="absolute left-2 top-[0.7rem]" > +
    + ${this.getKeyboardShortcutSymbol()}S +
    `; } else { @@ -34,19 +40,32 @@ export class SearchBar extends EditorContext(LitElement) { +
    + ${this.getKeyboardShortcutSymbol()}S +
    `; } } + getKeyboardShortcutSymbol() { + if (window.navigator.platform.toLowerCase().includes('mac')) { + return '⌘'; + } else { + return 'Ctrl '; + } + } + + protected createRenderRoot(): Element | ShadowRoot { + return this; + } + private handleInput(e: Event) { const event = new CustomEvent('search-input', { detail: (e.target as HTMLInputElement).value, }); this.dispatchEvent(event); } - - protected createRenderRoot(): Element | ShadowRoot { - return this; - } } diff --git a/apps/generate-ui-v2/src/components/show-more-divider.ts b/apps/generate-ui-v2/src/components/show-more-divider.ts index 7007b12eaa..804e081e91 100644 --- a/apps/generate-ui-v2/src/components/show-more-divider.ts +++ b/apps/generate-ui-v2/src/components/show-more-divider.ts @@ -1,10 +1,10 @@ import { css, html, LitElement } from 'lit'; import { EditorContext } from '../contexts/editor-context'; -import { customElement, state } from 'lit/decorators.js'; +import { customElement, property, state } from 'lit/decorators.js'; @customElement('show-more-divider') export class ShowMoreDivider extends EditorContext(LitElement) { - @state() + @property() showMore = false; render() { diff --git a/apps/generate-ui-v2/src/ide-communication.controller.ts b/apps/generate-ui-v2/src/ide-communication.controller.ts index 59f2a3f1ef..cc1a310177 100644 --- a/apps/generate-ui-v2/src/ide-communication.controller.ts +++ b/apps/generate-ui-v2/src/ide-communication.controller.ts @@ -212,6 +212,7 @@ export class IdeCommunicationController implements ReactiveController { --badge-background-color: ${styles.badgeBackgroundColor}; --separator-color: ${styles.separatorColor}; --field-nav-hover-color: ${styles.fieldNavHoverColor}; + --scrollbar-thumb-color: ${styles.scrollbarThumbColor}; font-family: ${styles.fontFamily}; font-size: ${styles.fontSize}; } diff --git a/apps/generate-ui-v2/src/main.ts b/apps/generate-ui-v2/src/main.ts index 725b394d0f..0f6bc520ed 100644 --- a/apps/generate-ui-v2/src/main.ts +++ b/apps/generate-ui-v2/src/main.ts @@ -84,6 +84,7 @@ export class Root extends LitElement { class="flex items-center py-2 pl-3" appearance="icon" text="copy" + title="Copy generate command to clipboard" @click="${() => this.formValuesService.copyCommandToClipboard()}" id="copy-button" > diff --git a/apps/generate-ui-v2/src/tailwind.css b/apps/generate-ui-v2/src/tailwind.css index b5c61c9567..84a4794c76 100644 --- a/apps/generate-ui-v2/src/tailwind.css +++ b/apps/generate-ui-v2/src/tailwind.css @@ -1,3 +1,14 @@ @tailwind base; @tailwind components; @tailwind utilities; + +@layer components { + .intellij-scrollbar::-webkit-scrollbar { + background-color: var(--background-color); + width: 8px; + } + + .intellij-scrollbar::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb-color); + } +} diff --git a/apps/intellij/build.gradle.kts b/apps/intellij/build.gradle.kts index 9954c803f9..a541561fa1 100644 --- a/apps/intellij/build.gradle.kts +++ b/apps/intellij/build.gradle.kts @@ -49,6 +49,8 @@ dependencies { implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion") implementation("io.ktor:ktor-client-logging:$ktorVersion") + + implementation("io.github.z4kn4fein:semver:1.4.2") } ktfmt { kotlinLangStyle() } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/ProjectPostStartup.kt b/apps/intellij/src/main/kotlin/dev/nx/console/ProjectPostStartup.kt index 8176069124..9730cb1a63 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/ProjectPostStartup.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/ProjectPostStartup.kt @@ -1,6 +1,5 @@ package dev.nx.console -import com.intellij.openapi.components.service import com.intellij.openapi.diagnostic.logger import com.intellij.openapi.project.Project import com.intellij.openapi.startup.ProjectPostStartupActivity @@ -8,6 +7,7 @@ import dev.nx.console.services.NxlsService import dev.nx.console.settings.NxConsoleSettingsProvider import dev.nx.console.telemetry.TelemetryService import dev.nx.console.ui.Notifier +import dev.nx.console.utils.NxProjectJsonToProjectMap private val logger = logger() @@ -22,5 +22,7 @@ class ProjectPostStartup : ProjectPostStartupActivity { } TelemetryService.getInstance(project).extensionActivated(0) + + service.runAfterStarted { NxProjectJsonToProjectMap.getInstance(project).init() } } } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/GenerateUiMessages.kt b/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/GenerateUiMessages.kt index ab43fe203e..6e9950ace3 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/GenerateUiMessages.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/GenerateUiMessages.kt @@ -57,7 +57,7 @@ data class GeneratorSchema( val generatorName: String, val description: String, val options: List, - val contextValues: NxGeneratorContext? + val context: NxGeneratorContext? ) {} @Serializable @@ -87,6 +87,7 @@ data class GenerateUiStyles( val bannerWarningBackgroundColor: String, val separatorColor: String, val fieldNavHoverColor: String, + val scrollbarThumbColor: String, val fontFamily: String, val fontSize: String, ) diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/V2NxGenerateUiFile.kt b/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/V2NxGenerateUiFile.kt index ea1647fced..2173d19e07 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/V2NxGenerateUiFile.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/generate/ui/V2NxGenerateUiFile.kt @@ -75,7 +75,7 @@ class V2NxGenerateUiFile(name: String, project: Project) : NxGenerateUiFile(name collectionName = generator.data.collection, description = generator.data.description, options = generator.options, - contextValues = generator.contextValues + context = generator.contextValues ) } browser.component.requestFocus() @@ -149,6 +149,8 @@ class V2NxGenerateUiFile(name: String, project: Project) : NxGenerateUiFile(name getHexColor(UIManager.getColor("Component.warningFocusColor")) val statusBarBorderColor = getHexColor(UIManager.getColor("StatusBar.borderColor")) val fieldNavHoverColor = getHexColor(UIManager.getColor("TabbedPane.hoverColor")) + + val scrollbarThumbColor = selectFieldBackgroundColor val fontFamily = "'${UIUtil.getLabelFont().family}', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans','Helvetica Neue', sans-serif;" val fontSize = "${UIUtil.getLabelFont().size}px" @@ -167,6 +169,7 @@ class V2NxGenerateUiFile(name: String, project: Project) : NxGenerateUiFile(name bannerWarningBackgroundColor = bannerWarningBackgroundColor, separatorColor = statusBarBorderColor, fieldNavHoverColor = fieldNavHoverColor, + scrollbarThumbColor = scrollbarThumbColor, fontFamily = fontFamily, fontSize = fontSize ) diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/graph/NxFocusTargetInGraphLineMarkerContributor.kt b/apps/intellij/src/main/kotlin/dev/nx/console/graph/NxFocusTargetInGraphLineMarkerContributor.kt index bf50e807e7..b46558e929 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/graph/NxFocusTargetInGraphLineMarkerContributor.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/graph/NxFocusTargetInGraphLineMarkerContributor.kt @@ -11,7 +11,8 @@ import dev.nx.console.utils.getPropertyNodeFromLeafNode class NxFocusTargetInGraphLineMarkerContributor : RunLineMarkerContributor() { override fun getInfo(element: PsiElement): Info? { val targetNode = getPropertyNodeFromLeafNode(element) ?: return null - val targetDescriptor = getNxTargetDescriptorFromNode(targetNode) ?: return null + val targetDescriptor = + getNxTargetDescriptorFromNode(targetNode, element.project) ?: return null return Info( AllIcons.RunConfigurations.TestState.Run, diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/graph/actions/NxGraphSelectAllAction.kt b/apps/intellij/src/main/kotlin/dev/nx/console/graph/actions/NxGraphSelectAllAction.kt index 76668c58a7..dba8f0f198 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/graph/actions/NxGraphSelectAllAction.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/graph/actions/NxGraphSelectAllAction.kt @@ -5,7 +5,7 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.project.DumbAwareAction import dev.nx.console.graph.NxGraphService -import dev.nx.console.nx_toolwindow.NxToolWindow +import dev.nx.console.nx_toolwindow.NxToolWindowPanel import dev.nx.console.telemetry.TelemetryService import javax.swing.Icon @@ -18,7 +18,7 @@ open class NxGraphSelectAllAction( override fun getActionUpdateThread() = ActionUpdateThread.EDT override fun update(e: AnActionEvent) { - if (e.place == NxToolWindow.NX_TOOLBAR_PLACE) { + if (e.place == NxToolWindowPanel.NX_TOOLBAR_PLACE) { e.presentation.text = "View Full Project Graph" e.presentation.icon = AllIcons.Graph.Layout } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/graph/ui/NxGraphBrowser.kt b/apps/intellij/src/main/kotlin/dev/nx/console/graph/ui/NxGraphBrowser.kt index 7e7c543619..13c545b760 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/graph/ui/NxGraphBrowser.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/graph/ui/NxGraphBrowser.kt @@ -1,8 +1,12 @@ package dev.nx.console.graph.ui +import com.intellij.notification.NotificationType import com.intellij.openapi.Disposable +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.diagnostic.logger +import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.LocalFileSystem import com.intellij.ui.jcef.JBCefBrowser import com.intellij.ui.jcef.JBCefBrowserBase import com.intellij.ui.jcef.JBCefClient @@ -13,11 +17,17 @@ import dev.nx.console.graph.NxGraphService import dev.nx.console.graph.NxGraphStates import dev.nx.console.models.NxVersion import dev.nx.console.models.ProjectGraphOutput -import dev.nx.console.utils.isWslInterpreter +import dev.nx.console.run.NxTaskExecutionManager +import dev.nx.console.services.NxlsService +import dev.nx.console.telemetry.TelemetryService +import dev.nx.console.ui.Notifier +import dev.nx.console.utils.* import dev.nx.console.utils.jcef.OpenDevToolsContextMenuHandler import dev.nx.console.utils.jcef.getHexColor -import dev.nx.console.utils.nodeInterpreter +import dev.nx.console.utils.jcef.onBrowserLoadEnd +import io.github.z4kn4fein.semver.toVersion import java.io.File +import java.nio.file.Paths import java.util.regex.Matcher import kotlin.io.path.Path import kotlinx.coroutines.* @@ -56,6 +66,9 @@ class NxGraphBrowser( } null } + registerFileClickHandler(browser) + registerOpenProjectConfigHandler(browser) + registerRunTaskHandler(browser) } val component = browser.component @@ -130,7 +143,7 @@ class NxGraphBrowser( .collect() } - private fun loadGraphHtml(graphOutput: ProjectGraphOutput, reload: Boolean) { + private suspend fun loadGraphHtml(graphOutput: ProjectGraphOutput, reload: Boolean) { browserLoadedState.value = false val fullPath = @@ -142,6 +155,16 @@ class NxGraphBrowser( val basePath = "${Path(fullPath).parent}/" + val nxConsoleEnvironmentScriptTag: String = + NxlsService.getInstance(project).nxVersion()?.let { + if (it.full.toVersion(strict = false) >= "16.6.0".toVersion(strict = false)) { + "" + } else { + "" + } + } + ?: "" + val originalGraphHtml = File(fullPath).readText(Charsets.UTF_8) val transformedGraphHtml = originalGraphHtml @@ -184,6 +207,13 @@ class NxGraphBrowser( """ ) + .replace( + "", + """ + $nxConsoleEnvironmentScriptTag + + """ + ) .replace( Regex(""), """ @@ -403,6 +433,87 @@ class NxGraphBrowser( } } + private fun registerFileClickHandler(browser: JBCefBrowser) { + onBrowserLoadEnd(browser) { + val query = JBCefJSQuery.create(browser as JBCefBrowserBase) + query.addHandler { msg -> + TelemetryService.getInstance(project).featureUsed("Nx Graph Open Project Edge File") + + val path = Paths.get(project.nxBasePath, msg).toString() + val file = LocalFileSystem.getInstance().findFileByPath(path) + if (file == null) { + Notifier.notifyAnything( + project, + "Couldn't find file at path $path", + NotificationType.ERROR + ) + return@addHandler null + } + ApplicationManager.getApplication().invokeLater { + FileEditorManager.getInstance(project).openFile(file, true) + } + null + } + val js = + """ + window.externalApi?.registerFileClickCallback?.((message) => { + ${query.inject("message")} + }) + """ + browser.executeJavaScriptAsync(js) + } + } + private fun registerOpenProjectConfigHandler(browser: JBCefBrowser) { + onBrowserLoadEnd(browser) { + val query = JBCefJSQuery.create(browser as JBCefBrowserBase) + query.addHandler { msg -> + CoroutineScope(Dispatchers.Default).launch { + TelemetryService.getInstance(project) + .featureUsed("Nx Graph Open Project Config File") + + project.nxWorkspace()?.workspace?.projects?.get(msg)?.apply { + val path = nxProjectConfigurationPath(project, root) ?: return@apply + val file = + LocalFileSystem.getInstance().findFileByPath(path) ?: return@apply + ApplicationManager.getApplication().invokeLater { + FileEditorManager.getInstance(project).openFile(file, true) + } + } + } + + null + } + val js = + """ + window.externalApi?.registerOpenProjectConfigCallback?.((message) => { + ${query.inject("message")} + }) + """ + browser.executeJavaScriptAsync(js) + } + } + private fun registerRunTaskHandler(browser: JBCefBrowser) { + onBrowserLoadEnd(browser) { + val query = JBCefJSQuery.create(browser as JBCefBrowserBase) + query.addHandler { msg -> + CoroutineScope(Dispatchers.Default).launch { + TelemetryService.getInstance(project).featureUsed("Nx Graph Run Task") + + val (projectName, targetName) = msg.split(":") + NxTaskExecutionManager.getInstance(project).execute(projectName, targetName) + } + + null + } + val js = + """ + window.externalApi?.registerRunTaskCallback?.((message) => { + ${query.inject("message")} + }) + """ + browser.executeJavaScriptAsync(js) + } + } override fun dispose() { browser.dispose() } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/ide/project_json_inspection/AnalyzeNxConfigurationFilesAction.kt b/apps/intellij/src/main/kotlin/dev/nx/console/ide/project_json_inspection/AnalyzeNxConfigurationFilesAction.kt new file mode 100644 index 0000000000..4f0b01cabe --- /dev/null +++ b/apps/intellij/src/main/kotlin/dev/nx/console/ide/project_json_inspection/AnalyzeNxConfigurationFilesAction.kt @@ -0,0 +1,39 @@ +package dev.nx.console.ide.project_json_inspection + +import com.intellij.notification.Notification +import com.intellij.notification.NotificationAction +import com.intellij.openapi.actionSystem.AnAction +import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.project.Project +import com.intellij.openapi.vcs.CodeSmellDetector +import dev.nx.console.ui.Notifier +import dev.nx.console.utils.findNxConfigurationFiles + +class AnalyzeNxConfigurationFilesAction : AnAction() { + override fun actionPerformed(e: AnActionEvent) { + val project = e.project ?: return + checkForCodeSmells(project) + } +} + +class AnalyzeNxConfigurationFilesNotificationAction : + NotificationAction("Analyze configuration files") { + override fun actionPerformed(e: AnActionEvent, notification: Notification) { + val project = e.project ?: return + notification.expire() + checkForCodeSmells(project) + } +} + +fun checkForCodeSmells(project: Project) { + val codeSmellDetector = CodeSmellDetector.getInstance(project) + val codeSmells = codeSmellDetector.findCodeSmells(findNxConfigurationFiles(project)) + if (codeSmells.size == 0) { + Notifier.notifyAnything( + project, + "We couldn't find any problems in your Nx configuration files. Is the \$schema property specified?" + ) + } else { + codeSmellDetector.showCodeSmellErrors(codeSmells) + } +} diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindow.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindow.kt deleted file mode 100644 index ade766affb..0000000000 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindow.kt +++ /dev/null @@ -1,110 +0,0 @@ -package dev.nx.console.nx_toolwindow - -import com.intellij.icons.AllIcons -import com.intellij.ide.CommonActionsManager -import com.intellij.ide.DefaultTreeExpander -import com.intellij.ide.TreeExpander -import com.intellij.ide.actions.RefreshAction -import com.intellij.ide.actions.runAnything.RunAnythingManager -import com.intellij.openapi.actionSystem.* -import com.intellij.openapi.application.invokeLater -import com.intellij.openapi.components.service -import com.intellij.openapi.project.Project -import com.intellij.ui.ScrollPaneFactory -import dev.nx.console.nx_toolwindow.tree.NxProjectsTree -import dev.nx.console.nx_toolwindow.tree.NxTreeStructure -import dev.nx.console.services.NxWorkspaceRefreshListener -import dev.nx.console.services.NxlsService.Companion.NX_WORKSPACE_REFRESH_TOPIC -import dev.nx.console.settings.options.NX_TOOLWINDOW_STYLE_SETTING_TOPIC -import dev.nx.console.settings.options.NxToolWindowStyleSettingListener -import javax.swing.JComponent - -class NxToolWindow(val project: Project) { - - private val projectTree = NxProjectsTree() - private val projectStructure = NxTreeStructure(projectTree, project) - val content: JComponent = ScrollPaneFactory.createScrollPane(projectTree, 0) - - init { - with(project.messageBus.connect()) { - subscribe( - NX_WORKSPACE_REFRESH_TOPIC, - object : NxWorkspaceRefreshListener { - override fun onNxWorkspaceRefresh() { - invokeLater { projectStructure.updateNxProjects() } - } - } - ) - subscribe( - NX_TOOLWINDOW_STYLE_SETTING_TOPIC, - object : NxToolWindowStyleSettingListener { - override fun onNxToolWindowStyleChange() { - invokeLater { projectStructure.updateNxProjects() } - } - } - ) - } - } - - val toolbar: ActionToolbar = run { - val actionManager = ActionManager.getInstance() - val actionGroup = DefaultActionGroup().apply { templatePresentation.text = "Nx Toolwindow" } - - val nxRunAnythingAction = - object : - AnAction( - "Execute Nx Targets", - "Execute Nx targets", - AllIcons.Actions.Run_anything - ) { - override fun actionPerformed(e: AnActionEvent) { - project.service().show("nx run", false, e) - } - } - - val refreshAction = - object : - RefreshAction( - "Reload Nx Projects", - "Reload Nx projects", - AllIcons.Actions.Refresh - ) { - override fun update(e: AnActionEvent) { - e.presentation.isEnabled = true - } - - override fun actionPerformed(e: AnActionEvent) { - invokeLater { projectStructure.updateNxProjects() } - } - } - - val tree = projectStructure.tree - refreshAction.registerShortcutOn(tree) - - actionGroup.addAction(refreshAction) - actionGroup.addSeparator() - actionGroup.add(nxRunAnythingAction) - actionGroup.add( - actionManager.getAction("dev.nx.console.graph.actions.NxGraphSelectAllAction") - ) - actionGroup.addSeparator() - - val expander: TreeExpander = DefaultTreeExpander(tree) - val actions = CommonActionsManager.getInstance() - - val expandAllAction = actions.createExpandAllAction(expander, tree) - expandAllAction.templatePresentation.setIcon(AllIcons.Actions.Expandall) - - val collapseAllAction = actions.createCollapseAllAction(expander, tree) - collapseAllAction.templatePresentation.setIcon(AllIcons.Actions.Collapseall) - - actionGroup.add(expandAllAction) - actionGroup.add(collapseAllAction) - - actionManager.createActionToolbar(NX_TOOLBAR_PLACE, actionGroup, true) - } - - companion object { - const val NX_TOOLBAR_PLACE = "Nx Toolbar" - } -} diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowFactory.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowFactory.kt index d39688af0d..0d7fed1273 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowFactory.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowFactory.kt @@ -14,13 +14,3 @@ class NxToolWindowFactory : ToolWindowFactory, DumbAware { contentManager.addContent(content) } } - -data class NxTaskSet( - val nxProject: String, - val nxTarget: String, - val nxTargetConfiguration: String -) { - constructor(nxProject: String, nxTarget: String) : this(nxProject, nxTarget, "") {} - val suggestedName = - "${nxProject}:${nxTarget}${if(nxTargetConfiguration.isBlank().not()) ":$nxTargetConfiguration" else ""}" -} diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowPanel.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowPanel.kt index 57b09800e0..2803ac2f69 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowPanel.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/NxToolWindowPanel.kt @@ -1,15 +1,178 @@ package dev.nx.console.nx_toolwindow +import com.intellij.icons.AllIcons +import com.intellij.ide.CommonActionsManager +import com.intellij.ide.DefaultTreeExpander +import com.intellij.ide.TreeExpander +import com.intellij.ide.actions.RefreshAction +import com.intellij.ide.actions.runAnything.RunAnythingManager +import com.intellij.openapi.actionSystem.ActionManager +import com.intellij.openapi.actionSystem.AnAction +import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.actionSystem.DefaultActionGroup +import com.intellij.openapi.application.invokeLater +import com.intellij.openapi.components.service +import com.intellij.openapi.options.ShowSettingsUtil import com.intellij.openapi.project.Project import com.intellij.openapi.ui.SimpleToolWindowPanel +import com.intellij.ui.ScrollPaneFactory +import com.intellij.ui.dsl.builder.Align +import com.intellij.ui.dsl.builder.panel +import dev.nx.console.nx_toolwindow.tree.NxProjectsTree +import dev.nx.console.nx_toolwindow.tree.NxTreeStructure +import dev.nx.console.nxls.NxRefreshWorkspaceAction +import dev.nx.console.services.NxWorkspaceRefreshListener +import dev.nx.console.services.NxlsService +import dev.nx.console.settings.NxConsoleSettingsConfigurable +import dev.nx.console.settings.options.NX_TOOLWINDOW_STYLE_SETTING_TOPIC +import dev.nx.console.settings.options.NxToolWindowStyleSettingListener +import dev.nx.console.utils.nxWorkspace +import javax.swing.JComponent +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch -class NxToolWindowPanel(project: Project) : SimpleToolWindowPanel(true, true) { +class NxToolWindowPanel(private val project: Project) : SimpleToolWindowPanel(true, true) { - private val nx = NxToolWindow(project) + private val projectTree = NxProjectsTree() + private val projectStructure = NxTreeStructure(projectTree, project) + + private val treeContent = ScrollPaneFactory.createScrollPane(projectTree, 0) + private val emptyContent = getNoProjectsPanel() init { - toolbar = nx.toolbar.component - nx.toolbar.targetComponent = this - setContent(nx.content) + installListeners() + setupToolbar() + createToolwindowContent() + } + + private fun createToolwindowContent() { + CoroutineScope(Dispatchers.Default).launch { + val workspace = project.nxWorkspace() + if (workspace == null || workspace.workspace.projects.isEmpty()) { + setContent(emptyContent) + } else { + setContent(treeContent) + projectStructure.updateNxProjects(workspace) + } + } + } + + private fun getNoProjectsPanel(): JComponent { + return panel { + indent { + row { + text( + "

    We couldn't find any projects in this workspace.

    Make sure that the proper dependencies are installed locally and refresh the workspace." + ) + } + row { + button("Refresh Workspace", NxRefreshWorkspaceAction(), NX_TOOLBAR_PLACE) + .align(Align.CENTER) + } + row { + text( + "If you're just getting started with Nx, you can use generators to quickly scaffold new projects or add them manually." + + "
    If your Nx workspace is not at the root of the opened project, make sure to set the workspace path setting." + ) { + if (it.description.equals("open-setting")) { + ShowSettingsUtil.getInstance() + .showSettingsDialog( + project, + NxConsoleSettingsConfigurable::class.java + ) + } + } + } + } + } + } + + private fun setupToolbar() { + val tb = run { + val actionManager = ActionManager.getInstance() + val actionGroup = + DefaultActionGroup().apply { templatePresentation.text = "Nx Toolwindow" } + + val nxRunAnythingAction = + object : + AnAction( + "Execute Nx Targets", + "Execute Nx targets", + AllIcons.Actions.Run_anything + ) { + override fun actionPerformed(e: AnActionEvent) { + project.service().show("nx run", false, e) + } + } + + val refreshAction = + object : + RefreshAction( + "Reload Nx Projects", + "Reload Nx projects", + AllIcons.Actions.Refresh + ) { + override fun update(e: AnActionEvent) { + e.presentation.isEnabled = true + } + + override fun actionPerformed(e: AnActionEvent) { + NxRefreshWorkspaceAction().actionPerformed(e) + } + } + + val tree = projectStructure.tree + refreshAction.registerShortcutOn(tree) + + actionGroup.addAction(refreshAction) + actionGroup.addSeparator() + actionGroup.add(nxRunAnythingAction) + actionGroup.add( + actionManager.getAction("dev.nx.console.graph.actions.NxGraphSelectAllAction") + ) + actionGroup.addSeparator() + + val expander: TreeExpander = DefaultTreeExpander(tree) + val actions = CommonActionsManager.getInstance() + + val expandAllAction = actions.createExpandAllAction(expander, tree) + expandAllAction.templatePresentation.setIcon(AllIcons.Actions.Expandall) + + val collapseAllAction = actions.createCollapseAllAction(expander, tree) + collapseAllAction.templatePresentation.setIcon(AllIcons.Actions.Collapseall) + + actionGroup.add(expandAllAction) + actionGroup.add(collapseAllAction) + + actionManager.createActionToolbar(NX_TOOLBAR_PLACE, actionGroup, true) + } + tb.targetComponent = this + toolbar = tb.component + } + + private fun installListeners() { + with(project.messageBus.connect()) { + subscribe( + NxlsService.NX_WORKSPACE_REFRESH_TOPIC, + object : NxWorkspaceRefreshListener { + override fun onNxWorkspaceRefresh() { + invokeLater { createToolwindowContent() } + } + } + ) + subscribe( + NX_TOOLWINDOW_STYLE_SETTING_TOPIC, + object : NxToolWindowStyleSettingListener { + override fun onNxToolWindowStyleChange() { + invokeLater { createToolwindowContent() } + } + } + ) + } + } + + companion object { + const val NX_TOOLBAR_PLACE = "Nx Toolbar" } } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/NxTreeStructure.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/NxTreeStructure.kt index cbeb1a8020..c3cdae2316 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/NxTreeStructure.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/NxTreeStructure.kt @@ -8,7 +8,6 @@ import com.intellij.icons.AllIcons import com.intellij.lang.javascript.JavaScriptBundle import com.intellij.openapi.Disposable import com.intellij.openapi.actionSystem.* -import com.intellij.openapi.application.invokeLater import com.intellij.openapi.components.service import com.intellij.openapi.project.DumbAware import com.intellij.openapi.project.Project @@ -24,7 +23,6 @@ import dev.nx.console.graph.actions.NxGraphFocusProjectAction import dev.nx.console.graph.actions.NxGraphFocusTaskAction import dev.nx.console.graph.actions.NxGraphFocusTaskGroupAction import dev.nx.console.models.NxWorkspace -import dev.nx.console.nx_toolwindow.NxTaskSet import dev.nx.console.nx_toolwindow.actions.EditNxProjectConfigurationAction import dev.nx.console.nx_toolwindow.tree.builder.NxFolderTreeBuilder import dev.nx.console.nx_toolwindow.tree.builder.NxListTreeBuilder @@ -57,14 +55,12 @@ class NxTreeStructure( TreeUtil.installActions(tree) installPopupActions() treePersistenceManager.installPersistenceListeners() - invokeLater { updateNxProjects() } } override fun getRootElement(): Any = root - fun updateNxProjects() { + fun updateNxProjects(nxWorkspace: NxWorkspace) { CoroutineScope(Dispatchers.Default).launch { - val nxWorkspace = project.nxWorkspace() nxTreeBuilder = getTreeBuilder(nxWorkspace) root = nxTreeBuilder.buildRootNode() treeModel.invalidateAsync().await() @@ -241,3 +237,13 @@ class NxTreeStructure( override fun dispose() {} } + +data class NxTaskSet( + val nxProject: String, + val nxTarget: String, + val nxTargetConfiguration: String +) { + constructor(nxProject: String, nxTarget: String) : this(nxProject, nxTarget, "") {} + val suggestedName = + "${nxProject}:${nxTarget}${if(nxTargetConfiguration.isBlank().not()) ":$nxTargetConfiguration" else ""}" +} diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/builder/NxTreeBuilderBase.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/builder/NxTreeBuilderBase.kt index 9a6e2546a0..12b972b3a1 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/builder/NxTreeBuilderBase.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nx_toolwindow/tree/builder/NxTreeBuilderBase.kt @@ -46,6 +46,7 @@ abstract class NxTreeBuilderBase(private val nxWorkspace: NxWorkspace?) { return nxWorkspace.workspace.projects.values .flatMap { p -> p.targets.keys.map { it to p.name } } .groupBy { it.first } + .toSortedMap() .map { NxSimpleNode.TargetGroup(it.key, targetsSectionNode) } .toTypedArray() } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsProcess.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsProcess.kt index 4db9d6cfb0..187bc54806 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsProcess.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsProcess.kt @@ -95,8 +95,7 @@ class NxlsProcess(private val project: Project) { addParameter(lsp.path) addParameter("--stdio") - NodeCommandLineConfigurator.find(project.nodeInterpreter) - .configure(this, NodeCommandLineConfigurator.defaultOptions(project)) + NodeCommandLineConfigurator.find(project.nodeInterpreter).configure(this) } } } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsWrapper.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsWrapper.kt index 16b1931c9e..2cfa56d136 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsWrapper.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/NxlsWrapper.kt @@ -34,8 +34,8 @@ class NxlsWrapper(val project: Project) { var languageServer: NxlsLanguageServer? = null var languageClient: NxlsLanguageClient? = null + var initializeFuture: CompletableFuture? = null private var initializeResult: InitializeResult? = null - private var initializeFuture: CompletableFuture? = null private var connectedEditors = HashMap() @@ -172,14 +172,6 @@ class NxlsWrapper(val project: Project) { connectedEditors.put(getFilePath(editor.document), documentManager) } - private fun connectTextService(documentManager: DocumentManager) { - log.info("Connecting textService to ${documentManager.documentPath}") - val textService = - languageServer?.textDocumentService ?: return log.info("text service not ready") - documentManager.addTextDocumentService(textService) - documentManager.documentOpened() - } - fun disconnect(editor: Editor) { val filePath = getFilePath(editor.document) val documentManager = @@ -195,7 +187,15 @@ class NxlsWrapper(val project: Project) { return connectedEditors.contains(filePath) } - fun getInitParams(): InitializeParams { + private fun connectTextService(documentManager: DocumentManager) { + log.info("Connecting textService to ${documentManager.documentPath}") + val textService = + languageServer?.textDocumentService ?: return log.info("text service not ready") + documentManager.addTextDocumentService(textService) + documentManager.documentOpened() + } + + private fun getInitParams(): InitializeParams { val initParams = InitializeParams() initParams.workspaceFolders = listOf(WorkspaceFolder(nxlsWorkingPath(project.nxBasePath))) diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/NxService.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/NxService.kt index 963a063ec0..1c39dd388e 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/NxService.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/NxService.kt @@ -38,6 +38,13 @@ interface NxService { throw UnsupportedOperationException() } + @JsonRequest + fun projectsByPaths( + projectsByPathsRequest: NxProjectsByPathsRequest + ): CompletableFuture> { + throw UnsupportedOperationException() + } + @JsonRequest fun projectGraphOutput(): CompletableFuture { throw UnsupportedOperationException() @@ -52,6 +59,7 @@ interface NxService { fun projectFolderTree(): CompletableFuture { throw UnsupportedOperationException() } + @JsonNotification fun changeWorkspace(workspacePath: String) { throw UnsupportedOperationException() diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/requests/NxProjectsByPathsRequest.kt b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/requests/NxProjectsByPathsRequest.kt new file mode 100644 index 0000000000..675dc03a7a --- /dev/null +++ b/apps/intellij/src/main/kotlin/dev/nx/console/nxls/server/requests/NxProjectsByPathsRequest.kt @@ -0,0 +1,3 @@ +package dev.nx.console.nxls.server.requests + +data class NxProjectsByPathsRequest(val paths: Array) diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/run/NxRunConfigurationProducer.kt b/apps/intellij/src/main/kotlin/dev/nx/console/run/NxRunConfigurationProducer.kt index 6183a058b9..475a05e971 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/run/NxRunConfigurationProducer.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/run/NxRunConfigurationProducer.kt @@ -48,7 +48,8 @@ class NxRunConfigurationProducer : LazyRunConfigurationProducer): Map { + val request = NxProjectsByPathsRequest(paths) + return withMessageIssueCatch { + server()?.getNxService()?.projectsByPaths(request)?.await() + }() + ?: emptyMap() + } + suspend fun projectGraphOutput(): ProjectGraphOutput? { return withMessageIssueCatch { server()?.getNxService()?.projectGraphOutput()?.await() }() } @@ -117,6 +126,10 @@ class NxlsService(val project: Project) { }() } + suspend fun nxVersion(): NxVersion? { + return this.workspace()?.nxVersion + } + fun addDocument(editor: Editor) { wrapper.connect(editor) } @@ -133,12 +146,16 @@ class NxlsService(val project: Project) { return wrapper.isEditorConnected(editor) } + fun runAfterStarted(block: Runnable) { + wrapper.initializeFuture?.thenRun(block) + } + private fun withMessageIssueCatch(block: suspend () -> T): suspend () -> T? { return { try { block() } catch (e: MessageIssueException) { - Notifier.notifyLSPMessageIssueException(project, e) + Notifier.notifyLspMessageIssueExceptionThrottled(project, e) null } } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/settings/options/WorkspacePathSetting.kt b/apps/intellij/src/main/kotlin/dev/nx/console/settings/options/WorkspacePathSetting.kt index 3477182dd0..bacb20b3ea 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/settings/options/WorkspacePathSetting.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/settings/options/WorkspacePathSetting.kt @@ -12,6 +12,7 @@ import com.intellij.ui.dsl.builder.RowLayout import com.intellij.ui.dsl.gridLayout.HorizontalAlign import dev.nx.console.services.NxlsService import dev.nx.console.settings.NxConsoleSettingBase +import java.nio.file.Paths class WorkspacePathSetting(val project: Project) : NxConsoleSettingBase { @@ -43,10 +44,14 @@ class WorkspacePathSetting(val project: Project) : NxConsoleSettingBase } } - override fun getValue(): String? = inputField.text.ifEmpty { null } + override fun getValue(): String? = + inputField.text + .ifEmpty { null } + ?.let { Paths.get(project.basePath ?: "").relativize(Paths.get(it)).toString() } override fun setValue(value: String?) { if (value == null) return - this.inputField.text = value + val absolutePath = Paths.get(project.basePath ?: "").resolve(Paths.get(value)) + this.inputField.text = absolutePath.toString() } } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/ui/Notifier.kt b/apps/intellij/src/main/kotlin/dev/nx/console/ui/Notifier.kt index 452039c17c..55f1d5372f 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/ui/Notifier.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/ui/Notifier.kt @@ -7,14 +7,19 @@ import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.project.Project import dev.nx.console.NxConsoleBundle +import dev.nx.console.ide.project_json_inspection.AnalyzeNxConfigurationFilesNotificationAction import dev.nx.console.nxls.NxRefreshWorkspaceAction import dev.nx.console.telemetry.actions.TelemetryOptInAction import dev.nx.console.telemetry.actions.TelemetryOptOutAction +import dev.nx.console.utils.Throttler +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers import org.eclipse.lsp4j.jsonrpc.MessageIssueException class Notifier { companion object { val group = NotificationGroupManager.getInstance().getNotificationGroup("Nx Console") + fun notifyNxlsError(project: Project) { group .createNotification( @@ -62,16 +67,24 @@ class Notifier { ) } } + + private val lspIssueExceptionThrottler = + Throttler(1000L, CoroutineScope(Dispatchers.Default)) + fun notifyLspMessageIssueExceptionThrottled(project: Project, e: MessageIssueException) = + lspIssueExceptionThrottler.throttle { notifyLSPMessageIssueException(project, e) } fun notifyLSPMessageIssueException(project: Project, e: MessageIssueException) { - this.notifyAnything( - project, - "" + - "Nx Console ran into problems reading your workspace files:
    " + - "
    ${e.issues.first().cause.message}

    " + - "Make sure to double-check your project.json & nx.json files for syntax errors." + - "", - NotificationType.ERROR - ) + group + .createNotification( + "" + + "Nx Console ran into problems reading your workspace files:
    " + + "
    ${e.issues.first().cause.message}

    " + + "Make sure to double-check your project.json & nx.json files for syntax errors below." + + "", + NotificationType.ERROR + ) + .setTitle("Nx Console") + .addAction(AnalyzeNxConfigurationFilesNotificationAction()) + .notify(project) } fun notifyAnything( project: Project, diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/utils/FindNxConfigurationFiles.kt b/apps/intellij/src/main/kotlin/dev/nx/console/utils/FindNxConfigurationFiles.kt new file mode 100644 index 0000000000..c4a7a14361 --- /dev/null +++ b/apps/intellij/src/main/kotlin/dev/nx/console/utils/FindNxConfigurationFiles.kt @@ -0,0 +1,33 @@ +package dev.nx.console.utils + +import com.intellij.openapi.application.ReadAction +import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.LocalFileSystem +import com.intellij.openapi.vfs.VfsUtilCore +import com.intellij.openapi.vfs.VirtualFile +import com.intellij.openapi.vfs.VirtualFileVisitor + +fun findNxConfigurationFiles(project: Project, includeNxJson: Boolean = true): List { + val paths: MutableList = ArrayList() + ReadAction.run { + val startDirectory = LocalFileSystem.getInstance().findFileByPath(project.nxBasePath) + if (startDirectory != null) { + VfsUtilCore.visitChildrenRecursively( + startDirectory, + object : VirtualFileVisitor() { + override fun visitFile(file: VirtualFile): Boolean { + if ( + !file.isDirectory && + (file.name == "project.json" || + (includeNxJson && file.name == "nx.json")) + ) { + paths.add(file) + } + return true + } + } + ) + } + } + return paths +} diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxBasePath.kt b/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxBasePath.kt index 97807a1948..d2f3cc4d4c 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxBasePath.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxBasePath.kt @@ -2,6 +2,7 @@ package dev.nx.console.utils import com.intellij.openapi.project.Project import dev.nx.console.settings.NxConsoleProjectSettingsProvider +import java.nio.file.Paths /** * Get the base path of the current Nx project. Will get the settings first, then default to the @@ -9,5 +10,12 @@ import dev.nx.console.settings.NxConsoleProjectSettingsProvider */ val Project.nxBasePath: String get() = - NxConsoleProjectSettingsProvider.getInstance(this).workspacePath + basePath?.let { + val settingsPath = NxConsoleProjectSettingsProvider.getInstance(this).workspacePath + if (settingsPath == null) { + null + } else { + Paths.get(it).resolve(settingsPath).toString() + } + } ?: basePath ?: throw IllegalStateException("Base path is not found for project") diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxProjectJsonToProjectMap.kt b/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxProjectJsonToProjectMap.kt new file mode 100644 index 0000000000..b6799ccbd0 --- /dev/null +++ b/apps/intellij/src/main/kotlin/dev/nx/console/utils/NxProjectJsonToProjectMap.kt @@ -0,0 +1,54 @@ +package dev.nx.console.utils + +import com.intellij.json.psi.JsonFile +import com.intellij.openapi.components.Service +import com.intellij.openapi.project.Project +import com.intellij.psi.PsiFile +import dev.nx.console.models.NxProject +import dev.nx.console.services.NxWorkspaceRefreshListener +import dev.nx.console.services.NxlsService +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch + +@Service(Service.Level.PROJECT) +class NxProjectJsonToProjectMap(val project: Project) { + private val pathsToProjectsMap: MutableMap = mutableMapOf() + + fun init() { + CoroutineScope(Dispatchers.Default).launch { populateMap() } + with(project.messageBus.connect()) { + subscribe( + NxlsService.NX_WORKSPACE_REFRESH_TOPIC, + object : NxWorkspaceRefreshListener { + override fun onNxWorkspaceRefresh() { + CoroutineScope(Dispatchers.Default).launch { populateMap() } + } + } + ) + } + } + + fun getProjectForProjectJson(projectJsonFile: PsiFile): NxProject? { + if (projectJsonFile !is JsonFile) { + return null + } + if (projectJsonFile.name != "project.json") { + return null + } + return pathsToProjectsMap[projectJsonFile.virtualFile.path] + } + + private suspend fun populateMap() { + val paths = findNxConfigurationFiles(project, includeNxJson = false).map { it.path } + val projectsMap = NxlsService.getInstance(project).projectsByPaths(paths.toTypedArray()) + + pathsToProjectsMap.clear() + pathsToProjectsMap.putAll(projectsMap) + } + + companion object { + fun getInstance(project: Project): NxProjectJsonToProjectMap = + project.getService(NxProjectJsonToProjectMap::class.java) + } +} diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/utils/ProjectJsonPSIUtils.kt b/apps/intellij/src/main/kotlin/dev/nx/console/utils/ProjectJsonPSIUtils.kt index 85821b4d3e..b51d70079b 100644 --- a/apps/intellij/src/main/kotlin/dev/nx/console/utils/ProjectJsonPSIUtils.kt +++ b/apps/intellij/src/main/kotlin/dev/nx/console/utils/ProjectJsonPSIUtils.kt @@ -5,6 +5,7 @@ import com.intellij.json.psi.JsonFile import com.intellij.json.psi.JsonObject import com.intellij.json.psi.JsonProperty import com.intellij.json.psi.JsonStringLiteral +import com.intellij.openapi.project.Project import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile @@ -29,7 +30,7 @@ fun getPropertyNodeFromLeafNode(element: PsiElement): JsonProperty? { return parent.parentOfType() } -fun getNxTargetDescriptorFromNode(element: PsiElement): NxTargetDescriptor? { +fun getNxTargetDescriptorFromNode(element: PsiElement, project: Project): NxTargetDescriptor? { if (element.isValid.not()) { return null } @@ -40,13 +41,16 @@ fun getNxTargetDescriptorFromNode(element: PsiElement): NxTargetDescriptor? { val childPropertyLiteral = element.firstChild as? JsonStringLiteral ?: return null val nxTarget = childPropertyLiteral.value val nxProject = - (element - ?.parentOfType() - ?.parentOfType() - ?.findProperty("name") - ?.value as? JsonStringLiteral) - ?.value - ?: return null + NxProjectJsonToProjectMap.getInstance(project) + .getProjectForProjectJson(element.containingFile) + ?.name + ?: (element + .parentOfType() + ?.parentOfType() + ?.findProperty("name") + ?.value as? JsonStringLiteral) + ?.value + ?: return null return NxTargetDescriptor(nxProject, nxTarget) } diff --git a/apps/intellij/src/main/kotlin/dev/nx/console/utils/Throttler.kt b/apps/intellij/src/main/kotlin/dev/nx/console/utils/Throttler.kt new file mode 100644 index 0000000000..7bd5c7efaa --- /dev/null +++ b/apps/intellij/src/main/kotlin/dev/nx/console/utils/Throttler.kt @@ -0,0 +1,16 @@ +package dev.nx.console.utils + +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch + +class Throttler(private val waitMs: Long, private val scope: CoroutineScope) { + private var lastExecutionTime = 0L + + fun throttle(func: () -> Unit) { + val currentTime = System.currentTimeMillis() + if ((currentTime - lastExecutionTime) >= waitMs) { + lastExecutionTime = currentTime + scope.launch { func() } + } + } +} diff --git a/apps/intellij/src/main/resources/META-INF/plugin.xml b/apps/intellij/src/main/resources/META-INF/plugin.xml index 51fefd6dff..bc2ce2ceed 100644 --- a/apps/intellij/src/main/resources/META-INF/plugin.xml +++ b/apps/intellij/src/main/resources/META-INF/plugin.xml @@ -20,8 +20,6 @@ - - @@ -30,6 +28,11 @@ + + + + + - - - @@ -50,7 +50,6 @@ - + + + - diff --git a/apps/intellij/src/main/resources/generate_ui_v2/index.html b/apps/intellij/src/main/resources/generate_ui_v2/index.html index b577150494..71d1a876c4 100644 --- a/apps/intellij/src/main/resources/generate_ui_v2/index.html +++ b/apps/intellij/src/main/resources/generate_ui_v2/index.html @@ -5,10 +5,10 @@ Generate UI - + - + diff --git a/apps/nxls/src/main.ts b/apps/nxls/src/main.ts index c4af8276d7..d83b73243f 100644 --- a/apps/nxls/src/main.ts +++ b/apps/nxls/src/main.ts @@ -13,6 +13,7 @@ import { NxProjectByPathRequest, NxProjectFolderTreeRequest, NxProjectGraphOutputRequest, + NxProjectsByPathsRequest, NxVersionRequest, NxWorkspaceRefreshNotification, NxWorkspaceRequest, @@ -39,6 +40,7 @@ import { createProjectGraph, getGeneratorContextV2, getProjectFolderTree, + getProjectsByPaths, } from '@nx-console/language-server/workspace'; import { getNxJsonSchema, @@ -309,6 +311,19 @@ connection.onRequest( } ); +connection.onRequest( + NxProjectsByPathsRequest, + async (args: { paths: string[] }) => { + if (!WORKING_PATH) { + return new ResponseError( + 1000, + 'Unable to get Nx info: no workspace path' + ); + } + return getProjectsByPaths(args.paths, WORKING_PATH); + } +); + // TODO: REMOVE ONCE OLD GENERATE UI IS GONE connection.onRequest( NxGeneratorContextFromPathRequest, @@ -365,9 +380,7 @@ connection.onRequest(NxProjectFolderTreeRequest, async () => { if (!WORKING_PATH) { return new ResponseError(1000, 'Unable to get Nx info: no workspace path'); } - const res = await getProjectFolderTree(WORKING_PATH); - lspLogger.log(JSON.stringify(res)); - return res; + return await getProjectFolderTree(WORKING_PATH); }); connection.onNotification(NxWorkspaceRefreshNotification, async () => { diff --git a/apps/vscode/package.json b/apps/vscode/package.json index dd371474f6..0c01b004fe 100644 --- a/apps/vscode/package.json +++ b/apps/vscode/package.json @@ -92,6 +92,11 @@ "when": "isNxWorkspace", "group": "2_workspace@5", "command": "nx.graph.select" + }, + { + "when": "isNxWorkspace", + "group": "2_workspace@5", + "command": "nx.graph.task" } ], "view/title": [ @@ -150,7 +155,22 @@ { "command": "nx.graph.select.button", "when": "view == nxProjects && viewItem == project && isNxWorkspace", - "group": "navigation" + "group": "z_commands" + }, + { + "command": "nx.move.projectView", + "when": "view == nxProjects && viewItem == project && isNxWorkspace", + "group": "navigation@2" + }, + { + "command": "nx.remove.projectView", + "when": "view == nxProjects && viewItem == project && isNxWorkspace", + "group": "navigation@2" + }, + { + "command": "nx.generate.ui.projectView", + "when": "view == nxProjects && viewItem == project && isNxWorkspace && config.nxConsole.useNewGenerateUiPreview", + "group": "navigation@1" }, { "command": "nx.graph.task.button", @@ -168,11 +188,22 @@ "group": "inline" } ], + "editor/title": [ + { + "command": "nx.graph.refresh", + "group": "navigation", + "when": "graphWebviewVisible" + } + ], "commandPalette": [ { "command": "nx.generate.ui.fileexplorer", "when": "false" }, + { + "command": "nx.generate.ui.projectView", + "when": "false" + }, { "command": "nxConsole.runTask", "when": "false" @@ -225,6 +256,14 @@ "command": "nx.graph.select.button", "when": "false" }, + { + "command": "nx.move.projectView", + "when": "false" + }, + { + "command": "nx.remove.projectView", + "when": "false" + }, { "command": "nx.run-many", "when": "isNxWorkspace" @@ -347,11 +386,12 @@ { "category": "Nx", "title": "Refresh Nx Graph", - "command": "nx.graph.refresh" + "command": "nx.graph.refresh", + "icon": "$(refresh)" }, { "category": "Nx", - "title": "Focus in Nx Graph", + "title": "Focus Project in Nx Graph", "command": "nx.graph.focus" }, { @@ -440,19 +480,34 @@ }, { "category": "Nx", - "title": "Nx generate...", + "title": "Nx generate", "command": "nx.generate.ui.fileexplorer" }, { "category": "Nx", - "title": "Move Nx Project...", + "title": "Nx generate", + "command": "nx.generate.ui.projectView" + }, + { + "category": "Nx", + "title": "Move Nx Project", "command": "nx.move" }, { "category": "Nx", - "title": "Remove Nx Project...", + "title": "Remove Nx Project", "command": "nx.remove" }, + { + "category": "Nx", + "title": "Move Nx Project", + "command": "nx.move.projectView" + }, + { + "category": "Nx", + "title": "Remove Nx Project", + "command": "nx.remove.projectView" + }, { "category": "Nx", "title": "Run Target from selected file", @@ -654,6 +709,10 @@ { "view": "nxConsole.views.angular-welcome", "contents": "Nx Console no longer supports Angular CLI workspaces.\nHowever, Nx now supports a [Standalone App workspace](https://nx.dev/getting-started/angular-standalone-tutorial) setup aimed at non-monorepo scenarios. This setup is identical to a typical Angular CLI workspace and allows for leveraging all Nx features, including:\n- [Modularizing your codebase](https://nx.dev/more-concepts/applications-and-libraries) with local libraries\n- [Powerful generators and plugins](https://nx.dev/plugin-features/use-code-generators) from the team and the Nx community (Jest, Cypress, Tailwind, Storybook, NgRx, etc.)\n- [Visualizing your workspace structure](https://nx.dev/core-features/explore-graph)\n- [Task caching](https://nx.dev/core-features/cache-task-results) to speed up your runs and CI\nFurthermore, if you ever want to migrate to a monorepo, it can be done easily.\nMigrating from the Angular CLI to Nx is fully automated and won’t change your workspace structure. Click the button below to run the migration and convert your workspace. Make sure to commit all changes first.\n[Migrate to Nx](command:nxConsole.migrateAngularCliToNx)" + }, + { + "view": "nxProjects", + "contents": "We couldn't find any projects in this workspace. \n Make sure that the proper dependencies are installed locally and refresh the workspace. \n [Refresh Workspace](command:nxConsole.refreshWorkspace)\n If you're just getting started with Nx, you can [use generators](https://nx.dev/plugin-features/use-code-generators) to quickly scaffold new projects or [add them manually](https://nx.dev/reference/project-configuration)." } ], "walkthroughs": [ diff --git a/apps/vscode/src/main.ts b/apps/vscode/src/main.ts index 6e837a653e..a9779d0f71 100644 --- a/apps/vscode/src/main.ts +++ b/apps/vscode/src/main.ts @@ -1,15 +1,15 @@ import { existsSync } from 'fs'; import { dirname, join, parse } from 'path'; import { - commands, ExtensionContext, ExtensionMode, FileSystemWatcher, RelativePattern, - tasks, TreeItem, TreeView, Uri, + commands, + tasks, window, workspace, } from 'vscode'; @@ -21,8 +21,8 @@ import { } from '@nx-console/vscode/configuration'; import { initNxCommandsView } from '@nx-console/vscode/nx-commands-view'; import { - initNxProjectView, NxProjectTreeProvider, + initNxProjectView, } from '@nx-console/vscode/nx-project-view'; import { LOCATE_YOUR_WORKSPACE, @@ -41,36 +41,31 @@ import { watchFile, } from '@nx-console/vscode/utils'; import { revealWebViewPanel } from '@nx-console/vscode/webview'; -import { environment } from './environments/environment'; import { fileExists } from '@nx-console/shared/file-system'; -import { enableTypeScriptPlugin } from '@nx-console/vscode/typescript-plugin'; import { AddDependencyCodelensProvider, registerVscodeAddDependency, } from '@nx-console/vscode/add-dependency'; +import { + initGenerateUiWebview, + openGenerateUi, +} from '@nx-console/vscode/generate-ui-webview'; import { configureLspClient } from '@nx-console/vscode/lsp-client'; +import { initNxCloudOnboardingView } from '@nx-console/vscode/nx-cloud-view'; +import { initNxConfigDecoration } from '@nx-console/vscode/nx-config-decoration'; +import { initNxConversion } from '@nx-console/vscode/nx-conversion'; import { NxHelpAndFeedbackProvider, NxHelpAndFeedbackTreeItem, } from '@nx-console/vscode/nx-help-and-feedback-view'; +import { getNxWorkspace, stopDaemon } from '@nx-console/vscode/nx-workspace'; import { projectGraph } from '@nx-console/vscode/project-graph'; +import { enableTypeScriptPlugin } from '@nx-console/vscode/typescript-plugin'; import { - refreshWorkspace, REFRESH_WORKSPACE, + refreshWorkspace, } from './commands/refresh-workspace'; -import { - getGenerators, - getNxWorkspace, - stopDaemon, - WorkspaceCodeLensProvider, -} from '@nx-console/vscode/nx-workspace'; -import { initNxCloudOnboardingView } from '@nx-console/vscode/nx-cloud-view'; -import { initNxConversion } from '@nx-console/vscode/nx-conversion'; -import { - initGenerateUiWebview, - openGenerateUi, -} from '@nx-console/vscode/generate-ui-webview'; let runTargetTreeView: TreeView; let nxHelpAndFeedbackTreeView: TreeView; @@ -83,6 +78,8 @@ let workspaceFileWatcher: FileSystemWatcher | undefined; let isNxWorkspace = false; +let hasInitializedExtensionPoints = false; + export async function activate(c: ExtensionContext) { try { const startTime = Date.now(); @@ -116,7 +113,7 @@ export async function activate(c: ExtensionContext) { const manuallySelectWorkspaceDefinitionCommand = commands.registerCommand( LOCATE_YOUR_WORKSPACE.command?.command || '', async () => { - return manuallySelectWorkspaceDefinition(); + manuallySelectWorkspaceDefinition(); } ); const vscodeWorkspacePath = @@ -173,7 +170,7 @@ function manuallySelectWorkspaceDefinition() { .then((value) => { if (value && value[0]) { const selectedDirectory = value[0].fsPath; - return setWorkspace(selectedDirectory); + setWorkspace(selectedDirectory); } }); } else { @@ -221,17 +218,19 @@ async function setWorkspace(workspacePath: string) { WorkspaceConfigurationStore.instance.set('nxWorkspacePath', workspacePath); - const lspContext = configureLspClient(context, REFRESH_WORKSPACE); + configureLspClient(context, REFRESH_WORKSPACE); // Set the NX_WORKSPACE_ROOT_PATH as soon as possible so that the nx utils can get this. process.env.NX_WORKSPACE_ROOT_PATH = workspacePath; - setApplicationAndLibraryContext(workspacePath); - isNxWorkspace = await checkIsNxWorkspace(workspacePath); const isAngularWorkspace = existsSync(join(workspacePath, 'angular.json')); - if (!(isAngularWorkspace && !isNxWorkspace)) { + if ( + !(isAngularWorkspace && !isNxWorkspace) && + !hasInitializedExtensionPoints + ) { + hasInitializedExtensionPoints = true; registerNxCommands(context); tasks.registerTaskProvider('nx', CliTaskProvider.instance); registerCliTaskCommands(context); @@ -250,82 +249,28 @@ async function setWorkspace(workspacePath: string) { treeDataProvider: new NxHelpAndFeedbackProvider(context), }); - // registers itself as a CodeLensProvider and watches config to dispose/re-register - - new WorkspaceCodeLensProvider(context); + initNxConfigDecoration(context); new AddDependencyCodelensProvider(context); - context.subscriptions.push(nxHelpAndFeedbackTreeView, lspContext); + context.subscriptions.push(nxHelpAndFeedbackTreeView); } else { WorkspaceConfigurationStore.instance.set('nxWorkspacePath', workspacePath); } - commands.executeCommand( - 'setContext', - 'isAngularWorkspace', - isAngularWorkspace - ); - commands.executeCommand('setContext', 'isNxWorkspace', isNxWorkspace); - registerWorkspaceFileWatcher(context, workspacePath); currentRunTargetTreeProvider?.refresh(); nxProjectsTreeProvider?.refresh(); - let workspaceType: 'nx' | 'angular' | 'angularWithNx' = 'nx'; - if (isNxWorkspace && isAngularWorkspace) { - workspaceType = 'angularWithNx'; - } else if (isNxWorkspace && !isAngularWorkspace) { - workspaceType = 'nx'; - } else if (!isNxWorkspace && isAngularWorkspace) { - workspaceType = 'angular'; - } - - if (workspaceType === 'angular') { - initNxConversion(context); - } -} - -async function setApplicationAndLibraryContext(workspacePath: string) { - const { workspaceLayout } = await getNxWorkspace(); - - if (workspaceLayout.appsDir) { - commands.executeCommand('setContext', 'nxAppsDir', [ - join(workspacePath, workspaceLayout.appsDir), - ]); - } - if (workspaceLayout.libsDir) { - commands.executeCommand('setContext', 'nxLibsDir', [ - join(workspacePath, workspaceLayout.libsDir), - ]); - } - - const generatorCollections = await getGenerators(); - - let hasApplicationGenerators = false; - let hasLibraryGenerators = false; - - generatorCollections.forEach((generatorCollection) => { - if (generatorCollection.data) { - if (generatorCollection.data.type === 'application') { - hasApplicationGenerators = true; - } else if (generatorCollection.data.type === 'library') { - hasLibraryGenerators = true; - } - } - }); - commands.executeCommand( 'setContext', - 'nx.hasApplicationGenerators', - hasApplicationGenerators - ); - commands.executeCommand( - 'setContext', - 'nx.hasLibraryGenerators', - hasLibraryGenerators + 'isAngularWorkspace', + isAngularWorkspace ); + commands.executeCommand('setContext', 'isNxWorkspace', isNxWorkspace); + + initNxConversion(context, isAngularWorkspace, isNxWorkspace); } async function registerWorkspaceFileWatcher( diff --git a/libs/generate-ui/feature-task-execution-form/src/lib/ide-communication/ide-communication.service.ts b/libs/generate-ui/feature-task-execution-form/src/lib/ide-communication/ide-communication.service.ts index 7fd65d830c..b5f20fbc06 100644 --- a/libs/generate-ui/feature-task-execution-form/src/lib/ide-communication/ide-communication.service.ts +++ b/libs/generate-ui/feature-task-execution-form/src/lib/ide-communication/ide-communication.service.ts @@ -122,7 +122,6 @@ export class IdeCommunicationService { (option.items as string[]).length === 0 ) && option['x-priority'] !== 'internal'; - console.log(TaskExecutionInputMessageType); switch (message.payloadType) { case TaskExecutionInputMessageType.SetTaskExecutionSchema: { const schema = message.payload; diff --git a/libs/language-server/types/src/index.ts b/libs/language-server/types/src/index.ts index eb3cecb18e..18a6529184 100644 --- a/libs/language-server/types/src/index.ts +++ b/libs/language-server/types/src/index.ts @@ -1,17 +1,13 @@ -import { - NotificationType, - RequestType, - ResponseError, -} from 'vscode-languageserver/node'; -import { NxWorkspace, TreeMap, TreeNode } from '@nx-console/shared/types'; +import { GeneratorContext } from '@nx-console/shared/generate-ui-types'; import { CollectionInfo, Option, TaskExecutionSchema, } from '@nx-console/shared/schema'; +import { NxWorkspace, TreeNode } from '@nx-console/shared/types'; import type { ProjectConfiguration } from 'nx/src/devkit-exports'; import { SemVer } from 'semver'; -import { GeneratorContext } from '@nx-console/shared/generate-ui-types'; +import { NotificationType, RequestType } from 'vscode-languageserver/node'; export const NxChangeWorkspace: NotificationType = new NotificationType( 'nx/changeWorkspace' @@ -57,6 +53,12 @@ export const NxProjectByPathRequest: RequestType< unknown > = new RequestType('nx/projectByPath'); +export const NxProjectsByPathsRequest: RequestType< + { paths: string[] }, + { [path: string]: ProjectConfiguration | undefined }, + unknown +> = new RequestType('nx/projectsByPaths'); + export const NxGeneratorContextFromPathRequest: RequestType< { generator?: TaskExecutionSchema; diff --git a/libs/language-server/watcher/src/lib/watcher.ts b/libs/language-server/watcher/src/lib/watcher.ts index 67b2b8abbe..f78a9604fb 100644 --- a/libs/language-server/watcher/src/lib/watcher.ts +++ b/libs/language-server/watcher/src/lib/watcher.ts @@ -22,7 +22,7 @@ export async function languageServerWatcher( ) ) { lspLogger.log('Project configuration changed'); - debounce(callback, 200)(); + debounce(callback, 500)(); } }, watcherOptions(workspacePath) diff --git a/libs/language-server/workspace/src/lib/create-project-graph.ts b/libs/language-server/workspace/src/lib/create-project-graph.ts index a73c381ad4..5afa423eb8 100644 --- a/libs/language-server/workspace/src/lib/create-project-graph.ts +++ b/libs/language-server/workspace/src/lib/create-project-graph.ts @@ -21,7 +21,6 @@ export async function createProjectGraph( cwd: workspacePath, displayCommand: 'nx dep-graph --file ' + projectGraphOutput.relativePath, encapsulatedNx: isEncapsulatedNx, - useNpx: true, }); logger.log(`Generating graph with command: \`${command}\``); diff --git a/libs/language-server/workspace/src/lib/get-project-by-path.ts b/libs/language-server/workspace/src/lib/get-project-by-path.ts index 9bd3fc994a..e6007d3331 100644 --- a/libs/language-server/workspace/src/lib/get-project-by-path.ts +++ b/libs/language-server/workspace/src/lib/get-project-by-path.ts @@ -1,56 +1,91 @@ -import type { ProjectConfiguration } from 'nx/src/devkit-exports'; import { directoryExists } from '@nx-console/shared/file-system'; +import type { ProjectConfiguration } from 'nx/src/devkit-exports'; import { isAbsolute, join, normalize, relative, sep } from 'path'; import { nxWorkspace } from './workspace'; export async function getProjectByPath( - selectedPath: string | undefined, + path: string, workspacePath: string -): Promise { - if (!selectedPath) { - return null; +): Promise { + const projectsMap = await getProjectsByPaths([path], workspacePath); + return projectsMap?.[path] || undefined; +} + +export async function getProjectsByPaths( + paths: string[] | undefined, + workspacePath: string +): Promise | undefined> { + if (!paths) { + return undefined; } const { workspace } = await nxWorkspace(workspacePath); - - const relativeFilePath = relative(workspacePath, selectedPath); - const isDirectory = await directoryExists(selectedPath); + const pathsMap = new Map< + string, + { relativePath: string; isDirectory: boolean } + >(); + for (const path of paths) { + pathsMap.set(path, { + relativePath: relative(workspacePath, path), + isDirectory: await directoryExists(path), + }); + } const projectEntries = Object.entries(workspace.projects); - let foundProject: ProjectConfiguration | null = null; + const foundProjects: Map = new Map(); for (const [projectName, projectConfig] of projectEntries) { - const isChildOfRoot = isChildOrEqual(projectConfig.root, relativeFilePath); - const relativeRootConfig = projectConfig.sourceRoot - ? relative(workspacePath, projectConfig.sourceRoot) - : undefined; - const isChildOfRootConfig = - relativeRootConfig && - isChildOrEqual(relativeRootConfig, relativeFilePath); - + // If there is no files array, it's an old version of Nx and we need backwards compatibility if (!projectConfig.files) { - foundProject = findByFilePath( - [projectName, projectConfig], - workspacePath, - selectedPath - ); - } else if (isDirectory && (isChildOfRoot || isChildOfRootConfig)) { - foundProject = projectConfig; - } else if ( - !isDirectory && - projectConfig.files.some( - ({ file }) => normalize(file) === relativeFilePath - ) - ) { - foundProject = projectConfig; + new Map(pathsMap).forEach((_, path) => { + const foundProject = findByFilePath( + [projectName, projectConfig], + workspacePath, + path + ); + if (foundProject) { + foundProjects.set(path, foundProject); + pathsMap.delete(path); + } + }); + continue; } - if (foundProject) { + // project check for directories + new Map(pathsMap).forEach(({ relativePath, isDirectory }, path) => { + if (!isDirectory) return; + + const isChildOfRoot = isChildOrEqual(projectConfig.root, relativePath); + const relativeRootConfig = projectConfig.sourceRoot + ? relative(workspacePath, projectConfig.sourceRoot) + : undefined; + const isChildOfRootConfig = + relativeRootConfig && isChildOrEqual(relativeRootConfig, relativePath); + + if (isChildOfRoot || isChildOfRootConfig) { + foundProjects.set(path, projectConfig); + pathsMap.delete(path); + } + }); + + // iterate over the project files once and find all the paths that match + const nonDirectoryPaths = [...pathsMap.entries()].filter( + ([_, { isDirectory }]) => !isDirectory + ); + projectConfig.files?.forEach(({ file }) => { + for (const [path, { relativePath }] of nonDirectoryPaths) { + if (file === relativePath) { + foundProjects.set(path, projectConfig); + pathsMap.delete(path); + } + } + }); + + if (pathsMap.size === 0) { break; } } - - return foundProject; + return Object.fromEntries(foundProjects); } /** This is only used for backwards compatibility */ diff --git a/libs/language-server/workspace/src/lib/get-project-folder-tree.ts b/libs/language-server/workspace/src/lib/get-project-folder-tree.ts index 13f596ecbb..1804aa9c38 100644 --- a/libs/language-server/workspace/src/lib/get-project-folder-tree.ts +++ b/libs/language-server/workspace/src/lib/get-project-folder-tree.ts @@ -93,5 +93,8 @@ export async function getProjectFolderTree(workspacePath: string): Promise<{ node, }) ); - return { serializedTreeMap, roots: [...roots] }; + const sortedRoots = Array.from(roots).sort((a, b) => { + return a.dir.localeCompare(b.dir); + }); + return { serializedTreeMap, roots: sortedRoots }; } diff --git a/libs/shared/file-system/src/lib/cache-json.ts b/libs/shared/file-system/src/lib/cache-json.ts index cc0bcb97b8..2133ac27b2 100644 --- a/libs/shared/file-system/src/lib/cache-json.ts +++ b/libs/shared/file-system/src/lib/cache-json.ts @@ -1,6 +1,6 @@ import * as path from 'path'; -import { PosixFS, ZipOpenFS } from '@yarnpkg/fslib'; -import { getLibzipSync as libzip } from '@yarnpkg/libzip'; +import { PosixFS } from '@yarnpkg/fslib'; +import { ZipOpenFS, getLibzipSync as libzip } from '@yarnpkg/libzip'; import { parse as parseJson, ParseError } from 'jsonc-parser'; diff --git a/libs/shared/generate-ui-types/src/lib/messages.ts b/libs/shared/generate-ui-types/src/lib/messages.ts index 7b201048ef..56c1ae3654 100644 --- a/libs/shared/generate-ui-types/src/lib/messages.ts +++ b/libs/shared/generate-ui-types/src/lib/messages.ts @@ -92,6 +92,7 @@ export type GenerateUiStyles = { badgeBackgroundColor: string; separatorColor: string; fieldNavHoverColor: string; + scrollbarThumbColor: string; fontFamily: string; fontSize: string; }; diff --git a/libs/shared/utils/src/lib/get-nx-execution-command.ts b/libs/shared/utils/src/lib/get-nx-execution-command.ts index d5c5876a06..444ee94916 100644 --- a/libs/shared/utils/src/lib/get-nx-execution-command.ts +++ b/libs/shared/utils/src/lib/get-nx-execution-command.ts @@ -11,7 +11,6 @@ export function getNxExecutionCommand(config: { cwd: string; displayCommand: string; encapsulatedNx: boolean; - useNpx?: boolean; }): string { let command = config.displayCommand; if (config.encapsulatedNx) { @@ -21,13 +20,9 @@ export function getNxExecutionCommand(config: { command = command.replace(/^nx/, './nx'); } } else { - if (config.useNpx) { - command = `npx ${command}`; - } else { - const packageManager = detectPackageManager(config.cwd); - const packageManagerCommand = getPackageManagerCommand(packageManager); - command = `${packageManagerCommand.exec} ${command}`; - } + const packageManager = detectPackageManager(config.cwd); + const packageManagerCommand = getPackageManagerCommand(packageManager); + command = `${packageManagerCommand.exec} ${command}`; } return command; diff --git a/libs/vscode/generate-ui-webview/src/lib/generate-commands.ts b/libs/vscode/generate-ui-webview/src/lib/generate-commands.ts index d2ddc17016..bb6875da18 100644 --- a/libs/vscode/generate-ui-webview/src/lib/generate-commands.ts +++ b/libs/vscode/generate-ui-webview/src/lib/generate-commands.ts @@ -10,6 +10,10 @@ import { } from '@nx-console/vscode/nx-cli-quickpicks'; import { openGenerateUi } from './init-generate-ui-webview'; import { RunTargetTreeItem } from '@nx-console/vscode/nx-run-target-view'; +import { + NxTreeItem, + ProjectViewItem, +} from '@nx-console/vscode/nx-project-view'; export async function registerGenerateCommands(context: ExtensionContext) { commands.registerCommand(`nx.generate`, async () => { @@ -38,30 +42,31 @@ export async function registerGenerateCommands(context: ExtensionContext) { showGenerateUi(context.extensionPath, uri); }); + commands.registerCommand( + 'nx.generate.ui.projectView', + (treeItem: NxTreeItem) => { + getTelemetry().featureUsed('nx.generate.fileexplorer.projectView'); + openGenerateUi( + undefined, + undefined, + (treeItem.item as ProjectViewItem).nxProject.project + ); + } + ); + /** * move and remove were release in patch 8.11 */ const version = await getNxVersion(); if (version.major >= 8) { - commands.registerCommand(`nx.move`, async (uri: Uri) => { + commands.registerCommand(`nx.move`, async (uri?: Uri) => { getTelemetry().featureUsed('nx.move'); const generator = await selectReMoveGenerator(uri?.toString(), 'move'); if (!generator) { return; } - const newGenUi = GlobalConfigurationStore.instance.get( - 'useNewGenerateUiPreview' - ); - if (newGenUi) { - openGenerateUi(uri, generator); - } else { - showGenerateUi( - context.extensionPath, - uri, - GeneratorType.Other, - generator - ); - } + + openReMoveGenerator(generator, uri, undefined); }); commands.registerCommand(`nx.remove`, async (uri?: Uri) => { @@ -70,11 +75,52 @@ export async function registerGenerateCommands(context: ExtensionContext) { if (!generator) { return; } + + openReMoveGenerator(generator, uri, undefined); + }); + + commands.registerCommand( + `nx.move.projectView`, + async (treeItem?: NxTreeItem) => { + getTelemetry().featureUsed('nx.move.projectView'); + const generator = await selectReMoveGenerator(undefined, 'move'); + if (!generator) { + return; + } + + const projectName = (treeItem?.item as ProjectViewItem).nxProject + .project; + + openReMoveGenerator(generator, undefined, projectName); + } + ); + + commands.registerCommand( + `nx.remove.projectView`, + async (treeItem?: NxTreeItem) => { + getTelemetry().featureUsed('nx.remove.projectView'); + const generator = await selectReMoveGenerator(undefined, 'remove'); + if (!generator) { + return; + } + + const projectName = (treeItem?.item as ProjectViewItem).nxProject + .project; + + openReMoveGenerator(generator, undefined, projectName); + } + ); + + const openReMoveGenerator = ( + generator: string, + uri: Uri | undefined, + projectName: string | undefined + ) => { const newGenUi = GlobalConfigurationStore.instance.get( 'useNewGenerateUiPreview' ); if (newGenUi) { - openGenerateUi(uri, generator); + openGenerateUi(uri, generator, projectName); } else { showGenerateUi( context.extensionPath, @@ -83,7 +129,7 @@ export async function registerGenerateCommands(context: ExtensionContext) { generator ); } - }); + }; } } diff --git a/libs/vscode/generate-ui-webview/src/lib/generate-ui-webview.ts b/libs/vscode/generate-ui-webview/src/lib/generate-ui-webview.ts index 770ef9212f..027d298002 100644 --- a/libs/vscode/generate-ui-webview/src/lib/generate-ui-webview.ts +++ b/libs/vscode/generate-ui-webview/src/lib/generate-ui-webview.ts @@ -225,6 +225,7 @@ export class GenerateUiWebview { --foreground-color: var(--vscode-editor-foreground); --background-color: var(--vscode-editor-background); --primary-color: var(--button-primary-background); + --secondary-color: var(--button-secondary-background); --error-color: var(--vscode-inputValidation-errorBorder); --field-border-color: var(--panel-view-border); --focus-border-color: var(--vscode-focusBorder); diff --git a/libs/vscode/generate-ui-webview/src/lib/init-generate-ui-webview.ts b/libs/vscode/generate-ui-webview/src/lib/init-generate-ui-webview.ts index 2a8ed7a400..a277d6fe35 100644 --- a/libs/vscode/generate-ui-webview/src/lib/init-generate-ui-webview.ts +++ b/libs/vscode/generate-ui-webview/src/lib/init-generate-ui-webview.ts @@ -19,15 +19,26 @@ export async function initGenerateUiWebview(context: ExtensionContext) { registerGenerateCommands(context); } -export async function openGenerateUi(contextUri?: Uri, generatorName?: string) { +export async function openGenerateUi( + contextUri?: Uri, + generatorName?: string, + projectName?: string +) { const generator = await getGenerator(generatorName); if (!generator) { return; } - const generatorContext = contextUri + let generatorContext = contextUri ? await getGeneratorContextV2(contextUri.fsPath) - : undefined; + : {}; + + if (projectName) { + generatorContext = { + ...generatorContext, + project: projectName, + }; + } generateUIWebview.openGenerateUi( await augmentGeneratorSchema({ diff --git a/libs/vscode/lsp-client/src/lib/configure-lsp-client.ts b/libs/vscode/lsp-client/src/lib/configure-lsp-client.ts index 4d17b38102..c5d9d9997c 100644 --- a/libs/vscode/lsp-client/src/lib/configure-lsp-client.ts +++ b/libs/vscode/lsp-client/src/lib/configure-lsp-client.ts @@ -20,12 +20,10 @@ let client: LanguageClient | undefined; export function configureLspClient( context: ExtensionContext, refreshCommand: string | undefined -): Disposable { +) { if (client) { sendNotification(NxChangeWorkspace, getWorkspacePath()); - return { - dispose, - }; + return; } const serverModule = context.asAbsolutePath(join('nxls', 'main.js')); @@ -73,9 +71,7 @@ export function configureLspClient( } }); - return { - dispose, - }; + context.subscriptions.push({ dispose }); } function dispose() { diff --git a/libs/vscode/nx-config-decoration/.eslintrc.json b/libs/vscode/nx-config-decoration/.eslintrc.json new file mode 100644 index 0000000000..3456be9b90 --- /dev/null +++ b/libs/vscode/nx-config-decoration/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["../../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/libs/vscode/nx-config-decoration/README.md b/libs/vscode/nx-config-decoration/README.md new file mode 100644 index 0000000000..846f73e3d2 --- /dev/null +++ b/libs/vscode/nx-config-decoration/README.md @@ -0,0 +1,3 @@ +# vscode-nx-config-decoration + +This library was generated with [Nx](https://nx.dev). diff --git a/libs/vscode/nx-config-decoration/project.json b/libs/vscode/nx-config-decoration/project.json new file mode 100644 index 0000000000..32221c5d36 --- /dev/null +++ b/libs/vscode/nx-config-decoration/project.json @@ -0,0 +1,16 @@ +{ + "name": "vscode-nx-config-decoration", + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "libs/vscode/nx-config-decoration/src", + "projectType": "library", + "targets": { + "lint": { + "executor": "@nx/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/vscode/nx-config-decoration/**/*.ts"] + } + } + }, + "tags": ["type:vscode"] +} diff --git a/libs/vscode/nx-config-decoration/src/index.ts b/libs/vscode/nx-config-decoration/src/index.ts new file mode 100644 index 0000000000..a6863ab295 --- /dev/null +++ b/libs/vscode/nx-config-decoration/src/index.ts @@ -0,0 +1,2 @@ +export * from './lib/init-config-decoration'; +export * from './lib/reveal-nx-project'; diff --git a/libs/vscode/nx-workspace/src/lib/find-workspace-json-target.ts b/libs/vscode/nx-config-decoration/src/lib/get-project-locations.ts similarity index 87% rename from libs/vscode/nx-workspace/src/lib/find-workspace-json-target.ts rename to libs/vscode/nx-config-decoration/src/lib/get-project-locations.ts index f6b02ec859..a151188cb1 100644 --- a/libs/vscode/nx-workspace/src/lib/find-workspace-json-target.ts +++ b/libs/vscode/nx-config-decoration/src/lib/get-project-locations.ts @@ -1,4 +1,4 @@ -import { TextDocument } from 'vscode'; +import { Position, TextDocument } from 'vscode'; import type * as typescript from 'typescript'; import { isObjectLiteralExpression, @@ -61,6 +61,20 @@ export function getProjectLocations(document: TextDocument, projectName = '') { return projectLocations; } +export function getTargetsPropertyLocation( + document: TextDocument +): Position | undefined { + const json = parseJsonText('project.json', document.getText()); + const statement = json.statements[0]; + + const targetsProperty = getProperties(statement.expression)?.filter( + (prop) => getPropertyName(prop) === 'targets' + )?.[0]; + if (!targetsProperty) { + return; + } + return document.positionAt(targetsProperty.getStart(json)); +} function getProperties( objectLiteral: typescript.Node diff --git a/libs/vscode/nx-config-decoration/src/lib/init-config-decoration.ts b/libs/vscode/nx-config-decoration/src/lib/init-config-decoration.ts new file mode 100644 index 0000000000..a45d171221 --- /dev/null +++ b/libs/vscode/nx-config-decoration/src/lib/init-config-decoration.ts @@ -0,0 +1,62 @@ +import { GlobalConfigurationStore } from '@nx-console/vscode/configuration'; +import { + ConfigurationChangeEvent, + Disposable, + ExtensionContext, + languages, + workspace, +} from 'vscode'; +import { WorkspaceCodeLensProvider } from './workspace-codelens-provider'; +import { updatePluginTargetDecorationsOnEditorChange } from './plugin-target-decorations'; + +let codeLensProvider: Disposable | null; + +export function initNxConfigDecoration(context: ExtensionContext) { + registerWorkspaceCodeLensProvider(context); + watchWorkspaceCodeLensConfigChange(context); + updatePluginTargetDecorationsOnEditorChange(context); +} + +/** + * Checks the enableWorkspaceConfigCodeLens setting and registers this as a CodeLensProvider. + * @param context instance of ExtensionContext from activate + */ +function registerWorkspaceCodeLensProvider(context: ExtensionContext) { + const enableWorkspaceConfigCodeLens = GlobalConfigurationStore.instance.get( + 'enableWorkspaceConfigCodeLens' + ); + if (enableWorkspaceConfigCodeLens) { + codeLensProvider = languages.registerCodeLensProvider( + { pattern: '**/{workspace,project}.json' }, + new WorkspaceCodeLensProvider() + ); + context.subscriptions.push(codeLensProvider); + } +} + +/** + * Watches for settings/configuration changes and enables/disables the CodeLensProvider + * @param context instance of ExtensionContext from activate + */ +function watchWorkspaceCodeLensConfigChange(context: ExtensionContext) { + context.subscriptions.push( + workspace.onDidChangeConfiguration((event: ConfigurationChangeEvent) => { + // if the `nxConsole` config changes, check enableWorkspaceConfigCodeLens and register or dispose + const affectsNxConsoleConfig = event.affectsConfiguration( + GlobalConfigurationStore.configurationSection + ); + if (affectsNxConsoleConfig) { + const enableWorkspaceConfigCodeLens = + GlobalConfigurationStore.instance.get( + 'enableWorkspaceConfigCodeLens' + ); + if (enableWorkspaceConfigCodeLens && !codeLensProvider) { + registerWorkspaceCodeLensProvider(context); + } else if (!enableWorkspaceConfigCodeLens && codeLensProvider) { + codeLensProvider.dispose(); + codeLensProvider = null; + } + } + }) + ); +} diff --git a/libs/vscode/nx-config-decoration/src/lib/plugin-target-decorations.ts b/libs/vscode/nx-config-decoration/src/lib/plugin-target-decorations.ts new file mode 100644 index 0000000000..94822790ab --- /dev/null +++ b/libs/vscode/nx-config-decoration/src/lib/plugin-target-decorations.ts @@ -0,0 +1,93 @@ +import { + ObjectLiteralElementLike, + ObjectLiteralExpression, + isPropertyAssignment, + isStringLiteral, + parseJsonText, +} from 'typescript'; +import typescript = require('typescript'); +import { + CancellationToken, + ExtensionContext, + FileDecoration, + FileDecorationProvider, + ProviderResult, + TextEditor, + ThemeColor, + Uri, + window, + Range, +} from 'vscode'; + +const pluginTargetDecorationType = window.createTextEditorDecorationType({ + isWholeLine: true, +}); + +export function updatePluginTargetDecorationsOnEditorChange( + context: ExtensionContext +) { + window.onDidChangeActiveTextEditor( + (editor) => { + if (editor) { + // updateDecorations(editor); + } + }, + null, + context.subscriptions + ); +} + +function updateDecorations(editor: TextEditor) { + if (!editor.document.fileName.endsWith('project.json')) { + return; + } + const projectJson = parseJsonText( + editor.document.fileName, + editor.document.getText() + ); + const projectJsonObject = projectJson.statements[0] + .expression as ObjectLiteralExpression; + const targetsProperty = projectJsonObject.properties.find( + (property) => getPropertyName(property) === 'targets' + ); + + if (!targetsProperty) { + return; + } + const firstChild = getProperties(targetsProperty)?.[0]; + + if (!firstChild) { + return; + } + + const position = editor.document.positionAt(firstChild.getStart(projectJson)); + editor.setDecorations(pluginTargetDecorationType, [ + { + range: new Range(position, position), + renderOptions: { + before: { + contentText: 'aaaaaa', + backgroundColor: 'red', + }, + }, + }, + ]); +} + +function getPropertyName( + property: ObjectLiteralElementLike +): string | undefined { + if (isPropertyAssignment(property) && isStringLiteral(property.name)) { + return property.name.text; + } +} + +function getProperties( + objectLiteral: typescript.Node +): typescript.NodeArray | undefined { + if (typescript.isObjectLiteralExpression(objectLiteral)) { + return objectLiteral.properties; + } else if (isPropertyAssignment(objectLiteral)) { + return getProperties(objectLiteral.initializer); + } +} diff --git a/libs/vscode/nx-workspace/src/lib/reveal-workspace-json.ts b/libs/vscode/nx-config-decoration/src/lib/reveal-nx-project.ts similarity index 95% rename from libs/vscode/nx-workspace/src/lib/reveal-workspace-json.ts rename to libs/vscode/nx-config-decoration/src/lib/reveal-nx-project.ts index 2c447662da..71112ca8d2 100644 --- a/libs/vscode/nx-workspace/src/lib/reveal-workspace-json.ts +++ b/libs/vscode/nx-config-decoration/src/lib/reveal-nx-project.ts @@ -3,7 +3,7 @@ import { WorkspaceConfigurationStore } from '@nx-console/vscode/configuration'; import { join } from 'path'; import { Selection, TextDocument, Uri, window, workspace } from 'vscode'; -import { getProjectLocations } from './find-workspace-json-target'; +import { getProjectLocations } from './get-project-locations'; import { fileExists } from '@nx-console/shared/file-system'; export async function revealNxProject( diff --git a/libs/vscode/nx-workspace/src/lib/workspace-codelens-provider.ts b/libs/vscode/nx-config-decoration/src/lib/workspace-codelens-provider.ts similarity index 65% rename from libs/vscode/nx-workspace/src/lib/workspace-codelens-provider.ts rename to libs/vscode/nx-config-decoration/src/lib/workspace-codelens-provider.ts index 4bdc89019d..ca9f495317 100644 --- a/libs/vscode/nx-workspace/src/lib/workspace-codelens-provider.ts +++ b/libs/vscode/nx-config-decoration/src/lib/workspace-codelens-provider.ts @@ -2,27 +2,24 @@ import { CodeLens, CodeLensProvider, Command, - ConfigurationChangeEvent, - Disposable, - ExtensionContext, - languages, + Position, Range, TextDocument, Uri, - workspace, } from 'vscode'; import { buildProjectPath } from '@nx-console/shared/utils'; +import { WorkspaceConfigurationStore } from '@nx-console/vscode/configuration'; import { - GlobalConfigurationStore, - WorkspaceConfigurationStore, -} from '@nx-console/vscode/configuration'; + getNxWorkspace, + getProjectByPath, +} from '@nx-console/vscode/nx-workspace'; import { - getProjectLocations, ProjectLocations, -} from './find-workspace-json-target'; -import { getNxWorkspace } from './get-nx-workspace'; -import { getProjectByPath } from './get-project-by-path'; + ProjectTargetLocation, + getProjectLocations, + getTargetsPropertyLocation, +} from './get-project-locations'; export class TargetCodeLens extends CodeLens { constructor( @@ -52,21 +49,6 @@ export class TaskGraphCodeLens extends CodeLens { } export class WorkspaceCodeLensProvider implements CodeLensProvider { - /** - * CodeLensProvider is disposed and re-registered on setting changes - */ - codeLensProvider: Disposable | null; - - /** - * The WorkspaceCodeLensProvider adds clickable nx run targets in the workspace config file. - * It is enabled by default and can be disabled with the `enableWorkspaceConfigCodeLens` setting. - * @param context instance of ExtensionContext from activate - */ - constructor(private readonly context: ExtensionContext) { - this.registerWorkspaceCodeLensProvider(context); - this.watchWorkspaceCodeLensConfigChange(context); - } - /** * Provides a CodeLens set for a matched document * @param document a document matched by the pattern passed to registerCodeLensProvider @@ -109,6 +91,13 @@ export class WorkspaceCodeLensProvider implements CodeLensProvider { ); this.buildTargetLenses(project, document, lens, projectName); + + await this.buildSyntheticTargetLenses( + lens, + document, + projectName, + project.targets + ); } return lens; } @@ -170,6 +159,29 @@ export class WorkspaceCodeLensProvider implements CodeLensProvider { } } + private async buildSyntheticTargetLenses( + lenses: CodeLens[], + document: TextDocument, + projectName: string, + explicitTargets: ProjectTargetLocation = {} + ) { + const { workspace } = await getNxWorkspace(); + const targets = Object.keys(workspace.projects[projectName].targets ?? {}); + const syntheticTargets = targets.filter( + (targetName) => !Object.keys(explicitTargets).includes(targetName) + ); + + const position = getTargetsPropertyLocation(document); + if (!position) { + return; + } + for (const target of syntheticTargets) { + lenses.push( + new TargetCodeLens(new Range(position, position), projectName, target) + ); + } + } + /** * Resolves and sets the command on visible CodeLens * @param lens lens to be resolve @@ -210,48 +222,4 @@ export class WorkspaceCodeLensProvider implements CodeLensProvider { return null; } - - /** - * Checks the enableWorkspaceConfigCodeLens setting and registers this as a CodeLensProvider. - * @param context instance of ExtensionContext from activate - */ - registerWorkspaceCodeLensProvider(context: ExtensionContext) { - const enableWorkspaceConfigCodeLens = GlobalConfigurationStore.instance.get( - 'enableWorkspaceConfigCodeLens' - ); - if (enableWorkspaceConfigCodeLens) { - this.codeLensProvider = languages.registerCodeLensProvider( - { pattern: '**/{workspace,project}.json' }, - this - ); - context.subscriptions.push(this.codeLensProvider); - } - } - - /** - * Watches for settings/configuration changes and enables/disables the CodeLensProvider - * @param context instance of ExtensionContext from activate - */ - watchWorkspaceCodeLensConfigChange(context: ExtensionContext) { - context.subscriptions.push( - workspace.onDidChangeConfiguration((event: ConfigurationChangeEvent) => { - // if the `nxConsole` config changes, check enableWorkspaceConfigCodeLens and register or dispose - const affectsNxConsoleConfig = event.affectsConfiguration( - GlobalConfigurationStore.configurationSection - ); - if (affectsNxConsoleConfig) { - const enableWorkspaceConfigCodeLens = - GlobalConfigurationStore.instance.get( - 'enableWorkspaceConfigCodeLens' - ); - if (enableWorkspaceConfigCodeLens && !this.codeLensProvider) { - this.registerWorkspaceCodeLensProvider(this.context); - } else if (!enableWorkspaceConfigCodeLens && this.codeLensProvider) { - this.codeLensProvider.dispose(); - this.codeLensProvider = null; - } - } - }) - ); - } } diff --git a/libs/vscode/nx-config-decoration/tsconfig.json b/libs/vscode/nx-config-decoration/tsconfig.json new file mode 100644 index 0000000000..fdd0078731 --- /dev/null +++ b/libs/vscode/nx-config-decoration/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "module": "commonjs", + "forceConsistentCasingInFileNames": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noFallthroughCasesInSwitch": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/libs/vscode/nx-config-decoration/tsconfig.lib.json b/libs/vscode/nx-config-decoration/tsconfig.lib.json new file mode 100644 index 0000000000..4befa7f099 --- /dev/null +++ b/libs/vscode/nx-config-decoration/tsconfig.lib.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] +} diff --git a/libs/vscode/nx-conversion/src/lib/vscode-nx-conversion.ts b/libs/vscode/nx-conversion/src/lib/vscode-nx-conversion.ts index 1410cb4d6f..cca7ef3efc 100644 --- a/libs/vscode/nx-conversion/src/lib/vscode-nx-conversion.ts +++ b/libs/vscode/nx-conversion/src/lib/vscode-nx-conversion.ts @@ -5,7 +5,24 @@ import { commands, ExtensionContext, window } from 'vscode'; let run = false; -export async function initNxConversion(context: ExtensionContext) { +export async function initNxConversion( + context: ExtensionContext, + isAngularWorkspace: boolean, + isNxWorkspace: boolean +) { + let workspaceType: 'nx' | 'angular' | 'angularWithNx' = 'nx'; + if (isNxWorkspace && isAngularWorkspace) { + workspaceType = 'angularWithNx'; + } else if (isNxWorkspace && !isAngularWorkspace) { + workspaceType = 'nx'; + } else if (!isNxWorkspace && isAngularWorkspace) { + workspaceType = 'angular'; + } + + if (workspaceType !== 'angular') { + return; + } + if (run) { return; } diff --git a/libs/vscode/nx-project-view/src/lib/nx-project-tree-provider.ts b/libs/vscode/nx-project-view/src/lib/nx-project-tree-provider.ts index 06305f82b2..5e9ec329e9 100644 --- a/libs/vscode/nx-project-view/src/lib/nx-project-tree-provider.ts +++ b/libs/vscode/nx-project-view/src/lib/nx-project-tree-provider.ts @@ -1,5 +1,4 @@ import { GlobalConfigurationStore } from '@nx-console/vscode/configuration'; -import { revealNxProject } from '@nx-console/vscode/nx-workspace'; import { CliTaskProvider } from '@nx-console/vscode/tasks'; import { AbstractTreeProvider, getTelemetry } from '@nx-console/vscode/utils'; import { commands, ExtensionContext, ProviderResult } from 'vscode'; @@ -19,6 +18,7 @@ import { TreeViewItem, TreeViewStrategy, } from './views/nx-project-tree-view'; +import { revealNxProject } from '@nx-console/vscode/nx-config-decoration'; export type ViewItem = ListViewItem | TreeViewItem | AutomaticViewItem; diff --git a/libs/vscode/nx-project-view/src/lib/views/nx-project-tree-view.ts b/libs/vscode/nx-project-view/src/lib/views/nx-project-tree-view.ts index ec02d2e52a..31b1a7fefd 100644 --- a/libs/vscode/nx-project-view/src/lib/views/nx-project-tree-view.ts +++ b/libs/vscode/nx-project-view/src/lib/views/nx-project-tree-view.ts @@ -36,9 +36,16 @@ class TreeView extends BaseView { if (!element) { const { treeMap, roots } = await getProjectFolderTree(); this.treeMap = treeMap; - return roots.map((root) => - this.createFolderOrProjectTreeItemFromNode(root) - ); + return roots + .sort((a, b) => { + // the VSCode tree view looks chaotic when folders and projects are on the same level + // so we sort the nodes to have folders first and projects after + if (!!a.projectName == !!b.projectName) { + return a.dir.localeCompare(b.dir); + } + return a.projectName ? 1 : -1; + }) + .map((root) => this.createFolderOrProjectTreeItemFromNode(root)); } if (element.contextValue === 'project') { diff --git a/libs/vscode/nx-workspace/src/index.ts b/libs/vscode/nx-workspace/src/index.ts index c99011c55f..83f094c7f2 100644 --- a/libs/vscode/nx-workspace/src/index.ts +++ b/libs/vscode/nx-workspace/src/index.ts @@ -1,6 +1,3 @@ -export * from './lib/find-workspace-json-target'; -export * from './lib/reveal-workspace-json'; -export * from './lib/workspace-codelens-provider'; export * from './lib/stop-daemon'; export * from './lib/get-nx-workspace'; export * from './lib/get-project-by-path'; diff --git a/libs/vscode/project-graph/src/lib/graph-webview.ts b/libs/vscode/project-graph/src/lib/graph-webview.ts index 25e5967220..d3e06dbb82 100644 --- a/libs/vscode/project-graph/src/lib/graph-webview.ts +++ b/libs/vscode/project-graph/src/lib/graph-webview.ts @@ -1,5 +1,9 @@ -import { getProjectGraphOutput } from '@nx-console/vscode/nx-workspace'; -import { getOutputChannel } from '@nx-console/vscode/utils'; +import { + getNxWorkspacePath, + getNxWorkspaceProjects, + getProjectGraphOutput, +} from '@nx-console/vscode/nx-workspace'; +import { getOutputChannel, getTelemetry } from '@nx-console/vscode/utils'; import { commands, Disposable, @@ -12,6 +16,9 @@ import { waitFor } from 'xstate/lib/waitFor'; import { MessageType } from './graph-message-type'; import { graphService } from './graph.machine'; import { loadError, loadHtml, loadNoProject, loadSpinner } from './load-html'; +import { join } from 'node:path'; +import { CliTaskProvider } from '@nx-console/vscode/tasks'; +import { revealNxProject } from '@nx-console/vscode/nx-config-decoration'; export class GraphWebView implements Disposable { panel: WebviewPanel | undefined; @@ -57,6 +64,7 @@ export class GraphWebView implements Disposable { return; } + const workspacePath = await getNxWorkspacePath(); const { directory } = await getProjectGraphOutput(); this.panel = window.createWebviewPanel( @@ -73,6 +81,7 @@ export class GraphWebView implements Disposable { this.panel.onDidDispose(() => { this.panel = undefined; graphService.send('VIEW_DESTROYED'); + commands.executeCommand('setContext', 'graphWebviewVisible', false); }); this.panel.webview.onDidReceiveMessage(async (event) => { @@ -83,6 +92,37 @@ export class GraphWebView implements Disposable { if (event.command === 'refresh') { commands.executeCommand('nxConsole.refreshWorkspace'); } + if (event.command === 'fileClick') { + getTelemetry().featureUsed('nx.graph.openProjectEdgeFile'); + commands.executeCommand( + 'vscode.open', + Uri.file(join(workspacePath, event.data)) + ); + } + if (event.command === 'openProject') { + getTelemetry().featureUsed('nx.graph.openProjectConfigFile'); + getNxWorkspaceProjects().then((projects) => { + const root = projects[event.data]?.root; + if (!root) return; + revealNxProject(event.data, root); + }); + } + if (event.command === 'runTask') { + getTelemetry().featureUsed('nx.graph.runTask'); + CliTaskProvider.instance.executeTask({ + command: 'run', + positional: event.data, + flags: [], + }); + } + }); + + this.panel.onDidChangeViewState(({ webviewPanel }) => { + commands.executeCommand( + 'setContext', + 'graphWebviewVisible', + webviewPanel.visible + ); }); graphService.send('GET_CONTENT'); diff --git a/libs/vscode/project-graph/src/lib/load-html.ts b/libs/vscode/project-graph/src/lib/load-html.ts index b57a9ab695..a23fb08913 100644 --- a/libs/vscode/project-graph/src/lib/load-html.ts +++ b/libs/vscode/project-graph/src/lib/load-html.ts @@ -1,7 +1,11 @@ -import { getProjectGraphOutput } from '@nx-console/vscode/nx-workspace'; +import { + getNxVersion, + getProjectGraphOutput, +} from '@nx-console/vscode/nx-workspace'; import { getOutputChannel } from '@nx-console/vscode/utils'; import { Uri, WebviewPanel, workspace } from 'vscode'; import { MessageType } from './graph-message-type'; +import { SemVer, coerce, gte } from 'semver'; const html = String.raw; @@ -221,17 +225,29 @@ export async function loadHtml(panel: WebviewPanel) { } + ${await setNxConsoleEnvironment()} + ` ); + projectGraphHtml = projectGraphHtml.replace( + '', + html` + + ` + ); return projectGraphHtml; } function injectedScript() { - // language=JavaScript return ` (function() { const vscode = acquireVsCodeApi(); + window.vscode = vscode; const noProjectElement = document.createElement('p'); noProjectElement.classList.add('nx-select-project'); @@ -373,3 +389,43 @@ function injectedScript() { }()) `; } + +async function setNxConsoleEnvironment() { + const nxVersion = await getNxVersion(); + if (gte(nxVersion.version, '16.6.0')) { + return ''; + } else { + return ''; + } +} + +function registerFileClickListener() { + return ` + window.externalApi?.registerFileClickCallback?.((message) => { + window.vscode.postMessage({ + command: 'fileClick', + data: message + }) + }) + `; +} +function registerOpenProjectConfigCallback() { + return ` +window.externalApi?.registerOpenProjectConfigCallback?.((message) => { + window.vscode.postMessage({ + command: 'openProject', + data: message + }) +}) +`; +} +function registerRunTaskCallback() { + return ` +window.externalApi?.registerRunTaskCallback?.((message) => { + window.vscode.postMessage({ + command: 'runTask', + data: message + }) +}) +`; +} diff --git a/libs/vscode/project-graph/src/lib/project-graph.ts b/libs/vscode/project-graph/src/lib/project-graph.ts index d43660a77f..0f6d5b5e80 100644 --- a/libs/vscode/project-graph/src/lib/project-graph.ts +++ b/libs/vscode/project-graph/src/lib/project-graph.ts @@ -1,18 +1,19 @@ -import { getTelemetry } from '@nx-console/vscode/utils'; -import { commands, Disposable, Uri, window } from 'vscode'; -import { MessageType } from './graph-message-type'; -import { GraphWebView } from './graph-webview'; +import { selectProject } from '@nx-console/vscode/nx-cli-quickpicks'; import { - NxProject, NxTreeItem, ProjectViewItem, TargetViewItem, } from '@nx-console/vscode/nx-project-view'; +import { RunTargetTreeItem } from '@nx-console/vscode/nx-run-target-view'; import { getNxWorkspace, getProjectByPath, } from '@nx-console/vscode/nx-workspace'; -import { RunTargetTreeItem } from '@nx-console/vscode/nx-run-target-view'; +import { getTelemetry } from '@nx-console/vscode/utils'; +import { ProjectConfiguration } from 'nx/src/devkit-exports'; +import { commands, Disposable, Uri, window } from 'vscode'; +import { MessageType } from './graph-message-type'; +import { GraphWebView } from './graph-webview'; export function projectGraph() { const graphWebView = new GraphWebView(); @@ -92,11 +93,6 @@ export function projectGraph() { ); } -/** - * Opens a project in the graph depending on URI or activeTextEditor - * @param uri - * @param messageType - */ async function openProjectWithFile( webview: GraphWebView, uri: Uri | undefined, @@ -106,21 +102,24 @@ async function openProjectWithFile( if (uri) { filePath = uri.fsPath; } else { - if (!window.activeTextEditor) { - window.showErrorMessage( - 'Error while opening the graph: No file is currently open.' - ); - return; - } filePath = window.activeTextEditor?.document.fileName; } - - const project = await getProjectByPath(filePath); + // we try to infer the project based on the current path + // if it's not possible, just ask the user + let project: ProjectConfiguration | null = null; + if (filePath) { + project = await getProjectByPath(filePath); + } if (!project) { - window.showErrorMessage( - `Error while opening the graph: No project can be found at \n ${filePath}` - ); - return; + const { + workspace: { projects }, + } = await getNxWorkspace(); + + const selectedProjectName = await selectProject(Object.keys(projects)); + if (!selectedProjectName) { + return; + } + project = projects[selectedProjectName]; } if (messageType === MessageType.task) { diff --git a/migrations.json b/migrations.json index a7b0c631a8..8fcb18a087 100644 --- a/migrations.json +++ b/migrations.json @@ -2,49 +2,19 @@ "migrations": [ { "cli": "nx", - "version": "16.4.0-beta.8", - "description": "Replace @nx/node:node with @nx/js:node for all project targets", - "implementation": "./src/migrations/update-16-4-0/replace-node-executor", - "package": "@nx/node", - "name": "update-16-4-0-replace-node-executor" + "version": "16.5.0-beta.0", + "description": "Move .storybook/tsconfig.json to tsconfig.storybook.json for non-Angular projects.", + "factory": "./src/migrations/update-16-5-0/move-storybook-tsconfig", + "package": "@nx/storybook", + "name": "update-16-5-0" }, { "cli": "nx", - "version": "16.4.0-beta.10", - "description": "Remove tsconfig.e2e.json and add settings to project tsconfig.json. tsConfigs executor option is now deprecated. The project level tsconfig.json file should be used instead.", - "implementation": "./src/migrations/update-16-4-0/tsconfig-sourcemaps", - "package": "@nx/cypress", - "name": "update-16-3-0-remove-old-tsconfigs" - }, - { - "cli": "nx", - "version": "16.4.0-beta.11", - "description": "Cypress Component Testing is broken with Angular 16.1.0. Warn about it if the workspace has Angular >= 16.1.0 and Angular projects using Component Testing.", - "implementation": "./src/migrations/update-16-4-0/warn-incompatible-angular-cypress", - "package": "@nx/cypress", - "name": "update-16-4-0-warn-incompatible-angular-cypress" - }, - { - "cli": "nx", - "version": "16.4.0-beta.6", - "requires": { - "@angular-eslint/eslint-plugin-template": ">=16.0.0" - }, - "description": "Remove the 'accessibility-' prefix from '@angular-eslint/eslint-plugin-template' rules.", - "factory": "./src/migrations/update-16-4-0/rename-angular-eslint-accesibility-rules", - "package": "@nx/angular", - "name": "rename-angular-eslint-accesibility-rules" - }, - { - "cli": "nx", - "version": "16.4.0-beta.11", - "requires": { - "@angular/core": ">=16.1.0" - }, - "description": "Update the @angular/cli package version to ~16.1.0.", - "factory": "./src/migrations/update-16-4-0/update-angular-cli", - "package": "@nx/angular", - "name": "update-angular-cli-version-16-1-0" + "version": "16.5.0-beta.2", + "description": "Add test-setup.ts to ignored files in production input", + "implementation": "./src/migrations/update-16-5-0/add-test-setup-to-inputs-ignore", + "package": "@nx/jest", + "name": "add-test-setup-to-inputs-ignore" } ] } diff --git a/nx.json b/nx.json index 2267d15782..8d1da3732b 100644 --- a/nx.json +++ b/nx.json @@ -60,7 +60,8 @@ "default", "^production", "{workspaceRoot}/.storybook/**/*", - "!{projectRoot}/.storybook/**/*" + "{projectRoot}/.storybook/**/*", + "{projectRoot}/tsconfig.storybook.json" ] } }, @@ -79,7 +80,9 @@ "!{projectRoot}/jest.config.[jt]s", "!{projectRoot}/.eslintrc.json", "!{projectRoot}/.storybook/**/*", - "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)" + "!{projectRoot}/**/*.stories.@(js|jsx|ts|tsx|mdx)", + "!{projectRoot}/tsconfig.storybook.json", + "!{projectRoot}/src/test-setup.[jt]s" ] } } diff --git a/package.json b/package.json index 097438bd49..c36fa7ab66 100644 --- a/package.json +++ b/package.json @@ -21,13 +21,13 @@ "@microsoft/fast-element": "^1.12.0", "@microsoft/fast-foundation": "^2.49.0", "@monodon/typescript-nx-imports-plugin": "0.2.0", - "@nx/devkit": "16.4.0", + "@nx/devkit": "16.5.5", "@open-wc/lit-helpers": "^0.6.0", "@parcel/watcher": "2.2.0", "@vscode/codicons": "^0.0.32", "@vscode/webview-ui-toolkit": "^1.2.0", - "@yarnpkg/fslib": "2.6.1-rc.5", - "@yarnpkg/libzip": "2.2.3-rc.5", + "@yarnpkg/fslib": "^3.0.0-rc.48", + "@yarnpkg/libzip": "^3.0.0-rc.48", "dotenv": "^16.0.3", "fast-glob": "^3.2.11", "find-cache-dir": "^3.3.2", @@ -63,24 +63,24 @@ "@angular/platform-browser": "16.1.2", "@angular/platform-browser-dynamic": "16.1.2", "@babel/core": "7.21.0", - "@nx/angular": "16.4.0", - "@nx/cypress": "16.4.0", - "@nx/esbuild": "16.4.0", - "@nx/eslint-plugin": "16.4.0", - "@nx/jest": "16.4.0", - "@nx/js": "16.4.0", - "@nx/linter": "16.4.0", - "@nx/node": "16.4.0", - "@nx/storybook": "16.4.0", - "@nx/web": "16.4.0", - "@nx/webpack": "16.4.0", - "@nx/workspace": "16.4.0", + "@nx/angular": "16.5.5", + "@nx/cypress": "16.5.5", + "@nx/esbuild": "16.5.5", + "@nx/eslint-plugin": "16.5.5", + "@nx/jest": "16.5.5", + "@nx/js": "16.5.5", + "@nx/linter": "16.5.5", + "@nx/node": "16.5.5", + "@nx/storybook": "16.5.5", + "@nx/web": "16.5.5", + "@nx/webpack": "16.5.5", + "@nx/workspace": "16.5.5", "@schematics/angular": "16.1.1", - "@storybook/addon-essentials": "7.0.18", + "@storybook/addon-essentials": "7.1.1", "@storybook/addon-knobs": "~7.0.2", - "@storybook/addon-mdx-gfm": "7.0.18", - "@storybook/angular": "7.0.18", - "@storybook/core-server": "7.0.18", + "@storybook/addon-mdx-gfm": "7.1.1", + "@storybook/angular": "7.1.1", + "@storybook/core-server": "7.1.1", "@swc-node/register": "^1.5.1", "@tailwindcss/forms": "0.5.3", "@theunderscorer/nx-semantic-release": "2.4.0", @@ -93,8 +93,8 @@ "@types/uuid": "^8.3.4", "@types/vscode": "1.71.0", "@types/vscode-webview": "^1.57.0", - "@typescript-eslint/eslint-plugin": "5.59.1", - "@typescript-eslint/parser": "5.59.1", + "@typescript-eslint/eslint-plugin": "5.62.0", + "@typescript-eslint/parser": "5.62.0", "@vscode/test-electron": "^2.1.5", "@vscode/vsce": "^2.15.0", "@wdio/cli": "^7.27.0", @@ -103,7 +103,7 @@ "@wdio/mocha-framework": "^7.26.0", "@wdio/spec-reporter": "^7.26.0", "@yarnpkg/pnp": "^3.1.1-rc.12", - "cypress": "12.13.0", + "cypress": "12.17.2", "esbuild": "0.17.17", "esbuild-copy-files-plugin": "^1.1.0", "eslint": "8.15.0", @@ -118,8 +118,8 @@ "jest-preset-angular": "13.1.1", "memfs": "^3.4.7", "mocha": "^10.0.0", - "nx": "16.4.0", - "nx-cloud": "16.0.5", + "nx": "16.5.5", + "nx-cloud": "16.1.1", "ovsx": "^0.7.1", "prettier": "2.7.1", "prettier-plugin-tailwindcss": "^0.3.0", @@ -137,7 +137,7 @@ "uuid": "^8.3.2", "wdio-vscode-service": "^4.2.1", "webdriverio": "^7.26.0", - "webpack": "^5.64.0", + "webpack": "5.88.2", "zone.js": "0.13.0" } } diff --git a/tsconfig.base.json b/tsconfig.base.json index 6fd5a0ac12..46bf00492c 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -83,6 +83,9 @@ "@nx-console/vscode/nx-commands-view": [ "libs/vscode/nx-commands-view/src/index.ts" ], + "@nx-console/vscode/nx-config-decoration": [ + "libs/vscode/nx-config-decoration/src/index.ts" + ], "@nx-console/vscode/nx-conversion": [ "libs/vscode/nx-conversion/src/index.ts" ], diff --git a/yarn.lock b/yarn.lock index 19a6620476..2c6886ced2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -596,6 +596,17 @@ __metadata: languageName: node linkType: hard +"@aw-web-design/x-default-browser@npm:1.4.126": + version: 1.4.126 + resolution: "@aw-web-design/x-default-browser@npm:1.4.126" + dependencies: + default-browser-id: 3.0.0 + bin: + x-default-browser: bin/x-default-browser.js + checksum: f63b68a0ff41c8fe478b1b4822e169cac0d26c61b123c0400d5e16a8a5987732b85795aff16d6b21936f9c955f0d32bffbfc166890d3446f74a72a7a2c9633ea + languageName: node + linkType: hard + "@aw-web-design/x-default-browser@npm:1.4.88": version: 1.4.88 resolution: "@aw-web-design/x-default-browser@npm:1.4.88" @@ -669,6 +680,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/compat-data@npm:7.22.9" + checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 + languageName: node + linkType: hard + "@babel/core@npm:7.21.0, @babel/core@npm:^7.15.0": version: 7.21.0 resolution: "@babel/core@npm:7.21.0" @@ -784,6 +802,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/core@npm:7.22.9" + dependencies: + "@ampproject/remapping": ^2.2.0 + "@babel/code-frame": ^7.22.5 + "@babel/generator": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 + "@babel/helper-module-transforms": ^7.22.9 + "@babel/helpers": ^7.22.6 + "@babel/parser": ^7.22.7 + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.8 + "@babel/types": ^7.22.5 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.2 + semver: ^6.3.1 + checksum: 7bf069aeceb417902c4efdaefab1f7b94adb7dea694a9aed1bda2edf4135348a080820529b1a300c6f8605740a00ca00c19b2d5e74b5dd489d99d8c11d5e56d1 + languageName: node + linkType: hard + "@babel/generator@npm:7.21.4, @babel/generator@npm:^7.21.4, @babel/generator@npm:~7.21.1": version: 7.21.4 resolution: "@babel/generator@npm:7.21.4" @@ -843,6 +884,18 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/generator@npm:7.22.9" + dependencies: + "@babel/types": ^7.22.5 + "@jridgewell/gen-mapping": ^0.3.2 + "@jridgewell/trace-mapping": ^0.3.17 + jsesc: ^2.5.1 + checksum: 7c9d2c58b8d5ac5e047421a6ab03ec2ff5d9a5ff2c2212130a0055e063ac349e0b19d435537d6886c999771aef394832e4f54cd9fc810100a7f23d982f6af06b + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:7.18.6, @babel/helper-annotate-as-pure@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-annotate-as-pure@npm:7.18.6" @@ -954,6 +1007,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-compilation-targets@npm:7.22.9" + dependencies: + "@babel/compat-data": ^7.22.9 + "@babel/helper-validator-option": ^7.22.5 + browserslist: ^4.21.9 + lru-cache: ^5.1.1 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: ea0006c6a93759025f4a35a25228ae260538c9f15023e8aac2a6d45ca68aef4cf86cfc429b19af9a402cbdd54d5de74ad3fbcf6baa7e48184dc079f1a791e178 + languageName: node + linkType: hard + "@babel/helper-create-class-features-plugin@npm:^7.18.6": version: 7.19.0 resolution: "@babel/helper-create-class-features-plugin@npm:7.19.0" @@ -1077,6 +1145,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.4.2": + version: 0.4.2 + resolution: "@babel/helper-define-polyfill-provider@npm:0.4.2" + dependencies: + "@babel/helper-compilation-targets": ^7.22.6 + "@babel/helper-plugin-utils": ^7.22.5 + debug: ^4.1.1 + lodash.debounce: ^4.0.8 + resolve: ^1.14.2 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 1f6dec0c5d0876d278fe15b71238eccc5f74c4e2efa2c78aaafa8bc2cc96336b8e68d94cd1a78497356c96e8b91b8c1f4452179820624d1702aee2f9832e6569 + languageName: node + linkType: hard + "@babel/helper-environment-visitor@npm:^7.18.9": version: 7.18.9 resolution: "@babel/helper-environment-visitor@npm:7.18.9" @@ -1273,6 +1356,21 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-module-transforms@npm:7.22.9" + dependencies: + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-simple-access": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/helper-validator-identifier": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 + languageName: node + linkType: hard + "@babel/helper-optimise-call-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/helper-optimise-call-expression@npm:7.18.6" @@ -1462,6 +1560,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" + dependencies: + "@babel/types": ^7.22.5 + checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.18.10": version: 7.18.10 resolution: "@babel/helper-string-parser@npm:7.18.10" @@ -1593,6 +1700,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helpers@npm:7.22.6" + dependencies: + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.6 + "@babel/types": ^7.22.5 + checksum: 5c1f33241fe7bf7709868c2105134a0a86dca26a0fbd508af10a89312b1f77ca38ebae43e50be3b208613c5eacca1559618af4ca236f0abc55d294800faeff30 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.18.6": version: 7.18.6 resolution: "@babel/highlight@npm:7.18.6" @@ -1660,6 +1778,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.22.7": + version: 7.22.7 + resolution: "@babel/parser@npm:7.22.7" + bin: + parser: ./bin/babel-parser.js + checksum: 02209ddbd445831ee8bf966fdf7c29d189ed4b14343a68eb2479d940e7e3846340d7cc6bd654a5f3d87d19dc84f49f50a58cf9363bee249dc5409ff3ba3dab54 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.18.6" @@ -2129,25 +2256,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.18.6, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.18.6 - resolution: "@babel/plugin-syntax-jsx@npm:7.18.6" +"@babel/plugin-syntax-jsx@npm:^7.21.4": + version: 7.21.4 + resolution: "@babel/plugin-syntax-jsx@npm:7.21.4" dependencies: - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6d37ea972970195f1ffe1a54745ce2ae456e0ac6145fae9aa1480f297248b262ea6ebb93010eddb86ebfacb94f57c05a1fc5d232b9a67325b09060299d515c67 + checksum: bb7309402a1d4e155f32aa0cf216e1fa8324d6c4cfd248b03280028a015a10e46b6efd6565f515f8913918a3602b39255999c06046f7d4b8a5106be2165d724a languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.21.4": - version: 7.21.4 - resolution: "@babel/plugin-syntax-jsx@npm:7.21.4" +"@babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.18.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.18.6" dependencies: - "@babel/helper-plugin-utils": ^7.20.2 + "@babel/helper-plugin-utils": ^7.18.6 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bb7309402a1d4e155f32aa0cf216e1fa8324d6c4cfd248b03280028a015a10e46b6efd6565f515f8913918a3602b39255999c06046f7d4b8a5106be2165d724a + checksum: 6d37ea972970195f1ffe1a54745ce2ae456e0ac6145fae9aa1480f297248b262ea6ebb93010eddb86ebfacb94f57c05a1fc5d232b9a67325b09060299d515c67 languageName: node linkType: hard @@ -2320,6 +2447,20 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-async-generator-functions@npm:^7.22.7": + version: 7.22.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.22.7" + dependencies: + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-remap-async-to-generator": ^7.22.5 + "@babel/plugin-syntax-async-generators": ^7.8.4 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 57cd2cce3fb696dadf00e88f168683df69e900b92dadeae07429243c43bc21d5ccdc0c2db61cf5c37bd0fbd893fc455466bef6babe4aa5b79d9cb8ba89f40ae7 + languageName: node + linkType: hard + "@babel/plugin-transform-async-to-generator@npm:7.20.7, @babel/plugin-transform-async-to-generator@npm:^7.20.7": version: 7.20.7 resolution: "@babel/plugin-transform-async-to-generator@npm:7.20.7" @@ -2466,6 +2607,25 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-classes@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/plugin-transform-classes@npm:7.22.6" + dependencies: + "@babel/helper-annotate-as-pure": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.6 + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-function-name": ^7.22.5 + "@babel/helper-optimise-call-expression": ^7.22.5 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + globals: ^11.1.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 8380e855c01033dbc7460d9acfbc1fc37c880350fa798c2de8c594ef818ade0e4c96173ec72f05f2a4549d8d37135e18cb62548352d51557b45a0fb4388d2f3f + languageName: node + linkType: hard + "@babel/plugin-transform-computed-properties@npm:^7.18.9": version: 7.18.9 resolution: "@babel/plugin-transform-computed-properties@npm:7.18.9" @@ -3015,6 +3175,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-optional-chaining@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.6" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 9713f7920ed04090c149fc5ec024dd1638e8b97aa4ae3753b93072d84103b8de380afb96d6cf03e53b285420db4f705f3ac13149c6fd54f322b61dc19e33c54f + languageName: node + linkType: hard + "@babel/plugin-transform-parameters@npm:^7.20.1, @babel/plugin-transform-parameters@npm:^7.20.7": version: 7.20.7 resolution: "@babel/plugin-transform-parameters@npm:7.20.7" @@ -3096,21 +3269,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.19.0": - version: 7.21.0 - resolution: "@babel/plugin-transform-react-jsx@npm:7.21.0" - dependencies: - "@babel/helper-annotate-as-pure": ^7.18.6 - "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-plugin-utils": ^7.20.2 - "@babel/plugin-syntax-jsx": ^7.18.6 - "@babel/types": ^7.21.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: c77d277d2e55b489a9b9be185c3eed5d8e2c87046778810f8e47ee3c87b47e64cad93c02211c968486c7958fd05ce203c66779446484c98a7b3a69bec687d5dc - languageName: node - linkType: hard - "@babel/plugin-transform-regenerator@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-transform-regenerator@npm:7.18.6" @@ -3698,6 +3856,96 @@ __metadata: languageName: node linkType: hard +"@babel/preset-env@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/preset-env@npm:7.22.9" + dependencies: + "@babel/compat-data": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-validator-option": ^7.22.5 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.22.5 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.22.5 + "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 + "@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 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/plugin-syntax-import-assertions": ^7.22.5 + "@babel/plugin-syntax-import-attributes": ^7.22.5 + "@babel/plugin-syntax-import-meta": ^7.10.4 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@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-syntax-unicode-sets-regex": ^7.18.6 + "@babel/plugin-transform-arrow-functions": ^7.22.5 + "@babel/plugin-transform-async-generator-functions": ^7.22.7 + "@babel/plugin-transform-async-to-generator": ^7.22.5 + "@babel/plugin-transform-block-scoped-functions": ^7.22.5 + "@babel/plugin-transform-block-scoping": ^7.22.5 + "@babel/plugin-transform-class-properties": ^7.22.5 + "@babel/plugin-transform-class-static-block": ^7.22.5 + "@babel/plugin-transform-classes": ^7.22.6 + "@babel/plugin-transform-computed-properties": ^7.22.5 + "@babel/plugin-transform-destructuring": ^7.22.5 + "@babel/plugin-transform-dotall-regex": ^7.22.5 + "@babel/plugin-transform-duplicate-keys": ^7.22.5 + "@babel/plugin-transform-dynamic-import": ^7.22.5 + "@babel/plugin-transform-exponentiation-operator": ^7.22.5 + "@babel/plugin-transform-export-namespace-from": ^7.22.5 + "@babel/plugin-transform-for-of": ^7.22.5 + "@babel/plugin-transform-function-name": ^7.22.5 + "@babel/plugin-transform-json-strings": ^7.22.5 + "@babel/plugin-transform-literals": ^7.22.5 + "@babel/plugin-transform-logical-assignment-operators": ^7.22.5 + "@babel/plugin-transform-member-expression-literals": ^7.22.5 + "@babel/plugin-transform-modules-amd": ^7.22.5 + "@babel/plugin-transform-modules-commonjs": ^7.22.5 + "@babel/plugin-transform-modules-systemjs": ^7.22.5 + "@babel/plugin-transform-modules-umd": ^7.22.5 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.22.5 + "@babel/plugin-transform-new-target": ^7.22.5 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.5 + "@babel/plugin-transform-numeric-separator": ^7.22.5 + "@babel/plugin-transform-object-rest-spread": ^7.22.5 + "@babel/plugin-transform-object-super": ^7.22.5 + "@babel/plugin-transform-optional-catch-binding": ^7.22.5 + "@babel/plugin-transform-optional-chaining": ^7.22.6 + "@babel/plugin-transform-parameters": ^7.22.5 + "@babel/plugin-transform-private-methods": ^7.22.5 + "@babel/plugin-transform-private-property-in-object": ^7.22.5 + "@babel/plugin-transform-property-literals": ^7.22.5 + "@babel/plugin-transform-regenerator": ^7.22.5 + "@babel/plugin-transform-reserved-words": ^7.22.5 + "@babel/plugin-transform-shorthand-properties": ^7.22.5 + "@babel/plugin-transform-spread": ^7.22.5 + "@babel/plugin-transform-sticky-regex": ^7.22.5 + "@babel/plugin-transform-template-literals": ^7.22.5 + "@babel/plugin-transform-typeof-symbol": ^7.22.5 + "@babel/plugin-transform-unicode-escapes": ^7.22.5 + "@babel/plugin-transform-unicode-property-regex": ^7.22.5 + "@babel/plugin-transform-unicode-regex": ^7.22.5 + "@babel/plugin-transform-unicode-sets-regex": ^7.22.5 + "@babel/preset-modules": ^0.1.5 + "@babel/types": ^7.22.5 + babel-plugin-polyfill-corejs2: ^0.4.4 + babel-plugin-polyfill-corejs3: ^0.8.2 + babel-plugin-polyfill-regenerator: ^0.5.1 + core-js-compat: ^3.31.0 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 6caa2897bbda30c6932aed0a03827deb1337c57108050c9f97dc9a857e1533c7125b168b6d70b9d191965bf05f9f233f0ad20303080505dff7ce39740aaa759d + languageName: node + linkType: hard + "@babel/preset-flow@npm:^7.13.13": version: 7.21.4 resolution: "@babel/preset-flow@npm:7.21.4" @@ -3937,6 +4185,24 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8": + version: 7.22.8 + resolution: "@babel/traverse@npm:7.22.8" + dependencies: + "@babel/code-frame": ^7.22.5 + "@babel/generator": ^7.22.7 + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-function-name": ^7.22.5 + "@babel/helper-hoist-variables": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/parser": ^7.22.7 + "@babel/types": ^7.22.5 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: a381369bc3eedfd13ed5fef7b884657f1c29024ea7388198149f0edc34bd69ce3966e9f40188d15f56490a5e12ba250ccc485f2882b53d41b054fccefb233e33 + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.19.3, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.19.3 resolution: "@babel/types@npm:7.19.3" @@ -4015,9 +4281,9 @@ __metadata: languageName: node linkType: hard -"@cypress/request@npm:^2.88.10": - version: 2.88.10 - resolution: "@cypress/request@npm:2.88.10" +"@cypress/request@npm:^2.88.11": + version: 2.88.11 + resolution: "@cypress/request@npm:2.88.11" dependencies: aws-sign2: ~0.7.0 aws4: ^1.8.0 @@ -4032,12 +4298,12 @@ __metadata: json-stringify-safe: ~5.0.1 mime-types: ~2.1.19 performance-now: ^2.1.0 - qs: ~6.5.2 + qs: ~6.10.3 safe-buffer: ^5.1.2 tough-cookie: ~2.5.0 tunnel-agent: ^0.6.0 uuid: ^8.3.2 - checksum: 69c3e3b332e9be4866a900f6bcca5d274d8cea6c99707fbcce061de8dbab11c9b1e39f4c017f6e83e6e682717781d4f6106fd6b7cf9546580fcfac353b6676cf + checksum: e4b3f62e0c41c4ccca6c942828461d8ea717e752fd918d685e9f74e2ebcfa8b7942427f7ce971e502635c3bf3d40011476db84dc753d3dc360c6d08350da6f93 languageName: node linkType: hard @@ -4196,6 +4462,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/android-arm64@npm:0.18.17" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.15.10": version: 0.15.10 resolution: "@esbuild/android-arm@npm:0.15.10" @@ -4224,6 +4497,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/android-arm@npm:0.18.17" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/android-x64@npm:0.17.17" @@ -4245,6 +4525,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/android-x64@npm:0.18.17" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/darwin-arm64@npm:0.17.17" @@ -4266,6 +4553,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/darwin-arm64@npm:0.18.17" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/darwin-x64@npm:0.17.17" @@ -4287,6 +4581,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/darwin-x64@npm:0.18.17" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/freebsd-arm64@npm:0.17.17" @@ -4308,6 +4609,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/freebsd-arm64@npm:0.18.17" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/freebsd-x64@npm:0.17.17" @@ -4329,6 +4637,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/freebsd-x64@npm:0.18.17" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-arm64@npm:0.17.17" @@ -4350,6 +4665,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-arm64@npm:0.18.17" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-arm@npm:0.17.17" @@ -4371,9 +4693,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.17.17": - version: 0.17.17 - resolution: "@esbuild/linux-ia32@npm:0.17.17" +"@esbuild/linux-arm@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-arm@npm:0.18.17" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.17.17": + version: 0.17.17 + resolution: "@esbuild/linux-ia32@npm:0.17.17" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -4392,6 +4721,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-ia32@npm:0.18.17" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.15.10": version: 0.15.10 resolution: "@esbuild/linux-loong64@npm:0.15.10" @@ -4420,6 +4756,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-loong64@npm:0.18.17" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-mips64el@npm:0.17.17" @@ -4441,6 +4784,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-mips64el@npm:0.18.17" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-ppc64@npm:0.17.17" @@ -4462,6 +4812,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-ppc64@npm:0.18.17" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-riscv64@npm:0.17.17" @@ -4483,6 +4840,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-riscv64@npm:0.18.17" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-s390x@npm:0.17.17" @@ -4504,6 +4868,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-s390x@npm:0.18.17" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/linux-x64@npm:0.17.17" @@ -4525,6 +4896,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/linux-x64@npm:0.18.17" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/netbsd-x64@npm:0.17.17" @@ -4546,6 +4924,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/netbsd-x64@npm:0.18.17" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/openbsd-x64@npm:0.17.17" @@ -4567,6 +4952,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/openbsd-x64@npm:0.18.17" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/sunos-x64@npm:0.17.17" @@ -4588,6 +4980,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/sunos-x64@npm:0.18.17" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/win32-arm64@npm:0.17.17" @@ -4609,6 +5008,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/win32-arm64@npm:0.18.17" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/win32-ia32@npm:0.17.17" @@ -4630,6 +5036,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/win32-ia32@npm:0.18.17" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.17.17": version: 0.17.17 resolution: "@esbuild/win32-x64@npm:0.17.17" @@ -4651,6 +5064,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.18.17": + version: 0.18.17 + resolution: "@esbuild/win32-x64@npm:0.18.17" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -5837,22 +6257,22 @@ __metadata: languageName: node linkType: hard -"@nrwl/angular@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/angular@npm:16.4.0" +"@nrwl/angular@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/angular@npm:16.5.5" dependencies: - "@nx/angular": 16.4.0 + "@nx/angular": 16.5.5 tslib: ^2.3.0 - checksum: c7f79b1a2fb968a9a572e9f4053b25d795943f6c25bc1617170862a25168f2cddb091fdd910b28031b99ac9f600d0292e553af6ed80c39ce2560f60f70df5a03 + checksum: 967fb41a212f0b25aba2f674899c6d17a5a0814e349117f04162ece64a4861618a66f933b0945d0bebf0aff59cf8da9462a21d7b39923c732ad8134198fce102 languageName: node linkType: hard -"@nrwl/cypress@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/cypress@npm:16.4.0" +"@nrwl/cypress@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/cypress@npm:16.5.5" dependencies: - "@nx/cypress": 16.4.0 - checksum: fa1f705e4d0edb8fb0ce4326b5cb7d7f97c4fdf00efc9a7a9948dd8b69d1e33ebeab970828bb9a3ab0a206bcd0c1f7ffd05a30505af6bfdc8f2f51f0b5c549c7 + "@nx/cypress": 16.5.5 + checksum: b3330c5a119321900bdb28d09a411b7672acbda67486c03501a567e9badc338ff7b06a6f98dd355076ec98bf80aabbee622dbbdd9edef79dfea35227e803f696 languageName: node linkType: hard @@ -5865,142 +6285,143 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/devkit@npm:16.4.0" +"@nrwl/devkit@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/devkit@npm:16.5.5" dependencies: - "@nx/devkit": 16.4.0 - checksum: 60b156bfd1d53e97e0df29dea6a0b5fde812e0bbb72aedd9494c5d2454b806a743d22541c20c23734da1764f9bfa42f552b0128260692e81ec89878ad3acedf3 + "@nx/devkit": 16.5.5 + checksum: e791b2be9fe2297b58c6a67dc24cacf0e0534fee4e060166d8cb6968b19505e2d0de876a8cdbc2609b2b5e72d4c7434ad060eb12471c4764c6b19d4062c1bb4c languageName: node linkType: hard -"@nrwl/esbuild@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/esbuild@npm:16.4.0" +"@nrwl/esbuild@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/esbuild@npm:16.5.5" dependencies: - "@nx/esbuild": 16.4.0 - checksum: 226cb5312da79749299a770863df364c020cdb6edd2a5a77b2553a047359822fbb62c5e0d19dc866e617259e344aad762541aabb8cb1790ddebb57193b19e890 + "@nx/esbuild": 16.5.5 + checksum: 92893f24b33c6c3ccf4de662aa9109cf62debe44bf4ed8291157cd89d0364c9d9946ec2b8a8d9379c1c80d62d3999cea8c3fb1ae3784c8e1b7f18c60371a9a38 languageName: node linkType: hard -"@nrwl/eslint-plugin-nx@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/eslint-plugin-nx@npm:16.4.0" +"@nrwl/eslint-plugin-nx@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/eslint-plugin-nx@npm:16.5.5" dependencies: - "@nx/eslint-plugin": 16.4.0 - checksum: 5c708f17c885d09e25172547f8b75960b516485b7304e4c44b0ece6c67e0200890d76c09d733192bf3245be1058cc247ca08efef18a73657b550235d860150b5 + "@nx/eslint-plugin": 16.5.5 + checksum: fc46d5a041ba3481a0b1b28d2e5fe510a3fb2b7c9de267719b3684480c7a6918e0ad60b3ddf3a54aea99370886113d8e3e675135cf563db6274017c3144f655f languageName: node linkType: hard -"@nrwl/jest@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/jest@npm:16.4.0" +"@nrwl/jest@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/jest@npm:16.5.5" dependencies: - "@nx/jest": 16.4.0 - checksum: 70ef53ed6543ee9a18e2b36b1fa7498a3ece261e8c4da5769376d50ae27585f75bf07813f01b4697da4c659e7d550e894c43c70acdf2b46d3c5680da3aceada6 + "@nx/jest": 16.5.5 + checksum: 43dead57aad2cec611f011959240184be8a79970c8f70ced4b0e98cf126a4d814999391fc9e3b0c97c1c5976cda7cbd66a3a826b1d2c7cc934092ba25f647d33 languageName: node linkType: hard -"@nrwl/js@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/js@npm:16.4.0" +"@nrwl/js@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/js@npm:16.5.5" dependencies: - "@nx/js": 16.4.0 - checksum: 9564e961ed3d07be3cfb79f9e222658c3958750bb4ba83d7459e85872dd48aa6d3269d67ada63d330a4585d40d34d7c86eebdb6937c19e4cf5b164daeb817c81 + "@nx/js": 16.5.5 + checksum: acd9e10840854e8dbb8fdf1da6aa7dc4c8524776337d444ed355b7e8713070cc3a2cd0f767e34716ab7cba0a91a8020d59be8789c2613acea7a35affc20929a4 languageName: node linkType: hard -"@nrwl/linter@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/linter@npm:16.4.0" +"@nrwl/linter@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/linter@npm:16.5.5" dependencies: - "@nx/linter": 16.4.0 - checksum: 2e874050f1434aa69a13b6dfecd0c62c12f653ae1ef183568ad53cbf06cce4b1fe452ab4bd28008e4cf3a2cbcab9206234692bc8ac2989239dc3a0da06d46387 + "@nx/linter": 16.5.5 + checksum: d2d51d5a890263e89a207f7967f4bac7f7ba80ce9ba41d102a89d2a15072644c223f58c38db22a1148cf056f9abd3358cc8221a63e0bc86778e038b7d95da85e languageName: node linkType: hard -"@nrwl/node@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/node@npm:16.4.0" +"@nrwl/node@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/node@npm:16.5.5" dependencies: - "@nx/node": 16.4.0 - checksum: f97b426447c3920c5495f051a1bf814a449b5083737736b72082a8aa228578cbdca6c22978ef9de9b553e276572ce1e5f661207f218500105550ba0cd0f89828 + "@nx/node": 16.5.5 + checksum: 37543d1feb6095d740512a3dc9fb5db8ba9932c253a454080eb6a8f2868719aca688754d6d2530099fd3ef238a4cefc865fe833d25552b94b2cd31c51d408355 languageName: node linkType: hard -"@nrwl/nx-cloud@npm:16.0.5": - version: 16.0.5 - resolution: "@nrwl/nx-cloud@npm:16.0.5" +"@nrwl/nx-cloud@npm:16.1.1": + version: 16.1.1 + resolution: "@nrwl/nx-cloud@npm:16.1.1" dependencies: - nx-cloud: 16.0.5 - checksum: 8766f7387de69e9a2e968a858e47423c0164ee193219e1590e3ae4f54e64dfe5a202cfda157df2000362e1b6f8f5185d76247fc7732db28182dd7b2aeb0408aa + nx-cloud: 16.1.1 + checksum: 8cc2fdf9a13b3533968ac892239fbef8aa75936ee9c44ac46a2a288d4d538676fea550c3af4c908120fc7025f0c23d759fd7024176d3bae697c0cbafd679682f languageName: node linkType: hard -"@nrwl/storybook@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/storybook@npm:16.4.0" +"@nrwl/storybook@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/storybook@npm:16.5.5" dependencies: - "@nx/storybook": 16.4.0 - checksum: 737d42b03d68fea6b08a06dfcc3914e56f08b4ddc983b9b25c48d2df4df1bbee32b25d33d5cf441dd03ad4fd6161c262f22ef45850019487cf1b45f5082113a4 + "@nx/storybook": 16.5.5 + checksum: 95cbb1490c319260284bb5dd123da5aed2570e290a39da93e43f66e8ee63a7427789cd14c01b34f83e0897d5151df7b8c2f5126307cb5794e9f71238fdceeaa9 languageName: node linkType: hard -"@nrwl/tao@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/tao@npm:16.4.0" +"@nrwl/tao@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/tao@npm:16.5.5" dependencies: - nx: 16.4.0 + nx: 16.5.5 bin: tao: index.js - checksum: 9743695cbdaa88ebf253898dce7160339de7bf14181543120b4c88abcdc949a372debc5686bff8c3cb08ff7e8ca29d17471afa84267f9492f244dedc36a28199 + checksum: 1f78506cc01d0e81516431bf5d020378389b6ae21c23410ed44213e5e07ee50dbc8c111b7c096be086c8a27430121c2d5ae2f01056f739be5cc11b488136e0cd languageName: node linkType: hard -"@nrwl/web@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/web@npm:16.4.0" +"@nrwl/web@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/web@npm:16.5.5" dependencies: - "@nx/web": 16.4.0 - checksum: 822b310349dc4622d17845e1c51e286c39362ce550346002ea55a5b248aa6fd4275cc3e07e29e550e1aedb3896a846de343ed7a4b8d04665118db741410cf2d7 + "@nx/web": 16.5.5 + checksum: 9e69795f6f77e54d6d7696789bc2535f310e91f8e1d3ffc2f207f61fb4c312e925fb61aef25f10d013b18ed239dabc152f8af38dda16a8fbca8e328149d7f6a2 languageName: node linkType: hard -"@nrwl/webpack@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/webpack@npm:16.4.0" +"@nrwl/webpack@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/webpack@npm:16.5.5" dependencies: - "@nx/webpack": 16.4.0 - checksum: 80805a5898a091b4a724b6a1513d392cfa447fffe1b81c82bfe23a755ec42a0799918dc09e305b5996d931ff7ae33a61ab6d6fbe83bfdf2f14edca3cde34420a + "@nx/webpack": 16.5.5 + checksum: f93dc6d3abd0a5a5df66f6e02c88603ad4d4108f132c35bbf385f83f8139709cb285c773fdef7aaf641a50e7cd32cb7eb46ba918ebb11f872e1937a183ee793a languageName: node linkType: hard -"@nrwl/workspace@npm:16.4.0": - version: 16.4.0 - resolution: "@nrwl/workspace@npm:16.4.0" +"@nrwl/workspace@npm:16.5.5": + version: 16.5.5 + resolution: "@nrwl/workspace@npm:16.5.5" dependencies: - "@nx/workspace": 16.4.0 - checksum: aae45b4c7a165b9ebcc6655c50f07a2b2ade1d638553ac39fc15b3bacb2a277d195b1f7d6dd408a101617af746438d02096c5e83ab8e53534a59ae87d633789c + "@nx/workspace": 16.5.5 + checksum: 2fd89b236aabfc041f68b9668e20ed7e819a909d2bd8ec2fc68e0507b1a6f77986e9ebc7a2d76f1ff49d70c0c71295a003d2b1b1d6b39d0281aea1ea313c1e60 languageName: node linkType: hard -"@nx/angular@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/angular@npm:16.4.0" +"@nx/angular@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/angular@npm:16.5.5" dependencies: - "@nrwl/angular": 16.4.0 - "@nx/cypress": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/jest": 16.4.0 - "@nx/js": 16.4.0 - "@nx/linter": 16.4.0 - "@nx/webpack": 16.4.0 - "@nx/workspace": 16.4.0 + "@nrwl/angular": 16.5.5 + "@nx/cypress": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/jest": 16.5.5 + "@nx/js": 16.5.5 + "@nx/linter": 16.5.5 + "@nx/webpack": 16.5.5 + "@nx/workspace": 16.5.5 "@phenomnomnominal/tsquery": ~5.0.1 "@typescript-eslint/type-utils": ^5.36.1 chalk: ^4.1.0 chokidar: ^3.5.1 enquirer: ^2.3.6 + find-cache-dir: ^3.3.2 http-server: ^14.1.0 ignore: ^5.0.4 magic-string: ~0.26.2 @@ -6021,18 +6442,18 @@ __metadata: peerDependenciesMeta: "@nguniversal/builders": optional: true - checksum: 264b36b0274bd28975d12733fe59426f29c3061b467fc5b718126dd7618b74957bb834cced1e4b08bcbe14360adf0764bb95d3dd1a7a5132066c49f6dd2198d0 + checksum: d1566c6d2f618bab23b1dae05223070af2d8bb1518e9e62e6512f498aa41d049b0fb656d11e9b4ad47135d14991d22e8f20ca6e41553f26c00b93813b4362539 languageName: node linkType: hard -"@nx/cypress@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/cypress@npm:16.4.0" +"@nx/cypress@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/cypress@npm:16.5.5" dependencies: - "@nrwl/cypress": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 - "@nx/linter": 16.4.0 + "@nrwl/cypress": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 + "@nx/linter": 16.5.5 "@phenomnomnominal/tsquery": ~5.0.1 detect-port: ^1.5.1 dotenv: ~10.0.0 @@ -6042,7 +6463,7 @@ __metadata: peerDependenciesMeta: cypress: optional: true - checksum: c1b90bd1e51c251d0373957ed57f53433e588be710dfa0a8e661e9f52d23af2ffc47a14d7016c535c124fb9e675c9f8d828ee6ad9ac0991f6c47c23acf3def77 + checksum: 986bd1cd3e5cd20b2321752257d88fb5fae2ffbbdb34b7570c2154c86b4d65074dc8e9cf446d8a6a07819ba079f64b7ab17c272f0a3bc8bba26ff970625668b9 languageName: node linkType: hard @@ -6062,11 +6483,11 @@ __metadata: languageName: node linkType: hard -"@nx/devkit@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/devkit@npm:16.4.0" +"@nx/devkit@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/devkit@npm:16.5.5" dependencies: - "@nrwl/devkit": 16.4.0 + "@nrwl/devkit": 16.5.5 ejs: ^3.1.7 ignore: ^5.0.4 semver: 7.5.3 @@ -6074,17 +6495,17 @@ __metadata: tslib: ^2.3.0 peerDependencies: nx: ">= 15 <= 17" - checksum: 2e892360c8f60d6f219005b3d3fa0b8a9d3b3748674dea8d69e801ae54bb339eec938251f2e9e7d0edc7db42ca14fcab7e9bbc650a0967b000bb847397205f91 + checksum: 163b02f59db0eff76258165a10f9a7770d2e1237aaef120b8397e1d9c650a6777bc2eb1c77a6760392009c54416c41287cc9fbb3b8b6c7d9b1762be3ee928acd languageName: node linkType: hard -"@nx/esbuild@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/esbuild@npm:16.4.0" +"@nx/esbuild@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/esbuild@npm:16.5.5" dependencies: - "@nrwl/esbuild": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 + "@nrwl/esbuild": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 chalk: ^4.1.0 dotenv: ~10.0.0 fast-glob: 3.2.7 @@ -6096,42 +6517,42 @@ __metadata: peerDependenciesMeta: esbuild: optional: true - checksum: cf20c670bf996e10f8ffe75b47402ac837a1d58da0622c9d1508119a936bcfb205ecb2edef17e166f5714afce910ad08f3945bd925a9a0362d97e09404179c1d + checksum: 159cd5200ec562f039d088df968bea20e8a3303037b866c4a22790778b08f8d0e84c10b1377fa959ec54efe46ca602809aaa00042719f8bfb119e5bd5c7eb8ea languageName: node linkType: hard -"@nx/eslint-plugin@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/eslint-plugin@npm:16.4.0" +"@nx/eslint-plugin@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/eslint-plugin@npm:16.5.5" dependencies: - "@nrwl/eslint-plugin-nx": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 - "@typescript-eslint/type-utils": ^5.58.0 - "@typescript-eslint/utils": ^5.58.0 + "@nrwl/eslint-plugin-nx": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 + "@typescript-eslint/type-utils": ^5.60.1 + "@typescript-eslint/utils": ^5.60.1 chalk: ^4.1.0 confusing-browser-globals: ^1.0.9 jsonc-eslint-parser: ^2.1.0 semver: 7.5.3 peerDependencies: - "@typescript-eslint/parser": ^5.58.0 + "@typescript-eslint/parser": ^5.60.1 eslint-config-prettier: ^8.1.0 peerDependenciesMeta: eslint-config-prettier: optional: true - checksum: 922d1c998de593bc833cedc14dc143cf7534906e861d136219e74f2851e3763fbb3fa6272f4cc536b6353f75e8496ae52a9d000a100d02cabf5444ef72be4ea3 + checksum: 69d71a7e21e029060fb570590e9553bd12187e00a8f948675be72f9190e7ec1052cd7cf9cd24aeff07101580bf8529de436998f29da808d277dbc1b8edf35311 languageName: node linkType: hard -"@nx/jest@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/jest@npm:16.4.0" +"@nx/jest@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/jest@npm:16.5.5" dependencies: "@jest/reporters": ^29.4.1 "@jest/test-result": ^29.4.1 - "@nrwl/jest": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 + "@nrwl/jest": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 "@phenomnomnominal/tsquery": ~5.0.1 chalk: ^4.1.0 dotenv: ~10.0.0 @@ -6141,13 +6562,13 @@ __metadata: jest-util: ^29.4.1 resolve.exports: 1.1.0 tslib: ^2.3.0 - checksum: e04a26128dd68a4259017440a54ef50463f65e1c7925f64711c537c90bd45bd2d26f24b6fdd1cc408b0d169ddbc7467d894731fb61653128fbd0134824da5874 + checksum: 526c1f210284587aad0ebda56af3bad34e31e553252a87b948a5c56df851b494484ccdd9895d2400804b7cbcc6b68b65850453f05ef3f99cd8e7c5a77463fff9 languageName: node linkType: hard -"@nx/js@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/js@npm:16.4.0" +"@nx/js@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/js@npm:16.5.5" dependencies: "@babel/core": ^7.15.0 "@babel/plugin-proposal-class-properties": ^7.14.5 @@ -6156,9 +6577,9 @@ __metadata: "@babel/preset-env": ^7.15.0 "@babel/preset-typescript": ^7.15.0 "@babel/runtime": ^7.14.8 - "@nrwl/js": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/workspace": 16.4.0 + "@nrwl/js": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/workspace": 16.5.5 "@phenomnomnominal/tsquery": ~5.0.1 babel-plugin-const-enum: ^1.0.1 babel-plugin-macros: ^2.8.0 @@ -6178,17 +6599,17 @@ __metadata: peerDependenciesMeta: verdaccio: optional: true - checksum: 80deae0798231e33f1a708ba7a92f112bde8f50e5f2141cbd821c3422c2690d9e9c77fa9d09d5bae56c51a9e68353585c3c2d29a83a4fa6d4368fb135408372d + checksum: 105fcd3011fcf0e85387b967f6a4f19498c502c03533e32e6742428bef1974f5455020ec54b6af9583322660bdbf7dfc046a8f3d3318dd8e4a358b14b26485fe languageName: node linkType: hard -"@nx/linter@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/linter@npm:16.4.0" +"@nx/linter@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/linter@npm:16.5.5" dependencies: - "@nrwl/linter": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 + "@nrwl/linter": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 "@phenomnomnominal/tsquery": ~5.0.1 tmp: ~0.2.1 tslib: ^2.3.0 @@ -6197,137 +6618,137 @@ __metadata: peerDependenciesMeta: eslint: optional: true - checksum: 9d7fea31d6c52885a1b19932f52d1942e19f263dccb3d2bd662ccc8c2cf4f05ced20e0f68aaa89c86b94b451b91c7ba438e72b157969d0feaec3d36e1755cf09 + checksum: 3f53bbb6ed17750aaa78238e3786e499c47d0ea8efd20e84a1c4162d162cdff344f22897fee257dadf50fbee801092e0cd56a43b37a070bc6089d77f336616c4 languageName: node linkType: hard -"@nx/node@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/node@npm:16.4.0" +"@nx/node@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/node@npm:16.5.5" dependencies: - "@nrwl/node": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/jest": 16.4.0 - "@nx/js": 16.4.0 - "@nx/linter": 16.4.0 - "@nx/workspace": 16.4.0 + "@nrwl/node": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/jest": 16.5.5 + "@nx/js": 16.5.5 + "@nx/linter": 16.5.5 + "@nx/workspace": 16.5.5 tslib: ^2.3.0 - checksum: 3a249c538109de0da9d05628402414000ec398ef4824aa7521d51ce54e16cf8ac092b6389c644b36f4f6b8a3d311d309375c3352371141a48f43fed5df4660b7 + checksum: 5d408cb9ce0084e2ba0f700a237b4cbf07b1e5a99e6e0f8754887eedb1150d5b5331fd5c6f183308fb91f673ba2bd77a131b003d0f4134c97e787357d79bc755 languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-darwin-arm64@npm:16.4.0" +"@nx/nx-darwin-arm64@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-darwin-arm64@npm:16.5.5" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-darwin-x64@npm:16.4.0" +"@nx/nx-darwin-x64@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-darwin-x64@npm:16.5.5" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-freebsd-x64@npm:16.4.0" +"@nx/nx-freebsd-x64@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-freebsd-x64@npm:16.5.5" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:16.4.0" +"@nx/nx-linux-arm-gnueabihf@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:16.5.5" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-linux-arm64-gnu@npm:16.4.0" +"@nx/nx-linux-arm64-gnu@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-linux-arm64-gnu@npm:16.5.5" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-linux-arm64-musl@npm:16.4.0" +"@nx/nx-linux-arm64-musl@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-linux-arm64-musl@npm:16.5.5" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-linux-x64-gnu@npm:16.4.0" +"@nx/nx-linux-x64-gnu@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-linux-x64-gnu@npm:16.5.5" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-linux-x64-musl@npm:16.4.0" +"@nx/nx-linux-x64-musl@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-linux-x64-musl@npm:16.5.5" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-win32-arm64-msvc@npm:16.4.0" +"@nx/nx-win32-arm64-msvc@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-win32-arm64-msvc@npm:16.5.5" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/nx-win32-x64-msvc@npm:16.4.0" +"@nx/nx-win32-x64-msvc@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/nx-win32-x64-msvc@npm:16.5.5" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@nx/storybook@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/storybook@npm:16.4.0" +"@nx/storybook@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/storybook@npm:16.5.5" dependencies: - "@nrwl/storybook": 16.4.0 - "@nx/cypress": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 - "@nx/linter": 16.4.0 - "@nx/workspace": 16.4.0 + "@nrwl/storybook": 16.5.5 + "@nx/cypress": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 + "@nx/linter": 16.5.5 + "@nx/workspace": 16.5.5 "@phenomnomnominal/tsquery": ~5.0.1 dotenv: ~10.0.0 semver: 7.5.3 - checksum: 0292c727626a2515e78f720a56c0028f7210732efa602b94ab2bd8c39fa77748259cad69f7ee37fc387c73678fd16ad8fb2eaa2efd2cf7347bef1bb7288d2e45 + checksum: 3433b3be429dfea8b0e505d5529f0601bfb1eca457f7e7756b80d63a8c3a8d6fe13b0ee625576cc323524ef3f69950ce167bfb66f08805273a2ef3cb41e2523b languageName: node linkType: hard -"@nx/web@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/web@npm:16.4.0" +"@nx/web@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/web@npm:16.5.5" dependencies: - "@nrwl/web": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 + "@nrwl/web": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 chalk: ^4.1.0 chokidar: ^3.5.1 detect-port: ^1.5.1 http-server: ^14.1.0 ignore: ^5.0.4 tslib: ^2.3.0 - checksum: 9eb1e265ccb0eb4187a045dc9af5d5727eecb5e793344b54b536c85c4918fd199a2e2314f77e33f2bfce32cb818be4c65784e96b0a8f00c216c611cc3b6896eb + checksum: 62d54e0e9910ae919b21e4f37cc313b3259b8c741976fce211348f0a4c26210f9e0de04f71a2ef18eaebac27424e7b47253e96a362c799b7a1950345c80fb561 languageName: node linkType: hard -"@nx/webpack@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/webpack@npm:16.4.0" +"@nx/webpack@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/webpack@npm:16.5.5" dependencies: "@babel/core": ^7.15.0 - "@nrwl/webpack": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/js": 16.4.0 + "@nrwl/webpack": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/js": 16.5.5 autoprefixer: ^10.4.9 babel-loader: ^9.1.2 browserslist: ^4.21.4 @@ -6337,7 +6758,6 @@ __metadata: css-loader: ^6.4.0 css-minimizer-webpack-plugin: ^5.0.0 dotenv: ~10.0.0 - file-loader: ^6.2.0 fork-ts-checker-webpack-plugin: 7.2.13 ignore: ^5.0.4 less: 4.1.3 @@ -6366,16 +6786,16 @@ __metadata: webpack-dev-server: ^4.9.3 webpack-node-externals: ^3.0.0 webpack-subresource-integrity: ^5.1.0 - checksum: c829b60f1f2d9703086b1f9f6f0b0da2cda838544a724e0768367bb5ca1e9cc53a3a760a789482be749be3030908abd1ff9e616fbeb518e9b00b6a2221521102 + checksum: cedc0d4693f08abbb367095e37a859e31d9889682c138734fb320b60d1a9084f85c609f773ec510bbad28e3246b64307bdffa2d8be5859518476861d5d69f3b9 languageName: node linkType: hard -"@nx/workspace@npm:16.4.0": - version: 16.4.0 - resolution: "@nx/workspace@npm:16.4.0" +"@nx/workspace@npm:16.5.5": + version: 16.5.5 + resolution: "@nx/workspace@npm:16.5.5" dependencies: - "@nrwl/workspace": 16.4.0 - "@nx/devkit": 16.4.0 + "@nrwl/workspace": 16.5.5 + "@nx/devkit": 16.5.5 "@parcel/watcher": 2.0.4 chalk: ^4.1.0 chokidar: ^3.5.1 @@ -6387,14 +6807,14 @@ __metadata: ignore: ^5.0.4 minimatch: 3.0.5 npm-run-path: ^4.0.1 - nx: 16.4.0 + nx: 16.5.5 open: ^8.4.0 rxjs: ^7.8.0 tmp: ~0.2.1 tslib: ^2.3.0 yargs: ^17.6.2 yargs-parser: 21.1.1 - checksum: c3c906f69ad740c6bdbb6b916057a3a5175daee8751e6bcb8eff7bb3ddb15ccbcafadaed2d659383df96b02ed2abda26493c44bcdf32cd7e18ef7eea3d0b1717 + checksum: 40acb76d47fefe454be0e3e52a4572307b79d006dccbfac57c728a432ac7245e0e766ed5260352f66bc8cf74727070f99f3dd689cfe6af596ef0e83fbb74c425 languageName: node linkType: hard @@ -6969,18 +7389,18 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-actions@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-actions@npm:7.0.18" +"@storybook/addon-actions@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-actions@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 dequal: ^2.0.2 lodash: ^4.17.21 polished: ^4.2.2 @@ -6997,22 +7417,22 @@ __metadata: optional: true react-dom: optional: true - checksum: dcb6a9f80b6534e836494fde3c5965a5bd6d81634868a85b46c6869cc5d6dab7f41c9967f86d70442c1e54608518983528ae028bc32240b36a3e1351fc9dbca2 + checksum: 7be3a89c4e1e243c32099825fc8e1fcfbc4550c50407ef8afcda6d4e99b00b5cceb06fb5581d1ea3947cbaa6488151f91017c8769ccf6f35be111daf4a6c042f languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-backgrounds@npm:7.0.18" +"@storybook/addon-backgrounds@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-backgrounds@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 memoizerific: ^1.11.3 ts-dedent: ^2.0.0 peerDependencies: @@ -7023,23 +7443,23 @@ __metadata: optional: true react-dom: optional: true - checksum: a97218ca2d85ec4935e6e976ef95fff71605ec1a518a786b4a5b7b3bf4a915b734c1e63ac564d4c73beeee66a19b620cf91b66458b95cdf638cb910790325609 + checksum: 36c73a4896aea949c9e2ef5b3b7749f329d3dd8d874fb1a7304a84001a24606df91e9c9e9be752224385d76517810c4ae65bea694540080ab1086e2b37ab51a2 languageName: node linkType: hard -"@storybook/addon-controls@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-controls@npm:7.0.18" - dependencies: - "@storybook/blocks": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-common": 7.0.18 - "@storybook/manager-api": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 +"@storybook/addon-controls@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-controls@npm:7.1.1" + dependencies: + "@storybook/blocks": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/manager-api": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 lodash: ^4.17.21 ts-dedent: ^2.0.0 peerDependencies: @@ -7050,31 +7470,29 @@ __metadata: optional: true react-dom: optional: true - checksum: 5800e809c9a68e833c6025635d36bc2592eb6d6b5bc9111cebf931a948be59e6993bd5d543a79382a71f89c7314f4b7198cff75adba3caebecddf3b000bc5ae9 + checksum: a64e80e5b988b124b0601a59bbf52ea52f933ab052ce2af7380fdbc57647da014c579bcb2a65e786e01f938a6fcaf0c404d4d829584ab59fc054934203cf7a93 languageName: node linkType: hard -"@storybook/addon-docs@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-docs@npm:7.0.18" +"@storybook/addon-docs@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-docs@npm:7.1.1" dependencies: - "@babel/core": ^7.20.2 - "@babel/plugin-transform-react-jsx": ^7.19.0 "@jest/transform": ^29.3.1 "@mdx-js/react": ^2.1.5 - "@storybook/blocks": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/csf-plugin": 7.0.18 - "@storybook/csf-tools": 7.0.18 + "@storybook/blocks": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/csf-plugin": 7.1.1 + "@storybook/csf-tools": 7.1.1 "@storybook/global": ^5.0.0 "@storybook/mdx2-csf": ^1.0.0 - "@storybook/node-logger": 7.0.18 - "@storybook/postinstall": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/react-dom-shim": 7.0.18 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/node-logger": 7.1.1 + "@storybook/postinstall": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/react-dom-shim": 7.1.1 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 fs-extra: ^11.1.0 remark-external-links: ^8.0.0 remark-slug: ^6.0.0 @@ -7082,43 +7500,43 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 5c35821067d317e39183aed709b3b18100e015bd5bce155e34cf71b9926ebc4cd37dd9bf296658bfb7a812a30d5dbb3692196d54349de07e43797d763ec10a14 - languageName: node - linkType: hard - -"@storybook/addon-essentials@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-essentials@npm:7.0.18" - dependencies: - "@storybook/addon-actions": 7.0.18 - "@storybook/addon-backgrounds": 7.0.18 - "@storybook/addon-controls": 7.0.18 - "@storybook/addon-docs": 7.0.18 - "@storybook/addon-highlight": 7.0.18 - "@storybook/addon-measure": 7.0.18 - "@storybook/addon-outline": 7.0.18 - "@storybook/addon-toolbars": 7.0.18 - "@storybook/addon-viewport": 7.0.18 - "@storybook/core-common": 7.0.18 - "@storybook/manager-api": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 + checksum: 8b1d2dba07db8bfa1c75790e68ec1e02a4bc3b2d91fadb26605ccba2f8bfaa6b60e77b484576db747ace34c94297cab132245df2d1228d0c5c3e01fc0fd59e73 + languageName: node + linkType: hard + +"@storybook/addon-essentials@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-essentials@npm:7.1.1" + dependencies: + "@storybook/addon-actions": 7.1.1 + "@storybook/addon-backgrounds": 7.1.1 + "@storybook/addon-controls": 7.1.1 + "@storybook/addon-docs": 7.1.1 + "@storybook/addon-highlight": 7.1.1 + "@storybook/addon-measure": 7.1.1 + "@storybook/addon-outline": 7.1.1 + "@storybook/addon-toolbars": 7.1.1 + "@storybook/addon-viewport": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/manager-api": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/preview-api": 7.1.1 ts-dedent: ^2.0.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: b0209f48ec40c141aa589904c7ef21f65ac695cbb1807e1a32b10472c3aa80a73b0897ff3377fec5c7821353fa1de5a05b73b467584a2054c7715fbc7fe6188a + checksum: 80df32c00b754da5179f3187dc22cfcd580d5a80ca62f3a3612b4e8776480c5609b06730ec177eb23ba0fe6f2a2c47d374a369c6c6162e4c250b4ed3378356b8 languageName: node linkType: hard -"@storybook/addon-highlight@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-highlight@npm:7.0.18" +"@storybook/addon-highlight@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-highlight@npm:7.1.1" dependencies: - "@storybook/core-events": 7.0.18 + "@storybook/core-events": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/preview-api": 7.0.18 - checksum: bb90dc181d2946328f390f7b9ecf8ecb392dbac6bfedbc677157693bbabd288571e25deaec44edf583c030e12be6926aa85eb4622e7f6bb516960a15d1a7c45c + "@storybook/preview-api": 7.1.1 + checksum: 016c80be5b3baacb824a20d05f933747bd976d7bc475a98de489ccc792f974fb4003ab1620a27673e6c258b3237ed81ac6395cee3bdc20c1e8add2f8a2ec432f languageName: node linkType: hard @@ -7154,28 +7572,29 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-mdx-gfm@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-mdx-gfm@npm:7.0.18" +"@storybook/addon-mdx-gfm@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-mdx-gfm@npm:7.1.1" dependencies: - "@storybook/node-logger": 7.0.18 + "@storybook/node-logger": 7.1.1 remark-gfm: ^3.0.1 ts-dedent: ^2.0.0 - checksum: db284f0d567255afc77acec74913434857ab614b64561380f885dcb01deb03189a008c066338405d334931125a41869855b4065d502238a76bea4113c875d617 + checksum: 9ed0737fa07230c7ad03ffb9fc972d9ecbe788ef0a0981ebc7ef7aa2757b7e3667efb53c8517c63f91ee26827a12d19841fcba63d211188c644120d3c63e7bab languageName: node linkType: hard -"@storybook/addon-measure@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-measure@npm:7.0.18" +"@storybook/addon-measure@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-measure@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/types": 7.1.1 + tiny-invariant: ^1.3.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7184,21 +7603,21 @@ __metadata: optional: true react-dom: optional: true - checksum: 857ba8e4e60ec5befe084f8028b93dcb587566e20f1b089e61441c350447b5bc2c0cddb56aee60882744c60163c8946bdf87921c208dc2952f12ad48607094cd + checksum: afdbf241cbecc3d4066e8c1c65ce0b7aa5a1345547e176acf530724e40c4e34f552646f74256a9b2b1c100aede4ae9831156f76e17e6cf800242b836b5d6ceb9 languageName: node linkType: hard -"@storybook/addon-outline@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-outline@npm:7.0.18" +"@storybook/addon-outline@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-outline@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/types": 7.1.1 ts-dedent: ^2.0.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7208,19 +7627,19 @@ __metadata: optional: true react-dom: optional: true - checksum: e4e9d3ed7eeb922f5a7ea03bb1d2638e10ea0bc3c9eccaab6fdf527b99d6f381b5bab6cb80e7799d6fe52014de9913954392857419b45b618439279c1cd68003 + checksum: 3da3bc8fdb33e224a10affe7bc00cc179a3892086e66edae23fb1d78f56970065dbbeb6c504e5d6ded2437641c50c2b04ff059d873dea73f0b4fe55a97af5b25 languageName: node linkType: hard -"@storybook/addon-toolbars@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-toolbars@npm:7.0.18" +"@storybook/addon-toolbars@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-toolbars@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/theming": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/theming": 7.1.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7229,21 +7648,21 @@ __metadata: optional: true react-dom: optional: true - checksum: eacabdb93d6134e8dd65345e57d52a64e37102987bbb01977da4fed4e3fb0b210aba9fa8b0986322b682ade11d33cf2d98e29823f407d9a3ef644afc52c5a79b + checksum: e62054ad02c92ed9d546ccd6fd8ec446e1e4fa6f8ec6a4490a0da12c006f87cd73d4c48c6cf3b0ab5900d73d4292d0ccc5984c4d47371d3b83812dac8e469ed8 languageName: node linkType: hard -"@storybook/addon-viewport@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addon-viewport@npm:7.0.18" +"@storybook/addon-viewport@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addon-viewport@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/theming": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/theming": 7.1.1 memoizerific: ^1.11.3 prop-types: ^15.7.2 peerDependencies: @@ -7254,43 +7673,42 @@ __metadata: optional: true react-dom: optional: true - checksum: 13ac399be9496bfc0cfb05b81ac37fec332ad93855c75073b098506b4b3a5e0ac9a5f862a151ac5738f8ae01c918f3a5f8a506d9126e27906e2f8741b4345eed + checksum: 046352de46405b1077245799bf5f4bb9fc09cd52a29162215ffa4c63a863e23a0fb02338e56eb9f260ba8025303d48c0d75abe945662d062f187b3f131b468fd languageName: node linkType: hard -"@storybook/addons@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/addons@npm:7.0.18" +"@storybook/addons@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/addons@npm:7.1.1" dependencies: - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/types": 7.1.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: ecfc58783508f2373abca6afeb4255b21cd55a61cd7db6badfa4a2b7e6c85e7d96612a8d4de681a642e314ba1b882b650d4124dc0f617376b7aebba732d1a400 + checksum: 7e53075285b27117291c6947cc00b51981149c922a80537d81142c758c2cf9de4400eca18dd3ee3795d7e627e69b13dfffdb590db9c35a7d6b45f57c7448f4f5 languageName: node linkType: hard -"@storybook/angular@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/angular@npm:7.0.18" - dependencies: - "@storybook/builder-webpack5": 7.0.18 - "@storybook/cli": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/core-client": 7.0.18 - "@storybook/core-common": 7.0.18 - "@storybook/core-events": 7.0.18 - "@storybook/core-server": 7.0.18 - "@storybook/core-webpack": 7.0.18 - "@storybook/docs-tools": 7.0.18 +"@storybook/angular@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/angular@npm:7.1.1" + dependencies: + "@storybook/builder-webpack5": 7.1.1 + "@storybook/cli": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/core-events": 7.1.1 + "@storybook/core-server": 7.1.1 + "@storybook/core-webpack": 7.1.1 + "@storybook/docs-tools": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/telemetry": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/telemetry": 7.1.1 + "@storybook/types": 7.1.1 "@types/node": ^16.0.0 "@types/react": ^16.14.34 "@types/react-dom": ^16.9.14 @@ -7301,7 +7719,7 @@ __metadata: semver: ^7.3.7 telejson: ^7.0.3 ts-dedent: ^2.0.0 - tsconfig-paths-webpack-plugin: ^3.5.2 + tsconfig-paths-webpack-plugin: ^4.0.1 util-deprecate: ^1.0.2 webpack: 5 peerDependencies: @@ -7325,16 +7743,16 @@ __metadata: peerDependenciesMeta: "@angular/cli": optional: true - checksum: 2b85cf23c6f2b9d954a22dda75d3a3276cd6d251cc209641e5c8c7016c032aa6b1e6c771bd2cf8329b331da109021a961334ebd47c7bdf2c37e10fd84a6c25d3 + checksum: f55de69b5b360aa493b293f753dd8098c860917973cdb86cf439dd7e6f216345a75c07866ab6fe0d2a37ff8842f7ec9ac5ad38ba49cd6f8b3cce4df405172226 languageName: node linkType: hard -"@storybook/api@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/api@npm:7.0.18" +"@storybook/api@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/api@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/manager-api": 7.0.18 + "@storybook/client-logger": 7.1.1 + "@storybook/manager-api": 7.1.1 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7343,25 +7761,25 @@ __metadata: optional: true react-dom: optional: true - checksum: 4b193a2cb484112fade8688daf35008bbaea731cf47c136b11042d4d86a7b9e522affb216478ce578f352911a5c6382dcaac57b4b7276cc25514b2b4bd6a4fdf + checksum: 66645e9510de74993fa5eff3b85a742a041925ae19d57aca92256bec54445f7faf51215b9d7340449bc7c7b4194c02506e2ddb86223c0fc57d69416be36f1edc languageName: node linkType: hard -"@storybook/blocks@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/blocks@npm:7.0.18" +"@storybook/blocks@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/blocks@npm:7.1.1" dependencies: - "@storybook/channels": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/channels": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/csf": ^0.1.0 - "@storybook/docs-tools": 7.0.18 + "@storybook/docs-tools": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 "@types/lodash": ^4.14.167 color-convert: ^2.0.1 dequal: ^2.0.2 @@ -7371,23 +7789,24 @@ __metadata: polished: ^4.2.2 react-colorful: ^5.1.2 telejson: ^7.0.3 + tocbot: ^4.20.1 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 7c841fc70b926789775859f267d3fa023b2dcad55b53595f2fc0c413de761697968be1f4035a2c8ace591f248ff111684cc5cab2a9031a61823309a2d383165f + checksum: 25cdb34b98d942e9f6022736a0270833d27502e2068f964435967f28757f5a34aff8c9e015d954c24ee447353b141470cc02d01085944db9a98a6e1f52c1672e languageName: node linkType: hard -"@storybook/builder-manager@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/builder-manager@npm:7.0.18" +"@storybook/builder-manager@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/builder-manager@npm:7.0.7" dependencies: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/core-common": 7.0.18 - "@storybook/manager": 7.0.18 - "@storybook/node-logger": 7.0.18 + "@storybook/core-common": 7.0.7 + "@storybook/manager": 7.0.7 + "@storybook/node-logger": 7.0.7 "@types/ejs": ^3.1.1 "@types/find-cache-dir": ^3.2.1 "@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10 @@ -7400,102 +7819,91 @@ __metadata: fs-extra: ^11.1.0 process: ^0.11.10 util: ^0.12.4 - checksum: b3863f0c2675d08bb3fedfa9fc27ff017c487407106405a20f11bed57274fe318c2d985168f3361b5c810635452e1dd5f41afc876401fe1af5dbe77fbff05824 + checksum: 28d60f028cd08498294872b275126368b002b2751e91802932cd746c92b4b4fd4361a7fec1a8779133625aabd83a13773a12f92c331166bef1b1ba36626f30c6 languageName: node linkType: hard -"@storybook/builder-manager@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/builder-manager@npm:7.0.7" +"@storybook/builder-manager@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/builder-manager@npm:7.1.1" dependencies: "@fal-works/esbuild-plugin-global-externals": ^2.1.2 - "@storybook/core-common": 7.0.7 - "@storybook/manager": 7.0.7 - "@storybook/node-logger": 7.0.7 + "@storybook/core-common": 7.1.1 + "@storybook/manager": 7.1.1 + "@storybook/node-logger": 7.1.1 "@types/ejs": ^3.1.1 "@types/find-cache-dir": ^3.2.1 "@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10 browser-assert: ^1.2.1 ejs: ^3.1.8 - esbuild: ^0.17.0 + esbuild: ^0.18.0 esbuild-plugin-alias: ^0.2.1 express: ^4.17.3 find-cache-dir: ^3.0.0 fs-extra: ^11.1.0 process: ^0.11.10 util: ^0.12.4 - checksum: 28d60f028cd08498294872b275126368b002b2751e91802932cd746c92b4b4fd4361a7fec1a8779133625aabd83a13773a12f92c331166bef1b1ba36626f30c6 + checksum: 87e06696e8db5b97725a52fb04693d1ccb325e4a2be2e9f62c24fbfc4bc485ad91c87cbbe6bf10b36b79052baa40681a9f100b82fbfa88697e6d34407561fd48 languageName: node linkType: hard -"@storybook/builder-webpack5@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/builder-webpack5@npm:7.0.18" - dependencies: - "@babel/core": ^7.12.10 - "@storybook/addons": 7.0.18 - "@storybook/api": 7.0.18 - "@storybook/channel-postmessage": 7.0.18 - "@storybook/channel-websocket": 7.0.18 - "@storybook/channels": 7.0.18 - "@storybook/client-api": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/components": 7.0.18 - "@storybook/core-common": 7.0.18 - "@storybook/core-events": 7.0.18 - "@storybook/core-webpack": 7.0.18 +"@storybook/builder-webpack5@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/builder-webpack5@npm:7.1.1" + dependencies: + "@babel/core": ^7.22.9 + "@storybook/addons": 7.1.1 + "@storybook/api": 7.1.1 + "@storybook/channel-postmessage": 7.1.1 + "@storybook/channels": 7.1.1 + "@storybook/client-api": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/components": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/core-events": 7.1.1 + "@storybook/core-webpack": 7.1.1 "@storybook/global": ^5.0.0 - "@storybook/manager-api": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/preview": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/router": 7.0.18 - "@storybook/store": 7.0.18 - "@storybook/theming": 7.0.18 + "@storybook/manager-api": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/preview": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/router": 7.1.1 + "@storybook/store": 7.1.1 + "@storybook/theming": 7.1.1 + "@swc/core": ^1.3.49 "@types/node": ^16.0.0 "@types/semver": ^7.3.4 babel-loader: ^9.0.0 babel-plugin-named-exports-order: ^0.0.2 browser-assert: ^1.2.1 case-sensitive-paths-webpack-plugin: ^2.4.0 + constants-browserify: ^1.0.0 css-loader: ^6.7.1 express: ^4.17.3 - fork-ts-checker-webpack-plugin: ^7.2.8 + fork-ts-checker-webpack-plugin: ^8.0.0 fs-extra: ^11.1.0 html-webpack-plugin: ^5.5.0 path-browserify: ^1.0.1 process: ^0.11.10 semver: ^7.3.7 style-loader: ^3.3.1 + swc-loader: ^0.2.3 terser-webpack-plugin: ^5.3.1 ts-dedent: ^2.0.0 + url: ^0.11.0 util: ^0.12.4 util-deprecate: ^1.0.2 webpack: 5 - webpack-dev-middleware: ^5.3.1 + webpack-dev-middleware: ^6.1.1 webpack-hot-middleware: ^2.25.1 - webpack-virtual-modules: ^0.4.3 + webpack-virtual-modules: ^0.5.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: typescript: optional: true - checksum: cfc261bbe3b044f4ab3363d0fab6ce4b3ef7cb1e23c75d9f6a7bd7871df8fb7bd5cf621a20acaecbadbc9930539714060bd09e62384fad9b034885c147cc926c - languageName: node - linkType: hard - -"@storybook/channel-postmessage@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/channel-postmessage@npm:7.0.18" - dependencies: - "@storybook/channels": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/core-events": 7.0.18 - "@storybook/global": ^5.0.0 - qs: ^6.10.0 - telejson: ^7.0.3 - checksum: 04b2dfd36462195566e00269901f919743b9a65faa79f9708e35f58638f37cb4885332763d6602047d2e7a2afdf69d5da8af4afd5f43f614741357027fd54dbd + checksum: 6b6b175b480d65f5e560f29496589901904fb116ac089dd03f2b4727fc75bc692d104ebcfd76fa83cec742911d1125d02406047ce817fef0fe67e9289df38d64 languageName: node linkType: hard @@ -7513,22 +7921,13 @@ __metadata: languageName: node linkType: hard -"@storybook/channel-websocket@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/channel-websocket@npm:7.0.18" +"@storybook/channel-postmessage@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/channel-postmessage@npm:7.1.1" dependencies: - "@storybook/channels": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/global": ^5.0.0 - telejson: ^7.0.3 - checksum: 766ebcdc1724a9f9219dae5d95151ef0014f5e72cee5dbad9252c97f026f9a27187908705e7ed308c42e696ecbf38caf7292f4f5c8bd8f0ae0ea0624ce7f4dfc - languageName: node - linkType: hard - -"@storybook/channels@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/channels@npm:7.0.18" - checksum: 582ac0a8766dfb9a927363124b96b3afec0683165c9b5bc916e0d483ab983173ad71723f19d6b278da2cbc5c6220929bf344a855a51fc9871d00425dcc0bde4a + "@storybook/channels": 7.1.1 + "@storybook/client-logger": 7.1.1 + checksum: fc574ae0a65915de912add285a112e38e26395685151b5d9e5df6d635d13c7b85b6ee81554022d56b0f3b57840eb135f3306259e7d6fc5b452049d32a1dc6899 languageName: node linkType: hard @@ -7539,20 +7938,35 @@ __metadata: languageName: node linkType: hard -"@storybook/cli@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/cli@npm:7.0.18" +"@storybook/channels@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/channels@npm:7.1.1" + dependencies: + "@storybook/channels": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/core-events": 7.1.1 + "@storybook/global": ^5.0.0 + qs: ^6.10.0 + telejson: ^7.0.3 + tiny-invariant: ^1.3.1 + checksum: 258ef798be48907992bdec462fd2341fb64ab203c07181608cb5a3b1278353c4529aa49516458a9af9d129783fe62bdb1d1af37d0e93f213ecd081b9c44ecc15 + languageName: node + linkType: hard + +"@storybook/cli@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/cli@npm:7.0.7" dependencies: "@babel/core": ^7.20.2 "@babel/preset-env": ^7.20.2 "@ndelangen/get-tarball": ^3.0.7 - "@storybook/codemod": 7.0.18 - "@storybook/core-common": 7.0.18 - "@storybook/core-server": 7.0.18 - "@storybook/csf-tools": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/telemetry": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/codemod": 7.0.7 + "@storybook/core-common": 7.0.7 + "@storybook/core-server": 7.0.7 + "@storybook/csf-tools": 7.0.7 + "@storybook/node-logger": 7.0.7 + "@storybook/telemetry": 7.0.7 + "@storybook/types": 7.0.7 "@types/semver": ^7.3.4 boxen: ^5.1.2 chalk: ^4.1.0 @@ -7570,7 +7984,6 @@ __metadata: globby: ^11.0.2 jscodeshift: ^0.14.0 leven: ^3.1.0 - ora: ^5.4.1 prettier: ^2.8.0 prompts: ^2.4.0 puppeteer-core: ^2.1.1 @@ -7585,26 +7998,28 @@ __metadata: bin: getstorybook: bin/index.js sb: bin/index.js - checksum: eaf834f981c87af64a38bb2a566b17c926bef4b6ddc07f69416d2b0d384ce24de15cf5dec49237ec3a4b2e153ee0d2aff21410624edbbc4f011fc33fcba5a4de + checksum: 6b14403a6e5969f391588a0793d051b7260be819f37bf48dbf493dc78432f701a38f507a5c8d3197b90af5e7153a108ad137501ea46231d4ae64882664e72112 languageName: node linkType: hard -"@storybook/cli@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/cli@npm:7.0.7" +"@storybook/cli@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/cli@npm:7.1.1" dependencies: - "@babel/core": ^7.20.2 - "@babel/preset-env": ^7.20.2 + "@babel/core": ^7.22.9 + "@babel/preset-env": ^7.22.9 + "@babel/types": ^7.22.5 "@ndelangen/get-tarball": ^3.0.7 - "@storybook/codemod": 7.0.7 - "@storybook/core-common": 7.0.7 - "@storybook/core-server": 7.0.7 - "@storybook/csf-tools": 7.0.7 - "@storybook/node-logger": 7.0.7 - "@storybook/telemetry": 7.0.7 - "@storybook/types": 7.0.7 + "@storybook/codemod": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/core-server": 7.1.1 + "@storybook/csf-tools": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/telemetry": 7.1.1 + "@storybook/types": 7.1.1 "@types/semver": ^7.3.4 - boxen: ^5.1.2 + "@yarnpkg/fslib": 2.10.3 + "@yarnpkg/libzip": 2.3.0 chalk: ^4.1.0 commander: ^6.2.1 cross-spawn: ^7.0.3 @@ -7620,129 +8035,120 @@ __metadata: globby: ^11.0.2 jscodeshift: ^0.14.0 leven: ^3.1.0 + ora: ^5.4.1 prettier: ^2.8.0 prompts: ^2.4.0 puppeteer-core: ^2.1.1 read-pkg-up: ^7.0.1 semver: ^7.3.7 - shelljs: ^0.8.5 simple-update-notifier: ^1.0.0 strip-json-comments: ^3.0.1 tempy: ^1.0.1 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 bin: - getstorybook: bin/index.js - sb: bin/index.js - checksum: 6b14403a6e5969f391588a0793d051b7260be819f37bf48dbf493dc78432f701a38f507a5c8d3197b90af5e7153a108ad137501ea46231d4ae64882664e72112 + getstorybook: ./bin/index.js + sb: ./bin/index.js + checksum: 5c509f8a8fa0fad902ef5848c114d4214f6ee8175032e12e46dc838cbced0f9f92beb448a3a106180a244e7a7ddc1d81a167ca1af28a2ac24b94d8d8308e0f4a languageName: node linkType: hard -"@storybook/client-api@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/client-api@npm:7.0.18" +"@storybook/client-api@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/client-api@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 - checksum: 6e7c9f0db40927706c74ff5859590d8874166a8eccbd9ec3c147d9e0c9a5b15d25955a38f14faa579cb52e0618d31dd4e1a0ed1938c53ea61b7b9a961a81a5af + "@storybook/client-logger": 7.1.1 + "@storybook/preview-api": 7.1.1 + checksum: 5e7f79e8bcfbaf2c1ea8c3208c9fde29944693a4274deda0fde1b94d5ddf08e9e2d7ad7df42eb387380e7417e95f51b612f0734be4f01bdc2b856756edecc1ba languageName: node linkType: hard -"@storybook/client-logger@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/client-logger@npm:7.0.18" +"@storybook/client-logger@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/client-logger@npm:7.0.7" dependencies: "@storybook/global": ^5.0.0 - checksum: 273a3a6997865c1518a4d6d5177ed2aa34b638caffa5d317d09a2c37092f4b2f9bc9fe0db64f3b1d8b14dc9d2feb2666ff07aa54e3568ef101ed345350920945 + checksum: 15e622abf5afa006ce325054f3e15830df77ee0410228d4f934604994f4b463534d0f2e756f18737023ab83d7c927b4e62311bcf8ced8e4797dfb76ade95b328 languageName: node linkType: hard -"@storybook/client-logger@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/client-logger@npm:7.0.7" +"@storybook/client-logger@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/client-logger@npm:7.1.1" dependencies: "@storybook/global": ^5.0.0 - checksum: 15e622abf5afa006ce325054f3e15830df77ee0410228d4f934604994f4b463534d0f2e756f18737023ab83d7c927b4e62311bcf8ced8e4797dfb76ade95b328 + checksum: eb8caac2ed8fd5049fe129f7b4e7674f6ef8b08473df4adab8e44fa7b85ba02c95077b1646ee43ff3acccbd559194eb55635c723058970db7b19a8051a2c0c17 languageName: node linkType: hard -"@storybook/codemod@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/codemod@npm:7.0.18" +"@storybook/codemod@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/codemod@npm:7.0.7" dependencies: "@babel/core": ~7.21.0 "@babel/preset-env": ~7.21.0 "@babel/types": ~7.21.2 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/csf-tools": 7.0.7 + "@storybook/node-logger": 7.0.7 + "@storybook/types": 7.0.7 cross-spawn: ^7.0.3 globby: ^11.0.2 jscodeshift: ^0.14.0 lodash: ^4.17.21 prettier: ^2.8.0 recast: ^0.23.1 - checksum: e11b63f98d667b450ea572bbd53a1ddb0164f393c7373e4b7d054b834a9795b8a45feda1a2c3955b932744b6d0fcfdd03b0d4ef9243a4fb76dce04e58e355c7e + checksum: b869acc734e1ce278a8eeb3ed6da7cf03349fb2a05d3e95210ffea913c416f7d291917162fbfa6a5c8bd8eee38fa1f4776c0708dd442beaf758f528a605b2e18 languageName: node linkType: hard -"@storybook/codemod@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/codemod@npm:7.0.7" +"@storybook/codemod@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/codemod@npm:7.1.1" dependencies: - "@babel/core": ~7.21.0 - "@babel/preset-env": ~7.21.0 - "@babel/types": ~7.21.2 + "@babel/core": ^7.22.9 + "@babel/preset-env": ^7.22.9 + "@babel/types": ^7.22.5 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.0.7 - "@storybook/node-logger": 7.0.7 - "@storybook/types": 7.0.7 + "@storybook/csf-tools": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/types": 7.1.1 + "@types/cross-spawn": ^6.0.2 cross-spawn: ^7.0.3 globby: ^11.0.2 jscodeshift: ^0.14.0 lodash: ^4.17.21 prettier: ^2.8.0 recast: ^0.23.1 - checksum: b869acc734e1ce278a8eeb3ed6da7cf03349fb2a05d3e95210ffea913c416f7d291917162fbfa6a5c8bd8eee38fa1f4776c0708dd442beaf758f528a605b2e18 + checksum: 956e00f55ad46e6525068e1e4f47e56db1d6bc7a1db1189086b210bfbd3da5247ff7006eebb3bff062c4860720a1fe3c34f14bde429eb8db4d3b54b55e7c7253 languageName: node linkType: hard -"@storybook/components@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/components@npm:7.0.18" +"@storybook/components@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/components@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 + "@storybook/client-logger": 7.1.1 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 memoizerific: ^1.11.3 use-resize-observer: ^9.1.0 util-deprecate: ^1.0.2 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: ca422a1d499b79924caf6bc7ea96603641695a1c234f66a00fc169d5cd49569735d16bf6954c7bb714f78e95a4b4824c83ef7b0869130e9e24c39777aa9e95de - languageName: node - linkType: hard - -"@storybook/core-client@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/core-client@npm:7.0.18" - dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 - checksum: 1ce0a7e2a3f4b640d9303de1ce2f95d49aa735292cffdad34aa83c7933b239e54d11e802e5d6d1f068c6cd97eafdd8202caa7440f5aaf1f9efbc8c947b11ebcd + checksum: 26df0551902404dd55c91fa883e42417c8770385161dcb336ed56d1c40edd7c2ac0d91fb64f00ae324f6d8e401252e7cea2bf0658dd5e4a4562bf02f6e19ff8c languageName: node linkType: hard -"@storybook/core-common@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/core-common@npm:7.0.18" +"@storybook/core-common@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/core-common@npm:7.0.7" dependencies: - "@storybook/node-logger": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/node-logger": 7.0.7 + "@storybook/types": 7.0.7 "@types/node": ^16.0.0 "@types/pretty-hrtime": ^1.0.0 chalk: ^4.1.0 @@ -7760,41 +8166,37 @@ __metadata: pretty-hrtime: ^1.0.3 resolve-from: ^5.0.0 ts-dedent: ^2.0.0 - checksum: c23fe9e40a49cc2a963553e7b54418a719a74277218cc0d53c68c059b7a99b3c9fefa797c992c325e94ab7e049eb130ab465c869d87027a06225b7a7dfcc6781 + checksum: 2ddea627378c8f03be5c7d2434ff6c0057622d5c31ff01c77cbbb4b43823fddb1a2530abbfb83deca7657b069c58159de73cbfca28095b1854b6605ad09ff6eb languageName: node linkType: hard -"@storybook/core-common@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/core-common@npm:7.0.7" +"@storybook/core-common@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/core-common@npm:7.1.1" dependencies: - "@storybook/node-logger": 7.0.7 - "@storybook/types": 7.0.7 + "@storybook/node-logger": 7.1.1 + "@storybook/types": 7.1.1 + "@types/find-cache-dir": ^3.2.1 "@types/node": ^16.0.0 + "@types/node-fetch": ^2.6.4 "@types/pretty-hrtime": ^1.0.0 chalk: ^4.1.0 - esbuild: ^0.17.0 + esbuild: ^0.18.0 esbuild-register: ^3.4.0 - file-system-cache: ^2.0.0 + file-system-cache: 2.3.0 + find-cache-dir: ^3.0.0 find-up: ^5.0.0 fs-extra: ^11.1.0 - glob: ^8.1.0 - glob-promise: ^6.0.2 + glob: ^10.0.0 handlebars: ^4.7.7 lazy-universal-dotenv: ^4.0.0 + node-fetch: ^2.0.0 picomatch: ^2.3.0 pkg-dir: ^5.0.0 pretty-hrtime: ^1.0.3 resolve-from: ^5.0.0 ts-dedent: ^2.0.0 - checksum: 2ddea627378c8f03be5c7d2434ff6c0057622d5c31ff01c77cbbb4b43823fddb1a2530abbfb83deca7657b069c58159de73cbfca28095b1854b6605ad09ff6eb - languageName: node - linkType: hard - -"@storybook/core-events@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/core-events@npm:7.0.18" - checksum: 1df1fd422353b717b6f7e3d7ffec107bf8dd2afcfd9725a4240034542152225844e089498f393aa19e2771226e38f324644e6346477f1aca74539a070ef4dce3 + checksum: d628d98bac845c3dc81f857b5c17b8ad8ae3d218955a3766de1f8c5d921708744c986b46c57c5f778da2e5176ddf385c1de9fcb6831fbf56b317ad0cfcd89fbe languageName: node linkType: hard @@ -7805,24 +8207,31 @@ __metadata: languageName: node linkType: hard -"@storybook/core-server@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/core-server@npm:7.0.18" +"@storybook/core-events@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/core-events@npm:7.1.1" + checksum: 7df4f3bda05c53585234f29698563b04e7859639d2b4f23114186c4a83aa5c50434b4284101b8daea9536488a7331dbd2df0c42b4a627bee0c8ebd200cb0d59d + languageName: node + linkType: hard + +"@storybook/core-server@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/core-server@npm:7.0.7" dependencies: "@aw-web-design/x-default-browser": 1.4.88 "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-manager": 7.0.18 - "@storybook/core-common": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/builder-manager": 7.0.7 + "@storybook/core-common": 7.0.7 + "@storybook/core-events": 7.0.7 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.0.18 + "@storybook/csf-tools": 7.0.7 "@storybook/docs-mdx": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/manager": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/telemetry": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/manager": 7.0.7 + "@storybook/node-logger": 7.0.7 + "@storybook/preview-api": 7.0.7 + "@storybook/telemetry": 7.0.7 + "@storybook/types": 7.0.7 "@types/detect-port": ^1.3.0 "@types/node": ^16.0.0 "@types/node-fetch": ^2.5.7 @@ -7851,35 +8260,34 @@ __metadata: util-deprecate: ^1.0.2 watchpack: ^2.2.0 ws: ^8.2.3 - checksum: 575072ce7a65986fd5b70928d78062955f07101c7eedaa0216667cb2654902c7dba85c31a3a8d25bec0c6bbe8461b2bf94cff67b64919a39db728aed88faf71b + checksum: 4a917a133c43dc56f7ef9e1010eef370816872dc3d37ec874cf7d3b17f560f2ab6fbb5818502123617c599fc8eb4c68b8a3735e995d4f40825d8c4f89773d22d languageName: node linkType: hard -"@storybook/core-server@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/core-server@npm:7.0.7" +"@storybook/core-server@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/core-server@npm:7.1.1" dependencies: - "@aw-web-design/x-default-browser": 1.4.88 + "@aw-web-design/x-default-browser": 1.4.126 "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-manager": 7.0.7 - "@storybook/core-common": 7.0.7 - "@storybook/core-events": 7.0.7 + "@storybook/builder-manager": 7.1.1 + "@storybook/channels": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/csf": ^0.1.0 - "@storybook/csf-tools": 7.0.7 + "@storybook/csf-tools": 7.1.1 "@storybook/docs-mdx": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/manager": 7.0.7 - "@storybook/node-logger": 7.0.7 - "@storybook/preview-api": 7.0.7 - "@storybook/telemetry": 7.0.7 - "@storybook/types": 7.0.7 + "@storybook/manager": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/telemetry": 7.1.1 + "@storybook/types": 7.1.1 "@types/detect-port": ^1.3.0 "@types/node": ^16.0.0 - "@types/node-fetch": ^2.5.7 "@types/pretty-hrtime": ^1.0.0 "@types/semver": ^7.3.4 - better-opn: ^2.1.1 - boxen: ^5.1.2 + better-opn: ^3.0.2 chalk: ^4.1.0 cli-table3: ^0.6.1 compression: ^1.7.4 @@ -7889,7 +8297,6 @@ __metadata: globby: ^11.0.2 ip: ^2.0.0 lodash: ^4.17.21 - node-fetch: ^2.6.7 open: ^8.4.0 pretty-hrtime: ^1.0.3 prompts: ^2.4.0 @@ -7897,68 +8304,70 @@ __metadata: semver: ^7.3.7 serve-favicon: ^2.5.0 telejson: ^7.0.3 + tiny-invariant: ^1.3.1 ts-dedent: ^2.0.0 + util: ^0.12.4 util-deprecate: ^1.0.2 watchpack: ^2.2.0 ws: ^8.2.3 - checksum: 4a917a133c43dc56f7ef9e1010eef370816872dc3d37ec874cf7d3b17f560f2ab6fbb5818502123617c599fc8eb4c68b8a3735e995d4f40825d8c4f89773d22d + checksum: 27947b1593fa8ae9cbafdd3a26e03e6370fe72bd1b4dac5b7cda083fdef65dc05e6c30f20ede1f4803980067347eab7dbe3c44e2e9993807ddbda373af9425e3 languageName: node linkType: hard -"@storybook/core-webpack@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/core-webpack@npm:7.0.18" +"@storybook/core-webpack@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/core-webpack@npm:7.1.1" dependencies: - "@storybook/core-common": 7.0.18 - "@storybook/node-logger": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/core-common": 7.1.1 + "@storybook/node-logger": 7.1.1 + "@storybook/types": 7.1.1 "@types/node": ^16.0.0 ts-dedent: ^2.0.0 - checksum: c286f5f77c5a016bcfbe7fc61a38443e8e00b6f12d0783683f4fe8a6b98cde842e1b3265066f8aa642a9fb4aba47d5c28932a8b600212b75e763454086427edb + checksum: f9f023c040b2c308aced0392e310991be95f20790d56c1f708fc6c0b8812b4c148592c413210c3acbbb249265021d38eeb1cd3ed973ab9bb2b6b08375a2f908e languageName: node linkType: hard -"@storybook/csf-plugin@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/csf-plugin@npm:7.0.18" +"@storybook/csf-plugin@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/csf-plugin@npm:7.1.1" dependencies: - "@storybook/csf-tools": 7.0.18 - unplugin: ^0.10.2 - checksum: 61c57e98668272e782fcdc24ed1e73fdaf13e77e9f88e726b8d8e1e86055d387a311f309f15a20e6390a8873be0af759a6964ebe1454bb2898eb830fffc387a1 + "@storybook/csf-tools": 7.1.1 + unplugin: ^1.3.1 + checksum: 1c240468178572a9142360b1ed11b33a9bfa59ddff11492dc701408fde50f4ebc8b2ed358205673f54fc4fd268ec3bb1227159a37c3ecfcec5777648648f098a languageName: node linkType: hard -"@storybook/csf-tools@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/csf-tools@npm:7.0.18" +"@storybook/csf-tools@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/csf-tools@npm:7.0.7" dependencies: "@babel/generator": ~7.21.1 "@babel/parser": ~7.21.2 "@babel/traverse": ~7.21.2 "@babel/types": ~7.21.2 "@storybook/csf": ^0.1.0 - "@storybook/types": 7.0.18 + "@storybook/types": 7.0.7 fs-extra: ^11.1.0 recast: ^0.23.1 ts-dedent: ^2.0.0 - checksum: 632b599012b6e00f264f24c3d8eab75804af3591e5a95ecb8b7e270ebc5f8d92a6094a0068bbceb48ce3b57db85ce695710ddab2747fe36a2cf885e1ea1984aa + checksum: dd700840e53b413d8815533b71aeff41d945b553fd4660ac18f0275f3e391f3e324bf2fa149c1baabbf28be3d3a8f0a1b8c58a08ad179945926b228ea76d07ac languageName: node linkType: hard -"@storybook/csf-tools@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/csf-tools@npm:7.0.7" +"@storybook/csf-tools@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/csf-tools@npm:7.1.1" dependencies: - "@babel/generator": ~7.21.1 - "@babel/parser": ~7.21.2 - "@babel/traverse": ~7.21.2 - "@babel/types": ~7.21.2 + "@babel/generator": ^7.22.9 + "@babel/parser": ^7.22.7 + "@babel/traverse": ^7.22.8 + "@babel/types": ^7.22.5 "@storybook/csf": ^0.1.0 - "@storybook/types": 7.0.7 + "@storybook/types": 7.1.1 fs-extra: ^11.1.0 recast: ^0.23.1 ts-dedent: ^2.0.0 - checksum: dd700840e53b413d8815533b71aeff41d945b553fd4660ac18f0275f3e391f3e324bf2fa149c1baabbf28be3d3a8f0a1b8c58a08ad179945926b228ea76d07ac + checksum: 6af94d662187ae1b7bc574fb23404e88810bf225be8624600426080fb51770e90236602af557a95ec32f42da856964d082d8f5fe606a1f19ba1d4fb24980e174 languageName: node linkType: hard @@ -7987,18 +8396,17 @@ __metadata: languageName: node linkType: hard -"@storybook/docs-tools@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/docs-tools@npm:7.0.18" +"@storybook/docs-tools@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/docs-tools@npm:7.1.1" dependencies: - "@babel/core": ^7.12.10 - "@storybook/core-common": 7.0.18 - "@storybook/preview-api": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/core-common": 7.1.1 + "@storybook/preview-api": 7.1.1 + "@storybook/types": 7.1.1 "@types/doctrine": ^0.0.3 doctrine: ^3.0.0 lodash: ^4.17.21 - checksum: 1552d15b9da25247709b4fda37dcf0dc0fe242b00ab4ca4dfdf78d78af64105b9bf5f3897a8dd5b828667fdab32d2c9e34bd2c3200b8b41a0f993a0c54c22a6c + checksum: b7f0a15e158c7710c241c5a6d3cea41c5f24deff9e7c9b6278c1c63b2347ce35410c7700791c06f1112316ac11c294d1427e803940690cd5069cb754beae46fe languageName: node linkType: hard @@ -8009,18 +8417,18 @@ __metadata: languageName: node linkType: hard -"@storybook/manager-api@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/manager-api@npm:7.0.18" +"@storybook/manager-api@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/manager-api@npm:7.1.1" dependencies: - "@storybook/channels": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/channels": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/router": 7.0.18 - "@storybook/theming": 7.0.18 - "@storybook/types": 7.0.18 + "@storybook/router": 7.1.1 + "@storybook/theming": 7.1.1 + "@storybook/types": 7.1.1 dequal: ^2.0.2 lodash: ^4.17.21 memoizerific: ^1.11.3 @@ -8031,14 +8439,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: dfea72bd16cda103c276847a9e494e57caa3253424cedee967b5447429118c441a6443f635affa5ed55d5b60532ffd05c71fa994039712b7f3d5abcb8e75d39e - languageName: node - linkType: hard - -"@storybook/manager@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/manager@npm:7.0.18" - checksum: dcafa28f08fee33b7c03516a7fe2d705d6ee097d36f8644ee7c5ac60dda630d05d16c18904305e473fe4cfeaa4e3bd5c62a1eafd54bab660c13d407a68d7ba60 + checksum: 3eed4e62544039b01fd2a4b6379fecc6624ddbde5eacf8ef4a62c68236cd4fbb7d68e8a44b9acaa5ef6c98bcd340d2bf0d76d6068a51cf1a7aaa1821c30682fa languageName: node linkType: hard @@ -8049,6 +8450,13 @@ __metadata: languageName: node linkType: hard +"@storybook/manager@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/manager@npm:7.1.1" + checksum: 6aa3cb2ba4670c8d3ed823c9102a558b749537bc5b6daf8adf0c21dcd1f20ac50d4875f01eb616171550617f420f47e86a1d9e501076451b89f5db05d4910406 + languageName: node + linkType: hard + "@storybook/mdx2-csf@npm:^1.0.0": version: 1.0.0 resolution: "@storybook/mdx2-csf@npm:1.0.0" @@ -8056,18 +8464,6 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/node-logger@npm:7.0.18" - dependencies: - "@types/npmlog": ^4.1.2 - chalk: ^4.1.0 - npmlog: ^5.0.1 - pretty-hrtime: ^1.0.3 - checksum: aefaf1ef87728665f894c10c51bdb832f7721a9ecd46440f4d0bcb8ec94b52318183d85b4c9c03e2a3e3e1a122d3940221428a556d1f35e393d3b53252bb4337 - languageName: node - linkType: hard - "@storybook/node-logger@npm:7.0.7": version: 7.0.7 resolution: "@storybook/node-logger@npm:7.0.7" @@ -8080,24 +8476,31 @@ __metadata: languageName: node linkType: hard -"@storybook/postinstall@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/postinstall@npm:7.0.18" - checksum: a6da745c36c394a3f056b4f6dd2e7d57410071f251aca27ed5069911f8f73729424bf6544dc11eaaff543f6c35132ee6bc6218fc9cae894a4e0b54a2432ba915 +"@storybook/node-logger@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/node-logger@npm:7.1.1" + checksum: d89fc3317b777c727b95455578de7c6bb5354b26400aae838bf8397e69be33f5361fd40cdab505d3500f55bedc113cf1e845b467a56eaff871751440ed229d7b + languageName: node + linkType: hard + +"@storybook/postinstall@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/postinstall@npm:7.1.1" + checksum: e1742752291fa90137040d0b5f5452e9c4da6d83543ad474a4f1cca644da0bdcc5283cd36057e26e200ceaeb9cbd5c591430a06ca0faec76103bb09f8587c826 languageName: node linkType: hard -"@storybook/preview-api@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/preview-api@npm:7.0.18" +"@storybook/preview-api@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/preview-api@npm:7.0.7" dependencies: - "@storybook/channel-postmessage": 7.0.18 - "@storybook/channels": 7.0.18 - "@storybook/client-logger": 7.0.18 - "@storybook/core-events": 7.0.18 + "@storybook/channel-postmessage": 7.0.7 + "@storybook/channels": 7.0.7 + "@storybook/client-logger": 7.0.7 + "@storybook/core-events": 7.0.7 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/types": 7.0.18 + "@storybook/types": 7.0.7 "@types/qs": ^6.9.5 dequal: ^2.0.2 lodash: ^4.17.21 @@ -8106,21 +8509,21 @@ __metadata: synchronous-promise: ^2.0.15 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: 2ec6e5c66b2ad698dc4581465a41124efaae40c2c51675585137b1e86dcdc44b679355ccaa07d9fb44f90a465d76b22ee224cafb678417e171cf3b07b99da117 + checksum: cb79cc96d831d09ad5b007766b69d208b2ea6613aba65431eef19a2414f2e958ffcf11a441e62d4a28199d6a91fa7f6243e090bbddf8e2d06dc6e3b483b482ad languageName: node linkType: hard -"@storybook/preview-api@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/preview-api@npm:7.0.7" +"@storybook/preview-api@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/preview-api@npm:7.1.1" dependencies: - "@storybook/channel-postmessage": 7.0.7 - "@storybook/channels": 7.0.7 - "@storybook/client-logger": 7.0.7 - "@storybook/core-events": 7.0.7 + "@storybook/channel-postmessage": 7.1.1 + "@storybook/channels": 7.1.1 + "@storybook/client-logger": 7.1.1 + "@storybook/core-events": 7.1.1 "@storybook/csf": ^0.1.0 "@storybook/global": ^5.0.0 - "@storybook/types": 7.0.7 + "@storybook/types": 7.1.1 "@types/qs": ^6.9.5 dequal: ^2.0.2 lodash: ^4.17.21 @@ -8129,57 +8532,57 @@ __metadata: synchronous-promise: ^2.0.15 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: cb79cc96d831d09ad5b007766b69d208b2ea6613aba65431eef19a2414f2e958ffcf11a441e62d4a28199d6a91fa7f6243e090bbddf8e2d06dc6e3b483b482ad + checksum: 6753e0f104762ae7c70fb8e4db23e5f83ae9b629f6a51f5703bffdc2f3a6d14e4c8d9242806fe6fbb6deefea7e6b5984c81ba6834bb4db034d009c7855a304f0 languageName: node linkType: hard -"@storybook/preview@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/preview@npm:7.0.18" - checksum: c959f63a8c936dc5b760c92e3ac888040faba7776b823b4021c4f48117888baf5be61c719b43d5e38c929361d633f3984854938b550a0e86262f0c7364c0bb01 +"@storybook/preview@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/preview@npm:7.1.1" + checksum: 592be2664ad0f494f8ed01c1a1aa19027b941af363c5e05bf78b4f212a8450666374935bd18fffa375c90fdd928c36107ff746dab9aba560e7f0baf7b75e4c62 languageName: node linkType: hard -"@storybook/react-dom-shim@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/react-dom-shim@npm:7.0.18" +"@storybook/react-dom-shim@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/react-dom-shim@npm:7.1.1" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: a52626efcd1445529040dad47b3d72b882b23aa15fa9f505cc48c1aeb61893afaa442604556c5042789bab315f7800c257e014d678c870829800efc60d7828be + checksum: 67eb9239fd05b1531bd6f5b508a917d46dee5b3417ec4c31e5c679211c58833866090666d30ac274e8c6deca1b288194be23fdeb0a142632112d2570cdcd18fd languageName: node linkType: hard -"@storybook/router@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/router@npm:7.0.18" +"@storybook/router@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/router@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 + "@storybook/client-logger": 7.1.1 memoizerific: ^1.11.3 qs: ^6.10.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: b92687d1b9738202e7bef19af59989a7faf4a5c1972d074fef7b6742b1eb95f5e3ecb3e6bd634129740a98b6be2d4ab9a821c3c28c275425d48807e5b04e807f + checksum: 1c3c10cbbd0421da199763f6ada3b4961caee1241d6eb7d2dc19a68f905d3edb1fe37fb94fe54034c35158d7d84652f7ed5a650d33b59a16f2e864210c6c51a2 languageName: node linkType: hard -"@storybook/store@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/store@npm:7.0.18" +"@storybook/store@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/store@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/preview-api": 7.0.18 - checksum: 8e0367a8914448bb7e04ef1365f67db94ca4918f240ca2e5368bce6846353d1758205d7384beeb13a4e8ec20f81533f30cc44a5d2e356465e73226ae5ff04d67 + "@storybook/client-logger": 7.1.1 + "@storybook/preview-api": 7.1.1 + checksum: 8c5de1248ff244c7eedd5a317c5761995ffd987171ceed5c8c6259f1882b6117b4b8bcb3a60512db304dacf777641d5f4333700719335735d7ed45c623cb0ad9 languageName: node linkType: hard -"@storybook/telemetry@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/telemetry@npm:7.0.18" +"@storybook/telemetry@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/telemetry@npm:7.0.7" dependencies: - "@storybook/client-logger": 7.0.18 - "@storybook/core-common": 7.0.18 + "@storybook/client-logger": 7.0.7 + "@storybook/core-common": 7.0.7 chalk: ^4.1.0 detect-package-manager: ^2.0.1 fetch-retry: ^5.0.2 @@ -8187,63 +8590,62 @@ __metadata: isomorphic-unfetch: ^3.1.0 nanoid: ^3.3.1 read-pkg-up: ^7.0.1 - checksum: bc53845826879da9905d51a0f2ddfd3b03cc9a32b0ddc35ab6dd463f614622f64d5deeaa59433a12780a8b656f8fbda629ceae9fb5e845ef1e7e93f3138fa69b + checksum: f8a9f2a3299d9707d47ba22e3de1e553cacc0bd968326ff81042e0c51347c165a09b786cd7b52dc24d640d6bb1a5f277497d05238ba1c5471eb02214cee28091 languageName: node linkType: hard -"@storybook/telemetry@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/telemetry@npm:7.0.7" +"@storybook/telemetry@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/telemetry@npm:7.1.1" dependencies: - "@storybook/client-logger": 7.0.7 - "@storybook/core-common": 7.0.7 + "@storybook/client-logger": 7.1.1 + "@storybook/core-common": 7.1.1 + "@storybook/csf-tools": 7.1.1 chalk: ^4.1.0 detect-package-manager: ^2.0.1 fetch-retry: ^5.0.2 fs-extra: ^11.1.0 - isomorphic-unfetch: ^3.1.0 - nanoid: ^3.3.1 read-pkg-up: ^7.0.1 - checksum: f8a9f2a3299d9707d47ba22e3de1e553cacc0bd968326ff81042e0c51347c165a09b786cd7b52dc24d640d6bb1a5f277497d05238ba1c5471eb02214cee28091 + checksum: eb8c18a22f491c07d0035ae9d725845891f3deb1bb4559b97ab9aace22b4e8ae59f72dcdb453348f472aa0ce1800531f2f22c2e24286c0699c577aee13719f04 languageName: node linkType: hard -"@storybook/theming@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/theming@npm:7.0.18" +"@storybook/theming@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/theming@npm:7.1.1" dependencies: "@emotion/use-insertion-effect-with-fallbacks": ^1.0.0 - "@storybook/client-logger": 7.0.18 + "@storybook/client-logger": 7.1.1 "@storybook/global": ^5.0.0 memoizerific: ^1.11.3 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 32f9ded9f552b9a8672befc95c8b2d876fb92585aec7fe3426e7e87e0da5f3d5cbb41a6ee451959cd2e978240f26afb819dd5cbec7cb9535370de313608d9e7b + checksum: 5a71790a34d9d1172e4c2b09f0807dba956c9cd9ee22ce3527d13d65aeab2e59b6851d2e98fb04b782df45fa0861b203e1ac76d3c6dca4564e8d3cfb406c0c46 languageName: node linkType: hard -"@storybook/types@npm:7.0.18": - version: 7.0.18 - resolution: "@storybook/types@npm:7.0.18" +"@storybook/types@npm:7.0.7": + version: 7.0.7 + resolution: "@storybook/types@npm:7.0.7" dependencies: - "@storybook/channels": 7.0.18 + "@storybook/channels": 7.0.7 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 file-system-cache: ^2.0.0 - checksum: 63140bb7f01125ec3cb61cf4dd493587d8766702081f11117f1d8f8156a63433ab8d15c5bb13f57e0e9877927d7ab52164e256ca62cafc5c4e83699db63a5f7c + checksum: 858b7bb5c18bab6aa07110c1178d3a71f06408c1c20f31dcee48f77b7187a9255027c4998d8ad6fc34a7956b62e8f85779e9718834dc42fe165c8fa42b82ace4 languageName: node linkType: hard -"@storybook/types@npm:7.0.7": - version: 7.0.7 - resolution: "@storybook/types@npm:7.0.7" +"@storybook/types@npm:7.1.1": + version: 7.1.1 + resolution: "@storybook/types@npm:7.1.1" dependencies: - "@storybook/channels": 7.0.7 + "@storybook/channels": 7.1.1 "@types/babel__core": ^7.0.0 "@types/express": ^4.7.0 - file-system-cache: ^2.0.0 - checksum: 858b7bb5c18bab6aa07110c1178d3a71f06408c1c20f31dcee48f77b7187a9255027c4998d8ad6fc34a7956b62e8f85779e9718834dc42fe165c8fa42b82ace4 + file-system-cache: 2.3.0 + checksum: 10268ae95cb86c0eed05924aa68ab1746b93cbb0e08135d3d28ba4b11c010733af1e1a303c941ed2aa999da0bd2ececec85ed52f76a410518a499adb4805cac7 languageName: node linkType: hard @@ -8281,6 +8683,120 @@ __metadata: languageName: node linkType: hard +"@swc/core-darwin-arm64@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-darwin-arm64@npm:1.3.71" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-darwin-x64@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-darwin-x64@npm:1.3.71" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@swc/core-linux-arm-gnueabihf@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.71" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@swc/core-linux-arm64-gnu@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.71" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-arm64-musl@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.71" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-linux-x64-gnu@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.71" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-x64-musl@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-linux-x64-musl@npm:1.3.71" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-win32-arm64-msvc@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.71" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-win32-ia32-msvc@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.71" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@swc/core-win32-x64-msvc@npm:1.3.71": + version: 1.3.71 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.71" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@swc/core@npm:^1.3.49": + version: 1.3.71 + resolution: "@swc/core@npm:1.3.71" + dependencies: + "@swc/core-darwin-arm64": 1.3.71 + "@swc/core-darwin-x64": 1.3.71 + "@swc/core-linux-arm-gnueabihf": 1.3.71 + "@swc/core-linux-arm64-gnu": 1.3.71 + "@swc/core-linux-arm64-musl": 1.3.71 + "@swc/core-linux-x64-gnu": 1.3.71 + "@swc/core-linux-x64-musl": 1.3.71 + "@swc/core-win32-arm64-msvc": 1.3.71 + "@swc/core-win32-ia32-msvc": 1.3.71 + "@swc/core-win32-x64-msvc": 1.3.71 + peerDependencies: + "@swc/helpers": ^0.5.0 + dependenciesMeta: + "@swc/core-darwin-arm64": + optional: true + "@swc/core-darwin-x64": + optional: true + "@swc/core-linux-arm-gnueabihf": + optional: true + "@swc/core-linux-arm64-gnu": + optional: true + "@swc/core-linux-arm64-musl": + optional: true + "@swc/core-linux-x64-gnu": + optional: true + "@swc/core-linux-x64-musl": + optional: true + "@swc/core-win32-arm64-msvc": + optional: true + "@swc/core-win32-ia32-msvc": + optional: true + "@swc/core-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 86389384951c531579e518c012d36b28ef070146faf8d6965a174fd2c7b18113c5939fc3ca81ec8be448188949763cc98cb20d16f44316cd209860f53b760c80 + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^1.1.2": version: 1.1.2 resolution: "@szmarczak/http-timer@npm:1.1.2" @@ -8512,6 +9028,15 @@ __metadata: languageName: node linkType: hard +"@types/cross-spawn@npm:^6.0.2": + version: 6.0.2 + resolution: "@types/cross-spawn@npm:6.0.2" + dependencies: + "@types/node": "*" + checksum: fa9edd32178878cab3ea8d6d0260639e0fe4860ddb3887b8de53d6e8036e154fc5f313c653f690975aa25025aea8beb83fb0870b931bf8d9202c3ac530a24c9d + languageName: node + linkType: hard + "@types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -8572,6 +9097,13 @@ __metadata: languageName: node linkType: hard +"@types/emscripten@npm:^1.39.6": + version: 1.39.7 + resolution: "@types/emscripten@npm:1.39.7" + checksum: 9871e4495358cc06cc45b2798022cd097d8ac2eb5b2fae7c276c6c5cadea05507150fad053c73ed346d4cbd844c50a3438604e5d7c3c2a7446b703cacb1ce172 + languageName: node + linkType: hard + "@types/eslint-scope@npm:^3.7.3": version: 3.7.4 resolution: "@types/eslint-scope@npm:3.7.4" @@ -8599,13 +9131,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: e56a3bcf759fd9185e992e7fdb3c6a5f81e8ff120e871641607581fb3728d16c811702a7d40fa5f869b7f7b4437ab6a87eb8d98ffafeee51e85bbe955932a189 - languageName: node - linkType: hard - "@types/estree@npm:^1.0.0": version: 1.0.1 resolution: "@types/estree@npm:1.0.1" @@ -8780,13 +9305,6 @@ __metadata: languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac - languageName: node - linkType: hard - "@types/keyv@npm:*, @types/keyv@npm:^3.1.1": version: 3.1.4 resolution: "@types/keyv@npm:3.1.4" @@ -8912,6 +9430,16 @@ __metadata: languageName: node linkType: hard +"@types/node-fetch@npm:^2.6.4": + version: 2.6.4 + resolution: "@types/node-fetch@npm:2.6.4" + dependencies: + "@types/node": "*" + form-data: ^3.0.0 + checksum: f3e1d881bb42269e676ecaf49f0e096ab345e22823a2b2d071d60619414817fe02df48a31a8d05adb23054028a2a65521bdb3906ceb763ab6d3339c8d8775058 + languageName: node + linkType: hard + "@types/node@npm:*, @types/node@npm:^18.0.0": version: 18.8.0 resolution: "@types/node@npm:18.8.0" @@ -9302,16 +9830,16 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:5.59.1": - version: 5.59.1 - resolution: "@typescript-eslint/eslint-plugin@npm:5.59.1" +"@typescript-eslint/eslint-plugin@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" dependencies: "@eslint-community/regexpp": ^4.4.0 - "@typescript-eslint/scope-manager": 5.59.1 - "@typescript-eslint/type-utils": 5.59.1 - "@typescript-eslint/utils": 5.59.1 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/type-utils": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 - grapheme-splitter: ^1.0.4 + graphemer: ^1.4.0 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 semver: ^7.3.7 @@ -9322,24 +9850,24 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 9ada3ae721594ddd8101a6093e6383bc95e4dcb19b3929210dee5480637786473a9eba2e69e61e560fa592965f4fd02aeb98ddfda91b00b448ae01c5d77431d6 + checksum: fc104b389c768f9fa7d45a48c86d5c1ad522c1d0512943e782a56b1e3096b2cbcc1eea3fcc590647bf0658eef61aac35120a9c6daf979bf629ad2956deb516a1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:5.59.1": - version: 5.59.1 - resolution: "@typescript-eslint/parser@npm:5.59.1" +"@typescript-eslint/parser@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/parser@npm:5.62.0" dependencies: - "@typescript-eslint/scope-manager": 5.59.1 - "@typescript-eslint/types": 5.59.1 - "@typescript-eslint/typescript-estree": 5.59.1 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: d324d32a69e06ab12aacb72cd3e2a8eb8ade6c2a4d4e6bb013941588a675e818a8ebd973bef1cd818da6a76eb00908bf66d84ef214c3f015dfcb40f8067a335e + checksum: d168f4c7f21a7a63f47002e2d319bcbb6173597af5c60c1cf2de046b46c76b4930a093619e69faf2d30214c29ab27b54dcf1efc7046a6a6bd6f37f59a990e752 languageName: node linkType: hard @@ -9373,12 +9901,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.59.1": - version: 5.59.1 - resolution: "@typescript-eslint/type-utils@npm:5.59.1" +"@typescript-eslint/scope-manager@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/scope-manager@npm:5.62.0" dependencies: - "@typescript-eslint/typescript-estree": 5.59.1 - "@typescript-eslint/utils": 5.59.1 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + checksum: 6062d6b797fe1ce4d275bb0d17204c827494af59b5eaf09d8a78cdd39dadddb31074dded4297aaf5d0f839016d601032857698b0e4516c86a41207de606e9573 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.59.7": + version: 5.59.7 + resolution: "@typescript-eslint/type-utils@npm:5.59.7" + dependencies: + "@typescript-eslint/typescript-estree": 5.59.7 + "@typescript-eslint/utils": 5.59.7 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -9386,16 +9924,16 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: ff46cc049995bb6505a6170550a9e658c42cd5699a95e1976822318fef2963381223505f797051fc727938ace66d4a7dc072a4b4cadbbdf91d2fda1a16c05c98 + checksum: 9cbeffad27b145b478e4cbbab2b44c5b246a9b922f01fd06d401ea4c41a4fa6dc8ba75d13a6409b3b4474ccaf2018770a4c6c599172e22ec2004110e00f4e721 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.59.7": - version: 5.59.7 - resolution: "@typescript-eslint/type-utils@npm:5.59.7" +"@typescript-eslint/type-utils@npm:5.62.0, @typescript-eslint/type-utils@npm:^5.60.1": + version: 5.62.0 + resolution: "@typescript-eslint/type-utils@npm:5.62.0" dependencies: - "@typescript-eslint/typescript-estree": 5.59.7 - "@typescript-eslint/utils": 5.59.7 + "@typescript-eslint/typescript-estree": 5.62.0 + "@typescript-eslint/utils": 5.62.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -9403,11 +9941,11 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 9cbeffad27b145b478e4cbbab2b44c5b246a9b922f01fd06d401ea4c41a4fa6dc8ba75d13a6409b3b4474ccaf2018770a4c6c599172e22ec2004110e00f4e721 + checksum: fc41eece5f315dfda14320be0da78d3a971d650ea41300be7196934b9715f3fe1120a80207551eb71d39568275dbbcf359bde540d1ca1439d8be15e9885d2739 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:^5.36.1, @typescript-eslint/type-utils@npm:^5.58.0": +"@typescript-eslint/type-utils@npm:^5.36.1": version: 5.59.8 resolution: "@typescript-eslint/type-utils@npm:5.59.8" dependencies: @@ -9445,6 +9983,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/types@npm:5.62.0" + checksum: 48c87117383d1864766486f24de34086155532b070f6264e09d0e6139449270f8a9559cfef3c56d16e3bcfb52d83d42105d61b36743626399c7c2b5e0ac3b670 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.59.1": version: 5.59.1 resolution: "@typescript-eslint/typescript-estree@npm:5.59.1" @@ -9499,21 +10044,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.59.1, @typescript-eslint/utils@npm:^5.45.0, @typescript-eslint/utils@npm:^5.58.0": - version: 5.59.1 - resolution: "@typescript-eslint/utils@npm:5.59.1" +"@typescript-eslint/typescript-estree@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" dependencies: - "@eslint-community/eslint-utils": ^4.2.0 - "@types/json-schema": ^7.0.9 - "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.59.1 - "@typescript-eslint/types": 5.59.1 - "@typescript-eslint/typescript-estree": 5.59.1 - eslint-scope: ^5.1.1 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/visitor-keys": 5.62.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 semver: ^7.3.7 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: ca32c90efa57e937ebf812221e070c0604ca99f900fbca60578b42d40c923d5a94fd9503cf5918ecd75b687b68a1be562f7c6593a329bc40b880c95036a021c0 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 3624520abb5807ed8f57b1197e61c7b1ed770c56dfcaca66372d584ff50175225798bccb701f7ef129d62c5989070e1ee3a0aa2d84e56d9524dcf011a2bb1a52 languageName: node linkType: hard @@ -9553,6 +10098,42 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.60.1": + version: 5.62.0 + resolution: "@typescript-eslint/utils@npm:5.62.0" + dependencies: + "@eslint-community/eslint-utils": ^4.2.0 + "@types/json-schema": ^7.0.9 + "@types/semver": ^7.3.12 + "@typescript-eslint/scope-manager": 5.62.0 + "@typescript-eslint/types": 5.62.0 + "@typescript-eslint/typescript-estree": 5.62.0 + eslint-scope: ^5.1.1 + semver: ^7.3.7 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: ee9398c8c5db6d1da09463ca7bf36ed134361e20131ea354b2da16a5fdb6df9ba70c62a388d19f6eebb421af1786dbbd79ba95ddd6ab287324fc171c3e28d931 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:^5.45.0": + version: 5.59.1 + resolution: "@typescript-eslint/utils@npm:5.59.1" + dependencies: + "@eslint-community/eslint-utils": ^4.2.0 + "@types/json-schema": ^7.0.9 + "@types/semver": ^7.3.12 + "@typescript-eslint/scope-manager": 5.59.1 + "@typescript-eslint/types": 5.59.1 + "@typescript-eslint/typescript-estree": 5.59.1 + eslint-scope: ^5.1.1 + semver: ^7.3.7 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: ca32c90efa57e937ebf812221e070c0604ca99f900fbca60578b42d40c923d5a94fd9503cf5918ecd75b687b68a1be562f7c6593a329bc40b880c95036a021c0 + languageName: node + linkType: hard + "@typescript-eslint/visitor-keys@npm:5.59.1": version: 5.59.1 resolution: "@typescript-eslint/visitor-keys@npm:5.59.1" @@ -9583,6 +10164,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:5.62.0": + version: 5.62.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" + dependencies: + "@typescript-eslint/types": 5.62.0 + eslint-visitor-keys: ^3.3.0 + checksum: 976b05d103fe8335bef5c93ad3f76d781e3ce50329c0243ee0f00c0fcfb186c81df50e64bfdd34970148113f8ade90887f53e3c4938183afba830b4ba8e30a35 + languageName: node + linkType: hard + "@ungap/promise-all-settled@npm:1.1.2": version: 1.1.2 resolution: "@ungap/promise-all-settled@npm:1.1.2" @@ -9917,16 +10508,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/ast@npm:1.11.1" - dependencies: - "@webassemblyjs/helper-numbers": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - checksum: 1eee1534adebeece635362f8e834ae03e389281972611408d64be7895fc49f48f98fddbbb5339bf8a72cb101bcb066e8bca3ca1bf1ef47dadf89def0395a8d87 - languageName: node - linkType: hard - "@webassemblyjs/ast@npm:1.11.5, @webassemblyjs/ast@npm:^1.11.5": version: 1.11.5 resolution: "@webassemblyjs/ast@npm:1.11.5" @@ -9937,13 +10518,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" - checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97 - languageName: node - linkType: hard - "@webassemblyjs/floating-point-hex-parser@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.5" @@ -9951,13 +10525,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" - checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959 - languageName: node - linkType: hard - "@webassemblyjs/helper-api-error@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/helper-api-error@npm:1.11.5" @@ -9965,13 +10532,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" - checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce - languageName: node - linkType: hard - "@webassemblyjs/helper-buffer@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/helper-buffer@npm:1.11.5" @@ -9979,17 +10539,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" - dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.11.1 - "@webassemblyjs/helper-api-error": 1.11.1 - "@xtuc/long": 4.2.2 - checksum: 44d2905dac2f14d1e9b5765cf1063a0fa3d57295c6d8930f6c59a36462afecc6e763e8a110b97b342a0f13376166c5d41aa928e6ced92e2f06b071fd0db59d3a - languageName: node - linkType: hard - "@webassemblyjs/helper-numbers@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/helper-numbers@npm:1.11.5" @@ -10001,13 +10550,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" - checksum: eac400113127832c88f5826bcc3ad1c0db9b3dbd4c51a723cfdb16af6bfcbceb608170fdaac0ab7731a7e18b291be7af68a47fcdb41cfe0260c10857e7413d97 - languageName: node - linkType: hard - "@webassemblyjs/helper-wasm-bytecode@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.5" @@ -10015,18 +10557,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" - dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-buffer": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/wasm-gen": 1.11.1 - checksum: 617696cfe8ecaf0532763162aaf748eb69096fb27950219bb87686c6b2e66e11cd0614d95d319d0ab1904bc14ebe4e29068b12c3e7c5e020281379741fe4bedf - languageName: node - linkType: hard - "@webassemblyjs/helper-wasm-section@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.5" @@ -10039,15 +10569,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/ieee754@npm:1.11.1" - dependencies: - "@xtuc/ieee754": ^1.2.0 - checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec - languageName: node - linkType: hard - "@webassemblyjs/ieee754@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/ieee754@npm:1.11.5" @@ -10057,15 +10578,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/leb128@npm:1.11.1" - dependencies: - "@xtuc/long": 4.2.2 - checksum: 33ccc4ade2f24de07bf31690844d0b1ad224304ee2062b0e464a610b0209c79e0b3009ac190efe0e6bd568b0d1578d7c3047fc1f9d0197c92fc061f56224ff4a - languageName: node - linkType: hard - "@webassemblyjs/leb128@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/leb128@npm:1.11.5" @@ -10075,13 +10587,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/utf8@npm:1.11.1" - checksum: 972c5cfc769d7af79313a6bfb96517253a270a4bf0c33ba486aa43cac43917184fb35e51dfc9e6b5601548cd5931479a42e42c89a13bb591ffabebf30c8a6a0b - languageName: node - linkType: hard - "@webassemblyjs/utf8@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/utf8@npm:1.11.5" @@ -10089,22 +10594,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" - dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-buffer": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/helper-wasm-section": 1.11.1 - "@webassemblyjs/wasm-gen": 1.11.1 - "@webassemblyjs/wasm-opt": 1.11.1 - "@webassemblyjs/wasm-parser": 1.11.1 - "@webassemblyjs/wast-printer": 1.11.1 - checksum: 6d7d9efaec1227e7ef7585a5d7ff0be5f329f7c1c6b6c0e906b18ed2e9a28792a5635e450aca2d136770d0207225f204eff70a4b8fd879d3ac79e1dcc26dbeb9 - languageName: node - linkType: hard - "@webassemblyjs/wasm-edit@npm:^1.11.5": version: 1.11.5 resolution: "@webassemblyjs/wasm-edit@npm:1.11.5" @@ -10121,19 +10610,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" - dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/ieee754": 1.11.1 - "@webassemblyjs/leb128": 1.11.1 - "@webassemblyjs/utf8": 1.11.1 - checksum: 1f6921e640293bf99fb16b21e09acb59b340a79f986c8f979853a0ae9f0b58557534b81e02ea2b4ef11e929d946708533fd0693c7f3712924128fdafd6465f5b - languageName: node - linkType: hard - "@webassemblyjs/wasm-gen@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/wasm-gen@npm:1.11.5" @@ -10147,18 +10623,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" - dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-buffer": 1.11.1 - "@webassemblyjs/wasm-gen": 1.11.1 - "@webassemblyjs/wasm-parser": 1.11.1 - checksum: 21586883a20009e2b20feb67bdc451bbc6942252e038aae4c3a08e6f67b6bae0f5f88f20bfc7bd0452db5000bacaf5ab42b98cf9aa034a6c70e9fc616142e1db - languageName: node - linkType: hard - "@webassemblyjs/wasm-opt@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/wasm-opt@npm:1.11.5" @@ -10171,20 +10635,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" - dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-api-error": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/ieee754": 1.11.1 - "@webassemblyjs/leb128": 1.11.1 - "@webassemblyjs/utf8": 1.11.1 - checksum: 1521644065c360e7b27fad9f4bb2df1802d134dd62937fa1f601a1975cde56bc31a57b6e26408b9ee0228626ff3ba1131ae6f74ffb7d718415b6528c5a6dbfc2 - languageName: node - linkType: hard - "@webassemblyjs/wasm-parser@npm:1.11.5, @webassemblyjs/wasm-parser@npm:^1.11.5": version: 1.11.5 resolution: "@webassemblyjs/wasm-parser@npm:1.11.5" @@ -10199,16 +10649,6 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wast-printer@npm:1.11.1" - dependencies: - "@webassemblyjs/ast": 1.11.1 - "@xtuc/long": 4.2.2 - checksum: f15ae4c2441b979a3b4fce78f3d83472fb22350c6dc3fd34bfe7c3da108e0b2360718734d961bba20e7716cb8578e964b870da55b035e209e50ec9db0378a3f7 - languageName: node - linkType: hard - "@webassemblyjs/wast-printer@npm:1.11.5": version: 1.11.5 resolution: "@webassemblyjs/wast-printer@npm:1.11.5" @@ -10244,13 +10684,13 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/fslib@npm:2.6.1-rc.5": - version: 2.6.1-rc.5 - resolution: "@yarnpkg/fslib@npm:2.6.1-rc.5" +"@yarnpkg/fslib@npm:2.10.3": + version: 2.10.3 + resolution: "@yarnpkg/fslib@npm:2.10.3" dependencies: - "@yarnpkg/libzip": ^2.2.3-rc.5 + "@yarnpkg/libzip": ^2.3.0 tslib: ^1.13.0 - checksum: 3471b234f66b64ae4d01afca5b060c409817e9353fc4b5c26aab6b60fc6f0a2ee981485abc961646aaa538fc0cd8c63db1b688e637b7ac57a79f5c624727660d + checksum: 0ca693f61d47bcf165411a121ed9123f512b1b5bfa5e1c6c8f280b4ffdbea9bf2a6db418f99ecfc9624587fdc695b2b64eb0fe7b4028e44095914b25ca99655e languageName: node linkType: hard @@ -10264,17 +10704,26 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/libzip@npm:2.2.3-rc.5": - version: 2.2.3-rc.5 - resolution: "@yarnpkg/libzip@npm:2.2.3-rc.5" +"@yarnpkg/fslib@npm:^3.0.0-rc.48": + version: 3.0.0-rc.48 + resolution: "@yarnpkg/fslib@npm:3.0.0-rc.48" dependencies: - "@types/emscripten": ^1.38.0 + tslib: ^2.4.0 + checksum: 658b8c1b688d875de06adf1a4be167641b3082445e310b9a1312deb71a7ef816f829675a571acad10725aed3ee5d0791d6c370a6565af05e1f4f38f470d457d2 + languageName: node + linkType: hard + +"@yarnpkg/libzip@npm:2.3.0, @yarnpkg/libzip@npm:^2.3.0": + version: 2.3.0 + resolution: "@yarnpkg/libzip@npm:2.3.0" + dependencies: + "@types/emscripten": ^1.39.6 tslib: ^1.13.0 - checksum: 1ccf5f48a294c50388b14df9f0e694e46a17815b55e66fd0ee537a87e1482bc779ed3acb3550802b3e225477f193b339369b0bde20887bc16258c8774b5fe1aa + checksum: 533a4883f69bb013f955d80dc19719881697e6849ea5f0cbe6d87ef1d582b05cbae8a453802f92ad0c852f976296cac3ff7834be79a7e415b65cdf213e448110 languageName: node linkType: hard -"@yarnpkg/libzip@npm:^2.2.3-rc.5, @yarnpkg/libzip@npm:^2.2.4": +"@yarnpkg/libzip@npm:^2.2.4": version: 2.2.4 resolution: "@yarnpkg/libzip@npm:2.2.4" dependencies: @@ -10284,6 +10733,19 @@ __metadata: languageName: node linkType: hard +"@yarnpkg/libzip@npm:^3.0.0-rc.48": + version: 3.0.0-rc.48 + resolution: "@yarnpkg/libzip@npm:3.0.0-rc.48" + dependencies: + "@types/emscripten": ^1.39.6 + "@yarnpkg/fslib": ^3.0.0-rc.48 + tslib: ^2.4.0 + peerDependencies: + "@yarnpkg/fslib": ^3.0.0-rc.48 + checksum: 9e699e4315a92693de303d0c447a0b104e6171e5c4a583761f0a690bcc9917ba3c7cd051737eac94e1a52e7012fcad294db345ffd31261a5e74d2aad10ec35f6 + languageName: node + linkType: hard + "@yarnpkg/lockfile@npm:1.1.0, @yarnpkg/lockfile@npm:^1.1.0": version: 1.1.0 resolution: "@yarnpkg/lockfile@npm:1.1.0" @@ -10291,13 +10753,13 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/parsers@npm:^3.0.0-rc.18": - version: 3.0.0-rc.22 - resolution: "@yarnpkg/parsers@npm:3.0.0-rc.22" +"@yarnpkg/parsers@npm:3.0.0-rc.46": + version: 3.0.0-rc.46 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.46" dependencies: js-yaml: ^3.10.0 tslib: ^2.4.0 - checksum: 4a31b4faad853b6cb09ff198017dd2f81782cb57ff8aaa2446ab9c8eb51aacaad3fa740e0c156c60c66cdb9cff8939f99b2b09c9890e2b8d015dcbed0150cb8a + checksum: 35dfd1b1ac7ed9babf231721eb90b58156e840e575f6792a8e5ab559beaed6e2d60833b857310e67d6282c9406357648df2f510e670ec37ef4bd41657f329a51 languageName: node linkType: hard @@ -10436,6 +10898,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" + bin: + acorn: bin/acorn + checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d + languageName: node + linkType: hard + "address@npm:^1.0.1": version: 1.2.1 resolution: "address@npm:1.2.1" @@ -11283,6 +11754,19 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs2@npm:^0.4.4": + version: 0.4.5 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.5" + dependencies: + "@babel/compat-data": ^7.22.6 + "@babel/helper-define-polyfill-provider": ^0.4.2 + semver: ^6.3.1 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 33a8e06aa54e2858d211c743d179f0487b03222f9ca1bfd7c4865bca243fca942a3358cb75f6bb894ed476cbddede834811fbd6903ff589f055821146f053e1a + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs3@npm:^0.6.0": version: 0.6.0 resolution: "babel-plugin-polyfill-corejs3@npm:0.6.0" @@ -11307,6 +11791,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs3@npm:^0.8.2": + version: 0.8.3 + resolution: "babel-plugin-polyfill-corejs3@npm:0.8.3" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.4.2 + core-js-compat: ^3.31.0 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: dcbb30e551702a82cfd4d2c375da2c317658e55f95e9edcda93b9bbfdcc8fb6e5344efcb144e04d3406859e7682afce7974c60ededd9f12072a48a83dd22a0da + languageName: node + linkType: hard + "babel-plugin-polyfill-regenerator@npm:^0.4.1": version: 0.4.1 resolution: "babel-plugin-polyfill-regenerator@npm:0.4.1" @@ -11324,8 +11820,19 @@ __metadata: dependencies: "@babel/helper-define-polyfill-provider": ^0.4.0 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ef2bcffc7c9a5e4426fc2dbf89bf3a46999a8415c21cd741c3ab3cb4b5ab804aaa3d71ef733f0eda1bcc0b91d9d80f98d33983a66dab9b8bed166ec38f8f8ad1 + "@babel/core": ^7.0.0-0 + checksum: ef2bcffc7c9a5e4426fc2dbf89bf3a46999a8415c21cd741c3ab3cb4b5ab804aaa3d71ef733f0eda1bcc0b91d9d80f98d33983a66dab9b8bed166ec38f8f8ad1 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.5.1": + version: 0.5.2 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.2" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.4.2 + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: d962200f604016a9a09bc9b4aaf60a3db7af876bb65bcefaeac04d44ac9d9ec4037cf24ce117760cc141d7046b6394c7eb0320ba9665cb4a2ee64df2be187c93 languageName: node linkType: hard @@ -11446,6 +11953,15 @@ __metadata: languageName: node linkType: hard +"better-opn@npm:^3.0.2": + version: 3.0.2 + resolution: "better-opn@npm:3.0.2" + dependencies: + open: ^8.0.4 + checksum: 1471552fa7f733561e7f49e812be074b421153006ca744de985fb6d38939807959fc5fe9cb819cf09f864782e294704fd3b31711ea14c115baf3330a2f1135de + languageName: node + linkType: hard + "big-integer@npm:^1.6.17, big-integer@npm:^1.6.44": version: 1.6.51 resolution: "big-integer@npm:1.6.51" @@ -11713,6 +12229,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.21.9": + version: 4.21.9 + resolution: "browserslist@npm:4.21.9" + dependencies: + caniuse-lite: ^1.0.30001503 + electron-to-chromium: ^1.4.431 + node-releases: ^2.0.12 + update-browserslist-db: ^1.0.11 + bin: + browserslist: cli.js + checksum: 80d3820584e211484ad1b1a5cfdeca1dd00442f47be87e117e1dda34b628c87e18b81ae7986fa5977b3e6a03154f6d13cd763baa6b8bf5dd9dd19f4926603698 + languageName: node + linkType: hard + "bs-logger@npm:0.x, bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" @@ -12099,6 +12629,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001503": + version: 1.0.30001517 + resolution: "caniuse-lite@npm:1.0.30001517" + checksum: e4e87436ae1c4408cf4438aac22902b31eb03f3f5bad7f33bc518d12ffb35f3fd9395ccf7efc608ee046f90ce324ec6f7f26f8a8172b8c43c26a06ecee612a29 + languageName: node + linkType: hard + "cardinal@npm:^2.1.1": version: 2.1.1 resolution: "cardinal@npm:2.1.1" @@ -12793,6 +13330,13 @@ __metadata: languageName: node linkType: hard +"constants-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "constants-browserify@npm:1.0.0" + checksum: f7ac8c6d0b6e4e0c77340a1d47a3574e25abd580bfd99ad707b26ff7618596cf1a5e5ce9caf44715e9e01d4a5d12cb3b4edaf1176f34c19adb2874815a56e64f + languageName: node + linkType: hard + "content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2, content-disposition@npm:^0.5.3": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" @@ -12969,6 +13513,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.31.0": + version: 3.32.0 + resolution: "core-js-compat@npm:3.32.0" + dependencies: + browserslist: ^4.21.9 + checksum: e740b348dfd8dc25ac851ab625a1d5a63c012252bdd6d8ae92d1b2ebf46e6cf57ca6cbec4494cbacdd90d3f8ed822480c8a7106c990dbe9055ebdf5b79fbb92e + languageName: node + linkType: hard + "core-js@npm:^3.29.0": version: 3.30.1 resolution: "core-js@npm:3.30.1" @@ -13440,11 +13993,11 @@ __metadata: languageName: node linkType: hard -"cypress@npm:12.13.0": - version: 12.13.0 - resolution: "cypress@npm:12.13.0" +"cypress@npm:12.17.2": + version: 12.17.2 + resolution: "cypress@npm:12.17.2" dependencies: - "@cypress/request": ^2.88.10 + "@cypress/request": ^2.88.11 "@cypress/xvfb": ^1.2.4 "@types/node": ^14.14.31 "@types/sinonjs__fake-timers": 8.1.1 @@ -13481,14 +14034,14 @@ __metadata: pretty-bytes: ^5.6.0 proxy-from-env: 1.0.0 request-progress: ^3.0.0 - semver: ^7.3.2 + semver: ^7.5.3 supports-color: ^8.1.1 tmp: ~0.2.1 untildify: ^4.0.0 yauzl: ^2.10.0 bin: cypress: bin/cypress - checksum: 8e73c7033dadc15caf17b106cd88665107c8bbf3ba66fc266de1f14a2c1401edfa99c222f2ae6070e1ffb8123eb255fb559dc3e5e24460fadf8e05ce74afa41b + checksum: 19144db1fe02d92270de71f69ece324affd2f60bafa2f7018440c00907f837b1f8556926206df8b6e7b1c9890d250435730656ccb4a5a31e7872b24dd79c0af8 languageName: node linkType: hard @@ -14404,6 +14957,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.4.431": + version: 1.4.475 + resolution: "electron-to-chromium@npm:1.4.475" + checksum: 3e7a538c486b351c13bcd05295535b2b5b0a2980dcf3504457fe47c6689d74a87fd62eab629227dcc86b66cfd732076667d6392f998b13995a8b54eff8073fb8 + languageName: node + linkType: hard + "emittery@npm:^0.13.1": version: 0.13.1 resolution: "emittery@npm:0.13.1" @@ -14464,7 +15024,7 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.10.0, enhanced-resolve@npm:^5.7.0": +"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.7.0": version: 5.10.0 resolution: "enhanced-resolve@npm:5.10.0" dependencies: @@ -14494,6 +15054,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.15.0": + version: 5.15.0 + resolution: "enhanced-resolve@npm:5.15.0" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: fbd8cdc9263be71cc737aa8a7d6c57b43d6aa38f6cc75dde6fcd3598a130cc465f979d2f4d01bb3bf475acb43817749c79f8eef9be048683602ca91ab52e4f11 + languageName: node + linkType: hard + "enquirer@npm:^2.3.6, enquirer@npm:~2.3.6": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -14594,13 +15164,6 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^0.9.0": - version: 0.9.3 - resolution: "es-module-lexer@npm:0.9.3" - checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8 - languageName: node - linkType: hard - "es-module-lexer@npm:^1.2.1": version: 1.2.1 resolution: "es-module-lexer@npm:1.2.1" @@ -15115,6 +15678,83 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.18.0": + version: 0.18.17 + resolution: "esbuild@npm:0.18.17" + dependencies: + "@esbuild/android-arm": 0.18.17 + "@esbuild/android-arm64": 0.18.17 + "@esbuild/android-x64": 0.18.17 + "@esbuild/darwin-arm64": 0.18.17 + "@esbuild/darwin-x64": 0.18.17 + "@esbuild/freebsd-arm64": 0.18.17 + "@esbuild/freebsd-x64": 0.18.17 + "@esbuild/linux-arm": 0.18.17 + "@esbuild/linux-arm64": 0.18.17 + "@esbuild/linux-ia32": 0.18.17 + "@esbuild/linux-loong64": 0.18.17 + "@esbuild/linux-mips64el": 0.18.17 + "@esbuild/linux-ppc64": 0.18.17 + "@esbuild/linux-riscv64": 0.18.17 + "@esbuild/linux-s390x": 0.18.17 + "@esbuild/linux-x64": 0.18.17 + "@esbuild/netbsd-x64": 0.18.17 + "@esbuild/openbsd-x64": 0.18.17 + "@esbuild/sunos-x64": 0.18.17 + "@esbuild/win32-arm64": 0.18.17 + "@esbuild/win32-ia32": 0.18.17 + "@esbuild/win32-x64": 0.18.17 + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: c6e1ffa776978a45697763a07ec9b16411db3d3b3997b2c4a0165a211727fce8b63b87165a28d8ef60d3a28b98197bbbc2833e51b89888a4437e0a483dffc8ff + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -15899,15 +16539,13 @@ __metadata: languageName: node linkType: hard -"file-loader@npm:^6.2.0": - version: 6.2.0 - resolution: "file-loader@npm:6.2.0" +"file-system-cache@npm:2.3.0": + version: 2.3.0 + resolution: "file-system-cache@npm:2.3.0" dependencies: - loader-utils: ^2.0.0 - schema-utils: ^3.0.0 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: faf43eecf233f4897b0150aaa874eeeac214e4f9de49738a9e0ef734a30b5260059e85b7edadf852b98e415f875bd5f12587768a93fd52aaf2e479ecf95fab20 + fs-extra: 11.1.1 + ramda: 0.29.0 + checksum: 74afa2870a062500643d41e02d1fbd47a3f30100f9e153dec5233d59f05545f4c8ada6085629d624e043479ac28c0cafc31824f7b49a3f997efab8cc5d05bfee languageName: node linkType: hard @@ -16218,9 +16856,9 @@ __metadata: languageName: node linkType: hard -"fork-ts-checker-webpack-plugin@npm:^7.2.8": - version: 7.3.0 - resolution: "fork-ts-checker-webpack-plugin@npm:7.3.0" +"fork-ts-checker-webpack-plugin@npm:^8.0.0": + version: 8.0.0 + resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0" dependencies: "@babel/code-frame": ^7.16.7 chalk: ^4.1.2 @@ -16236,12 +16874,8 @@ __metadata: tapable: ^2.2.1 peerDependencies: typescript: ">3.6.0" - vue-template-compiler: "*" webpack: ^5.11.0 - peerDependenciesMeta: - vue-template-compiler: - optional: true - checksum: 49c2af801e264349a3fdf0afe4ad33065960c43bd7e56c8351a5e0d32c8c54146cc89d6a0b70b1e0f810de96787bd0c7fd275cc8727a9aea1a077c53de99659a + checksum: aad4cbc5b802e6281a2700a379837697c93ad95288468f9595219d91d9c26674736d37852bb4c4341e9122f26181e9e05fc1a362e8d029fdd88e99de7816037b languageName: node linkType: hard @@ -16316,25 +16950,25 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" +"fs-extra@npm:11.1.1, fs-extra@npm:^11.0.0": + version: 11.1.1 + resolution: "fs-extra@npm:11.1.1" dependencies: graceful-fs: ^4.2.0 jsonfile: ^6.0.1 universalify: ^2.0.0 - checksum: dc94ab37096f813cc3ca12f0f1b5ad6744dfed9ed21e953d72530d103cea193c2f81584a39e9dee1bea36de5ee66805678c0dddc048e8af1427ac19c00fffc50 + checksum: fb883c68245b2d777fbc1f2082c9efb084eaa2bbf9fddaa366130d196c03608eebef7fb490541276429ee1ca99f317e2d73e96f5ca0999eefedf5a624ae1edfd languageName: node linkType: hard -"fs-extra@npm:^11.0.0": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" +"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": + version: 10.1.0 + resolution: "fs-extra@npm:10.1.0" dependencies: graceful-fs: ^4.2.0 jsonfile: ^6.0.1 universalify: ^2.0.0 - checksum: fb883c68245b2d777fbc1f2082c9efb084eaa2bbf9fddaa366130d196c03608eebef7fb490541276429ee1ca99f317e2d73e96f5ca0999eefedf5a624ae1edfd + checksum: dc94ab37096f813cc3ca12f0f1b5ad6744dfed9ed21e953d72530d103cea193c2f81584a39e9dee1bea36de5ee66805678c0dddc048e8af1427ac19c00fffc50 languageName: node linkType: hard @@ -16747,6 +17381,21 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.0.0": + version: 10.3.3 + resolution: "glob@npm:10.3.3" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^2.0.3 + minimatch: ^9.0.1 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 + bin: + glob: dist/cjs/src/bin.js + checksum: 29190d3291f422da0cb40b77a72fc8d2c51a36524e99b8bf412548b7676a6627489528b57250429612b6eec2e6fe7826d328451d3e694a9d15e575389308ec53 + languageName: node + linkType: hard + "glob@npm:^10.2.2": version: 10.2.6 resolution: "glob@npm:10.2.6" @@ -16990,13 +17639,20 @@ __metadata: languageName: node linkType: hard -"grapheme-splitter@npm:^1.0.2, grapheme-splitter@npm:^1.0.4": +"grapheme-splitter@npm:^1.0.2": version: 1.0.4 resolution: "grapheme-splitter@npm:1.0.4" checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 languageName: node linkType: hard +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: bab8f0be9b568857c7bec9fda95a89f87b783546d02951c40c33f84d05bb7da3fd10f863a9beb901463669b6583173a8c8cc6d6b306ea2b9b9d5d3d943c3a673 + languageName: node + linkType: hard + "graphql-request@npm:^5.0.0": version: 5.0.0 resolution: "graphql-request@npm:5.0.0" @@ -19770,17 +20426,6 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.1": - version: 1.0.1 - resolution: "json5@npm:1.0.1" - dependencies: - minimist: ^1.2.0 - bin: - json5: lib/cli.js - checksum: e76ea23dbb8fc1348c143da628134a98adf4c5a4e8ea2adaa74a80c455fc2cdf0e2e13e6398ef819bfe92306b610ebb2002668ed9fc1af386d593691ef346fc3 - languageName: node - linkType: hard - "json5@npm:^2.1.2, json5@npm:^2.2.1": version: 2.2.1 resolution: "json5@npm:2.2.1" @@ -20838,6 +21483,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.0 + resolution: "lru-cache@npm:10.0.0" + checksum: 18f101675fe283bc09cda0ef1e3cc83781aeb8373b439f086f758d1d91b28730950db785999cd060d3c825a8571c03073e8c14512b6655af2188d623031baf50 + languageName: node + linkType: hard + "magic-string@npm:0.30.0": version: 0.30.0 resolution: "magic-string@npm:0.30.0" @@ -22032,6 +22684,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": + version: 7.0.2 + resolution: "minipass@npm:7.0.2" + checksum: 46776de732eb7cef2c7404a15fb28c41f5c54a22be50d47b03c605bf21f5c18d61a173c0a20b49a97e7a65f78d887245066410642551e45fffe04e9ac9e325bc + languageName: node + linkType: hard + "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -22384,6 +23043,20 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^2.0.0": + version: 2.6.12 + resolution: "node-fetch@npm:2.6.12" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 3bc1655203d47ee8e313c0d96664b9673a3d4dd8002740318e9d27d14ef306693a4b2ef8d6525775056fd912a19e23f3ac0d7111ad8925877b7567b29a625592 + languageName: node + linkType: hard + "node-forge@npm:^1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -22911,11 +23584,11 @@ __metadata: languageName: node linkType: hard -"nx-cloud@npm:16.0.5": - version: 16.0.5 - resolution: "nx-cloud@npm:16.0.5" +"nx-cloud@npm:16.1.1": + version: 16.1.1 + resolution: "nx-cloud@npm:16.1.1" dependencies: - "@nrwl/nx-cloud": 16.0.5 + "@nrwl/nx-cloud": 16.1.1 axios: 1.1.3 chalk: ^4.1.0 dotenv: ~10.0.0 @@ -22927,7 +23600,7 @@ __metadata: yargs-parser: ">=21.1.1" bin: nx-cloud: bin/nx-cloud.js - checksum: 56455af6c74a3a472a09c11bd837fc6e2d594d58fdbf1fc9012a61a7b516a76f09b4fabdb87de3dd967d939da04c3784e9ca7e8bff4409e1c9069a68bdc54423 + checksum: 63cf0312281acfab5d9596fdde9507ff1ae3765869a13cb805507fc0c6a91bedef628342205bbb4567e545ee97b0416bcc2aba83494e6d47f58b0a8dd0481310 languageName: node linkType: hard @@ -22958,27 +23631,27 @@ __metadata: "@microsoft/fast-element": ^1.12.0 "@microsoft/fast-foundation": ^2.49.0 "@monodon/typescript-nx-imports-plugin": 0.2.0 - "@nx/angular": 16.4.0 - "@nx/cypress": 16.4.0 - "@nx/devkit": 16.4.0 - "@nx/esbuild": 16.4.0 - "@nx/eslint-plugin": 16.4.0 - "@nx/jest": 16.4.0 - "@nx/js": 16.4.0 - "@nx/linter": 16.4.0 - "@nx/node": 16.4.0 - "@nx/storybook": 16.4.0 - "@nx/web": 16.4.0 - "@nx/webpack": 16.4.0 - "@nx/workspace": 16.4.0 + "@nx/angular": 16.5.5 + "@nx/cypress": 16.5.5 + "@nx/devkit": 16.5.5 + "@nx/esbuild": 16.5.5 + "@nx/eslint-plugin": 16.5.5 + "@nx/jest": 16.5.5 + "@nx/js": 16.5.5 + "@nx/linter": 16.5.5 + "@nx/node": 16.5.5 + "@nx/storybook": 16.5.5 + "@nx/web": 16.5.5 + "@nx/webpack": 16.5.5 + "@nx/workspace": 16.5.5 "@open-wc/lit-helpers": ^0.6.0 "@parcel/watcher": 2.2.0 "@schematics/angular": 16.1.1 - "@storybook/addon-essentials": 7.0.18 + "@storybook/addon-essentials": 7.1.1 "@storybook/addon-knobs": ~7.0.2 - "@storybook/addon-mdx-gfm": 7.0.18 - "@storybook/angular": 7.0.18 - "@storybook/core-server": 7.0.18 + "@storybook/addon-mdx-gfm": 7.1.1 + "@storybook/angular": 7.1.1 + "@storybook/core-server": 7.1.1 "@swc-node/register": ^1.5.1 "@tailwindcss/forms": 0.5.3 "@theunderscorer/nx-semantic-release": 2.4.0 @@ -22991,8 +23664,8 @@ __metadata: "@types/uuid": ^8.3.4 "@types/vscode": 1.71.0 "@types/vscode-webview": ^1.57.0 - "@typescript-eslint/eslint-plugin": 5.59.1 - "@typescript-eslint/parser": 5.59.1 + "@typescript-eslint/eslint-plugin": 5.62.0 + "@typescript-eslint/parser": 5.62.0 "@vscode/codicons": ^0.0.32 "@vscode/test-electron": ^2.1.5 "@vscode/vsce": ^2.15.0 @@ -23002,10 +23675,10 @@ __metadata: "@wdio/local-runner": ^7.27.0 "@wdio/mocha-framework": ^7.26.0 "@wdio/spec-reporter": ^7.26.0 - "@yarnpkg/fslib": 2.6.1-rc.5 - "@yarnpkg/libzip": 2.2.3-rc.5 + "@yarnpkg/fslib": ^3.0.0-rc.48 + "@yarnpkg/libzip": ^3.0.0-rc.48 "@yarnpkg/pnp": ^3.1.1-rc.12 - cypress: 12.13.0 + cypress: 12.17.2 dotenv: ^16.0.3 esbuild: 0.17.17 esbuild-copy-files-plugin: ^1.1.0 @@ -23027,8 +23700,8 @@ __metadata: lit: ^2.4.1 memfs: ^3.4.7 mocha: ^10.0.0 - nx: 16.4.0 - nx-cloud: 16.0.5 + nx: 16.5.5 + nx-cloud: 16.1.1 ovsx: ^0.7.1 prettier: 2.7.1 prettier-plugin-tailwindcss: ^0.3.0 @@ -23052,30 +23725,30 @@ __metadata: vscode-languageserver: ^8.0.2 wdio-vscode-service: ^4.2.1 webdriverio: ^7.26.0 - webpack: ^5.64.0 + webpack: 5.88.2 xstate: ^4.32.1 zone.js: 0.13.0 languageName: unknown linkType: soft -"nx@npm:16.4.0": - version: 16.4.0 - resolution: "nx@npm:16.4.0" - dependencies: - "@nrwl/tao": 16.4.0 - "@nx/nx-darwin-arm64": 16.4.0 - "@nx/nx-darwin-x64": 16.4.0 - "@nx/nx-freebsd-x64": 16.4.0 - "@nx/nx-linux-arm-gnueabihf": 16.4.0 - "@nx/nx-linux-arm64-gnu": 16.4.0 - "@nx/nx-linux-arm64-musl": 16.4.0 - "@nx/nx-linux-x64-gnu": 16.4.0 - "@nx/nx-linux-x64-musl": 16.4.0 - "@nx/nx-win32-arm64-msvc": 16.4.0 - "@nx/nx-win32-x64-msvc": 16.4.0 +"nx@npm:16.5.5": + version: 16.5.5 + resolution: "nx@npm:16.5.5" + dependencies: + "@nrwl/tao": 16.5.5 + "@nx/nx-darwin-arm64": 16.5.5 + "@nx/nx-darwin-x64": 16.5.5 + "@nx/nx-freebsd-x64": 16.5.5 + "@nx/nx-linux-arm-gnueabihf": 16.5.5 + "@nx/nx-linux-arm64-gnu": 16.5.5 + "@nx/nx-linux-arm64-musl": 16.5.5 + "@nx/nx-linux-x64-gnu": 16.5.5 + "@nx/nx-linux-x64-musl": 16.5.5 + "@nx/nx-win32-arm64-msvc": 16.5.5 + "@nx/nx-win32-x64-msvc": 16.5.5 "@parcel/watcher": 2.0.4 "@yarnpkg/lockfile": ^1.1.0 - "@yarnpkg/parsers": ^3.0.0-rc.18 + "@yarnpkg/parsers": 3.0.0-rc.46 "@zkochan/js-yaml": 0.0.6 axios: ^1.0.0 chalk: ^4.1.0 @@ -23137,7 +23810,7 @@ __metadata: optional: true bin: nx: bin/nx.js - checksum: 12d71122bed6a39e359c4b561eda9c5b2f43908cddce855f529e40dbf802354ee352debc50a1a88075248d0172ff78c5e6852f7fcbaf18088952a4a90feddf5e + checksum: f9514964ae5ee381bf257418555d2e7f6f513b6a91373b8e75811e41aa0c75a0e155e88033a8a10ce083cb4e80455d9cf11351d622c79b3cc64de0196ff157b9 languageName: node linkType: hard @@ -23250,7 +23923,7 @@ __metadata: languageName: node linkType: hard -"open@npm:8.4.2, open@npm:~8.4.0": +"open@npm:8.4.2, open@npm:^8.0.4, open@npm:~8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -23936,6 +24609,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 + languageName: node + linkType: hard + "path-scurry@npm:^1.7.0": version: 1.9.2 resolution: "path-scurry@npm:1.9.2" @@ -25091,6 +25774,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: fa6e698cb53db45e4628559e557ddaf554103d2a96a1d62892c8f4032cd3bc8871796cae9eabc1bc700e2b6677611521ce5bb1d9a27700086039965d0cf34518 + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -25186,6 +25876,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.11.0": + version: 6.11.2 + resolution: "qs@npm:6.11.2" + dependencies: + side-channel: ^1.0.4 + checksum: e812f3c590b2262548647d62f1637b6989cc56656dc960b893fe2098d96e1bd633f36576f4cd7564dfbff9db42e17775884db96d846bebe4f37420d073ecdc0b + languageName: node + linkType: hard + "qs@npm:^6.11.1": version: 6.11.1 resolution: "qs@npm:6.11.1" @@ -25195,10 +25894,12 @@ __metadata: languageName: node linkType: hard -"qs@npm:~6.5.2": - version: 6.5.3 - resolution: "qs@npm:6.5.3" - checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 +"qs@npm:~6.10.3": + version: 6.10.4 + resolution: "qs@npm:6.10.4" + dependencies: + side-channel: ^1.0.4 + checksum: 31e4fedd759d01eae52dde6692abab175f9af3e639993c5caaa513a2a3607b34d8058d3ae52ceeccf37c3025f22ed5e90e9ddd6c2537e19c0562ddd10dc5b1eb languageName: node linkType: hard @@ -25255,6 +25956,13 @@ __metadata: languageName: node linkType: hard +"ramda@npm:0.29.0": + version: 0.29.0 + resolution: "ramda@npm:0.29.0" + checksum: 9ab26c06eb7545cbb7eebcf75526d6ee2fcaae19e338f165b2bf32772121e7b28192d6664d1ba222ff76188ba26ab307342d66e805dbb02c860560adc4d5dd57 + languageName: node + linkType: hard + "ramda@npm:^0.28.0": version: 0.28.0 resolution: "ramda@npm:0.28.0" @@ -26458,7 +27166,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1": +"schema-utils@npm:^3.1.1": version: 3.1.1 resolution: "schema-utils@npm:3.1.1" dependencies: @@ -26480,6 +27188,17 @@ __metadata: languageName: node linkType: hard +"schema-utils@npm:^3.2.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" + dependencies: + "@types/json-schema": ^7.0.8 + ajv: ^6.12.5 + ajv-keywords: ^3.5.2 + checksum: ea56971926fac2487f0757da939a871388891bc87c6a82220d125d587b388f1704788f3706e7f63a7b70e49fc2db974c41343528caea60444afd5ce0fe4b85c0 + languageName: node + linkType: hard + "schema-utils@npm:^4.0.0": version: 4.0.0 resolution: "schema-utils@npm:4.0.0" @@ -26698,6 +27417,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 + languageName: node + linkType: hard + "semver@npm:^7.3.8": version: 7.3.8 resolution: "semver@npm:7.3.8" @@ -26709,6 +27437,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.5.3": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 + languageName: node + linkType: hard + "semver@npm:~7.0.0": version: 7.0.0 resolution: "semver@npm:7.0.0" @@ -27845,6 +28584,16 @@ __metadata: languageName: node linkType: hard +"swc-loader@npm:^0.2.3": + version: 0.2.3 + resolution: "swc-loader@npm:0.2.3" + peerDependencies: + "@swc/core": ^1.2.147 + webpack: ">=2" + checksum: 010d84d399525c0185d36d62c86c55ae017e7a90046bc8a39be4b7e07526924037868049f6037bc966da98151cb2600934b96a66279b742d3c413a718b427251 + languageName: node + linkType: hard + "symbol-observable@npm:4.0.0": version: 4.0.0 resolution: "symbol-observable@npm:4.0.0" @@ -28037,15 +28786,15 @@ __metadata: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.3.3": - version: 5.3.6 - resolution: "terser-webpack-plugin@npm:5.3.6" +"terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.7": + version: 5.3.7 + resolution: "terser-webpack-plugin@npm:5.3.7" dependencies: - "@jridgewell/trace-mapping": ^0.3.14 + "@jridgewell/trace-mapping": ^0.3.17 jest-worker: ^27.4.5 schema-utils: ^3.1.1 - serialize-javascript: ^6.0.0 - terser: ^5.14.1 + serialize-javascript: ^6.0.1 + terser: ^5.16.5 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -28055,19 +28804,19 @@ __metadata: optional: true uglify-js: optional: true - checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad + checksum: 095e699fdeeb553cdf2c6f75f983949271b396d9c201d7ae9fc633c45c1c1ad14c7257ef9d51ccc62213dd3e97f875870ba31550f6d4f1b6674f2615562da7f7 languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.1, terser-webpack-plugin@npm:^5.3.7": - version: 5.3.7 - resolution: "terser-webpack-plugin@npm:5.3.7" +"terser-webpack-plugin@npm:^5.3.3": + version: 5.3.6 + resolution: "terser-webpack-plugin@npm:5.3.6" dependencies: - "@jridgewell/trace-mapping": ^0.3.17 + "@jridgewell/trace-mapping": ^0.3.14 jest-worker: ^27.4.5 schema-utils: ^3.1.1 - serialize-javascript: ^6.0.1 - terser: ^5.16.5 + serialize-javascript: ^6.0.0 + terser: ^5.14.1 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -28077,7 +28826,7 @@ __metadata: optional: true uglify-js: optional: true - checksum: 095e699fdeeb553cdf2c6f75f983949271b396d9c201d7ae9fc633c45c1c1ad14c7257ef9d51ccc62213dd3e97f875870ba31550f6d4f1b6674f2615562da7f7 + checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad languageName: node linkType: hard @@ -28220,6 +28969,13 @@ __metadata: languageName: node linkType: hard +"tiny-invariant@npm:^1.3.1": + version: 1.3.1 + resolution: "tiny-invariant@npm:1.3.1" + checksum: 872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c + languageName: node + linkType: hard + "tiny-lru@npm:^8.0.1": version: 8.0.2 resolution: "tiny-lru@npm:8.0.2" @@ -28298,6 +29054,13 @@ __metadata: languageName: node linkType: hard +"tocbot@npm:^4.20.1": + version: 4.21.0 + resolution: "tocbot@npm:4.21.0" + checksum: 473686301b14f3ad275f5e39a0cbd1e7a4cb5856a98653d916ec4fb09fb6e6cd913f000bc8299fdd42511001d0b53bfce2d041ed949de2a13e4f3daa88931f56 + languageName: node + linkType: hard + "toggle-selection@npm:^1.0.6": version: 1.0.6 resolution: "toggle-selection@npm:1.0.6" @@ -28554,26 +29317,14 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths-webpack-plugin@npm:^3.5.2": - version: 3.5.2 - resolution: "tsconfig-paths-webpack-plugin@npm:3.5.2" +"tsconfig-paths-webpack-plugin@npm:^4.0.1": + version: 4.1.0 + resolution: "tsconfig-paths-webpack-plugin@npm:4.1.0" dependencies: chalk: ^4.1.0 enhanced-resolve: ^5.7.0 - tsconfig-paths: ^3.9.0 - checksum: e7872f45b10684204d4a6cbc7989073d885c99e0c9eb5222de6b2b83d2e1594bccb647f52d2f8e00c53da5b9a3084e47a2de44f41c6f7a607ec2b17330a8d9e9 - languageName: node - linkType: hard - -"tsconfig-paths@npm:^3.9.0": - version: 3.14.1 - resolution: "tsconfig-paths@npm:3.14.1" - dependencies: - "@types/json5": ^0.0.29 - json5: ^1.0.1 - minimist: ^1.2.6 - strip-bom: ^3.0.0 - checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d + tsconfig-paths: ^4.1.2 + checksum: f6e9a8a407e1a405b0f2531184296d9f033cb4fe5837282b757ab4a2f4cd82a3117e62c4b86d56c7d47749c7f1345aa438ec6417dbf64a0ec74a292fe9eae44d languageName: node linkType: hard @@ -29074,15 +29825,15 @@ __metadata: languageName: node linkType: hard -"unplugin@npm:^0.10.2": - version: 0.10.2 - resolution: "unplugin@npm:0.10.2" +"unplugin@npm:^1.3.1": + version: 1.4.0 + resolution: "unplugin@npm:1.4.0" dependencies: - acorn: ^8.8.0 + acorn: ^8.9.0 chokidar: ^3.5.3 webpack-sources: ^3.2.3 - webpack-virtual-modules: ^0.4.5 - checksum: 984199a8ecbceb7d7b37d14d5bea88dc6ae3e1fa6f1ec5b4a9263160424ee5b5ecf809ce667ff2ff819731650fc9bd42fcc7b2b33dd888a1eb047349eba63960 + webpack-virtual-modules: ^0.5.0 + checksum: 49f586b07988397aa130b44710e8017a0472e825d08a218557031f08d694788b3ee61d686e67af153cb39b73132e2616c2f135222b83ff8aa2f7a89027f74600 languageName: node linkType: hard @@ -29216,6 +29967,16 @@ __metadata: languageName: node linkType: hard +"url@npm:^0.11.0": + version: 0.11.1 + resolution: "url@npm:0.11.1" + dependencies: + punycode: ^1.4.1 + qs: ^6.11.0 + checksum: a7de4b37bbcbe60ef199acda4ce437ef843c0ef3a4b34ec3e3d97e0446a5f50dc7bfeafbe33ad118cf4e5aa04805e1328f0d0126e254f2b77bb8498fa395c596 + languageName: node + linkType: hard + "use-isomorphic-layout-effect@npm:^1.1.2": version: 1.1.2 resolution: "use-isomorphic-layout-effect@npm:1.1.2" @@ -29808,7 +30569,7 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:6.1.1": +"webpack-dev-middleware@npm:6.1.1, webpack-dev-middleware@npm:^6.1.1": version: 6.1.1 resolution: "webpack-dev-middleware@npm:6.1.1" dependencies: @@ -30049,10 +30810,10 @@ __metadata: languageName: node linkType: hard -"webpack-virtual-modules@npm:^0.4.3, webpack-virtual-modules@npm:^0.4.5": - version: 0.4.6 - resolution: "webpack-virtual-modules@npm:0.4.6" - checksum: cb056ba8c50b35436ae43149554b051b80065b0cf79f2d528ca692ddf344a422ac71c415adb9da83dc3acc6e7e58f518388cc1cd11cb4fa29dc04f2c4494afe3 +"webpack-virtual-modules@npm:^0.5.0": + version: 0.5.0 + resolution: "webpack-virtual-modules@npm:0.5.0" + checksum: 22b59257b55c89d11ae295b588b683ee9fdf3aeb591bc7b6f88ac1d69cb63f4fcb507666ea986866dfae161a1fa534ad6fb4e2ea91bbcd0a6d454368d7d4c64b languageName: node linkType: hard @@ -30167,21 +30928,21 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.64.0": - version: 5.76.3 - resolution: "webpack@npm:5.76.3" +"webpack@npm:5.88.2": + version: 5.88.2 + resolution: "webpack@npm:5.88.2" 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 + "@types/estree": ^1.0.0 + "@webassemblyjs/ast": ^1.11.5 + "@webassemblyjs/wasm-edit": ^1.11.5 + "@webassemblyjs/wasm-parser": ^1.11.5 acorn: ^8.7.1 - acorn-import-assertions: ^1.7.6 + acorn-import-assertions: ^1.9.0 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.10.0 - es-module-lexer: ^0.9.0 + enhanced-resolve: ^5.15.0 + es-module-lexer: ^1.2.1 eslint-scope: 5.1.1 events: ^3.2.0 glob-to-regexp: ^0.4.1 @@ -30190,9 +30951,9 @@ __metadata: loader-runner: ^4.2.0 mime-types: ^2.1.27 neo-async: ^2.6.2 - schema-utils: ^3.1.0 + schema-utils: ^3.2.0 tapable: ^2.1.1 - terser-webpack-plugin: ^5.1.3 + terser-webpack-plugin: ^5.3.7 watchpack: ^2.4.0 webpack-sources: ^3.2.3 peerDependenciesMeta: @@ -30200,7 +30961,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 363f536b56971d056e34ab4cffa4cbc630b220e51be1a8c3adea87d9f0b51c49cfc7c3720d6614a1fd2c8c63f1ab3100db916fe8367c8bb9299327ff8c3f856d + checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 languageName: node linkType: hard