From 13be8482e085e7fef0a88022f7a7b9b149a3a4fa Mon Sep 17 00:00:00 2001 From: Alina Sireneva Date: Mon, 13 Nov 2023 20:14:32 +0300 Subject: [PATCH] refactor: moved test utils to @mtcute/test --- .config/husky/_/.gitignore | 2 +- .config/husky/pre-commit | 2 +- .config/{lintstagedrc.cjs => lintstaged.cjs} | 2 +- packages/core/src/network/auth-key.test.ts | 2 +- .../network/transports/intermediate.test.ts | 2 +- .../src/network/transports/obfuscated.test.ts | 3 +- .../core/src/network/transports/tcp.test.ts | 3 +- .../src/network/transports/websocket.test.ts | 3 +- packages/core/src/storage/json.test.ts | 3 +- packages/core/src/storage/memory.test.ts | 3 +- packages/core/src/utils/bigint-utils.test.ts | 2 +- packages/core/src/utils/crypto/node.test.ts | 3 +- .../core/src/utils/crypto/password.test.ts | 2 +- packages/core/src/utils/crypto/web.test.ts | 3 +- packages/crypto-node/package.json | 3 + .../tests/node-native-crypto.test.ts | 2 +- packages/sqlite/package.json | 1 + packages/sqlite/test/sqlite.test.ts | 2 +- packages/test/package.json | 3 +- .../src/crypto.ts} | 14 ++- packages/test/src/index.ts | 2 + .../src/storage-test.ts} | 20 +++- pnpm-lock.yaml | 110 ++---------------- 23 files changed, 65 insertions(+), 127 deletions(-) rename .config/{lintstagedrc.cjs => lintstaged.cjs} (91%) rename packages/{core/src/utils/crypto/crypto.test-utils.ts => test/src/crypto.ts} (97%) rename packages/{core/src/storage/storage.test-utils.ts => test/src/storage-test.ts} (97%) diff --git a/.config/husky/_/.gitignore b/.config/husky/_/.gitignore index 2cebf5cc..f59ec20a 100644 --- a/.config/husky/_/.gitignore +++ b/.config/husky/_/.gitignore @@ -1 +1 @@ -husky.sh +* \ No newline at end of file diff --git a/.config/husky/pre-commit b/.config/husky/pre-commit index 07d28657..414a7395 100755 --- a/.config/husky/pre-commit +++ b/.config/husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -pnpm exec lint-staged -c .config/lint-stagedrc.cjs +pnpm exec lint-staged -c .config/lintstaged.cjs diff --git a/.config/lintstagedrc.cjs b/.config/lintstaged.cjs similarity index 91% rename from .config/lintstagedrc.cjs rename to .config/lintstaged.cjs index a2a4f7e7..da001ad0 100644 --- a/.config/lintstagedrc.cjs +++ b/.config/lintstaged.cjs @@ -1,7 +1,7 @@ const path = require('path') const packagesDir = path.join(__dirname, '../packages') -const eslintCiConfig = path.join(__dirname, 'eslintrc.ci.js') +const eslintCiConfig = path.join(__dirname, 'eslint.ci.js') module.exports = { '*.{js,jsx,ts,tsx}': (filenames) => { diff --git a/packages/core/src/network/auth-key.test.ts b/packages/core/src/network/auth-key.test.ts index 813a0c5c..9699ea14 100644 --- a/packages/core/src/network/auth-key.test.ts +++ b/packages/core/src/network/auth-key.test.ts @@ -1,6 +1,7 @@ import Long from 'long' import { describe, expect, it, vi } from 'vitest' +import { defaultTestCryptoProvider } from '@mtcute/test' import { hexDecode, hexDecodeToBuffer, @@ -11,7 +12,6 @@ import { utf8EncodeToBuffer, } from '@mtcute/tl-runtime' -import { defaultTestCryptoProvider } from '../utils/crypto/crypto.test-utils.js' import { LogManager } from '../utils/index.js' import { AuthKey } from './auth-key.js' diff --git a/packages/core/src/network/transports/intermediate.test.ts b/packages/core/src/network/transports/intermediate.test.ts index ab427204..52670516 100644 --- a/packages/core/src/network/transports/intermediate.test.ts +++ b/packages/core/src/network/transports/intermediate.test.ts @@ -1,9 +1,9 @@ import { describe, expect, it } from 'vitest' +import { defaultTestCryptoProvider, useFakeMathRandom } from '@mtcute/test' import { hexDecodeToBuffer, hexEncode } from '@mtcute/tl-runtime' import { IntermediatePacketCodec, PaddedIntermediatePacketCodec, TransportError } from '../../index.js' -import { defaultTestCryptoProvider, useFakeMathRandom } from '../../utils/crypto/crypto.test-utils.js' import { concatBuffers } from '../../utils/index.js' describe('IntermediatePacketCodec', () => { diff --git a/packages/core/src/network/transports/obfuscated.test.ts b/packages/core/src/network/transports/obfuscated.test.ts index 3a8f404c..d3ddf5ff 100644 --- a/packages/core/src/network/transports/obfuscated.test.ts +++ b/packages/core/src/network/transports/obfuscated.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it, vi } from 'vitest' -import { defaultTestCryptoProvider, u8HexDecode } from '../../utils/crypto/crypto.test-utils.js' +import { defaultTestCryptoProvider, u8HexDecode } from '@mtcute/test' + import { hexDecodeToBuffer, hexEncode, LogManager } from '../../utils/index.js' import { IntermediatePacketCodec } from './intermediate.js' import { MtProxyInfo, ObfuscatedPacketCodec } from './obfuscated.js' diff --git a/packages/core/src/network/transports/tcp.test.ts b/packages/core/src/network/transports/tcp.test.ts index 18404139..ceb546a7 100644 --- a/packages/core/src/network/transports/tcp.test.ts +++ b/packages/core/src/network/transports/tcp.test.ts @@ -1,7 +1,8 @@ import { Socket } from 'net' import { describe, expect, it, MockedObject, vi } from 'vitest' -import { defaultTestCryptoProvider, u8HexDecode } from '../../utils/crypto/crypto.test-utils.js' +import { defaultTestCryptoProvider, u8HexDecode } from '@mtcute/test' + import { defaultProductionDc, hexDecodeToBuffer, LogManager } from '../../utils/index.js' import { TransportState } from './abstract.js' import { TcpTransport } from './tcp.js' diff --git a/packages/core/src/network/transports/websocket.test.ts b/packages/core/src/network/transports/websocket.test.ts index 05cf14b5..fc966127 100644 --- a/packages/core/src/network/transports/websocket.test.ts +++ b/packages/core/src/network/transports/websocket.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it, Mock, MockedObject, vi } from 'vitest' -import { defaultTestCryptoProvider, u8HexDecode } from '../../utils/crypto/crypto.test-utils.js' +import { defaultTestCryptoProvider, u8HexDecode } from '@mtcute/test' + import { defaultProductionDc, hexDecodeToBuffer, LogManager } from '../../utils/index.js' import { TransportState } from './abstract.js' import { WebSocketTransport } from './websocket.js' diff --git a/packages/core/src/storage/json.test.ts b/packages/core/src/storage/json.test.ts index 7a9a0b3f..4aa14c97 100644 --- a/packages/core/src/storage/json.test.ts +++ b/packages/core/src/storage/json.test.ts @@ -1,7 +1,8 @@ import { describe, expect, it } from 'vitest' +import { stubPeerUser } from '@mtcute/test' + import { JsonMemoryStorage } from './json.js' -import { stubPeerUser } from './storage.test-utils.js' describe('JsonMemoryStorage', () => { class ExtJsonMemoryStorage extends JsonMemoryStorage { diff --git a/packages/core/src/storage/memory.test.ts b/packages/core/src/storage/memory.test.ts index dc74cd18..49d13dfc 100644 --- a/packages/core/src/storage/memory.test.ts +++ b/packages/core/src/storage/memory.test.ts @@ -1,7 +1,8 @@ import { describe, expect, it } from 'vitest' +import { testStateStorage, testStorage } from '@mtcute/test' + import { MemoryStorage } from './memory.js' -import { testStateStorage, testStorage } from './storage.test-utils.js' describe('MemoryStorage', () => { testStorage(new MemoryStorage()) diff --git a/packages/core/src/utils/bigint-utils.test.ts b/packages/core/src/utils/bigint-utils.test.ts index c559ff2d..611b1c68 100644 --- a/packages/core/src/utils/bigint-utils.test.ts +++ b/packages/core/src/utils/bigint-utils.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from 'vitest' +import { defaultTestCryptoProvider } from '@mtcute/test' import { hexDecodeToBuffer } from '@mtcute/tl-runtime' -import { defaultTestCryptoProvider } from './crypto/crypto.test-utils.js' import { bigIntBitLength, bigIntGcd, diff --git a/packages/core/src/utils/crypto/node.test.ts b/packages/core/src/utils/crypto/node.test.ts index 00fff13f..549ae186 100644 --- a/packages/core/src/utils/crypto/node.test.ts +++ b/packages/core/src/utils/crypto/node.test.ts @@ -1,6 +1,7 @@ import { describe } from 'vitest' -import { testCryptoProvider } from './crypto.test-utils.js' +import { testCryptoProvider } from '@mtcute/test' + import { NodeCryptoProvider } from './node.js' describe('NodeCryptoProvider', () => { diff --git a/packages/core/src/utils/crypto/password.test.ts b/packages/core/src/utils/crypto/password.test.ts index 2ea4dede..ffef76b6 100644 --- a/packages/core/src/utils/crypto/password.test.ts +++ b/packages/core/src/utils/crypto/password.test.ts @@ -1,10 +1,10 @@ import Long from 'long' import { describe, expect, it } from 'vitest' +import { defaultTestCryptoProvider } from '@mtcute/test' import { tl } from '@mtcute/tl' import { hexDecodeToBuffer, hexEncode, utf8EncodeToBuffer } from '@mtcute/tl-runtime' -import { defaultTestCryptoProvider } from './crypto.test-utils.js' import { computeNewPasswordHash, computePasswordHash, computeSrpParams } from './index.js' // a real-world request from an account with "qwe123" password diff --git a/packages/core/src/utils/crypto/web.test.ts b/packages/core/src/utils/crypto/web.test.ts index 327e3924..09ce0a3e 100644 --- a/packages/core/src/utils/crypto/web.test.ts +++ b/packages/core/src/utils/crypto/web.test.ts @@ -1,6 +1,7 @@ import { describe } from 'vitest' -import { testCryptoProvider } from './crypto.test-utils.js' +import { testCryptoProvider } from '@mtcute/test' + import { WebCryptoProvider } from './web.js' describe('WebCryptoProvider', async () => { diff --git a/packages/crypto-node/package.json b/packages/crypto-node/package.json index 0b6dcd0b..b3fed58d 100644 --- a/packages/crypto-node/package.json +++ b/packages/crypto-node/package.json @@ -33,5 +33,8 @@ }, "dependencies": { "@mtcute/core": "workspace:^" + }, + "devDependencies": { + "@mtcute/test": "workspace:^" } } diff --git a/packages/crypto-node/tests/node-native-crypto.test.ts b/packages/crypto-node/tests/node-native-crypto.test.ts index 1960bdc2..336534f5 100644 --- a/packages/crypto-node/tests/node-native-crypto.test.ts +++ b/packages/crypto-node/tests/node-native-crypto.test.ts @@ -1,6 +1,6 @@ import { describe } from 'vitest' -import { testCryptoProvider } from '@mtcute/core/src/utils/crypto/crypto.test-utils.js' +import { testCryptoProvider } from '@mtcute/test' import { NodeNativeCryptoProvider } from '../src/index.js' diff --git a/packages/sqlite/package.json b/packages/sqlite/package.json index 48ef0a8b..17d3b71d 100644 --- a/packages/sqlite/package.json +++ b/packages/sqlite/package.json @@ -25,6 +25,7 @@ "better-sqlite3": "8.4.0" }, "devDependencies": { + "@mtcute/test": "workspace:^", "@types/better-sqlite3": "7.6.4" } } diff --git a/packages/sqlite/test/sqlite.test.ts b/packages/sqlite/test/sqlite.test.ts index fad8a661..5c79ea8a 100644 --- a/packages/sqlite/test/sqlite.test.ts +++ b/packages/sqlite/test/sqlite.test.ts @@ -1,6 +1,6 @@ import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest' -import { stubPeerUser, testStateStorage, testStorage } from '@mtcute/core/src/storage/storage.test-utils.js' +import { stubPeerUser, testStateStorage, testStorage } from '@mtcute/test' import { SqliteStorage } from '../src/index.js' diff --git a/packages/test/package.json b/packages/test/package.json index b7a3c664..8ea2b006 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -18,7 +18,8 @@ }, "peerDependencies": { "@mtcute/core": "workspace:^", - "@mtcute/tl": "workspace:*" + "@mtcute/tl": "workspace:*", + "vitest": "^0.34.6" }, "distOnlyFields": { "exports": { diff --git a/packages/core/src/utils/crypto/crypto.test-utils.ts b/packages/test/src/crypto.ts similarity index 97% rename from packages/core/src/utils/crypto/crypto.test-utils.ts rename to packages/test/src/crypto.ts index cfa47ee5..104d7efe 100644 --- a/packages/core/src/utils/crypto/crypto.test-utils.ts +++ b/packages/test/src/crypto.ts @@ -2,11 +2,14 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest' import { gzipSync, inflateSync } from 'zlib' -import { hexDecodeToBuffer, hexEncode, utf8EncodeToBuffer } from '@mtcute/tl-runtime' - -import { dataViewFromBuffer } from '../buffer-utils.js' -import { ICryptoProvider } from './abstract.js' -import { defaultCryptoProviderFactory } from './index.js' +import { + dataViewFromBuffer, + defaultCryptoProviderFactory, + hexDecodeToBuffer, + hexEncode, + ICryptoProvider, + utf8EncodeToBuffer, +} from '@mtcute/core/utils.js' // some random 1024 bytes of entropy const DEFAULT_ENTROPY = ` @@ -69,6 +72,7 @@ export async function defaultTestCryptoProvider(source = DEFAULT_ENTROPY): Promi return prov } + export function testCryptoProvider(c: ICryptoProvider): void { beforeAll(() => c.initialize?.()) diff --git a/packages/test/src/index.ts b/packages/test/src/index.ts index 19cf10da..6b67ca75 100644 --- a/packages/test/src/index.ts +++ b/packages/test/src/index.ts @@ -1,5 +1,7 @@ export * from './client.js' +export * from './crypto.js' export * from './storage.js' +export * from './storage-test.js' export * from './stub.js' export * from './transport.js' export * from './types.js' diff --git a/packages/core/src/storage/storage.test-utils.ts b/packages/test/src/storage-test.ts similarity index 97% rename from packages/core/src/storage/storage.test-utils.ts rename to packages/test/src/storage-test.ts index f6d1cad9..c71fb64d 100644 --- a/packages/core/src/storage/storage.test-utils.ts +++ b/packages/test/src/storage-test.ts @@ -1,15 +1,13 @@ import Long from 'long' import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest' -import { createStub } from '@mtcute/test' +import { ITelegramStorage, MaybeAsync } from '@mtcute/core' +import { defaultProductionDc, hexEncode, Logger, LogManager, TlReaderMap, TlWriterMap } from '@mtcute/core/utils.js' import { tl } from '@mtcute/tl' import { __tlReaderMap } from '@mtcute/tl/binary/reader.js' import { __tlWriterMap } from '@mtcute/tl/binary/writer.js' -import { MaybeAsync } from '../types/index.js' -import { defaultProductionDc } from '../utils/default-dcs.js' -import { hexEncode, Logger, LogManager, TlReaderMap, TlWriterMap } from '../utils/index.js' -import { ITelegramStorage } from './abstract.js' +import { createStub } from './stub.js' export const stubPeerUser: ITelegramStorage.PeerInfo = { id: 123123, @@ -276,17 +274,29 @@ export function testStorage( interface IStateStorage { setup?(log: Logger, readerMap: TlReaderMap, writerMap: TlWriterMap): void + load?(): MaybeAsync + save?(): MaybeAsync + destroy?(): MaybeAsync + reset(): MaybeAsync + getState(key: string): MaybeAsync + setState(key: string, state: unknown, ttl?: number): MaybeAsync + deleteState(key: string): MaybeAsync + getCurrentScene(key: string): MaybeAsync + setCurrentScene(key: string, scene: string, ttl?: number): MaybeAsync + deleteCurrentScene(key: string): MaybeAsync + getRateLimit(key: string, limit: number, window: number): MaybeAsync<[number, number]> + resetRateLimit(key: string): MaybeAsync } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9101632c..bc29371d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -170,6 +170,10 @@ importers: '@mtcute/core': specifier: workspace:^ version: link:../core + devDependencies: + '@mtcute/test': + specifier: workspace:^ + version: link:../test packages/dispatcher: dependencies: @@ -266,6 +270,9 @@ importers: specifier: 8.4.0 version: 8.4.0 devDependencies: + '@mtcute/test': + specifier: workspace:^ + version: link:../test '@types/better-sqlite3': specifier: 7.6.4 version: 7.6.4 @@ -281,6 +288,9 @@ importers: long: specifier: 5.2.3 version: 5.2.3 + vitest: + specifier: ^0.34.6 + version: 0.34.6(@vitest/ui@0.34.6) devDependencies: '@mtcute/tl-utils': specifier: workspace:^ @@ -550,7 +560,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-arm@0.18.20: @@ -559,7 +568,6 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/android-x64@0.18.20: @@ -568,7 +576,6 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true /@esbuild/darwin-arm64@0.18.20: @@ -577,7 +584,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/darwin-x64@0.18.20: @@ -586,7 +592,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -595,7 +600,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/freebsd-x64@0.18.20: @@ -604,7 +608,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm64@0.18.20: @@ -613,7 +616,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-arm@0.18.20: @@ -622,7 +624,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ia32@0.18.20: @@ -631,7 +632,6 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-loong64@0.18.20: @@ -640,7 +640,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-mips64el@0.18.20: @@ -649,7 +648,6 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-ppc64@0.18.20: @@ -658,7 +656,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-riscv64@0.18.20: @@ -667,7 +664,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-s390x@0.18.20: @@ -676,7 +672,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64@0.18.20: @@ -685,7 +680,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/netbsd-x64@0.18.20: @@ -694,7 +688,6 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true /@esbuild/openbsd-x64@0.18.20: @@ -703,7 +696,6 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true /@esbuild/sunos-x64@0.18.20: @@ -712,7 +704,6 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true /@esbuild/win32-arm64@0.18.20: @@ -721,7 +712,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-ia32@0.18.20: @@ -730,7 +720,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@esbuild/win32-x64@0.18.20: @@ -739,7 +728,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): @@ -829,7 +817,6 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 - dev: true /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} @@ -861,7 +848,6 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true /@jridgewell/trace-mapping@0.3.20: resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} @@ -890,12 +876,10 @@ packages: dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -903,7 +887,6 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - dev: true /@npmcli/fs@2.1.0: resolution: {integrity: sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==} @@ -930,11 +913,9 @@ packages: /@polka/url@1.0.0-next.23: resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} - dev: true /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} @@ -967,11 +948,9 @@ packages: resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} dependencies: '@types/chai': 4.3.5 - dev: true /@types/chai@4.3.5: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} - dev: true /@types/events@3.0.0: resolution: {integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==} @@ -1012,7 +991,6 @@ packages: /@types/node@18.16.0: resolution: {integrity: sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==} - dev: true /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -1192,7 +1170,6 @@ packages: '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 chai: 4.3.10 - dev: true /@vitest/runner@0.34.6: resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} @@ -1200,7 +1177,6 @@ packages: '@vitest/utils': 0.34.6 p-limit: 4.0.0 pathe: 1.1.1 - dev: true /@vitest/snapshot@0.34.6: resolution: {integrity: sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==} @@ -1208,13 +1184,11 @@ packages: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 - dev: true /@vitest/spy@0.34.6: resolution: {integrity: sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==} dependencies: tinyspy: 2.2.0 - dev: true /@vitest/ui@0.34.6(vitest@0.34.6): resolution: {integrity: sha512-/fxnCwGC0Txmr3tF3BwAbo3v6U2SkBTGR9UB8zo0Ztlx0BTOXHucE0gDHY7SjwEktCOHatiGmli9kZD6gYSoWQ==} @@ -1229,7 +1203,6 @@ packages: picocolors: 1.0.0 sirv: 2.0.3 vitest: 0.34.6(@vitest/ui@0.34.6) - dev: true /@vitest/utils@0.34.6: resolution: {integrity: sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==} @@ -1237,7 +1210,6 @@ packages: diff-sequences: 29.6.3 loupe: 2.3.7 pretty-format: 29.7.0 - dev: true /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -1262,13 +1234,11 @@ packages: /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - dev: true /acorn@8.10.0: resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -1354,7 +1324,6 @@ packages: /ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} @@ -1456,7 +1425,6 @@ packages: /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} @@ -1527,7 +1495,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -1545,7 +1512,6 @@ packages: /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true /cacache@16.0.7: resolution: {integrity: sha512-a4zfQpp5vm4Ipdvbj+ZrPonikRhm6WBEd4zT1Yc1DXsmAxrPgDwWBLF/u/wTVXSFPIgOJ1U3ghSa2Xm4s3h28w==} @@ -1609,7 +1575,6 @@ packages: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 - dev: true /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1645,7 +1610,6 @@ packages: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 - dev: true /cheerio-select@2.1.0: resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} @@ -1935,7 +1899,6 @@ packages: engines: {node: '>=6'} dependencies: type-detect: 4.0.8 - dev: true /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} @@ -1999,7 +1962,6 @@ packages: /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -2255,7 +2217,6 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -2570,7 +2531,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -2584,11 +2544,9 @@ packages: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: reusify: 1.0.4 - dev: true /fflate@0.8.1: resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} - dev: true /figures@5.0.0: resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} @@ -2614,7 +2572,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} @@ -2646,7 +2603,6 @@ packages: /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} - dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -2689,7 +2645,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind@1.1.1: @@ -2743,7 +2698,6 @@ packages: /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true /get-intrinsic@1.2.1: resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} @@ -2792,7 +2746,6 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -3197,7 +3150,6 @@ packages: /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true /is-fullwidth-code-point@1.0.0: resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} @@ -3220,7 +3172,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-inside-container@1.0.0: resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} @@ -3253,7 +3204,6 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-obj@2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -3436,7 +3386,6 @@ packages: /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -3518,7 +3467,6 @@ packages: /local-pkg@0.4.3: resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} engines: {node: '>=14'} - dev: true /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -3602,7 +3550,6 @@ packages: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 - dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} @@ -3628,7 +3575,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -3705,7 +3651,6 @@ packages: /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} @@ -3713,7 +3658,6 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} @@ -3845,12 +3789,10 @@ packages: pathe: 1.1.1 pkg-types: 1.0.3 ufo: 1.3.1 - dev: true /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} - dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -3867,7 +3809,6 @@ packages: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true /napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} @@ -4120,7 +4061,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 - dev: true /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} @@ -4212,20 +4152,16 @@ packages: /pathe@1.1.1: resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - dev: true /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} @@ -4239,7 +4175,6 @@ packages: jsonc-parser: 3.2.0 mlly: 1.4.2 pathe: 1.1.1 - dev: true /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} @@ -4248,7 +4183,6 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true /prebuild-install@7.1.0: resolution: {integrity: sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==} @@ -4288,7 +4222,6 @@ packages: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true /printj@1.1.2: resolution: {integrity: sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==} @@ -4336,7 +4269,6 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} @@ -4355,7 +4287,6 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -4468,7 +4399,6 @@ packages: /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true /rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} @@ -4494,7 +4424,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.3 - dev: true /run-applescript@5.0.0: resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} @@ -4512,7 +4441,6 @@ packages: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - dev: true /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -4605,7 +4533,6 @@ packages: /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -4633,7 +4560,6 @@ packages: '@polka/url': 1.0.0-next.23 mrmime: 1.0.1 totalist: 3.0.1 - dev: true /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -4693,7 +4619,6 @@ packages: /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: true /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} @@ -4736,11 +4661,9 @@ packages: /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true /std-env@3.4.3: resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} - dev: true /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} @@ -4861,7 +4784,6 @@ packages: resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} dependencies: acorn: 8.10.0 - dev: true /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -4948,17 +4870,14 @@ packages: /tinybench@2.5.1: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} - dev: true /tinypool@0.7.0: resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} engines: {node: '>=14.0.0'} - dev: true /tinyspy@2.2.0: resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} engines: {node: '>=14.0.0'} - dev: true /titleize@3.0.0: resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} @@ -4977,12 +4896,10 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - dev: true /trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} @@ -5066,7 +4983,6 @@ packages: /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - dev: true /type-fest@0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} @@ -5128,7 +5044,6 @@ packages: /ufo@1.3.1: resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} - dev: true /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} @@ -5218,7 +5133,6 @@ packages: - sugarss - supports-color - terser - dev: true /vite@4.5.0(@types/node@18.16.0): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} @@ -5254,7 +5168,6 @@ packages: rollup: 3.29.4 optionalDependencies: fsevents: 2.3.3 - dev: true /vitest@0.34.6(@vitest/ui@0.34.6): resolution: {integrity: sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==} @@ -5320,7 +5233,6 @@ packages: - sugarss - supports-color - terser - dev: true /vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} @@ -5371,7 +5283,6 @@ packages: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} @@ -5472,4 +5383,3 @@ packages: /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - dev: true