diff --git a/exchanges/graphcache/src/offlineExchange.test.ts b/exchanges/graphcache/src/offlineExchange.test.ts index 3468f6626b..f988b9f6ad 100644 --- a/exchanges/graphcache/src/offlineExchange.test.ts +++ b/exchanges/graphcache/src/offlineExchange.test.ts @@ -6,7 +6,7 @@ import { OperationResult, } from '@urql/core'; import { print } from 'graphql'; -import { vi, expect, it, describe } from 'vitest'; +import { vi, expect, it, describe, beforeAll } from 'vitest'; import { pipe, share, map, makeSubject, tap, publish } from 'wonka'; import { queryResponse } from '../../../packages/core/src/test-utils'; @@ -104,6 +104,10 @@ describe('storage', () => { }); describe('offline', () => { + beforeAll(() => { + global.navigator = { onLine: true } as any; + }); + it('should intercept errored mutations', () => { const onlineSpy = vi.spyOn(navigator, 'onLine', 'get'); diff --git a/exchanges/refocus/src/refocusExchange.test.ts b/exchanges/refocus/src/refocusExchange.test.ts index 2e4d53ee82..e48e00c1b8 100644 --- a/exchanges/refocus/src/refocusExchange.test.ts +++ b/exchanges/refocus/src/refocusExchange.test.ts @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { pipe, map, makeSubject, publish, tap } from 'wonka'; import { vi, expect, it, beforeEach } from 'vitest'; diff --git a/package.json b/package.json index 458665909e..35abc76342 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "typescript": "^4.9.5", "vite": "^3.2.4", "vite-tsconfig-paths": "^4.0.7", - "vitest": "^0.29.3" + "vitest": "^0.30.1" }, "dependencies": { "@actions/github": "^5.1.1", diff --git a/packages/core/src/internal/fetchOptions.test.ts b/packages/core/src/internal/fetchOptions.test.ts index 9114018bf6..e0142bf612 100644 --- a/packages/core/src/internal/fetchOptions.test.ts +++ b/packages/core/src/internal/fetchOptions.test.ts @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { expect, describe, it } from 'vitest'; import { makeOperation } from '../utils/operation'; import { queryOperation, mutationOperation } from '../test-utils'; diff --git a/packages/core/src/utils/variables.test.ts b/packages/core/src/utils/variables.test.ts index 3b78fca87f..4cb5577ae8 100644 --- a/packages/core/src/utils/variables.test.ts +++ b/packages/core/src/utils/variables.test.ts @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { stringifyVariables, extractFiles } from './variables'; import { describe, it, expect } from 'vitest'; diff --git a/packages/preact-urql/src/components/Mutation.test.tsx b/packages/preact-urql/src/components/Mutation.test.tsx index cdfa3e00af..b780c9da0f 100644 --- a/packages/preact-urql/src/components/Mutation.test.tsx +++ b/packages/preact-urql/src/components/Mutation.test.tsx @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { h } from 'preact'; import { act, cleanup, render } from '@testing-library/preact'; import { pipe, fromValue, delay } from 'wonka'; @@ -16,6 +18,8 @@ const query = 'mutation Example { example }'; describe('Mutation', () => { beforeEach(() => { + vi.useFakeTimers(); + vi.spyOn(global.console, 'error').mockImplementation(() => { // do nothing }); @@ -25,7 +29,7 @@ describe('Mutation', () => { cleanup(); }); - it('Should execute the mutation', async () => { + it('Should execute the mutation', () => { // eslint-disable-next-line let execute = () => {}, props = {}; @@ -55,20 +59,21 @@ describe('Mutation', () => { fetching: false, error: undefined, }); + act(() => { execute(); }); + expect(props).toStrictEqual({ data: undefined, fetching: true, error: undefined, }); - await new Promise(res => { - setTimeout(() => { - expect(props).toStrictEqual({ data: 1, fetching: false, error: 2 }); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); }); + + expect(props).toStrictEqual({ data: 1, fetching: false, error: 2 }); }); }); diff --git a/packages/preact-urql/src/components/Query.test.tsx b/packages/preact-urql/src/components/Query.test.tsx index cd1b754a03..c09a495d39 100644 --- a/packages/preact-urql/src/components/Query.test.tsx +++ b/packages/preact-urql/src/components/Query.test.tsx @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { h } from 'preact'; import { cleanup, render } from '@testing-library/preact'; import { map, interval, pipe } from 'wonka'; diff --git a/packages/preact-urql/src/components/Subscription.test.tsx b/packages/preact-urql/src/components/Subscription.test.tsx index d74f6464c8..9b2f715c0f 100644 --- a/packages/preact-urql/src/components/Subscription.test.tsx +++ b/packages/preact-urql/src/components/Subscription.test.tsx @@ -1,5 +1,7 @@ +// @vitest-environment jsdom + import { h } from 'preact'; -import { cleanup, render } from '@testing-library/preact'; +import { cleanup, render, act } from '@testing-library/preact'; import { map, interval, pipe } from 'wonka'; import { vi, expect, it, beforeEach, describe, afterEach } from 'vitest'; @@ -8,16 +10,17 @@ import { Subscription } from './Subscription'; const query = 'subscription Example { example }'; const client = { - executeSubscription: vi.fn(() => - pipe( + executeSubscription: vi.fn(() => { + return pipe( interval(200), map((i: number) => ({ data: i, error: i + 1 })) - ) - ), + ); + }), }; describe('Subscription', () => { beforeEach(() => { + vi.useFakeTimers(); vi.spyOn(global.console, 'error').mockImplementation(() => { // do nothing }); @@ -27,7 +30,7 @@ describe('Subscription', () => { cleanup(); }); - it('Should execute the subscription', async () => { + it('Should execute the subscription', () => { let props = {}; const Test = () => h('p', {}, 'hi'); const App = () => { @@ -44,18 +47,19 @@ describe('Subscription', () => { ], }); }; + render(h(App, {})); + expect(props).toStrictEqual({ data: undefined, fetching: true, error: undefined, }); - await new Promise(res => { - setTimeout(() => { - expect(props).toStrictEqual({ data: 0, fetching: true, error: 1 }); - res(null); - }, 300); + act(() => { + vi.advanceTimersByTime(200); }); + + expect(props).toStrictEqual({ data: 0, fetching: true, error: 1 }); }); }); diff --git a/packages/preact-urql/src/hooks/useMutation.test.tsx b/packages/preact-urql/src/hooks/useMutation.test.tsx index 3a8e0f6358..a8b3334a89 100644 --- a/packages/preact-urql/src/hooks/useMutation.test.tsx +++ b/packages/preact-urql/src/hooks/useMutation.test.tsx @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { FunctionalComponent as FC, h } from 'preact'; import { render, cleanup, act } from '@testing-library/preact'; import { print } from 'graphql'; diff --git a/packages/preact-urql/src/hooks/useQuery.test.tsx b/packages/preact-urql/src/hooks/useQuery.test.tsx index d62382f352..e3a1d04526 100644 --- a/packages/preact-urql/src/hooks/useQuery.test.tsx +++ b/packages/preact-urql/src/hooks/useQuery.test.tsx @@ -1,17 +1,11 @@ +// @vitest-environment jsdom + import { FunctionalComponent as FC, h } from 'preact'; import { render, cleanup, act } from '@testing-library/preact'; import { OperationContext } from '@urql/core'; import { map, interval, pipe, never, onStart, onEnd, empty } from 'wonka'; -import { - vi, - expect, - it, - beforeEach, - describe, - beforeAll, - Mock, - afterEach, -} from 'vitest'; + +import { vi, expect, it, beforeEach, describe, afterEach, Mock } from 'vitest'; import { useQuery, UseQueryArgs, UseQueryState } from './useQuery'; import { Provider } from '../context'; @@ -46,7 +40,8 @@ const QueryUser: FC> = ({ return h('p', {}, state.data); }; -beforeAll(() => { +beforeEach(() => { + vi.useFakeTimers(); vi.spyOn(global.console, 'error'); }); @@ -106,7 +101,7 @@ describe('useQuery', () => { expect(state).toHaveProperty('fetching', true); }); - it('forwards data response', async () => { + it('forwards data response', () => { const { rerender } = render( h(Provider, { value: client as any, @@ -121,21 +116,20 @@ describe('useQuery', () => { }) ); - await new Promise(res => { - setTimeout(() => { - rerender( - h(Provider, { - value: client as any, - children: [h(QueryUser, { ...props })], - }) - ); - expect(state).toHaveProperty('data', 0); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + rerender( + h(Provider, { + value: client as any, + children: [h(QueryUser, { ...props })], + }) + ); }); + + expect(state).toHaveProperty('data', 0); }); - it('forwards error response', async () => { + it('forwards error response', () => { const { rerender } = render( h(Provider, { value: client as any, @@ -150,31 +144,27 @@ describe('useQuery', () => { }) ); - await new Promise(res => { - setTimeout(() => { - rerender( - h(Provider, { - value: client as any, - children: [h(QueryUser, { ...props })], - }) - ); - expect(state).toHaveProperty('error', 1); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + rerender( + h(Provider, { + value: client as any, + children: [h(QueryUser, { ...props })], + }) + ); }); + + expect(state).toHaveProperty('error', 1); }); - it('forwards extensions response', async () => { + it('forwards extensions response', () => { const { rerender } = render( h(Provider, { value: client as any, children: [h(QueryUser, { ...props })], }) ); - /** - * Have to call update (without changes) in order to see the - * result of the state change. - */ + rerender( h(Provider, { value: client as any, @@ -182,22 +172,20 @@ describe('useQuery', () => { }) ); - await new Promise(res => { - setTimeout(() => { - rerender( - h(Provider, { - value: client as any, - children: [h(QueryUser, { ...props })], - }) - ); - - expect(state).toHaveProperty('extensions', { i: 1 }); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + rerender( + h(Provider, { + value: client as any, + children: [h(QueryUser, { ...props })], + }) + ); }); + + expect(state).toHaveProperty('extensions', { i: 1 }); }); - it('sets fetching to false', async () => { + it('sets fetching to false', () => { const { rerender } = render( h(Provider, { value: client as any, @@ -212,18 +200,17 @@ describe('useQuery', () => { }) ); - await new Promise(res => { - setTimeout(() => { - rerender( - h(Provider, { - value: client as any, - children: [h(QueryUser, { ...props })], - }) - ); - expect(state).toHaveProperty('fetching', false); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + rerender( + h(Provider, { + value: client as any, + children: [h(QueryUser, { ...props })], + }) + ); }); + + expect(state).toHaveProperty('fetching', false); }); describe('on change', () => { @@ -237,17 +224,6 @@ describe('useQuery', () => { }) ); - /** - * Have to call update twice for the change to be detected. - * Only a single change is detected (updating 5 times still only calls - * execute subscription twice). - */ - rerender( - h(Provider, { - value: client as any, - children: [h(QueryUser, { ...props, query: q })], - }) - ); rerender( h(Provider, { value: client as any, @@ -255,6 +231,15 @@ describe('useQuery', () => { }) ); + act(() => { + rerender( + h(Provider, { + value: client as any, + children: [h(QueryUser, { ...props, query: q })], + }) + ); + }); + expect(client.executeQuery).toBeCalledTimes(2); }); }); diff --git a/packages/preact-urql/src/hooks/useSubscription.test.tsx b/packages/preact-urql/src/hooks/useSubscription.test.tsx index 640b1570c3..0fb6b27101 100644 --- a/packages/preact-urql/src/hooks/useSubscription.test.tsx +++ b/packages/preact-urql/src/hooks/useSubscription.test.tsx @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { FunctionalComponent as FC, h } from 'preact'; import { render, cleanup, act } from '@testing-library/preact'; import { OperationContext } from '@urql/core'; diff --git a/packages/react-urql/src/components/Mutation.test.tsx b/packages/react-urql/src/components/Mutation.test.tsx index 75d8c70a57..022ac8d110 100644 --- a/packages/react-urql/src/components/Mutation.test.tsx +++ b/packages/react-urql/src/components/Mutation.test.tsx @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { vi, expect, it, beforeEach, describe, Mock, afterEach } from 'vitest'; vi.mock('../context', async () => { @@ -27,6 +29,7 @@ const query = 'mutation Example { example }'; describe('Mutation', () => { beforeEach(() => { + vi.useFakeTimers(); // TODO: Fix use of act() vi.spyOn(global.console, 'error').mockImplementation(() => { // do nothing @@ -37,7 +40,7 @@ describe('Mutation', () => { cleanup(); }); - it('Should execute the mutation', async () => { + it('Should execute the mutation', () => { let execute = () => { /* noop */ }, @@ -70,11 +73,9 @@ describe('Mutation', () => { fetching: true, error: undefined, }); - await new Promise(res => { - setTimeout(() => { - expect(props).toStrictEqual({ data: 1, fetching: false, error: 2 }); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); }); + expect(props).toStrictEqual({ data: 1, fetching: false, error: 2 }); }); }); diff --git a/packages/react-urql/src/components/Query.test.tsx b/packages/react-urql/src/components/Query.test.tsx index 2d7b6ba888..43dea08c16 100644 --- a/packages/react-urql/src/components/Query.test.tsx +++ b/packages/react-urql/src/components/Query.test.tsx @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { vi, expect, it, beforeEach, describe, afterEach } from 'vitest'; vi.mock('../context', async () => { diff --git a/packages/react-urql/src/hooks/useMutation.test.tsx b/packages/react-urql/src/hooks/useMutation.test.tsx index e872701456..e0198f867e 100644 --- a/packages/react-urql/src/hooks/useMutation.test.tsx +++ b/packages/react-urql/src/hooks/useMutation.test.tsx @@ -1,4 +1,4 @@ -import { vi, expect, it, beforeEach, describe, beforeAll, Mock } from 'vitest'; +import { vi, expect, it, beforeEach, describe, Mock } from 'vitest'; // Note: Testing for hooks is not yet supported in Enzyme - https://github.com/airbnb/enzyme/issues/2011 vi.mock('../context', async () => { @@ -42,14 +42,13 @@ const MutationUser = ({ query }: { query: any }) => { return

{s.data}

; }; -beforeAll(() => { - // TODO: Fix use of act() +beforeEach(() => { + vi.useFakeTimers(); + vi.spyOn(global.console, 'error').mockImplementation(() => { // do nothing }); -}); -beforeEach(() => { client.executeMutation.mockClear(); state = undefined; execute = undefined; @@ -117,36 +116,45 @@ describe('on execute', () => { }); describe('on subscription update', () => { - it('forwards data response', async () => { + it('forwards data response', () => { const wrapper = renderer.create(); - await execute(); - wrapper.update(); - + execute(); + act(() => { + vi.advanceTimersByTime(200); + wrapper.update(); + }); expect(state).toHaveProperty('data', 1); }); - it('forwards error response', async () => { + it('forwards error response', () => { const wrapper = renderer.create(); - await execute(); - wrapper.update(); - + execute(); + act(() => { + vi.advanceTimersByTime(200); + wrapper.update(); + }); expect(state).toHaveProperty('error', 2); }); - it('forwards extensions response', async () => { + it('forwards extensions response', () => { const wrapper = renderer.create(); - await execute(); - wrapper.update(); - + execute(); + act(() => { + vi.advanceTimersByTime(200); + wrapper.update(); + }); expect(state).toHaveProperty('extensions', { i: 1 }); }); - it('sets fetching to false', async () => { + it('sets fetching to false', () => { const wrapper = renderer.create(); wrapper.update(); - await execute(); - wrapper.update(); + execute(); + act(() => { + vi.advanceTimersByTime(200); + wrapper.update(); + }); expect(state).toHaveProperty('fetching', false); }); }); diff --git a/packages/react-urql/src/hooks/useQuery.test.tsx b/packages/react-urql/src/hooks/useQuery.test.tsx index ac53aa8e3e..3a8fb64896 100644 --- a/packages/react-urql/src/hooks/useQuery.test.tsx +++ b/packages/react-urql/src/hooks/useQuery.test.tsx @@ -1,4 +1,4 @@ -import { vi, expect, it, beforeEach, describe, beforeAll, Mock } from 'vitest'; +import { vi, expect, it, beforeEach, describe, Mock } from 'vitest'; // Note: Testing for hooks is not yet supported in Enzyme - https://github.com/airbnb/enzyme/issues/2011 vi.mock('../context', async () => { @@ -52,14 +52,13 @@ const QueryUser = ({ return

{s.data}

; }; -beforeAll(() => { +beforeEach(() => { + vi.useFakeTimers(); // TODO: Fix use of act() vi.spyOn(global.console, 'error').mockImplementation(() => { // do nothings }); -}); -beforeEach(() => { client.executeQuery.mockClear(); state = undefined; execute = undefined; @@ -101,7 +100,7 @@ describe('on subscription', () => { }); describe('on subscription update', () => { - it('forwards data response', async () => { + it('forwards data response', () => { const wrapper = renderer.create(); /** * Have to call update (without changes) in order to see the @@ -109,64 +108,48 @@ describe('on subscription update', () => { */ wrapper.update(); - await new Promise(res => { - setTimeout(() => { - wrapper.update(); - expect(state).toHaveProperty('data', 0); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + wrapper.update(); }); + + expect(state).toHaveProperty('data', 0); }); - it('forwards error response', async () => { + it('forwards error response', () => { const wrapper = renderer.create(); - /** - * Have to call update (without changes) in order to see the - * result of the state change. - */ wrapper.update(); - await new Promise(res => { - setTimeout(() => { - wrapper.update(); - expect(state).toHaveProperty('error', 1); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + wrapper.update(); }); + + expect(state).toHaveProperty('error', 1); }); - it('forwards extensions response', async () => { + it('forwards extensions response', () => { const wrapper = renderer.create(); - /** - * Have to call update (without changes) in order to see the - * result of the state change. - */ wrapper.update(); - await new Promise(res => { - setTimeout(() => { - wrapper.update(); - expect(state).toHaveProperty('extensions', { i: 1 }); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + wrapper.update(); }); + + expect(state).toHaveProperty('extensions', { i: 1 }); }); - it('sets fetching to false', async () => { + it('sets fetching to false', () => { const wrapper = renderer.create(); - /** - * Have to call update (without changes) in order to see the - * result of the state change. - */ wrapper.update(); - await new Promise(res => { - setTimeout(() => { - wrapper.update(); - expect(state).toHaveProperty('fetching', false); - res(null); - }, 400); + act(() => { + vi.advanceTimersByTime(400); + wrapper.update(); }); + + expect(state).toHaveProperty('fetching', false); }); }); @@ -175,15 +158,12 @@ describe('on change', () => { it('new query executes subscription', () => { const wrapper = renderer.create(); - - /** - * Have to call update twice for the change to be detected. - * Only a single change is detected (updating 5 times still only calls - * execute subscription twice). - */ - wrapper.update(); wrapper.update(); + act(() => { + wrapper.update(); + }); + expect(client.executeQuery).toBeCalledTimes(2); }); }); @@ -222,12 +202,12 @@ describe('pause', () => { it('skips executing queries if pause updates to true', () => { const wrapper = renderer.create(); - - /** - * Call update twice for the change to be detected. - */ - wrapper.update(); wrapper.update(); + + act(() => { + wrapper.update(); + }); + expect(client.executeQuery).toBeCalledTimes(1); }); }); diff --git a/packages/vue-urql/src/useClient.test.ts b/packages/vue-urql/src/useClient.test.ts index 0c901e6230..0ff36868e6 100644 --- a/packages/vue-urql/src/useClient.test.ts +++ b/packages/vue-urql/src/useClient.test.ts @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { expect, it, describe } from 'vitest'; import { defineComponent } from 'vue'; import { mount } from '@vue/test-utils'; diff --git a/packages/vue-urql/src/useSubscription.test.ts b/packages/vue-urql/src/useSubscription.test.ts index 3ab0e57cb5..67375b388f 100644 --- a/packages/vue-urql/src/useSubscription.test.ts +++ b/packages/vue-urql/src/useSubscription.test.ts @@ -1,3 +1,5 @@ +// @vitest-environment jsdom + import { OperationResult, OperationResultSource } from '@urql/core'; import { nextTick, reactive, ref } from 'vue'; import { vi, expect, it, describe } from 'vitest'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3ed8451075..a6e49145ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,7 +67,7 @@ importers: typescript: ^4.9.5 vite: ^3.2.4 vite-tsconfig-paths: ^4.0.7 - vitest: ^0.29.3 + vitest: ^0.30.1 dependencies: '@actions/github': 5.1.1 node-fetch: 3.3.1 @@ -123,7 +123,7 @@ importers: typescript: 4.9.5 vite: 3.2.5_67ayhxtn77ihpqz7ip4pro4g64 vite-tsconfig-paths: 4.0.7_mmfldfnusamjexuwtlvii3fpxu - vitest: 0.29.3_jsdom@21.1.1+terser@5.16.6 + vitest: 0.30.1_jsdom@21.1.1+terser@5.16.6 exchanges/auth: specifiers: @@ -542,8 +542,8 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + /@babel/code-frame/7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 @@ -556,7 +556,7 @@ packages: resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@babel/generator': 7.21.3 '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 @@ -580,7 +580,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@babel/generator': 7.21.3 '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 '@babel/helper-module-transforms': 7.21.2 @@ -1598,7 +1598,7 @@ packages: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@babel/parser': 7.21.3 '@babel/types': 7.21.3 @@ -1606,7 +1606,7 @@ packages: resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@babel/generator': 7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 @@ -1623,7 +1623,7 @@ packages: resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@babel/generator': 7.21.3 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 @@ -2058,14 +2058,14 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/gen-mapping/0.3.2: resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.17 /@jridgewell/resolve-uri/3.1.0: @@ -2086,6 +2086,9 @@ packages: /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + /@jridgewell/sourcemap-codec/1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/trace-mapping/0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: @@ -2263,7 +2266,7 @@ packages: promise-all-reject-late: 1.0.1 promise-call-limit: 1.0.1 read-package-json-fast: 3.0.2 - semver: 7.3.8 + semver: 7.5.0 ssri: 10.0.1 treeverse: 3.0.0 walk-up-path: 1.0.0 @@ -2277,14 +2280,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.3.8 + semver: 7.5.0 dev: true /@npmcli/fs/3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.3.8 + semver: 7.5.0 dev: true /@npmcli/git/4.0.3: @@ -2298,7 +2301,7 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.3.8 + semver: 7.5.0 which: 3.0.0 transitivePeerDependencies: - bluebird @@ -2330,7 +2333,7 @@ packages: cacache: 17.0.4 json-parse-even-better-errors: 3.0.0 pacote: 15.1.1 - semver: 7.3.8 + semver: 7.5.0 transitivePeerDependencies: - bluebird - supports-color @@ -2686,7 +2689,7 @@ packages: resolution: {integrity: sha512-GObDVMaI4ARrZEXaRy4moolNAxWPKvEYNV/fa6Uc2eAzR/t4otS6A7EhrntPBIQLeehL9DbVhscvvv7gd6hWqA==} engines: {node: '>=10'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 '@babel/runtime': 7.21.0 '@types/aria-query': 4.2.1 aria-query: 4.2.2 @@ -2970,7 +2973,7 @@ packages: grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.3.8 + semver: 7.5.0 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: @@ -3044,7 +3047,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.5.0 tsutils: 3.21.0_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: @@ -3065,7 +3068,7 @@ packages: '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 eslint: 8.36.0 eslint-scope: 5.1.1 - semver: 7.3.8 + semver: 7.5.0 transitivePeerDependencies: - supports-color - typescript @@ -3079,33 +3082,41 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@vitest/expect/0.29.3: - resolution: {integrity: sha512-z/0JqBqqrdtrT/wzxNrWC76EpkOHdl+SvuNGxWulLaoluygntYyG5wJul5u/rQs5875zfFz/F+JaDf90SkLUIg==} + /@vitest/expect/0.30.1: + resolution: {integrity: sha512-c3kbEtN8XXJSeN81iDGq29bUzSjQhjES2WR3aColsS4lPGbivwLtas4DNUe0jD9gg/FYGIteqOenfU95EFituw==} dependencies: - '@vitest/spy': 0.29.3 - '@vitest/utils': 0.29.3 + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 chai: 4.3.7 dev: true - /@vitest/runner/0.29.3: - resolution: {integrity: sha512-XLi8ctbvOWhUWmuvBUSIBf8POEDH4zCh6bOuVxm/KGfARpgmVF1ku+vVNvyq85va+7qXxtl+MFmzyXQ2xzhAvw==} + /@vitest/runner/0.30.1: + resolution: {integrity: sha512-W62kT/8i0TF1UBCNMRtRMOBWJKRnNyv9RrjIgdUryEe0wNpGZvvwPDLuzYdxvgSckzjp54DSpv1xUbv4BQ0qVA==} dependencies: - '@vitest/utils': 0.29.3 + '@vitest/utils': 0.30.1 + concordance: 5.0.4 p-limit: 4.0.0 pathe: 1.1.0 dev: true - /@vitest/spy/0.29.3: - resolution: {integrity: sha512-LLpCb1oOCOZcBm0/Oxbr1DQTuKLRBsSIHyLYof7z4QVE8/v8NcZKdORjMUq645fcfX55+nLXwU/1AQ+c2rND+w==} + /@vitest/snapshot/0.30.1: + resolution: {integrity: sha512-fJZqKrE99zo27uoZA/azgWyWbFvM1rw2APS05yB0JaLwUIg9aUtvvnBf4q7JWhEcAHmSwbrxKFgyBUga6tq9Tw==} dependencies: - tinyspy: 1.1.1 + magic-string: 0.30.0 + pathe: 1.1.0 + pretty-format: 27.5.1 dev: true - /@vitest/utils/0.29.3: - resolution: {integrity: sha512-hg4Ff8AM1GtUnLpUJlNMxrf9f4lZr/xRJjh3uJ0QFP+vjaW82HAxKrmeBmLnhc8Os2eRf+f+VBu4ts7TafPPkA==} + /@vitest/spy/0.30.1: + resolution: {integrity: sha512-YfJeIf37GvTZe04ZKxzJfnNNuNSmTEGnla2OdL60C8od16f3zOfv9q9K0nNii0NfjDJRt/CVN/POuY5/zTS+BA==} dependencies: - cli-truncate: 3.1.0 - diff: 5.1.0 + tinyspy: 2.1.0 + dev: true + + /@vitest/utils/0.30.1: + resolution: {integrity: sha512-/c8Xv2zUVc+rnNt84QF0Y0zkfxnaGhp87K2dYJMLtLOIckPzuxLVzAtFCicGFdB4NeBHNzTRr1tNn7rCtQcWFA==} + dependencies: + concordance: 5.0.4 loupe: 2.3.6 pretty-format: 27.5.1 dev: true @@ -4084,6 +4095,10 @@ packages: /bluebird/3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + /blueimp-md5/2.19.0: + resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} + dev: true + /bn.js/4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} @@ -4348,7 +4363,7 @@ packages: /builtins/5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.3.8 + semver: 7.5.0 dev: true /bytes/3.0.0: @@ -5045,6 +5060,20 @@ packages: readable-stream: 2.3.7 typedarray: 0.0.6 + /concordance/5.0.4: + resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} + engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} + dependencies: + date-time: 3.1.0 + esutils: 2.0.3 + fast-diff: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + md5-hex: 3.0.1 + semver: 7.5.0 + well-known-symbols: 2.0.0 + dev: true + /config-chain/1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -5518,7 +5547,7 @@ packages: pretty-bytes: 5.6.0 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.3.8 + semver: 7.5.0 supports-color: 8.1.1 tmp: 0.2.1 untildify: 4.0.0 @@ -5555,6 +5584,13 @@ packages: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} dev: true + /date-time/3.1.0: + resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} + engines: {node: '>=6'} + dependencies: + time-zone: 1.0.0 + dev: true + /dayjs/1.11.7: resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} dev: true @@ -5898,11 +5934,6 @@ packages: /detect-node/2.0.5: resolution: {integrity: sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==} - /diff/5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: true - /diffie-hellman/5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: @@ -9053,6 +9084,11 @@ packages: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true + /js-string-escape/1.0.1: + resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} + engines: {node: '>= 0.8'} + dev: true + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -9592,14 +9628,21 @@ packages: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /magic-string/0.29.0: resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magic-string/0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 dev: true /make-dir/1.3.0: @@ -9705,11 +9748,16 @@ packages: /match-sorter/3.1.1: resolution: {integrity: sha512-Qlox3wRM/Q4Ww9rv1cBmYKNJwWVX/WC+eA3+1S3Fv4EOhrqyp812ZEfVFKQk0AP6RfzmPUUOwEZBbJ8IRt8SOw==} - dependencies: - remove-accents: 0.4.2 bundledDependencies: - remove-accents + /md5-hex/3.0.1: + resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} + engines: {node: '>=8'} + dependencies: + blueimp-md5: 2.19.0 + dev: true + /md5.js/1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: @@ -10401,7 +10449,7 @@ packages: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.3.8 + semver: 7.5.0 tar: 6.1.13 which: 2.0.2 transitivePeerDependencies: @@ -10487,7 +10535,7 @@ packages: dependencies: hosted-git-info: 6.1.1 is-core-module: 2.11.0 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-license: 3.0.4 dev: true @@ -10548,7 +10596,7 @@ packages: resolution: {integrity: sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.3.8 + semver: 7.5.0 dev: true /npm-normalize-package-bin/3.0.0: @@ -10562,7 +10610,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.3.8 + semver: 7.5.0 validate-npm-package-name: 5.0.0 dev: true @@ -10580,7 +10628,7 @@ packages: npm-install-checks: 6.0.0 npm-normalize-package-bin: 3.0.0 npm-package-arg: 10.1.0 - semver: 7.3.8 + semver: 7.5.0 dev: true /npm-registry-fetch/14.0.3: @@ -11087,7 +11135,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -12701,9 +12749,6 @@ packages: unified: 8.4.2 dev: false - /remove-accents/0.4.2: - resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} - /remove-trailing-separator/1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} @@ -12902,7 +12947,7 @@ packages: rollup: 3.19.1 typescript: 4.9.5 optionalDependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 dev: true /rollup-plugin-generate-package-json/3.2.0_rollup@3.19.1: @@ -13082,8 +13127,8 @@ packages: resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} hasBin: true - /semver/7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + /semver/7.5.0: + resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -14293,6 +14338,11 @@ packages: /thunky/1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + /time-zone/1.0.0: + resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} + engines: {node: '>=4'} + dev: true + /timed-out/4.0.1: resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} engines: {node: '>=0.10.0'} @@ -14318,13 +14368,13 @@ packages: resolution: {integrity: sha512-iyziEiyFxX4kyxSp+MtY1oCH/lvjH3PxFN8PGCDeqcZWAJ/i+9y+nL85w99PxVzrIvew/GSkSbDYtiGVa85Afg==} dev: true - /tinypool/0.3.1: - resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} + /tinypool/0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} engines: {node: '>=14.0.0'} dev: true - /tinyspy/1.1.1: - resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + /tinyspy/2.1.0: + resolution: {integrity: sha512-7eORpyqImoOvkQJCSkL0d0mB4NHHIFAy4b1u8PHdDa7SjGS2njzl6/lyGoZLm+eyYEtlUmFGE0rFj66SWxZgQQ==} engines: {node: '>=14.0.0'} dev: true @@ -15089,9 +15139,9 @@ packages: unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - /vite-node/0.29.3_67ayhxtn77ihpqz7ip4pro4g64: - resolution: {integrity: sha512-QYzYSA4Yt2IiduEjYbccfZQfxKp+T1Do8/HEpSX/G5WIECTFKJADwLs9c94aQH4o0A+UtCKU61lj1m5KvbxxQA==} - engines: {node: '>=v14.16.0'} + /vite-node/0.30.1_67ayhxtn77ihpqz7ip4pro4g64: + resolution: {integrity: sha512-vTikpU/J7e6LU/8iM3dzBo8ZhEiKZEKRznEMm+mJh95XhWaPrJQraT/QsT2NWmuEf+zgAoMe64PKT7hfZ1Njmg==} + engines: {node: '>=v14.18.0'} hasBin: true dependencies: cac: 6.7.14 @@ -15195,9 +15245,9 @@ packages: fsevents: 2.3.2 dev: true - /vitest/0.29.3_jsdom@21.1.1+terser@5.16.6: - resolution: {integrity: sha512-muMsbXnZsrzDGiyqf/09BKQsGeUxxlyLeLK/sFFM4EXdURPQRv8y7dco32DXaRORYP0bvyN19C835dT23mL0ow==} - engines: {node: '>=v14.16.0'} + /vitest/0.30.1_jsdom@21.1.1+terser@5.16.6: + resolution: {integrity: sha512-y35WTrSTlTxfMLttgQk4rHcaDkbHQwDP++SNwPb+7H8yb13Q3cu2EixrtHzF27iZ8v0XCciSsLg00RkPAzB/aA==} + engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: '@edge-runtime/vm': '*' @@ -15205,6 +15255,9 @@ packages: '@vitest/ui': '*' happy-dom: '*' jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -15216,31 +15269,39 @@ packages: optional: true jsdom: optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 '@types/node': 18.15.3 - '@vitest/expect': 0.29.3 - '@vitest/runner': 0.29.3 - '@vitest/spy': 0.29.3 - '@vitest/utils': 0.29.3 + '@vitest/expect': 0.30.1 + '@vitest/runner': 0.30.1 + '@vitest/snapshot': 0.30.1 + '@vitest/spy': 0.30.1 + '@vitest/utils': 0.30.1 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 chai: 4.3.7 + concordance: 5.0.4 debug: 4.3.4 jsdom: 21.1.1 local-pkg: 0.4.3 + magic-string: 0.30.0 pathe: 1.1.0 picocolors: 1.0.0 source-map: 0.6.1 std-env: 3.3.2 strip-literal: 1.0.1 tinybench: 2.4.0 - tinypool: 0.3.1 - tinyspy: 1.1.1 + tinypool: 0.4.0 vite: 3.2.5_67ayhxtn77ihpqz7ip4pro4g64 - vite-node: 0.29.3_67ayhxtn77ihpqz7ip4pro4g64 + vite-node: 0.30.1_67ayhxtn77ihpqz7ip4pro4g64 why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -15498,6 +15559,11 @@ packages: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} + /well-known-symbols/2.0.0: + resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} + engines: {node: '>=6'} + dev: true + /whatwg-encoding/2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} diff --git a/vitest.config.ts b/vitest.config.ts index 566827163a..abb29bd401 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -14,9 +14,7 @@ export default defineConfig({ }, plugins: [tsconfigPaths()], test: { - environment: 'jsdom', globals: false, - maxConcurrency: 20, setupFiles: [resolve(__dirname, 'scripts/vitest/setup.js')], clearMocks: true, exclude: [