diff --git a/package.json b/package.json index d74e6c8125a..0ee7f911abc 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,8 @@ "react": "^18", "@types/react": "^18", "react-focus-lock": "2.9.5", - "@babel/core": "^7.21.8" + "@babel/core": "^7.21.8", + "jsdom": "24.1.0" }, "packageManager": "yarn@4.2.2" } diff --git a/packages/eui/package.json b/packages/eui/package.json index f0d86c305de..212243d97c3 100644 --- a/packages/eui/package.json +++ b/packages/eui/package.json @@ -134,7 +134,7 @@ "@types/chroma-js": "^2.4.0", "@types/classnames": "^2.3.1", "@types/enzyme": "^3.10.5", - "@types/jest": "^24.0.6", + "@types/jest": "^29.5.12", "@types/react": "^18.2.14", "@types/react-dom": "^18.2.6", "@types/react-is": "^17.0.3", @@ -150,7 +150,7 @@ "assert": "^2.0.0", "autoprefixer": "^9.8.6", "axe-core": "^4.9.0", - "babel-jest": "^24.1.0", + "babel-jest": "^29.7.0", "babel-loader": "^9.1.2", "babel-plugin-add-module-exports": "^1.0.4", "babel-plugin-inline-react-svg": "^2.0.2", @@ -179,7 +179,7 @@ "eslint-config-prettier": "^8.8.0", "eslint-import-resolver-webpack": "^0.13.2", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-jest": "^24.1.0", + "eslint-plugin-jest": "^28.5.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-local": "^1.0.0", "eslint-plugin-mocha": "^10.1.0", @@ -196,8 +196,9 @@ "html-format": "^1.0.1", "html-webpack-plugin": "^5.5.0", "inquirer": "^9.1.4", - "jest": "^24.1.0", - "jest-cli": "^24.1.0", + "jest": "^29.7.0", + "jest-cli": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "loki": "^0.35.0", "moment": "^2.27.0", "moment-timezone": "^0.5.31", diff --git a/packages/eui/scripts/jest/config.js b/packages/eui/scripts/jest/config.js index 5e8dc2ccee8..67d1a90609d 100644 --- a/packages/eui/scripts/jest/config.js +++ b/packages/eui/scripts/jest/config.js @@ -1,5 +1,5 @@ -const getCacheDirectory = - require('jest-config/build/getCacheDirectory').default; +const jestConfig = require('jest-config'); +const getCacheDirectory = () => jestConfig.defaults.cacheDirectory; // Set REACT_VERSION env variable to latest if empty or invalid if (!['16', '17', '18'].includes(process.env.REACT_VERSION)) { @@ -32,6 +32,7 @@ const config = { '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '/scripts/jest/mocks/file_mock.js', '\\.(css|less|scss)$': '/scripts/jest/mocks/style_mock.js', + '^uuid$': require.resolve('uuid'), }, setupFiles: [ '/scripts/jest/setup/enzyme.js', @@ -45,6 +46,7 @@ const config = { coverageDirectory: '/reports/jest-coverage', coverageReporters: ['json', 'html'], moduleFileExtensions: ['ts', 'tsx', 'js', 'json'], + testEnvironment: 'jsdom', testMatch: ['**/*.test.js', '**/*.test.ts', '**/*.test.tsx'], transform: { '^.+\\.(js|tsx?)$': 'babel-jest', diff --git a/packages/eui/src/components/aspect_ratio/__snapshots__/aspect_ratio.test.tsx.snap b/packages/eui/src/components/aspect_ratio/__snapshots__/aspect_ratio.test.tsx.snap index 4a4909315da..66ae77c5966 100644 --- a/packages/eui/src/components/aspect_ratio/__snapshots__/aspect_ratio.test.tsx.snap +++ b/packages/eui/src/components/aspect_ratio/__snapshots__/aspect_ratio.test.tsx.snap @@ -9,7 +9,7 @@ exports[`EuiAspectRatio renders 1`] = ` data-test-subj="test subject string" height="315" src="https://www.youtube.com/embed/yJarWSLRM24" - style="block-size: auto; inline-size: 100%;" + style="aspect-ratio: 9 / 4; block-size: auto; inline-size: 100%;" title="Elastic is a search company" width="560" /> diff --git a/packages/eui/src/components/aspect_ratio/aspect_ratio.test.tsx b/packages/eui/src/components/aspect_ratio/aspect_ratio.test.tsx index f5acce25770..fec0ed3da4d 100644 --- a/packages/eui/src/components/aspect_ratio/aspect_ratio.test.tsx +++ b/packages/eui/src/components/aspect_ratio/aspect_ratio.test.tsx @@ -33,15 +33,16 @@ describe('EuiAspectRatio', () => { it('merges all styles', () => { const { getByTestSubject } = render( - +
); expect(getByTestSubject('child')).toHaveStyle({ - color: 'bronze', - 'background-color': 'salmon', - 'inline-size': '100%', // jsdom doesn't know how to interpret `aspect-ratio` CSS, so we just check for something it does know how to render + color: 'rgb(160, 82, 45)', + 'background-color': 'rgb(250, 128, 114)', + 'aspect-ratio': '9 / 4', + 'inline-size': '100%', }); }); diff --git a/packages/eui/src/components/badge/__snapshots__/badge.test.tsx.snap b/packages/eui/src/components/badge/__snapshots__/badge.test.tsx.snap index 2c41ffaaab0..aa5d8d93f85 100644 --- a/packages/eui/src/components/badge/__snapshots__/badge.test.tsx.snap +++ b/packages/eui/src/components/badge/__snapshots__/badge.test.tsx.snap @@ -178,6 +178,7 @@ exports[`EuiBadge props color accent is rendered 1`] = ` exports[`EuiBadge props color accepts hex 1`] = `
+ +
+ ); + + return container.firstElementChild as HTMLDivElement; +}; + describe('HandleInteractiveChildren', () => { describe('cell with interactive children', () => { it('disables tabbing on all interactive children on mount', () => { @@ -143,7 +154,7 @@ describe('FocusTrappedChildren', () => { describe('on enter', () => { it('enables the focus trap, all interactive children, and moves focus to the first focusable child', () => { - const cell = getCellWithInteractiveChildren(); + const cell = renderCellWithInteractiveChilren(); const { container } = render(); fireEvent.keyUp(cell, { key: 'Enter' }); @@ -157,7 +168,7 @@ describe('FocusTrappedChildren', () => { }); it('allows pressing F2 to enter as well', () => { - const cell = getCellWithInteractiveChildren(); + const cell = renderCellWithInteractiveChilren(); render(); fireEvent.keyUp(cell, { key: 'F2' }); @@ -173,7 +184,7 @@ describe('FocusTrappedChildren', () => { .mockImplementation((cb: Function) => cb()); it('disables the focus trap, all interactive children and moves focus to the cell wrapper', () => { - const cell = getCellWithInteractiveChildren(); + const cell = renderCellWithInteractiveChilren(); const { container } = render(); fireEvent.keyUp(cell, { key: 'Enter' }); @@ -188,7 +199,7 @@ describe('FocusTrappedChildren', () => { }); it('does nothing if the cell is not entered', () => { - const cell = getCellWithInteractiveChildren(); + const cell = renderCellWithInteractiveChilren(); render(); fireEvent.keyUp(cell, { key: 'Escape' }); diff --git a/packages/eui/src/components/datagrid/body/footer/data_grid_footer_row.test.tsx b/packages/eui/src/components/datagrid/body/footer/data_grid_footer_row.test.tsx index 8eae820cf20..869478ec4c4 100644 --- a/packages/eui/src/components/datagrid/body/footer/data_grid_footer_row.test.tsx +++ b/packages/eui/src/components/datagrid/body/footer/data_grid_footer_row.test.tsx @@ -42,8 +42,8 @@ describe('EuiDataGridFooterRow', () => { isExpandable={true} key="0,10" popoverContext={ - Object { - "cellLocation": Object { + { + "cellLocation": { "colIndex": 0, "rowIndex": 0, }, @@ -70,8 +70,8 @@ describe('EuiDataGridFooterRow', () => { isExpandable={true} key="1,10" popoverContext={ - Object { - "cellLocation": Object { + { + "cellLocation": { "colIndex": 0, "rowIndex": 0, }, @@ -124,8 +124,8 @@ describe('EuiDataGridFooterRow', () => { isExpandable={false} key="someLeadingColumn-10" popoverContext={ - Object { - "cellLocation": Object { + { + "cellLocation": { "colIndex": 0, "rowIndex": 0, }, @@ -177,8 +177,8 @@ describe('EuiDataGridFooterRow', () => { isExpandable={false} key="someTrailingColumn-10" popoverContext={ - Object { - "cellLocation": Object { + { + "cellLocation": { "colIndex": 0, "rowIndex": 0, }, diff --git a/packages/eui/src/components/datagrid/body/header/column_actions.test.tsx b/packages/eui/src/components/datagrid/body/header/column_actions.test.tsx index 4f659ef275d..eb6585ad060 100644 --- a/packages/eui/src/components/datagrid/body/header/column_actions.test.tsx +++ b/packages/eui/src/components/datagrid/body/header/column_actions.test.tsx @@ -78,7 +78,7 @@ describe('getColumnActions', () => { const customAction = items[3]; expect(customAction).toMatchInlineSnapshot(` - Object { + { "iconType": "warning", "label": "Hi world!", "onClick": [Function], @@ -96,17 +96,17 @@ describe('getColumnActions', () => { it('renders a "Hide column" item first', () => { expect(hideColumn).toMatchInlineSnapshot(` - Object { - "color": "text", - "iconType": "eyeClosed", - "label": , - "onClick": [Function], - "size": "xs", - } - `); + { + "color": "text", + "iconType": "eyeClosed", + "label": , + "onClick": [Function], + "size": "xs", + } + `); }); it('hides the current column on click and refocuses into the grid', () => { @@ -160,34 +160,34 @@ describe('getColumnActions', () => { it('renders a "Move left" item', () => { expect(moveLeft).toMatchInlineSnapshot(` - Object { - "color": "text", - "iconType": "sortLeft", - "isDisabled": false, - "label": , - "onClick": [Function], - "size": "xs", - } - `); + { + "color": "text", + "iconType": "sortLeft", + "isDisabled": false, + "label": , + "onClick": [Function], + "size": "xs", + } + `); }); it('renders a "Move right" item', () => { expect(moveRight).toMatchInlineSnapshot(` - Object { - "color": "text", - "iconType": "sortRight", - "isDisabled": false, - "label": , - "onClick": [Function], - "size": "xs", - } - `); + { + "color": "text", + "iconType": "sortRight", + "isDisabled": false, + "label": , + "onClick": [Function], + "size": "xs", + } + `); }); it('calls switchColumnPos and updates the focused cell column index on click', () => { @@ -313,7 +313,7 @@ describe('getColumnActions', () => { it('renders a "Sort A-Z" item', () => { expect(sortAsc).toMatchInlineSnapshot(` - Object { + { "className": "", "color": "text", "iconType": "sortUp", @@ -322,7 +322,7 @@ describe('getColumnActions', () => { default="Sort {schemaLabel}" token="euiColumnActions.sort" values={ - Object { + { "schemaLabel": { it('renders a "Sort Z-A" item', () => { expect(sortDesc).toMatchInlineSnapshot(` - Object { + { "className": "", "color": "text", "iconType": "sortDown", @@ -347,7 +347,7 @@ describe('getColumnActions', () => { default="Sort {schemaLabel}" token="euiColumnActions.sort" values={ - Object { + { "schemaLabel": { data-test-subj="dataGridColumnResizer" onMouseDown={[Function]} style={ - Object { + { "marginRight": "0px", } } diff --git a/packages/eui/src/components/datagrid/body/header/data_grid_header_cell.test.tsx b/packages/eui/src/components/datagrid/body/header/data_grid_header_cell.test.tsx index 7d9f5be4709..f78462dc37c 100644 --- a/packages/eui/src/components/datagrid/body/header/data_grid_header_cell.test.tsx +++ b/packages/eui/src/components/datagrid/body/header/data_grid_header_cell.test.tsx @@ -24,6 +24,14 @@ import { usePopoverArrowNavigation, } from './data_grid_header_cell'; +const MockPanel = () => ( +
+ + + +
+); + describe('EuiDataGridHeaderCell', () => { const requiredProps = { column: { @@ -265,14 +273,7 @@ describe('EuiDataGridHeaderCell', () => { panelProps: { onKeyDown }, } = renderHook(usePopoverArrowNavigation).result.current; - const mockPanel = document.createElement('div'); - mockPanel.setAttribute('tabindex', '-1'); - mockPanel.innerHTML = ` - - - - `; - panelRef(mockPanel); + let mockPanel: HTMLElement; const preventDefault = jest.fn(); const keyDownEvent = { preventDefault } as unknown as React.KeyboardEvent; @@ -295,9 +296,16 @@ describe('EuiDataGridHeaderCell', () => { }); describe('when the popover panel is focused (on initial open state)', () => { - beforeEach(() => mockPanel.focus()); + beforeEach(() => { + const { container } = render(); + + mockPanel = container.firstElementChild as HTMLElement; + panelRef(mockPanel); + mockPanel.focus(); + }); it('focuses the first action when the arrow down key is pressed', () => { + expect(mockPanel).toHaveFocus(); onKeyDown({ ...keyDownEvent, key: 'ArrowDown' }); expect(preventDefault).toHaveBeenCalled(); expect( @@ -316,11 +324,16 @@ describe('EuiDataGridHeaderCell', () => { describe('when already focused on action buttons', () => { describe('down arrow key', () => { - beforeAll(() => - (mockPanel.firstElementChild as HTMLButtonElement).focus() - ); + beforeEach(() => { + const { container } = render(); + + mockPanel = container.firstElementChild as HTMLElement; + panelRef(mockPanel); + }); it('moves focus to the the next action', () => { + (mockPanel.firstElementChild as HTMLButtonElement).focus(); + onKeyDown({ ...keyDownEvent, key: 'ArrowDown' }); expect( document.activeElement?.getAttribute('data-test-subj') @@ -333,6 +346,8 @@ describe('EuiDataGridHeaderCell', () => { }); it('loops focus back to the first action when pressing down on the last action', () => { + (mockPanel.lastElementChild as HTMLButtonElement).focus(); + onKeyDown({ ...keyDownEvent, key: 'ArrowDown' }); expect( document.activeElement?.getAttribute('data-test-subj') @@ -341,11 +356,16 @@ describe('EuiDataGridHeaderCell', () => { }); describe('up arrow key', () => { - beforeAll(() => - (mockPanel.lastElementChild as HTMLButtonElement).focus() - ); + beforeEach(() => { + const { container } = render(); + + mockPanel = container.firstElementChild as HTMLElement; + panelRef(mockPanel); + }); it('moves focus to the previous action', () => { + (mockPanel.lastElementChild as HTMLButtonElement).focus(); + onKeyDown({ ...keyDownEvent, key: 'ArrowUp' }); expect( document.activeElement?.getAttribute('data-test-subj') @@ -358,6 +378,8 @@ describe('EuiDataGridHeaderCell', () => { }); it('loops focus back to the last action when pressing up on the first action', () => { + (mockPanel.firstElementChild as HTMLButtonElement).focus(); + onKeyDown({ ...keyDownEvent, key: 'ArrowUp' }); expect( document.activeElement?.getAttribute('data-test-subj') diff --git a/packages/eui/src/components/datagrid/body/header/data_grid_header_cell_wrapper.test.tsx b/packages/eui/src/components/datagrid/body/header/data_grid_header_cell_wrapper.test.tsx index a1ed1e2a62f..b17b7632b47 100644 --- a/packages/eui/src/components/datagrid/body/header/data_grid_header_cell_wrapper.test.tsx +++ b/packages/eui/src/components/datagrid/body/header/data_grid_header_cell_wrapper.test.tsx @@ -54,7 +54,7 @@ describe('EuiDataGridHeaderCellWrapper', () => { data-test-subj="dataGridHeaderCell-someColumn" onFocus={[Function]} role="columnheader" - style={Object {}} + style={{}} tabIndex={0} > { onFocus={[Function]} role="columnheader" style={ - Object { + { "width": "30px", } } diff --git a/packages/eui/src/components/datagrid/body/header/data_grid_header_row.test.tsx b/packages/eui/src/components/datagrid/body/header/data_grid_header_row.test.tsx index 1ab65f1a453..e8ed3dcd9c3 100644 --- a/packages/eui/src/components/datagrid/body/header/data_grid_header_row.test.tsx +++ b/packages/eui/src/components/datagrid/body/header/data_grid_header_row.test.tsx @@ -52,18 +52,18 @@ describe('EuiDataGridHeaderRow', () => { > { index={0} key="someColumn" schema={ - Object { - "someColumn": Object { + { + "someColumn": { "columnType": "string", }, } } - schemaDetectors={Array []} + schemaDetectors={[]} setColumnWidth={[MockFunction]} setVisibleColumns={[MockFunction]} switchColumnPos={[MockFunction]} @@ -110,7 +110,7 @@ describe('EuiDataGridHeaderRow', () => { > { > { describe('displaySelector', () => { @@ -33,23 +40,34 @@ describe('useDataGridDisplaySelector', () => { ); return <>{displaySelector}; }; - const openPopover = (component: ReactWrapper) => { - component - .find('[data-test-subj="dataGridDisplaySelectorButton"]') - .last() - .simulate('click'); + const openPopover = (element: HTMLElement) => { + const trigger = Array.from( + element.querySelectorAll( + '[data-test-subj="dataGridDisplaySelectorButton"]' + ) + ).reverse()[0]; + + act(() => userEvent.click(trigger)); }; - const closePopover = (component: ReactWrapper) => { + + const closePopover = (element: HTMLElement) => { + const popover = element.querySelector( + '[data-test-subj="dataGridDisplaySelectorPopover"]' + )!; + act(() => { - ( - component - .find('[data-test-subj="dataGridDisplaySelectorPopover"]') - .first() - .prop('closePopover') as Function - )(); + fireEvent.keyDown(popover, { key: keys.ESCAPE }); }); }; + const getSelection = (element: HTMLElement, groupId: string) => { + const selection = element.querySelector( + `[data-test-subj="${groupId}"] [aria-pressed="true"]` + ); + + return selection ? selection.getAttribute('data-test-subj') : null; + }; + it('renders a toolbar button/popover allowing users to customize display settings', () => { const component = shallow(); expect(component).toMatchSnapshot(); @@ -68,33 +86,47 @@ describe('useDataGridDisplaySelector', () => { }); describe('density', () => { - const getSelection = (component: ReactWrapper) => - component - .find('EuiButtonGroup[data-test-subj="densityButtonGroup"]') - .prop('idSelected'); - - it('renders display density buttons that change grid density on click', () => { - const component = mount(); - openPopover(component); - - component.find('button[data-test-subj="expanded"]').simulate('click'); - expect(getSelection(component)).toEqual('expanded'); - component.find('button[data-test-subj="normal"]').simulate('click'); - expect(getSelection(component)).toEqual('normal'); - component.find('button[data-test-subj="compact"]').simulate('click'); - expect(getSelection(component)).toEqual('compact'); + it('renders display density buttons that change grid density on click', async () => { + const { container, baseElement, getByTestSubject } = render( + + ); + openPopover(container); + + await waitFor(() => { + userEvent.click(getByTestSubject('expanded')); + }); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'expanded' + ); + + await waitFor(() => { + userEvent.click(getByTestSubject('normal')); + }); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'normal' + ); + + await waitFor(() => { + userEvent.click(getByTestSubject('compact')); + }); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'compact' + ); }); - it('calls the gridStyles.onDensityChange callback on user change', () => { + it('calls the gridStyles.onDensityChange callback on user change', async () => { const onDensityChange = jest.fn(); - const component = mount( + const { container, getByTestSubject } = render( ); - openPopover(component); - component.find('button[data-test-subj="expanded"]').simulate('click'); + openPopover(container); + + await waitFor(() => { + userEvent.click(getByTestSubject('expanded')); + }); expect(onDensityChange).toHaveBeenCalledWith({ stripes: true, @@ -102,106 +134,133 @@ describe('useDataGridDisplaySelector', () => { cellPadding: 'l', }); }); + }); - it('hides the density buttongroup if allowDensity is set to false', () => { - const component = mount( - - ); - openPopover(component); + it('hides the density buttongroup if allowDensity is set to false', () => { + const { container, baseElement } = render( + + ); + openPopover(container); - expect( - component.find('[data-test-subj="densityButtonGroup"]') - ).toHaveLength(0); - }); + expect( + baseElement.querySelector('[data-test-subj="densityButtonGroup"]') + ).not.toBeInTheDocument(); + }); - describe('convertGridStylesToSelection', () => { - it('should set compact state if both fontSize and cellPadding are s', () => { - const component = mount( - - ); - openPopover(component); - expect(getSelection(component)).toEqual('compact'); - }); + describe('convertGridStylesToSelection', () => { + it('should set compact state if both fontSize and cellPadding are s', () => { + const { container, baseElement } = render( + + ); + openPopover(container); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'compact' + ); + }); - it('should set normal state if both fontSize and cellPadding are m', () => { - const component = mount( - - ); - openPopover(component); - expect(getSelection(component)).toEqual('normal'); - }); + it('should set normal state if both fontSize and cellPadding are m', () => { + const { container, baseElement } = render( + + ); + openPopover(container); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'normal' + ); + }); - it('should set compact state if both fontSize and cellPadding are l', () => { - const component = mount( - - ); - openPopover(component); - expect(getSelection(component)).toEqual('expanded'); - }); + it('should set compact state if both fontSize and cellPadding are l', () => { + const { container, baseElement } = render( + + ); + openPopover(container); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'expanded' + ); + }); - it('should not select any buttons if fontSize and cellPadding do not match a set density state', () => { - const component = mount( - - ); - openPopover(component); - expect(getSelection(component)).toEqual(''); - }); + it('should not select any buttons if fontSize and cellPadding do not match a set density state', () => { + const { container, baseElement } = render( + + ); + openPopover(container); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual(null); }); it('updates grid density whenever new developer styles are passed in', () => { - const component = mount( + const { container, baseElement, rerender } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('expanded'); + openPopover(container); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'expanded' + ); + + rerender( + + ); - component.setProps({ gridStyles: { fontSize: 's', cellPadding: 's' } }); - component.update(); - expect(getSelection(component)).toEqual('compact'); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'compact' + ); }); - it('correctly resets density to initial developer-passed state', () => { - const component = mount( + it('correctly resets density to initial developer-passed state', async () => { + const { container, baseElement, getByTestSubject } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('expanded'); + openPopover(container); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'expanded' + ); - component.find('button[data-test-subj="compact"]').simulate('click'); - expect(getSelection(component)).toEqual('compact'); + await waitFor(() => { + userEvent.click(getByTestSubject('compact')); + }); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'compact' + ); - component - .find('button[data-test-subj="resetDisplaySelector"]') - .simulate('click'); - expect(getSelection(component)).toEqual('expanded'); + await waitFor(() => { + userEvent.click(getByTestSubject('resetDisplaySelector')); + }); + expect(getSelection(baseElement, 'densityButtonGroup')).toEqual( + 'expanded' + ); }); }); describe('row height', () => { - const getSelection = (component: ReactWrapper) => - component - .find('EuiButtonGroup[data-test-subj="rowHeightButtonGroup"]') - .prop('idSelected'); - - it('renders row height buttons that toggle betwen undefined, auto, and lineCount', () => { - const component = mount(); - openPopover(component); - expect(getSelection(component)).toEqual('undefined'); - - component.find('button[data-test-subj="auto"]').simulate('click'); - expect(getSelection(component)).toEqual('auto'); + it('renders row height buttons that toggle betwen undefined, auto, and lineCount', async () => { + const { container, baseElement, getByTestSubject } = render( + + ); + + openPopover(container); + expect( + baseElement.querySelector('[data-test-subj="lineCountNumber"]') + ).not.toBeInTheDocument(); + + await waitFor(() => { + userEvent.click(getByTestSubject('auto')); + }); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'auto' + ); }); - it('calls the rowHeightsOptions.onChange callback on user change', () => { + it('calls the rowHeightsOptions.onChange callback on user change', async () => { const onRowHeightChange = jest.fn(); - const component = mount( + const { container, getByTestSubject } = render( ); - openPopover(component); - component.find('button[data-test-subj="auto"]').simulate('click'); + openPopover(container); + await waitFor(() => { + userEvent.click(getByTestSubject('auto')); + }); expect(onRowHeightChange).toHaveBeenCalledWith({ rowHeights: {}, @@ -211,178 +270,223 @@ describe('useDataGridDisplaySelector', () => { }); it('hides the row height buttongroup if allowRowHeight is set to false', () => { - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); + openPopover(container); expect( - component.find('[data-test-subj="rowHeightButtonGroup"]') - ).toHaveLength(0); + baseElement.querySelector('[data-test-subj="rowHeightButtonGroup"]') + ).not.toBeInTheDocument(); }); describe('convertRowHeightsOptionsToSelection', () => { test('auto', () => { - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('auto'); + openPopover(container); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'auto' + ); }); test('lineCount', () => { - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('lineCount'); + openPopover(container); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'lineCount' + ); }); test('undefined', () => { - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('undefined'); + openPopover(container); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'undefined' + ); }); test('height should not select any buttons', () => { - const component1 = mount( + const { container, baseElement } = render( ); - openPopover(component1); - expect(getSelection(component1)).toEqual(''); + openPopover(container); - const component2 = mount( - - ); - openPopover(component2); - expect(getSelection(component2)).toEqual(''); + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toBe(null); }); }); it('updates row height whenever new developer settings are passed in', () => { - const component = mount( + const { container, baseElement, rerender } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('auto'); + openPopover(container); - component.setProps({ - rowHeightsOptions: { defaultHeight: { lineCount: 3 } }, - }); - component.update(); - expect(getSelection(component)).toEqual('lineCount'); + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'auto' + ); + + rerender( + + ); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'lineCount' + ); }); - it('correctly resets row height to initial developer-passed state', () => { - const component = mount( + it('correctly resets row height to initial developer-passed state', async () => { + const { container, baseElement, getByTestSubject } = render( ); - openPopover(component); - expect(getSelection(component)).toEqual('undefined'); + openPopover(container); - component.find('button[data-test-subj="auto"]').simulate('click'); - expect(getSelection(component)).toEqual('auto'); + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'undefined' + ); + + await waitFor(() => { + userEvent.click(getByTestSubject('auto')); + }); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'auto' + ); + + await waitFor(() => { + userEvent.click(getByTestSubject('resetDisplaySelector')); + }); - component - .find('button[data-test-subj="resetDisplaySelector"]') - .simulate('click'); - expect(getSelection(component)).toEqual('undefined'); + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'undefined' + ); }); describe('lineCount', () => { - const getLineCountNumber = (component: ReactWrapper) => - component - .find('input[type="range"][data-test-subj="lineCountNumber"]') - .prop('value'); - const setLineCountNumber = ( - component: ReactWrapper, - number: number - ) => { - const input = component.find( + const getLineCountNumber = (element: HTMLElement) => + element + .querySelector( + 'input[type="range"][data-test-subj="lineCountNumber"]' + )! + .getAttribute('value'); + + const setLineCountNumber = (element: HTMLElement, number: number) => { + const input = element.querySelector( 'input[type="range"][data-test-subj="lineCountNumber"]' - ); + ) as HTMLInputElement; - // enzyme simulate() doesn't handle event.currentTarget updates well - // https://github.com/enzymejs/enzyme/issues/218 - (input.getDOMNode() as HTMLInputElement).value = number.toString(); - input.simulate('change'); + fireEvent.input(input, { target: { value: number.toString() } }); }; - it('conditionally displays a line count number input when the lineCount button is selected', () => { - const component = mount(); - openPopover(component); + it('conditionally displays a line count number input when the lineCount button is selected', async () => { + const { container, baseElement, getByTestSubject } = render( + + ); + openPopover(container); + expect( - component.find('[data-test-subj="lineCountNumber"]').exists() - ).toBe(false); + baseElement.querySelector('[data-test-subj="lineCountNumber"]') + ).not.toBeInTheDocument(); - component - .find('button[data-test-subj="lineCount"]') - .simulate('click'); - expect(getSelection(component)).toEqual('lineCount'); + await waitFor(() => { + userEvent.click(getByTestSubject('lineCount')); + }); + + expect(getSelection(baseElement, 'rowHeightButtonGroup')).toEqual( + 'lineCount' + ); expect( - component.find('[data-test-subj="lineCountNumber"]').exists() - ).toBe(true); + baseElement.querySelector('[data-test-subj="lineCountNumber"]') + ).toBeInTheDocument(); }); it('displays the defaultHeight.lineCount passed in by the developer', () => { - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); + openPopover(container); - expect(getLineCountNumber(component)).toEqual(5); + expect(getLineCountNumber(baseElement)).toEqual('5'); }); - it('defaults to a lineCount of 2 when no developer settings have been passed', () => { - const component = mount(); - openPopover(component); - component - .find('button[data-test-subj="lineCount"]') - .simulate('click'); + it('defaults to a lineCount of 2 when no developer settings have been passed', async () => { + const { container, baseElement, getByTestSubject } = render( + + ); + openPopover(container); + + await waitFor(() => userEvent.click(getByTestSubject('lineCount'))); - expect(getLineCountNumber(component)).toEqual(2); + expect(getLineCountNumber(baseElement)).toEqual('2'); }); it('increments the rowHeightOptions line count number', () => { - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); + openPopover(container); - act(() => { - setLineCountNumber(component, 3); - }); - component.update(); + setLineCountNumber(baseElement, 3); + + expect(getLineCountNumber(baseElement)).toEqual('3'); + }); + + it('sets the min value for the text input if an invalid number is passed', () => { + const { container, baseElement } = render( + + ); + openPopover(container); - expect(getLineCountNumber(component)).toEqual(3); + const assertInvalidNumber = (value: number) => { + setLineCountNumber(baseElement, value); + + const input = baseElement.querySelector( + 'input[type="number"]' + ) as HTMLInputElement; + + expect(input.value).toEqual(input.min); + }; + + assertInvalidNumber(0); + assertInvalidNumber(-50); }); - it('updates the input but not the grid display if an invalid number is passed', () => { + it('the text input is invalid and does not update the grid display if an invalid number is passed', () => { const onChange = jest.fn(); - const component = mount( + const { container, baseElement } = render( ); - openPopover(component); + openPopover(container); const assertInvalidNumber = (value: number) => { - setLineCountNumber(component, value); + const input = baseElement.querySelector( + 'input[type="number"]' + ) as HTMLInputElement; - const input = component.find('input[type="number"]').getDOMNode(); - expect((input as HTMLInputElement).value).toEqual(String(value)); + input.value = value.toString(); + expect(input.value).toEqual(value.toString()); expect(input).toBeInvalid(); expect(onChange).not.toHaveBeenCalled(); @@ -392,58 +496,68 @@ describe('useDataGridDisplaySelector', () => { assertInvalidNumber(-50); }); - it('correctly resets lineCount to initial developer-passed state', () => { - const component = mount( + it('correctly resets lineCount to initial developer-passed state', async () => { + const { container, baseElement, getByTestSubject } = render( ); - openPopover(component); - expect(getLineCountNumber(component)).toEqual(3); + openPopover(container); + expect(getLineCountNumber(baseElement)).toEqual('3'); - setLineCountNumber(component, 5); - expect(getLineCountNumber(component)).toEqual(5); + setLineCountNumber(baseElement, 5); + expect(getLineCountNumber(baseElement)).toEqual('5'); - component - .find('button[data-test-subj="resetDisplaySelector"]') - .simulate('click'); - expect(getLineCountNumber(component)).toEqual(3); + await waitFor(() => + userEvent.click(getByTestSubject('resetDisplaySelector')) + ); + + expect(getLineCountNumber(baseElement)).toEqual('3'); }); }); }); describe('reset button', () => { - it('renders a reset button only when the user changes from the current settings', () => { - const component = mount(); - openPopover(component); + it('renders a reset button only when the user changes from the current settings', async () => { + // const component = mount(); + const { container, baseElement, getByTestSubject } = render( + + ); + openPopover(container); expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(false); + container.querySelector('[data-test-subj="resetDisplaySelector"]') + ).not.toBeInTheDocument(); + + await waitFor(() => { + userEvent.click(getByTestSubject('expanded')); + userEvent.click(getByTestSubject('auto')); + }); - component.find('button[data-test-subj="expanded"]').simulate('click'); - component.find('button[data-test-subj="auto"]').simulate('click'); expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(true); + baseElement.querySelector('[data-test-subj="resetDisplaySelector"]') + ).toBeInTheDocument(); // Should show the reset button again after the popover was reopened - closePopover(component); - openPopover(component); + closePopover(container); + await waitForEuiPopoverClose(); + openPopover(container); + await waitForEuiPopoverOpen(); + expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(true); + baseElement.querySelector('[data-test-subj="resetDisplaySelector"]') + ).toBeInTheDocument(); // Should hide the reset button again after it's been clicked - component - .find('button[data-test-subj="resetDisplaySelector"]') - .simulate('click'); + await waitFor(() => { + userEvent.click(getByTestSubject('resetDisplaySelector')); + }); expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(false); + baseElement.querySelector('[data-test-subj="resetDisplaySelector"]') + ).not.toBeInTheDocument(); }); - it('hides the reset button even after changes if allowResetButton is false', () => { - const component = mount( + it('hides the reset button even after changes if allowResetButton is false', async () => { + const { container, baseElement, getByTestSubject } = render( { gridStyles={startingStyles} /> ); - openPopover(component); + openPopover(container); expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(false); + baseElement.querySelector('[data-test-subj="resetDisplaySelector"]') + ).not.toBeInTheDocument(); - component.find('button[data-test-subj="expanded"]').simulate('click'); - component.find('button[data-test-subj="auto"]').simulate('click'); + await waitFor(() => { + userEvent.click(getByTestSubject('expanded')); + userEvent.click(getByTestSubject('auto')); + }); expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(false); + baseElement.querySelector('[data-test-subj="resetDisplaySelector"]') + ).not.toBeInTheDocument(); // Should hide the reset button again after the popover was reopened - closePopover(component); - openPopover(component); + closePopover(container); + await waitForEuiPopoverClose(); + openPopover(container); + await waitForEuiPopoverOpen(); + expect( - component.find('[data-test-subj="resetDisplaySelector"]').exists() - ).toBe(false); + baseElement.querySelector('[data-test-subj="resetDisplaySelector"]') + ).not.toBeInTheDocument(); }); }); describe('additionalDisplaySettings', () => { it('renders custom content if additionalDisplaySettings is defined', () => { - const component = mount( + const { container, getByTestSubject } = render( { }} /> ); - openPopover(component); - expect(component.find('[data-test-subj="test-custom"]')) - .toMatchInlineSnapshot(` -
- Custom content -
- `); + openPopover(container); + expect(getByTestSubject('test-custom')).toMatchInlineSnapshot(` +
+ Custom content +
+ `); }); }); }); @@ -501,19 +619,18 @@ describe('useDataGridDisplaySelector', () => { const [, gridStyles] = renderHook(() => useDataGridDisplaySelector(true, initialStyles, {}) ).result.current; - expect(gridStyles).toMatchInlineSnapshot(` - Object { - "border": "all", - "cellPadding": "m", - "fontSize": "m", - "footer": "overline", - "header": "shade", - "rowHover": "highlight", - "stickyFooter": true, - "stripes": true, - } - `); + { + "border": "all", + "cellPadding": "m", + "fontSize": "m", + "footer": "overline", + "header": "shade", + "rowHover": "highlight", + "stickyFooter": true, + "stripes": true, + } + `); }); }); @@ -549,7 +666,6 @@ describe('useDataGridDisplaySelector', () => { const getOutput = (component: ShallowWrapper) => { return JSON.parse(component.find('[data-test-subj="output"]').text()); }; - describe('returns an object of rowHeightsOptions with user overrides', () => { it('overrides `rowHeights` and `defaultHeight`', () => { const component = shallow( @@ -560,22 +676,17 @@ describe('useDataGridDisplaySelector', () => { }} /> ); - setRowHeight(component, 'undefined'); - expect(getOutput(component)).toEqual({ rowHeights: {}, defaultHeight: undefined, }); }); - it('does not override other rowHeightsOptions properties', () => { const component = shallow( ); - setRowHeight(component, 'lineCount'); - expect(getOutput(component)).toEqual({ lineHeight: '2em', defaultHeight: { lineCount: 2 }, diff --git a/packages/eui/src/components/datagrid/data_grid.test.tsx b/packages/eui/src/components/datagrid/data_grid.test.tsx index db63738e208..c8ec4e6781d 100644 --- a/packages/eui/src/components/datagrid/data_grid.test.tsx +++ b/packages/eui/src/components/datagrid/data_grid.test.tsx @@ -11,10 +11,10 @@ import { mount, ReactWrapper } from 'enzyme'; import { EuiDataGrid } from './'; import type { EuiDataGridProps, RenderCellValue } from './data_grid_types'; import { findTestSubject, requiredProps } from '../../test'; -import { render } from '../../test/rtl'; +import { getAllByTestSubject, render } from '../../test/rtl'; import { EuiDataGridColumnResizer } from './body/header/data_grid_column_resizer'; import { keys } from '../../services'; -import { act } from '@testing-library/react'; +import { act, fireEvent } from '@testing-library/react'; // Mock the cell popover (TODO: Move failing tests to Cypress and remove need for mock?) jest.mock('../popover', () => ({ @@ -31,6 +31,20 @@ function getFocusableCell(component: ReactWrapper) { : findTestSubject(component, 'dataGridRowCell').find('[tabIndex=0]'); } +function getFocusableCellRTL(element: HTMLElement) { + const headerCell = element.querySelector( + '[role="columnheader"][tabindex="0"]' + ); + + // console.log(element.querySelector('[data-test-subj="dataGridRowCell"]')); + + const rowCell = getAllByTestSubject(element, 'dataGridRowCell').find( + (el) => el.getAttribute('tabindex') === '0' + ); + + return headerCell ?? rowCell; +} + function extractGridData(datagrid: ReactWrapper) { const rows: string[][] = []; @@ -560,8 +574,8 @@ describe('EuiDataGrid', () => { return props; }) ).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "aria-rowindex": 1, "className": "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--firstColumn customClass", "data-gridcell-column-id": "A", @@ -573,7 +587,7 @@ describe('EuiDataGrid', () => { "onMouseEnter": [Function], "onMouseLeave": [Function], "role": "gridcell", - "style": Object { + "style": { "color": "red", "height": 34, "left": 0, @@ -585,7 +599,7 @@ describe('EuiDataGrid', () => { }, "tabIndex": -1, }, - Object { + { "aria-rowindex": 1, "className": "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--lastColumn customClass", "data-gridcell-column-id": "B", @@ -597,7 +611,7 @@ describe('EuiDataGrid', () => { "onMouseEnter": [Function], "onMouseLeave": [Function], "role": "gridcell", - "style": Object { + "style": { "color": "blue", "height": 34, "left": 100, @@ -609,7 +623,7 @@ describe('EuiDataGrid', () => { }, "tabIndex": -1, }, - Object { + { "aria-rowindex": 2, "className": "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--firstColumn customClass", "data-gridcell-column-id": "A", @@ -621,7 +635,7 @@ describe('EuiDataGrid', () => { "onMouseEnter": [Function], "onMouseLeave": [Function], "role": "gridcell", - "style": Object { + "style": { "color": "red", "height": 34, "left": 0, @@ -633,7 +647,7 @@ describe('EuiDataGrid', () => { }, "tabIndex": -1, }, - Object { + { "aria-rowindex": 2, "className": "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--lastColumn customClass", "data-gridcell-column-id": "B", @@ -645,7 +659,7 @@ describe('EuiDataGrid', () => { "onMouseEnter": [Function], "onMouseLeave": [Function], "role": "gridcell", - "style": Object { + "style": { "color": "blue", "height": 34, "left": 100, @@ -788,7 +802,7 @@ describe('EuiDataGrid', () => { .find('[className*="euiDataGridRowCell--"]') .map((x) => x.props().className); expect(gridCellClassNames).toMatchInlineSnapshot(` - Array [ + [ "euiDataGridRowCell--firstColumn", "euiDataGridRowCell euiDataGridRowCell--alignRight euiDataGridRowCell--numeric euiDataGridRowCell--firstColumn", "euiDataGridRowCell--lastColumn", @@ -824,7 +838,7 @@ describe('EuiDataGrid', () => { .find('[className~="euiDataGridRowCell"]') .map((x) => x.props().className); expect(gridCellClassNames).toMatchInlineSnapshot(` - Array [ + [ "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--numeric euiDataGridRowCell--firstColumn", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--boolean", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--lastColumn", @@ -854,7 +868,7 @@ describe('EuiDataGrid', () => { .find('[className~="euiDataGridRowCell"]') .map((x) => x.props().className); expect(gridCellClassNames).toMatchInlineSnapshot(` - Array [ + [ "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--numeric euiDataGridRowCell--firstColumn", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--alphanumeric euiDataGridRowCell--lastColumn", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--numeric euiDataGridRowCell--firstColumn", @@ -893,7 +907,7 @@ describe('EuiDataGrid', () => { .find('[className~="euiDataGridRowCell"]') .map((x) => x.props().className); expect(gridCellClassNames).toMatchInlineSnapshot(` - Array [ + [ "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--numeric euiDataGridRowCell--firstColumn", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--boolean", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--currency", @@ -944,7 +958,7 @@ describe('EuiDataGrid', () => { .find('[className~="euiDataGridRowCell"]') .map((x) => x.props().className); expect(gridCellClassNames).toMatchInlineSnapshot(` - Array [ + [ "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--numeric euiDataGridRowCell--firstColumn", "euiDataGridRowCell euiDataGridRowCell--alignLeft euiDataGridRowCell--ipaddress euiDataGridRowCell--lastColumn", ] @@ -975,16 +989,16 @@ describe('EuiDataGrid', () => { /> ); expect(extractGridData(component)).toMatchInlineSnapshot(` - Array [ - Array [ + [ + [ "Column 1", "Column 2", ], - Array [ + [ "Hello, Row 0-Column 1!", "Hello, Row 0-Column 2!", ], - Array [ + [ "Hello, Row 1-Column 1!", "Hello, Row 1-Column 2!", ], @@ -2334,12 +2348,29 @@ describe('EuiDataGrid', () => { ...pagination, pageIndex, }; - component.setProps({ pagination }); + + rerender( + {}, + }} + rowCount={8} + renderCellValue={renderCellValueRowAndColumnCount} + pagination={pagination} + /> + ); }, onChangeItemsPerPage: () => {}, }; - const component = mount( + const { container, rerender } = render( { ); // enable the grid to accept focus - act(() => - component.find('div [data-test-subj="euiDataGridBody"]').props() - .onKeyUp!({ key: keys.TAB } as React.KeyboardEvent) - ); - component.update(); + act(() => { + // component.find('div [data-test-subj="euiDataGridBody"]').props() + // .onKeyUp!({ key: keys.TAB } as React.KeyboardEvent) + + fireEvent.keyUp( + container.querySelector('div [data-test-subj="euiDataGridBody"]')!, + { key: 'Tab' } + ); + }); + // component.update(); // focus should begin at the first header cell - let focusableCell = getFocusableCell(component); - expect(focusableCell.length).toEqual(1); - expect( - focusableCell.find('.euiDataGridHeaderCell__content').text() - ).toEqual('A'); + let focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toBeInTheDocument(); + expect(focusableCell).toHaveTextContent('A'); // focus should not move when up against the left edge - focusableCell - .simulate('focus') - .simulate('keydown', { key: keys.ARROW_LEFT }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('.euiDataGridHeaderCell__content').text() - ).toEqual('A'); + fireEvent.focus(focusableCell); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_LEFT }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('A'); // focus should not move when up against the top edge - focusableCell.simulate('keydown', { key: keys.ARROW_UP }); - expect( - focusableCell.find('.euiDataGridHeaderCell__content').text() - ).toEqual('A'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_UP }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('A'); // move down - focusableCell.simulate('keydown', { key: keys.ARROW_DOWN }); - focusableCell.simulate('keydown', { key: keys.ARROW_DOWN }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('1, A'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_DOWN }); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_DOWN }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('1, A'); // move right - focusableCell.simulate('keydown', { key: keys.ARROW_RIGHT }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('1, B'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_RIGHT }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('1, B'); // move up - focusableCell.simulate('keydown', { key: keys.ARROW_UP }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('0, B'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_UP }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('0, B'); // move left - focusableCell.simulate('keydown', { key: keys.ARROW_LEFT }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('0, A'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_LEFT }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('0, A'); // move down and to the end of the row - focusableCell.simulate('keydown', { key: keys.ARROW_DOWN }); - focusableCell = getFocusableCell(component); - focusableCell.simulate('keydown', { key: keys.END }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('1, C'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_DOWN }); + fireEvent.keyDown(focusableCell, { key: keys.END }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('1, C'); // move up and to the beginning of the row - focusableCell - .simulate('keydown', { key: keys.ARROW_UP }) - .simulate('keydown', { key: keys.HOME }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('0, A'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_UP }); + fireEvent.keyDown(focusableCell, { key: keys.HOME }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('0, A'); // jump to the last cell - focusableCell.simulate('keydown', { - ctrlKey: true, - key: keys.END, - }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('2, C'); + fireEvent.keyDown(focusableCell, { key: keys.END, ctrlKey: true }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('2, C'); // jump to the first cell - focusableCell.simulate('keydown', { - ctrlKey: true, - key: keys.HOME, - }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('0, A'); + fireEvent.keyDown(focusableCell, { key: keys.HOME, ctrlKey: true }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('0, A'); // page should not change when moving before the first entry // but the last row should remain focused - focusableCell.simulate('keydown', { - key: keys.PAGE_UP, - }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('2, A'); + fireEvent.keyDown(focusableCell, { key: keys.PAGE_UP }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('2, A'); // advance to the next page - focusableCell.simulate('keydown', { - key: keys.PAGE_DOWN, - }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('3, A'); + fireEvent.keyDown(focusableCell, { key: keys.PAGE_DOWN }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('3, A'); // move over one column and advance one more page - focusableCell - .simulate('keydown', { key: keys.ARROW_RIGHT }) // 3, B - .simulate('keydown', { - key: keys.PAGE_DOWN, - }); // 6, B - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('6, B'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_RIGHT }); // 3, B + fireEvent.keyDown(focusableCell, { key: keys.PAGE_DOWN }); // 6, B + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('6, B'); // does not advance beyond the last page - focusableCell.simulate('keydown', { - key: keys.PAGE_DOWN, - }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('6, B'); + fireEvent.keyDown(focusableCell, { key: keys.PAGE_DOWN }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('6, B'); // move left one column, return to the previous page - focusableCell - .simulate('keydown', { key: keys.ARROW_LEFT }) // 6, A - .simulate('keydown', { - key: keys.PAGE_UP, - }); // 5, A - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('5, A'); + fireEvent.keyDown(focusableCell, { key: keys.ARROW_LEFT }); // 6, A + fireEvent.keyDown(focusableCell, { key: keys.PAGE_UP }); // 5, A + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('5, A'); // return to the previous (first) page - focusableCell.simulate('keydown', { - key: keys.PAGE_UP, - }); - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('2, A'); + fireEvent.keyDown(focusableCell, { key: keys.PAGE_UP }); + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('2, A'); // move to the last cell of the page then advance one page - focusableCell - .simulate('keydown', { - ctrlKey: true, - key: keys.END, - }) // 2, C (last cell of the first page) - .simulate('keydown', { - key: keys.PAGE_DOWN, - }); // 3, C (first cell of the second page, same cell position as previous page) - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('3, C'); + fireEvent.keyDown(focusableCell, { key: keys.END, ctrlKey: true }); // 2, C (last cell of the first page) + fireEvent.keyDown(focusableCell, { key: keys.PAGE_DOWN }); // 3, C (first cell of the second page, same cell position as previous page) + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('3, C'); // advance to the final page - focusableCell.simulate('keydown', { - key: keys.PAGE_DOWN, - }); // 6, C - focusableCell = getFocusableCell(component); - expect( - focusableCell.find('[data-test-subj="cell-content"]').text() - ).toEqual('6, C'); + fireEvent.keyDown(focusableCell, { key: keys.PAGE_DOWN }); // 6, C + focusableCell = getFocusableCellRTL(container)!; + expect(focusableCell).toHaveTextContent('6, C'); }); // Maximum call stack reached diff --git a/packages/eui/src/components/datagrid/utils/focus.test.tsx b/packages/eui/src/components/datagrid/utils/focus.test.tsx index 410ed814371..e39edc492cb 100644 --- a/packages/eui/src/components/datagrid/utils/focus.test.tsx +++ b/packages/eui/src/components/datagrid/utils/focus.test.tsx @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { renderHook, renderHookAct } from '../../../test/rtl'; +import React from 'react'; +import { render, renderHook, renderHookAct } from '../../../test/rtl'; import { keys } from '../../../services'; import { useFocus, @@ -173,6 +174,8 @@ describe('createKeyDownHandler', () => { beforeEach(() => { jest.clearAllMocks(); + const { container } = render(); + mockArgs.gridElement = container as HTMLDivElement; // Ensure document.activeElement is inside the grid pass the early return const mockFocus = mockArgs.gridElement.appendChild( document.createElement('button') diff --git a/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap b/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap index 54a3f3ba663..df193f57783 100644 --- a/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap +++ b/packages/eui/src/components/date_picker/__snapshots__/date_picker.test.tsx.snap @@ -941,6 +941,7 @@ exports[`EuiDatePicker renders 1`] = ` >
{ const timeOptions = renderHook(useI18nTimeOptions).result.current; expect(timeOptions).toMatchInlineSnapshot(` - Object { - "commonDurationRanges": Array [ - Object { + { + "commonDurationRanges": [ + { "end": "now/d", "label": "Today", "start": "now/d", }, - Object { + { "end": "now/w", "label": "This week", "start": "now/w", }, - Object { + { "end": "now/M", "label": "This month", "start": "now/M", }, - Object { + { "end": "now/y", "label": "This year", "start": "now/y", }, - Object { + { "end": "now-1d/d", "label": "Yesterday", "start": "now-1d/d", }, - Object { + { "end": "now", "label": "Week to date", "start": "now/w", }, - Object { + { "end": "now", "label": "Month to date", "start": "now/M", }, - Object { + { "end": "now", "label": "Year to date", "start": "now/y", }, ], - "refreshUnitsOptions": Array [ - Object { + "refreshUnitsOptions": [ + { "text": "Seconds", "value": "s", }, - Object { + { "text": "Minutes", "value": "m", }, - Object { + { "text": "Hours", "value": "h", }, ], - "relativeOptions": Array [ - Object { + "relativeOptions": [ + { "text": "Seconds ago", "value": "s", }, - Object { + { "text": "Minutes ago", "value": "m", }, - Object { + { "text": "Hours ago", "value": "h", }, - Object { + { "text": "Days ago", "value": "d", }, - Object { + { "text": "Weeks ago", "value": "w", }, - Object { + { "text": "Months ago", "value": "M", }, - Object { + { "text": "Years ago", "value": "y", }, - Object { + { "text": "Seconds from now", "value": "s+", }, - Object { + { "text": "Minutes from now", "value": "m+", }, - Object { + { "text": "Hours from now", "value": "h+", }, - Object { + { "text": "Days from now", "value": "d+", }, - Object { + { "text": "Weeks from now", "value": "w+", }, - Object { + { "text": "Months from now", "value": "M+", }, - Object { + { "text": "Years from now", "value": "y+", }, ], - "relativeRoundingLabels": Object { + "relativeRoundingLabels": { "M": "Round to the month", "d": "Round to the day", "h": "Round to the hour", @@ -140,42 +140,42 @@ describe('useI18nTimeOptions', () => { "w": "Round to the week", "y": "Round to the year", }, - "timeTenseOptions": Array [ - Object { + "timeTenseOptions": [ + { "text": "Last", "value": "last", }, - Object { + { "text": "Next", "value": "next", }, ], - "timeUnitsOptions": Array [ - Object { + "timeUnitsOptions": [ + { "text": "Seconds", "value": "s", }, - Object { + { "text": "Minutes", "value": "m", }, - Object { + { "text": "Hours", "value": "h", }, - Object { + { "text": "Days", "value": "d", }, - Object { + { "text": "Weeks", "value": "w", }, - Object { + { "text": "Months", "value": "M", }, - Object { + { "text": "Years", "value": "y", }, diff --git a/packages/eui/src/components/description_list/description_list.test.tsx b/packages/eui/src/components/description_list/description_list.test.tsx index 838b1571c99..bd7a8461f46 100644 --- a/packages/eui/src/components/description_list/description_list.test.tsx +++ b/packages/eui/src/components/description_list/description_list.test.tsx @@ -202,7 +202,7 @@ describe('EuiDescriptionList', () => { style={{ color: 'red' }} /> ); - expect(container.firstChild).toHaveStyle('color: red'); + expect(container.firstChild).toHaveStyle('color: rgb(255, 0, 0)'); }); it('correctly removes inline styles when responsive columns collapse to rows', () => { diff --git a/packages/eui/src/components/flyout/__snapshots__/flyout.test.tsx.snap b/packages/eui/src/components/flyout/__snapshots__/flyout.test.tsx.snap index 61433b78d4b..b2b322e805e 100644 --- a/packages/eui/src/components/flyout/__snapshots__/flyout.test.tsx.snap +++ b/packages/eui/src/components/flyout/__snapshots__/flyout.test.tsx.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`EuiFlyout is rendered 1`] = ` -Array [ +[
{ it('outputs an object of reusable form vars', () => { const { result } = renderHook(() => euiFormVariables(useEuiTheme())); expect(result.current).toMatchInlineSnapshot(` - Object { + { "animationTiming": "150ms ease-in", "backgroundColor": "#f9fbfd", "backgroundDisabledColor": "#eef1f7", @@ -38,7 +38,7 @@ describe('euiFormVariables', () => { "controlCompressedPadding": "8px", "controlDisabledColor": "#98A2B3", "controlHeight": "40px", - "controlIconSize": Object { + "controlIconSize": { "l": "24px", "m": "16px", "s": "12px", @@ -79,7 +79,7 @@ describe('euiFormControlStyles', () => { it('outputs an object of control states and modifiers', () => { const { result } = renderHook(() => euiFormControlStyles(useEuiTheme())); expect(result.current).toMatchInlineSnapshot(` - Object { + { "autoFill": " &:-webkit-autofill { -webkit-text-fill-color: #343741; diff --git a/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout.test.tsx.snap b/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout.test.tsx.snap index fac7e724d5d..51aafb75204 100644 --- a/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout.test.tsx.snap +++ b/packages/eui/src/components/form/form_control_layout/__snapshots__/form_control_layout.test.tsx.snap @@ -20,6 +20,7 @@ exports[`EuiFormControlLayout props clear onClick is rendered 1`] = ` >
{ test('all icons', () => { const styles = getIconAffordanceStyles(allIcons); expect(styles).toMatchInlineSnapshot(` - Object { + { "--euiFormControlRightIconsCount": 5, } `); @@ -53,7 +53,7 @@ describe('getIconAffordanceStyles', () => { isInvalid: true, }); expect(styles).toMatchInlineSnapshot(` - Object { + { "--euiFormControlRightIconsCount": 2, } `); @@ -64,7 +64,7 @@ describe('getIconAffordanceStyles', () => { icon: 'search', }); expect(styles).toMatchInlineSnapshot(` - Object { + { "--euiFormControlLeftIconsCount": 1, } `); diff --git a/packages/eui/src/components/form/form_row/__snapshots__/form_row.test.tsx.snap b/packages/eui/src/components/form/form_row/__snapshots__/form_row.test.tsx.snap index 299b87327dc..7590cc16dd0 100644 --- a/packages/eui/src/components/form/form_row/__snapshots__/form_row.test.tsx.snap +++ b/packages/eui/src/components/form/form_row/__snapshots__/form_row.test.tsx.snap @@ -2,7 +2,7 @@ exports[`EuiFormRow behavior onBlur is called in child 1`] = `
-
- -
@@ -360,6 +352,7 @@ exports[`EuiDualRange props minInputProps allows overriding default props 1`] = >
-
- -
@@ -544,24 +528,15 @@ exports[`EuiDualRange props minInputProps applies passed props to min input 1`] class="euiFormControlLayout__childrenWrapper" > -
- -
diff --git a/packages/eui/src/components/form/range/__snapshots__/range.test.tsx.snap b/packages/eui/src/components/form/range/__snapshots__/range.test.tsx.snap index 333ef079f97..81ef9cab3e3 100644 --- a/packages/eui/src/components/form/range/__snapshots__/range.test.tsx.snap +++ b/packages/eui/src/components/form/range/__snapshots__/range.test.tsx.snap @@ -348,6 +348,7 @@ exports[`EuiRange props loading should display when showInput="inputWithPopover" >
); - const component = mount( + const { container, getByTestSubject, rerender } = render( { {...requiredProps} /> ); - component.find(EuiFocusTrap).invoke('onEscapeKey')!(mockEvent); - component.setProps({ isOpen: false }); + + actAdvanceTimersByTime(openingTransitionTime); + await waitForEuiPopoverOpen(); + + fireEvent.keyDown(container, { + key: keys.ESCAPE, + }); + + rerender( + + ); + + await waitForEuiPopoverClose(); + actAdvanceTimersByTime(closingTransitionTime); expect(closePopover).toHaveBeenCalled(); - expect(document.activeElement).toEqual(toggleButtonEl.current); + expect(getByTestSubject('toggleButton')).toHaveFocus(); }); - it('does not refocus if the toggle button is not focusable', () => { + it('does not refocus if the toggle button is not focusable', async () => { const toggleDivEl = React.createRef(); - const toggleDiv =
; + const toggleDiv =
; - const component = mount( + const { container, getByTestSubject, rerender } = render( + ); + + actAdvanceTimersByTime(openingTransitionTime); + await waitForEuiPopoverOpen(); + + fireEvent.keyDown(container, { + key: keys.ESCAPE, + }); + + rerender( + ); - component.find(EuiFocusTrap).invoke('onEscapeKey')!(mockEvent); - component.setProps({ isOpen: false }); + await waitForEuiPopoverClose(); actAdvanceTimersByTime(closingTransitionTime); expect(closePopover).toHaveBeenCalled(); - expect(document.activeElement).not.toEqual(toggleDivEl.current); + expect(getByTestSubject('toggleButton')).not.toHaveFocus(); }); }); }); diff --git a/packages/eui/src/components/popover/popover.tsx b/packages/eui/src/components/popover/popover.tsx index 99dc2927254..e31db77517b 100644 --- a/packages/eui/src/components/popover/popover.tsx +++ b/packages/eui/src/components/popover/popover.tsx @@ -367,9 +367,14 @@ export class EuiPopover extends Component { handleStrandedFocus = () => { this.strandedFocusTimeout = window.setTimeout(() => { - // If `returnFocus` failed and focus was stranded on the body, - // attempt to manually restore focus to the toggle button - if (document.activeElement === document.body) { + // If `returnFocus` failed and focus was stranded, + // attempt to manually restore focus to the toggle button. + // The stranded focus is either in most cases on body but + // it will be on the panel instead on mount when isOpen=true + if ( + document.activeElement === document.body || + document.activeElement === this.panel + ) { if (!this.button) return; const focusableItems = focusable(this.button); diff --git a/packages/eui/src/components/provider/cache/__snapshots__/cache_provider.test.tsx.snap b/packages/eui/src/components/provider/cache/__snapshots__/cache_provider.test.tsx.snap index 04217fd8d0d..2ccdbf15b4c 100644 --- a/packages/eui/src/components/provider/cache/__snapshots__/cache_provider.test.tsx.snap +++ b/packages/eui/src/components/provider/cache/__snapshots__/cache_provider.test.tsx.snap @@ -3,12 +3,12 @@ exports[`EuiProvider customizes CacheProvider when configured with a cache 1`] = `
=3 -number>9 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "range": Object { - "size": Object { +{ + "bool": { + "must": [ + { + "range": { + "size": { "lt": 5, }, }, }, - Object { - "range": Object { - "age": Object { + { + "range": { + "age": { "gte": 3, }, }, }, ], - "must_not": Array [ - Object { - "range": Object { - "count": Object { + "must_not": [ + { + "range": { + "count": { "lte": 4, }, }, }, - Object { - "range": Object { - "number": Object { + { + "range": { + "number": { "gt": 9, }, }, @@ -405,12 +405,12 @@ Object { `; exports[`astToEsQueryDsl ast - count>3 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "range": Object { - "count": Object { +{ + "bool": { + "must": [ + { + "range": { + "count": { "gt": 3, }, }, @@ -421,19 +421,19 @@ Object { `; exports[`astToEsQueryDsl ast - date:'2004-03' -date<'2004-03-10' 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "match": Object { +{ + "bool": { + "must": [ + { + "match": { "date": "2004-03-01T00:00:00Z||/M", }, }, ], - "must_not": Array [ - Object { - "range": Object { - "date": Object { + "must_not": [ + { + "range": { + "date": { "lt": "2004-03-10T00:00:00Z||/d", }, }, @@ -444,21 +444,21 @@ Object { `; exports[`astToEsQueryDsl ast - date>'2004-02' -otherDate>='2004-03-10' 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "range": Object { - "date": Object { +{ + "bool": { + "must": [ + { + "range": { + "date": { "gte": "2004-02-01T00:00:00Z||+1M/M", }, }, }, ], - "must_not": Array [ - Object { - "range": Object { - "date": Object { + "must_not": [ + { + "range": { + "date": { "gte": "2004-03-10T00:00:00Z||/d", }, }, @@ -469,12 +469,12 @@ Object { `; exports[`astToEsQueryDsl ast - date>='2004-03-22' 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "range": Object { - "date": Object { +{ + "bool": { + "must": [ + { + "range": { + "date": { "gte": "2004-03-22T00:00:00Z||/d", }, }, @@ -485,12 +485,12 @@ Object { `; exports[`astToEsQueryDsl ast - name:"First \\"Nickname\\" Last" 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "match_phrase": Object { - "name": "First \\"Nickname\\" Last", +{ + "bool": { + "must": [ + { + "match_phrase": { + "name": "First "Nickname" Last", }, }, ], @@ -499,15 +499,15 @@ Object { `; exports[`astToEsQueryDsl ast - name:john (is:enrolled OR Teacher) 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "bool": Object { - "must": Array [ - Object { - "match": Object { - "name": Object { +{ + "bool": { + "must": [ + { + "bool": { + "must": [ + { + "match": { + "name": { "operator": "and", "query": "john", }, @@ -516,25 +516,25 @@ Object { ], }, }, - Object { - "bool": Object { - "should": Array [ - Object { - "bool": Object { - "must": Array [ - Object { - "term": Object { + { + "bool": { + "should": [ + { + "bool": { + "must": [ + { + "term": { "enrolled": true, }, }, ], }, }, - Object { - "bool": Object { - "must": Array [ - Object { - "simple_query_string": Object { + { + "bool": { + "must": [ + { + "simple_query_string": { "query": "+Teacher", }, }, @@ -550,19 +550,19 @@ Object { `; exports[`astToEsQueryDsl ast·-·'"john·smith"·-"sales team"' 1`] = ` -Object { - "bool": Object { - "must": Array [ - Object { - "simple_query_string": Object { - "query": "+\\"john smith\\"", +{ + "bool": { + "must": [ + { + "simple_query_string": { + "query": "+"john smith"", }, }, ], - "must_not": Array [ - Object { - "simple_query_string": Object { - "query": "+\\"sales team\\"", + "must_not": [ + { + "simple_query_string": { + "query": "+"sales team"", }, }, ], diff --git a/packages/eui/src/components/search_bar/query/__snapshots__/ast_to_es_query_string.test.ts.snap b/packages/eui/src/components/search_bar/query/__snapshots__/ast_to_es_query_string.test.ts.snap index 1c81d9d3778..f4a406a5a2d 100644 --- a/packages/eui/src/components/search_bar/query/__snapshots__/ast_to_es_query_string.test.ts.snap +++ b/packages/eui/src/components/search_bar/query/__snapshots__/ast_to_es_query_string.test.ts.snap @@ -10,7 +10,7 @@ exports[`astToEsQueryString ast - 'john -doe is:online group:eng group:es -group exports[`astToEsQueryString ast - 'john -sales' 1`] = `"+john -sales"`; -exports[`astToEsQueryString ast - 'john group:(eng or "marketing org") -group:"kibana team" 1`] = `"+john +(group:eng OR group:\\"marketing org\\") -group:\\"kibana team\\""`; +exports[`astToEsQueryString ast - 'john group:(eng or "marketing org") -group:"kibana team" 1`] = `"+john +(group:eng OR group:"marketing org") -group:"kibana team""`; exports[`astToEsQueryString ast - 'john group:(eng or es) -group:kibana' 1`] = `"+john +(group:eng OR group:es) -group:kibana"`; @@ -24,4 +24,4 @@ exports[`astToEsQueryString ast - date>'2004-02' -otherDate>='2004-03-10' 1`] = exports[`astToEsQueryString ast - date>='2004-03-22' 1`] = `"+date:>=2004-03-22"`; -exports[`astToEsQueryString ast·-·'"john·smith"·-"sales team"' 1`] = `"+\\"john smith\\" -\\"sales team\\""`; +exports[`astToEsQueryString ast·-·'"john·smith"·-"sales team"' 1`] = `"+"john smith" -"sales team""`; diff --git a/packages/eui/src/components/selectable/__snapshots__/selectable.test.tsx.snap b/packages/eui/src/components/selectable/__snapshots__/selectable.test.tsx.snap index c6e8847768d..bfab80ea8b3 100644 --- a/packages/eui/src/components/selectable/__snapshots__/selectable.test.tsx.snap +++ b/packages/eui/src/components/selectable/__snapshots__/selectable.test.tsx.snap @@ -354,6 +354,7 @@ exports[`EuiSelectable search value supports inheriting initialSearchValue from >
, "aria-label": "aria-label", - "avatar": Object { + "avatar": { "name": "Default Space", }, "className": "euiSelectableTemplateSitewide__listItem testClass1 testClass2", - "css": Object { + "css": { "name": "hzx95w-euiTestCss", "styles": "color:red;label:euiTestCss;", "toString": [Function], @@ -21,8 +21,8 @@ Array [ "data-test-subj": "test-this", "key": "Basic data application", "label": "Basic data application", - "meta": Array [ - Object { + "meta": [ + { "text": "Application", "type": "application", }, @@ -31,20 +31,20 @@ Array [ "title": "Basic data application • Application", "url": "welcome-dashboards", }, - Object { + { "append": undefined, "className": "euiSelectableTemplateSitewide__listItem", - "icon": Object { + "icon": { "type": "user", }, "key": "Platform with deployment highlighted", "label": "Platform with deployment highlighted", - "meta": Array [ - Object { + "meta": [ + { "text": "Account", "type": "platform", }, - Object { + { "highlightSearchString": true, "text": "personal-databoard", "type": "deployment", @@ -57,28 +57,28 @@ Array [ />, "title": "Platform with deployment highlighted • Account, personal-databoard", }, - Object { + { "append": undefined, "className": "euiSelectableTemplateSitewide__listItem", - "icon": Object { + "icon": { "color": "accent", "type": "warning", }, "key": "Other metas", "label": "Other metas", - "meta": Array [ - Object { + "meta": [ + { "text": "Article", "type": "article", }, - Object { + { "text": "Case", "type": "case", }, - Object { + { "text": "Text", }, - Object { + { "text": "I have a custom type", "type": "PINK", }, diff --git a/packages/eui/src/components/table/__snapshots__/table_row_cell.test.tsx.snap b/packages/eui/src/components/table/__snapshots__/table_row_cell.test.tsx.snap index edc53bd464b..66ecfa7bdee 100644 --- a/packages/eui/src/components/table/__snapshots__/table_row_cell.test.tsx.snap +++ b/packages/eui/src/components/table/__snapshots__/table_row_cell.test.tsx.snap @@ -187,6 +187,7 @@ exports[`EuiTableRowCell truncateText renders lines configuration 1`] = ` >
diff --git a/packages/eui/src/components/text_truncate/text_block_truncate.test.tsx b/packages/eui/src/components/text_truncate/text_block_truncate.test.tsx index d954c93d6bf..1b7882cbde6 100644 --- a/packages/eui/src/components/text_truncate/text_block_truncate.test.tsx +++ b/packages/eui/src/components/text_truncate/text_block_truncate.test.tsx @@ -22,6 +22,7 @@ describe('EuiTextBlockTruncate', () => { expect(container.firstChild).toMatchInlineSnapshot(`
Hello world
@@ -37,6 +38,7 @@ describe('EuiTextBlockTruncate', () => { expect(container.firstChild).toMatchInlineSnapshot(`

Hello world

diff --git a/packages/eui/src/components/text_truncate/text_truncate.test.tsx b/packages/eui/src/components/text_truncate/text_truncate.test.tsx index 52c6af87a61..bb2080638ca 100644 --- a/packages/eui/src/components/text_truncate/text_truncate.test.tsx +++ b/packages/eui/src/components/text_truncate/text_truncate.test.tsx @@ -39,8 +39,8 @@ describe('EuiTextTruncate', () => { }); describe('calculationDelayMs', () => { - beforeAll(jest.useFakeTimers); - afterAll(jest.useRealTimers); + beforeAll(() => jest.useFakeTimers()); + afterAll(() => jest.useRealTimers()); it('allows delaying truncation calculation by the specified duration', () => { const { queryByTestSubject } = render( diff --git a/packages/eui/src/components/title/__snapshots__/title.styles.test.ts.snap b/packages/eui/src/components/title/__snapshots__/title.styles.test.ts.snap index 056d4884065..40ab6e813ff 100644 --- a/packages/eui/src/components/title/__snapshots__/title.styles.test.ts.snap +++ b/packages/eui/src/components/title/__snapshots__/title.styles.test.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`euiTitle mixin returns a static object of title font properties for each title size l 1`] = ` -Object { +{ "color": "#1a1c21", "fontSize": "2.4286rem", "fontWeight": 700, @@ -10,7 +10,7 @@ Object { `; exports[`euiTitle mixin returns a static object of title font properties for each title size m 1`] = ` -Object { +{ "color": "#1a1c21", "fontSize": "1.9286rem", "fontWeight": 700, @@ -19,7 +19,7 @@ Object { `; exports[`euiTitle mixin returns a static object of title font properties for each title size s 1`] = ` -Object { +{ "color": "#1a1c21", "fontSize": "1.5714rem", "fontWeight": 700, @@ -28,7 +28,7 @@ Object { `; exports[`euiTitle mixin returns a static object of title font properties for each title size xs 1`] = ` -Object { +{ "color": "#1a1c21", "fontSize": "1.1429rem", "fontWeight": 700, @@ -37,7 +37,7 @@ Object { `; exports[`euiTitle mixin returns a static object of title font properties for each title size xxs 1`] = ` -Object { +{ "color": "#1a1c21", "fontSize": "1.0000rem", "fontWeight": 700, @@ -46,7 +46,7 @@ Object { `; exports[`euiTitle mixin returns a static object of title font properties for each title size xxxs 1`] = ` -Object { +{ "color": "#1a1c21", "fontSize": "0.8571rem", "fontWeight": 700, diff --git a/packages/eui/src/components/tour/tour_step.test.tsx b/packages/eui/src/components/tour/tour_step.test.tsx index a57d2d03385..9901fceb8e6 100644 --- a/packages/eui/src/components/tour/tour_step.test.tsx +++ b/packages/eui/src/components/tour/tour_step.test.tsx @@ -170,13 +170,13 @@ describe('EuiTourStep', () => { expect(container.querySelector('.goesOnPopover')).not.toBeInTheDocument(); expect(container.querySelector('.goesOnAnchor')).toBeInTheDocument(); expect(container.querySelector('.goesOnAnchor')).toHaveStyle({ - color: 'blue', + color: 'rgb(0, 0, 255)', }); rerender(); expect(container.querySelector('.goesOnPopover')).toBeInTheDocument(); expect(container.querySelector('.goesOnPopover')).toHaveStyle({ - color: 'red', + color: 'rgb(255, 0, 0)', }); }); }); diff --git a/packages/eui/src/global_styling/functions/__snapshots__/logicals.test.ts.snap b/packages/eui/src/global_styling/functions/__snapshots__/logicals.test.ts.snap index a49a6981f25..a920c3ff364 100644 --- a/packages/eui/src/global_styling/functions/__snapshots__/logicals.test.ts.snap +++ b/packages/eui/src/global_styling/functions/__snapshots__/logicals.test.ts.snap @@ -116,325 +116,325 @@ exports[`logicalCSSWithFallback returns both the original property and the logic `; exports[`logicalStyle mixin returns an object property for each directional property: border-bottom 1`] = ` -Object { +{ "borderBlockEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-bottom-color 1`] = ` -Object { +{ "borderBlockEndColor": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-bottom-left-radius 1`] = ` -Object { +{ "borderEndStartRadius": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-bottom-right-radius 1`] = ` -Object { +{ "borderEndEndRadius": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-bottom-style 1`] = ` -Object { +{ "borderBlockEndStyle": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-bottom-width 1`] = ` -Object { +{ "borderBlockEndWidth": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-horizontal 1`] = ` -Object { +{ "borderInline": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-horizontal-color 1`] = ` -Object { +{ "borderInlineColor": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-horizontal-style 1`] = ` -Object { +{ "borderInlineStyle": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-horizontal-width 1`] = ` -Object { +{ "borderInlineWidth": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-left 1`] = ` -Object { +{ "borderInlineStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-left-color 1`] = ` -Object { +{ "borderInlineStartColor": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-left-style 1`] = ` -Object { +{ "borderInlineStartStyle": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-left-width 1`] = ` -Object { +{ "borderInlineStartWidth": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-right 1`] = ` -Object { +{ "borderInlineEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-right-color 1`] = ` -Object { +{ "borderInlineEndColor": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-right-style 1`] = ` -Object { +{ "borderInlineEndStyle": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-right-width 1`] = ` -Object { +{ "borderInlineEndWidth": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-top 1`] = ` -Object { +{ "borderBlockStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-top-color 1`] = ` -Object { +{ "borderBlockStartColor": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-top-left-radius 1`] = ` -Object { +{ "borderStartStartRadius": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-top-right-radius 1`] = ` -Object { +{ "borderStartEndRadius": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-top-style 1`] = ` -Object { +{ "borderBlockStartStyle": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-top-width 1`] = ` -Object { +{ "borderBlockStartWidth": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-vertical 1`] = ` -Object { +{ "borderBlock": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-vertical-color 1`] = ` -Object { +{ "borderBlockColor": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-vertical-style 1`] = ` -Object { +{ "borderBlockStyle": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: border-vertical-width 1`] = ` -Object { +{ "borderBlockWidth": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: bottom 1`] = ` -Object { +{ "insetBlockEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: height 1`] = ` -Object { +{ "blockSize": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: horizontal 1`] = ` -Object { +{ "insetInline": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: left 1`] = ` -Object { +{ "insetInlineStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: margin-bottom 1`] = ` -Object { +{ "marginBlockEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: margin-horizontal 1`] = ` -Object { +{ "marginInline": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: margin-left 1`] = ` -Object { +{ "marginInlineStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: margin-right 1`] = ` -Object { +{ "marginInlineEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: margin-top 1`] = ` -Object { +{ "marginBlockStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: margin-vertical 1`] = ` -Object { +{ "marginBlock": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: max-height 1`] = ` -Object { +{ "maxBlockSize": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: max-width 1`] = ` -Object { +{ "maxInlineSize": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: min-height 1`] = ` -Object { +{ "minBlockSize": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: min-width 1`] = ` -Object { +{ "minInlineSize": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: overflow-x 1`] = ` -Object { +{ "overflowInline": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: overflow-y 1`] = ` -Object { +{ "overflowBlock": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: padding-bottom 1`] = ` -Object { +{ "paddingBlockEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: padding-horizontal 1`] = ` -Object { +{ "paddingInline": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: padding-left 1`] = ` -Object { +{ "paddingInlineStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: padding-right 1`] = ` -Object { +{ "paddingInlineEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: padding-top 1`] = ` -Object { +{ "paddingBlockStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: padding-vertical 1`] = ` -Object { +{ "paddingBlock": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: right 1`] = ` -Object { +{ "insetInlineEnd": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: top 1`] = ` -Object { +{ "insetBlockStart": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: vertical 1`] = ` -Object { +{ "insetBlock": "8px", } `; exports[`logicalStyle mixin returns an object property for each directional property: width 1`] = ` -Object { +{ "inlineSize": "8px", } `; @@ -446,19 +446,19 @@ exports[`logicalTextAlignCSS mixin returns a string property for each text align exports[`logicalTextAlignCSS mixin returns a string property for each text align value: right 1`] = `"text-align: end;"`; exports[`logicalTextAlignStyle mixin returns a string property for each text align value: center 1`] = ` -Object { +{ "textAlign": "center", } `; exports[`logicalTextAlignStyle mixin returns a string property for each text align value: left 1`] = ` -Object { +{ "textAlign": "start", } `; exports[`logicalTextAlignStyle mixin returns a string property for each text align value: right 1`] = ` -Object { +{ "textAlign": "end", } `; diff --git a/packages/eui/src/global_styling/mixins/__snapshots__/_typography.test.ts.snap b/packages/eui/src/global_styling/mixins/__snapshots__/_typography.test.ts.snap index 3e5c73b8246..0aa3445e978 100644 --- a/packages/eui/src/global_styling/mixins/__snapshots__/_typography.test.ts.snap +++ b/packages/eui/src/global_styling/mixins/__snapshots__/_typography.test.ts.snap @@ -1,189 +1,189 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`euiFontSize handles the optional customScale property by multiplying it against the passed scale: l scale with xxs customScale 1`] = ` -Object { +{ "fontSize": "1.0804rem", "lineHeight": "1.4286rem", } `; exports[`euiFontSize handles the optional customScale property by multiplying it against the passed scale: m scale with xs customScale 1`] = ` -Object { +{ "fontSize": "0.8571rem", "lineHeight": "1.1429rem", } `; exports[`euiFontSize handles the optional customScale property by multiplying it against the passed scale: s scale with xl customScale 1`] = ` -Object { +{ "fontSize": "1.6875rem", "lineHeight": "2.0000rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em l 1`] = ` -Object { +{ "fontSize": "1.375em", "lineHeight": "1.2495", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em m 1`] = ` -Object { +{ "fontSize": "1em", "lineHeight": "1.5000", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em s 1`] = ` -Object { +{ "fontSize": "0.875em", "lineHeight": "1.5000", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em xl 1`] = ` -Object { +{ "fontSize": "1.6875em", "lineHeight": "1.2495", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em xs 1`] = ` -Object { +{ "fontSize": "0.75em", "lineHeight": "1.5000", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em xxl 1`] = ` -Object { +{ "fontSize": "2.125em", "lineHeight": "1.2495", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em xxs 1`] = ` -Object { +{ "fontSize": "0.6875em", "lineHeight": "1.5000", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale em xxxs 1`] = ` -Object { +{ "fontSize": "0.5625em", "lineHeight": "1.5000", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px l 1`] = ` -Object { +{ "fontSize": "22px", "lineHeight": "24px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px m 1`] = ` -Object { +{ "fontSize": "16px", "lineHeight": "24px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px s 1`] = ` -Object { +{ "fontSize": "14px", "lineHeight": "20px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px xl 1`] = ` -Object { +{ "fontSize": "27px", "lineHeight": "32px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px xs 1`] = ` -Object { +{ "fontSize": "12px", "lineHeight": "16px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px xxl 1`] = ` -Object { +{ "fontSize": "34px", "lineHeight": "40px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px xxs 1`] = ` -Object { +{ "fontSize": "11px", "lineHeight": "16px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale px xxxs 1`] = ` -Object { +{ "fontSize": "9px", "lineHeight": "12px", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem l 1`] = ` -Object { +{ "fontSize": "1.5714rem", "lineHeight": "1.7143rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem m 1`] = ` -Object { +{ "fontSize": "1.1429rem", "lineHeight": "1.7143rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem s 1`] = ` -Object { +{ "fontSize": "1.0000rem", "lineHeight": "1.4286rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem xl 1`] = ` -Object { +{ "fontSize": "1.9286rem", "lineHeight": "2.2857rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem xs 1`] = ` -Object { +{ "fontSize": "0.8571rem", "lineHeight": "1.1429rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem xxl 1`] = ` -Object { +{ "fontSize": "2.4286rem", "lineHeight": "2.8571rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem xxs 1`] = ` -Object { +{ "fontSize": "0.7857rem", "lineHeight": "1.1429rem", } `; exports[`euiFontSize returns an object of font-size and line-height for each scale rem xxxs 1`] = ` -Object { +{ "fontSize": "0.6429rem", "lineHeight": "0.8571rem", } diff --git a/packages/eui/src/themes/amsterdam/global_styling/mixins/__snapshots__/button.test.ts.snap b/packages/eui/src/themes/amsterdam/global_styling/mixins/__snapshots__/button.test.ts.snap index e1308b7893e..96beb3b0e63 100644 --- a/packages/eui/src/themes/amsterdam/global_styling/mixins/__snapshots__/button.test.ts.snap +++ b/packages/eui/src/themes/amsterdam/global_styling/mixins/__snapshots__/button.test.ts.snap @@ -1,50 +1,50 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`useEuiButtonColorCSS base 1`] = ` -Object { - "accent": Object { +{ + "accent": { "map": undefined, "name": "1uoldaz-displaysColorsMap-display-color", "next": undefined, "styles": "color:#a03465;background-color:#fcdcea;;;label:base-accent;", "toString": [Function], }, - "danger": Object { + "danger": { "map": undefined, "name": "1cquuvx-displaysColorsMap-display-color", "next": undefined, "styles": "color:#ab231c;background-color:#f2d4d2;;;label:base-danger;", "toString": [Function], }, - "disabled": Object { + "disabled": { "map": undefined, "name": "13xo60b-displaysColorsMap-display-color", "next": undefined, "styles": "color:#a2abba;background-color:rgba(211,218,230,0.15);;;label:base-disabled;", "toString": [Function], }, - "primary": Object { + "primary": { "map": undefined, "name": "1thox14-displaysColorsMap-display-color", "next": undefined, "styles": "color:#0061a6;background-color:#cce4f5;;;label:base-primary;", "toString": [Function], }, - "success": Object { + "success": { "map": undefined, "name": "1j0clgi-displaysColorsMap-display-color", "next": undefined, "styles": "color:#006c66;background-color:#ccf2f0;;;label:base-success;", "toString": [Function], }, - "text": Object { + "text": { "map": undefined, "name": "40srs0-displaysColorsMap-display-color", "next": undefined, "styles": "color:#343741;background-color:#e9edf3;;;label:base-text;", "toString": [Function], }, - "warning": Object { + "warning": { "map": undefined, "name": "19dh407-displaysColorsMap-display-color", "next": undefined, @@ -55,50 +55,50 @@ Object { `; exports[`useEuiButtonColorCSS empty 1`] = ` -Object { - "accent": Object { +{ + "accent": { "map": undefined, "name": "cy4kjs-displaysColorsMap-display-color", "next": undefined, "styles": "color:#a03465;&:focus,&:active{background-color:rgba(240,78,152,0.1);};label:empty-accent;", "toString": [Function], }, - "danger": Object { + "danger": { "map": undefined, "name": "j8xrk3-displaysColorsMap-display-color", "next": undefined, "styles": "color:#ab231c;&:focus,&:active{background-color:rgba(189,39,30,0.1);};label:empty-danger;", "toString": [Function], }, - "disabled": Object { + "disabled": { "map": undefined, "name": "2vymtv-displaysColorsMap-display-color", "next": undefined, "styles": "color:#a2abba;&:focus,&:active{background-color:transparent;};label:empty-disabled;", "toString": [Function], }, - "primary": Object { + "primary": { "map": undefined, "name": "15isz8i-displaysColorsMap-display-color", "next": undefined, "styles": "color:#0061a6;&:focus,&:active{background-color:rgba(0,119,204,0.1);};label:empty-primary;", "toString": [Function], }, - "success": Object { + "success": { "map": undefined, "name": "h2w3e9-displaysColorsMap-display-color", "next": undefined, "styles": "color:#006c66;&:focus,&:active{background-color:rgba(0,191,179,0.1);};label:empty-success;", "toString": [Function], }, - "text": Object { + "text": { "map": undefined, "name": "1dqg6bz-displaysColorsMap-display-color", "next": undefined, "styles": "color:#343741;&:focus,&:active{background-color:rgba(211,218,230,0.2);};label:empty-text;", "toString": [Function], }, - "warning": Object { + "warning": { "map": undefined, "name": "w61e3r-displaysColorsMap-display-color", "next": undefined, @@ -109,50 +109,50 @@ Object { `; exports[`useEuiButtonColorCSS fill 1`] = ` -Object { - "accent": Object { +{ + "accent": { "map": undefined, "name": "vi45v3-displaysColorsMap-display-color", "next": undefined, "styles": "color:#000;background-color:#f583b7;outline-color:#000;;label:fill-accent;", "toString": [Function], }, - "danger": Object { + "danger": { "map": undefined, "name": "1ge48z4-displaysColorsMap-display-color", "next": undefined, "styles": "color:#FFF;background-color:#BD271E;outline-color:#000;;label:fill-danger;", "toString": [Function], }, - "disabled": Object { + "disabled": { "map": undefined, "name": "xc42v8-displaysColorsMap-display-color", "next": undefined, "styles": "color:#a2abba;background-color:rgba(211,218,230,0.15);outline-color:#000;;label:fill-disabled;", "toString": [Function], }, - "primary": Object { + "primary": { "map": undefined, "name": "btstjy-displaysColorsMap-display-color", "next": undefined, "styles": "color:#FFF;background-color:#07C;outline-color:#000;;label:fill-primary;", "toString": [Function], }, - "success": Object { + "success": { "map": undefined, "name": "p9aexd-displaysColorsMap-display-color", "next": undefined, "styles": "color:#000;background-color:#4dd2ca;outline-color:#000;;label:fill-success;", "toString": [Function], }, - "text": Object { + "text": { "map": undefined, "name": "5c80s5-displaysColorsMap-display-color", "next": undefined, "styles": "color:#FFF;background-color:#69707D;outline-color:#000;;label:fill-text;", "toString": [Function], }, - "warning": Object { + "warning": { "map": undefined, "name": "17xxsr5-displaysColorsMap-display-color", "next": undefined, @@ -163,10 +163,10 @@ Object { `; exports[`useEuiButtonFocusCSS 1`] = ` -Object { +{ "map": undefined, "name": "1s8jae7-focusCSS", - "next": Object { + "next": { "name": "animation-70pju1", "next": undefined, "styles": "@keyframes animation-70pju1{ diff --git a/packages/eui/src/utils/prop_types/__snapshots__/with_required_prop.test.ts.snap b/packages/eui/src/utils/prop_types/__snapshots__/with_required_prop.test.ts.snap index 8edc8511cd2..89849771c07 100644 --- a/packages/eui/src/utils/prop_types/__snapshots__/with_required_prop.test.ts.snap +++ b/packages/eui/src/utils/prop_types/__snapshots__/with_required_prop.test.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`withRequiredProp warns when the base prop is present and valid but the required prop is missing 1`] = `"Warning: Failed exampleProp type: Property \\"exampleProp\\" was passed without corresponding property \\"requiredProp\\""`; +exports[`withRequiredProp warns when the base prop is present and valid but the required prop is missing 1`] = `"Warning: Failed exampleProp type: Property "exampleProp" was passed without corresponding property "requiredProp""`; exports[`withRequiredProp warns when the underlying prop validator fails 1`] = `"Warning: Failed exampleProp type: Invalid exampleProp \`exampleProp\` of type \`number\` supplied to \`ExampleComponent\`, expected \`string\`."`; -exports[`withRequiredProp warns with a custom message when validation fails 1`] = `"Warning: Failed exampleProp type: Property \\"exampleProp\\" was passed without corresponding property \\"requiredProp\\"; a custom message"`; +exports[`withRequiredProp warns with a custom message when validation fails 1`] = `"Warning: Failed exampleProp type: Property "exampleProp" was passed without corresponding property "requiredProp"; a custom message"`; diff --git a/wiki/contributing-to-eui/testing/unit-testing.md b/wiki/contributing-to-eui/testing/unit-testing.md index 24d03349edf..51d06ec64a0 100644 --- a/wiki/contributing-to-eui/testing/unit-testing.md +++ b/wiki/contributing-to-eui/testing/unit-testing.md @@ -33,7 +33,7 @@ You can also add any string to the end of the command to run the tests only on f ## Test helpers -The [`src/test`](../../../src/test) module exports some functions and constants to help you write better tests: +The [`src/test`](/packages/eui/src/test) module exports some functions and constants to help you write better tests: * `requiredProps` is a list of all props almost all components should support. * `shouldRenderCustomStyles` automatically asserts that consumer classNames, Emotion CSS, and custom styles are merged correctly with EUI's styles. @@ -131,7 +131,7 @@ describe('YourComponent', () => { ## Writing mock component files -A component file can be mocked for snapshot simplification or to mitigate nondeterministic rendering in test environments. See [`src/components/icon`](../../../src/components/icon) for a example. +A component file can be mocked for snapshot simplification or to mitigate nondeterministic rendering in test environments. See [`src/components/icon`](/packages/eui/src/components/icon/) for a example. _Mock component files are currently only used as part of consuming project test environments. To use mock components in EUI's own testing environments, use `jest.mock()` manually._ @@ -141,4 +141,4 @@ Component mocking relies on using the `[name].testenv.*` namespace for identific ### Mapping all module exports -The rendered output of a mocked component is at the author's discretion, however, all public exports from a module must be preserved in the mock file. Note that this does not apply to exported TypeScript types and interfaces, which will always be derived from the original component file. +The rendered output of a mocked component is at the author's discretion, however, all public exports from a module must be preserved in the mock file. Note that this does not apply to exported TypeScript types and interfaces, which will always be derived from the original component file. \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 46979235300..52939cbd4d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -298,15 +298,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.21.4": - version: 7.21.4 - resolution: "@babel/code-frame@npm:7.21.4" - dependencies: - "@babel/highlight": "npm:^7.18.6" - checksum: 10c0/c357e4b3b7a56927cb26fcb057166fef3cc701a4e35b2fa8a87402c31be0fd41d0144c61c87bf7d3b2a8f1c4d9ef00592dc0c7e8b9500dae43340a1e9f1096de - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2": version: 7.24.2 resolution: "@babel/code-frame@npm:7.24.2" @@ -397,18 +388,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.21.5, @babel/generator@npm:^7.4.0": - version: 7.21.5 - resolution: "@babel/generator@npm:7.21.5" - dependencies: - "@babel/types": "npm:^7.21.5" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10c0/e98b51440cbbcee68e66c66684b5334f5929dba512067a6c3c1aecc77131b308bf61eca74a5ae1fb73028089d22a188ca2219c364596117f27695102afc18e95 - languageName: node - linkType: hard - "@babel/generator@npm:^7.22.5": version: 7.22.5 resolution: "@babel/generator@npm:7.22.5" @@ -433,7 +412,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.24.7": +"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.24.7, @babel/generator@npm:^7.7.2": version: 7.24.7 resolution: "@babel/generator@npm:7.24.7" dependencies: @@ -780,13 +759,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.21.5": - version: 7.21.5 - resolution: "@babel/helper-environment-visitor@npm:7.21.5" - checksum: 10c0/d3f965d9691e3e2e11036d23ba9993a42d18f9be3d4589d3bb3d09d02e9d4d204026965633e36fb43b35fde905c2dfe753fb59b72ae0c3841f5a627fb1738d8a - languageName: node - linkType: hard - "@babel/helper-environment-visitor@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-environment-visitor@npm:7.22.20" @@ -1348,13 +1320,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.21.5": - version: 7.21.5 - resolution: "@babel/helper-string-parser@npm:7.21.5" - checksum: 10c0/4d0834c4a67c283e9277f5e565551fede00b7d68007e368c95c776e13d05002e8f9861716e11613880889d6f3463329d2af687ceea5fc5263f8b3d25a53d31da - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-string-parser@npm:7.22.5" @@ -1592,21 +1557,21 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.21.5, @babel/parser@npm:^7.4.3": - version: 7.21.8 - resolution: "@babel/parser@npm:7.21.8" +"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1": + version: 7.24.4 + resolution: "@babel/parser@npm:7.24.4" bin: parser: ./bin/babel-parser.js - checksum: 10c0/58789e972e5acce3abbd9dd4c8d4be7e15e071818d2038d195bc56664722f238abb8842d91da5c8894ab0b8f8c0841eabc675f681925c2fba12675bf3ec5c5fc + checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8 languageName: node linkType: hard -"@babel/parser@npm:^7.23.0, @babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1": - version: 7.24.4 - resolution: "@babel/parser@npm:7.24.4" +"@babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/parser@npm:7.24.7" bin: parser: ./bin/babel-parser.js - checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8 + checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b languageName: node linkType: hard @@ -1628,15 +1593,6 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/parser@npm:7.24.7" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/8b244756872185a1c6f14b979b3535e682ff08cb5a2a5fd97cc36c017c7ef431ba76439e95e419d43000c5b07720495b00cf29a7f0d9a483643d08802b58819b - languageName: node - linkType: hard - "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.4": version: 7.24.4 resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.4" @@ -1828,7 +1784,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13": +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -1949,7 +1916,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4": +"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -2004,7 +1971,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.24.7": +"@babel/plugin-syntax-jsx@npm:^7.24.7, @babel/plugin-syntax-jsx@npm:^7.7.2": version: 7.24.7 resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" dependencies: @@ -2015,7 +1982,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -2037,7 +2004,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -2048,7 +2015,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-object-rest-spread@npm:^7.0.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.3": +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: @@ -2092,7 +2059,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": +"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -2125,7 +2092,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7": +"@babel/plugin-syntax-typescript@npm:^7.24.7, @babel/plugin-syntax-typescript@npm:^7.7.2": version: 7.24.7 resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" dependencies: @@ -4680,7 +4647,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.12.13, @babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.4.0": +"@babel/template@npm:^7.12.13, @babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7": version: 7.20.7 resolution: "@babel/template@npm:7.20.7" dependencies: @@ -4724,7 +4691,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.24.7": +"@babel/template@npm:^7.24.7, @babel/template@npm:^7.3.3": version: 7.24.7 resolution: "@babel/template@npm:7.24.7" dependencies: @@ -4735,24 +4702,6 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.4.3": - version: 7.21.5 - resolution: "@babel/traverse@npm:7.21.5" - dependencies: - "@babel/code-frame": "npm:^7.21.4" - "@babel/generator": "npm:^7.21.5" - "@babel/helper-environment-visitor": "npm:^7.21.5" - "@babel/helper-function-name": "npm:^7.21.0" - "@babel/helper-hoist-variables": "npm:^7.18.6" - "@babel/helper-split-export-declaration": "npm:^7.18.6" - "@babel/parser": "npm:^7.21.5" - "@babel/types": "npm:^7.21.5" - debug: "npm:^4.1.0" - globals: "npm:^11.1.0" - checksum: 10c0/1b126b71b98aaff01ec1f0f0389d08beb6eda3d0b71878af4c6cf386686933a076d969240f270c6a01910d8036a1fb9013d53bd5c136b9b24025204a4dc48d03 - languageName: node - linkType: hard - "@babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7": version: 7.21.3 resolution: "@babel/traverse@npm:7.21.3" @@ -4872,17 +4821,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.21.5, @babel/types@npm:^7.4.0": - version: 7.21.5 - resolution: "@babel/types@npm:7.21.5" - dependencies: - "@babel/helper-string-parser": "npm:^7.21.5" - "@babel/helper-validator-identifier": "npm:^7.19.1" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/23c943aa2c0d11b798e9298b55b1993da8b386504aac2f781a49b4bbf2cf2ad5e1003409241578574e421c999ff7a3aab2cf30ad3581d33eb9053d82b9e20408 - languageName: node - linkType: hard - "@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.24.0": version: 7.24.0 resolution: "@babel/types@npm:7.24.0" @@ -4927,7 +4865,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.24.7": +"@babel/types@npm:^7.24.7, @babel/types@npm:^7.3.3": version: 7.24.7 resolution: "@babel/types@npm:7.24.7" dependencies: @@ -4945,6 +4883,13 @@ __metadata: languageName: node linkType: hard +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 + languageName: node + linkType: hard + "@cfaester/enzyme-adapter-react-18@npm:^0.7.0": version: 0.7.0 resolution: "@cfaester/enzyme-adapter-react-18@npm:0.7.0" @@ -4960,18 +4905,6 @@ __metadata: languageName: node linkType: hard -"@cnakazawa/watch@npm:^1.0.3": - version: 1.0.4 - resolution: "@cnakazawa/watch@npm:1.0.4" - dependencies: - exec-sh: "npm:^0.3.2" - minimist: "npm:^1.2.0" - bin: - watch: cli.js - checksum: 10c0/8678b6f582bdc5ffe59c0d45c2ad21f4ea1d162ec7ddb32e85078fca481c26958f27bcdef6007b8e9a066da090ccf9d31e1753f8de1e5f32466a04227d70dc31 - languageName: node - linkType: hard - "@colors/colors@npm:1.5.0": version: 1.5.0 resolution: "@colors/colors@npm:1.5.0" @@ -5910,7 +5843,7 @@ __metadata: "@types/chroma-js": "npm:^2.4.0" "@types/classnames": "npm:^2.3.1" "@types/enzyme": "npm:^3.10.5" - "@types/jest": "npm:^24.0.6" + "@types/jest": "npm:^29.5.12" "@types/lodash": "npm:^4.14.202" "@types/numeral": "npm:^2.0.5" "@types/react": "npm:^18.2.14" @@ -5930,7 +5863,7 @@ __metadata: assert: "npm:^2.0.0" autoprefixer: "npm:^9.8.6" axe-core: "npm:^4.9.0" - babel-jest: "npm:^24.1.0" + babel-jest: "npm:^29.7.0" babel-loader: "npm:^9.1.2" babel-plugin-add-module-exports: "npm:^1.0.4" babel-plugin-inline-react-svg: "npm:^2.0.2" @@ -5961,7 +5894,7 @@ __metadata: eslint-config-prettier: "npm:^8.8.0" eslint-import-resolver-webpack: "npm:^0.13.2" eslint-plugin-import: "npm:^2.27.5" - eslint-plugin-jest: "npm:^24.1.0" + eslint-plugin-jest: "npm:^28.5.0" eslint-plugin-jsx-a11y: "npm:^6.7.1" eslint-plugin-local: "npm:^1.0.0" eslint-plugin-mocha: "npm:^10.1.0" @@ -5978,8 +5911,9 @@ __metadata: html-format: "npm:^1.0.1" html-webpack-plugin: "npm:^5.5.0" inquirer: "npm:^9.1.4" - jest: "npm:^24.1.0" - jest-cli: "npm:^24.1.0" + jest: "npm:^29.7.0" + jest-cli: "npm:^29.7.0" + jest-environment-jsdom: "npm:^29.7.0" lodash: "npm:^4.17.21" loki: "npm:^0.35.0" mdast-util-to-hast: "npm:^10.2.0" @@ -6457,7 +6391,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -6680,109 +6614,159 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2": +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a languageName: node linkType: hard -"@jest/console@npm:^24.7.1, @jest/console@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/console@npm:24.9.0" +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" dependencies: - "@jest/source-map": "npm:^24.9.0" - chalk: "npm:^2.0.1" - slash: "npm:^2.0.0" - checksum: 10c0/7fffdd61898c1ecc9d05023a28fdcb5447a87ee78bdd0a8e4e9b8e6a8f770a1093ff46e2816fe5e1321cc0f07623cc46ea937890de5a746f59d18588aa82bd91 + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c languageName: node linkType: hard -"@jest/core@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/core@npm:24.9.0" +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" dependencies: - "@jest/console": "npm:^24.7.1" - "@jest/reporters": "npm:^24.9.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/transform": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - ansi-escapes: "npm:^3.0.0" - chalk: "npm:^2.0.1" + "@jest/console": "npm:^29.7.0" + "@jest/reporters": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" exit: "npm:^0.1.2" - graceful-fs: "npm:^4.1.15" - jest-changed-files: "npm:^24.9.0" - jest-config: "npm:^24.9.0" - jest-haste-map: "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-regex-util: "npm:^24.3.0" - jest-resolve: "npm:^24.9.0" - jest-resolve-dependencies: "npm:^24.9.0" - jest-runner: "npm:^24.9.0" - jest-runtime: "npm:^24.9.0" - jest-snapshot: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-validate: "npm:^24.9.0" - jest-watcher: "npm:^24.9.0" - micromatch: "npm:^3.1.10" - p-each-series: "npm:^1.0.0" - realpath-native: "npm:^1.1.0" - rimraf: "npm:^2.5.4" - slash: "npm:^2.0.0" - strip-ansi: "npm:^5.0.0" - checksum: 10c0/a4f11c66498c39bbf765464fcb6f3369403e67ce619d1758b438b8052f28c7b3cb6d4e463e6f3d37bbdb243a15809a8fdb2892823a0da5f27406a72bc5cf45ea + graceful-fs: "npm:^4.2.9" + jest-changed-files: "npm:^29.7.0" + jest-config: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-resolve-dependencies: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 languageName: node linkType: hard -"@jest/environment@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/environment@npm:24.9.0" +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" dependencies: - "@jest/fake-timers": "npm:^24.9.0" - "@jest/transform": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - jest-mock: "npm:^24.9.0" - checksum: 10c0/267128ede9193374bfd1f1c9e4df8c0b31c17dcf853401b591639c39187ea3552c2ff2f3e8a75191b2dcb1e55a6c499fce2713edaa64d81fa6674ca27895e0ba + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 languageName: node linkType: hard -"@jest/fake-timers@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/fake-timers@npm:24.9.0" +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-mock: "npm:^24.9.0" - checksum: 10c0/ce0d8146bfd2e2822eb45aaf6965a858bd4e6a490fd30f0f3bc5941edd2fca33942e1a37bba3d85d3dbc275c18cb362e8c4f0805a2e246ec09bbeb6b4c8b1364 + jest-get-type: "npm:^29.6.3" + checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a languageName: node linkType: hard -"@jest/reporters@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/reporters@npm:24.9.0" +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" dependencies: - "@jest/environment": "npm:^24.9.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/transform": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - chalk: "npm:^2.0.1" + expect: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + languageName: node + linkType: hard + +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea + languageName: node + linkType: hard + +"@jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@jest/console": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + collect-v8-coverage: "npm:^1.0.0" exit: "npm:^0.1.2" - glob: "npm:^7.1.2" - istanbul-lib-coverage: "npm:^2.0.2" - istanbul-lib-instrument: "npm:^3.0.1" - istanbul-lib-report: "npm:^2.0.4" - istanbul-lib-source-maps: "npm:^3.0.1" - istanbul-reports: "npm:^2.2.6" - jest-haste-map: "npm:^24.9.0" - jest-resolve: "npm:^24.9.0" - jest-runtime: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-worker: "npm:^24.6.0" - node-notifier: "npm:^5.4.2" - slash: "npm:^2.0.0" - source-map: "npm:^0.6.0" - string-length: "npm:^2.0.0" - checksum: 10c0/63812a0fae943db56f0531bef117bf8e82da8bff7a074c15bb4cc1a1563f086704d663d4d8cc4ddf4dc458dd9749fb82d135c097090e7bb6b27dfe7cc3c29928 + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^6.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.1.3" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + slash: "npm:^3.0.0" + string-length: "npm:^4.0.1" + strip-ansi: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 languageName: node linkType: hard @@ -6795,61 +6779,61 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^24.3.0, @jest/source-map@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/source-map@npm:24.9.0" +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.1.15" - source-map: "npm:^0.6.0" - checksum: 10c0/3c897d605a5ca36cff02aac53bbb7d47fc4c50d7565b678d8d3353979933297260b5baf74cc4140809447b9e0700262385ba77f64f76068abad3ba66481dcdf4 + graceful-fs: "npm:^4.2.9" + checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 languageName: node linkType: hard -"@jest/test-result@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/test-result@npm:24.9.0" +"@jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" dependencies: - "@jest/console": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" + "@jest/console": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" "@types/istanbul-lib-coverage": "npm:^2.0.0" - checksum: 10c0/450d068a39ace6219883d820c9fa17d9e455bd5c03b03f0a5d3924d860cdd2e36234cc15367bc42f18421ac42365c33fbe6077d860b7659b719d4d39de9d1331 + collect-v8-coverage: "npm:^1.0.0" + checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 languageName: node linkType: hard -"@jest/test-sequencer@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/test-sequencer@npm:24.9.0" +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" dependencies: - "@jest/test-result": "npm:^24.9.0" - jest-haste-map: "npm:^24.9.0" - jest-runner: "npm:^24.9.0" - jest-runtime: "npm:^24.9.0" - checksum: 10c0/6b04488ece3bbb1f1fa934db275bd27c3cb67630deb725895898b0bb96f75ef6b5299c9b33e2b398894bbc691ced514ff279af655f7b4fd8b51c9afa9da77458 + "@jest/test-result": "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b languageName: node linkType: hard -"@jest/transform@npm:^24.9.0": - version: 24.9.0 - resolution: "@jest/transform@npm:24.9.0" +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" dependencies: - "@babel/core": "npm:^7.1.0" - "@jest/types": "npm:^24.9.0" - babel-plugin-istanbul: "npm:^5.1.0" - chalk: "npm:^2.0.1" - convert-source-map: "npm:^1.4.0" - fast-json-stable-stringify: "npm:^2.0.0" - graceful-fs: "npm:^4.1.15" - jest-haste-map: "npm:^24.9.0" - jest-regex-util: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - micromatch: "npm:^3.1.10" - pirates: "npm:^4.0.1" - realpath-native: "npm:^1.1.0" - slash: "npm:^2.0.0" - source-map: "npm:^0.6.1" - write-file-atomic: "npm:2.4.1" - checksum: 10c0/3def8fce5a23ddd29984e0d31a8924e12a3d9ce96c9ca0cd20412232511656931dee54833f71897566c99ee1c975b53d2ef3dc69ce62191eb78d2f7e1414cb9e + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 languageName: node linkType: hard @@ -6972,6 +6956,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:^0.3.14, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" @@ -6982,16 +6976,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 - languageName: node - linkType: hard - "@leichtgewicht/ip-codec@npm:^2.0.1": version: 2.0.4 resolution: "@leichtgewicht/ip-codec@npm:2.0.4" @@ -7824,6 +7808,24 @@ __metadata: languageName: node linkType: hard +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + languageName: node + linkType: hard + "@slorber/remark-comment@npm:^1.0.0": version: 1.0.0 resolution: "@slorber/remark-comment@npm:1.0.0" @@ -9249,20 +9251,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.1.0": - version: 7.20.0 - resolution: "@types/babel__core@npm:7.20.0" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10c0/75dcd39258bc008b6fd4db7de2c8bfeb29b5cd2c726f54407f70243ddea1d8ce9e7082281557614c4a5f9f30d478387ca6ab6cc576fc829cebeb159bfaa8799f - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.18.0": +"@types/babel__core@npm:^7.1.14, @types/babel__core@npm:^7.18.0": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" dependencies: @@ -9589,6 +9578,15 @@ __metadata: languageName: node linkType: hard +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b + languageName: node + linkType: hard + "@types/gtag.js@npm:^0.0.12": version: 0.0.12 resolution: "@types/gtag.js@npm:0.0.12" @@ -9682,6 +9680,13 @@ __metadata: languageName: node linkType: hard +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + "@types/istanbul-lib-report@npm:*": version: 3.0.0 resolution: "@types/istanbul-lib-report@npm:3.0.0" @@ -9710,7 +9715,7 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:*, @types/jest@npm:^24.0.6": +"@types/jest@npm:*": version: 24.9.1 resolution: "@types/jest@npm:24.9.1" dependencies: @@ -9719,6 +9724,27 @@ __metadata: languageName: node linkType: hard +"@types/jest@npm:^29.5.12": + version: 29.5.12 + resolution: "@types/jest@npm:29.5.12" + dependencies: + expect: "npm:^29.0.0" + pretty-format: "npm:^29.0.0" + checksum: 10c0/25fc8e4c611fa6c4421e631432e9f0a6865a8cb07c9815ec9ac90d630271cad773b2ee5fe08066f7b95bebd18bb967f8ce05d018ee9ab0430f9dfd1d84665b6f + languageName: node + linkType: hard + +"@types/jsdom@npm:^20.0.0": + version: 20.0.1 + resolution: "@types/jsdom@npm:20.0.1" + dependencies: + "@types/node": "npm:*" + "@types/tough-cookie": "npm:*" + parse5: "npm:^7.0.0" + checksum: 10c0/3d4b2a3eab145674ee6da482607c5e48977869109f0f62560bf91ae1a792c9e847ac7c6aaf243ed2e97333cb3c51aef314ffa54a19ef174b8f9592dfcb836b25 + languageName: node + linkType: hard + "@types/json-schema@npm:*": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" @@ -9726,7 +9752,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.3, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": +"@types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": version: 7.0.9 resolution: "@types/json-schema@npm:7.0.9" checksum: 10c0/46a9e92b7922495a50f55632d802f7e7ab2dffd76b3f894baf7b28012e73983df832977bedd748aa9a2bc8400c6e8659ca39faf6ccd93d71d41d5b0293338a0e @@ -10172,10 +10198,10 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "@types/stack-utils@npm:1.0.1" - checksum: 10c0/4c4a8c48ba556bbe5fad2232cd9598b7f5f3e110451a3ad5cdf7e42204abf3d1abd30a9e6679d576e8e901e1f6b38e744af1f75f384e697c89bee53e5443b8c9 +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c languageName: node linkType: hard @@ -10195,6 +10221,13 @@ __metadata: languageName: node linkType: hard +"@types/tough-cookie@npm:*": + version: 4.0.5 + resolution: "@types/tough-cookie@npm:4.0.5" + checksum: 10c0/68c6921721a3dcb40451543db2174a145ef915bc8bcbe7ad4e59194a0238e776e782b896c7a59f4b93ac6acefca9161fccb31d1ce3b3445cb6faa467297fb473 + languageName: node + linkType: hard + "@types/underscore@npm:^1.8.13": version: 1.10.2 resolution: "@types/underscore@npm:1.10.2" @@ -10337,22 +10370,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/experimental-utils@npm:^4.0.1": - version: 4.4.0 - resolution: "@typescript-eslint/experimental-utils@npm:4.4.0" - dependencies: - "@types/json-schema": "npm:^7.0.3" - "@typescript-eslint/scope-manager": "npm:4.4.0" - "@typescript-eslint/types": "npm:4.4.0" - "@typescript-eslint/typescript-estree": "npm:4.4.0" - eslint-scope: "npm:^5.0.0" - eslint-utils: "npm:^2.0.0" - peerDependencies: - eslint: "*" - checksum: 10c0/f4e04c5011e2ac14beaa78879ca8426da3f6ae6229fb03ba0ccbca4cd7bfe6a5030c8c0c21922320603af04296119fadde7ddc14fef6b00f2e816ed184549cea - languageName: node - linkType: hard - "@typescript-eslint/parser@npm:^5.59.7": version: 5.60.0 resolution: "@typescript-eslint/parser@npm:5.60.0" @@ -10370,16 +10387,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:4.4.0": - version: 4.4.0 - resolution: "@typescript-eslint/scope-manager@npm:4.4.0" - dependencies: - "@typescript-eslint/types": "npm:4.4.0" - "@typescript-eslint/visitor-keys": "npm:4.4.0" - checksum: 10c0/39d44d0fb6159c4947340e484adc72e8c6d3ddafb040a0a94dd088693c1643ce1363b87aa0a19dfb74c8ce8226e194ec23aa1312b33dc1cf09a71fc299f97c5b - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:5.60.0": version: 5.60.0 resolution: "@typescript-eslint/scope-manager@npm:5.60.0" @@ -10400,6 +10407,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/scope-manager@npm:7.12.0" + dependencies: + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/visitor-keys": "npm:7.12.0" + checksum: 10c0/7af53cd9045cc70459e4f451377affc0ef03e67bd743480ab2cbfebe1b7d8269fc639406966930c5abb26f1b633623c98442c2b60f6257e0ce1555439343d5e9 + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:5.60.0": version: 5.60.0 resolution: "@typescript-eslint/type-utils@npm:5.60.0" @@ -10417,13 +10434,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:4.4.0": - version: 4.4.0 - resolution: "@typescript-eslint/types@npm:4.4.0" - checksum: 10c0/a8c3848dc65b3b517f0e2de1e0cd0acdec497d42313b1f3efe4b9b1a59983e1d6987538ca7dc77e492f008057dc1ee2da4c56372a5908478445d0d4ae39daa7d - languageName: node - linkType: hard - "@typescript-eslint/types@npm:5.60.0": version: 5.60.0 resolution: "@typescript-eslint/types@npm:5.60.0" @@ -10438,6 +10448,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/types@npm:7.12.0" + checksum: 10c0/76786d02a0838750d74ad6e49b026875c0753b81c5a46a56525a1e82d89c0939a13434b03494e3b31b7ffbba7824f426c5b502a12337806a1f6ca560b5dad46c + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:1.11.0": version: 1.11.0 resolution: "@typescript-eslint/typescript-estree@npm:1.11.0" @@ -10448,25 +10465,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:4.4.0": - version: 4.4.0 - resolution: "@typescript-eslint/typescript-estree@npm:4.4.0" - dependencies: - "@typescript-eslint/types": "npm:4.4.0" - "@typescript-eslint/visitor-keys": "npm:4.4.0" - debug: "npm:^4.1.1" - globby: "npm:^11.0.1" - is-glob: "npm:^4.0.1" - lodash: "npm:^4.17.15" - semver: "npm:^7.3.2" - tsutils: "npm:^3.17.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/0e1545f031b1304f8e558dae1058b92a29d046710aa4e7e2789a1c679b6ffe3881547d3b257126f0e398437881ecd26d5ff5ec2b4bd8945dad132813d666bbac - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:5.60.0, @typescript-eslint/typescript-estree@npm:^5.47.0": version: 5.60.0 resolution: "@typescript-eslint/typescript-estree@npm:5.60.0" @@ -10503,6 +10501,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.12.0" + dependencies: + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/visitor-keys": "npm:7.12.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/855be5ba6c3d7540319ad250555055a798deb04855f26abe719a3b8d555a3227d52e09453930bd829e260a72f65a985998b235514ce2872b31615015da3163c0 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:5.60.0": version: 5.60.0 resolution: "@typescript-eslint/utils@npm:5.60.0" @@ -10539,13 +10556,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:4.4.0": - version: 4.4.0 - resolution: "@typescript-eslint/visitor-keys@npm:4.4.0" +"@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0": + version: 7.12.0 + resolution: "@typescript-eslint/utils@npm:7.12.0" dependencies: - "@typescript-eslint/types": "npm:4.4.0" - eslint-visitor-keys: "npm:^2.0.0" - checksum: 10c0/2fb89eeff3c95ac29ff9e2e77c938fdc3884db91ab6d6ec9fdbd35c90f91c5d92cdcebdf34b8cff7ead4f67cf972e26befd85c23793775ea8dad49ce52eb9b28 + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:7.12.0" + "@typescript-eslint/types": "npm:7.12.0" + "@typescript-eslint/typescript-estree": "npm:7.12.0" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/04241c0313f2d061bc81ec2d5d589c9a723f8c1493e5b83d98f804ff9dac23c5e7157d9bb57bee8b458f40824f56ea65a02ebd344926a37cb58bf151cb4d3bf2 languageName: node linkType: hard @@ -10569,6 +10590,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:7.12.0": + version: 7.12.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.12.0" + dependencies: + "@typescript-eslint/types": "npm:7.12.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/f3aa6704961e65fa8d66fcde57cd28e382412bb8bec2e99312bf8cda38772ae9a74d6d95b9765f76a249bc9ab65624db34b8c00078ebad129b2e1b624e935d90 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -11147,13 +11178,6 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.0": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 10c0/0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 - languageName: node - linkType: hard - "abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -11178,16 +11202,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^4.1.0": - version: 4.3.4 - resolution: "acorn-globals@npm:4.3.4" - dependencies: - acorn: "npm:^6.0.1" - acorn-walk: "npm:^6.0.1" - checksum: 10c0/0e32d8288412532cfcbdc31d8469665468ec2bbf1b7a28cb79e8a8dbdbe5a33acb6434bf385cf639b6c78dbe451153889f72d94ef4a8d50402705b84bc27c849 - languageName: node - linkType: hard - "acorn-import-assertions@npm:^1.7.6": version: 1.8.0 resolution: "acorn-import-assertions@npm:1.8.0" @@ -11215,13 +11229,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^6.0.1": - version: 6.2.0 - resolution: "acorn-walk@npm:6.2.0" - checksum: 10c0/748c2b5f2c5dedc1455c5d1685d31c744b6850d478824862e7f517688369e4ddb1c169ef4eec533ed328ef5139d786defa30f57a8a71f5d0a164f43619a2e8f9 - languageName: node - linkType: hard - "acorn-walk@npm:^7.2.0": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" @@ -11236,24 +11243,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^5.5.3": - version: 5.7.4 - resolution: "acorn@npm:5.7.4" - bin: - acorn: bin/acorn - checksum: 10c0/b29e61d48fa31ae69d38d74bb213b77b32de6317f125890a6cb76b44d173adccbcd3a07fc9a86acdfe8ab0a80f42b5ec6290df8b7944e0506504ac3b716232bd - languageName: node - linkType: hard - -"acorn@npm:^6.0.1": - version: 6.4.2 - resolution: "acorn@npm:6.4.2" - bin: - acorn: bin/acorn - checksum: 10c0/52a72d5d785fa64a95880f2951021a38954f8f69a4944dfeab6fb1449b0f02293eae109a56d55b58ff31a90a00d16a804658a12db8ef834c20b3d1201fe5ba5b - languageName: node - linkType: hard - "acorn@npm:^7.1.1, acorn@npm:^7.4.1": version: 7.4.1 resolution: "acorn@npm:7.4.1" @@ -11556,7 +11545,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^3.0.0, ansi-escapes@npm:^3.2.0": +"ansi-escapes@npm:^3.2.0": version: 3.2.0 resolution: "ansi-escapes@npm:3.2.0" checksum: 10c0/084e1ce38139ad2406f18a8e7efe2b850ddd06ce3c00f633392d1ce67756dab44fe290e573d09ef3c9a0cb13c12881e0e35a8f77a017d39a0a4ab85ae2fae04f @@ -11672,17 +11661,7 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^2.0.0": - version: 2.0.0 - resolution: "anymatch@npm:2.0.0" - dependencies: - micromatch: "npm:^3.1.4" - normalize-path: "npm:^2.1.1" - checksum: 10c0/a0d745e52f0233048724b9c9d7b1d8a650f7a50151a0f1d2cce1857b09fd096052d334f8c570cc88596edef8249ae778f767db94025cd00f81e154a37bb7e34e - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" dependencies: @@ -11867,13 +11846,6 @@ __metadata: languageName: node linkType: hard -"array-equal@npm:^1.0.0": - version: 1.0.0 - resolution: "array-equal@npm:1.0.0" - checksum: 10c0/5841f0b823e6806d147d40e262a0f66cb7d3272b9f9ffa8dedb868fc7799cb410ae262a32f6f358baa6c3ee7d6271eeab86b516cdfd8f9a8fa12b4f15a18e119 - languageName: node - linkType: hard - "array-filter@npm:^1.0.0": version: 1.0.0 resolution: "array-filter@npm:1.0.0" @@ -12012,19 +11984,6 @@ __metadata: languageName: node linkType: hard -"array.prototype.reduce@npm:^1.0.5": - version: 1.0.5 - resolution: "array.prototype.reduce@npm:1.0.5" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.1.4" - es-abstract: "npm:^1.20.4" - es-array-method-boxes-properly: "npm:^1.0.0" - is-string: "npm:^1.0.7" - checksum: 10c0/0c6c589d22d6cda4a32458c6fd57a41f420a4fa6cd184a3f6fe7b507f457bc4a073aff6accd595bcd6ac29cad856e7ac306549f127acdb098f401eea13c54901 - languageName: node - linkType: hard - "array.prototype.tosorted@npm:^1.1.1": version: 1.1.1 resolution: "array.prototype.tosorted@npm:1.1.1" @@ -12168,13 +12127,6 @@ __metadata: languageName: node linkType: hard -"async-limiter@npm:~1.0.0": - version: 1.0.1 - resolution: "async-limiter@npm:1.0.1" - checksum: 10c0/0693d378cfe86842a70d4c849595a0bb50dc44c11649640ca982fa90cbfc74e3cc4753b5a0847e51933f2e9c65ce8e05576e75e5e1fd963a086e673735b35969 - languageName: node - linkType: hard - "async@npm:0.9.x": version: 0.9.2 resolution: "async@npm:0.9.2" @@ -12383,20 +12335,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^24.1.0, babel-jest@npm:^24.9.0": - version: 24.9.0 - resolution: "babel-jest@npm:24.9.0" +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" dependencies: - "@jest/transform": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - "@types/babel__core": "npm:^7.1.0" - babel-plugin-istanbul: "npm:^5.1.0" - babel-preset-jest: "npm:^24.9.0" - chalk: "npm:^2.4.2" - slash: "npm:^2.0.0" + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/18b7032614386287b35aef061232337c99610bf745d71009a180da5dc478db1fb110cbf6656dd3a425e3359d6c93651da3fda7346e4270879401411e238db4ab + "@babel/core": ^7.8.0 + checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 languageName: node linkType: hard @@ -12444,18 +12396,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^5.1.0": - version: 5.2.0 - resolution: "babel-plugin-istanbul@npm:5.2.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - find-up: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^3.3.0" - test-exclude: "npm:^5.2.3" - checksum: 10c0/0691eda883872913c01be6c0afa209c868fa538f12cafd2cd6b9271edbbbe9842ece42bbf51c55864f67b19aae294a69cfdd175b1a52a5f998bfe32d8859ec74 - languageName: node - linkType: hard - "babel-plugin-istanbul@npm:^6.1.1": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" @@ -12469,12 +12409,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^24.9.0": - version: 24.9.0 - resolution: "babel-plugin-jest-hoist@npm:24.9.0" +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" "@types/babel__traverse": "npm:^7.0.6" - checksum: 10c0/10f4a534d726c0471552f2df49b531f2d04e1503ed3d748707b1aac79aa709aa8c9d49129afc2d22ed75034046b783707872482f09e72a17cbc56e803ef45bde + checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e languageName: node linkType: hard @@ -12535,15 +12478,37 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^24.9.0": - version: 24.9.0 - resolution: "babel-preset-jest@npm:24.9.0" +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + dependencies: + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-bigint": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.8.3" + "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" dependencies: - "@babel/plugin-syntax-object-rest-spread": "npm:^7.0.0" - babel-plugin-jest-hoist: "npm:^24.9.0" + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b7c91e90d2a0a14cf93c756fce020c3dfecba940d7db3c0dbb3f6a14fe9cca1e2d8031f0cac1db3edc60dfcc40dda0dff009870609cb4ff31117f32332a5232d + checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 languageName: node linkType: hard @@ -12708,15 +12673,6 @@ __metadata: languageName: node linkType: hard -"bindings@npm:^1.5.0": - version: 1.5.0 - resolution: "bindings@npm:1.5.0" - dependencies: - file-uri-to-path: "npm:1.0.0" - checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba - languageName: node - linkType: hard - "bl@npm:^1.0.0": version: 1.2.3 resolution: "bl@npm:1.2.3" @@ -12952,22 +12908,6 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: 10c0/65da78e51e9d7fa5909147f269c54c65ae2e03d1cf797cc3cfbbe49f475578b8160ce4a76c36c1a2ffbff26c74f937d73096c508057491ddf1a6dfd11143f72d - languageName: node - linkType: hard - -"browser-resolve@npm:^1.11.3": - version: 1.11.3 - resolution: "browser-resolve@npm:1.11.3" - dependencies: - resolve: "npm:1.1.7" - checksum: 10c0/610e951be85f76b3090edbfcd6cf654d50361278c95d0afbb767abd9a2758b01ee1c3d3927dc6c0142ededcd4dae71b06a1a6ccf97375f1b17de224c03298a64 - languageName: node - linkType: hard - "browserify-zlib@npm:^0.1.4": version: 0.1.4 resolution: "browserify-zlib@npm:0.1.4" @@ -13555,15 +13495,6 @@ __metadata: languageName: node linkType: hard -"capture-exit@npm:^2.0.0": - version: 2.0.0 - resolution: "capture-exit@npm:2.0.0" - dependencies: - rsvp: "npm:^4.8.4" - checksum: 10c0/d68df1e15937809501644a49c0267ef323b5b6a0cae5c08bbdceafd718aa08241844798bfdd762cf6756bc2becd83122aabc25b5222192f18093113bec670617 - languageName: node - linkType: hard - "capture-stack-trace@npm:^1.0.0": version: 1.0.0 resolution: "capture-stack-trace@npm:1.0.0" @@ -13924,6 +13855,13 @@ __metadata: languageName: node linkType: hard +"cjs-module-lexer@npm:^1.0.0": + version: 1.3.1 + resolution: "cjs-module-lexer@npm:1.3.1" + checksum: 10c0/cd98fbf3c7f4272fb0ebf71d08d0c54bc75ce0e30b9d186114e15b4ba791f3d310af65a339eea2a0318599af2818cdd8886d353b43dfab94468f72987397ad16 + languageName: node + linkType: hard + "cjs-module-lexer@npm:^1.2.3": version: 1.2.3 resolution: "cjs-module-lexer@npm:1.2.3" @@ -14139,17 +14077,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^5.0.0": - version: 5.0.0 - resolution: "cliui@npm:5.0.0" - dependencies: - string-width: "npm:^3.1.0" - strip-ansi: "npm:^5.2.0" - wrap-ansi: "npm:^5.1.0" - checksum: 10c0/76142bf306965850a71efd10c9755bd7f447c7c20dd652e1c1ce27d987f862a3facb3cceb2909cef6f0cb363646ee7a1735e3dfdd49f29ed16d733d33e15e2f8 - languageName: node - linkType: hard - "cliui@npm:^6.0.0": version: 6.0.0 resolution: "cliui@npm:6.0.0" @@ -14388,6 +14315,13 @@ __metadata: languageName: node linkType: hard +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.2 + resolution: "collect-v8-coverage@npm:1.0.2" + checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 + languageName: node + linkType: hard + "collection-visit@npm:^1.0.0": version: 1.0.0 resolution: "collection-visit@npm:1.0.0" @@ -14545,6 +14479,15 @@ __metadata: languageName: node linkType: hard +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + "combined-stream@npm:~1.0.6": version: 1.0.7 resolution: "combined-stream@npm:1.0.7" @@ -14818,13 +14761,6 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.4.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b - languageName: node - linkType: hard - "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" @@ -15071,6 +15007,23 @@ __metadata: languageName: node linkType: hard +"create-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "create-jest@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + prompts: "npm:^2.0.1" + bin: + create-jest: bin/create-jest.js + checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f + languageName: node + linkType: hard + "cross-env@npm:^7.0.2": version: 7.0.2 resolution: "cross-env@npm:7.0.2" @@ -15604,19 +15557,12 @@ __metadata: languageName: node linkType: hard -"cssom@npm:0.3.x, cssom@npm:>= 0.3.2 < 0.4.0": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 10c0/d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^1.0.0": - version: 1.4.0 - resolution: "cssstyle@npm:1.4.0" +"cssstyle@npm:^4.0.1": + version: 4.0.1 + resolution: "cssstyle@npm:4.0.1" dependencies: - cssom: "npm:0.3.x" - checksum: 10c0/213df71e2f78d43608aca51d5eeb2dbcb6224fb7bb222e9f5d4c8b0d6abdca0681774642e4c35304a74d447178ca6b4f492685984491260cd286743b4fd88f27 + rrweb-cssom: "npm:^0.6.0" + checksum: 10c0/cadf9a8b23e11f4c6d63f21291096a0b0be868bd4ab9c799daa2c5b18330e39e5281605f01da906e901b42f742df0f3b3645af6465e83377ff7d15a88ee432a0 languageName: node linkType: hard @@ -15888,14 +15834,13 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^1.0.0": - version: 1.1.0 - resolution: "data-urls@npm:1.1.0" +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" dependencies: - abab: "npm:^2.0.0" - whatwg-mimetype: "npm:^2.2.0" - whatwg-url: "npm:^7.0.0" - checksum: 10c0/e52a315db00b85200c6b99f06af9d04c818347a6ab56055db4f40a86d901e4c0ed8e3a76f2a8e8a4ad13526208a5977cedf6bd787a21a5964a90b90b4244e51c + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad languageName: node linkType: hard @@ -16053,6 +15998,13 @@ __metadata: languageName: node linkType: hard +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + "decode-named-character-reference@npm:^1.0.0": version: 1.0.2 resolution: "decode-named-character-reference@npm:1.0.2" @@ -16094,6 +16046,18 @@ __metadata: languageName: node linkType: hard +"dedent@npm:^1.0.0": + version: 1.5.3 + resolution: "dedent@npm:1.5.3" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10c0/d94bde6e6f780be4da4fd760288fcf755ec368872f4ac5218197200d86430aeb8d90a003a840bff1c20221188e3f23adced0119cb811c6873c70d0ac66d12832 + languageName: node + linkType: hard + "deep-eql@npm:^4.1.3": version: 4.1.3 resolution: "deep-eql@npm:4.1.3" @@ -16373,6 +16337,13 @@ __metadata: languageName: node linkType: hard +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d + languageName: node + linkType: hard + "detect-node-es@npm:^1.1.0": version: 1.1.0 resolution: "detect-node-es@npm:1.1.0" @@ -16627,15 +16598,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^1.0.1": - version: 1.0.1 - resolution: "domexception@npm:1.0.1" - dependencies: - webidl-conversions: "npm:^4.0.2" - checksum: 10c0/2c8bae933ce9ebd03dd29a37ef4d5fc9e1bb2aebd987e016067f6f803def7b5a898ad9e414cf3a05caf3a685803bf63103230a9cda9b3f8b2e58dd7aff660726 - languageName: node - linkType: hard - "domhandler@npm:^2.3.0": version: 2.4.1 resolution: "domhandler@npm:2.4.1" @@ -16934,6 +16896,13 @@ __metadata: languageName: node linkType: hard +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 + languageName: node + linkType: hard + "emoji-regex@npm:^7.0.1": version: 7.0.3 resolution: "emoji-regex@npm:7.0.3" @@ -17311,7 +17280,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.20.4, es-abstract@npm:^1.21.2": +"es-abstract@npm:^1.20.4": version: 1.21.2 resolution: "es-abstract@npm:1.21.2" dependencies: @@ -17400,13 +17369,6 @@ __metadata: languageName: node linkType: hard -"es-array-method-boxes-properly@npm:^1.0.0": - version: 1.0.0 - resolution: "es-array-method-boxes-properly@npm:1.0.0" - checksum: 10c0/4b7617d3fbd460d6f051f684ceca6cf7e88e6724671d9480388d3ecdd72119ddaa46ca31f2c69c5426a82e4b3091c1e81867c71dcdc453565cd90005ff2c382d - languageName: node - linkType: hard - "es-get-iterator@npm:^1.1.3": version: 1.1.3 resolution: "es-get-iterator@npm:1.1.3" @@ -17660,25 +17622,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^1.9.1": - version: 1.14.3 - resolution: "escodegen@npm:1.14.3" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^4.2.0" - esutils: "npm:^2.0.2" - optionator: "npm:^0.8.1" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/30d337803e8f44308c90267bf6192399e4b44792497c77a7506b68ab802ba6a48ebbe1ce77b219aba13dfd2de5f5e1c267e35be1ed87b2a9c3315e8b283e302a - languageName: node - linkType: hard - "escodegen@npm:^2.1.0": version: 2.1.0 resolution: "escodegen@npm:2.1.0" @@ -17778,14 +17721,21 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^24.1.0": - version: 24.1.0 - resolution: "eslint-plugin-jest@npm:24.1.0" +"eslint-plugin-jest@npm:^28.5.0": + version: 28.5.0 + resolution: "eslint-plugin-jest@npm:28.5.0" dependencies: - "@typescript-eslint/experimental-utils": "npm:^4.0.1" + "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0" peerDependencies: - eslint: ">=5" - checksum: 10c0/0e27aab58adeb993df668477134e9cfe1ad7d3333f2f6bbb4c7fa6bb6126ec930b3ff652babaf3f7b713cfc2647bb1aa226591e49420c7ac2fe3974fdfcad5da + "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + jest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + jest: + optional: true + checksum: 10c0/c42944b894748226568ff7c3e4876760f1fd6d275eedac8bae89f514a5e52fea002c40004efdfdd819d94059a6306223ed1eafa87ee70b941857ec7a09c6bd30 languageName: node linkType: hard @@ -17926,15 +17876,6 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^2.0.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" - dependencies: - eslint-visitor-keys: "npm:^1.1.0" - checksum: 10c0/69521c5d6569384b24093125d037ba238d3d6e54367f7143af9928f5286369e912c26cad5016d730c0ffb9797ac9e83831059d7f1d863f7dc84330eb02414611 - languageName: node - linkType: hard - "eslint-utils@npm:^3.0.0": version: 3.0.0 resolution: "eslint-utils@npm:3.0.0" @@ -17967,6 +17908,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + "eslint@npm:^6.4.0": version: 6.8.0 resolution: "eslint@npm:6.8.0" @@ -18120,13 +18068,6 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^4.2.0": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d - languageName: node - linkType: hard - "estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": version: 5.2.0 resolution: "estraverse@npm:5.2.0" @@ -18290,13 +18231,6 @@ __metadata: languageName: node linkType: hard -"exec-sh@npm:^0.3.2": - version: 0.3.6 - resolution: "exec-sh@npm:0.3.6" - checksum: 10c0/de29ed40c263989ea151cfc8561c9a41a443185d1998b0ff7aee248323af3b46db3a1dc5341816297d0c02dca472b188640490aa4ba3cae017f531f98102607d - languageName: node - linkType: hard - "execa@npm:3.4.0": version: 3.4.0 resolution: "execa@npm:3.4.0" @@ -18452,17 +18386,16 @@ __metadata: languageName: node linkType: hard -"expect@npm:^24.9.0": - version: 24.9.0 - resolution: "expect@npm:24.9.0" +"expect@npm:^29.0.0, expect@npm:^29.7.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - ansi-styles: "npm:^3.2.0" - jest-get-type: "npm:^24.9.0" - jest-matcher-utils: "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-regex-util: "npm:^24.9.0" - checksum: 10c0/1844c4d94a3e3c97518596959ed2c43d680fdd9593d4a1c44216281925db3dcd2663ce26c012d66341d37c93a77cd8a18a636ca59970589a42cd345df7cc9151 + "@jest/expect-utils": "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 languageName: node linkType: hard @@ -18695,6 +18628,13 @@ __metadata: languageName: node linkType: hard +"fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + "fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" @@ -18880,13 +18820,6 @@ __metadata: languageName: node linkType: hard -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 - resolution: "file-uri-to-path@npm:1.0.0" - checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 - languageName: node - linkType: hard - "filelist@npm:^1.0.1": version: 1.0.1 resolution: "filelist@npm:1.0.1" @@ -19359,6 +19292,17 @@ __metadata: languageName: node linkType: hard +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + languageName: node + linkType: hard + "form-data@npm:~2.3.2": version: 2.3.2 resolution: "form-data@npm:2.3.2" @@ -19559,18 +19503,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^1.2.7": - version: 1.2.13 - resolution: "fsevents@npm:1.2.13" - dependencies: - bindings: "npm:^1.5.0" - nan: "npm:^2.12.1" - checksum: 10c0/4427ff08db9ee7327f2c3ad58ec56f9096a917eed861bfffaa2e2be419479cdf37d00750869ab9ecbf5f59f32ad999bd59577d73fc639193e6c0ce52bb253e02 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -19580,17 +19513,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^1.2.7#optional!builtin": - version: 1.2.13 - resolution: "fsevents@patch:fsevents@npm%3A1.2.13#optional!builtin::version=1.2.13&hash=d11327" - dependencies: - bindings: "npm:^1.5.0" - nan: "npm:^2.12.1" - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -20050,7 +19973,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": +"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -20491,13 +20414,6 @@ __metadata: languageName: node linkType: hard -"growly@npm:^1.3.0": - version: 1.3.0 - resolution: "growly@npm:1.3.0" - checksum: 10c0/3043bd5c064e87f89e8c9b66894ed09fd882c7fa645621a543b45b72f040c7241e25061207a858ab191be2fbdac34795ff57c2a40962b154a6b2908a5e509252 - languageName: node - linkType: hard - "gunzip-maybe@npm:^1.4.2": version: 1.4.2 resolution: "gunzip-maybe@npm:1.4.2" @@ -21168,12 +21084,12 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^1.0.2": - version: 1.0.2 - resolution: "html-encoding-sniffer@npm:1.0.2" +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" dependencies: - whatwg-encoding: "npm:^1.0.1" - checksum: 10c0/9fced981073a0e83ae73eac4fd1b92f707e0c6b0999007faf88340a3bd7fb862fc12dfcae5a3062e34543ec0f9adb15e19fc60d851a2a99993a76b5fec319862 + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 languageName: node linkType: hard @@ -21433,7 +21349,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -21534,7 +21450,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.4": version: 7.0.4 resolution: "https-proxy-agent@npm:7.0.4" dependencies: @@ -21599,7 +21515,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -21788,18 +21704,6 @@ __metadata: languageName: node linkType: hard -"import-local@npm:^2.0.0": - version: 2.0.0 - resolution: "import-local@npm:2.0.0" - dependencies: - pkg-dir: "npm:^3.0.0" - resolve-cwd: "npm:^2.0.0" - bin: - import-local-fixture: fixtures/cli.js - checksum: 10c0/68f2d9203d3760a836db97e917ea1793e865e0c5dd3749380ccaf52be907553febb0828f14c3169e66ba1a458d931b3cc5597cc9b623c7f79b395b0c3892601e - languageName: node - linkType: hard - "import-local@npm:^3.0.2": version: 3.1.0 resolution: "import-local@npm:3.1.0" @@ -22807,6 +22711,13 @@ __metadata: languageName: node linkType: hard +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 + languageName: node + linkType: hard + "is-promise@npm:^2.1.0": version: 2.1.0 resolution: "is-promise@npm:2.1.0" @@ -23200,13 +23111,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^2.0.2, istanbul-lib-coverage@npm:^2.0.5": - version: 2.0.5 - resolution: "istanbul-lib-coverage@npm:2.0.5" - checksum: 10c0/370bd6940532ea2737a85532870f3024b113774ce3e637438cccfaf979a7598aa29d342f4adcc3d73e306155c907b519bc1c5c6887a29234f605a1a472747821 - languageName: node - linkType: hard - "istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" @@ -23223,21 +23127,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-instrument@npm:^3.0.1, istanbul-lib-instrument@npm:^3.3.0": - version: 3.3.0 - resolution: "istanbul-lib-instrument@npm:3.3.0" - dependencies: - "@babel/generator": "npm:^7.4.0" - "@babel/parser": "npm:^7.4.3" - "@babel/template": "npm:^7.4.0" - "@babel/traverse": "npm:^7.4.3" - "@babel/types": "npm:^7.4.0" - istanbul-lib-coverage: "npm:^2.0.5" - semver: "npm:^6.0.0" - checksum: 10c0/988eb9d58ae0ae69686369f6809a610f6f8db5c5f73931a496b02b941da56cfc176f84af0dd8db819ad2e6aca6dc2f38c91a288f1c6a3f79cfb10320180e998d - languageName: node - linkType: hard - "istanbul-lib-instrument@npm:^4.0.0": version: 4.0.3 resolution: "istanbul-lib-instrument@npm:4.0.3" @@ -23263,6 +23152,19 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.2 + resolution: "istanbul-lib-instrument@npm:6.0.2" + dependencies: + "@babel/core": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@istanbuljs/schema": "npm:^0.1.3" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^7.5.4" + checksum: 10c0/405c6ac037bf8c7ee7495980b0cd5544b2c53078c10534d0c9ceeb92a9ea7dcf8510f58ccfce31336458a8fa6ccef27b570bbb602abaa8c1650f5496a807477c + languageName: node + linkType: hard + "istanbul-lib-processinfo@npm:^2.0.2": version: 2.0.2 resolution: "istanbul-lib-processinfo@npm:2.0.2" @@ -23278,17 +23180,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-report@npm:^2.0.4": - version: 2.0.8 - resolution: "istanbul-lib-report@npm:2.0.8" - dependencies: - istanbul-lib-coverage: "npm:^2.0.5" - make-dir: "npm:^2.1.0" - supports-color: "npm:^6.1.0" - checksum: 10c0/6c3907620a4ff9ec03ce58b325df0be551daf911c54f1e2d732ef310e9bc7b39ac57214736322e24241422ad8e8ab2780fea41a3f0a5238cbdcf7d3db8d6f956 - languageName: node - linkType: hard - "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -23300,19 +23191,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^3.0.1": - version: 3.0.6 - resolution: "istanbul-lib-source-maps@npm:3.0.6" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^2.0.5" - make-dir: "npm:^2.1.0" - rimraf: "npm:^2.6.3" - source-map: "npm:^0.6.1" - checksum: 10c0/0d2c0e6b301fd964d74137000b7f949d18856ad6e40e065a9f28eec041b33b901e3ff6f4f61505230558b26a1be0be044ae2e2bd6c692a9a7985e762fb300722 - languageName: node - linkType: hard - "istanbul-lib-source-maps@npm:^4.0.0": version: 4.0.0 resolution: "istanbul-lib-source-maps@npm:4.0.0" @@ -23324,22 +23202,23 @@ __metadata: languageName: node linkType: hard -"istanbul-reports@npm:^2.2.6": - version: 2.2.7 - resolution: "istanbul-reports@npm:2.2.7" +"istanbul-reports@npm:^3.0.2": + version: 3.0.3 + resolution: "istanbul-reports@npm:3.0.3" dependencies: html-escaper: "npm:^2.0.0" - checksum: 10c0/cf6fd9992a65dc9167f8fbe336cd2b9aa108ecc8b97653ea87c9eb3db283e9c40f9333e588629c771bfebff124e6f922dddeef9b6fcbe13385c536f860e86ae4 + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/3ce1fa6639de579c49a752c6ce9fd786341d8717ed2e69b7dde7da41825a449adba37e806eeb8cd1d6cdbc776ada81f77828e502f106d7420b61f84e613b42d1 languageName: node linkType: hard -"istanbul-reports@npm:^3.0.2": - version: 3.0.3 - resolution: "istanbul-reports@npm:3.0.3" +"istanbul-reports@npm:^3.1.3": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" dependencies: html-escaper: "npm:^2.0.0" istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/3ce1fa6639de579c49a752c6ce9fd786341d8717ed2e69b7dde7da41825a449adba37e806eeb8cd1d6cdbc776ada81f77828e502f106d7420b61f84e613b42d1 + checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 languageName: node linkType: hard @@ -23418,66 +23297,110 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-changed-files@npm:24.9.0" +"jest-changed-files@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-changed-files@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - execa: "npm:^1.0.0" - throat: "npm:^4.0.0" - checksum: 10c0/61ead4b106108300f43beb3863a6c747c72ea841e06835412764fbad4a50eb015db618ac6f23906a5d11dd2a7b997d14fd7ad0a0c59c89133fc139ca3bd777c8 + execa: "npm:^5.0.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b languageName: node linkType: hard -"jest-cli@npm:^24.1.0, jest-cli@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-cli@npm:24.9.0" +"jest-circus@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-circus@npm:29.7.0" dependencies: - "@jest/core": "npm:^24.9.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - chalk: "npm:^2.0.1" + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + co: "npm:^4.6.0" + dedent: "npm:^1.0.0" + is-generator-fn: "npm:^2.0.0" + jest-each: "npm:^29.7.0" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + pure-rand: "npm:^6.0.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e + languageName: node + linkType: hard + +"jest-cli@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-cli@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + create-jest: "npm:^29.7.0" exit: "npm:^0.1.2" - import-local: "npm:^2.0.0" - is-ci: "npm:^2.0.0" - jest-config: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-validate: "npm:^24.9.0" - prompts: "npm:^2.0.1" - realpath-native: "npm:^1.1.0" - yargs: "npm:^13.3.0" + import-local: "npm:^3.0.2" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + yargs: "npm:^17.3.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: - jest: ./bin/jest.js - checksum: 10c0/b5409c2abfaaf402bcf1ed1e8bb46a209459b9b9537b258a399b4c0561c62747597500e4a8c7375d4e351dafbb8b2136f5aa7b1803e3803995bc3ad15c419296 + jest: bin/jest.js + checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a languageName: node linkType: hard -"jest-config@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-config@npm:24.9.0" +"jest-config@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-config@npm:29.7.0" dependencies: - "@babel/core": "npm:^7.1.0" - "@jest/test-sequencer": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - babel-jest: "npm:^24.9.0" - chalk: "npm:^2.0.1" - glob: "npm:^7.1.1" - jest-environment-jsdom: "npm:^24.9.0" - jest-environment-node: "npm:^24.9.0" - jest-get-type: "npm:^24.9.0" - jest-jasmine2: "npm:^24.9.0" - jest-regex-util: "npm:^24.3.0" - jest-resolve: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-validate: "npm:^24.9.0" - micromatch: "npm:^3.1.10" - pretty-format: "npm:^24.9.0" - realpath-native: "npm:^1.1.0" - checksum: 10c0/3df880c16b4cedd93d37f80c43563f1cb85a695d2ec775ce98b9e4784694422de30da1a755a9bf030629204a0610c45e2fcdeeda9d5675383ce0da7decf00cff + "@babel/core": "npm:^7.11.6" + "@jest/test-sequencer": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-jest: "npm:^29.7.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + deepmerge: "npm:^4.2.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-circus: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + parse-json: "npm:^5.2.0" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-json-comments: "npm:^3.1.1" + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 languageName: node linkType: hard -"jest-diff@npm:^24.3.0, jest-diff@npm:^24.9.0": +"jest-diff@npm:^24.3.0": version: 24.9.0 resolution: "jest-diff@npm:24.9.0" dependencies: @@ -23489,6 +23412,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + "jest-docblock@npm:23.2.0": version: 23.2.0 resolution: "jest-docblock@npm:23.2.0" @@ -23498,52 +23433,60 @@ __metadata: languageName: node linkType: hard -"jest-docblock@npm:^24.3.0": - version: 24.9.0 - resolution: "jest-docblock@npm:24.9.0" +"jest-docblock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-docblock@npm:29.7.0" dependencies: - detect-newline: "npm:^2.1.0" - checksum: 10c0/295a050129c906696723976968eebd516f0e20fd48cb792dd37e57402ffd0474a120ea4df47566d9dcee1c9db898323b375edf5686a46c545425c468925b288f + detect-newline: "npm:^3.0.0" + checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 languageName: node linkType: hard -"jest-each@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-each@npm:24.9.0" +"jest-each@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-each@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - chalk: "npm:^2.0.1" - jest-get-type: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - pretty-format: "npm:^24.9.0" - checksum: 10c0/f3e2a0115af1c1508e7772d35ce486c51ade8afa90fd2e5bfc401013183439228bd8e3e695dffb0dd2b024e30f8d3db6e167f8b1523fb97ba60af4274e6386cd + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 languageName: node linkType: hard -"jest-environment-jsdom@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-environment-jsdom@npm:24.9.0" +"jest-environment-jsdom@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-jsdom@npm:29.7.0" dependencies: - "@jest/environment": "npm:^24.9.0" - "@jest/fake-timers": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - jest-mock: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jsdom: "npm:^11.5.1" - checksum: 10c0/1f428e495000a8e221a11aa43e33dbb8d8073bcd5aa218b08652b12b9c6d39e7f56de1525e14b5c141d76c53fa07b62a6492e307f2513592f27556ac9913d437 + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/jsdom": "npm:^20.0.0" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jsdom: "npm:^20.0.0" + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10c0/139b94e2c8ec1bb5a46ce17df5211da65ce867354b3fd4e00fa6a0d1da95902df4cf7881273fc6ea937e5c325d39d6773f0d41b6c469363334de9d489d2c321f languageName: node linkType: hard -"jest-environment-node@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-environment-node@npm:24.9.0" +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" dependencies: - "@jest/environment": "npm:^24.9.0" - "@jest/fake-timers": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - jest-mock: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - checksum: 10c0/6ea9c6e7a3ab12e04fa0931e00daa32984cc3698628499f734c13af9790ffef1bb591a6dd00e10e141286efc850df83dc329d7ce216b602285e471f26b222e05 + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b languageName: node linkType: hard @@ -23554,101 +23497,87 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-haste-map@npm:24.9.0" +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - anymatch: "npm:^2.0.0" + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" fb-watchman: "npm:^2.0.0" - fsevents: "npm:^1.2.7" - graceful-fs: "npm:^4.1.15" - invariant: "npm:^2.2.4" - jest-serializer: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-worker: "npm:^24.9.0" - micromatch: "npm:^3.1.10" - sane: "npm:^4.0.3" - walker: "npm:^1.0.7" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" dependenciesMeta: fsevents: optional: true - checksum: 10c0/734e52354c95d1982eb4a40e9663119952bd17364b67dcf9757893956c4d3a370199531c29cab70636ab005582172b89d46553cc0afedfd343a7600b4913a81e + checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c languageName: node linkType: hard -"jest-jasmine2@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-jasmine2@npm:24.9.0" - dependencies: - "@babel/traverse": "npm:^7.1.0" - "@jest/environment": "npm:^24.9.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - chalk: "npm:^2.0.1" - co: "npm:^4.6.0" - expect: "npm:^24.9.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^24.9.0" - jest-matcher-utils: "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-runtime: "npm:^24.9.0" - jest-snapshot: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - pretty-format: "npm:^24.9.0" - throat: "npm:^4.0.0" - checksum: 10c0/3491e9c8322358f18c0e9a8e2d99873512023b4b5eb0e8f5afc3df7a7d5c3fd0429c67cb1f5e470bc42cf33cb3d6745245d8c08b4da0e1cb69e7b647ed3d34a9 - languageName: node - linkType: hard - -"jest-leak-detector@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-leak-detector@npm:24.9.0" +"jest-leak-detector@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-leak-detector@npm:29.7.0" dependencies: - jest-get-type: "npm:^24.9.0" - pretty-format: "npm:^24.9.0" - checksum: 10c0/3d6cef76477d4ba6ef0d279d697708ed5f3e7d1ae45dc77fef69ea8afb115457e39dff4f71cac21febf0ecdf3639aa49e37bd05a6dedc4ff92116c6dccef1f2a + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 languageName: node linkType: hard -"jest-matcher-utils@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-matcher-utils@npm:24.9.0" +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" dependencies: - chalk: "npm:^2.0.1" - jest-diff: "npm:^24.9.0" - jest-get-type: "npm:^24.9.0" - pretty-format: "npm:^24.9.0" - checksum: 10c0/f5cd624d22d77a105267cf6c50bec0dcf2627ccd385d461e8cf6a0a8a97ca8ecb0a6f2f4282f43a4c55bb5bc9047fa77e0e7a04bfb07a80f153a045bf5b1b57f + chalk: "npm:^4.0.0" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e languageName: node linkType: hard -"jest-message-util@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-message-util@npm:24.9.0" +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" dependencies: - "@babel/code-frame": "npm:^7.0.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - "@types/stack-utils": "npm:^1.0.1" - chalk: "npm:^2.0.1" - micromatch: "npm:^3.1.10" - slash: "npm:^2.0.0" - stack-utils: "npm:^1.0.1" - checksum: 10c0/24d0d5bae7bf580179446def5c6a3b1c6ea727b39464d84388393b1b7e653beeac7f2dd3a9fe57d31e780d5555eaf9ed1cf224c3437f3b270c32e7ca37db0013 + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 languageName: node linkType: hard -"jest-mock@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-mock@npm:24.9.0" +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - checksum: 10c0/a06ae0e76b0d270806e45298fdc9d637fe21d0e0efa8254845ac19a39b7d70a248a6f84b0341f36b2e062e9f225a0ee6ce68c1bdedb5f3a56635585ef8d6beb4 + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac languageName: node linkType: hard -"jest-pnp-resolver@npm:^1.2.1": +"jest-pnp-resolver@npm:^1.2.2": version: 1.2.3 resolution: "jest-pnp-resolver@npm:1.2.3" peerDependencies: @@ -23660,142 +23589,124 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^24.3.0, jest-regex-util@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-regex-util@npm:24.9.0" - checksum: 10c0/6a4dfda09d47c486eaeafafd2d836bdfc3dbeccef7d3e11d3a230f27078accbe51b694bc64d9efb7654d7f5acaa6ba70416d99d4ec97d33e452aa856d2cda03a +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b languageName: node linkType: hard -"jest-resolve-dependencies@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-resolve-dependencies@npm:24.9.0" +"jest-resolve-dependencies@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve-dependencies@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - jest-regex-util: "npm:^24.3.0" - jest-snapshot: "npm:^24.9.0" - checksum: 10c0/22c90dc8652b582e55913b1a7ce642d9f9032bcadeaf535b86e3cd7fc885e48a26ec39f8b8a027fbb2d2c7dc71ae4393163b8132dd53d03b1002763e7305f07d + jest-regex-util: "npm:^29.6.3" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d languageName: node linkType: hard -"jest-resolve@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-resolve@npm:24.9.0" +"jest-resolve@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - browser-resolve: "npm:^1.11.3" - chalk: "npm:^2.0.1" - jest-pnp-resolver: "npm:^1.2.1" - realpath-native: "npm:^1.1.0" - checksum: 10c0/2cd4c0abdd3899d237e93ddfe2473c084bb55bb5c03c1415e61218330c8f07ca516804cc43aaf04d0e0c0079f6d4c77b34d9e3396cb9ce86ae515970c58a4778 + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-pnp-resolver: "npm:^1.2.2" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + resolve: "npm:^1.20.0" + resolve.exports: "npm:^2.0.0" + slash: "npm:^3.0.0" + checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 languageName: node linkType: hard -"jest-runner@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-runner@npm:24.9.0" - dependencies: - "@jest/console": "npm:^24.7.1" - "@jest/environment": "npm:^24.9.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - chalk: "npm:^2.4.2" - exit: "npm:^0.1.2" - graceful-fs: "npm:^4.1.15" - jest-config: "npm:^24.9.0" - jest-docblock: "npm:^24.3.0" - jest-haste-map: "npm:^24.9.0" - jest-jasmine2: "npm:^24.9.0" - jest-leak-detector: "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-resolve: "npm:^24.9.0" - jest-runtime: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-worker: "npm:^24.6.0" - source-map-support: "npm:^0.5.6" - throat: "npm:^4.0.0" - checksum: 10c0/09a3f969d0fa75bc67ff9b3424d6d4a7d74c393868d6782db7485cee0d334f6d56a4e50fb06ff9a28f6102a09a84a402a5bfacf37725786e9112d4b0e9f1bb4b - languageName: node - linkType: hard - -"jest-runtime@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-runtime@npm:24.9.0" +"jest-runner@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runner@npm:29.7.0" dependencies: - "@jest/console": "npm:^24.7.1" - "@jest/environment": "npm:^24.9.0" - "@jest/source-map": "npm:^24.3.0" - "@jest/transform": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - "@types/yargs": "npm:^13.0.0" - chalk: "npm:^2.0.1" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.1.15" - jest-config: "npm:^24.9.0" - jest-haste-map: "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-mock: "npm:^24.9.0" - jest-regex-util: "npm:^24.3.0" - jest-resolve: "npm:^24.9.0" - jest-snapshot: "npm:^24.9.0" - jest-util: "npm:^24.9.0" - jest-validate: "npm:^24.9.0" - realpath-native: "npm:^1.1.0" - slash: "npm:^2.0.0" - strip-bom: "npm:^3.0.0" - yargs: "npm:^13.3.0" - bin: - jest-runtime: ./bin/jest-runtime.js - checksum: 10c0/7115541f172d4b8eb53429ba70708788c3594388f1941e0f96c7b318e8730fdb5056cdb764dfc1941aeb6ca971424b39608108c218ed38f6c09cb3d8977732e9 + "@jest/console": "npm:^29.7.0" + "@jest/environment": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + graceful-fs: "npm:^4.2.9" + jest-docblock: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-leak-detector: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-resolve: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + source-map-support: "npm:0.5.13" + checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 languageName: node linkType: hard -"jest-serializer@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-serializer@npm:24.9.0" - checksum: 10c0/9f871cdd08750f1b9f5aef0e8ba58d2045863b4ff2268dd50f3e6d666b6eb5a9a45dad9c6dfad9d2ab2d148f78d11e2ef29d28be85b31a4e8068c718d449f623 +"jest-runtime@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runtime@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/globals": "npm:^29.7.0" + "@jest/source-map": "npm:^29.6.3" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + cjs-module-lexer: "npm:^1.0.0" + collect-v8-coverage: "npm:^1.0.0" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-bom: "npm:^4.0.0" + checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 languageName: node linkType: hard -"jest-snapshot@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-snapshot@npm:24.9.0" - dependencies: - "@babel/types": "npm:^7.0.0" - "@jest/types": "npm:^24.9.0" - chalk: "npm:^2.0.1" - expect: "npm:^24.9.0" - jest-diff: "npm:^24.9.0" - jest-get-type: "npm:^24.9.0" - jest-matcher-utils: "npm:^24.9.0" - jest-message-util: "npm:^24.9.0" - jest-resolve: "npm:^24.9.0" - mkdirp: "npm:^0.5.1" +"jest-snapshot@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-snapshot@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@babel/generator": "npm:^7.7.2" + "@babel/plugin-syntax-jsx": "npm:^7.7.2" + "@babel/plugin-syntax-typescript": "npm:^7.7.2" + "@babel/types": "npm:^7.3.3" + "@jest/expect-utils": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + chalk: "npm:^4.0.0" + expect: "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" natural-compare: "npm:^1.4.0" - pretty-format: "npm:^24.9.0" - semver: "npm:^6.2.0" - checksum: 10c0/1631108e7dfc82585005a5e14b5e0778bdb756f1435c34142a229fa7cde3b965767ed4ad84f915e81bd33a7b821da5b5755c30e13e5280c048817a9c9423d6c3 - languageName: node - linkType: hard - -"jest-util@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-util@npm:24.9.0" - dependencies: - "@jest/console": "npm:^24.9.0" - "@jest/fake-timers": "npm:^24.9.0" - "@jest/source-map": "npm:^24.9.0" - "@jest/test-result": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - callsites: "npm:^3.0.0" - chalk: "npm:^2.0.1" - graceful-fs: "npm:^4.1.15" - is-ci: "npm:^2.0.0" - mkdirp: "npm:^0.5.1" - slash: "npm:^2.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/80bd56f09be4d9d6519b24f8b902f434cefbb1cdc8521bf2f32995a4e9f5abecc88a6172c31494b88df3cd2df3db5daf86271c4f200856aa7dd216e2a69f20fc + pretty-format: "npm:^29.7.0" + semver: "npm:^7.5.3" + checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 languageName: node linkType: hard @@ -23813,42 +23724,33 @@ __metadata: languageName: node linkType: hard -"jest-validate@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-validate@npm:24.9.0" +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" dependencies: - "@jest/types": "npm:^24.9.0" - camelcase: "npm:^5.3.1" - chalk: "npm:^2.0.1" - jest-get-type: "npm:^24.9.0" + "@jest/types": "npm:^29.6.3" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" leven: "npm:^3.1.0" - pretty-format: "npm:^24.9.0" - checksum: 10c0/ed34bb40c758bd0287e1f8563b9589dd056ceb22cbb3e93fcfe0421100aaca7c14db511d6555fae5fdacf9948b10fc69620e5b0d3a3dfbdb62acbb27f9e7ee86 - languageName: node - linkType: hard - -"jest-watcher@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-watcher@npm:24.9.0" - dependencies: - "@jest/test-result": "npm:^24.9.0" - "@jest/types": "npm:^24.9.0" - "@types/yargs": "npm:^13.0.0" - ansi-escapes: "npm:^3.0.0" - chalk: "npm:^2.0.1" - jest-util: "npm:^24.9.0" - string-length: "npm:^2.0.0" - checksum: 10c0/5aeffd74f4fc6fba6d31c3b6cfc03ae62d0db23583832b9929ad8e77a7cdb6e6727f197e6a55e8182b3726665bd7f444636713510bc47c8aeae3316f22851c6a + pretty-format: "npm:^29.7.0" + checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 languageName: node linkType: hard -"jest-worker@npm:^24.6.0, jest-worker@npm:^24.9.0": - version: 24.9.0 - resolution: "jest-worker@npm:24.9.0" +"jest-watcher@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-watcher@npm:29.7.0" dependencies: - merge-stream: "npm:^2.0.0" - supports-color: "npm:^6.1.0" - checksum: 10c0/ea9f4751976d08807d33598244e6c3a60ce5889cdabf1f4e6f3e57dddcf2190978e6284f0865326f64e93677cebac53220d71a52e57d1205c467c6f09efa8bc2 + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + jest-util: "npm:^29.7.0" + string-length: "npm:^4.0.1" + checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 languageName: node linkType: hard @@ -23863,7 +23765,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.4.3": +"jest-worker@npm:^29.4.3, jest-worker@npm:^29.7.0": version: 29.7.0 resolution: "jest-worker@npm:29.7.0" dependencies: @@ -23875,15 +23777,22 @@ __metadata: languageName: node linkType: hard -"jest@npm:^24.1.0": - version: 24.9.0 - resolution: "jest@npm:24.9.0" +"jest@npm:^29.7.0": + version: 29.7.0 + resolution: "jest@npm:29.7.0" dependencies: - import-local: "npm:^2.0.0" - jest-cli: "npm:^24.9.0" + "@jest/core": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + import-local: "npm:^3.0.2" + jest-cli: "npm:^29.7.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true bin: - jest: ./bin/jest.js - checksum: 10c0/7ee16e7d96f7d110574ff6a5d1e7e6ab43534a2f161352a98c2cf04402e1c895e1353ce482477bf8d337c98fce92510a220dcc8435fe5e6c191bd6f348631319 + jest: bin/jest.js + checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b languageName: node linkType: hard @@ -24008,37 +23917,37 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^11.5.1": - version: 11.12.0 - resolution: "jsdom@npm:11.12.0" - dependencies: - abab: "npm:^2.0.0" - acorn: "npm:^5.5.3" - acorn-globals: "npm:^4.1.0" - array-equal: "npm:^1.0.0" - cssom: "npm:>= 0.3.2 < 0.4.0" - cssstyle: "npm:^1.0.0" - data-urls: "npm:^1.0.0" - domexception: "npm:^1.0.1" - escodegen: "npm:^1.9.1" - html-encoding-sniffer: "npm:^1.0.2" - left-pad: "npm:^1.3.0" - nwsapi: "npm:^2.0.7" - parse5: "npm:4.0.0" - pn: "npm:^1.1.0" - request: "npm:^2.87.0" - request-promise-native: "npm:^1.0.5" - sax: "npm:^1.2.4" - symbol-tree: "npm:^3.2.2" - tough-cookie: "npm:^2.3.4" - w3c-hr-time: "npm:^1.0.1" - webidl-conversions: "npm:^4.0.2" - whatwg-encoding: "npm:^1.0.3" - whatwg-mimetype: "npm:^2.1.0" - whatwg-url: "npm:^6.4.1" - ws: "npm:^5.2.0" - xml-name-validator: "npm:^3.0.0" - checksum: 10c0/a909aa35527a337a55ddd66f99a0993d24e5a42ce5ef1ae0724a5fef5c9b4799f763dfd65d33798ca1feb83c604716aa054241e2b4b2274de2caa9566156566a +"jsdom@npm:24.1.0": + version: 24.1.0 + resolution: "jsdom@npm:24.1.0" + dependencies: + cssstyle: "npm:^4.0.1" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.4.3" + form-data: "npm:^4.0.0" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.4" + is-potential-custom-element-name: "npm:^1.0.1" + nwsapi: "npm:^2.2.10" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.7.0" + saxes: "npm:^6.0.0" + symbol-tree: "npm:^3.2.4" + tough-cookie: "npm:^4.1.4" + w3c-xmlserializer: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + ws: "npm:^8.17.0" + xml-name-validator: "npm:^5.0.0" + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10c0/34eadd8a7ae20c1505abe7a0f3988b2f0881cce7e27d75c4f5224f440f81f8ac08f4f449695b0f4178f048ed1c1709f3594e9d3f2fe0406c28e8da6eddd44f5a languageName: node linkType: hard @@ -24447,13 +24356,6 @@ __metadata: languageName: node linkType: hard -"left-pad@npm:^1.3.0": - version: 1.3.0 - resolution: "left-pad@npm:1.3.0" - checksum: 10c0/3fb59c76e281a2f5c810ad71dbbb8eba8b10c6cf94733dc7f27b8c516a5376cacea53543e76f6ae477d866c8954b27f1e15ca349424c2542474eb5bb1d2b6955 - languageName: node - linkType: hard - "leven@npm:2.1.0, leven@npm:^2.1.0": version: 2.1.0 resolution: "leven@npm:2.1.0" @@ -24729,13 +24631,6 @@ __metadata: languageName: node linkType: hard -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 - languageName: node - linkType: hard - "lodash.toarray@npm:^4.4.0": version: 4.4.0 resolution: "lodash.toarray@npm:4.4.0" @@ -26302,7 +26197,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": +"micromatch@npm:^3.1.10": version: 3.1.10 resolution: "micromatch@npm:3.1.10" dependencies: @@ -26548,7 +26443,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.1.1, minimist@npm:^1.2.7, minimist@npm:^1.2.8": +"minimist@npm:^1.2.7, minimist@npm:^1.2.8": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -26942,15 +26837,6 @@ __metadata: languageName: node linkType: hard -"nan@npm:^2.12.1": - version: 2.17.0 - resolution: "nan@npm:2.17.0" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/4a231a62dba025f4c4fa814c1e6ffeb450c5cd0852b780f19fe4ea22b86ba0f1f394406dfd628c67fb7f0987e982fa230da1fbd3632258f927b8defd7046c1ad - languageName: node - linkType: hard - "nanoid@npm:^2.1.0": version: 2.1.11 resolution: "nanoid@npm:2.1.11" @@ -27188,19 +27074,6 @@ __metadata: languageName: node linkType: hard -"node-notifier@npm:^5.4.2": - version: 5.4.5 - resolution: "node-notifier@npm:5.4.5" - dependencies: - growly: "npm:^1.3.0" - is-wsl: "npm:^1.1.0" - semver: "npm:^5.5.0" - shellwords: "npm:^0.1.1" - which: "npm:^1.3.0" - checksum: 10c0/c1c93a88892d530b0071c331e2103c35cf2a1ccc0efb3ff52aebbc327fedd48bc9ea092aaf2fedac2baf8da064c33afce19e40467fd30241e1e4ed2ab7539355 - languageName: node - linkType: hard - "node-preload@npm:^0.2.1": version: 0.2.1 resolution: "node-preload@npm:0.2.1" @@ -27294,15 +27167,6 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^2.1.1": - version: 2.1.1 - resolution: "normalize-path@npm:2.1.1" - dependencies: - remove-trailing-separator: "npm:^1.0.1" - checksum: 10c0/db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b - languageName: node - linkType: hard - "normalize-range@npm:^0.1.2": version: 0.1.2 resolution: "normalize-range@npm:0.1.2" @@ -27596,10 +27460,10 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.0.7": - version: 2.2.4 - resolution: "nwsapi@npm:2.2.4" - checksum: 10c0/d6d297feed79e0fc984e7a9588fe20255a493c0645f35a3419b04662535311cc38126fa12d8e1a5ae8f18cc0de0ec0d36680e03fab44050f7117e0503ecc9c38 +"nwsapi@npm:^2.2.10": + version: 2.2.10 + resolution: "nwsapi@npm:2.2.10" + checksum: 10c0/43dfa150387bd2a578e37556d0ae3330d5617f99e5a7b64e3400d4c2785620762aa6169caf8f5fbce17b7ef29c372060b602594320c374fba0a39da4163d77ed languageName: node linkType: hard @@ -27804,19 +27668,6 @@ __metadata: languageName: node linkType: hard -"object.getownpropertydescriptors@npm:^2.1.6": - version: 2.1.6 - resolution: "object.getownpropertydescriptors@npm:2.1.6" - dependencies: - array.prototype.reduce: "npm:^1.0.5" - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.21.2" - safe-array-concat: "npm:^1.0.0" - checksum: 10c0/9c401557a1cd47d873810b8df61dba350bc39848753180a2c7bdc8b9a67907b7c12e5aa9318fde7fe68d3b62c88b9cbd729b3cc8bbdf02655619b9d2a99b5c2a - languageName: node - linkType: hard - "object.hasown@npm:^1.1.2": version: 1.1.2 resolution: "object.hasown@npm:1.1.2" @@ -27983,7 +27834,7 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.8.1, optionator@npm:^0.8.3": +"optionator@npm:^0.8.3": version: 0.8.3 resolution: "optionator@npm:0.8.3" dependencies: @@ -28141,15 +27992,6 @@ __metadata: languageName: node linkType: hard -"p-each-series@npm:^1.0.0": - version: 1.0.0 - resolution: "p-each-series@npm:1.0.0" - dependencies: - p-reduce: "npm:^1.0.0" - checksum: 10c0/ee183521fedf272ee0aaab3497cf2e8188bb8dc9046b51a929b3f9161c2f7fd3e148af6c1903d82c9fdaf83547c7d426e0302fe2df731616921bedf76ccff46a - languageName: node - linkType: hard - "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -28205,6 +28047,15 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + "p-limit@npm:^4.0.0": version: 4.0.0 resolution: "p-limit@npm:4.0.0" @@ -28287,13 +28138,6 @@ __metadata: languageName: node linkType: hard -"p-reduce@npm:^1.0.0": - version: 1.0.0 - resolution: "p-reduce@npm:1.0.0" - checksum: 10c0/dc0bd6fdcca7c317ea84a91f06bd2da2a809a7a48ed35a5d642731f3b3b1d37338b3ab31fd40d34932cb19a6479a4a2585f4ffb5aee4fdf7fe1bc663af5a1061 - languageName: node - linkType: hard - "p-retry@npm:^4.5.0": version: 4.6.2 resolution: "p-retry@npm:4.6.2" @@ -28665,13 +28509,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:4.0.0": - version: 4.0.0 - resolution: "parse5@npm:4.0.0" - checksum: 10c0/59e240aaea30d9668ba711e35367fe696d8ffadb5a8f1bb4afe8f3d4f47ac26dcfe9e35a8a6ab34e6504b3afe465b7bec302b6bbe0dd6cb13bd1c212b699d9db - languageName: node - linkType: hard - "parse5@npm:^3.0.1": version: 3.0.3 resolution: "parse5@npm:3.0.3" @@ -28688,7 +28525,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0": +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -29009,14 +28846,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1": - version: 4.0.5 - resolution: "pirates@npm:4.0.5" - checksum: 10c0/58b6ff0f137a3d70ff34ac4802fd19819cdc19b53e9c95adecae6c7cfc77719a11f561ad85d46e79e520ef57c31145a564c8bc3bee8cfee75d441fab2928a51d - languageName: node - linkType: hard - -"pirates@npm:^4.0.6": +"pirates@npm:^4.0.4, pirates@npm:^4.0.6": version: 4.0.6 resolution: "pirates@npm:4.0.6" checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 @@ -29095,13 +28925,6 @@ __metadata: languageName: node linkType: hard -"pn@npm:^1.1.0": - version: 1.1.0 - resolution: "pn@npm:1.1.0" - checksum: 10c0/d844a08d8f0952033f4824072487310e9c9941264968c14411d8f1089d51a60f26ca4866b5a4ecac4d1d12487158dcba75ed2009126c37e4e8efd8080a2cc7c0 - languageName: node - linkType: hard - "pngjs@npm:^3.3.3": version: 3.4.0 resolution: "pngjs@npm:3.4.0" @@ -30253,7 +30076,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.7.0": +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": version: 29.7.0 resolution: "pretty-format@npm:29.7.0" dependencies: @@ -30604,6 +30427,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + "pupa@npm:^2.1.1": version: 2.1.1 resolution: "pupa@npm:2.1.1" @@ -30622,6 +30452,13 @@ __metadata: languageName: node linkType: hard +"pure-rand@npm:^6.0.0": + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 + languageName: node + linkType: hard + "q@npm:^1.1.2": version: 1.5.1 resolution: "q@npm:1.5.1" @@ -31565,16 +31402,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^4.0.0": - version: 4.0.0 - resolution: "read-pkg-up@npm:4.0.0" - dependencies: - find-up: "npm:^3.0.0" - read-pkg: "npm:^3.0.0" - checksum: 10c0/c889c5bd9a4de84bfb5234ed7e5450b90cf83d05a25025ba04cfe3e1f12302e689d5c445b1c67cc564fbd7e1b931f638fea0299a188e1fd36eac183a1167b533 - languageName: node - linkType: hard - "read-pkg-up@npm:^5.0.0": version: 5.0.0 resolution: "read-pkg-up@npm:5.0.0" @@ -31699,15 +31526,6 @@ __metadata: languageName: node linkType: hard -"realpath-native@npm:^1.1.0": - version: 1.1.0 - resolution: "realpath-native@npm:1.1.0" - dependencies: - util.promisify: "npm:^1.0.0" - checksum: 10c0/8211c9d7046266ef1f504a8fc11d4dacaff9b5e915756993157d6dd3c112f2f4c5ece6c18732f1970c2bd8d49015fb0d4d8c75cd934f4354160360b74548ddb5 - languageName: node - linkType: hard - "recast@npm:^0.23.3, recast@npm:^0.23.5": version: 0.23.6 resolution: "recast@npm:0.23.6" @@ -32302,31 +32120,7 @@ __metadata: languageName: node linkType: hard -"request-promise-core@npm:1.1.4": - version: 1.1.4 - resolution: "request-promise-core@npm:1.1.4" - dependencies: - lodash: "npm:^4.17.19" - peerDependencies: - request: ^2.34 - checksum: 10c0/103eb9043450b9312c005ed859c2150825a555b72e4c0a83841f6793d368eddeacde425f8688effa215eb3eb14ff8c486a3c3e80f6246e9c195628db2bf9020e - languageName: node - linkType: hard - -"request-promise-native@npm:^1.0.5": - version: 1.0.9 - resolution: "request-promise-native@npm:1.0.9" - dependencies: - request-promise-core: "npm:1.1.4" - stealthy-require: "npm:^1.1.1" - tough-cookie: "npm:^2.3.3" - peerDependencies: - request: ^2.34 - checksum: 10c0/e4edae38675c3492a370fd7a44718df3cc8357993373156a66cb329fcde7480a2652591279cd48ba52326ea529ee99805da37119ad91563a901d3fba0ab5be92 - languageName: node - linkType: hard - -"request@npm:^2.87.0, request@npm:^2.88.0": +"request@npm:^2.88.0": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -32410,15 +32204,6 @@ __metadata: languageName: node linkType: hard -"resolve-cwd@npm:^2.0.0": - version: 2.0.0 - resolution: "resolve-cwd@npm:2.0.0" - dependencies: - resolve-from: "npm:^3.0.0" - checksum: 10c0/10c3a7ffeb55af51206f5ca8696ed833376179399336ce8e9df8f76c044c13bccd0e9a3148708daf272193179a581ddb076e203eaa71efa0ad341b243174ca12 - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -32473,10 +32258,10 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.1.7": - version: 1.1.7 - resolution: "resolve@npm:1.1.7" - checksum: 10c0/f66dcad51854fca283fa68e9c11445c2117d7963b9ced6c43171784987df3bed6fb16c4af2bf6f07c02ace94a4f4ebe158d13780b6e14d60944478c860208245 +"resolve.exports@npm:^2.0.0": + version: 2.0.2 + resolution: "resolve.exports@npm:2.0.2" + checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 languageName: node linkType: hard @@ -32541,13 +32326,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.1.7#optional!builtin": - version: 1.1.7 - resolution: "resolve@patch:resolve@npm%3A1.1.7#optional!builtin::version=1.1.7&hash=3bafbf" - checksum: 10c0/f4f1471423d600a10944785222fa7250237ed8c98aa6b1e1f4dc0bb3dbfbcafcaac69a2ed23cd1f6f485ed23e7c939894ac1978284e4163754fade8a05358823 - languageName: node - linkType: hard - "resolve@patch:resolve@npm%3A1.5.0#optional!builtin": version: 1.5.0 resolution: "resolve@patch:resolve@npm%3A1.5.0#optional!builtin::version=1.5.0&hash=3bafbf" @@ -32782,6 +32560,20 @@ __metadata: languageName: node linkType: hard +"rrweb-cssom@npm:^0.6.0": + version: 0.6.0 + resolution: "rrweb-cssom@npm:0.6.0" + checksum: 10c0/3d9d90d53c2349ea9c8509c2690df5a4ef930c9cf8242aeb9425d4046f09d712bb01047e00da0e1c1dab5db35740b3d78fd45c3e7272f75d3724a563f27c30a3 + languageName: node + linkType: hard + +"rrweb-cssom@npm:^0.7.0": + version: 0.7.0 + resolution: "rrweb-cssom@npm:0.7.0" + checksum: 10c0/278350b1f383f76db20e37394361b709740bd4f5f27f924e1c3c3fdd7112b2ae37ed9bc7cee63776f7df395b9b0f644d1f8be104990e3028d276a3288cd7e564 + languageName: node + linkType: hard + "rst-selector-parser@npm:^2.2.3": version: 2.2.3 resolution: "rst-selector-parser@npm:2.2.3" @@ -32792,13 +32584,6 @@ __metadata: languageName: node linkType: hard -"rsvp@npm:^4.8.4": - version: 4.8.5 - resolution: "rsvp@npm:4.8.5" - checksum: 10c0/7978f01060a48204506a8ebe15cdbd468498f5ae538b1d7ee3e7630375ba7cb2f98df2f596c12d3f4d5d5c21badc1c6ca8009f5142baded8511609a28eabd19a - languageName: node - linkType: hard - "rtl-detect@npm:^1.0.4": version: 1.1.2 resolution: "rtl-detect@npm:1.1.2" @@ -32879,18 +32664,6 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-array-concat@npm:1.0.0" - dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.0" - has-symbols: "npm:^1.0.3" - isarray: "npm:^2.0.5" - checksum: 10c0/792d41fde9834583980912cb16bee511ce25e1759d3c467fdbbb3fc3245346a2289a6476d821713aa1ae23cc1d613d17e79c80e55adb29577f6a29e6f45e7f46 - languageName: node - linkType: hard - "safe-array-concat@npm:^1.0.1": version: 1.0.1 resolution: "safe-array-concat@npm:1.0.1" @@ -32944,25 +32717,6 @@ __metadata: languageName: node linkType: hard -"sane@npm:^4.0.3": - version: 4.1.0 - resolution: "sane@npm:4.1.0" - dependencies: - "@cnakazawa/watch": "npm:^1.0.3" - anymatch: "npm:^2.0.0" - capture-exit: "npm:^2.0.0" - exec-sh: "npm:^0.3.2" - execa: "npm:^1.0.0" - fb-watchman: "npm:^2.0.0" - micromatch: "npm:^3.1.4" - minimist: "npm:^1.1.1" - walker: "npm:~1.0.5" - bin: - sane: ./src/cli.js - checksum: 10c0/7d0991ecaa10b02c6d0339a6f7e31db776971f3b659a351916dcc7ce3464671e72b54d80bcce118e39d4343e1e56c699fe35f6cb89fbd88b07095b72841cbfb0 - languageName: node - linkType: hard - "sass-loader@npm:^13.2.0": version: 13.2.0 resolution: "sass-loader@npm:13.2.0" @@ -33015,13 +32769,29 @@ __metadata: languageName: node linkType: hard -"sax@npm:^1.2.4, sax@npm:~1.2.4": +"sax@npm:^1.2.4": + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c + languageName: node + linkType: hard + +"sax@npm:~1.2.4": version: 1.2.4 resolution: "sax@npm:1.2.4" checksum: 10c0/6e9b05ff443ee5e5096ce92d31c0740a20d33002fad714ebcb8fc7a664d9ee159103ebe8f7aef0a1f7c5ecacdd01f177f510dff95611c589399baf76437d3fe3 languageName: node linkType: hard +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" + dependencies: + xmlchars: "npm:^2.2.0" + checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 + languageName: node + linkType: hard + "scheduler@npm:^0.19.1": version: 0.19.1 resolution: "scheduler@npm:0.19.1" @@ -33304,7 +33074,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.4": +"semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.2 resolution: "semver@npm:7.6.2" bin: @@ -33545,13 +33315,6 @@ __metadata: languageName: node linkType: hard -"shellwords@npm:^0.1.1": - version: 0.1.1 - resolution: "shellwords@npm:0.1.1" - checksum: 10c0/7d66b28927e0b524b71b2e185651fcd88a70473a077dd230fbf86188380e948ffb36cea00832d78fc13c93cd15f6f52286fb05f2746b7580623ca1ec619eb004 - languageName: node - linkType: hard - "shortid@npm:^2.2.8": version: 2.2.15 resolution: "shortid@npm:2.2.15" @@ -33918,7 +33681,17 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20": +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.16, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -34188,16 +33961,7 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^1.0.1": - version: 1.0.5 - resolution: "stack-utils@npm:1.0.5" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/9e65d2a3f4fd13c4fe2615804a6721b5bd1067d7cbc1aa20588e5a9d0cd05b9dc83ae574a4c03180d2bf78804a8453406e1cef70ab47adfb38724aad67a308f5 - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.2": +"stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.3": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" dependencies: @@ -34270,13 +34034,6 @@ __metadata: languageName: node linkType: hard -"stealthy-require@npm:^1.1.1": - version: 1.1.1 - resolution: "stealthy-require@npm:1.1.1" - checksum: 10c0/714b61e152ba03a5e098b5364cc3076d8036edabc2892143fe3c64291194a401b74f071fadebba94551fb013a02f3bcad56a8be29a67b3c644ac78ffda921f80 - languageName: node - linkType: hard - "stop-iteration-iterator@npm:^1.0.0": version: 1.0.0 resolution: "stop-iteration-iterator@npm:1.0.0" @@ -34338,17 +34095,7 @@ __metadata: languageName: node linkType: hard -"string-length@npm:^2.0.0": - version: 2.0.0 - resolution: "string-length@npm:2.0.0" - dependencies: - astral-regex: "npm:^1.0.0" - strip-ansi: "npm:^4.0.0" - checksum: 10c0/909e8060af60a30c2d4152df5e29b01b8e0068211d0b9eca78a945452f34b7a774002f9536dc80568bbc6f476ecd0d57b82347f9de3c229e285bdaefc02e1931 - languageName: node - linkType: hard - -"string-length@npm:^4.0.2": +"string-length@npm:^4.0.1, string-length@npm:^4.0.2": version: 4.0.2 resolution: "string-length@npm:4.0.2" dependencies: @@ -34408,7 +34155,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^3.0.0, string-width@npm:^3.1.0": +"string-width@npm:^3.0.0": version: 3.1.0 resolution: "string-width@npm:3.1.0" dependencies: @@ -35008,15 +34755,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^6.1.0": - version: 6.1.0 - resolution: "supports-color@npm:6.1.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/ebf2befe41b55932c6d77192b91775f1403c389440ce2dab6f72663cf32ee87a1d9dea3512131a18e45ccac91424a8873b266142828489d0206d65ee93d224b6 - languageName: node - linkType: hard - "supports-color@npm:^7.0.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -35148,7 +34886,7 @@ __metadata: languageName: node linkType: hard -"symbol-tree@npm:^3.2.2": +"symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 @@ -35479,18 +35217,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^5.2.3": - version: 5.2.3 - resolution: "test-exclude@npm:5.2.3" - dependencies: - glob: "npm:^7.1.3" - minimatch: "npm:^3.0.4" - read-pkg-up: "npm:^4.0.0" - require-main-filename: "npm:^2.0.0" - checksum: 10c0/36d767a6ab71b170aa42092a5d540d6974a350fcfed342f29351c6e47cf061b73fabb4fe8b316ce989d6a7f058475417af209818e3702f5e7e17f4544a93535c - languageName: node - linkType: hard - "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0" @@ -35530,13 +35256,6 @@ __metadata: languageName: node linkType: hard -"throat@npm:^4.0.0": - version: 4.1.0 - resolution: "throat@npm:4.1.0" - checksum: 10c0/2719e5adee890a437b68db58725086c4296091a613229b79602f34ff5016e7411e12299ff2a04032dac9e11e3781e8c7a06c58d472bf9abf17b034fe50434d64 - languageName: node - linkType: hard - "throttleit@npm:^1.0.0": version: 1.0.0 resolution: "throttleit@npm:1.0.0" @@ -35760,34 +35479,46 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^2.3.3, tough-cookie@npm:^2.3.4, tough-cookie@npm:~2.5.0": - version: 2.5.0 - resolution: "tough-cookie@npm:2.5.0" +"tough-cookie@npm:^4.1.3": + version: 4.1.3 + resolution: "tough-cookie@npm:4.1.3" dependencies: - psl: "npm:^1.1.28" + psl: "npm:^1.1.33" punycode: "npm:^2.1.1" - checksum: 10c0/e1cadfb24d40d64ca16de05fa8192bc097b66aeeb2704199b055ff12f450e4f30c927ce250f53d01f39baad18e1c11d66f65e545c5c6269de4c366fafa4c0543 + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 10c0/4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 languageName: node linkType: hard -"tough-cookie@npm:^4.1.3": - version: 4.1.3 - resolution: "tough-cookie@npm:4.1.3" +"tough-cookie@npm:^4.1.4": + version: 4.1.4 + resolution: "tough-cookie@npm:4.1.4" dependencies: psl: "npm:^1.1.33" punycode: "npm:^2.1.1" universalify: "npm:^0.2.0" url-parse: "npm:^1.5.3" - checksum: 10c0/4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 + checksum: 10c0/aca7ff96054f367d53d1e813e62ceb7dd2eda25d7752058a74d64b7266fd07be75908f3753a32ccf866a2f997604b414cfb1916d6e7f69bc64d9d9939b0d6c45 languageName: node linkType: hard -"tr46@npm:^1.0.1": - version: 1.0.1 - resolution: "tr46@npm:1.0.1" +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + psl: "npm:^1.1.28" + punycode: "npm:^2.1.1" + checksum: 10c0/e1cadfb24d40d64ca16de05fa8192bc097b66aeeb2704199b055ff12f450e4f30c927ce250f53d01f39baad18e1c11d66f65e545c5c6269de4c366fafa4c0543 + languageName: node + linkType: hard + +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee languageName: node linkType: hard @@ -35859,6 +35590,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + languageName: node + linkType: hard + "ts-debounce@npm:^4.0.0": version: 4.0.0 resolution: "ts-debounce@npm:4.0.0" @@ -35938,7 +35678,7 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.17.1, tsutils@npm:^3.21.0": +"tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" dependencies: @@ -36004,7 +35744,7 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd @@ -37035,21 +36775,6 @@ __metadata: languageName: node linkType: hard -"util.promisify@npm:^1.0.0": - version: 1.1.2 - resolution: "util.promisify@npm:1.1.2" - dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - for-each: "npm:^0.3.3" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - object.getownpropertydescriptors: "npm:^2.1.6" - safe-array-concat: "npm:^1.0.0" - checksum: 10c0/cc9bf4912b89ea8e095b5746d945607884b4635d219cb1935c028259e86be6af92d7b7b1e702776805d81f7d387ffa436037299e9bf01ce076267e217b54ae3e - languageName: node - linkType: hard - "util.promisify@npm:~1.0.0": version: 1.0.1 resolution: "util.promisify@npm:1.0.1" @@ -37148,6 +36873,17 @@ __metadata: languageName: node linkType: hard +"v8-to-istanbul@npm:^9.0.1": + version: 9.2.0 + resolution: "v8-to-istanbul@npm:9.2.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 + languageName: node + linkType: hard + "validate-npm-package-license@npm:^3.0.1": version: 3.0.1 resolution: "validate-npm-package-license@npm:3.0.1" @@ -37357,12 +37093,12 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.1": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" dependencies: - browser-process-hrtime: "npm:^1.0.0" - checksum: 10c0/7795b61fb51ce222414891eef8e6cb13240b62f64351b4474f99c84de2bc37d37dd0efa193f37391e9737097b881a111d1e003e3d7a9583693f8d5a858b02627 + xml-name-validator: "npm:^5.0.0" + checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b languageName: node linkType: hard @@ -37410,7 +37146,7 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.7, walker@npm:~1.0.5": +"walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" dependencies: @@ -37478,10 +37214,10 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^4.0.2": - version: 4.0.2 - resolution: "webidl-conversions@npm:4.0.2" - checksum: 10c0/def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 languageName: node linkType: hard @@ -37881,19 +37617,29 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^1.0.1, whatwg-encoding@npm:^1.0.3": - version: 1.0.5 - resolution: "whatwg-encoding@npm:1.0.5" +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" dependencies: - iconv-lite: "npm:0.4.24" - checksum: 10c0/79d9f276234fd06bb27de4c1f9137a0471bfa578efaec0474ab46b6d64bf30bb14492e6f88eff0e6794bdd6fa48b44f4d7a2e9c41424a837a63bba9626e35c62 + iconv-lite: "npm:0.6.3" + checksum: 10c0/273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e languageName: node linkType: hard -"whatwg-mimetype@npm:^2.1.0, whatwg-mimetype@npm:^2.2.0": - version: 2.3.0 - resolution: "whatwg-mimetype@npm:2.3.0" - checksum: 10c0/81c5eaf660b1d1c27575406bcfdf58557b599e302211e13e3c8209020bbac903e73c17f9990f887232b39ce570cc8638331b0c3ff0842ba224a5c2925e830b06 +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" + dependencies: + tr46: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 languageName: node linkType: hard @@ -37907,28 +37653,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^6.4.1": - version: 6.5.0 - resolution: "whatwg-url@npm:6.5.0" - dependencies: - lodash.sortby: "npm:^4.7.0" - tr46: "npm:^1.0.1" - webidl-conversions: "npm:^4.0.2" - checksum: 10c0/5afeff7da025fbaecceca6a5e0cdc6d10666efab245d0e5d785263a09a16b3afce7a81712512e184c98e70bdb79fb20d0ecd34553e9c121a9ba4f36760db4226 - languageName: node - linkType: hard - -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: "npm:^4.7.0" - tr46: "npm:^1.0.1" - webidl-conversions: "npm:^4.0.2" - checksum: 10c0/2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 - languageName: node - linkType: hard - "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -38009,7 +37733,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.12, which@npm:^1.2.9, which@npm:^1.3.0, which@npm:^1.3.1": +"which@npm:^1.2.12, which@npm:^1.2.9, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -38151,17 +37875,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^5.1.0": - version: 5.1.0 - resolution: "wrap-ansi@npm:5.1.0" - dependencies: - ansi-styles: "npm:^3.2.0" - string-width: "npm:^3.0.0" - strip-ansi: "npm:^5.0.0" - checksum: 10c0/fcd0b39b7453df512f2fe8c714a1c1b147fe3e6a4b5a2e4de6cadc3af47212f335eceaffe588e98322d6345e72672137e2c0b834d8a662e73a32296c1c8216bb - languageName: node - linkType: hard - "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -38213,17 +37926,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:2.4.1": - version: 2.4.1 - resolution: "write-file-atomic@npm:2.4.1" - dependencies: - graceful-fs: "npm:^4.1.11" - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.2" - checksum: 10c0/51f5927aeb8b2c8bf43cc37db23e3abd24c870b383e6773ad1b655bb119dcc50a9e262b023d427d6e82d079a901cdf42f42d7ea78045a57e4d50e64831817b21 - languageName: node - linkType: hard - "write-file-atomic@npm:^2.0.0, write-file-atomic@npm:^2.3.0": version: 2.4.3 resolution: "write-file-atomic@npm:2.4.3" @@ -38247,7 +37949,7 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.0": +"write-file-atomic@npm:^4.0.0, write-file-atomic@npm:^4.0.2": version: 4.0.2 resolution: "write-file-atomic@npm:4.0.2" dependencies: @@ -38276,15 +37978,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:^5.2.0": - version: 5.2.3 - resolution: "ws@npm:5.2.3" - dependencies: - async-limiter: "npm:~1.0.0" - checksum: 10c0/3f329b29a893c660b01be81654c9bca422a0de3396e644aae165e4e998e74b2b713adcbba876f183cd74a4f488376cbb7442d1c87455084d69fce1e2f25ef088 - languageName: node - linkType: hard - "ws@npm:^7, ws@npm:^7.2.0, ws@npm:^7.3.1, ws@npm:^7.5.5": version: 7.5.9 resolution: "ws@npm:7.5.9" @@ -38315,6 +38008,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.17.0": + version: 8.17.0 + resolution: "ws@npm:8.17.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/55241ec93a66fdfc4bf4f8bc66c8eb038fda2c7a4ee8f6f157f2ca7dc7aa76aea0c0da0bf3adb2af390074a70a0e45456a2eaf80e581e630b75df10a64b0a990 + languageName: node + linkType: hard + "ws@npm:^8.2.3": version: 8.13.0 resolution: "ws@npm:8.13.0" @@ -38376,10 +38084,10 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^3.0.0": - version: 3.0.0 - resolution: "xml-name-validator@npm:3.0.0" - checksum: 10c0/da310f6a7a52f8eb0fce3d04ffa1f97387ca68f47e8620ae3a259909c4e832f7003313b918e53840a6bf57fb38d5ae3c5f79f31f911b2818a7439f7898f8fbf1 +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 languageName: node linkType: hard @@ -38400,6 +38108,13 @@ __metadata: languageName: node linkType: hard +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 + languageName: node + linkType: hard + "xregexp@npm:4.0.0": version: 4.0.0 resolution: "xregexp@npm:4.0.0" @@ -38484,16 +38199,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^13.1.2": - version: 13.1.2 - resolution: "yargs-parser@npm:13.1.2" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10c0/aeded49d2285c5e284e48b7c69eab4a6cf1c94decfdba073125cc4054ff49da7128a3c7c840edb6b497a075e455be304e89ba4b9228be35f1ed22f4a7bba62cc - languageName: node - linkType: hard - "yargs-parser@npm:^18.1.2": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" @@ -38518,24 +38223,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^13.3.0": - version: 13.3.2 - resolution: "yargs@npm:13.3.2" - dependencies: - cliui: "npm:^5.0.0" - find-up: "npm:^3.0.0" - get-caller-file: "npm:^2.0.1" - require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" - string-width: "npm:^3.0.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^13.1.2" - checksum: 10c0/6612f9f0ffeee07fff4c85f153d10eba4072bf5c11e1acba96153169f9d771409dfb63253dbb0841ace719264b663cd7b18c75c0eba91af7740e76094239d386 - languageName: node - linkType: hard - "yargs@npm:^15.0.2": version: 15.4.1 resolution: "yargs@npm:15.4.1" @@ -38570,7 +38257,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.5.1": +"yargs@npm:^17.3.1, yargs@npm:^17.5.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -38784,6 +38471,13 @@ __metadata: languageName: node linkType: hard +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + "yocto-queue@npm:^1.0.0": version: 1.0.0 resolution: "yocto-queue@npm:1.0.0"