diff --git a/.changeset/sour-onions-rhyme.md b/.changeset/sour-onions-rhyme.md new file mode 100644 index 00000000000..6f64df2f8c6 --- /dev/null +++ b/.changeset/sour-onions-rhyme.md @@ -0,0 +1,6 @@ +--- +'codemirror-graphql': minor +'graphiql': minor +--- + +migrate `graphiql` from `jest` to `vitest` diff --git a/.eslintrc.js b/.eslintrc.js index 8fb38b34309..61a312a566a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -424,7 +424,13 @@ module.exports = { }, { // Rule for ignoring imported dependencies from tests files - files: ['**/__tests__/**', 'webpack.config.js', '**/tests/**'], + files: [ + '**/__tests__/**', + 'webpack.config.js', + '**/tests/**', + 'test.config.js', + 'vitest.config.mts', + ], rules: { 'import-x/no-extraneous-dependencies': 'off', }, diff --git a/jest.config.base.js b/jest.config.base.js index d9e7bf85e21..bd9f4ea9316 100644 --- a/jest.config.base.js +++ b/jest.config.base.js @@ -17,19 +17,14 @@ module.exports = (dir, env = 'jsdom') => { coverageDirectory: `${__dirname}/coverage/jest`, setupFilesAfterEnv, moduleNameMapper: { - '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': - 'identity-obj-proxy', - '\\.(css|less)$': 'identity-obj-proxy', + '\\.css$': 'identity-obj-proxy', '^graphql-language-service-([^/]+)': `${__dirname}/packages/graphql-language-service/src/$1`, '^graphql-language-([^/]+)': `${__dirname}/packages/graphql-language-$1/src`, '^@graphiql\\/([^/]+)': `${__dirname}/packages/graphiql-$1/src`, - '^@graphiql-plugins\\/([^/]+)': `${__dirname}/plugins/$1/src`, '^codemirror-graphql\\/esm([^]+)\\.js': `${__dirname}/packages/codemirror-graphql/src/$1`, '^codemirror-graphql\\/cjs([^]+)': `${__dirname}/packages/codemirror-graphql/src/$1`, // relies on compilation '^cm6-graphql\\/src\\/([^]+)': `${__dirname}/packages/cm6-graphql/dist/$1`, - '^example-([^/]+)': `${__dirname}/examples/$1/src`, - '^-!svg-react-loader.*$': '/resources/jest/svgImportMock.js', // because of the svelte compiler's export patterns i guess? 'svelte/compiler': `${__dirname}/node_modules/svelte/compiler.cjs`, }, diff --git a/package.json b/package.json index 284e1688c13..01b18d6cbbf 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,6 @@ "@manypkg/get-packages": "^1.1.3", "@shopify/eslint-plugin": "^45.0.0", "@strictsoftware/typedoc-plugin-monorepo": "^0.3.1", - "@testing-library/jest-dom": "5.16.5", "@types/codemirror": "^0.0.90", "@types/express": "^4.17.11", "@types/fetch-mock": "^7.3.2", @@ -137,7 +136,7 @@ "ts-jest": "^27.1.5", "typedoc": "^0.19.2", "typescript": "^4.6.3", - "vitest": "^2.0.5", + "vitest": "^2.1.8", "wgutils": "^0.1.7", "wsrun": "^5.2.4" }, diff --git a/packages/codemirror-graphql/src/hint.ts b/packages/codemirror-graphql/src/hint.ts index e3606c94cf1..b19f1d4113f 100644 --- a/packages/codemirror-graphql/src/hint.ts +++ b/packages/codemirror-graphql/src/hint.ts @@ -10,7 +10,7 @@ */ import CodeMirror, { Hints, Hint } from 'codemirror'; -import 'codemirror/addon/hint/show-hint'; +import 'codemirror/addon/hint/show-hint.js'; import { FragmentDefinitionNode, GraphQLSchema, GraphQLType } from 'graphql'; import type { diff --git a/packages/graphiql-react/package.json b/packages/graphiql-react/package.json index 367f9e5af3a..221d6301841 100644 --- a/packages/graphiql-react/package.json +++ b/packages/graphiql-react/package.json @@ -66,8 +66,10 @@ "set-value": "^4.1.0" }, "devDependencies": { + "@types/react-dom": "^18.3.1", "@babel/helper-string-parser": "^7.19.4", - "@testing-library/react": "14.0.0", + "@testing-library/dom": "^10.4.0", + "@testing-library/react": "^16.1.0", "@types/markdown-it": "^14.1.2", "@types/get-value": "^3.0.5", "@types/set-value": "^4.0.1", diff --git a/packages/graphiql-react/tsconfig.json b/packages/graphiql-react/tsconfig.json index 95480738c1d..2ca78331a78 100644 --- a/packages/graphiql-react/tsconfig.json +++ b/packages/graphiql-react/tsconfig.json @@ -16,7 +16,8 @@ "jsx": "react-jsx", "declaration": true, "declarationDir": "types", - "outDir": "tsc" + "outDir": "tsc", + "types": ["jest", "@testing-library/jest-dom"] }, "include": ["src"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/packages/graphiql/__mocks__/codemirror.ts b/packages/graphiql/__mocks__/codemirror.ts index da0e7e838a6..23cb497dea6 100644 --- a/packages/graphiql/__mocks__/codemirror.ts +++ b/packages/graphiql/__mocks__/codemirror.ts @@ -13,9 +13,7 @@ function CodeMirror(node: HTMLElement, { value, ...options }) { node.append(mockWrapper); function _emit(event, data) { - if (_eventListeners[event]) { - _eventListeners[event](data); - } + _eventListeners[event]?.(data); } return { @@ -30,11 +28,9 @@ function CodeMirror(node: HTMLElement, { value, ...options }) { linterOptions: {}, }, }, - on(event, handler) { _eventListeners[event] = handler; }, - off(event) { if (!Object.prototype.hasOwnProperty.call(_eventListeners, event)) { return; @@ -47,11 +43,9 @@ function CodeMirror(node: HTMLElement, { value, ...options }) { } _eventListeners = updatedEventListeners; }, - getValue() { return mockTextArea.value; }, - setValue(newValue) { mockTextArea.value = newValue; }, @@ -59,17 +53,13 @@ function CodeMirror(node: HTMLElement, { value, ...options }) { removeKeyMap() {}, setOption() {}, refresh() {}, - setSize() {}, - emit: _emit, }; } -CodeMirror.defineExtension = () => {}; CodeMirror.registerHelper = () => {}; CodeMirror.defineOption = () => {}; CodeMirror.defineMode = () => {}; - CodeMirror.signal = (mockCodeMirror, event, ...args) => { mockCodeMirror.emit(event, ...args); }; diff --git a/packages/graphiql/__mocks__/svg.jsx b/packages/graphiql/__mocks__/svg.jsx deleted file mode 100644 index 47d2425836d..00000000000 --- a/packages/graphiql/__mocks__/svg.jsx +++ /dev/null @@ -1,7 +0,0 @@ -export default function MockedIcon(props) { - return ( - - mocked icon - - ); -} diff --git a/packages/graphiql/jest.config.js b/packages/graphiql/jest.config.js deleted file mode 100644 index 4b9d01d0279..00000000000 --- a/packages/graphiql/jest.config.js +++ /dev/null @@ -1,9 +0,0 @@ -const base = require('../../jest.config.base')(__dirname); - -module.exports = { - ...base, - moduleNameMapper: { - '\\.svg\\?react$': `${__dirname}/__mocks__/svg`, - ...base.moduleNameMapper, - }, -}; diff --git a/packages/graphiql/package.json b/packages/graphiql/package.json index 9e6a99a8926..0f602f53d66 100644 --- a/packages/graphiql/package.json +++ b/packages/graphiql/package.json @@ -44,7 +44,8 @@ "dev": "cross-env NODE_ENV=development webpack-dev-server --config resources/webpack.config.js", "e2e": "yarn e2e-server 'cypress run'", "e2e-server": "start-server-and-test 'cross-env PORT=8080 node test/e2e-server' 'http-get://localhost:8080/graphql?query={test { id }}'", - "webpack": "webpack-cli --config resources/webpack.config.js" + "webpack": "webpack-cli --config resources/webpack.config.js", + "test": "vitest" }, "dependencies": { "@graphiql/react": "^0.27.0" @@ -56,9 +57,8 @@ }, "devDependencies": { "@graphiql/toolkit": "^0.11.0", - "@testing-library/jest-dom": "5.16.5", - "@testing-library/react": "14.0.0", - "@types/testing-library__jest-dom": "5.14.5", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/react": "^16.1.0", "babel-loader": "^9.1.2", "babel-plugin-macros": "^3.1.0", "cross-env": "^7.0.2", diff --git a/packages/graphiql/postcss.config.js b/packages/graphiql/postcss.config.js index 0212e4d5f0a..c7ea79d3a5f 100644 --- a/packages/graphiql/postcss.config.js +++ b/packages/graphiql/postcss.config.js @@ -1,9 +1,13 @@ -module.exports = ({ options, webpackLoaderContext }) => ({ - plugins: { - // https://github.com/postcss/postcss-import/issues/442#issuecomment-822427606 - 'postcss-import': { root: webpackLoaderContext.context }, - // contains autoprefixer, etc - 'postcss-preset-env': options['postcss-preset-env'] || false, - cssnano: process.env.NODE_ENV === 'production' ? options.cssnano : false, - }, -}); +module.exports = + process.env.NODE_ENV === 'test' + ? {} + : ({ options, webpackLoaderContext }) => ({ + plugins: { + // https://github.com/postcss/postcss-import/issues/442#issuecomment-822427606 + 'postcss-import': { root: webpackLoaderContext.context }, + // contains autoprefixer, etc + 'postcss-preset-env': options['postcss-preset-env'] || false, + cssnano: + process.env.NODE_ENV === 'production' ? options.cssnano : false, + }, + }); diff --git a/packages/graphiql/setup-files.ts b/packages/graphiql/setup-files.ts new file mode 100644 index 00000000000..1fdbc438acf --- /dev/null +++ b/packages/graphiql/setup-files.ts @@ -0,0 +1,15 @@ +import '@testing-library/jest-dom'; + +// @ts-expect-error +document.createRange = function () { + return { + setEnd() {}, + setStart() {}, + getClientRects() { + return { top: 0, bottom: 0, left: 0, right: 0 }; + }, + getBoundingClientRect() { + return { right: 0 }; + }, + }; +}; diff --git a/packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx b/packages/graphiql/src/GraphiQL.spec.tsx similarity index 97% rename from packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx rename to packages/graphiql/src/GraphiQL.spec.tsx index e278a1310fe..1578e9c912f 100644 --- a/packages/graphiql/src/components/__tests__/GraphiQL.spec.tsx +++ b/packages/graphiql/src/GraphiQL.spec.tsx @@ -4,10 +4,9 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -import '@testing-library/jest-dom'; import { act, render, waitFor, fireEvent } from '@testing-library/react'; -import React from 'react'; -import { GraphiQL } from '../GraphiQL'; +import React, { Component } from 'react'; +import { GraphiQL } from './GraphiQL'; import { Fetcher } from '@graphiql/toolkit'; import { ToolbarButton } from '@graphiql/react'; @@ -37,7 +36,7 @@ describe('GraphiQL', () => { describe('fetcher', () => { it('should throw error without fetcher', () => { - const spy = jest.spyOn(console, 'error').mockImplementation(() => {}); + const spy = vi.spyOn(console, 'error').mockImplementation(() => {}); // @ts-expect-error fetcher is a required prop to GraphiQL expect(() => render()).toThrow( @@ -273,13 +272,12 @@ describe('GraphiQL', () => { describe('panel resizing', () => { it('readjusts the query wrapper flex style field when the result panel is resized', async () => { // Mock the drag bar width - const clientWidthSpy = jest + const clientWidthSpy = vi .spyOn(Element.prototype, 'clientWidth', 'get') .mockReturnValue(0); // Mock the container width - const boundingClientRectSpy = jest + const boundingClientRectSpy = vi .spyOn(Element.prototype, 'getBoundingClientRect') - // @ts-expect-error missing properties from type 'DOMRect' .mockReturnValue({ left: 0, right: 900 }); const { container } = render(); @@ -312,13 +310,12 @@ describe('GraphiQL', () => { it('allows for resizing the doc explorer correctly', async () => { // Mock the drag bar width - const clientWidthSpy = jest + const clientWidthSpy = vi .spyOn(Element.prototype, 'clientWidth', 'get') .mockReturnValue(0); // Mock the container width - const boundingClientRectSpy = jest + const boundingClientRectSpy = vi .spyOn(Element.prototype, 'getBoundingClientRect') - // @ts-expect-error missing properties from type 'DOMRect' .mockReturnValue({ left: 0, right: 1200 }); const { container } = render(); @@ -529,10 +526,10 @@ describe('GraphiQL', () => { it('properly ignores fragments', async () => { const myFragment = ( - + <> - + ); const { container, getByRole } = render( @@ -566,7 +563,7 @@ describe('GraphiQL', () => { it('properly ignores non-override class components', async () => { // eslint-disable-next-line react/prefer-stateless-function - class MyClassComponent extends React.Component { + class MyClassComponent extends Component { render() { return null; } diff --git a/packages/graphiql/src/components/GraphiQL.tsx b/packages/graphiql/src/GraphiQL.tsx similarity index 100% rename from packages/graphiql/src/components/GraphiQL.tsx rename to packages/graphiql/src/GraphiQL.tsx diff --git a/packages/graphiql/src/cdn.ts b/packages/graphiql/src/cdn.ts index d7a5914f9dc..777e50bed97 100644 --- a/packages/graphiql/src/cdn.ts +++ b/packages/graphiql/src/cdn.ts @@ -7,7 +7,7 @@ import * as GraphiQLReact from '@graphiql/react'; import { createGraphiQLFetcher, createLocalStorage } from '@graphiql/toolkit'; import * as GraphQL from 'graphql'; -import { GraphiQL } from './components/GraphiQL'; +import { GraphiQL } from './GraphiQL'; import '@graphiql/react/font/roboto.css'; import '@graphiql/react/font/fira-code.css'; diff --git a/packages/graphiql/src/index.ts b/packages/graphiql/src/index.ts index b4ea740e2e5..6b8a653e939 100644 --- a/packages/graphiql/src/index.ts +++ b/packages/graphiql/src/index.ts @@ -14,14 +14,7 @@ export { GraphiQLProvider } from '@graphiql/react'; /** * Definitions */ -export type { - GraphiQLProps, - GraphiQLInterfaceProps, -} from './components/GraphiQL'; +export type { GraphiQLProps, GraphiQLInterfaceProps } from './GraphiQL'; export type { GraphiQLProviderProps } from '@graphiql/react'; -export { - GraphiQLInterface, - GraphiQL, - GraphiQL as default, -} from './components/GraphiQL'; +export { GraphiQLInterface, GraphiQL, GraphiQL as default } from './GraphiQL'; diff --git a/packages/graphiql/tsconfig.esm.json b/packages/graphiql/tsconfig.esm.json index e65af015416..3414a2f863a 100644 --- a/packages/graphiql/tsconfig.esm.json +++ b/packages/graphiql/tsconfig.esm.json @@ -6,17 +6,11 @@ "composite": false, "jsx": "react", "baseUrl": ".", - "target": "es5" + "target": "es5", + "types": ["@testing-library/jest-dom", "vitest/globals"] }, "include": ["src"], - "exclude": [ - "**/__tests__/**", - "**/dist/**.*", - "**/*.spec.ts", - "**/*.spec.js", - "**/*-test.ts", - "**/*-test.js" - ], + "exclude": ["**/*.spec.tsx"], "references": [ { "path": "../codemirror-graphql" diff --git a/packages/graphiql/tsconfig.json b/packages/graphiql/tsconfig.json index 745c03a5fce..a7e8c0be066 100644 --- a/packages/graphiql/tsconfig.json +++ b/packages/graphiql/tsconfig.json @@ -6,10 +6,11 @@ "composite": true, "jsx": "react", "target": "es5", - "strictPropertyInitialization": false + "strictPropertyInitialization": false, + "types": ["@testing-library/jest-dom", "vitest/globals"] }, "include": ["src"], - "exclude": ["**/__tests__/**", "**/dist/**.*", "cypress/**"], + "exclude": ["**/*.spec.tsx"], "references": [ { "path": "../codemirror-graphql" diff --git a/packages/graphiql/vitest.config.mts b/packages/graphiql/vitest.config.mts new file mode 100644 index 00000000000..089540bc36f --- /dev/null +++ b/packages/graphiql/vitest.config.mts @@ -0,0 +1,30 @@ +import path from 'node:path'; +import { defineConfig } from 'vitest/config'; +import react from '@vitejs/plugin-react'; + +const mockedCodemirror = path.resolve('__mocks__', 'codemirror.ts'); + +export default defineConfig({ + plugins: [react()], + test: { + globals: true, + environment: 'jsdom', + setupFiles: ['./setup-files.ts'], + alias: { + 'codemirror/addon/edit/matchbrackets.js': mockedCodemirror, + 'codemirror/addon/hint/show-hint.js': mockedCodemirror, + 'codemirror/addon/edit/closebrackets.js': mockedCodemirror, + 'codemirror/addon/fold/brace-fold.js': mockedCodemirror, + 'codemirror/addon/fold/foldgutter.js': mockedCodemirror, + 'codemirror/addon/lint/lint.js': mockedCodemirror, + 'codemirror/addon/search/searchcursor.js': mockedCodemirror, + 'codemirror/addon/search/jump-to-line.js': mockedCodemirror, + 'codemirror/addon/dialog/dialog.js': mockedCodemirror, + 'codemirror/keymap/sublime.js': mockedCodemirror, + 'codemirror/mode/javascript/javascript.js': mockedCodemirror, + 'codemirror/addon/comment/comment.js': mockedCodemirror, + 'codemirror/addon/search/search.js': mockedCodemirror, + codemirror: mockedCodemirror, + }, + }, +}); diff --git a/resources/test.config.js b/resources/test.config.js index 08297d632f8..b528b4a5b7d 100644 --- a/resources/test.config.js +++ b/resources/test.config.js @@ -4,9 +4,9 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -require('@testing-library/jest-dom/extend-expect'); +import '@testing-library/jest-dom'; -global.document.createRange = function () { +document.createRange = function () { return { setEnd() {}, setStart() {}, @@ -21,5 +21,5 @@ global.document.createRange = function () { process.on('unhandledRejection', error => { console.error('Unhandled Promise Rejection:'); - console.error(error?.stack); + console.error(error.stack); }); diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 02f48fa5514..9c23978dadc 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -12,13 +12,12 @@ "packages/*/vite.config.mts", "packages/*/vitest.config.mts", "examples/*/vite.config.ts", - "packages/graphiql/src/components/__tests__/**/*.ts", - "packages/graphiql/src/components/__tests__/**/*.tsx", + "packages/graphiql/setup-files.ts", + "packages/graphiql/src/*.spec.tsx", "packages/cm6-graphql/__tests__/**/*.ts", "packages/graphql-language-service/benchmark/index.ts", "packages/graphiql/cypress.config.ts", "packages/graphiql/__mocks__/codemirror.ts", - "packages/graphiql/__mocks__/@graphiql/react.tsx", "packages/monaco-graphql/test/*.test.ts", "packages/graphiql-react/vite.config.d.ts", "packages/vscode-graphql-syntax/tests/**/*.ts", diff --git a/yarn.lock b/yarn.lock index 6b476f27113..e877774f915 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,12 +2,12 @@ # yarn lockfile v1 -"@adobe/css-tools@^4.0.1": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" - integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== +"@adobe/css-tools@^4.4.0": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.1.tgz#2447a230bfe072c1659e6815129c03cf170710e3" + integrity sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ== -"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1", "@ampproject/remapping@^2.3.0": +"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1": version "2.3.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== @@ -1415,7 +1415,7 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== @@ -4126,43 +4126,39 @@ dependencies: defer-to-connect "^2.0.0" -"@testing-library/dom@^9.0.0": - version "9.3.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.1.tgz#8094f560e9389fb973fe957af41bf766937a9ee9" - integrity sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w== +"@testing-library/dom@^10.4.0": + version "10.4.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.0.tgz#82a9d9462f11d240ecadbf406607c6ceeeff43a8" + integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" "@types/aria-query" "^5.0.1" - aria-query "5.1.3" + aria-query "5.3.0" chalk "^4.1.0" dom-accessibility-api "^0.5.9" lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/jest-dom@5.16.5": - version "5.16.5" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== +"@testing-library/jest-dom@^6.6.3": + version "6.6.3" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz#26ba906cf928c0f8172e182c6fe214eb4f9f2bd2" + integrity sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA== dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" + "@adobe/css-tools" "^4.4.0" aria-query "^5.0.0" chalk "^3.0.0" css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" + dom-accessibility-api "^0.6.3" + lodash "^4.17.21" redent "^3.0.0" -"@testing-library/react@14.0.0": - version "14.0.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-14.0.0.tgz#59030392a6792450b9ab8e67aea5f3cc18d6347c" - integrity sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg== +"@testing-library/react@^16.1.0": + version "16.1.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.1.0.tgz#aa0c61398bac82eaf89776967e97de41ac742d71" + integrity sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg== dependencies: "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^9.0.0" - "@types/react-dom" "^18.0.0" "@tootallnate/once@1": version "1.1.2" @@ -4182,9 +4178,9 @@ "@types/estree" "*" "@types/aria-query@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" - integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": version "7.20.1" @@ -4458,7 +4454,7 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@*", "@types/jest@^29.5.2": +"@types/jest@^29.5.2": version "29.5.2" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.2.tgz#86b4afc86e3a8f3005b297ed8a72494f89e6395b" integrity sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg== @@ -4621,14 +4617,12 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/react-dom@^18.0.0": - version "18.2.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.6.tgz#ad621fa71a8db29af7c31b41b2ea3d8a6f4144d1" - integrity sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A== - dependencies: - "@types/react" "*" +"@types/react-dom@^18.3.1": + version "18.3.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716" + integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q== -"@types/react@*", "@types/react@18.2.14": +"@types/react@18.2.14": version "18.2.14" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127" integrity sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g== @@ -4720,13 +4714,6 @@ dependencies: "@types/estree" "*" -"@types/testing-library__jest-dom@5.14.5", "@types/testing-library__jest-dom@^5.9.1": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" - integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== - dependencies: - "@types/jest" "*" - "@types/trusted-types@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" @@ -5065,55 +5052,63 @@ "@types/babel__core" "^7.20.5" react-refresh "^0.14.2" -"@vitest/expect@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.0.5.tgz#f3745a6a2c18acbea4d39f5935e913f40d26fa86" - integrity sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA== +"@vitest/expect@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-2.1.8.tgz#13fad0e8d5a0bf0feb675dcf1d1f1a36a1773bc1" + integrity sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw== dependencies: - "@vitest/spy" "2.0.5" - "@vitest/utils" "2.0.5" - chai "^5.1.1" + "@vitest/spy" "2.1.8" + "@vitest/utils" "2.1.8" + chai "^5.1.2" tinyrainbow "^1.2.0" -"@vitest/pretty-format@2.0.5", "@vitest/pretty-format@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.0.5.tgz#91d2e6d3a7235c742e1a6cc50e7786e2f2979b1e" - integrity sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ== +"@vitest/mocker@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-2.1.8.tgz#51dec42ac244e949d20009249e033e274e323f73" + integrity sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA== + dependencies: + "@vitest/spy" "2.1.8" + estree-walker "^3.0.3" + magic-string "^0.30.12" + +"@vitest/pretty-format@2.1.8", "@vitest/pretty-format@^2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.8.tgz#88f47726e5d0cf4ba873d50c135b02e4395e2bca" + integrity sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ== dependencies: tinyrainbow "^1.2.0" -"@vitest/runner@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.0.5.tgz#89197e712bb93513537d6876995a4843392b2a84" - integrity sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig== +"@vitest/runner@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-2.1.8.tgz#b0e2dd29ca49c25e9323ea2a45a5125d8729759f" + integrity sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg== dependencies: - "@vitest/utils" "2.0.5" + "@vitest/utils" "2.1.8" pathe "^1.1.2" -"@vitest/snapshot@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.0.5.tgz#a2346bc5013b73c44670c277c430e0334690a162" - integrity sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew== +"@vitest/snapshot@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-2.1.8.tgz#d5dc204f4b95dc8b5e468b455dfc99000047d2de" + integrity sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg== dependencies: - "@vitest/pretty-format" "2.0.5" - magic-string "^0.30.10" + "@vitest/pretty-format" "2.1.8" + magic-string "^0.30.12" pathe "^1.1.2" -"@vitest/spy@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.0.5.tgz#590fc07df84a78b8e9dd976ec2090920084a2b9f" - integrity sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA== +"@vitest/spy@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-2.1.8.tgz#bc41af3e1e6a41ae3b67e51f09724136b88fa447" + integrity sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg== dependencies: - tinyspy "^3.0.0" + tinyspy "^3.0.2" -"@vitest/utils@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.0.5.tgz#6f8307a4b6bc6ceb9270007f73c67c915944e926" - integrity sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ== +"@vitest/utils@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.8.tgz#f8ef85525f3362ebd37fd25d268745108d6ae388" + integrity sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA== dependencies: - "@vitest/pretty-format" "2.0.5" - estree-walker "^3.0.3" - loupe "^3.1.1" + "@vitest/pretty-format" "2.1.8" + loupe "^3.1.2" tinyrainbow "^1.2.0" "@vscode/vsce-sign-alpine-arm64@2.0.2": @@ -5824,20 +5819,20 @@ aria-hidden@^1.1.1: dependencies: tslib "^2.0.0" -aria-query@5.1.3, aria-query@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^5.0.0, aria-query@^5.3.0: +aria-query@5.3.0, aria-query@^5.0.0, aria-query@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: dequal "^2.0.3" +aria-query@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -6700,10 +6695,10 @@ ccount@^2.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chai@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.1.tgz#f035d9792a22b481ead1c65908d14bb62ec1c82c" - integrity sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA== +chai@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.2.tgz#3afbc340b994ae3610ca519a6c70ace77ad4378d" + integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw== dependencies: assertion-error "^2.0.1" check-error "^2.1.1" @@ -7904,6 +7899,13 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" +debug@^4.3.7: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -8154,10 +8156,15 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.14" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== +dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-accessibility-api@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" + integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== dom-converter@^0.2.0: version "0.2.0" @@ -8487,6 +8494,11 @@ es-module-lexer@^0.9.0, es-module-lexer@^0.9.3: resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + es-object-atoms@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" @@ -9294,21 +9306,6 @@ execa@^7.1.1: signal-exit "^3.0.7" strip-final-newline "^3.0.0" -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - executable@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" @@ -9347,6 +9344,11 @@ expand-tilde@^1.2.2: dependencies: os-homedir "^1.0.1" +expect-type@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.1.0.tgz#a146e414250d13dfc49eafcfd1344a4060fa4c75" + integrity sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA== + expect@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" @@ -10142,11 +10144,6 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - get-symbol-description@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" @@ -10824,11 +10821,6 @@ human-signals@^4.3.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - husky@^4.2.3: version "4.3.8" resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d" @@ -12850,13 +12842,18 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -loupe@^3.1.0, loupe@^3.1.1: +loupe@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" integrity sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw== dependencies: get-func-name "^2.0.1" +loupe@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" + integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== + lower-case@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" @@ -12927,6 +12924,13 @@ magic-string@^0.30.10, magic-string@^0.30.4: dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" +magic-string@^0.30.12: + version "0.30.15" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.15.tgz#d5474a2c4c5f35f041349edaba8a5cb02733ed3c" + integrity sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -13754,7 +13758,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -15230,7 +15234,7 @@ postcss@8.4.31: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.4.19, postcss@^8.4.39, postcss@^8.4.40, postcss@^8.4.43: +postcss@^8.4.19, postcss@^8.4.39, postcss@^8.4.40: version "8.4.47" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== @@ -16151,7 +16155,7 @@ rollup@^2.35.1, rollup@^2.43.1, rollup@^2.60.2: optionalDependencies: fsevents "~2.3.2" -rollup@^4.13.0, rollup@^4.19.0, rollup@^4.20.0: +rollup@^4.13.0, rollup@^4.19.0: version "4.21.3" resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.3.tgz#c64ba119e6aeb913798a6f7eef2780a0df5a0821" integrity sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA== @@ -16601,11 +16605,6 @@ signal-exit@^4.0.1: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== -signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" @@ -16894,10 +16893,10 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -std-env@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== +std-env@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" + integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== stoppable@^1.1.0: version "1.1.0" @@ -17525,25 +17524,30 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -tinybench@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.8.0.tgz#30e19ae3a27508ee18273ffed9ac7018949acd7b" - integrity sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw== +tinybench@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" + integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== -tinypool@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.0.tgz#a68965218e04f4ad9de037d2a1cd63cda9afb238" - integrity sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ== +tinyexec@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.1.tgz#0ab0daf93b43e2c211212396bdb836b468c97c98" + integrity sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ== + +tinypool@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.0.2.tgz#706193cc532f4c100f66aa00b01c42173d9051b2" + integrity sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA== tinyrainbow@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-1.2.0.tgz#5c57d2fc0fb3d1afd78465c33ca885d04f02abb5" integrity sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ== -tinyspy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.0.tgz#cb61644f2713cd84dee184863f4642e06ddf0585" - integrity sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA== +tinyspy@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-3.0.2.tgz#86dd3cf3d737b15adcf17d7887c84a75201df20a" + integrity sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q== tmp@^0.0.33: version "0.0.33" @@ -18353,15 +18357,15 @@ vinyl@^1.1.1: clone-stats "^0.0.1" replace-ext "0.0.1" -vite-node@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.0.5.tgz#36d909188fc6e3aba3da5fc095b3637d0d18e27b" - integrity sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q== +vite-node@2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-2.1.8.tgz#9495ca17652f6f7f95ca7c4b568a235e0c8dbac5" + integrity sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg== dependencies: cac "^6.7.14" - debug "^4.3.5" + debug "^4.3.7" + es-module-lexer "^1.5.4" pathe "^1.1.2" - tinyrainbow "^1.2.0" vite "^5.0.0" vite-plugin-monaco-editor@^1.1.0: @@ -18378,18 +18382,7 @@ vite-plugin-svgr@^4.2.0: "@svgr/core" "^8.1.0" "@svgr/plugin-jsx" "^8.1.0" -vite@^5.0.0: - version "5.4.6" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.6.tgz#85a93a1228a7fb5a723ca1743e337a2588ed008f" - integrity sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q== - dependencies: - esbuild "^0.21.3" - postcss "^8.4.43" - rollup "^4.20.0" - optionalDependencies: - fsevents "~2.3.3" - -vite@^5.3.6: +vite@^5.0.0, vite@^5.3.6: version "5.3.6" resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.6.tgz#e097c0a7b79adb2e60bec9ef7907354f09d027bd" integrity sha512-es78AlrylO8mTVBygC0gTC0FENv0C6T496vvd33ydbjF/mIi9q3XQ9A3NWo5qLGFKywvz10J26813OkLvcQleA== @@ -18400,29 +18393,30 @@ vite@^5.3.6: optionalDependencies: fsevents "~2.3.3" -vitest@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.0.5.tgz#2f15a532704a7181528e399cc5b754c7f335fd62" - integrity sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA== - dependencies: - "@ampproject/remapping" "^2.3.0" - "@vitest/expect" "2.0.5" - "@vitest/pretty-format" "^2.0.5" - "@vitest/runner" "2.0.5" - "@vitest/snapshot" "2.0.5" - "@vitest/spy" "2.0.5" - "@vitest/utils" "2.0.5" - chai "^5.1.1" - debug "^4.3.5" - execa "^8.0.1" - magic-string "^0.30.10" +vitest@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-2.1.8.tgz#2e6a00bc24833574d535c96d6602fb64163092fa" + integrity sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ== + dependencies: + "@vitest/expect" "2.1.8" + "@vitest/mocker" "2.1.8" + "@vitest/pretty-format" "^2.1.8" + "@vitest/runner" "2.1.8" + "@vitest/snapshot" "2.1.8" + "@vitest/spy" "2.1.8" + "@vitest/utils" "2.1.8" + chai "^5.1.2" + debug "^4.3.7" + expect-type "^1.1.0" + magic-string "^0.30.12" pathe "^1.1.2" - std-env "^3.7.0" - tinybench "^2.8.0" - tinypool "^1.0.0" + std-env "^3.8.0" + tinybench "^2.9.0" + tinyexec "^0.3.1" + tinypool "^1.0.1" tinyrainbow "^1.2.0" vite "^5.0.0" - vite-node "2.0.5" + vite-node "2.1.8" why-is-node-running "^2.3.0" vsce@^2.6.3: